:root{--im:#1e3a8a;--im2:#172b6b;--ac:#ea580c;--fond:#f3f5fa}
body{background:var(--fond);font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
.btn-im{background:var(--im);border-color:var(--im);color:#fff}.btn-im:hover,.btn-im:focus{background:var(--im2);border-color:var(--im2);color:#fff}
.btn-im:disabled{background:var(--im);border-color:var(--im);color:#fff;opacity:.55}
.text-im{color:var(--im)!important}
a{color:var(--im)}
.topbar{background:var(--im2);color:#fff;position:sticky;top:0;z-index:1030}
.topbar a,.topbar button{color:#fff}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;text-decoration:none}
.brand img{width:36px;height:36px;border-radius:9px;object-fit:contain;background:#fff}
.layout{display:flex;min-height:calc(100vh - 56px)}
.sidebar{width:270px;background:#fff;border-right:1px solid #dde2ee;flex:none}
.tree,.tree ul{list-style:none;margin:0;padding:0}
.tree>li>a,.tree>li>details>summary{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;color:#1f2937;text-decoration:none;cursor:pointer;font-weight:600;list-style:none}
.tree summary::-webkit-details-marker{display:none}
.tree summary::after{content:"\F285";font-family:"bootstrap-icons";margin-left:auto;font-size:.8rem;transition:transform .15s}
.tree details[open]>summary::after{transform:rotate(90deg)}
.tree>li>a:hover,.tree summary:hover{background:#eef1fa}
.tree ul a{display:block;padding:.5rem 1rem .5rem 3rem;color:#374151;text-decoration:none;position:relative;font-size:.95rem}
.tree ul a::before{content:"";position:absolute;left:2.1rem;top:0;bottom:0;border-left:1px solid #cdd5ea}
.tree ul a:hover{background:#eef1fa}
.tree .actif{background:#dbe3f7!important;color:var(--im2)!important;font-weight:700}
.contenu{flex:1;min-width:0;padding:1.25rem}
.carte-stat{border:0;border-radius:14px;box-shadow:0 1px 4px rgba(0,0,0,.08)}
.carte-stat .n{font-size:1.9rem;font-weight:800;color:var(--im2);line-height:1.1}
.login-box{max-width:420px;margin:6vh auto;background:#fff;border-radius:18px;box-shadow:0 8px 30px rgba(0,0,0,.1);padding:1.8rem}
.login-box img.logo{width:84px;height:84px;display:block;margin:0 auto 1rem}
.barre{height:10px;border-radius:5px;background:#dde3f3;overflow:hidden}.barre>span{display:block;height:100%;background:var(--im)}
.vignette{width:96px;flex:none;background:#e8ecf7;display:flex;align-items:center;justify-content:center;font-size:2rem;color:#8d9ac4;border-radius:14px 0 0 14px;overflow:hidden}
.vignette img{width:100%;height:100%;object-fit:cover}
.galerie{display:flex;flex-wrap:wrap;gap:.6rem}
.galerie img{width:150px;height:110px;object-fit:cover;border-radius:10px;border:1px solid #dde2ee}
.photo-x{position:absolute;top:4px;right:4px}
.formule{border:1px solid #d6dcef;border-radius:12px;padding:1rem;background:#fff}
.table td.text-end,.table th.text-end{white-space:nowrap}
fieldset:disabled .form-control,fieldset:disabled .form-select{background:#f1f3f9}
@media (max-width:991.98px){.sidebar{display:none}.contenu{padding:.9rem}}
@media (max-width:575.98px){.vignette{width:84px}.galerie img{width:calc(50% - .3rem)}}
@media print{.topbar,.sidebar,.no-print{display:none!important}}
