/* =====================================================================
   Battle — la tour de contrôle.

   L'identité de Fit, avec sa troisième couleur : Fit est bleu (#1D5FBF),
   Jericho or (#B98A2F), Battle sarcelle. Même police, mêmes gestes,
   même sobriété — on reconnaît la maison sans confondre les outils.
   ===================================================================== */
:root{
  --paper:#F6F7F9; --panel:#FFFFFF; --ink:#15191F; --muted:#737C88;
  --rule:#E0E4EA; --rule2:#EDF0F4; --hl:#F4F6FA;
  --accent:#0B6360; --accent-bg:#E6F2F1;
  --signal:#A8102F; --signal-bg:#FBEEF1;
  --ok:#12634A; --ok-bg:#EDF5F2;
  --att:#8A6516; --att-bg:#FAF3E4;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono","Cascadia Mono",Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0E1116; --panel:#171B21; --ink:#E7EAEF; --muted:#8E97A4;
    --rule:#272D36; --rule2:#1F242B; --hl:#1C222A;
    --accent:#4FC9C7; --accent-bg:#112726;
    --signal:#FF7189; --signal-bg:#2B161D;
    --ok:#4FD1A5; --ok-bg:#13271F;
    --att:#E5B84B; --att-bg:#2A2213;
    color-scheme:dark;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);
  font-size:13.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
.mono{font-family:var(--mono);font-size:12.5px}
.n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.sous{font-size:12px;color:var(--muted)}
.rouge{color:var(--signal);font-weight:700}

/* ---- en-tête ---- */
.tete{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 26px;background:var(--panel);border-bottom:1px solid var(--rule)}
.marque{display:flex;align-items:center;gap:9px}
.marque b{font-size:18px;letter-spacing:-.02em}
.sig{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.qui{font-size:12.5px;color:var(--muted)}
main{max-width:1400px;margin:0 auto;padding:22px 26px 70px}

/* ---- le bandeau de chiffres ---- */
.bandeau{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;
  background:var(--rule);border:1px solid var(--rule);border-radius:8px;overflow:hidden;margin-bottom:20px}
.bandeau div{background:var(--panel);padding:15px 18px}
.bandeau .v{display:block;font-family:var(--mono);font-size:23px;font-weight:600;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.bandeau .v.alerte{color:var(--signal)}
.bandeau .v.ok{color:var(--ok)}
.bandeau .k{display:block;font-size:11.5px;color:var(--muted);margin-top:4px}

/* ---- cadres ---- */
.cadre{background:var(--panel);border:1px solid var(--rule);border-radius:8px;
  margin-bottom:18px;overflow:hidden}
.cadre h2{margin:0;padding:13px 18px;font-size:13px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--rule);
  display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.cadre h2 .sous{text-transform:none;letter-spacing:0;font-weight:500}
.cadre.alerte{border-left:3px solid var(--signal)}
.ligne-alerte{padding:9px 18px;border-bottom:1px solid var(--rule2);font-size:13px}
.ligne-alerte:last-child{border-bottom:0}
.ligne-alerte b{font-family:var(--mono);font-size:12.5px;margin-right:8px}
.note{padding:10px 18px;border-top:1px solid var(--rule2);margin:0}

/* ---- tableaux ---- */
.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:13px}
th{text-align:left;padding:9px 14px;font-size:10px;font-weight:700;letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted);background:var(--hl);
  border-bottom:1px solid var(--rule);white-space:nowrap}
th.n{text-align:right}
td{padding:9px 14px;border-bottom:1px solid var(--rule2);vertical-align:middle}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--hl)}
.lien{text-decoration:none;margin-left:5px;opacity:.6}
.lien:hover{opacity:1}

/* ---- étiquettes ---- */
.tag{display:inline-block;padding:2px 8px;border-radius:20px;font-size:10.5px;
  font-weight:700;letter-spacing:.03em;white-space:nowrap}
.t-active{background:var(--ok-bg);color:var(--ok)}
.t-essai{background:var(--accent-bg);color:var(--accent)}
.t-suspendue,.t-incident{background:var(--signal-bg);color:var(--signal)}
.t-resiliee{background:var(--hl);color:var(--muted)}
.t-recensement{background:var(--hl);color:var(--muted)}
.t-schema,.t-code{background:var(--accent-bg);color:var(--accent)}
.t-sauvegarde{background:var(--ok-bg);color:var(--ok)}
.t-etat{background:var(--att-bg);color:var(--att)}

/* ---- les gestes ---- */
.gestes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--rule2)}
.gestes div{background:var(--panel);padding:13px 18px}
.gestes b{display:block;font-family:var(--mono);font-size:12.5px;color:var(--accent)}
.gestes span{display:block;font-size:12px;color:var(--muted);margin-top:3px}

/* ---- la porte ---- */
.porte{display:flex;align-items:center;justify-content:center;min-height:78vh;padding:22px}
.carte{background:var(--panel);border:1px solid var(--rule);border-radius:10px;
  padding:30px 30px 26px;width:100%;max-width:370px;
  box-shadow:0 1px 3px rgba(0,0,0,.05),0 10px 30px rgba(0,0,0,.05)}
.carte h1{margin:0;font-size:26px;letter-spacing:-.03em}
.carte .sous{margin:5px 0 20px}
.carte label{display:block;font-size:11px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--muted);margin-bottom:13px}
.carte input{display:block;width:100%;margin-top:5px;padding:9px 11px;font:inherit;
  color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:6px}
.carte input:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.err{background:var(--signal-bg);color:var(--signal);padding:9px 12px;border-radius:6px;
  font-size:12.5px;font-weight:650;margin-bottom:15px}
.btn{font:inherit;padding:9px 16px;border-radius:6px;border:1px solid var(--rule);
  background:var(--panel);color:var(--ink);cursor:pointer}
.btn.p{background:var(--accent);color:#fff;border-color:transparent;font-weight:650;width:100%}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
code{font-family:var(--mono);font-size:12px;background:var(--hl);padding:1px 5px;border-radius:3px}
