/* Statistiques publiques — s'appuie sur acca.css pour la base. */
body { max-width: 880px; }
.kpis-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 520px) { .kpis-4 { grid-template-columns: repeat(2, 1fr); } }

.block { background: var(--bone); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; margin-bottom: 14px; }
.block h2 { font-size: 1rem; margin: 0 0 4px; }
.chart { margin-top: 8px; }
.chart svg { display: block; width: 100%; height: auto; }

#map { height: 380px; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); background: var(--mist); margin-top: 8px; }
@media (max-width: 700px) { #map { height: 300px; } }
.leaflet-container { font: inherit; }

.table-wrap { overflow-x: auto; }
.dept { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.dept th { text-align: left; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--moss); padding: 6px 8px; border-bottom: 1px solid var(--line); }
.dept td { padding: 8px; border-bottom: 1px solid var(--line); font-variant-numeric: tabular-nums; }
.dept td:not(:first-child), .dept th:not(:first-child) { text-align: right; }

/* Hauteurs réservées : sans elles, KPI et graphiques poussaient la page au
   chargement (CLS). */
.kpi { min-height: 72px; }
.chart { min-height: 220px; }

.site-nav { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 10px 0; font-size: 0.9rem; }
.site-nav a { color: var(--moss); text-decoration: none; }
.site-nav a:hover, .site-nav a:focus-visible { text-decoration: underline; }
.crumbs { font-size: 0.8rem; color: var(--moss); margin: 0 0 10px; }
.crumbs a { color: inherit; }
.dept td a { color: inherit; }
.nap { font-size: 0.8rem; }
#snippet { width: 100%; font: 0.8rem/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--mist); color: inherit; resize: vertical; }
