/* ============================================================================
   ANSEMOK Holding OS — design system du dashboard CEO (porté depuis la maquette
   gelée 7d2f1f1, ADR-0001). Isolé sous #hos pour cohabiter avec le thème beige
   du login + modules opérationnels (patrimoine/démos/sécurité). Aucune règle ne
   fuit hors de #hos : sélecteurs d'éléments (body/main/section/footer/a) scopés ;
   classes de composants (uniques) laissées telles quelles.
   ============================================================================ */
#hos{ --bl:8px; --maxw:1320px; --nav-w:248px; --r:4px; --r-lg:8px;
  --ff:'IBM Plex Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --fm:'IBM Plex Mono',ui-monospace,'SF Mono',Menlo,monospace; }
#hos[data-theme="dark"]{ --bg:#0d1320; --bg-2:#111a2b; --panel:#141d30; --panel-2:#192439;
  --ink:#e9ecf4; --ink-2:#aab4c8; --ink-3:#99a4ba; --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.05);
  --or:#d4a800; --navy:#5b7cf0; --navy-soft:rgba(91,124,240,.14);
  --p0:#ed5a5f; --p0-bg:rgba(237,90,95,.13); --p1:#e8a33d; --p1-bg:rgba(232,163,61,.13);
  --p2:#8590a6; --p2-bg:rgba(127,138,163,.12); --ok:#36b389; --ok-bg:rgba(54,179,137,.13);
  --rouge:#ed5a5f; --orange:#e8a33d; --vert:#36b389; }
#hos[data-theme="light"]{ --bg:#f4f3ee; --bg-2:#eceae2; --panel:#fff; --panel-2:#f7f6f1;
  --ink:#161b26; --ink-2:#45506a; --ink-3:#5d6982; --line:rgba(20,30,55,.12); --line-2:rgba(20,30,55,.06);
  --or:#a8830a; --navy:#2e4cc4; --navy-soft:rgba(46,76,196,.08);
  --p0:#cf2f34; --p0-bg:rgba(207,47,52,.08); --p1:#b67611; --p1-bg:rgba(182,118,17,.10);
  --p2:#67718a; --p2-bg:rgba(103,113,138,.08); --ok:#1c8c63; --ok-bg:rgba(28,140,99,.09);
  --rouge:#cf2f34; --orange:#b67611; --vert:#1c8c63; }
