/* Obsidian (direction retenue par l'opérateur le 1er novembre) : une salle de contrôle la nuit, et sa variante de jour.
   Chargée en dernier, cette feuille impose les jetons et les formes sur les classes existantes ; elle ne change ni les
   routes ni les gestes. Sombre par défaut ; `[data-theme=light]` garde la même identité sur fond de papier. */
:root,[data-theme=light]{
 --bg:#f3f4f9;--surface:#ffffff;--soft:#eef0f6;--hover:#e6e9f2;
 --ink:#0f1220;--sub:#4a5168;--muted:#7b8299;--line:#e3e6ef;--line-strong:#cfd4e2;
 --accent:#5558e6;--accent-hover:#4447d1;--accent-soft:#ebecff;--accent-faint:#f5f5ff;--accent-glow:rgba(85,88,230,.22);
 --red:#cf3447;--red-bg:#fdeaed;--amber:#a8700a;--amber-bg:#fff3d9;--green:#188058;--green-bg:#e3f6ec;--blue:#2c66dc;--blue-bg:#e8efff;
 --shadow:0 1px 2px rgba(15,18,32,.04),0 10px 30px rgba(15,18,32,.07);--elevated:0 30px 90px rgba(15,18,32,.22);
 --glass:#ffffff;--primary-grad:linear-gradient(180deg,#6468f0,#4f52dd);--primary-ink:#ffffff;
 --nav-bg:#ffffff;--nav-ink:#0f1220;--nav-muted:#7b8299;--nav-line:#e3e6ef;
 --font:'Inter Tight',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Consolas,monospace;
 --radius:12px;color-scheme:light;
}
[data-theme=dark]{
 --bg:#0a0c13;--surface:#11141f;--soft:#171b29;--hover:#1d2233;
 --ink:#eef1f8;--sub:#aab1c4;--muted:#6f778c;--line:rgba(255,255,255,.07);--line-strong:rgba(255,255,255,.14);
 --accent:#8b91ff;--accent-hover:#a3a8ff;--accent-soft:rgba(139,145,255,.14);--accent-faint:rgba(139,145,255,.07);--accent-glow:rgba(139,145,255,.35);
 --red:#ff6b7a;--red-bg:rgba(255,107,122,.12);--amber:#f5c26b;--amber-bg:rgba(245,194,107,.12);--green:#5fd4a4;--green-bg:rgba(95,212,164,.12);--blue:#6fb1ff;--blue-bg:rgba(111,177,255,.12);
 --shadow:0 1px 0 rgba(255,255,255,.04) inset,0 10px 30px rgba(0,0,0,.35);--elevated:0 40px 120px rgba(0,0,0,.7);
 --glass:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));--primary-grad:linear-gradient(180deg,#9aa0ff,#7a80f0);--primary-ink:#0a0c13;
 --nav-bg:#0d1019;--nav-ink:#eef1f8;--nav-muted:#6f778c;--nav-line:rgba(255,255,255,.07);
 color-scheme:dark;
}

/* ---- Formes communes aux deux thèmes ---- */
body{font-size:13.5px;letter-spacing:-.1px;background:radial-gradient(1200px 600px at 70% -10%,var(--accent-faint),transparent 60%),var(--bg)}
h1,.pagehead h1{font-weight:600;letter-spacing:-1px}
.pagehead h1{font-size:30px;line-height:1.15}
.pagehead p{font-size:13.5px;color:var(--sub)}
h2,.sectionhead h2{font-weight:600;letter-spacing:-.3px}
.eyebrow{display:none}
.homegreeting .greeting,.greeting{font-size:clamp(24px,3vw,34px);font-weight:600;letter-spacing:-1.2px;color:var(--ink)}
.btn{min-height:36px;padding:8px 13px;border-radius:9px;font-size:12px;font-weight:600;border-color:var(--line-strong);background:var(--surface);box-shadow:0 1px 2px rgba(15,18,32,.04)}
.btn:hover{background:var(--soft)}
.btn.sm{min-height:31px;padding:5px 10px;font-size:11.5px;border-radius:8px}
.btn.primary,.sidebar .newmission{background:var(--primary-grad);color:var(--primary-ink);border-color:transparent;box-shadow:0 8px 22px var(--accent-glow),inset 0 1px 0 rgba(255,255,255,.28)}
.btn.primary:hover,.sidebar .newmission:hover{filter:brightness(1.06);background:var(--primary-grad)}
.btn.soft{background:var(--accent-soft);color:var(--accent);border-color:transparent;box-shadow:none}
.btn.danger{background:var(--red-bg);color:var(--red);border-color:transparent;box-shadow:none}
.newmission kbd{color:var(--primary-ink);border-color:currentColor;background:transparent;opacity:.75}
.badge{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:600}
.badge.outline{border-color:var(--line-strong)}
.box,.listbox,.stat,.decisioncard,.monitoringcard,.homewidget,.settingsection{border-radius:var(--radius);border-color:var(--line);background:var(--glass);box-shadow:var(--shadow)}
.listbox{background:var(--surface)}
.iconbox{border-radius:10px;border-color:var(--line)}
.input,input[type=text],input[type=search],input[type=email],input[type=password],input[type=url],input[type=number],input[type=datetime-local],textarea,select{border-radius:9px;font-size:13.5px;background:var(--surface)}
.input:focus,input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.note{border-radius:10px;font-size:12.5px}
.remark{border-radius:10px;background:var(--glass);border:1px solid var(--line);border-left:3px solid var(--amber);font-size:12.5px;color:var(--sub);padding:11px 14px}
.remark strong{color:var(--ink);font-size:13.5px}
.remarks{gap:8px}
.textbtn{font-size:12.5px;font-weight:600}
.count,.navcount{border-radius:999px;font-weight:600}
kbd{font-family:var(--mono);border-radius:5px;background:var(--surface)}
.sectionhead .count{font-size:11px}
.empty h3{font-size:17px;letter-spacing:-.3px}
dialog{border-radius:14px;border-color:var(--line-strong);background:var(--surface);box-shadow:var(--elevated)}
dialog::backdrop{background:rgba(5,6,12,.5);backdrop-filter:blur(3px)}
.drawer{border-radius:14px}
.toast{border-radius:10px;font-weight:500}

