:root{--fond:#f6f7f9;--carte:#fff;--texte:#1d2330;--discret:#667085;--bord:#dfe3ea;--accent:#1f5fa8;--alerte:#fff4e5;--alerte-bord:#f0b45a;--erreur:#fdecec;--erreur-bord:#e07070;--urgent:#fff0f0}
@media (prefers-color-scheme:dark){:root{--fond:#14171c;--carte:#1d2128;--texte:#e6e8ec;--discret:#9aa3b2;--bord:#333a45;--accent:#7fb0ff;--alerte:#3a2f1a;--alerte-bord:#a77a2e;--erreur:#3d2020;--erreur-bord:#b55;--urgent:#3a1f1f}}
*{box-sizing:border-box}
body{margin:0;font:15px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--fond);color:var(--texte)}
a{color:var(--accent)}
header{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;padding:.6rem 1rem;background:var(--carte);border-bottom:1px solid var(--bord)}
header nav{display:flex;flex-wrap:wrap;gap:.25rem}
header nav a{padding:.3rem .6rem;border-radius:6px;text-decoration:none;color:var(--texte)}
header nav a.actif,header nav a:hover{background:var(--fond);color:var(--accent)}
.outils{margin-left:auto;display:flex;gap:.5rem;align-items:center}
.qui{color:var(--discret);font-size:.85rem}
main{max-width:1200px;margin:0 auto;padding:1rem}
footer{max-width:1200px;margin:1rem auto;padding:0 1rem;color:var(--discret);font-size:.8rem}
h1{font-size:1.4rem;margin:.4rem 0 1rem}h2{font-size:1.1rem;margin:1.2rem 0 .5rem}h3{font-size:1rem}
.carte{background:var(--carte);border:1px solid var(--bord);border-radius:10px;padding:.8rem 1rem;margin-bottom:.8rem}
.carte h2{margin-top:0}
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.8rem}
.large{grid-column:1/-1}
.chiffre{font-size:2rem;font-weight:700;margin:.2rem 0}
.discret{color:var(--discret);font-size:.88rem}
.attention{color:#c0561b}
.alerte{background:var(--alerte);border:1px solid var(--alerte-bord);border-radius:8px;padding:.6rem .8rem;margin:.6rem 0}
.alerte.erreur{background:var(--erreur);border-color:var(--erreur-bord)}
table{width:100%;border-collapse:collapse;background:var(--carte);margin:.4rem 0 1rem;font-size:.92rem}
th,td{text-align:left;padding:.35rem .5rem;border-bottom:1px solid var(--bord);vertical-align:top}
th{font-weight:600;color:var(--discret)}
td.n,th.n{text-align:right;white-space:nowrap}
table.fiche th{width:30%}
table.compact{width:auto}
tr.grise td{color:var(--discret)}
tr.urgent td{background:var(--urgent)}
.titre-ligne{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.titre-ligne h1{margin-right:auto}
button,.bouton{display:inline-block;font:inherit;padding:.4rem .9rem;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;text-decoration:none}
button.secondaire,.bouton.secondaire{background:transparent;color:var(--accent)}
form{margin:0}
.recherche{display:flex;gap:.5rem;margin:.5rem 0}
.recherche input{flex:1;font:inherit;padding:.45rem .6rem;border:1px solid var(--bord);border-radius:6px;background:var(--carte);color:var(--texte)}
select{font:inherit;padding:.25rem;background:var(--carte);color:var(--texte);border:1px solid var(--bord);border-radius:6px}
.saison{display:flex;gap:.4rem;align-items:center}
.liste{padding-left:1.1rem;margin:.3rem 0}
.colonnes{columns:3 220px;padding-left:1.1rem}
details summary{cursor:pointer}
.connexion{max-width:420px;margin:3rem auto;text-align:center}
.bandeau-demo{background:#6b4fbb;color:#fff;text-align:center;padding:.3rem;font-size:.85rem}
code{background:var(--fond);padding:0 .25rem;border-radius:4px}
@media (max-width:700px){table{display:block;overflow-x:auto}.outils{margin-left:0}}
