.dashboard-main { padding-top: 2rem; padding-bottom: 4rem; }
.dashboard-hero { display: flex; align-items: end; justify-content: space-between; gap: 2rem; flex-wrap: wrap; margin-bottom: 2.5rem; padding: 2rem; border-left: 5px solid var(--border-action-high-blue-france); background: linear-gradient(135deg, #ececfe, #f5f5fe); }
.dashboard-hero > div { max-width: 50rem; }.dashboard-hero h1 { color: var(--text-title-blue-france); }
.dashboard-filter { display: grid; grid-template-columns: repeat(4, minmax(9rem, 1fr)); align-items: end; gap: .75rem; width: 100%; }.dashboard-filter .fr-btn { align-self: end; }
.dashboard-filter-actions { display: flex; align-items: center; gap: .75rem; grid-column: span 2; }.dashboard-filter-actions .fr-btn { justify-content: center; margin: 0; }
.dashboard-commune-page-size { display: flex; align-items: end; gap: .75rem; flex-wrap: nowrap; margin-top: 1.5rem; }.dashboard-commune-page-size .fr-label { flex: 0 0 auto; }.dashboard-commune-page-size .fr-select { flex: 0 0 7rem; width: 7rem !important; max-width: 7rem; }.dashboard-commune-page-size .fr-btn { flex: 0 0 auto; width: auto !important; margin: 0; white-space: nowrap; }
.dashboard-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
.dashboard-cards article { display: flex; flex-direction: column; padding: 1.5rem; border-top: 4px solid var(--border-action-high-blue-france); background: var(--background-default-grey); box-shadow: 0 2px 8px rgba(0,0,18,.08); }
.dashboard-cards strong { color: var(--text-title-blue-france); font-size: 1.6rem; line-height: 1.2; }.dashboard-cards span { margin-top: .4rem; }
.dashboard-section { margin-top: 3rem; }.dashboard-section .fr-table { max-width: 100%; margin-bottom: 0; overflow: visible; }
.dashboard-section .fr-table table { width: 100%; }
.dashboard-bars { display: grid; gap: .5rem; margin-bottom: 1rem; }.dashboard-bars div { display: grid; grid-template-columns: 4rem 1fr; align-items: center; gap: .75rem; }.dashboard-bars progress { width: 100%; height: 1rem; accent-color: var(--background-action-high-blue-france); }
.dashboard-actions { display: flex; flex-wrap: wrap; gap: .75rem; }.dashboard-main--presentation .dashboard-filter { display: none; }
.dashboard-trend { margin: 2rem 0; padding: 1.25rem; border-left: 4px solid var(--border-action-high-blue-france); background: var(--background-alt-blue-france); }
.dashboard-empty { margin: 2rem 0; }.dashboard-map { height: 36rem; min-height: 24rem; border: 1px solid var(--border-default-grey); }.dashboard-map-legend { display: flex; align-items: flex-start; gap: .75rem 1rem; flex-wrap: wrap; margin: .75rem 0 1.5rem; }.dashboard-map-legend__item { display: inline-flex; align-items: center; gap: .4rem; font-size: .875rem; }.dashboard-map-legend__swatch { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; border: 1px solid #4a4a4a; }.dashboard-map-legend__swatch--1 { background: #dbeafe; }.dashboard-map-legend__swatch--2 { background: #bfdbfe; }.dashboard-map-legend__swatch--3 { background: #93c5fd; }.dashboard-map-legend__swatch--4 { background: #3b82f6; }.dashboard-map-legend__swatch--5 { background: #1d4ed8; }.dashboard-map-legend__swatch--6 { background: #172554; }.dashboard-map-scale { width: min(18rem, 45vw); height: 1rem; border: 1px solid #4a4a4a; background: linear-gradient(90deg, #dbeafe, #bfdbfe, #93c5fd, #3b82f6, #1d4ed8, #172554); }
@media (max-width: 48rem) { .dashboard-main { padding-top: 1rem; }.dashboard-hero { padding: 1.25rem; }.dashboard-filter { width: 100%; grid-template-columns: 1fr; }.dashboard-filter-actions { grid-column: 1; }.dashboard-filter-actions .fr-btn { flex: 1 1 0; width: auto; } }
@media print { header, footer, .dashboard-filter, .dashboard-actions { display: none !important; }.dashboard-main { max-width: none; padding: 0; }.dashboard-section { break-inside: avoid; }.fr-table { overflow: visible !important; } }
