/* --- ESTILOS GERAIS (TELA) --- */

/* NOVO: Fundo da página e cor da navbar/headers */
body {
    background-color: #f0f5fa; /* Fundo azul-claro */
    /* Nenhuma fonte nova, usa o padrão do navegador */
}

/* NOVO: Estilo dos cards (hover) e headers azuis */
.card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.card:hover {
    transform: translateY(-4px);
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15) !important;
}
.card-header h3 {
    margin-bottom: 0;
    font-size: 1.4rem;
}

/* NOVO: Abas (Tabs) com Cor */
.nav-tabs {
    border-bottom: none; 
}
.nav-tabs .nav-link {
    border: 1px solid #dee2e6;
    border-bottom: none;
    margin-right: 2px;
    background-color: #f8f9fa; /* Fundo cinza claro para inativas */
    color: #6c757d;
    font-weight: 500;
    border-radius: 0.375rem 0.375rem 0 0; 
}
.nav-tabs .nav-link.active {
    background-color: #0d6efd; /* Fundo AZUL */
    color: #ffffff; /* Texto BRANCO */
    border-color: #0d6efd;
}
.nav-tabs .nav-link:hover:not(.active) {
    background-color: #e6f0ff; /* Azul claro no hover */
}
.tab-content {
    border: 1px solid #dee2e6;
    border-top: 1px solid #0d6efd; /* Linha azul conectando */
}

/* NOVO: Foco azul nos inputs */
.form-label {
    font-weight: 500;
    color: #333;
}
.form-control:focus,
.form-select:focus {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}


/* --- ESTILOS DA CAPA  --- */
.capa-container {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    height: 90vh;
    text-align: center;
    border: none;
}
.capa-container .logo-section { margin-top: 4cm; margin-bottom: 1cm; }
.capa-container .logo { max-width: 350px; }
.capa-container .info-aluno { margin-top: 1cm; width: 80%; }
.capa-container .rodape { margin-top: auto; margin-bottom: 2cm; }

/* ################################################## */
/* --- IMPRESSÃO --- */
/* ################################################## */
@media print {
    .noprint { display: none !important; }
    #bt_imprimir { display: none; }
    
    @page { 
        margin: 1.5cm; 
        size: A4;
        @top-left { content: none; }
        @top-center { content: none; }
        @top-right { content: none; }
        @bottom-left { content: none; }
        @bottom-center { content: none; } 
        @bottom-right { content: none; }
    }

    @page relatorio {
        @bottom-center {
            content: counter(page);
            font-size: 10pt;
            font-family: 'Times New Roman', serif;
        }
    }

    .relatorio-wrapper {
        page: relatorio;
        counter-reset: page 1;
        page-break-before: always;
    }

    .page-break { 
        page-break-after: always; 
        display: block; 
        height: 0; 
        clear: both;
    }

    table.report-container {
        width: 100%;
        border-collapse: collapse;
        border: none;
    }
    thead.report-header {
        display: table-header-group;
    }
    tfoot.report-footer {
        display: table-footer-group;
    }
    
    .header-content {
        border-bottom: 1px solid #000;
        margin-bottom: 20px;
        padding-bottom: 5px;
        font-size: 9pt;
        color: #555;
        text-align: left;
        font-family: sans-serif;
        width: 100%;
    }
    .header-space {
        height: 40px;
    }

    .documento-secao {
        text-align: justify;
        width: 100%;
        font-family: 'Times New Roman', serif;
        font-size: 12pt;
        line-height: 1.5;
    }

    .documento-secao img, 
    .pdf-page-image {
        display: block !important;
        margin: 15px auto !important;
        max-width: 90% !important;
        height: auto;
        border: 1px solid #eee;
        page-break-inside: avoid;
    }

    h4.text-center { 
        text-align: center !important; 
        font-weight: bold; 
        text-transform: uppercase; 
        margin-top: 0;
        margin-bottom: 30px; 
    }
    h5 { font-weight: bold; margin-top: 20px; margin-bottom: 5px; font-size: 12pt; }
}