* { 
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Segoe UI', sans-serif;
    
}
form {
    padding-top: 0; /* Reduza o padding-top já que o header não é mais absoluto */
}
/* Cabeçalho*/
/* Cabeçalho*/
/* Cabeçalho*/
header {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    background: linear-gradient(135deg, #332f7d 0%, #2b52bd 100%);
    color: white;
    padding: 0.7rem;
    position: relative; /* Mudado de absolute para relative */
    width: 100%;
    margin: 0;
    
    margin-bottom: 0;
    box-sizing: border-box; /* Fundamental para o preenchimento não empurrar a lateral */
    font-size: 0.4rem;
}
header h6 {
  color: royalblue;
}
img {
  width: 3rem;
}

main {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#a-dados-servidor, #a-nivel, .a-quesito, .a-tabela, .a-infoc{
  display: flex;
  flex-direction: column;
  align-self: center;
  align-items: center;
  justify-content: center;
  font-size: 1rem;
  scroll-margin-top: 100px;
  background-color: rgb(208, 224, 255);
  border-radius: 3px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  border: 0;
    width: 80%;
    padding-bottom: 0.5rem;
    margin-top: 0;
}
legend {
    background-color: royalblue;
    color: white;
    font-size: 1.2rem;
    padding: 0.7rem;
    text-align: center;
    border-radius: 3px;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    width: 100%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    font-weight: bold;
}

.b-dados-servidor, .b-nivel, .b-tabela, .b-infoc{
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
    font-size: 1rem;
    background-color: #eff6ff;
    border-radius: 3px;
    padding: 1rem;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 80%;
}

.linha-label-input {
  display: flex;
  gap: 1rem;
  font-size: 0.9rem;
}
.linha-label-input label {
  display: flex;
  flex-direction: row;
  width: 5rem;
  text-align: left;
}
.linha-label-input input {
  border-radius: 3px;
  border: 1px solid royalblue;
  font-size: 0.9rem;
  padding: 0.1rem;
}
.linha-label-input select{
   border-radius: 3px;
  border: 1px solid royalblue;
  font-size: 0.9rem;
  padding: 0rem;
}




/*Parte de preenchimento do servidor*/
/*Parte de preenchimento do servidor*/
/*Parte de preenchimento do servidor*/
/*Parte de preenchimento do servidor*/

#linha-matricula{
  display: flex;
  width: 100%;
}
#d-matricula{
  display: flex;
  width: 100%;
}
#d-nome{
  display: flex;
  width: 100%;
}
#input-nomeservidor{
width: 100%;
}
#input-matriculaservidor{
  width: 10rem;
  text-align: center;
}

#linha-cargo{
  display: flex;
  width: 100%;
}
#cargo50, #secretaria50, #lotacao50{
  display: flex;
  width: 100%;
}
#cargoservidor{
  width: 100%;
}

#secretaria{
  width: 80%;
}
#secretaria label{
  width: 100%;
}

#linha-lotacao{
  display: flex;
  width: 100%;
}
#lotacaoservidor{
  display: flex;
  width: 100%;
}
#dataexercicio50{
  display: flex;
  width: 100%;
}

/*Aqui já é a parte de escolha e data da avaliação*/
/*Aqui já é a parte de escolha e data da avaliação*/
/*Aqui já é a parte de escolha e data da avaliação*/
/*Aqui já é a parte de escolha e data da avaliação*/
/*Aqui já é a parte de escolha e data da avaliação*/

.b-avaliacao {
  display: flex;
  flex-direction: row;
    background-color: #eff6ff;
    border-radius: 3px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    margin: 0.2rem 0.3rem 0;
    padding: 0.5rem;
    width: 45%;
    align-items: center;
    justify-content: center;
}
#linha-avaliacao{
  display: flex;
  width: 100%;
}
#avaliacao-num50{
  width: 50%;
  display: flex;
  justify-content: center;
  text-align: center;
}
#avaliacao-num50 select{
  text-align: center;
}
#data-avaliacao{
  width: 50%;
  display: flex;
  justify-content: center;
}



#dataavaliacao{
  display: flex;
  text-align: center;
}
#label-dataavaliacao{
  width: auto;
  padding-right: 1rem;
}

#label-data-exercicio{
  width: auto;
  padding-right: 0.5rem;
}







