:root{--fond:#f7f9fb;--carte:#fff;--trait:#dde4ea;--texte:#1c2b36;--doux:#5f6f7d;
      --accent:#0a3d62;--accent-clair:#0f5a94;--alerte:#a8324a;--ok:#1d7a4c}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
     background:var(--fond);color:var(--texte);line-height:1.55}
.page{max-width:1080px;margin:0 auto;padding:24px 18px 80px}
.etroit{max-width:520px}
h1{font-size:1.6rem;margin:0 0 4px}
h2{font-size:1.15rem;margin:32px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--trait)}
a{color:var(--accent-clair)}
.carte{background:var(--carte);border:1px solid var(--trait);border-radius:10px;padding:18px;margin-bottom:18px}
table{width:100%;border-collapse:collapse;font-size:.93rem}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--trait);vertical-align:top}
th{color:var(--doux);font-weight:600;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}
input,select,textarea{font:inherit;padding:9px 11px;border:1px solid var(--trait);
     border-radius:6px;background:#fff;width:100%;color:inherit}
textarea{min-height:80px;resize:vertical}
label{display:block;margin:10px 0 3px;font-size:.88rem;color:var(--doux)}
.ligne{display:flex;gap:14px;flex-wrap:wrap}
.ligne>*{flex:1;min-width:180px}
button,.btn{display:inline-block;background:var(--accent);color:#fff;border:0;
     padding:10px 20px;border-radius:6px;font:inherit;cursor:pointer;text-decoration:none}
button:hover,.btn:hover{background:var(--accent-clair)}
button.discret{background:transparent;color:var(--doux);border:1px solid var(--trait);padding:5px 12px;font-size:.85rem}
button.discret:hover{background:#eef2f6;color:var(--texte)}
.avis{padding:11px 15px;border-radius:8px;margin-bottom:16px;font-size:.92rem}
.avis.info{background:#e8f1f8;border:1px solid #bfd9ec}
.avis.attention{background:#fdf0e6;border:1px solid #f0cfae}
.doux{color:var(--doux);font-size:.87rem}
.puce{display:inline-block;padding:2px 9px;border-radius:20px;font-size:.78rem;border:1px solid var(--trait)}
.puce.ok{background:#e6f5ed;border-color:#b6ddc7;color:var(--ok)}
.puce.non{background:#f2f4f6;color:var(--doux)}
.puce.mort{background:#fbeaee;border-color:#eec2cc;color:var(--alerte)}
.mono{font-family:ui-monospace,"SF Mono",Menlo,monospace;font-size:.85rem;word-break:break-all}
.cases{display:flex;flex-wrap:wrap;gap:6px 18px;max-height:220px;overflow:auto;
     border:1px solid var(--trait);border-radius:6px;padding:12px;background:#fcfdfe}
.cases label{display:flex;align-items:center;gap:7px;margin:0;color:var(--texte);font-size:.92rem;min-width:220px}
.cases input{width:auto}
audio{width:100%;margin:18px 0}
footer{margin-top:40px;font-size:.82rem;color:var(--doux);text-align:center}

/* --- Barre de navigation --------------------------------------------- */
.barre{background:var(--accent);color:#fff}
.barre-int{max-width:1080px;margin:0 auto;padding:0 18px;display:flex;
     align-items:center;gap:20px;flex-wrap:wrap;min-height:52px}
.marque{font-weight:700;letter-spacing:.02em}
.barre nav{display:flex;gap:2px;flex-wrap:wrap;flex:1}
.barre nav a{color:#cfe0ee;text-decoration:none;padding:8px 13px;border-radius:6px;font-size:.93rem}
.barre nav a:hover{background:rgba(255,255,255,.12);color:#fff}
.barre nav a.actif{background:#fff;color:var(--accent);font-weight:600}
.barre .sortie button{color:#cfe0ee;border-color:rgba(255,255,255,.3)}
.barre .sortie button:hover{background:rgba(255,255,255,.12);color:#fff}

/* --- Compteurs du tableau de bord ------------------------------------ */
.compteurs{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:22px}
.compteur{background:var(--carte);border:1px solid var(--trait);border-radius:10px;
     padding:15px 17px;text-decoration:none;color:inherit;display:block}
.compteur:hover{border-color:var(--accent-clair)}
.compteur .n{font-size:1.9rem;font-weight:700;line-height:1.1}
.compteur .l{font-size:.84rem;color:var(--doux);margin-top:2px}
.compteur.alerte .n{color:var(--alerte)}

/* --- Filtres, recherche, pagination ---------------------------------- */
.filtres{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.filtres label{margin:0 0 3px}
.filtres .champ{flex:0 0 auto}
.filtres input[type=search]{min-width:240px}
.onglets{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}
.onglets a{padding:6px 13px;border:1px solid var(--trait);border-radius:20px;
     text-decoration:none;color:var(--doux);font-size:.87rem;background:var(--carte)}
.onglets a:hover{border-color:var(--accent-clair);color:var(--accent-clair)}
.onglets a.actif{background:var(--accent);border-color:var(--accent);color:#fff}
.pagination{display:flex;align-items:center;gap:10px;justify-content:space-between;
     flex-wrap:wrap;margin-top:16px;font-size:.88rem;color:var(--doux)}
.pagination .liens{display:flex;gap:6px}
.pagination a,.pagination span.inactif{padding:5px 12px;border:1px solid var(--trait);
     border-radius:6px;text-decoration:none;background:var(--carte)}
.pagination span.inactif{opacity:.4}
.vide{text-align:center;padding:34px 18px;color:var(--doux)}
.note{border-left:3px solid var(--trait);padding:6px 0 6px 13px;margin:12px 0}
.note .date{font-size:.8rem;color:var(--doux)}
details.repli>summary{cursor:pointer;font-weight:600;padding:6px 0;color:var(--accent-clair)}
