/* Styles du menu du poste : Cristal · Rail · Console (le style « Classique » n'ajoute AUCUNE règle : rien ne s'applique sans html[data-ms]).
   Couleurs : fonds et textes = variables de l'écran choisi (--t-bar, --t-carte, --t-txt, --t-gris, --t-trait de theme-noir-rouge.css).
   SÛRETÉ = BLEU (--surete) et SÉCURITÉ INCENDIE = ROUGE (--incendie) TOUJOURS : survol, élément en cours, interrupteur ; jamais l'accent. */
html[data-ms] .ms-root{
  --ms-acc:var(--surete,#2F7BFF);--ms-fort:var(--surete-fort,#2455B3);
  --ms-txt:var(--t-txt,#EDEEF0);--ms-mut:var(--t-gris,#8E96A5);--ms-line:color-mix(in srgb,var(--t-trait,#2A3040) 55%,transparent);
  --ms-hov:color-mix(in srgb,var(--ms-txt) 8%,transparent);--ms-soft:color-mix(in srgb,var(--ms-acc) 24%,transparent);--ms-bg:var(--t-bar,#0E1013)}
html[data-ms] .ms-root[data-f="ssiap"]{--ms-acc:var(--incendie,#E02A33);--ms-fort:var(--incendie-fort,#A82C20)}
html[data-ms="rail"],html[data-ms="rail"] body{--ms-rail:76px}

/* ---------- socle commun aux 3 styles ---------- */
html[data-ms] :is(#nav,#menutel).ms-root .ms-off,html[data-ms] :is(#nav,#menutel).ms-root button.ms-i.ms-off{display:none!important}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-i{
  display:flex!important;align-items:center;gap:13px;width:100%;min-height:42px;margin:0;padding:6px 14px;border:0!important;border-left:0!important;border-radius:10px;
  background:transparent!important;color:var(--ms-txt)!important;line-height:1.25;font-family:inherit;font-size:14px!important;font-weight:500;text-align:left;
  cursor:pointer;position:relative;box-shadow:none;outline:0;transition:background .18s,color .18s,transform .18s,padding .18s}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-i .ms-ic{display:flex;flex:none;color:var(--ms-mut);transition:color .18s,transform .18s}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-i .ms-lb{min-width:0}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-i::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--ms-acc);opacity:0;transform:scaleY(.3);transition:opacity .18s,transform .18s}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-i:hover{background:var(--ms-hov)!important;color:var(--ms-txt)!important}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-i:hover .ms-ic,html[data-ms] :is(#nav,#menutel).ms-root button.ms-i:focus-visible .ms-ic,html[data-ms] :is(#nav,#menutel).ms-root button.ms-i.cur .ms-ic{color:var(--ms-acc)}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-i:hover::before,html[data-ms] :is(#nav,#menutel).ms-root button.ms-i.cur::before{opacity:1;transform:scaleY(1);box-shadow:0 0 12px var(--ms-acc)}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-i.cur{background:linear-gradient(90deg,var(--ms-soft),transparent 92%)!important;color:var(--ms-txt)!important;font-weight:700;box-shadow:none;outline:0}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-i:focus-visible{outline:3px solid var(--ms-acc)!important;outline-offset:1px;background:var(--ms-hov)!important}
html[data-ms] :is(#nav,#menutel).ms-root .ms-sec{margin:18px 14px 6px;padding:0;background:none;border:0;color:var(--ms-mut);font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-urg{margin-top:12px;min-height:46px;justify-content:center;border:1px solid var(--incendie,#E02A33)!important;border-radius:10px;
  background:color-mix(in srgb,var(--incendie,#E02A33) 16%,transparent)!important;color:var(--incendie-txt,#FF7A80)!important;font-weight:800;font-size:13px!important;letter-spacing:.14em;text-transform:uppercase}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-urg .ms-ic{color:inherit}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-urg::before{display:none}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-urg:hover,html[data-ms] :is(#nav,#menutel).ms-root button.ms-urg:focus-visible{background:var(--incendie-fort,#B3372A)!important;color:#fff!important;box-shadow:0 0 22px color-mix(in srgb,var(--incendie,#E02A33) 55%,transparent);transform:none}
html[data-ms] :is(#nav,#menutel).ms-root button.ms-urg:hover .ms-ic{color:#fff}
/* en-tête */
html[data-ms] #nav.ms-root .ms-brand{display:flex;align-items:center;gap:12px;padding:2px 8px 16px;color:var(--ms-txt)}
html[data-ms] #nav.ms-root .ms-logo{flex:none;display:block;width:38px;height:38px}
html[data-ms] #nav.ms-root .ms-logo img{display:block;width:38px;height:38px;border-radius:50%;box-shadow:0 0 18px color-mix(in srgb,var(--ms-acc) 35%,transparent)}
html[data-ms] #nav.ms-root .ms-nm{display:flex;flex-direction:column;line-height:1.25;min-width:0}
html[data-ms] #nav.ms-root .ms-nm b{font-size:15px;letter-spacing:.06em;color:var(--ms-txt)}
html[data-ms] #nav.ms-root .ms-nm i{font-style:normal;font-size:11px;letter-spacing:.12em;color:var(--ms-mut)}
html[data-ms] #nav.ms-root .ms-nm u{text-decoration:none;font-size:12px;color:var(--ms-mut);overflow-wrap:anywhere}
/* interrupteur SÛRETÉ / INCENDIE : l'option sûreté est toujours bleue, l'option incendie toujours rouge */
html[data-ms] .ms-root .ms-sw{--o-ads:var(--surete,#2F7BFF);--o-ads-f:var(--surete-fort,#2455B3);--o-fe:var(--incendie,#E02A33);--o-fe-f:var(--incendie-fort,#A82C20)}
html[data-ms] .ms-root .ms-op{cursor:pointer;user-select:none;-webkit-user-select:none;outline:0}
html[data-ms] .ms-root .ms-op[data-f="ads"]{--o:var(--o-ads);--of:var(--o-ads-f)}
html[data-ms] .ms-root .ms-op[data-f="ssiap"]{--o:var(--o-fe);--of:var(--o-fe-f)}
html[data-ms] .ms-root .ms-op:focus-visible{outline:3px solid var(--o);outline-offset:2px}
html[data-ms] .ms-root .ms-op em,html[data-ms] .ms-root .ms-op small{display:none;font-style:normal}

/* ---------- CRISTAL ---------- */
html[data-ms="cristal"] #nav.ms-root{width:280px;background:radial-gradient(120% 60% at 0% 0%,color-mix(in srgb,var(--ms-acc) 17%,var(--ms-bg)) 0%,var(--ms-bg) 58%);border-right:1px solid var(--ms-line);padding:20px 14px 24px}
html[data-ms="cristal"] body.avecnav #app{margin-left:280px}
html[data-ms] .ms-root.ms-cristal{font-family:inherit}
html[data-ms] .ms-root.ms-cristal .ms-sw{position:relative;display:flex;padding:3px;margin:0 4px 14px;background:var(--ms-hov);border:1px solid var(--ms-line);border-radius:12px}
html[data-ms] .ms-root.ms-cristal .ms-th{position:absolute;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:9px;background:linear-gradient(180deg,var(--o-ads),var(--o-ads-f));box-shadow:0 0 18px color-mix(in srgb,var(--o-ads) 45%,transparent);transition:left .25s ease,background .25s ease,box-shadow .25s ease}
html[data-ms] .ms-root.ms-cristal .ms-sw[data-f="ssiap"] .ms-th{left:50%;background:linear-gradient(180deg,var(--o-fe),var(--o-fe-f));box-shadow:0 0 18px color-mix(in srgb,var(--o-fe) 45%,transparent)}
html[data-ms] .ms-root.ms-cristal .ms-op{position:relative;z-index:1;flex:1;height:40px;display:flex;align-items:center;justify-content:center;color:var(--ms-mut);transition:color .2s}
html[data-ms] .ms-root.ms-cristal .ms-op b{font-size:12px;letter-spacing:.1em}
html[data-ms] .ms-root.ms-cristal .ms-op[aria-checked="true"]{color:#fff}
html[data-ms] .ms-root.ms-cristal .ms-op[aria-checked="false"]:hover{color:var(--o)}
html[data-ms] :is(#nav,#menutel).ms-root.ms-cristal button.ms-i:hover{transform:translateX(4px)}

/* ---------- RAIL (menu latéral seulement ; sur téléphone : style Cristal) ---------- */
html[data-ms="rail"] #nav.ms-root{width:76px;padding:16px 0;background:var(--ms-bg);border-right:1px solid var(--ms-line);overflow-x:hidden;overflow-y:auto;transition:width .24s ease,box-shadow .24s ease}
html[data-ms="rail"] #nav.ms-root:hover,html[data-ms="rail"] #nav.ms-root:focus-within{width:290px;box-shadow:12px 0 40px rgba(0,0,0,.45)}
html[data-ms="rail"] body.avecnav #app{margin-left:76px}
html[data-ms="rail"] #nav.ms-root .ms-brand{padding:0;margin:0 10px 12px;height:46px;gap:0;white-space:nowrap}
html[data-ms="rail"] #nav.ms-root .ms-logo{width:56px;display:flex;justify-content:center}
html[data-ms="rail"] #nav.ms-root .ms-logo img{width:36px;height:36px}
html[data-ms="rail"] #nav.ms-root .ms-nm,html[data-ms="rail"] #nav.ms-root button.ms-i .ms-lb,html[data-ms="rail"] #nav.ms-root .ms-op b{opacity:0;transition:opacity .18s;white-space:nowrap}
html[data-ms="rail"] #nav.ms-root:hover .ms-nm,html[data-ms="rail"] #nav.ms-root:focus-within .ms-nm,html[data-ms="rail"] #nav.ms-root:hover button.ms-i .ms-lb,html[data-ms="rail"] #nav.ms-root:focus-within button.ms-i .ms-lb,
html[data-ms="rail"] #nav.ms-root:hover .ms-op b,html[data-ms="rail"] #nav.ms-root:focus-within .ms-op b{opacity:1}
html[data-ms="rail"] #nav.ms-root button.ms-i{width:calc(100% - 20px);margin:2px 10px;min-height:44px;padding:0;gap:0;border-radius:12px;white-space:nowrap;font-weight:600}
html[data-ms="rail"] #nav.ms-root button.ms-i .ms-ic{width:56px;justify-content:center}
html[data-ms="rail"] #nav.ms-root button.ms-i::before{display:none}
html[data-ms="rail"] #nav.ms-root button.ms-i:hover .ms-ic{transform:scale(1.12)}
html[data-ms="rail"] #nav.ms-root button.ms-i.cur::after{content:"";position:absolute;right:-10px;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--ms-acc);box-shadow:0 0 10px var(--ms-acc)}
html[data-ms="rail"] #nav.ms-root button.ms-i.cur{background:var(--ms-soft)!important}
html[data-ms="rail"] #nav.ms-root .ms-sec{height:1px;margin:10px 18px;padding:0;overflow:hidden;font-size:0;letter-spacing:0;background:var(--ms-line)}
html[data-ms="rail"] #nav.ms-root:hover .ms-sec,html[data-ms="rail"] #nav.ms-root:focus-within .ms-sec{height:auto;margin:16px 18px 4px;font-size:11px;letter-spacing:.18em;background:none}
html[data-ms="rail"] #nav.ms-root .ms-sw{display:flex;flex-direction:column;gap:4px;margin:0 0 6px}
html[data-ms="rail"] #nav.ms-root .ms-th{display:none}
html[data-ms="rail"] #nav.ms-root .ms-op{display:flex;align-items:center;height:44px;margin:0 10px;border-radius:12px;background:var(--ms-hov);color:var(--ms-mut);font-size:13px;font-weight:800;letter-spacing:.06em;white-space:nowrap;transition:background .18s,transform .18s,box-shadow .18s,color .18s}
html[data-ms="rail"] #nav.ms-root .ms-op em{display:block;width:56px;flex:none;text-align:center;font-size:16px;font-weight:800}
html[data-ms="rail"] #nav.ms-root .ms-op[aria-checked="true"]{background:linear-gradient(180deg,var(--o),var(--of));color:#fff;box-shadow:0 0 18px color-mix(in srgb,var(--o) 45%,transparent)}
html[data-ms="rail"] #nav.ms-root .ms-op[aria-checked="false"]:hover{transform:translateY(-1px);color:var(--o)}
html[data-ms="rail"] #nav.ms-root button.ms-urg{width:calc(100% - 20px);margin:10px 10px 0;padding:0;gap:0;justify-content:flex-start}
html[data-ms="rail"] #nav.ms-root button.ms-urg .ms-ic{width:56px;justify-content:center}

/* ---------- CONSOLE ---------- */
html[data-ms="console"] #nav.ms-root{width:280px;padding:0 0 20px;background:var(--ms-bg);border-right:1px solid var(--ms-line)}
html[data-ms="console"] body.avecnav #app{margin-left:280px}
html[data-ms="console"] .ms-root{counter-reset:msn}
html[data-ms="console"] #nav.ms-root .ms-brand{display:block;padding:20px 18px 14px;border-bottom:1px solid var(--ms-line);margin:0}
html[data-ms="console"] #nav.ms-root .ms-logo{display:none}
html[data-ms="console"] #nav.ms-root .ms-nm b{font-size:16px;letter-spacing:.08em}
html[data-ms="console"] #nav.ms-root .ms-nm i{letter-spacing:.14em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
html[data-ms="console"] #nav.ms-root .ms-nm u{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;margin-top:4px}
html[data-ms="console"] .ms-root .ms-sw{display:flex;gap:8px;padding:14px 14px 8px;margin:0}
html[data-ms="console"] .ms-root .ms-th{display:none}
html[data-ms="console"] .ms-root .ms-op{flex:1;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:1px solid var(--ms-line);border-top:3px solid var(--o);border-radius:2px;background:var(--ms-hov);color:var(--ms-mut);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;transition:background .15s,color .15s,border-color .15s}
html[data-ms="console"] .ms-root .ms-op b{font-size:12px;font-weight:700;letter-spacing:.08em}
html[data-ms="console"] .ms-root .ms-op small{display:block;font-size:10px;opacity:.85}
html[data-ms="console"] .ms-root .ms-op:hover{color:var(--ms-txt)}
html[data-ms="console"] .ms-root .ms-op[aria-checked="true"]{background:color-mix(in srgb,var(--o) 20%,var(--ms-bg));border-color:var(--o);color:var(--ms-txt)}
html[data-ms="console"] :is(#nav,#menutel).ms-root .ms-sec{margin:16px 18px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:10px;letter-spacing:.2em}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i{border-radius:0;border-bottom:1px solid var(--ms-line)!important;min-height:44px;padding:6px 14px}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i:hover{padding-left:20px}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i .ms-ic{display:none}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i::before{content:counter(msn,decimal-leading-zero);counter-increment:msn;position:static;width:22px;height:auto;background:none;border-radius:0;opacity:1;transform:none;box-shadow:none;font:500 11px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ms-mut)}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i:hover::before,html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i.cur::before{color:var(--ms-acc);box-shadow:none;transform:none}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i::after{content:"›";margin-left:auto;opacity:0;transform:translateX(-8px);transition:opacity .15s,transform .15s;color:var(--ms-acc);font:600 14px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i:hover::after,html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i:focus-visible::after{opacity:1;transform:none}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-i.cur{box-shadow:inset 3px 0 0 var(--ms-acc)}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-urg{margin:14px 14px 0;width:calc(100% - 28px);border-radius:0;justify-content:center;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-urg::before,html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-urg::after{display:none}
html[data-ms="console"] :is(#nav,#menutel).ms-root button.ms-urg .ms-ic{display:flex}

/* ---------- menu du téléphone (fenêtre) : cibles larges, texte lisible ---------- */
html[data-ms] #menutel.ms-root{gap:0;color:var(--ms-txt)}
html[data-ms] #menutel.ms-root button.ms-i{min-height:50px;font-size:17px!important;padding:8px 14px}
html[data-ms] #menutel.ms-root .ms-sec{font-size:12px}
html[data-ms] #menutel.ms-root .ms-sw{margin:0 0 12px}
html[data-ms] #menutel.ms-root .ms-op b{font-size:14px}
html[data-ms] #menutel.ms-root button.ms-urg{width:100%;margin:14px 0 0}
html[data-ms="console"] #menutel.ms-root .ms-sw{padding:0 0 10px}
html[data-ms="console"] #menutel.ms-root button.ms-i{padding-left:14px}
html[data-ms] #menutel.ms-root .ms-brand{display:none}
@media (prefers-reduced-motion:reduce){html[data-ms] .ms-root *,html[data-ms] .ms-root{transition:none!important}}