.c-nivel{
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.sera-atribuido {
  padding: 0.1rem;
}

section{
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  gap: 1rem;
}
.b-pergunta{
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: center;
    font-size: 1rem;
    background-color: #eff6ff;
    border-radius: 3px;
    text-align: left;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 90%;
}
.c-pergunta {
    display: flex;
    align-items: center;
     width: 70%;
     min-height: 4rem;
     padding: 1rem;
}
.c-alternativas {
  min-width: 330px;
  align-items: center;
}

.b-totalobtido {
  display: flex;
    background-color: royalblue;
    color: white;
    font-size: 1.2rem;
    font-weight: bold;
    padding: 0.5rem;
    border-radius: 3px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    margin-top: 0.3rem;
    width: 50%;
    justify-content: center;
}

.c-infoc{
    text-align: left;
    display: flex;
    flex-direction: column; /* Coloca o texto em cima e a caixa embaixo */
    gap: 8px;              /* Espaço entre a pergunta e a caixa */
    margin-bottom: 15px;    /* Espaço entre um bloco de pergunta e outro */
    width: 100%;
}
.infotext {
    width: 100%;
    padding: 8px;
    border: 1px solid #ccc;
    resize: none; /* Impede o usuário de puxar o cantinho manualmente */
    overflow: hidden; /* Esconde a barra de rolagem */
    field-sizing: content; /* Faz o campo crescer sozinho em navegadores modernos */
    min-height: 40px; 

    border-radius: 8px;
    height: auto;
    min-height: 80px;
    display: block;

}

textarea {
    height: 80px;
    width: 100%;
    border: 1px solid royalblue;
    border-radius: 8px;
    padding: 1rem;
}

/* Botões Radio */

.b-apto-inapto {
    background-color: #eff6ff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    padding-bottom: 2rem;
    border-radius: 5px;
    margin-top: 0.5rem;
    
}

.c-alternativas input[type="radio"],
.b-apto-inapto input[type="radio"]{
  display: none;
}

.c-alternativas label, 
.b-apto-inapto label{
  display: inline-block;
  padding: 0.5rem 2rem;
  background-color: whitesmoke;
  border: 2px solid #ddd;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
  user-select: none;
}

/* Cores de Seleção dos botões Radio */
input[type="radio"]:checked + label {
  background-color: green;
  color: white;
  border-color: green;
}

/* Efeito de Hover Geral (para todos os botões) */
.c-alternativas label:hover, 
.b-apto-inapto label:hover{
  background-color: #e0e0e0; /* Um cinza um pouco mais escuro que o whitesmoke */
  border-color: #bbb;       /* Escurece a borda levemente */
  transition: all 0.2s ease;   /* Deixa o movimento suave */
}

#inapto:checked + label {
    background-color: #dc3545; /* Vermelho */
    color: white;
    border-color: #a71d2a;
}

/* Quando o rádio está desabilitado, o "botão" (label) fica opaco */
input[type="radio"]:disabled + label {
    opacity: 0.4;
    cursor: not-allowed;
    filter: grayscale(1);
}

/* Tabela de Resumo da Avaliação*/
/* Tabela de Resumo da Avaliação*/
/* Tabela de Resumo da Avaliação*/

.tabela-pontuacao{
  border-collapse: collapse;
  text-align: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
  border-radius: 5px;
  background-color: #eff6ff;
}

.tabela-pontuacao thead th {
    background-color: royalblue;
    color: white;
    padding: 1rem;
    border: 1px solid #3b62a7;
}

.tabela-pontuacao td {
    padding: 0.5rem;
    border: 1px solid #D9D9D9;
}

.tabela-pontuacao tbody tr:hover {
    background-color: #E9E9E9;
}

.tabela-pontuacao tbody tr:nth-last-child(-n+2) td {
    background-color: #e4edff;
    font-weight: bold;
}

