:root {
    --primary-color: rgb(88 201 2);
    --secondary-color: #C0ED9E;
    --tertyary-color: #009035;
    --button-background: rgba(88, 201, 2, 0.5);
    --button-default-background: rgb(180, 220, 140);
    --button-hover-background: rgb(126, 192, 28);
    --button-active-background: rgb(0, 144, 53);
    /* #009035 */
    --button-cancel-default-background: #dc8c8c;
    --button-cancel-hover-background: #c01c2c;
    --button-cancel-active-background: #900005;
    --field-input-background: #d9f4c5;
    --field-input-invalid-background: #f4c5c5;
}

html {
    scroll-behavior: smooth;
    background-image: url('./img/crissxcross.png');
    background-color: var(--field-input-background);
}

h1,
h2,
h3,
h4,
p,
strong,
dl {
    color: #000;
}

h1 {
    font-size: 2.2rem;
    margin-bottom: 30px;
    text-align: center;
}

h2 {
    font-size: 1.5rem;
    margin-bottom: 20px;
    text-align: center;
}

h3 {
    font-size: 1.2rem;
    margin-bottom: 0;
    font-weight: bold;
}

p {
    font-size: 1.1rem;
    font-weight: 400;
    margin-bottom: 0;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Inter', sans-serif;
}

.nao-selecionavel {
    user-select: none;
    -webkit-user-select: none;
    /* Para navegadores baseados em WebKit (Chrome, Safari) */
    -moz-user-select: none;
    /* Para Firefox */
    -ms-user-select: none;
    /* Para Internet Explorer */
}

.oculto {
    display: none !important;
}

.link {
    color: inherit;
    text-decoration: none;
    font-weight: 600;
}

.link:hover {
    text-decoration: underline;
}

.pagina_container {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
}

.login__section,
.evasao__section {
    height: 100vh;
    width: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login__section-container {
    width: 480px;
    height: fit-content;
}

#loginForm>.form_buttons {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.menu_inicio__section {
    text-align: center;
    width: 480px;
    /* width: fit-content; */
    margin: auto auto;
    background-color: white;
    border-radius: 20px;
    padding: 1rem;
}

.menu_inicio__section__links {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 20px 0;
    grid-gap: .5rem;
    flex-wrap: wrap;
}

.menu_inicio__section__links>a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    grid-gap: .5rem;
    background-color: var(--button-default-background);
    cursor: pointer;
    border-radius: 5px;
    border: 1px solid black;
    width: 8.5rem;
    height: 10rem;
    color: black;
    text-decoration: none;
}

.bi {
    font-size: 3rem;
}

.menu_inicio__section__links>a:hover {
    background-color: var(--button-hover-background);
}

.menu_inicio__section__links>a:active {
    background-color: var(--button-active-background);
}

.cadastrar_form,
#cadastrarBairroForm,
#cadastrarCidadeForm,
#cadastrarEscolaForm,
#cadastrarResponsavelForm,
#matricularEmProjetoForm,
#cadastrarProjetoForm,
#cadastrarLocalProjetoForm,
#cadastrarTurmaForm {
    margin: 20px auto;
    width: 480px;
}

.cadastrar_form-fieldset {
    border: 1px solid #ccc;
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    grid-gap: .5rem;
    background-color: white;
}

.cadastrar_form-fieldset>div {
    margin-bottom: .5rem;
}

.form_label {
    font-weight: 600;
    font-size: 16px;
}

.form_input {
    width: 100%;
    height: 2rem;
    font-size: 1rem;
    border-radius: 5px;
    border: none;
    background-color: var(--field-input-background);
    padding: 0 .5rem;
}

.form_input-invalido {
    /* border: 1px solid red; */
    background-color: var(--field-input-invalid-background);
}

.resumo_dados>div {
    display: flex;
}

.resumo_dados>div>label {
    min-width: fit-content;
    margin-right: .5rem;
}