/* Barre de gauche */
.sidebar{background:var(--nav-bg);border-right:1px solid var(--nav-line);color:var(--nav-ink)}
.brandrow .brandname,.sidebar .ezmot .e,.sidebar .ezmot .z{color:var(--nav-ink)}
.brandrow .brandmark{filter:drop-shadow(0 0 14px rgba(139,145,255,.55))}
.workspacepick{border-color:var(--nav-line);border-radius:10px;background:transparent}
.workspacepick:hover{background:var(--hover)}
.workspacepick strong{color:var(--nav-ink)}
.workspacepick small,.workspacepick>.ico{color:var(--nav-muted)}
.orgmark{border-radius:8px;background:var(--soft);color:var(--sub);border:1px solid var(--line)}
.navlabel{color:var(--nav-muted);font-size:10.5px;letter-spacing:.3px;text-transform:none;font-weight:600}
.navitem{border-radius:9px;color:var(--nav-muted);font-size:13px;font-weight:500;padding:8px 11px}
.navitem .ico{opacity:.9}
.navitem:hover{background:var(--hover);color:var(--nav-ink)}
.navitem.active{background:linear-gradient(90deg,var(--accent-soft),transparent);color:var(--accent);box-shadow:inset 2px 0 0 var(--accent);font-weight:600}
.navitem.active .ico{color:var(--accent)}
.navitem .navcount{background:var(--amber-bg);color:var(--amber)}
.sidebar .sidehelp{display:none}
.profile{border-top:1px solid var(--nav-line)}
.profile strong{color:var(--nav-ink)}
.profile small,.profile .ico{color:var(--nav-muted)}