.a-botao {
  display: flex;
  flex-direction: column;
}
button {
  background: linear-gradient(135deg, #1a7ba1 0%, #1a5aa2 100%);
  color: white;

  padding: 1rem 2rem;
  font-size: 2rem;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1px;

  border: none;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(26, 90, 162, 0.3);
  
 
  margin: 1rem auto;
  margin-bottom: 4rem;
}

/* Efeito ao passar o mouse (Hover) */
.botao:hover {
  background: linear-gradient(135deg, #1a5aa2 0%, #1a7ba1 100%);
  box-shadow: 0 6px 20px rgba(26, 90, 162, 0.4);
}

/* Efeito ao clicar (Active) */
.botao:active {
  transform: translateY(-1px); /* O botão desce um pouco ao clicar */
}

/*BLOCO DA ASSINATURA*/
/*BLOCO DA ASSINATURA*/
/*BLOCO DA ASSINATURA*/
/*BLOCO DA ASSINATURA*/
/*BLOCO DA ASSINATURA*/

.a-assinaturas{
  display: flex;
  flex-direction: column;
  align-self: center;
  font-size: 1rem;
  background-color: white;
  border-radius: 4px;
  border: 0;
    width: 80%;
}

.b-assinaturas{
   display: flex;
  flex-direction: column;
  align-items: center;
    font-size: 1rem;
    background-color: #d0e0ff;
    border-radius: 4px;
    text-align: center;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    width: 100%;
    padding: 1rem;
}
.c-bloco-assinatura{
  background-color: #EFF6FF;
  display: flex;
  flex-direction: column;
  width: 80%;
  padding: 0rem;
  border-radius: 3px;
}
.carimbo{
  background-color: #EFF6FF;
  display: flex;
  flex-direction: column;
  padding: 1rem;
  gap: 0rem;
}
#carimbo-servidor{
  background-color: #a71d2a;
  display: flex;
  justify-content: center;
}


.linha-label-input-ass {
  display: flex;
  flex-direction: column;
  gap: 0rem;
  width: 100%;
  padding: 0.5rem;
}
.linha-label-input-ass label {
  display: flex;
  flex-direction: row;
  width: 20%;
  text-align: left;
}
.linha-label-input-ass input {
  border-radius: 3px;
  border: 1px solid royalblue;
  font-size: 1rem;
  padding: 0.1rem;
  width: 100%;
}

#input-matriculachefe{
  width: 10rem;
  text-align: center;
}
#input-nomechefe{
  width: 50%;
}
#input-cargochefe{
  width: 50%
}

.data-carimbo{
  display: none;
  width: 30%;
}
#linha-underline-chefe{
  display: none;
}

#c-secretario, #c-justifique, #c-ass, #c-concordo{
  display: none;
}

#bloco-que-some{
  display: none;
}

.rodape-institucional {
    background-color: #2c3e50; /* Um azul escuro profissional */
    color: white;
    padding: 20px 0;
    margin-top: 50px;
    font-family: sans-serif;
    font-size: 14px;
    border-top: 4px solid #f1c40f; /* Detalhe em dourado/amarelo, comum em órgãos públicos */
}

.rodape-container {
    display: flex;
    justify-content: space-around;
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
    flex-wrap: wrap;
    gap: 20px;
}

.rodape-info p {
    margin: 5px 0;
    opacity: 0.9;
}

.rodape-contato a {
    color: #3498db;
    text-decoration: none;
    font-weight: bold;
    display: block;
    margin-top: 5px;
}

.rodape-contato a:hover {
    text-decoration: underline;
}

.rodape-copyright {
    text-align: center;
    margin-top: 20px;
    font-size: 12px;
    opacity: 0.6;
}

/* Regra importante para não gastar tinta e não sair na impressão */
@media print {
    .no-print {
        display: none !important;
    }
}

/* Destaque para campos não preenchidos */
/* Destaque para inputs e selects vazios */
input.pergunta-pendente, 
select.pergunta-pendente {
    border: 2px solid #ff0000 !important;
    background-color: #fff0f0 !important;
    outline: none;
}

/* Mantém o destaque nos blocos de perguntas (rádios) */
.b-pergunta.pergunta-pendente {
    border: 2px solid #ff0000 !important;
    background-color: #fff0f0 !important;
}
/* Remove o ícone de calendário no Chrome, Edge e Safari */
input[type="date"]::-webkit-calendar-picker-indicator {
    display: none;
    -webkit-appearance: none;
}


/* Garante que os campos ocultos não ocupem espaço na impressão */
@media print {
    .ocultar-na-impressao {
        display: none !important;
    }
}