.resumo_dados>div>input,
.resumo_dados>div>select {
    border: none;
    background-color: transparent;
    width: 100%;
}

.oculta-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.resumo_dados-destaca {
    border-bottom: 1px solid black !important;
}

.btn {
    background-color: var(--button-default-background);
    cursor: pointer;
    margin-top: .5rem;
    border-radius: 5px;
    border: 1px solid black;
}

.btn_submit {
    justify-content: center;
    align-items: center;
    padding: 1rem 3rem;
}

.btn_options {
    padding: .2rem 2rem;
    min-width: fit-content;
}

.btn_cartao {
    padding: .2rem 0;
    width: 100%;
}

.btn:hover {
    background-color: var(--button-hover-background);
}

.btn:active {
    background-color: var(--button-active-background);
}

.btn[value="Cancelar"],
.btn[value="Excluir"],
.btn[value="Fechar"] {
    background-color: var(--button-cancel-default-background);
}

.btn[value="Cancelar"]:hover,
.btn[value="Excluir"]:hover,
.btn[value="Fechar"]:hover {
    background-color: var(--button-cancel-hover-background);
}

.btn[value="Cancelar"]:active,
.btn[value="Excluir"]:active,
.btn[value="Fechar"]:active {
    background-color: var(--button-cancel-active-background);
}

.conjunto-botoes {
    display: flex;
    gap: 1rem;
}

.secao_popup {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    background-color: white;
    display: flex;
    justify-content: center;
    overflow-y: auto;
}

#adicionarBairroDistrito-secao,
#adicionarCidade-secao {
    z-index: 2;
}

#adicionarResponsavel {
    z-index: 1;
}

.div_checkboxes {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

#pesquisarnomerespresultados,
#pesquisarnomeusuaresultados {
    max-height: 5rem;
    overflow-y: auto;
    background-color: bisque;
    word-break: break-all;
}

#pesquisarnomerespresultados>li,
#pesquisarnomeusuaresultados>li {
    list-style-type: "📋";
    cursor: pointer;
}

#horarios_inputs,
#turmas_inputs {
    margin-bottom: .5rem;
}

.cartao_matricula-container {
    width: 480px;
    margin: auto auto;
    border: 1px solid #ccc;
    border-radius: 20px;
    padding: 20px;
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    background-color: #fff;
}

#matriculas-container {
    display: flex;
    flex-direction: column;
    gap: .5rem;
}

.cartao_matricula {
    width: 100%;
    display: flex;
    flex-direction: column;
    border: #000 1px solid;
    padding: 1rem;
}

.cartao_matricula-horarios {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: .5rem 0 .5rem 0;
}

.cartao_matricula-horario-item {
    background-color: var(--tertyary-color);
    padding: .5rem;
    border-radius: 5px;
    display: flex;
    flex-direction: column;
    gap: .1rem;
}

.cartao_matricula-botoes {
    display: flex;
    flex-direction: column;
    gap: .1rem;
    margin-top: .1rem;
}

.cartao_matricula-dados-item input[type="button"],
.cartao_matricula-botoes input[type="button"] {
    margin-top: 0 !important;
}

.cartao_matricula-dados-item select {
    background-color: var(--field-input-background);
    border: none;
}

.cartao_matricula-horario-item select,
.cartao_matricula-horario-item input[type="time"] {
    background-color: var(--field-input-background);
    width: 100%;
    border: none;
}

.termo__section {
    width: 100%;
    text-align: left;
    background: #fff;
}

.termo__section h1 {
    font-size: 1.8rem;
}

.termo__section h1,
.termo__section h2 {
    margin: 1rem 0;
}

.termo__section p,
.termo__section li {
    font-size: .9rem;
    text-align: justify;
    text-indent: 1rem;
}

.termo__section .qrcode {
    float: right;
    margin-left: 1rem;
}

.termo__section ol {
    list-style-type: decimal;
    margin-left: 2rem;
}

