/* ALTALYS PROTECTION — thèmes du poste du site (AFFICHAGE SEUL : aucun contenu, aucune règle ne change).
   Moteur unique à variables CSS. Classe « th » sur <html> + attribut data-th = nr | jour | acier | contraste (posés par theme-choix.js).
   Quatre écrans : « Noir et rouge » (par défaut), « Jour », « Nuit acier », « Contraste élevé ».
   Règle fixe sur tous les thèmes : SÛRETÉ = BLEU (--surete), SÉCURITÉ INCENDIE = ROUGE (--incendie). La couleur d'accent (--ac) ne touche que le reste. */
html.th{
  --t-fond:#0B0B0D;--t-bar:#111113;--t-bar-txt:#fff;--t-bar-sub:#C9C9D0;--t-carte:#18181C;--t-carte2:#26262B;--t-champ:#101013;
  --t-txt:#F4F4F5;--t-gris:#A8A8B0;--t-trait:#34343A;--t-neutre:#77777F;
  --ac:#D4202A;--ac-txt:#FF6A6F;--on-ac:#fff;
  --surete:#2F7BFF;--surete-txt:#7FB0FF;--surete-bg:#0F2247;--surete-fort:#1F5FD8;
  --incendie:#E02A33;--incendie-txt:#FF7A80;--incendie-bg:#3A1114;--incendie-fort:#C8161F;
  --ok-bg:#12301E;--ok-tx:#7BE09B;--warn-bg:#3A2608;--warn-tx:#FFC36B;--danger-bg:#3A1114;--danger-tx:#FF9A9F;
  --marine:var(--t-bar);--accent:var(--ac);--rouge:var(--incendie);--fond:var(--t-fond);--gris:var(--t-gris);--trait:var(--t-trait);--vert:#2E8B4E;--orange:#E08A1E;
  color-scheme:dark}
