/* Tema das páginas internas: mesma identidade da página de abertura (azul-marinho, amarelo, cantos arredondados). Carrega depois do Bootstrap. */
:root{
  --sae-navy:#0B2A3F; --sae-navy-2:#134A6B; --sae-blue:#1D6A91; --sae-accent:#F5B83D;
  --sae-bg:#F4F8FA; --sae-line:#D5E3EA; --sae-soft:#E3F0F6; --sae-text:#0B2233; --sae-muted:#3D5566;
  --bs-body-font-family:'Manrope',system-ui,sans-serif; --bs-body-bg:var(--sae-bg); --bs-body-color:var(--sae-text);
  --bs-primary:#0B2A3F; --bs-primary-rgb:11,42,63; --bs-link-color:#1D6A91; --bs-link-hover-color:#0B2A3F;
  --bs-border-color:var(--sae-line); --bs-secondary-color:var(--sae-muted);
}
body{font-feature-settings:"ss01";-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.h5{font-family:'Bricolage Grotesque','Manrope',sans-serif;font-weight:800;letter-spacing:-.025em;color:var(--sae-navy)}
h1,.h3{letter-spacing:-.03em}
.h5{font-weight:700}

/* menu lateral */
.side{background:var(--sae-navy)!important;box-shadow:4px 0 24px -12px rgba(11,42,63,.5)}
.side .nav-link{color:#CFE3EE;border-radius:999px;padding:.6rem 1rem;font-weight:600;font-size:.95rem}
.side .nav-link:hover{background:rgba(255,255,255,.09);color:#fff}
.side .nav-link.active{background:var(--sae-accent);color:var(--sae-navy);font-weight:800}
.side .btn-outline-light{border-radius:999px;font-weight:700}

/* barra superior */
.topbar{background:#fff;border-bottom:1px solid var(--sae-line)!important;box-shadow:0 8px 24px -20px rgba(11,42,63,.45);padding-top:.7rem!important;padding-bottom:.7rem!important}
.topbar .fw-bold{font-family:'Bricolage Grotesque',sans-serif;font-size:1.15rem;letter-spacing:-.02em;color:var(--sae-navy)}
main.container-xl{max-width:1240px}

/* cartões e blocos brancos */
.bg-white.border,.bg-white.rounded,.card,.list-group{border:1px solid var(--sae-line)!important;border-radius:1.25rem!important;box-shadow:0 1px 0 rgba(11,42,63,.05),0 20px 40px -30px rgba(11,42,63,.3)}
.list-group{overflow:hidden}
.list-group-item{border-color:var(--sae-line);padding:.8rem 1.1rem}
.list-group-item b{color:var(--sae-navy)}

/* tabelas */
.table{--bs-table-bg:#fff;--bs-table-striped-bg:#F7FAFC;--bs-table-hover-bg:#EEF5F9;--bs-table-border-color:var(--sae-line);color:var(--sae-text)}
.table-responsive{border-radius:1.25rem}
.table-responsive>.table:not(.cal){border-radius:1.25rem;overflow:hidden;box-shadow:0 1px 0 rgba(11,42,63,.05),0 20px 40px -30px rgba(11,42,63,.3)}
.table thead th,.table-light{background:var(--sae-soft)!important;color:var(--sae-navy);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid var(--sae-line);padding-top:.85rem;padding-bottom:.85rem}
.table>:not(caption)>*>*{padding:.75rem .9rem}
.table tbody tr:hover>*{background-color:var(--bs-table-hover-bg)}
.cal.table thead th{text-align:center}
.cal td{border-color:var(--sae-line)}

/* botões */
.btn{border-radius:999px;font-weight:700;padding:.5rem 1.1rem}
.btn-sm{padding:.3rem .8rem;font-size:.85rem}
.btn-primary{--bs-btn-bg:var(--sae-navy);--bs-btn-border-color:var(--sae-navy);--bs-btn-hover-bg:var(--sae-navy-2);--bs-btn-hover-border-color:var(--sae-navy-2);--bs-btn-active-bg:var(--sae-navy-2);--bs-btn-active-border-color:var(--sae-navy-2);--bs-btn-disabled-bg:var(--sae-navy);--bs-btn-disabled-border-color:var(--sae-navy)}
.btn-outline-primary{--bs-btn-color:var(--sae-navy);--bs-btn-border-color:var(--sae-navy);--bs-btn-hover-bg:var(--sae-navy);--bs-btn-hover-border-color:var(--sae-navy);--bs-btn-active-bg:var(--sae-navy);--bs-btn-active-border-color:var(--sae-navy)}
.btn-outline-secondary{--bs-btn-color:var(--sae-muted);--bs-btn-border-color:#B9CCD7;--bs-btn-hover-bg:var(--sae-soft);--bs-btn-hover-color:var(--sae-navy);--bs-btn-hover-border-color:#B9CCD7;--bs-btn-active-bg:var(--sae-soft);--bs-btn-active-color:var(--sae-navy)}
.btn:focus-visible,.form-control:focus,.form-select:focus,.form-check-input:focus{box-shadow:0 0 0 .25rem rgba(29,106,145,.25)}

/* formulários */
.form-label{font-weight:700;font-size:.9rem;color:var(--sae-navy);margin-bottom:.35rem}
.form-control,.form-select{border-color:#C3D6E0;border-radius:.8rem;padding:.55rem .85rem;background-color:#fff}
.form-control:focus,.form-select:focus{border-color:var(--sae-blue)}
.form-control-sm,.form-select-sm{border-radius:.6rem;padding:.3rem .6rem}
.form-check-input{border-color:#9FB8C6}
.form-check-input:checked{background-color:var(--sae-navy);border-color:var(--sae-navy)}
.form-text{color:var(--sae-muted)}
.text-body-secondary{color:var(--sae-muted)!important}
dt{color:var(--sae-navy);font-weight:700}

/* avisos, selos, abas */
.alert{border:0;border-radius:1rem;font-weight:600;padding:.9rem 1.2rem}
.alert-success{background:#DDF3E4;color:#14532D}
.alert-danger{background:#FCE3E0;color:#8A1C14}
.badge{border-radius:999px;font-weight:700;padding:.4em .75em}
.nav-pills .nav-link{border-radius:999px;font-weight:700;color:var(--sae-muted);padding:.5rem 1.1rem}
.nav-pills .nav-link:hover{background:var(--sae-soft);color:var(--sae-navy)}
.nav-pills .nav-link.active{background:var(--sae-navy);color:#fff}
a{text-underline-offset:.2em}

/* tela de entrada (sem menu) */
.noside main.container-xl{max-width:30rem}