.assinatura {
    margin-top: 2rem;
}

.timbre {
    width: 100%;
    height: fit-content;
}

.timbre2 {
    position: bottom;
}

.vagas__section,
.lista_presenca__section,
.dados_relatorios__section {
    width: fit-content;
    margin: auto auto;
}

#tabela_vagas_resumo,
#tabela_vagas,
#tabela_lista__presenca,
#tabela_evasoes {
    width: 100%;
    border-collapse: collapse;
}

#tabela_vagas_resumo>thead>tr>th,
#tabela_vagas>thead>tr>th,
#tabela_lista__presenca>thead>tr>th,
#tabela_evasoes>thead>tr>th {
    border: 1px solid black;
    padding: .5rem;
}

#tabela_vagas_resumo>tbody>tr>td,
#tabela_vagas>tbody>tr>td,
#tabela_lista__presenca>tbody>tr>td,
#tabela_evasoes>tbody>tr>td {
    border: 1px solid black;
    padding: .5rem;
}

#tabela_evasoes>tbody>tr {
    cursor: pointer;
}

/* #tabela_lista__presenca {
    width: fit-content;
    border-collapse: collapse;
} */

.presenca_tabela_cabecalho {
    writing-mode: sideways-lr;
}

.presenca_select {
    font-weight: 700;
}

.presenca_input {
    width: 5rem;
    color: black;
    font-size: .6rem;
    height: 1rem;
    overflow-y: auto;
    line-break: anywhere;
}

.presenca_select-disabled {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: none;
}

.editarPresencaBTN {
    background-image: url('./img/pencil-square.svg');
    background-size: contain;
    background-repeat: no-repeat;
    border: none;
    width: .5rem;
    height: .5rem;
    text-align: center;
    color: transparent;
    cursor: pointer;
}

#popupUsuarioEvadido {
    display: block;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1000;
    background: white;
    padding: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    border-radius: 10px;
    width: 80%;
    max-width: 600px;
    max-height: 100vh;
    overflow: auto;
}

.popupUsuarioEvadido-dadosPessoais,
.popupUsuarioEvadido-dadosResponsavel,
.popupUsuarioEvadido-dadosPais,
.popupUsuarioEvadido-dadosMatricula,
.popupUsuarioEvadido-dadosFalta {
    border: 1px solid #ccc;
    padding: 1rem;
    margin-bottom: .5rem;
}

.popupUsuarioEvadido-dadosPessoais .campo,
.popupUsuarioEvadido-dadosResponsavel .campo,
.popupUsuarioEvadido-dadosPais .campo,
.popupUsuarioEvadido-dadosMatricula .campo,
.popupUsuarioEvadido-dadosFalta .campo {
    margin-bottom: .2rem;
}

.popupUsuarioEvadido-dadosPessoais .campo>label,
.popupUsuarioEvadido-dadosResponsavel .campo>label,
.popupUsuarioEvadido-dadosPais .campo>label,
.popupUsuarioEvadido-dadosMatricula .campo>label,
.popupUsuarioEvadido-dadosFalta .campo>label {
    font-weight: 600;
    font-size: 16px;
}

#ultimas_presencas ul {
    list-style-type: none;
    margin-left: 1rem;
}

@media print {
    .timbre2 {
        position: absolute;
        bottom: 0;
    }

    #vagasForm,
    .editarPresençaBTN,
    #presencasForm,
    #mostrar_justificativas-label {
        display: none;
    }
}

@media (max-width: 480px) {
    .menu_inicio__section {
        width: 100%;
    }

    .menu_inicio__section__links>a {
        width: 100%;
    }

    .cadastrar_form,
    #cadastrarBairroForm,
    #cadastrarCidadeForm,
    #cadastrarEscolaForm,
    #cadastrarResponsavelForm,
    #matricularEmProjetoForm,
    #cadastrarProjetoForm {
        width: 100%;
    }
}