:root{--navy:#16264A;--gold:#C9A227;--bs-primary:#16264A;--bs-primary-rgb:22,38,74}
body{background:#f4f6fa;font-size:.92rem}
.btn-primary{--bs-btn-bg:#16264A;--bs-btn-border-color:#16264A;--bs-btn-hover-bg:#22396b;--bs-btn-hover-border-color:#22396b;--bs-btn-active-bg:#0f1b36}
.btn-outline-primary{--bs-btn-color:#16264A;--bs-btn-border-color:#16264A;--bs-btn-hover-bg:#16264A;--bs-btn-hover-border-color:#16264A}
.text-primary{color:#16264A!important}.bg-primary{background-color:#16264A!important}.border-primary{border-color:#16264A!important}
a{color:#22396b}
#sidebar{width:250px;min-height:100vh;background:var(--navy);color:#cfd6e4;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto}
#sidebar .brand{display:flex;align-items:center;gap:.6rem;padding:1rem;color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.08)}
#sidebar .brand img{height:38px}#sidebar .brand span{font-weight:700;font-size:1.1rem;line-height:1}#sidebar .brand small{display:block;font-weight:400;font-size:.72rem;color:var(--gold)}
#sidebar .menu{padding:.5rem 0 2rem}
#sidebar .menu a{display:block;padding:.38rem 1rem;color:#cfd6e4;text-decoration:none;font-size:.86rem;border-left:3px solid transparent}
#sidebar .menu a:hover{background:rgba(255,255,255,.06);color:#fff}
#sidebar .menu a.active{background:rgba(201,162,39,.15);color:#fff;border-left-color:var(--gold)}
#sidebar .menu a i{width:1.3rem;display:inline-block}
.menu-section{padding:.9rem 1rem .25rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}
.topbar{display:flex;align-items:center;gap:1rem;padding:.6rem 1.5rem;background:#fff;border-bottom:1px solid #e3e7ef;position:sticky;top:0;z-index:20}
#content{min-width:0}
.card{border-color:#e3e7ef}.card-header{background:#fff;font-weight:600}
.kpi{display:flex;align-items:center;gap:.9rem;background:#fff;border-radius:.5rem;padding:.8rem 1rem;box-shadow:0 1px 2px rgba(0,0,0,.04);height:100%}
.kpi-ico{font-size:1.6rem}.kpi-val{font-size:1.35rem;font-weight:700;line-height:1.1}.kpi-lib{font-size:.78rem;color:#6b7280}
.table{font-size:.85rem}.table thead th{background:#eef1f6;white-space:nowrap}
.table-sm td,.table-sm th{padding:.3rem .45rem}
.login-box{max-width:400px}
.section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:1rem 0 .4rem;border-bottom:1px solid #e3e7ef;padding-bottom:.2rem}
.dl-row{display:flex;border-bottom:1px dashed #e3e7ef;padding:.25rem 0}.dl-row .k{width:40%;color:#6b7280}.dl-row .v{width:60%}
.chart-box{position:relative;height:300px}
.filters .form-control,.filters .form-select{font-size:.85rem}
.recol-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:4px}
.recol-grid label{border:1px solid #d6dbe5;border-radius:4px;padding:2px 4px;font-size:.75rem;text-align:center;cursor:pointer;background:#fff}
.recol-grid .db{border-color:#16264A}.recol-grid .PRESENT{background:#d1e7dd}.recol-grid .MANQUANT{background:#f8d7da}
@media (max-width:991px){#sidebar{position:fixed;left:-260px;z-index:50;transition:left .2s}body.menu-open #sidebar{left:0}}
@media print{body{background:#fff;font-size:11pt}#sidebar,.topbar,footer,.d-print-none{display:none!important}main{padding:0!important}.card{border:none}}