/* Barre du haut, barre d'état */
.topbar{background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.breadcrumb .badge,.breadcrumb .env{background:var(--accent-soft);color:var(--accent);border-radius:7px}
.topsearch{border-radius:9px;border-color:var(--line-strong)}
.livebadge{border-radius:8px;font-size:12px}
.statusbar{background:var(--surface);font-size:11.5px}

/* ---- Sombre : la lumière vient des états ---- */
[data-theme=dark] body{background:radial-gradient(1200px 600px at 70% -10%,rgba(139,145,255,.12),transparent 60%),var(--bg)}
[data-theme=dark] .sidebar{background:linear-gradient(180deg,#0f1220,#0a0c13)}
[data-theme=dark] .topbar{background:rgba(17,20,31,.6)}
[data-theme=dark] .btn{background:rgba(255,255,255,.04);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
[data-theme=dark] .btn:hover{background:rgba(255,255,255,.08)}
[data-theme=dark] .btn.primary,[data-theme=dark] .sidebar .newmission{background:var(--primary-grad);box-shadow:0 8px 24px rgba(139,145,255,.28),inset 0 1px 0 rgba(255,255,255,.3)}
[data-theme=dark] .btn.soft{background:var(--accent-soft);box-shadow:none}
[data-theme=dark] .btn.danger{background:var(--red-bg);box-shadow:none}
[data-theme=dark] .listbox,[data-theme=dark] dialog{background:#11141f}
[data-theme=dark] .navitem.active{background:linear-gradient(90deg,rgba(139,145,255,.18),transparent)}
[data-theme=dark] .iconbox{background:rgba(255,255,255,.04)}
[data-theme=dark] .iconbox.green{background:var(--green-bg)}
[data-theme=dark] .livebadge .dot,[data-theme=dark] .livebadge i{box-shadow:0 0 10px currentColor}
[data-theme=dark] .progress>span{box-shadow:0 0 10px var(--accent)}
[data-theme=dark] .remark{border-left-color:var(--amber);box-shadow:none}
[data-theme=dark] .remark.fixable{border-left-color:var(--red)}
[data-theme=dark] .toaststack .toast{background:#fff;color:#0a0c13}
[data-theme=dark] .statusbar{background:#0d1019}
[data-theme=dark] .g-page{background:transparent}

/* Mission (web/generalist.css) : la barre de droite simple du 30/10 reste, dans le même monde. */
.g-page .g-bouton,.g-page .btn{border-radius:9px}

/* ISO 27001 */
.iso .iso-etape.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-glow)}
.iso .iso-tag{border-radius:999px}

/* ---- Aujourd'hui : une phrase, en ce moment, les machines une fois, une seule file (01/11) ---- */
.page.accueil{max-width:1080px}
.ac-when{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:12.5px;margin-bottom:10px;flex-wrap:wrap}
.ac-when i{width:4px;height:4px;border-radius:50%;background:var(--line-strong)}
.ac-say{margin:0 0 34px;font-size:clamp(24px,3.2vw,38px);line-height:1.22;letter-spacing:-1.4px;font-weight:600;max-width:30ch;text-wrap:balance}
.ac-say .calm{color:var(--muted);font-weight:500}
.ac-num{font:inherit;font-weight:650;color:var(--ink);padding:0;border:0;background:none;cursor:pointer;letter-spacing:inherit;border-bottom:2px solid var(--accent-glow);line-height:1}
.ac-num:hover{border-bottom-color:var(--accent)}
.ac-num.red{color:var(--red);border-bottom-color:transparent}.ac-num.amber{color:var(--amber);border-bottom-color:transparent}
[data-theme=dark] .ac-num{color:#fff;text-shadow:0 0 24px rgba(255,255,255,.25);border-bottom:0}
[data-theme=dark] .ac-num.red{color:var(--red);text-shadow:0 0 28px rgba(255,107,122,.45)}
[data-theme=dark] .ac-num.amber{color:var(--amber);text-shadow:0 0 28px rgba(245,194,107,.4)}
.ac-section{margin-bottom:34px}
.ac-section .sectionhead{justify-content:flex-start;align-items:baseline;gap:12px;margin-bottom:12px}
.ac-section .sectionhead .textbtn{margin-left:auto}
.ac-n{color:var(--muted);font-size:12.5px}
.ac-nowwrap{display:grid;gap:8px}
.ac-now{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-radius:var(--radius);background:var(--glass);border:1px solid var(--line-strong);border-left:3px solid var(--accent);box-shadow:var(--shadow)}
.ac-now.wait{border-left-color:var(--amber)}
.ac-now strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.ac-now p{margin:3px 0 0;font-size:12.5px;color:var(--sub)}
.ac-meta{font-size:11.5px;color:var(--muted);margin-top:6px}
.ac-pulse{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent-glow);animation:acpulse 1.8s ease-out infinite}
.ac-pulse.amber{background:var(--amber);animation:none;box-shadow:0 0 0 4px var(--amber-bg)}
@keyframes acpulse{0%{box-shadow:0 0 0 0 var(--accent-glow)}70%{box-shadow:0 0 0 9px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.ac-pulse{animation:none;box-shadow:0 0 0 4px var(--accent-glow)}}
.ac-fleet{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:8px}
.ac-mach{text-align:left;padding:11px 12px;border-radius:10px;border:1px solid var(--line-strong);background:var(--glass);display:flex;flex-direction:column;gap:5px;min-width:0;box-shadow:var(--shadow);transition:border-color .12s}
.ac-mach:hover{border-color:var(--accent)}
.ac-mach[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}
.ac-nm{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px;min-width:0;color:var(--ink)}
.ac-nm span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ac-dot{width:8px;height:8px;border-radius:50%;flex:none;display:inline-block;background:var(--green);box-shadow:0 0 10px var(--green)}
.ac-dot.red{background:var(--red);box-shadow:0 0 12px var(--red)}.ac-dot.amber{background:var(--amber);box-shadow:0 0 12px var(--amber)}.ac-dot.off{background:var(--line-strong);box-shadow:none}
[data-theme=light] .ac-dot{box-shadow:0 0 0 3px var(--green-bg)}[data-theme=light] .ac-dot.red{box-shadow:0 0 0 3px var(--red-bg)}[data-theme=light] .ac-dot.amber{box-shadow:0 0 0 3px var(--amber-bg)}[data-theme=light] .ac-dot.off{box-shadow:none}
.ac-ip{color:var(--muted);font:11.5px var(--mono)}
.ac-st{font-size:12px;color:var(--sub)}
.ac-st.red{color:var(--red)}.ac-st.amber{color:var(--amber)}.ac-st.ok{color:var(--green)}.ac-st.off{color:var(--muted)}
.ac-legend{display:flex;gap:14px;margin-top:10px;font-size:12px;color:var(--muted);flex-wrap:wrap}
.ac-legend span{display:inline-flex;align-items:center;gap:6px}
.ac-legend .ac-dot{box-shadow:none}
.ac-filters{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px}
.ac-f{height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--sub);border:1px solid transparent;display:inline-flex;align-items:center;gap:6px}
.ac-f:hover{background:var(--hover)}
.ac-f[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
[data-theme=dark] .ac-f[aria-pressed=true]{background:#fff;color:#0a0c13;border-color:#fff}
.ac-f i{width:7px;height:7px;border-radius:50%;display:inline-block}
.ac-f i.red{background:var(--red)}.ac-f i.amber{background:var(--amber)}.ac-f i.blue{background:var(--blue)}.ac-f i.acc{background:var(--accent)}
.ac-f .ico{width:13px;height:13px}
.ac-seg{display:inline-flex;border:1px solid var(--line-strong);border-radius:8px;padding:2px;background:var(--glass);margin-left:auto}
.ac-seg button{height:26px;padding:0 10px;border-radius:6px;font-size:12px;font-weight:600;color:var(--sub)}
.ac-seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
[data-theme=dark] .ac-seg button[aria-pressed=true]{background:#fff;color:#0a0c13}
.ac-queue{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.ac-grp{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--soft);border-bottom:1px solid var(--line);font-size:12.5px;font-weight:600;color:var(--sub)}
[data-theme=dark] .ac-grp{background:rgba(255,255,255,.03)}
.ac-grp .ac-n{font-weight:500}
.ac-grp .btn{margin-left:auto}
.ac-grp .ico{width:14px;height:14px}
.ac-ligne{display:grid;grid-template-columns:3px minmax(0,1fr) auto;border-bottom:1px solid var(--line);position:relative}
.ac-ligne:last-child{border-bottom:0}
.ac-ligne>i{background:var(--line-strong)}
.ac-ligne.haute>i{background:var(--red)}.ac-ligne.moyenne>i,.ac-ligne.accord>i{background:var(--amber)}.ac-ligne.basse>i{background:var(--blue)}.ac-ligne.reco>i{background:var(--accent)}
[data-theme=dark] .ac-ligne>i{box-shadow:0 0 14px currentColor;color:transparent}
[data-theme=dark] .ac-ligne.haute>i{color:var(--red)}[data-theme=dark] .ac-ligne.moyenne>i,[data-theme=dark] .ac-ligne.accord>i{color:var(--amber)}[data-theme=dark] .ac-ligne.basse>i{color:var(--blue)}[data-theme=dark] .ac-ligne.reco>i{color:var(--accent)}
.ac-main{padding:13px 16px 13px 18px;text-align:left;display:grid;gap:3px;min-width:0;width:100%}
/* 02/11 (opérateur, Surveillance en prod : « les boutons, le blanc vide… ») : une ligne ouverte se peint EN ENTIER —
   avant, seuls le texte et le détail passaient en gris, la colonne des boutons gardait le blanc de la carte. */
.ac-main:hover{background:var(--soft)}
.ac-ligne.open{background:var(--soft)}
[data-theme=dark] .ac-main:hover{background:rgba(255,255,255,.03)}
[data-theme=dark] .ac-ligne.open{background:rgba(255,255,255,.03)}
.ac-main h3{margin:0;font-size:13.5px;font-weight:600;line-height:1.35;color:var(--ink)}
.ac-sub{font-size:12.5px;color:var(--sub);display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.ac-tag{font-weight:600}
.ac-ligne.haute .ac-tag{color:var(--red)}.ac-ligne.moyenne .ac-tag,.ac-ligne.accord .ac-tag{color:var(--amber)}.ac-ligne.basse .ac-tag{color:var(--blue)}.ac-ligne.reco .ac-tag{color:var(--accent)}
.ac-m{display:inline-flex;align-items:center;gap:5px}
.ac-m .ico{width:13px;height:13px;color:var(--muted)}
.ac-acts{display:flex;align-items:center;gap:6px;padding:0 12px 0 8px;flex-wrap:wrap;justify-content:flex-end}
.ac-acts .sans-mission,.ac-acts .correction-en-cours{font-size:11.5px;color:var(--muted);max-width:260px;text-align:right}
.ac-more{display:none;grid-column:2/4;padding:12px 16px 16px 18px;color:var(--sub);font-size:13px;line-height:1.55;border-top:1px dashed var(--line);background:var(--soft)}
[data-theme=dark] .ac-more{background:rgba(255,255,255,.03)}
.ac-ligne.open .ac-more{display:block}
/* 02/11 : un geste long (« ce qu'il vous reste à faire », phrase sans mission, correction en cours) va SOUS la rangée,
   pleine largeur, au lieu d'écraser le titre dans la colonne des boutons (constat « Backups » d'aljomhour en prod). */
.ac-reste{grid-column:2/4;padding:0 16px 14px 18px;font-size:13px;line-height:1.5;color:var(--sub)}
.ac-reste .reste-a-faire p{margin:0 0 6px}
.ac-reste .reste-a-faire ul{margin:0;padding-left:18px}
.ac-reste .reste-a-faire li{margin:4px 0}
.ac-reste .reste-a-faire li.fait{color:var(--muted)}
.ac-reste .btn{vertical-align:middle;margin-left:6px}
.ac-reste .sans-mission,.ac-reste .correction-en-cours{display:block}
.ac-more p{margin:0;max-width:76ch}
.ac-showmore{width:100%;padding:12px;text-align:center;font-size:12.5px;font-weight:600;color:var(--accent);border-top:1px solid var(--line)}
.ac-showmore:hover{background:var(--soft)}
.ac-none{padding:36px 20px;text-align:center;color:var(--sub);font-size:13.5px}
.ac-none strong{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
@media (max-width:860px){
 .ac-ligne{grid-template-columns:3px minmax(0,1fr)}
 .ac-acts{grid-column:2;padding:0 16px 12px 18px;justify-content:flex-start}
 .ac-more{grid-column:2}
 .ac-now{grid-template-columns:auto minmax(0,1fr)}
 .ac-now .ac-acts{grid-column:2;justify-content:flex-start;padding:0}
 .ac-seg{margin-left:0}
}

/* ---- La même file sur Missions : trois groupes, une ligne par mission (01/11) ---- */
.ac-ligne.cours>i{background:var(--accent)}.ac-ligne.fini>i{background:var(--green)}.ac-ligne.off>i{background:var(--line-strong)}
[data-theme=dark] .ac-ligne.cours>i{color:var(--accent)}[data-theme=dark] .ac-ligne.fini>i{color:var(--green)}[data-theme=dark] .ac-ligne.off>i{box-shadow:none}
.ac-ligne.cours .ac-tag{color:var(--accent)}.ac-ligne.fini .ac-tag{color:var(--green)}.ac-ligne.off .ac-tag{color:var(--muted)}
.ac-phrase{color:var(--muted)}
.ac-num-static{font-weight:650;color:var(--ink)}
.ac-num-static.red{color:var(--red)}.ac-num-static.amber{color:var(--amber)}.ac-num-static.green{color:var(--green)}
[data-theme=dark] .ac-num-static{color:#fff;text-shadow:0 0 24px rgba(255,255,255,.25)}
[data-theme=dark] .ac-num-static.red{color:var(--red);text-shadow:0 0 28px rgba(255,107,122,.45)}
[data-theme=dark] .ac-num-static.amber{color:var(--amber);text-shadow:0 0 28px rgba(245,194,107,.4)}
[data-theme=dark] .ac-num-static.green{color:var(--green);text-shadow:0 0 28px rgba(95,212,164,.4)}
.ac-main h3 .g-refs{margin-right:8px}
.g-tableau-outils{margin-bottom:12px}
.g-tableau-outils input[type=search]{max-width:360px}

/* ---- Machines : une ligne par machine (01/11) ---- */
.mx-page{max-width:1220px}
.mx-head,.mx-ligne{display:grid;grid-template-columns:3px 28px minmax(0,1fr) 210px;align-items:center}
.mx-head{padding:9px 12px 9px 0;background:var(--soft);border-bottom:1px solid var(--line);font-size:11.5px;color:var(--muted);font-weight:600}
[data-theme=dark] .mx-head{background:rgba(255,255,255,.03)}
.mx-head .mx-main{padding:0 10px 0 6px;cursor:default}
.mx-head .mx-main:hover{background:transparent}
.mx-ligne{border-bottom:1px solid var(--line);position:relative}
.mx-ligne:last-child{border-bottom:0}
.mx-ligne>i{align-self:stretch;background:var(--line-strong)}
.mx-ligne.red>i{background:var(--red)}.mx-ligne.amber>i{background:var(--amber)}.mx-ligne.ok>i{background:var(--green)}.mx-ligne.acc>i{background:var(--accent)}.mx-ligne.off>i{background:var(--line-strong)}
[data-theme=dark] .mx-ligne>i{color:transparent;box-shadow:0 0 14px currentColor}
[data-theme=dark] .mx-ligne.red>i{color:var(--red)}[data-theme=dark] .mx-ligne.amber>i{color:var(--amber)}[data-theme=dark] .mx-ligne.ok>i{color:var(--green)}[data-theme=dark] .mx-ligne.acc>i{color:var(--accent)}[data-theme=dark] .mx-ligne.off>i{box-shadow:none}
.mx-ligne input[type=checkbox]{justify-self:center;margin:0}
.mx-main{display:grid;grid-template-columns:minmax(170px,1.3fr) minmax(150px,1fr) 180px minmax(130px,.9fr);gap:14px;align-items:center;text-align:left;padding:12px 10px 12px 6px;width:100%;min-width:0}
.mx-main:hover,.mx-ligne.open .mx-main{background:var(--soft)}
[data-theme=dark] .mx-main:hover,[data-theme=dark] .mx-ligne.open .mx-main{background:rgba(255,255,255,.03)}
.mx-nm{display:flex;align-items:center;gap:9px;min-width:0}
.mx-nm strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mx-nm small{display:block;color:var(--muted);font-size:11.5px}
.mx-sys{font-size:12.5px;color:var(--sub);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mx-sys small{display:block;color:var(--muted);font-size:11.5px;white-space:normal}
.mx-mini{display:grid;grid-template-columns:38px 1fr 38px;gap:3px 8px;align-items:center;font-size:11px;color:var(--muted)}
.mx-mini b{font-weight:600;color:var(--sub);text-align:right}
.mx-bar{height:3px;border-radius:3px;background:var(--soft);overflow:hidden;display:block}
[data-theme=dark] .mx-bar{background:rgba(255,255,255,.08)}
.mx-bar i{display:block;height:100%;background:var(--accent)}
.mx-bar.amber i{background:var(--amber)}.mx-bar.red i{background:var(--red)}
.mx-etat{font-size:12.5px;font-weight:600;color:var(--sub)}
.mx-etat small{display:block;font-weight:400;color:var(--muted);font-size:11.5px}
.mx-etat.red{color:var(--red)}.mx-etat.amber{color:var(--amber)}.mx-etat.ok{color:var(--green)}.mx-etat.acc{color:var(--accent)}.mx-etat.off{color:var(--muted)}
.mx-acts{display:flex;align-items:center;gap:6px;padding:0 12px 0 6px;flex-wrap:wrap;justify-content:flex-end}
.mx-more{display:none;grid-column:2/5;padding:6px 16px 16px 28px;border-top:1px dashed var(--line);background:var(--soft)}
[data-theme=dark] .mx-more{background:rgba(255,255,255,.03)}
.mx-ligne.open .mx-more{display:block}
.mx-more .remarks{margin-top:8px}
.ac-dot.acc{background:var(--accent);box-shadow:0 0 12px var(--accent)}
[data-theme=light] .ac-dot.acc{box-shadow:0 0 0 3px var(--accent-soft)}
@media (max-width:980px){
 .mx-main{grid-template-columns:minmax(0,1fr) minmax(110px,.8fr)}
 .mx-sys,.mx-mini,.mx-head .mx-main span:nth-child(2),.mx-head .mx-main span:nth-child(3){display:none}
 .mx-head,.mx-ligne{grid-template-columns:3px 28px minmax(0,1fr)}
 .mx-acts{grid-column:3;padding:0 12px 12px 6px;justify-content:flex-start}
 .mx-more{grid-column:2/4}
}

/* ---- Titres de page en phrase, ISO 27001 dans le même monde (01/11) ---- */
.ac-desc{font-size:13.5px;color:var(--sub);max-width:70ch;margin:0 0 6px}
.pagehead .ac-say{max-width:34ch}
.iso .iso-etapes{background:var(--glass);border:1px solid var(--line-strong);border-radius:var(--radius);padding:10px;box-shadow:var(--shadow)}
.iso .iso-etape{border-radius:9px;color:var(--sub)}
.iso .iso-etape:hover{background:var(--hover);color:var(--ink)}
.iso .iso-etape.on{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent-glow)}
.iso .iso-puce{border-radius:50%;background:var(--soft);color:var(--sub);font-weight:700}
.iso .iso-etape.faite .iso-puce{background:var(--green-bg);color:var(--green)}
.iso .iso-etape.on .iso-puce{background:var(--amber-bg);color:var(--amber)}
.iso .iso-bandeau{background:var(--glass);border:1px solid var(--line-strong);border-left:3px solid var(--amber);border-radius:var(--radius)}
.iso .iso-bandeau.calme{border-left-color:var(--green)}
.iso .iso-h{font-size:19px;letter-spacing:-.4px;font-weight:600}
.iso .iso-mesure-ligne{border-bottom:1px solid var(--line)}
.iso .iso-mesure-code{font-family:var(--mono);font-size:11.5px;color:var(--muted);min-width:44px}
.iso .iso-filtre{height:28px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:600;color:var(--sub)}
.iso .iso-filtre.on{background:var(--ink);color:var(--bg)}
[data-theme=dark] .iso .iso-filtre.on{background:#fff;color:#0a0c13}
.iso .iso-valide{border-radius:var(--radius)}
.iso .iso-carte div{border-radius:6px}

/* ---- Fiche machine : une page (01/11) ---- */
.ac-back{display:inline-flex;align-items:center;gap:4px;color:var(--accent);font-weight:600;font-size:12.5px}
.ac-back .ico{width:14px;height:14px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px;margin:0 0 28px}
.fact{padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--glass);box-shadow:var(--shadow)}
.fact small{display:block;font-size:11.5px;color:var(--muted);margin-bottom:4px}
.fact strong{font-size:18px;font-weight:600;letter-spacing:-.3px;color:var(--ink)}
.fact p{margin:6px 0 0;font-size:11.5px;color:var(--muted)}
.ac-bar{display:block;height:4px;border-radius:4px;background:var(--soft);overflow:hidden;margin-top:8px}
[data-theme=dark] .ac-bar{background:rgba(255,255,255,.08)}
.ac-bar i{display:block;height:100%;background:var(--accent);box-shadow:0 0 10px var(--accent)}
.ac-bar.amber i{background:var(--amber);box-shadow:0 0 10px var(--amber)}.ac-bar.red i{background:var(--red);box-shadow:0 0 10px var(--red)}
[data-theme=light] .ac-bar i{box-shadow:none}
.mx-page .remarks{margin-bottom:22px}
.mx-page .kv dt{color:var(--muted)}
.mx-page .set .it .kv{margin:0}

/* ---- Lignes de réglage et d'identité (fiche machine, Paramètres, pages de gouvernance) ---- */
.set{background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
[data-theme=dark] .set{background:var(--glass)}
.set .it{display:flex;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line)}
.set .it:last-child{border-bottom:0}
.set .it>.ico{width:18px;height:18px;color:var(--muted);flex:none}
.set .it strong{display:block;font-size:13.5px;font-weight:600;color:var(--ink)}
.set .it p{margin:2px 0 0;font-size:12.5px;color:var(--sub);max-width:70ch}
.set .it .right{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.mx-page .kv{grid-template-columns:160px minmax(0,1fr);gap:10px 16px;font-size:12.5px}
.mx-page .kv dd{text-align:left;margin:0}
.mx-page .kv ul{margin:0;padding-left:16px}
@media (max-width:860px){.set .it{flex-wrap:wrap}.set .it .right{margin-left:0}.mx-page .kv{grid-template-columns:minmax(0,1fr)}}

/* ---- Relecture du 01/11 : groupes de Missions sans l'ancien habillage de colonne, pastille grise ---- */
.ac-queue .g-colonne{background:transparent;border-radius:0;padding:0;min-height:0;display:block;gap:0}
.ac-f i.gris{background:var(--line-strong)}
.iso .iso-label{text-transform:none;letter-spacing:0;font-size:11.5px;color:var(--muted)}

/* ---- Barre de gauche : les mesures exactes du prototype validé (01/11) ---- */
.brandrow{height:72px;min-height:72px;padding:0 22px;gap:10px}
.brandrow .brandmark{width:30px}
.brandrow .brandname{font-size:19px;letter-spacing:-.6px}
.workspacepick{margin:0 14px 14px;padding:10px;border-radius:10px;gap:10px}
.workspacepick strong{font-size:12.5px;font-weight:600}
.workspacepick small{font-size:11px;margin-top:1px}
.orgmark{width:28px;height:28px;border-radius:7px;font-size:11px;font-weight:700}
.sidebar .newmission{margin:0 14px 18px;min-height:40px;height:40px;padding:0 12px;border-radius:8px;font-size:12.5px;font-weight:600;gap:8px}
.sidebar .newmission kbd{font-size:10.5px}
.navscroll{padding:0 10px}
.navgroup{margin:0}
.navlabel{margin:14px 12px 6px;padding:0}
.navitem{height:36px;padding:0 12px;margin:1px 0;gap:10px;border-radius:8px;line-height:36px}
.navitem .ico{width:17px;height:17px}
.navitem .navcount{min-width:20px;height:20px;line-height:20px;padding:0 6px;border-radius:6px;font-size:11px}
.profile{margin:8px 14px 0;padding:8px;border-top:0;border-radius:8px;gap:10px}
.profile:hover{background:var(--hover)}
.profile .avatar{width:30px;height:30px;font-size:11px;font-weight:700}
.profile strong{font-size:12.5px;font-weight:600}
.profile small{font-size:11px}
.profile>.ico{color:var(--nav-muted);width:15px;height:15px}
.sidebar{padding-bottom:12px}

/* ---- Page d'une mission : palette et police Obsidian (01/11) ----
   generalist.css définit ses propres jetons (clairs) sur .g-page et y remappe les jetons partagés
   (--bg:var(--fond)…). On redéfinit ici ses jetons de BASE avec les valeurs Obsidian, en littéral
   (pas de var() vers les jetons partagés, qui créerait une boucle avec ses remaps). Clair et sombre.
   Rien de structurel : toute la page mission prend la palette Obsidian. */
.g-page{
 --fond:#f3f4f9;--carte:#ffffff;--encre:#0f1220;--encre-2:#1a1f33;--doux:#4a5168;--pale:#7b8299;--icone:#7b8299;
 --filet:#e3e6ef;--filet-2:#eef0f6;--gris:#eef0f6;--gris-2:#e6e9f2;--vide:#cfd4e2;--code:#eef0f6;--repli:#f5f6fb;
 --accent-m:#5558e6;--accent-fond:#ebecff;--accent-fonce:#4447d1;--accent-halo:rgba(85,88,230,.22);--sur-accent:#ffffff;
 --succes:#188058;--succes-fond:#e3f6ec;--ecrit:#a8700a;--ecrit-fond:#fff3d9;--ecrit-marque:#c08a1a;--echec:#cf3447;--echec-fond:#fdeaed;
 --ombre-carte:0 1px 2px rgba(15,18,32,.05),0 12px 34px rgba(15,18,32,.08);
 --font:'Inter Tight',system-ui,-apple-system,'Segoe UI',sans-serif}
[data-theme=dark] .g-page{
 --fond:#0a0c13;--carte:#11141f;--encre:#eef1f8;--encre-2:#d6dcec;--doux:#aab1c4;--pale:#8089a0;--icone:#6f778c;
 --filet:rgba(255,255,255,.07);--filet-2:rgba(255,255,255,.045);--gris:#171b29;--gris-2:#1d2233;--vide:rgba(255,255,255,.14);--code:#141826;--repli:#13151f;
 --accent-m:#8b91ff;--accent-fond:rgba(139,145,255,.14);--accent-fonce:#a3a8ff;--accent-halo:rgba(139,145,255,.35);--sur-accent:#0a0c13;
 --succes:#5fd4a4;--succes-fond:rgba(95,212,164,.12);--ecrit:#f5c26b;--ecrit-fond:rgba(245,194,107,.12);--ecrit-marque:#f5c26b;--echec:#ff6b7a;--echec-fond:rgba(255,107,122,.12);
 --ombre-carte:0 10px 34px rgba(0,0,0,.4)}
/* Rail fidèle au prototype (décision 30/10) : bloc vivant + Plan/Changements/Vérifications/Machines
   directs, sans le « Suivi détaillé » replié à onglets. */
.g-page .g-follow,.g-page .g-inspector,.g-page .g-live-action{display:none!important}

/* ======== Page d'une mission : composants au design du prototype (01/11) ========
   On style les classes réelles du Mac (.g-*) pour qu'elles ressemblent au cockpit Obsidian
   validé : conversation à bulles, bloc vivant à bordure-accent, cartes en verre. */
/* Colonnes : conversation + rail 320px (comme .conv du proto) */
.g-page .g-corps{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;max-width:1180px;margin:0 auto;width:100%;padding:0 4px}
.g-page .g-tete{max-width:1180px;margin:0 auto 4px;width:100%;padding:0 4px}
.g-page .g-conversation-heading{display:none}
/* En-tête : titre-phrase */
.g-page .g-titre h1,.g-page #gTitre h1,.g-page .g-titre .g-say{font-size:clamp(22px,2.6vw,31px);line-height:1.18;letter-spacing:-.9px;font-weight:600;text-wrap:balance;max-width:40ch;color:var(--encre)}
/* Bulles de conversation */
.g-page .g-event.g-groupe,.g-page .g-event.g-moi{display:grid;grid-template-columns:30px minmax(0,1fr);gap:12px;align-items:start;border:0;background:none;padding:0;margin:0 0 16px}
.g-page .g-groupe>.g-avatar,.g-page .g-moi>.g-avatar{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--accent-fond);color:var(--accent-m);flex:0 0 auto}
.g-page .g-moi>.g-avatar{background:var(--gris);color:var(--doux)}
.g-page .g-bulle{min-width:0;border:0;background:none;padding:0;box-shadow:none}
.g-page .g-qui{font-size:12px;color:var(--pale);margin-bottom:4px;display:flex;gap:8px;align-items:baseline}
.g-page .g-qui strong{font-size:12.5px;font-weight:600;color:var(--encre)}
.g-page .g-qui time{font-size:11.5px;color:var(--icone)}
.g-page .g-bulle p,.g-page .g-texte,.g-page .g-bulle li{font-size:13.5px;line-height:1.6;color:var(--encre-2);max-width:72ch}
.g-page .g-moi .g-bulle>.g-texte,.g-page .g-moi .g-bulle>p:first-of-type{background:var(--gris);padding:10px 14px;border-radius:12px;display:inline-block}
/* Composer */
.g-page #gComposer .composer,.g-page .g-composer,.g-page #gComposer form{border:1px solid var(--vide);border-radius:12px;background:var(--carte);box-shadow:var(--ombre-carte)}
/* Rail : bloc vivant + cartes en verre */
.g-page .g-rail{position:sticky;top:0;display:grid;gap:10px;align-content:start}
.g-page .g-rail-simple{display:grid;gap:10px}
.g-page .g-rail-live{padding:14px;border-radius:12px;border:1px solid var(--filet);background:var(--carte);border-left:3px solid var(--accent-m);display:grid;gap:8px;box-shadow:var(--ombre-carte)}
.g-page .g-rail-live.wait{border-left-color:var(--ecrit-marque)}
.g-page .g-rail-live.run{border-left-color:var(--accent-m)}
.g-page .g-rail-live.done{border-left-color:var(--succes)}
.g-page .g-rail-live.off{border-left-color:var(--icone)}
.g-page .g-rail-live-txt small{font-weight:600;font-size:13px;color:var(--encre);letter-spacing:0}
.g-page .g-rail-live-txt p{margin:2px 0 0;font-size:12.5px;color:var(--doux)}
.g-page .g-rail-pulse{width:8px;height:8px;border-radius:50%;background:var(--accent-m);box-shadow:0 0 0 4px var(--accent-halo);align-self:center}
.g-page .g-rail-live.wait .g-rail-pulse{background:var(--ecrit-marque);box-shadow:0 0 0 4px color-mix(in srgb,var(--ecrit-marque) 30%,transparent)}
.g-page .g-rail-prog{display:grid;gap:5px;padding:0 2px}
.g-page .g-rail-bar{height:5px;border-radius:5px;background:var(--gris);overflow:hidden}
.g-page .g-rail-bar>i{display:block;height:100%;background:var(--accent-m);border-radius:5px}
.g-page .g-rail-prog>span{font-size:11.5px;color:var(--pale);display:flex;justify-content:space-between}
.g-page .g-carte-rail{border:1px solid var(--filet);border-radius:12px;background:var(--carte);box-shadow:var(--ombre-carte);padding:0;margin:0}
.g-page .g-carte-rail-tete{padding:11px 14px 6px;display:flex;align-items:center;justify-content:space-between}
.g-page .g-carte-rail-tete h2{font-size:13px;font-weight:600;color:var(--encre);margin:0;letter-spacing:0}
.g-page .g-carte-rail-tete span{font-size:11.5px;color:var(--pale)}
.g-page .g-carte-rail>ol,.g-page .g-carte-rail>ul,.g-page .g-carte-rail>p{padding:0 14px 12px;font-size:12.5px;color:var(--doux)}
.g-page .g-rail-plan{list-style:none;margin:0;padding:2px 14px 12px;display:grid;gap:6px}
.g-page .g-rail-plan li{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--doux)}
.g-page .g-rail-plan li.done{color:var(--encre-2)}
.g-page .g-rail-plan li.cur{color:var(--encre);font-weight:600}
