/* CERTIVA — console de l'administration fiscale (écran E2) : recherche globale, cartes du
   tableau de bord, graphique SVG des taxes facturées (rendu serveur), répartitions, fiche
   contribuable et exports. Chargée après app.css pour la seule surface « dgi ».
   Couleurs de séries : charte (Vert sapin, Or assombri, Encre) complétée de teintes
   contrastées (≥ 3:1 sur blanc, WCAG 1.4.11) ; segments séparés par un filet blanc ; aucune
   information portée par la seule couleur (légende, titres, table de données). */

.console-search .search-row { display: flex; flex-wrap: wrap; gap: .5rem .75rem; align-items: stretch; }
.console-search .search-row input { flex: 1 1 18rem; }
.console-search .field { margin-bottom: 0; }
.suggestions:empty { display: none; }
.suggestion-list { list-style: none; margin: .5rem 0 0; padding: 0; border: 1px solid var(--cv-trait-sable); border-radius: var(--cv-radius); background: var(--cv-blanc); }
.suggestion-list li { display: flex; flex-wrap: wrap; gap: .25rem .75rem; align-items: baseline; padding: .45rem .75rem; border-bottom: 1px solid var(--cv-trait-sable); }
.suggestion-list li:last-child { border-bottom: 0; }
.suggestion-list a { font-weight: 600; }

.console-filter .field { flex: 1 1 11rem; }
.console-filter .actions { margin-top: 0; }

/* Cartes d'indicateurs */
.console-kpis { grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); }
.console-kpis .kpi h3.label { font: 400 .9rem/1.3 var(--cv-font-body); color: var(--cv-ardoise); margin: 0; }
.kpi-note { margin: .35rem 0 0; font-size: .85rem; color: var(--cv-ardoise); }
.kpi-items { list-style: none; padding: .5rem 0 0; margin: .5rem 0 0; border-top: 1px solid var(--cv-trait-sable); font-size: .9rem; }
.kpi-items li { display: flex; justify-content: space-between; gap: .75rem; }
.stale { font-weight: 600; }
.dashboard-data .stamp { display: flex; flex-wrap: wrap; gap: .25rem 1rem; align-items: baseline; }

/* Graphique des taxes facturées par jour */
.chart-frame { overflow-x: auto; margin: .5rem 0; }
.chart-svg { width: 100%; min-width: 36rem; height: auto; }
.chart-svg .gridline { stroke: var(--cv-trait-sable); stroke-width: 1; }
.chart-svg .axis { stroke: var(--cv-encre); stroke-width: 1.5; }
.chart-svg .tick-label, .chart-svg .day-label { fill: var(--cv-ardoise); font: 11px var(--cv-font-mono); }
.chart-svg .hit { fill: transparent; }
.chart-svg .bar:hover .hit { fill: var(--cv-zebrage); }
.chart-svg .bar rect[class^="series-"] { stroke: var(--cv-blanc); stroke-width: 1; }
.series-0 { fill: #0C5C3E; }  /* Vert sapin */
.series-1 { fill: #A0782A; }  /* Or assombri (contraste 4:1) */
.series-2 { fill: #12161B; }  /* Encre */
.series-3 { fill: #2F6F8F; }
.series-4 { fill: #9B5B2B; }
.series-5 { fill: #5C6172; }  /* Ardoise */
.legend { list-style: none; padding: 0; margin: .25rem 0 .5rem; display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; font-size: .9rem; }
.legend li { display: inline-flex; gap: .4rem; align-items: center; }
.legend .swatch { width: .9rem; height: .9rem; }
.chart-data summary { cursor: pointer; font-weight: 600; margin: .5rem 0; }

/* Répartitions */
.breakdown { margin-bottom: 1rem; }
.breakdown caption { text-align: left; font-weight: 600; padding: .5rem 0; }
.breakdown .share { white-space: nowrap; }
.breakdown meter { width: 8rem; height: .8rem; vertical-align: middle; margin-right: .5rem; }

/* Fiche, document, exports */
.badges { white-space: nowrap; }
.badges .badge { margin: 0 .25rem .25rem 0; }
.versions summary { cursor: pointer; font-weight: 600; margin: .75rem 0 .5rem; }
.version { border-top: 1px solid var(--cv-trait-sable); padding-top: .5rem; margin-top: .5rem; }
.integrity { border-left: 4px solid var(--cv-vert-sapin); }
.export-status progress { width: 100%; max-width: 32rem; height: 1rem; display: block; margin: .35rem 0 .5rem; }
.criterion { display: inline-block; margin-right: .75rem; }
.hash { word-break: break-all; font-size: .8rem; }