html.th[data-th="acier"]{
  --t-fond:#0C131A;--t-bar:#121D28;--t-bar-sub:#A9BCCD;--t-carte:#16222E;--t-carte2:#203040;--t-champ:#0D1620;
  --t-txt:#E8EEF4;--t-gris:#9AABBB;--t-trait:#2D4054;--t-neutre:#6C8195;
  --surete:#3D8BFF;--surete-txt:#8DBBFF;--surete-bg:#12294D;--surete-fort:#2A6BD8;
  --incendie:#E5333B;--incendie-bg:#3A1A20;
  --ok-bg:#12302A;--warn-bg:#352A12;--danger-bg:#3A1A20}
html.th[data-th="jour"]{
  --t-fond:#F3F4F6;--t-bar:#FFFFFF;--t-bar-txt:#14171C;--t-bar-sub:#4A525C;--t-carte:#FFFFFF;--t-carte2:#E9EBEF;--t-champ:#FFFFFF;
  --t-txt:#14171C;--t-gris:#505860;--t-trait:#C5CAD2;--t-neutre:#7A828C;
  --ac:#C8102E;--ac-txt:#B00D27;--on-ac:#fff;
  --surete:#1D5FD6;--surete-txt:#1750B8;--surete-bg:#E1EBFC;--surete-fort:#1D5FD6;
  --incendie:#C4161C;--incendie-txt:#B00F15;--incendie-bg:#FBE1E0;--incendie-fort:#C4161C;
  --ok-bg:#E3F1E4;--ok-tx:#1B6B22;--warn-bg:#FFF1D6;--warn-tx:#7A4A00;--danger-bg:#FBE0DC;--danger-tx:#9E1B14;
  --vert:#2E7D32;--orange:#D9822B;color-scheme:light}
html.th[data-th="contraste"]{
  --t-fond:#000;--t-bar:#000;--t-bar-sub:#fff;--t-carte:#000;--t-carte2:#1A1A1A;--t-champ:#000;
  --t-txt:#fff;--t-gris:#E6E6E6;--t-trait:#fff;--t-neutre:#BFBFBF;
  --ac:#FFD400;--ac-txt:#FFD400;--on-ac:#000;
  --surete:#3D8BFF;--surete-txt:#8CC0FF;--surete-bg:#00112E;--surete-fort:#2A6BE8;
  --incendie:#FF2B36;--incendie-txt:#FF8087;--incendie-bg:#2E0004;--incendie-fort:#E0111C;
  --ok-bg:#002A12;--ok-tx:#6DFF9F;--warn-bg:#2A1B00;--warn-tx:#FFD400;--danger-bg:#2E0004;--danger-tx:#FF8087}

html.th,html.th body{background:var(--t-fond);color:var(--t-txt)}
html.th h1,html.th h2,html.th b,html.th strong{color:inherit}
html.th .mini,html.th .lab,html.th .vide{color:var(--t-gris)}

/* ---------- bandeau d'en-tête ---------- */
html.th .ent{background:var(--t-bar);color:var(--t-bar-txt);border-bottom:4px solid var(--ac)}
html.th .ent .m{color:var(--ac-txt)}html.th .ent .s,html.th .ent .dr{color:var(--t-bar-sub)}html.th .ent .hdt{color:var(--t-bar-txt)}
html.th .ent .lien{background:var(--t-carte2);color:var(--t-txt);border:1px solid var(--ac)}
html.th .ent .hrp{background:var(--t-carte2);border-color:var(--ac);color:var(--t-txt)}
/* rôle en service : sûreté = bandeau bleu, SSIAP = bandeau rouge */
html.th .ent[style*="1E6D9A"]{background:var(--surete-fort)!important;color:#fff;border-bottom-color:var(--surete)}
html.th .ent[style*="B3261E"],html.th .ent[style*="9E2A1F"]{background:var(--incendie-fort)!important;color:#fff;border-bottom-color:var(--incendie)}
html.th .ent[style*="1E6D9A"] .m,html.th .ent[style*="B3261E"] .m,html.th .ent[style*="9E2A1F"] .m,
html.th .ent[style*="1E6D9A"] .hdt,html.th .ent[style*="B3261E"] .hdt,html.th .ent[style*="1E6D9A"] .s,html.th .ent[style*="B3261E"] .s,html.th .ent[style*="1E6D9A"] .dr,html.th .ent[style*="B3261E"] .dr{color:#fff}
html.th .ent[style*="1E6D9A"] .m,html.th .ent[style*="B3261E"] .m{opacity:.85}
html.th .ent[style*="1E6D9A"] .lien,html.th .ent[style*="B3261E"] .lien{background:rgba(0,0,0,.28);color:#fff;border-color:rgba(255,255,255,.7)}
html.th .ent[style*="12304B"]{background:var(--t-bar)!important}

/* ---------- cartes, postes, agents ---------- */
html.th .carte,html.th .ag,html.th .lig,html.th .pt,html.th .coche,html.th .poste{background:var(--t-carte);color:var(--t-txt);border:1px solid var(--t-trait)}
html.th .poste{border-left:10px solid var(--surete)}html.th .poste.ssiap{border-left-color:var(--incendie)}
html.th .lig .qui{color:var(--t-gris)}html.th .lig .qui em{background:var(--t-carte2);color:var(--t-txt)}
html.th .ag .ph{background:var(--t-carte2);color:var(--t-neutre)}
html.th .puce.ferme{background:var(--t-carte2);color:var(--t-gris)}
html.th .chip{background:var(--t-carte2);color:var(--t-txt);border:1px solid var(--t-trait)}
html.th .chip.on{background:var(--ac);color:var(--on-ac);border-color:var(--ac)}
html.th table{color:var(--t-txt)}
html.th .fenetre{background:var(--t-carte);color:var(--t-txt);border:1px solid var(--ac)}
html.th .fond{background:rgba(0,0,0,.72)}
html.th .toast{background:var(--t-carte2);color:var(--t-txt);border:1px solid var(--t-trait)}
html.th .red{background:var(--surete-bg);color:var(--t-txt)}html.th .red.ssiap{background:var(--incendie-bg)}html.th .red.autre{background:var(--warn-bg)}
html.th .red button{color:var(--ac-txt)}
html.th .apl-bar{background:var(--t-carte)!important;color:var(--t-txt)!important;border-color:var(--t-trait)!important}html.th .apl-zone{background:var(--t-bar)}
html.th .pt .nu{background:var(--ac);color:var(--on-ac)}
html.th .pts i{border-color:var(--ac)}html.th .pts i.on{background:var(--ac)}
html.th .clav button{background:var(--t-carte2);color:var(--t-txt);border:1px solid var(--t-trait)}
html.th .clav button.ok{background:#3C6B47;color:#fff}html.th .clav button.ok.pret{background:var(--vert)}

/* ---------- boutons ---------- */
html.th .btn.p{background:var(--ac);color:var(--on-ac)}
html.th .btn.c{background:var(--t-carte);color:var(--t-txt);border:2px solid var(--ac)}
html.th .btn.r{background:var(--t-carte);color:var(--incendie-txt);border:2px solid var(--incendie)}
html.th .btn.v{background:var(--vert);color:#fff}
html.th .btn.g{background:var(--t-carte2);color:var(--t-neutre)}
html.th .btn:focus-visible,html.th .chip:focus-visible,html.th #nav button:focus-visible{outline:3px solid var(--ac);outline-offset:2px}

/* ---------- champs ---------- */
html.th input,html.th select,html.th textarea{background:var(--t-champ)!important;color:var(--t-txt)!important;border:2px solid var(--t-trait)!important}
html.th input::placeholder,html.th textarea::placeholder{color:var(--t-neutre)}
html.th input:focus,html.th select:focus,html.th textarea:focus{outline:3px solid var(--ac);outline-offset:1px}
html.th input[type=checkbox],html.th input[type=radio]{accent-color:var(--ac)}

/* ---------- bandeaux d'information ---------- */
html.th .bandeau.or{background:var(--warn-bg);color:var(--warn-tx)}html.th .bandeau.rg{background:var(--danger-bg);color:var(--danger-tx)}html.th .bandeau.vt{background:var(--ok-bg);color:var(--ok-tx)}

/* ---------- menu de gauche et menu du téléphone ---------- */
html.th #nav{background:var(--t-bar);color:var(--t-txt);border-right:1px solid var(--t-trait)}
html.th #nav .lg{border-bottom-color:var(--t-trait)}html.th #nav .lg b,html.th #nav .lg span,html.th #nav .lg div{color:var(--t-txt)}
html.th #nav button,html.th #menutel button{background:var(--t-carte);color:var(--t-txt)!important;border:0;border-left:6px solid var(--t-neutre)!important}
html.th #nav button:hover{background:var(--t-carte2)}
html.th #nav .gt,html.th #menutel .gt{background:var(--t-carte2);color:var(--t-txt);border:1px solid var(--t-neutre)}
/* SÛRETÉ = bleu */
html.th #nav .gt.su,html.th #menutel .gt.su{background:var(--surete-fort);color:#fff;border-color:var(--surete)}
html.th #nav button[data-g=su],html.th #menutel button[data-g=su]{background:var(--surete-bg)!important;border-left:6px solid var(--surete)!important;color:var(--t-txt)!important}
/* SÉCURITÉ INCENDIE = rouge */
html.th #nav .gt.fe,html.th #menutel .gt.fe{background:var(--incendie-fort);color:#fff;border-color:var(--incendie)}
html.th #nav button[data-g=fe],html.th #menutel button[data-g=fe]{background:var(--incendie-bg)!important;border-left:6px solid var(--incendie)!important;color:var(--t-txt)!important}
/* autres rubriques : neutres (l'accent est réservé à l'élément en cours) */
html.th #nav button[data-g=co],html.th #menutel button[data-g=co],html.th #nav button[data-g=ch],html.th #menutel button[data-g=ch],html.th #nav button[data-g=mo],html.th #menutel button[data-g=mo]{background:var(--t-carte)!important;border-left:6px solid var(--t-neutre)!important}
html.th #nav button[data-g=ur],html.th #menutel button[data-g=ur]{background:var(--incendie-fort)!important;border-color:var(--incendie)!important;color:#fff!important}
html.th #nav button.fin{background:var(--incendie-fort);color:#fff}
html.th #nav button.cur,html.th #menutel button.cur{background:var(--ac)!important;color:var(--on-ac)!important;box-shadow:none;outline:2px solid var(--t-txt);outline-offset:-2px}
html.th #nav button.cur[data-g=su],html.th #menutel button.cur[data-g=su]{background:var(--surete-fort)!important;color:#fff!important}
html.th #nav button.cur[data-g=fe],html.th #menutel button.cur[data-g=fe]{background:var(--incendie-fort)!important;color:#fff!important}
html.th #btnmenu{background:var(--ac);color:var(--on-ac)}
html.th #fsBtn{background:var(--t-carte2);color:var(--t-txt);border-color:var(--t-trait)}

/* ---------- couleurs de poste posées « en ligne » par le programme : bleu = sûreté (ADS), rouge = SSIAP ---------- */
html.th [style*="background:#1E6D9A"],html.th [style*="background: #1E6D9A"]{background:var(--surete-fort)!important;color:#fff!important}
html.th [style*="background:#9E2A1F"],html.th [style*="background:#B3261E"]{background:var(--incendie-fort)!important;color:#fff!important}
html.th [style*="color:#1E6D9A"]{color:var(--surete-txt)!important}
html.th [style*="color:#9E2A1F"],html.th [style*="color:#B3261E"],html.th [style*="color:#9E1B14"]{color:var(--incendie-txt)!important}
html.th [style*="solid #1E6D9A"]{border-color:var(--surete)!important}
html.th [style*="solid #9E2A1F"],html.th [style*="solid #B3261E"]{border-color:var(--incendie)!important}
html.th .btn.c[style*="1E6D9A"]{border-color:var(--surete)!important;background:var(--surete-bg)!important;color:var(--t-txt)!important}
html.th .btn.c[style*="B3261E"],html.th .btn.c[style*="9E2A1F"]{border-color:var(--incendie)!important;background:var(--incendie-bg)!important;color:var(--t-txt)!important}
/* marine = couleur d'accent du thème */
html.th [style*="background:#12304B"],html.th [style*="background:#0F2A4A"],html.th [style*="background:#1E4666"]{background:var(--ac)!important;color:var(--on-ac)!important}
html.th [style*="color:#12304B"],html.th [style*="color:#0F2A4A"]{color:var(--ac-txt)!important}
html.th [style*="solid #12304B"]{border-color:var(--ac)!important}
html.th .btn.p[style*="background:#12304B"]{background:var(--ac)!important}

/* ---------- fonds blancs, gris et pastels « en ligne » ---------- */
html.th [style*="background:#fff"],html.th [style*="background: #fff"],html.th [style*="background:#FFF"]{background:var(--t-carte)!important;color:var(--t-txt)!important}
html.th [style*="background:#E4E8EC"],html.th [style*="background:#E9EDF1"],html.th [style*="background:#F2F4F6"],html.th [style*="background:#EEF1F4"]{background:var(--t-carte2)!important;color:var(--t-txt)!important}
html.th [style*="background:#E3F1E4"],html.th [style*="background:#DFF3EF"]{background:var(--ok-bg)!important;color:var(--ok-tx)!important}
html.th [style*="background:#FFF3DD"],html.th [style*="background:#FFF1D6"],html.th [style*="background:#FDEED9"],html.th [style*="background:#FFF1DC"]{background:var(--warn-bg)!important;color:var(--warn-tx)!important}
html.th [style*="background:#FBE0DC"],html.th [style*="background:#F7E3E0"],html.th [style*="background:#FBE3E1"],html.th [style*="background:#FFF6F4"]{background:var(--incendie-bg)!important;color:var(--t-txt)!important}
html.th [style*="background:#E3F0F8"],html.th [style*="background:#E3EDF7"]{background:var(--surete-bg)!important;color:var(--t-txt)!important}
html.th [style*="background:#ECE4F5"]{background:var(--t-carte2)!important;color:var(--t-txt)!important}
html.th [style*="border-top:1px solid #E4E8EC"],html.th [style*="border-bottom:1px solid #E4E8EC"]{border-color:var(--t-trait)!important}
html.th [style*="color:#17202A"],html.th [style*="color:#1B1B1B"]{color:var(--t-txt)!important}
html.th [style*="color:#1B6B22"]{color:var(--ok-tx)!important}
html.th [style*="color:#5B6672"],html.th [style*="color:#8A949E"]{color:var(--t-gris)!important}
html.th [style*="color:#9A5B00"],html.th [style*="color:#7A4A00"],html.th [style*="color:#B25E00"]{color:var(--warn-tx)!important}
html.th [style*="border-left:10px solid #2E7D32"]{border-left-color:var(--vert)!important}

/* ---------- Contraste élevé : texte gros, filets blancs ---------- */
html.th[data-th="contraste"] body{font-size:19px;font-weight:600}
html.th[data-th="contraste"] .mini{font-size:17px}html.th[data-th="contraste"] .lab{font-size:17px}
html.th[data-th="contraste"] .btn{font-size:21px;border:3px solid #fff}html.th[data-th="contraste"] .btn.p{border-color:var(--ac)}
html.th[data-th="contraste"] .carte,html.th[data-th="contraste"] .poste,html.th[data-th="contraste"] .ag{border:2px solid #fff}
html.th[data-th="contraste"] .poste{border-left:12px solid var(--surete)}html.th[data-th="contraste"] .poste.ssiap{border-left-color:var(--incendie)}
html.th[data-th="contraste"] #nav button,html.th[data-th="contraste"] #menutel button{font-size:18px;font-weight:700}
html.th[data-th="contraste"] input,html.th[data-th="contraste"] select,html.th[data-th="contraste"] textarea{border-color:#fff!important;font-size:21px}
html.th[data-th="contraste"] .ent{border-bottom:6px solid var(--ac)}
html.th[data-th="contraste"] .ent[style*="1E6D9A"]{border-bottom-color:#fff}html.th[data-th="contraste"] .ent[style*="B3261E"]{border-bottom-color:#fff}
/* menu du téléphone : cadre complet aux couleurs de la rubrique */
html.th #menutel button[data-g=su]{border-top-color:var(--surete)!important;border-right-color:var(--surete)!important;border-bottom-color:var(--surete)!important}
html.th #menutel button[data-g=fe]{border-top-color:var(--incendie)!important;border-right-color:var(--incendie)!important;border-bottom-color:var(--incendie)!important}
html.th #menutel button[data-g=co],html.th #menutel button[data-g=ch],html.th #menutel button[data-g=mo]{border-top-color:var(--t-trait)!important;border-right-color:var(--t-trait)!important;border-bottom-color:var(--t-trait)!important}

/* ---------- états cochés / compteurs (fiche de contrôle, permis de feu, rondes) : classes, jamais de fond clair en ligne ----------
   Sombre : la case garde son fond sombre ; texte, coche et bordure en VERT (conforme, ✔) ou ROUGE (non conforme, ✘) + léger fond teinté.
   Jour : vert foncé / rouge foncé sur fond pâle. Les couleurs viennent des variables de l'écran choisi. */
html.th{--etat-ok:#5FE08A;--etat-ko:#FF6262;--etat-warn:var(--warn-tx);--etat-so:var(--t-gris)}
html.th[data-th="jour"]{--etat-ok:#1B6B22;--etat-ko:#B3261E}
html.th[data-th="contraste"]{--etat-ok:#6DFF9F;--etat-ko:#FF7070}
.etat-ok{--e:var(--etat-ok,#1B6B22)}.etat-ko{--e:var(--etat-ko,#B3261E)}.etat-warn{--e:var(--etat-warn,#7A4A00)}.etat-so{--e:var(--etat-so,#505860)}
.etat-ok,.etat-ko,.etat-warn,.etat-so{color:var(--e)!important;border:2px solid var(--e)!important;background:color-mix(in srgb,var(--e) 14%,var(--t-carte,#fff))!important;font-weight:800}
.etat-zone{background:var(--t-carte2,#F2F4F6);border:1px solid var(--t-trait,transparent)}
.etat-zone.etat-ok,.etat-zone.etat-ko{font-weight:600}
.etat-drop.etat-warn{border-style:dashed}
