:root{
  color-scheme:light;
  --bg:#faf9f7; --carte:#ffffff; --fg:#1c1a17; --mut:#6b6560;
  --or:#b8860b; --gris:#8a827a; --bd:#e6e1da; --creux:#f2efe9; --creux2:#f4f1eb;
  --pale:#d8d2c8; --ko:#b02a2a; --ok:#1a7f4b;
  --naBg:#fff8e6; --naBd:#ecd9a3; --naFg:#6b5a1f;
  --outBg:#fbeaea; --outFg:#8c2f2f; --inBg:#e8f3ec; --inFg:#1a5c37;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#171614; --carte:#1f1e1b; --fg:#f0ece5; --mut:#a09a92;
    --or:#d4a12c; --gris:#8f8880; --bd:#2f2c28; --creux:#272522; --creux2:#232120;
    --pale:#3a3630; --ko:#e08585; --ok:#6fcb96;
    --naBg:#2b2519; --naBd:#4a3f24; --naFg:#e3c882;
    --outBg:#2e1f1f; --outFg:#e8a3a3; --inBg:#1c2b22; --inFg:#8fd6ac;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#171614; --carte:#1f1e1b; --fg:#f0ece5; --mut:#a09a92;
  --or:#d4a12c; --gris:#8f8880; --bd:#2f2c28; --creux:#272522; --creux2:#232120;
  --pale:#3a3630; --ko:#e08585; --ok:#6fcb96;
  --naBg:#2b2519; --naBd:#4a3f24; --naFg:#e3c882;
  --outBg:#2e1f1f; --outFg:#e8a3a3; --inBg:#1c2b22; --inFg:#8fd6ac;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:14.5px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif}
.w{max-width:1060px;margin:0 auto;padding:34px 22px 60px}
.hd{display:flex;align-items:center;gap:13px}
.hd svg{width:32px;height:32px;flex:none}
h1{font-size:23px;margin:0;letter-spacing:-.01em}
.icone{margin-left:auto;background:var(--carte);border:1px solid var(--bd);border-radius:8px;width:36px;height:36px;
  cursor:pointer;color:var(--fg);display:flex;align-items:center;justify-content:center;padding:0;flex:none}
.icone:hover{border-color:var(--or)}
.icone svg{width:19px;height:19px}
.s{color:var(--mut);margin:2px 0 22px 45px;font-size:13.5px}
.tabs{display:flex;gap:2px;border-bottom:1px solid var(--bd);margin-bottom:16px;flex-wrap:wrap;align-items:center}
.tab{padding:8px 15px;font-size:14px;color:var(--mut);border:0;border-bottom:2px solid transparent;cursor:pointer;background:none;font-family:inherit}
.tab.on{color:var(--fg);font-weight:600;border-bottom-color:var(--or)}
.tab:hover{color:var(--fg)}
.apercu{margin-left:auto;font-size:12.5px;color:var(--mut);background:none;border:1px solid var(--bd);
  border-radius:20px;padding:5px 13px;cursor:pointer;font-family:inherit}
.apercu:hover{border-color:var(--or);color:var(--fg)}
.c{background:var(--carte);border:1px solid var(--bd);border-radius:9px;padding:16px 18px;margin-bottom:12px}
h4{margin:0 0 14px;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--mut);font-weight:600}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}
.kpi{background:var(--carte);border:1px solid var(--bd);border-radius:9px;padding:14px 16px}
.kpi b{display:block;font-size:28px;line-height:1.1;letter-spacing:-.02em}
.kpi u{display:block;text-decoration:none;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:5px}
.kpi i{font-style:normal;color:var(--mut);font-size:11.5px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;font-weight:600;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.04em;padding:0 8px 7px 0;border-bottom:1px solid var(--bd);white-space:nowrap}
td{padding:7px 8px 7px 0;border-bottom:1px solid var(--creux2);vertical-align:top}
tr:last-child td{border-bottom:0}
.n{text-align:right;font-variant-numeric:tabular-nums}
.row{display:grid;grid-template-columns:190px 1fr 34px;align-items:center;gap:9px;margin-bottom:6px;font-size:13.5px}
.track{height:9px;background:var(--creux);border-radius:5px;overflow:hidden;display:flex}
.fill{height:100%}
.mois{display:flex;align-items:stretch;gap:26px;height:190px;padding:22px 6px 0}
.col{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.pair{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:6px}
.pair .bar{position:relative;width:34px;min-height:3px;border-radius:3px 3px 0 0}
.pair .bar span{position:absolute;top:-19px;left:50%;transform:translateX(-50%);font-size:12.5px;font-weight:600;color:var(--fg)}
.socle{border-top:1px solid var(--bd);margin-top:2px}
.lab{display:flex;gap:26px;padding:9px 6px 0}
.lab div{flex:1;text-align:center;color:var(--mut);font-size:12.5px}
.lg{display:flex;gap:16px;font-size:12px;color:var(--mut);margin-top:12px;align-items:center;flex-wrap:wrap}
.dot{width:10px;height:10px;border-radius:2px;display:inline-block;margin-right:5px;vertical-align:-1px}
.note{border-radius:7px;padding:10px 13px;font-size:12.8px;margin-bottom:14px}
.na{background:var(--naBg);border:1px solid var(--naBd);color:var(--naFg)}
.ni{background:var(--creux2);border:1px solid var(--bd);color:var(--mut)}
button.b{font:inherit;font-weight:600;background:var(--or);color:#1c1a17;border:0;border-radius:7px;padding:10px 18px;cursor:pointer}
button.b:hover{filter:brightness(.94)}
button.lien{background:none;border:0;color:var(--or);font:inherit;cursor:pointer;padding:0;text-decoration:underline}
input,select{font:inherit;padding:7px 9px;border:1px solid var(--bd);border-radius:7px;background:var(--carte);color:inherit}
.filtres{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;align-items:center}
.filtres input[type=search]{min-width:180px}
.ko{color:var(--ko)}.ok{color:var(--ok)}.mu{color:var(--mut)}
.pill{display:inline-block;font-size:11px;padding:2px 7px;border-radius:10px;background:var(--creux);color:var(--mut);white-space:nowrap}
.pill.out{background:var(--outBg);color:var(--outFg)}
.pill.in{background:var(--inBg);color:var(--inFg)}
.pill.arb{background:var(--naBg);color:var(--naFg);border:1px solid var(--naBd)}
footer{color:var(--mut);font-size:12px;margin-top:30px;border-top:1px solid var(--bd);padding-top:13px}
.sw{display:flex;align-items:center;gap:9px}
.sw input{width:17px;height:17px;accent-color:var(--or)}
@media (max-width:720px){.kpis,.g2{grid-template-columns:1fr}.row{grid-template-columns:130px 1fr 34px}}

/* --- focus responsables d'agence --- */
.ra{background:var(--carte);border:1px solid var(--bd);border-radius:9px;padding:16px 18px;margin-bottom:12px}
.ra .t{display:flex;align-items:baseline;gap:10px;margin-bottom:14px}
.ra .t h3{margin:0;font-size:16px}
.ra .t span{color:var(--mut);font-size:12.5px}
.fen{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.f1{border:1px solid var(--bd);border-radius:8px;padding:12px 14px;background:var(--bg)}
.f1 u{display:block;text-decoration:none;color:var(--mut);font-size:11px;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.f1 .duo{display:flex;gap:16px;align-items:baseline}
.f1 .duo div{font-size:12px;color:var(--mut)}
.f1 .duo b{display:block;font-size:22px;color:var(--fg);line-height:1.1}
.f1 .d{margin-top:9px;font-size:13px;font-weight:600}
.f1 .d.pos{color:var(--ok)} .f1 .d.neg{color:var(--ko)}
.f1 .pt{display:block;color:var(--mut);font-size:11px;font-weight:400;margin-top:3px}
.mini{font-size:12.5px;color:var(--mut);margin:10px 0 0}
select.mot{padding:4px 6px;font-size:12.5px;max-width:170px}

/* --- arbitrage : filtres et pastille --- */
.chips{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.chip{font:inherit;font-size:13px;background:var(--bg);border:1px solid var(--bd);border-radius:20px;
  padding:6px 13px;cursor:pointer;color:var(--mut)}
.chip:hover{border-color:var(--or);color:var(--fg)}
.chip.on{background:var(--or);border-color:var(--or);color:#1c1a17;font-weight:600}
.chip span{opacity:.75;font-variant-numeric:tabular-nums;margin-left:3px}
.pastille{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d94a4a;margin-left:6px;vertical-align:2px}
.pill.ok2{background:var(--inBg);color:var(--inFg)}

/* --- en-tete toujours visible --- */
.entete-fixe{position:sticky;top:0;z-index:20;background:var(--bg);padding-top:18px;
  padding-bottom:10px;margin-bottom:8px;border-bottom:1px solid var(--bd)}
.entete-fixe .s{margin:2px 0 0 45px}
/* --- bandeau de section avec selecteur --- */
.entete{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.entete .chips{margin:0 0 0 auto}
tr.fort td{font-weight:600}
/* --- anneau --- */
.donut{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.dn{font-size:30px;font-weight:700;fill:var(--fg)}
.dl{font-size:11px;fill:var(--mut);text-transform:uppercase;letter-spacing:.05em}
.leg div{margin-bottom:7px;font-size:13.5px}
.leg b{margin-left:5px}
.actions{white-space:nowrap}
.actions a,.actions button{margin-left:12px}
button.lien.ko{color:var(--ko)}
.chip.faible{opacity:.55}
.anneaux{display:flex;gap:34px;flex-wrap:wrap}
.unan{display:flex;align-items:center;gap:16px}
.unan .tt{writing-mode:horizontal-tb;font-weight:600;font-size:13.5px;min-width:0}
.unan{flex-direction:column;align-items:flex-start}
.unan svg{margin:4px 0}
.unan .leg{font-size:13px}
.maj{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--fg);color:var(--bg);
  padding:9px 18px;border-radius:20px;font-size:13px;font-weight:600;z-index:50;opacity:.94;
  box-shadow:0 4px 18px rgba(0,0,0,.25)}
button.chrono{background:none;border:0;color:var(--mut);cursor:pointer;font-size:13px;padding:0 4px;line-height:1}
button.chrono:hover{color:var(--or)}
tr.chronoLigne td{background:var(--bg);border-bottom:1px solid var(--bd);padding:0}
.chronoBoite{padding:14px 16px 16px 34px}
.chronoTete{font-size:13.5px;margin-bottom:10px}
ol.fil{list-style:none;margin:0;padding:0 0 0 14px;border-left:2px solid var(--bd)}
ol.fil li{position:relative;padding:4px 0 4px 16px;font-size:13.5px}
ol.fil li::before{content:"";position:absolute;left:-21px;top:11px;width:9px;height:9px;border-radius:50%;
  background:var(--pale);border:2px solid var(--bg)}
ol.fil li.sortie::before{background:var(--or)}
ol.fil .d{display:inline-block;min-width:92px;color:var(--mut);font-variant-numeric:tabular-nums}

/* Bilan de la fiche : la conclusion, avant la frise. */
.chronoBilan{margin:6px 0 10px;padding:8px 10px;border-radius:8px;
  background:var(--fond2,rgba(127,127,127,.10));font-size:14px}
