/* Reports (C4). Chart colours: console navy #234E91 and orange #eb6834, validated for colour-blind separation on white. */
.rpt-filter { display: inline-flex; margin: 0 0 16px; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.rpt-filter button { padding: 7px 16px; border: 0; background: var(--surface); font: inherit; font-size: 13px; cursor: pointer; }
.rpt-filter button + button { border-left: 1px solid var(--border); }
.rpt-filter button[aria-pressed="true"] { background: var(--accent-soft, #e8eff9); color: var(--accent-ink, #1b3f77); font-weight: 600; }
.rpt-grid-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.rpt-card { padding: 14px 16px 12px; }
.rpt-card h2 { margin: 0; font-size: 15px; font-weight: 700; }
.rpt-sub { margin: 2px 0 8px; color: var(--ink-500, #56657a); font-size: 12px; }
.rpt-foot { margin: 6px 0 0; color: var(--ink-500, #56657a); font-size: 11px; }
.rpt-empty { padding: 32px 0; color: var(--ink-500, #56657a); }
.rpt-chart { display: block; width: 100%; height: auto; }
.rpt-grid { stroke: var(--divider, #e5e9f0); stroke-width: 1; }
.rpt-base { stroke: var(--ink-300, #9aa6b8); stroke-width: 1; }
.rpt-ax { font: 11px var(--font-sans, sans-serif); fill: var(--ink-500, #56657a); }
.rpt-val { font: 600 11px var(--font-mono, monospace); fill: var(--ink-700, #2a3950); }
.rpt-keys { display: flex; gap: 12px; margin: 0 0 4px; font-size: 12px; color: var(--ink-700, #2a3950); }
.rpt-keys span { display: inline-flex; align-items: center; gap: 5px; }
.rpt-keys i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; }
.rpt-table { margin-top: 6px; font-size: 12px; color: var(--ink-500, #56657a); }
.rpt-table summary { cursor: pointer; }
.rpt-table table { width: 100%; margin-top: 6px; }
.rpt-households { display: grid; gap: 6px; margin: 4px 0 0; padding: 0; list-style: none; font-size: 13px; }
.rpt-households li { display: grid; grid-template-columns: minmax(0, 11rem) 1fr auto; align-items: center; gap: 10px; }
.rpt-households a { overflow: hidden; color: inherit; text-overflow: ellipsis; white-space: nowrap; }
.rpt-hbar { display: block; height: 10px; border-radius: 3px; background: var(--surface-alt); }
.rpt-hbar i { display: block; height: 100%; border-radius: 3px; background: #274C9B; }
.rpt-households b { font: 600 12px var(--font-mono, monospace); }
@media (max-width: 860px) { .rpt-grid-cards { grid-template-columns: 1fr; } }
/* S4 (2026-09-24): on a phone a table view scrolls inside its card instead of sticking out past the screen. */
.rpt-grid-cards > * { min-width: 0; }
.rpt-table { max-width: 100%; overflow-x: auto; }
.rpt-households li { min-width: 0; }