#hos{min-height:100vh;font-family:var(--ff);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.5;font-feature-settings:"tnum" 1}
#hos *{box-sizing:border-box}
#hos a{color:inherit} #hos .mono{font-family:var(--fm);font-variant-numeric:tabular-nums} #hos ::selection{background:var(--navy-soft)}
#hos kbd{font-family:var(--fm);font-size:9px;border:1px solid var(--line);border-radius:3px;padding:0 4px;color:var(--ink-3)}
#hos .top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 90%,transparent);border-bottom:1px solid var(--line)}
#hos .top-in{max-width:var(--maxw);margin:0 auto;padding:calc(var(--bl)*1.5) calc(var(--bl)*3);display:flex;align-items:center;gap:calc(var(--bl)*3);flex-wrap:wrap}
#hos .brand{display:flex;align-items:baseline;gap:10px;margin-right:auto;cursor:pointer}
#hos .brand .logo{font-weight:700;letter-spacing:.14em;font-size:13px;color:var(--or)} #hos .brand .sep{width:1px;height:16px;background:var(--line);align-self:center}
#hos .brand h1{font-size:14px;font-weight:600;margin:0} #hos .brand .date{font-size:12px;color:var(--ink-3)}
#hos .kpis{display:flex;gap:calc(var(--bl)*2.5);flex-wrap:wrap} #hos .kpi{display:flex;flex-direction:column;line-height:1.15}
#hos .kpi b{font-family:var(--fm);font-size:18px;font-weight:600} #hos .kpi span{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3)}
#hos .kpi.k-p0 b{color:var(--p0)} #hos .kpi.k-al b{color:var(--p1)}
#hos .hbtn{font-family:var(--fm);font-size:11px;cursor:pointer;background:var(--panel);color:var(--ink-2);border:1px solid var(--line);padding:6px 10px;border-radius:var(--r);display:inline-flex;gap:6px;align-items:center;text-decoration:none}
#hos .hbtn:hover{color:var(--ink);border-color:var(--navy)}
#hos .hbtn.god{border-color:color-mix(in srgb,var(--or) 50%,transparent);color:var(--or)}
#hos .hbtn.god.off{border-color:var(--p0);color:var(--p0)}
#hos .hbtn.sec{border-color:color-mix(in srgb,var(--navy) 55%,transparent);color:var(--ink);background:var(--navy-soft)}
#hos .who{font-size:11px;color:var(--ink-3);text-align:right;line-height:1.3}
#hos .who b{color:var(--ink-2);font-weight:500}
#hos .wrap{max-width:var(--maxw);margin:0 auto;padding:0 calc(var(--bl)*3);display:grid;grid-template-columns:var(--nav-w) 1fr;gap:calc(var(--bl)*4);align-items:start}
#hos nav.toc{position:sticky;top:80px;align-self:start;padding-top:calc(var(--bl)*4);max-height:calc(100vh - 90px);overflow:auto}
#hos nav.toc::-webkit-scrollbar{width:6px} #hos nav.toc::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
#hos .toc-home{display:flex;align-items:center;gap:8px;cursor:pointer;color:var(--ink-2);font-size:13px;padding:8px 11px;border:1px solid var(--line);border-radius:var(--r);margin-bottom:calc(var(--bl)*1.5)} #hos .toc-home:hover{border-color:var(--navy);color:var(--ink)}
#hos .toc-h{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-3);margin:calc(var(--bl)*2) 0 var(--bl);padding-left:11px;display:flex;justify-content:space-between;align-items:center}
#hos .toc-fam{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--or);font-weight:600;padding:10px 11px 4px;cursor:pointer} #hos .toc-fam:hover{color:var(--ink)}
#hos .toc a{display:flex;justify-content:space-between;align-items:center;gap:8px;text-decoration:none;color:var(--ink-2);font-size:13px;padding:6px 11px 6px 18px;border-left:2px solid transparent;border-radius:0 var(--r) var(--r) 0;cursor:pointer}
#hos .toc a:hover{color:var(--ink);background:var(--panel)} #hos .toc a.active{color:var(--ink);border-left-color:var(--or);background:var(--panel)}
#hos .toc a .cnt{font-family:var(--fm);font-size:11px;color:var(--ink-3)} #hos .toc a .dot{width:6px;height:6px;border-radius:50%;flex:none}
#hos main{padding:calc(var(--bl)*4) 0 calc(var(--bl)*12);min-width:0}
#hos section{margin-bottom:calc(var(--bl)*7);scroll-margin-top:84px}
#hos .sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:calc(var(--bl)*2.5);padding-bottom:calc(var(--bl)*1.5);border-bottom:1px solid var(--line)}
#hos .sec-head .num{font-family:var(--fm);font-size:12px;color:var(--or);font-weight:600} #hos .sec-head h2{font-size:20px;font-weight:600;margin:0;letter-spacing:-.01em}
#hos .sec-head .sub{font-size:13px;color:var(--ink-3);margin-left:auto}
#hos .lead{color:var(--ink-2);font-size:14px;max-width:74ch;margin:0 0 calc(var(--bl)*3)}
#hos .panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:calc(var(--bl)*2.5)}
#hos .panel h4{margin:0 0 8px;font-size:14px;font-weight:600}
#hos .h5{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin:0 0 calc(var(--bl)*1.5);padding-bottom:6px;border-bottom:1px solid var(--line-2)}
#hos .callout{font-size:12px;color:var(--ink-3);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:calc(var(--bl)*1.5) calc(var(--bl)*2);margin-top:calc(var(--bl)*2)} #hos .callout b{color:var(--ink-2)}
#hos .tag{font-family:var(--fm);font-size:10px;font-weight:600;padding:1px 6px;border-radius:3px}
#hos .tag.P0{color:var(--p0);background:var(--p0-bg)} #hos .tag.P1{color:var(--p1);background:var(--p1-bg)} #hos .tag.P2{color:var(--p2);background:var(--p2-bg)}
#hos .li{display:flex;gap:10px;padding:6px 0;font-size:13px;color:var(--ink-2);line-height:1.45} #hos .li .m{flex:none;margin-top:6px;width:6px;height:6px;border-radius:50%}
#hos .tcols{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--bl)*2)} @media(max-width:860px){#hos .tcols{grid-template-columns:1fr}}
/* ACCUEIL — grande tuile KPI + bande de tuiles horizontale */
#hos #home{padding-top:calc(var(--bl)*2)}
#hos .kpi-hero{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-radius:var(--r-lg);padding:calc(var(--bl)*4) calc(var(--bl)*3.5);margin-bottom:calc(var(--bl)*3.5)}
#hos .kpi-hero .he{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--or);font-weight:600;display:flex;justify-content:space-between;align-items:center}
#hos .kpi-hero .hg{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:calc(var(--bl)*3) calc(var(--bl)*3);margin:calc(var(--bl)*3) 0 calc(var(--bl)*2.5)}
#hos .kpi-hero .hk{display:flex;flex-direction:column;gap:5px}
#hos .kpi-hero .hk b{font-family:var(--fm);font-size:clamp(26px,4.5vw,34px);font-weight:600;line-height:1}
#hos .kpi-hero .hk span{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3)}
#hos .kpi-hero .hk.red b{color:var(--p0)} #hos .kpi-hero .hk.amber b{color:var(--p1)}
#hos .kpi-hero .hv{font-size:14px;color:var(--ink-2);border-top:1px solid var(--line-2);padding-top:calc(var(--bl)*2);line-height:1.55}
#hos .kpi-hero .hv b{color:var(--ink);font-weight:500}
#hos .strip-h{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 calc(var(--bl)*1.5);display:flex;justify-content:space-between;align-items:center}
#hos .tile-strip{display:flex;gap:calc(var(--bl)*2);overflow-x:auto;padding:2px 2px calc(var(--bl)*2);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
#hos .tile-strip::-webkit-scrollbar{height:6px} #hos .tile-strip::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}
#hos .tile{scroll-snap-align:start;flex:0 0 clamp(244px,82vw,288px);text-align:left;cursor:pointer;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--ink-3);border-radius:var(--r-lg);padding:calc(var(--bl)*2.5);display:flex;flex-direction:column;gap:6px;font-family:var(--ff);min-height:148px}
#hos .tile:hover{border-color:var(--navy)} #hos .tile:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
#hos .tile.critique{border-left-color:var(--rouge)} #hos .tile.vigilance{border-left-color:var(--orange)} #hos .tile.sain{border-left-color:var(--vert)}
#hos .tile .t-fam{font-family:var(--fm);font-size:9px;letter-spacing:.09em;text-transform:uppercase;color:var(--or)}
#hos .tile .t-metric{font-family:var(--fm);font-size:21px;font-weight:600;color:var(--ink);line-height:1.12;margin-top:2px}
#hos .tile .t-verdict{font-size:13px;color:var(--ink-2);flex:1;line-height:1.45}
#hos .tile .t-go{font-size:11px;color:var(--navy);font-weight:500}
#hos .backbar{display:flex;align-items:center;gap:14px;margin-bottom:calc(var(--bl)*3);padding-bottom:calc(var(--bl)*1.5);border-bottom:1px solid var(--line)}
#hos .backbar .back{cursor:pointer;background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:var(--r);padding:8px 13px;font-family:var(--ff);font-size:13px} #hos .backbar .back:hover{border-color:var(--navy);color:var(--ink)}
#hos .backbar .bc{font-size:13px;color:var(--ink-3);font-family:var(--fm)}
#hos .brief-hero{background:linear-gradient(180deg,var(--panel-2),var(--panel));border:1px solid var(--line);border-left:3px solid var(--or);border-radius:var(--r-lg);padding:calc(var(--bl)*3)}
#hos .brief-hero .ey{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--or);font-weight:600} #hos .brief-hero h3{margin:6px 0 calc(var(--bl)*2.5);font-size:18px;font-weight:600}
#hos .prio{display:flex;gap:14px;padding:calc(var(--bl)*1.5) 0;border-bottom:1px solid var(--line-2)} #hos .prio:last-child{border-bottom:none}
#hos .prio .rk{font-family:var(--fm);font-size:18px;font-weight:600;color:var(--or);flex:none;width:26px}
#hos .prio .body .t{font-size:14px;font-weight:500;color:var(--ink)} #hos .prio .body .why{font-size:12px;color:var(--ink-3);margin-top:3px} #hos .prio .body .pj{font-family:var(--fm);font-size:11px;color:var(--navy);margin-left:8px}
#hos .brief-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:calc(var(--bl)*2);margin-top:calc(var(--bl)*3)} @media(max-width:860px){#hos .brief-grid{grid-template-columns:1fr}}
#hos .mini{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:calc(var(--bl)*2)} #hos .mini .it{font-size:12.5px;color:var(--ink-2);padding:5px 0;display:flex;gap:8px}
#hos .mini .it .pj{font-family:var(--fm);font-size:10px;color:var(--ink-3);flex:none} #hos .mini .it .ef{font-size:11px;color:var(--ok);margin-top:2px}
#hos .dbl{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--bl)*2);margin-top:calc(var(--bl)*2)} @media(max-width:760px){#hos .dbl{grid-template-columns:1fr}}
#hos details.exp{margin-top:calc(var(--bl)*2)} #hos details.exp>summary{cursor:pointer;font-size:12px;color:var(--ink-3);list-style:none;padding:8px 0} #hos details.exp>summary::-webkit-details-marker{display:none} #hos details.exp>summary:hover{color:var(--ink-2)}
#hos .rule{padding:7px 0;border-bottom:1px solid var(--line-2);font-size:12.5px} #hos .rule b{color:var(--ink-2);font-weight:500} #hos .rule .ex{color:var(--ink-3);font-style:italic}
#hos .grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden}
#hos .stat{background:var(--panel);padding:calc(var(--bl)*2.5)} #hos .stat .v{font-family:var(--fm);font-size:28px;font-weight:600;line-height:1} #hos .stat .l{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);margin-top:8px}
#hos .stat .bar{height:4px;background:var(--bg-2);border-radius:3px;margin-top:12px;overflow:hidden} #hos .stat .bar i{display:block;height:100%;background:var(--or);border-radius:3px}
#hos .sphere-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:calc(var(--bl)*2);margin-top:calc(var(--bl)*3)}
#hos .sphere-box{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:calc(var(--bl)*2)} #hos .sphere-box h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2)}
#hos .sphere-box .row{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;color:var(--ink-2)} #hos .sphere-box .row b{font-family:var(--fm);font-weight:500}
#hos .lens-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:calc(var(--bl)*2)}
#hos .lens{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--ink-3);border-radius:var(--r);padding:calc(var(--bl)*2)}
#hos .lens.alerte{border-left-color:var(--p0)} #hos .lens.vigilance{border-left-color:var(--p1)} #hos .lens.ok{border-left-color:var(--ok)}
#hos .lens .lh{display:flex;align-items:center;gap:8px;justify-content:space-between} #hos .lens h4{margin:0;font-size:14px}
#hos .lens .niv{font-family:var(--fm);font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:2px 7px;border-radius:100px}
#hos .lens.alerte .niv{color:var(--p0);background:var(--p0-bg)} #hos .lens.vigilance .niv{color:var(--p1);background:var(--p1-bg)} #hos .lens.ok .niv{color:var(--ok);background:var(--ok-bg)}
#hos .lens .fam{font-size:11px;color:var(--ink-3);margin:5px 0 10px} #hos .lens .reg{font-size:11.5px;color:var(--ink-3);font-style:italic;margin-bottom:8px}
#hos .lens .ver{font-size:13px;color:var(--ink-2);margin-bottom:8px} #hos .lens .rec{font-size:12.5px;color:var(--ink);border-top:1px solid var(--line-2);padding-top:8px} #hos .lens .rec b{color:var(--or);font-weight:500}
#hos .risk-group{margin-bottom:calc(var(--bl)*2)} #hos .risk-group .gh{display:flex;align-items:center;gap:10px;margin-bottom:8px}
#hos .risk-group .gh .ub{font-family:var(--fm);font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:100px}
#hos .ub.maintenant{color:var(--p0);background:var(--p0-bg)} #hos .ub.bientot{color:var(--p1);background:var(--p1-bg)} #hos .ub.surveiller{color:var(--p2);background:var(--p2-bg)}
#hos .risk{display:grid;grid-template-columns:120px auto 1fr;gap:12px;align-items:start;padding:8px 0;border-bottom:1px solid var(--line-2);font-size:12.5px}
#hos .risk .pj{font-family:var(--fm);font-size:11px;color:var(--ink-2)} #hos .risk .ty{font-family:var(--fm);font-size:9px;text-transform:uppercase;padding:1px 6px;border-radius:3px;height:fit-content}
#hos .risk .ty.technique{color:var(--navy);background:var(--navy-soft)} #hos .risk .ty.juridique{color:var(--or);background:var(--navy-soft)}
#hos .risk .d .ja{color:var(--ink);font-weight:500} #hos .risk .d .ac{color:var(--ink-3);margin-top:2px}
#hos .jn details{border:1px solid var(--line);border-radius:var(--r);padding:0 calc(var(--bl)*1.5);margin-bottom:8px;background:var(--panel-2)}
#hos .jn summary{cursor:pointer;font-size:13px;font-weight:500;padding:10px 0;list-style:none} #hos .jn summary::-webkit-details-marker{display:none}
#hos .jn .jrow{display:grid;grid-template-columns:90px 1fr;gap:10px;padding:6px 0;border-top:1px solid var(--line-2);font-size:12px}
#hos .jn .jrow .ph{font-family:var(--fm);font-size:10px;color:var(--or)} #hos .jn .jrow b{color:var(--ink)} #hos .jn .jrow .pq{color:var(--ink-3);display:block;margin-top:2px} #hos .jn .jrow .bl{color:var(--p1);display:block;margin-top:2px;font-size:11px}
#hos .scorebars .sb{display:grid;grid-template-columns:170px 1fr 42px;gap:12px;align-items:center;padding:5px 0;font-size:13px}
#hos .scorebars .sb .nm{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis} #hos .scorebars .sb .tr{height:7px;background:var(--bg-2);border-radius:4px;overflow:hidden} #hos .scorebars .sb .tr i{display:block;height:100%;border-radius:4px}
#hos .scorebars .sb .pc{font-family:var(--fm);font-size:12px;text-align:right;font-weight:500}
#hos .dep .d{display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:baseline;padding:6px 0;border-bottom:1px solid var(--line-2);font-size:12.5px} #hos .dep .d .a{font-family:var(--fm);font-size:11px;color:var(--navy)} #hos .dep .d .ar{color:var(--ink-3)} #hos .dep .d .n{color:var(--ink-2)}
#hos .fin-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:calc(var(--bl)*2);margin-bottom:calc(var(--bl)*3)} @media(max-width:760px){#hos .fin-kpis{grid-template-columns:1fr}}
#hos .bars{display:flex;align-items:flex-end;gap:6px;height:150px;padding:calc(var(--bl)*2) 0 0;border-bottom:1px solid var(--line);margin-bottom:6px}
#hos .bars .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px} #hos .bars .col i{width:70%;background:var(--navy);border-radius:2px 2px 0 0;min-height:2px} #hos .bars .col.neg i{background:var(--p0)} #hos .bars .col b{font-family:var(--fm);font-size:9px;color:var(--ink-3)}
#hos .bars-x{display:flex;gap:6px} #hos .bars-x span{flex:1;text-align:center;font-family:var(--fm);font-size:9px;color:var(--ink-3)}
#hos table.fin{width:100%;border-collapse:collapse;font-size:12.5px;margin-top:calc(var(--bl)*2)} #hos table.fin th{text-align:right;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);font-weight:500;padding:6px 10px;border-bottom:1px solid var(--line)} #hos table.fin th:first-child{text-align:left}
#hos table.fin td{text-align:right;padding:6px 10px;border-bottom:1px solid var(--line-2);font-family:var(--fm);color:var(--ink-2)} #hos table.fin td:first-child{text-align:left;font-family:var(--ff);color:var(--ink)} #hos table.fin td.pos{color:var(--ok)} #hos table.fin td.neg{color:var(--p0)}
#hos .econ{font-size:12.5px} #hos .econ .e{padding:8px 0;border-bottom:1px solid var(--line-2)} #hos .econ .e b{color:var(--ink)} #hos .econ .e .md{color:var(--ink-3);display:block;margin-top:2px} #hos .econ .e .rv{color:var(--ink-2);display:block;margin-top:3px}
#hos .spheres{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:calc(var(--bl)*2)} #hos .sp{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:calc(var(--bl)*2)} #hos .sp h4{margin:0 0 5px;font-size:13px;color:var(--or)} #hos .sp p{margin:0;font-size:12px;color:var(--ink-2)}
#hos .chips-line{display:flex;flex-wrap:wrap;gap:8px} #hos .pill{font-size:12px;color:var(--ink-2);background:var(--navy-soft);border:1px solid var(--line);padding:5px 12px;border-radius:100px}
#hos .recon{display:grid;grid-template-columns:1fr 1fr 1fr;gap:calc(var(--bl)*2)} @media(max-width:860px){#hos .recon{grid-template-columns:1fr}}
#hos .recon .al .m{background:var(--ok)} #hos .recon .rf .m{background:var(--p1)} #hos .recon .aj .m{background:var(--navy)}
#hos .fam-d{border:1px solid var(--line);border-radius:var(--r);margin-bottom:8px;background:var(--panel);overflow:hidden}
#hos .fam-d>summary{cursor:pointer;list-style:none;padding:calc(var(--bl)*1.5) calc(var(--bl)*2);display:flex;justify-content:space-between;align-items:center;gap:12px} #hos .fam-d>summary::-webkit-details-marker{display:none}
#hos .fam-d>summary .fn{font-size:14px;font-weight:600} #hos .fam-d>summary .fc{font-family:var(--fm);font-size:11px;color:var(--ink-3)} #hos .fam-d .fmis{font-size:12px;color:var(--ink-3);padding:0 calc(var(--bl)*2) 6px}
#hos .role{display:grid;grid-template-columns:54px 1fr;gap:10px;padding:6px calc(var(--bl)*2);border-top:1px solid var(--line-2);font-size:12px} #hos .role .rc{font-family:var(--fm);font-weight:600;color:var(--or)} #hos .role b{color:var(--ink)} #hos .role .rm{color:var(--ink-3);display:block;margin-top:1px}
#hos .audit .a{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:12.5px} #hos .audit .a .cd{font-family:var(--fm);font-weight:600;color:var(--or)} #hos .audit .a b{color:var(--ink)} #hos .audit .a .mi{color:var(--ink-3);display:block;margin-top:2px}
#hos .doc .d{display:flex;gap:10px;align-items:baseline;padding:7px 0;border-bottom:1px solid var(--line-2);font-size:12.5px} #hos .doc .d .st{font-family:var(--fm);font-size:9px;text-transform:uppercase;padding:1px 6px;border-radius:3px;flex:none} #hos .doc .d .st.cable{color:var(--ok);background:var(--ok-bg)} #hos .doc .d .st.a{color:var(--p1);background:var(--p1-bg)} #hos .doc .d b{color:var(--ink)} #hos .doc .d .sc{color:var(--ink-3);display:block;margin-top:1px}
#hos .filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:calc(var(--bl)*3)}
#hos .chip{font-size:12px;cursor:pointer;user-select:none;background:var(--panel);color:var(--ink-2);border:1px solid var(--line);padding:6px 12px;border-radius:100px;display:inline-flex;gap:7px;align-items:center}
#hos .chip:hover{color:var(--ink);border-color:var(--ink-3)} #hos .chip.on{background:var(--navy-soft);border-color:var(--navy);color:var(--ink)} #hos .chip .n{font-family:var(--fm);font-size:11px;color:var(--ink-3)} #hos .chip.on .n{color:var(--navy)}
#hos .search{flex:1;min-width:170px;background:var(--panel);border:1px solid var(--line);color:var(--ink);border-radius:var(--r);padding:8px 12px;font-family:var(--ff);font-size:13px} #hos .search::placeholder{color:var(--ink-3)} #hos .search:focus{outline:2px solid var(--navy);outline-offset:1px}
#hos .tool-btn{font-size:12px;cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--ink-2);padding:7px 12px;border-radius:var(--r)} #hos .tool-btn:hover{color:var(--ink);border-color:var(--navy)}
#hos .proj{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);margin-bottom:calc(var(--bl)*1.5);overflow:hidden} #hos .proj:hover{border-color:var(--ink-3)} #hos .proj.hidden{display:none}
#hos .p-head{display:grid;grid-template-columns:1fr auto;gap:16px;padding:calc(var(--bl)*2) calc(var(--bl)*2.5);cursor:pointer;align-items:start}
#hos .p-title{display:flex;flex-direction:column;gap:5px;min-width:0} #hos .p-title .l1{display:flex;align-items:center;gap:10px;flex-wrap:wrap} #hos .p-title h3{margin:0;font-size:16px;font-weight:600} #hos .p-title .l2{font-size:13px;color:var(--ink-2)}
#hos .badge{font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:100px;border:1px solid var(--line);color:var(--ink-3);white-space:nowrap}
#hos .badge.actif{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:var(--ok-bg)} #hos .badge.attente{color:var(--p1);border-color:color-mix(in srgb,var(--p1) 40%,transparent);background:var(--p1-bg)}
#hos .badge.pilote{color:var(--navy);border-color:color-mix(in srgb,var(--navy) 40%,transparent);background:var(--navy-soft)} #hos .badge.concept{color:var(--ink-3)} #hos .badge.sphere{color:var(--ink-2)} #hos .badge.nat{color:var(--or);border-color:color-mix(in srgb,var(--or) 35%,transparent)}
#hos .p-meta{display:flex;flex-direction:column;align-items:flex-end;gap:7px;text-align:right} #hos .matur{display:flex;align-items:center;gap:10px} #hos .matur .lbl{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3)}
#hos .matur .pct{font-family:var(--fm);font-size:13px;font-weight:600;min-width:34px;text-align:right} #hos .matur .track{width:70px;height:6px;background:var(--bg-2);border-radius:3px;overflow:hidden} #hos .matur .track i{display:block;height:100%;border-radius:3px}
#hos .p-counts{display:flex;gap:7px;font-family:var(--fm);font-size:11px;align-items:center} #hos .p-counts .c{padding:2px 7px;border-radius:100px;border:1px solid var(--line);color:var(--ink-3)} #hos .p-counts .c.has-p0{color:var(--p0);border-color:color-mix(in srgb,var(--p0) 40%,transparent);background:var(--p0-bg)} #hos .p-counts .c.has-r{color:var(--p1);border-color:color-mix(in srgb,var(--p1) 40%,transparent);background:var(--p1-bg)}
#hos .chev{color:var(--ink-3);font-family:var(--fm);font-size:11px} #hos .proj.open .chev{transform:rotate(90deg)}
#hos .p-body{display:none;padding:0 calc(var(--bl)*2.5) calc(var(--bl)*2.5);border-top:1px solid var(--line-2)} #hos .proj.open .p-body{display:block}
#hos .launch{display:flex;align-items:center;gap:10px;margin-top:calc(var(--bl)*2.5);padding:calc(var(--bl)*1.5) calc(var(--bl)*2);background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r)}
#hos .pastille{width:9px;height:9px;border-radius:50%;flex:none} #hos .pastille.vert{background:var(--vert)} #hos .pastille.orange{background:var(--orange)} #hos .pastille.rouge{background:var(--rouge)}
#hos .open-btn{font-size:12.5px;font-weight:500;color:var(--navy);text-decoration:none;border:1px solid color-mix(in srgb,var(--navy) 40%,transparent);background:var(--navy-soft);padding:5px 11px;border-radius:var(--r);cursor:pointer} #hos .open-btn:hover{border-color:var(--navy)}
#hos .open-btn.off{color:var(--ink-3);border-color:var(--line);background:transparent;cursor:not-allowed}
#hos .launch .cs-mode{font-family:var(--fm);font-size:10px;color:var(--ink-3);margin-left:auto}
#hos .p-grid{display:grid;grid-template-columns:1fr 1fr;gap:calc(var(--bl)*3);margin-top:calc(var(--bl)*2.5)} @media(max-width:760px){#hos .p-grid{grid-template-columns:1fr}}
#hos .block .li.done .m{background:var(--ok)} #hos .block .li.warn .m{background:var(--p1)} #hos .block .li.act .m{background:var(--navy)} #hos .block .li .tag{flex:none;margin-top:1px}
#hos .gate{display:flex;gap:8px;align-items:baseline;padding:5px 0;font-size:12.5px;color:var(--ink-2)} #hos .gate .s{font-family:var(--fm);font-size:9px;text-transform:uppercase;padding:1px 6px;border-radius:3px;flex:none} #hos .gate .s.ouvert{color:var(--p1);background:var(--p1-bg)} #hos .gate .s.leve{color:var(--ok);background:var(--ok-bg)}
#hos .p-foot{display:flex;flex-wrap:wrap;gap:18px;margin-top:calc(var(--bl)*3);padding-top:calc(var(--bl)*2);border-top:1px solid var(--line-2);font-size:12px;color:var(--ink-3)} #hos .p-foot b{color:var(--ink-2);font-weight:500} #hos .p-foot .mono{color:var(--ink-2)} #hos .p-foot a{color:var(--navy);text-decoration:none}
#hos .flist .fitem{display:grid;grid-template-columns:auto 130px 1fr;gap:14px;align-items:start;padding:calc(var(--bl)*1.5) 0;border-bottom:1px solid var(--line-2);font-size:13px} #hos .flist .fitem:last-child{border-bottom:none}
#hos .flist .pr{font-family:var(--fm);font-size:10px;font-weight:700;padding:2px 7px;border-radius:3px;justify-self:start} #hos .flist .pj{color:var(--ink-3);font-size:12px;font-family:var(--fm)} #hos .flist .tx{color:var(--ink-2);line-height:1.45}
#hos .timeline .ph{display:flex;gap:12px;padding:8px 0;font-size:13px;color:var(--ink-2);border-bottom:1px solid var(--line-2)} #hos .timeline .ph:last-child{border-bottom:none} #hos .timeline .ph .q{font-family:var(--fm);font-size:11px;color:var(--or);flex:none;width:64px;font-weight:600}
#hos .dec{display:flex;gap:10px;padding:6px 0;font-size:13px;color:var(--ink-2)} #hos .dec .m{flex:none;margin-top:7px;width:5px;height:5px;background:var(--navy);transform:rotate(45deg)}
#hos .panel .etat{font-size:13px;color:var(--ink-2);margin:0 0 calc(var(--bl)*2);line-height:1.5}
#hos footer{max-width:var(--maxw);margin:0 auto;padding:calc(var(--bl)*4) calc(var(--bl)*3);border-top:1px solid var(--line);color:var(--ink-3);font-size:12px;display:flex;gap:18px;flex-wrap:wrap}
#hos .tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:50;background:color-mix(in srgb,var(--bg) 96%,transparent);border-top:1px solid var(--line);grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom)}
#hos .tabbar .tb{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0 12px;font-size:9.5px;color:var(--ink-3);background:none;border:none;cursor:pointer;min-height:56px}
#hos .tabbar .tb svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.6} #hos .tabbar .tb.on{color:var(--or);box-shadow:inset 0 2px 0 var(--or)}
#hos .palette{display:none;position:fixed;inset:0;z-index:60;background:rgba(5,8,14,.55);align-items:flex-start;justify-content:center;padding-top:12vh}
#hos .palette.on{display:flex}
#hos .pal{width:min(560px,92vw);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5)}
#hos .pal input{width:100%;border:none;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);font-family:var(--ff);font-size:15px;padding:14px 16px} #hos .pal input:focus{outline:none}
#hos .pal-list{max-height:50vh;overflow:auto} #hos .pal-it{display:flex;align-items:center;gap:10px;padding:9px 16px;font-size:13px;color:var(--ink-2);cursor:pointer} #hos .pal-it.sel,#hos .pal-it:hover{background:var(--panel-2);color:var(--ink)}
#hos .pal-it .k{font-family:var(--fm);font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);border:1px solid var(--line);border-radius:3px;padding:1px 6px;flex:none}
#hos .pal-it .pastille{margin-left:auto}
#hos .cgrp{margin-bottom:calc(var(--bl)*3)}
#hos .crow{display:flex;align-items:center;gap:12px;padding:calc(var(--bl)*1.5) 0;border-bottom:1px solid var(--line-2)}
#hos .crow .ci{flex:1;min-width:0} #hos .crow .ci b{font-size:13.5px;color:var(--ink)} #hos .crow .ci .cm{display:block;font-family:var(--fm);font-size:10px;color:var(--ink-3);margin-top:2px}
#hos .stepup{display:none;position:fixed;inset:0;z-index:70;background:rgba(5,8,14,.6);align-items:center;justify-content:center;padding:16px} #hos .stepup.on{display:flex}
#hos .su{width:min(440px,94vw);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:calc(var(--bl)*3);box-shadow:0 24px 70px rgba(0,0,0,.55)}
#hos .su h3{margin:0 0 4px;font-size:16px;font-weight:600} #hos .su .sub2{font-size:12px;color:var(--ink-3);margin-bottom:calc(var(--bl)*2)}
#hos .su .tgt{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:calc(var(--bl)*1.5) calc(var(--bl)*2);margin-bottom:calc(var(--bl)*2)} #hos .su .tgt b{font-size:13px} #hos .su .tgt .tm{font-family:var(--fm);font-size:10px;color:var(--ink-3)}
#hos .su .lk{font-size:12px;color:var(--ink-2);display:flex;gap:8px;align-items:center;margin-bottom:calc(var(--bl)*1.5)} #hos .su .lk svg{width:14px;height:14px;stroke:var(--vert);fill:none;stroke-width:1.8;flex:none}
#hos .su .demo{font-size:11px;color:var(--p1);background:var(--p1-bg);border-radius:var(--r);padding:8px 10px;margin-bottom:calc(var(--bl)*2)}
#hos .su .yk{width:100%;cursor:pointer;background:var(--navy-soft);border:1px solid color-mix(in srgb,var(--navy) 40%,transparent);color:var(--ink);border-radius:var(--r);padding:12px;font-family:var(--ff);font-size:13px;display:flex;gap:10px;align-items:center;justify-content:center}
#hos .su .yk.ok{border-color:var(--vert);color:var(--vert);background:var(--ok-bg);cursor:default} #hos .su .yk.wait{opacity:.7;cursor:wait}
#hos .su .yk .dot{width:10px;height:10px;border-radius:50%;background:var(--navy)} #hos .su .yk.ok .dot{background:var(--vert)}
#hos .su .cf{width:100%;margin-top:calc(var(--bl)*1.5);background:var(--bg-2);border:1px solid var(--line);color:var(--ink);border-radius:var(--r);padding:10px 12px;font-family:var(--fm);font-size:13px} #hos .su .cf:focus{outline:2px solid var(--navy)}
#hos .su .act{display:flex;gap:10px;margin-top:calc(var(--bl)*2.5)}
#hos .su .go{flex:1;cursor:pointer;background:var(--vert);border:none;color:#06231a;font-weight:600;border-radius:var(--r);padding:11px;font-family:var(--ff);font-size:13px} #hos .su .go[disabled]{opacity:.4;cursor:not-allowed;background:var(--ink-3)}
#hos .su .cx{cursor:pointer;background:transparent;border:1px solid var(--line);color:var(--ink-2);border-radius:var(--r);padding:11px 16px;font-family:var(--ff);font-size:13px}
#hos #cframe .cf-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:calc(var(--bl)*1.5);padding-bottom:calc(var(--bl)*1.5);border-bottom:1px solid var(--line)}
#hos #cframe .cf-bar .back{cursor:pointer;background:var(--panel);border:1px solid var(--line);color:var(--ink-2);border-radius:var(--r);padding:8px 13px;font-family:var(--ff);font-size:13px} #hos #cframe .cf-bar .back:hover{border-color:var(--navy);color:var(--ink)}
#hos #cframe .cf-bar .cfn{font-size:14px;font-weight:600;color:var(--ink)} #hos #cframe .cf-bar .cv-host{font-size:11px;color:var(--ink-3);font-family:var(--fm)}
#hos .cf-resume{font-size:14px;color:var(--ink-2);max-width:74ch;margin:0 0 calc(var(--bl)*3)}
#hos .cf-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:calc(var(--bl)*3)}
#hos .cf-kpi{background:var(--panel);padding:calc(var(--bl)*2)} #hos .cf-kpi .v{font-family:var(--fm);font-size:18px;font-weight:600;color:var(--ink);line-height:1.2} #hos .cf-kpi .l{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);margin-top:6px}
#hos .cf-mods{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:calc(var(--bl)*2);align-items:start}
#hos .cf-mod{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:calc(var(--bl)*2.5)}
#hos .cf-mod h4{margin:0 0 4px;font-size:14px;font-weight:600} #hos .cf-mod .md{font-size:12px;color:var(--ink-3);margin-bottom:calc(var(--bl)*1.5);line-height:1.45}
#hos .cf-act{display:flex;align-items:center;gap:9px;width:100%;text-align:left;cursor:pointer;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:9px 11px;margin-top:6px;font-family:var(--ff);font-size:12.5px;color:var(--ink-2)}
#hos .cf-act:hover{border-color:var(--navy);color:var(--ink)} #hos .cf-act .sd{width:8px;height:8px;border-radius:50%;flex:none} #hos .cf-act .sd.lecture{background:var(--vert)} #hos .cf-act .sd.config{background:var(--orange)} #hos .cf-act .sd.critique{background:var(--rouge)}
#hos .cf-act.arm{border-color:var(--rouge);color:var(--rouge);background:var(--p0-bg)}
#hos .cf-result{display:none;position:sticky;bottom:calc(var(--bl)*1.5);margin-top:calc(var(--bl)*2);background:var(--ok-bg);border:1px solid color-mix(in srgb,var(--ok) 45%,transparent);color:var(--ink);border-radius:var(--r);padding:10px 14px;font-size:12.5px}
#hos.view-home nav.toc{display:none} #hos.view-home .wrap{grid-template-columns:1fr}
#hos.view-detail nav.toc{display:block}
#hos.narrow nav.toc{display:none!important} #hos.narrow main{padding-bottom:92px} #hos.narrow .tabbar{display:grid} #hos.narrow .wrap{grid-template-columns:1fr}
@media(max-width:920px){#hos .wrap{grid-template-columns:1fr}}
@media print{#hos .top,#hos nav.toc,#hos .filters,#hos .hbtn,#hos .tool-btn,#hos .tabbar,#hos .palette,#hos .backbar{display:none!important} #hos .wrap{grid-template-columns:1fr;max-width:none} #hos #home{display:none!important} #hos main>section{display:block!important} #hos .proj .p-body,#hos details{display:block!important}}
