/* Compact desktop-first BI surface; all chart geometry is server-rendered SVG. */
.reports-page .reports-heading { margin-bottom: 1rem; }
.reports-command-header, .reports-command-bar { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(250px, 250px) minmax(180px, auto) minmax(180px, 180px) auto; gap: .6rem; align-items: center; border-block: 1px solid var(--border, #d9dde2); padding: .55rem 0; margin-bottom: 1rem; white-space: nowrap; }
.reports-title { margin: 0; font-size: 1.35rem; line-height: 1.1; }
.report-command-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; min-width: 0; align-items: center; gap: .5rem; }
.report-command-form label { color: var(--muted, #646b73); font-size: .75rem; font-weight: 700; }
.report-command-form select { min-width: 0; width: 100%; }
.report-command-form .button { min-width: 0; min-height: 40px; padding-inline: .55rem; white-space: nowrap; }
.report-command-meta { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .6rem .8rem; color: var(--muted, #646b73); font-size: .75rem; }
.report-generated { color: var(--muted, #646b73); font-size: .75rem; white-space: nowrap; }
.report-scope-chip { color: var(--ink, #20252b); font-weight: 700; }
.report-window-tabs { display: flex; flex-wrap: nowrap; gap: .15rem; }
.report-window-tab { padding: .45rem .55rem; border-bottom: 2px solid transparent; color: var(--muted, #646b73); font-size: .78rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.report-window-tab.is-current { border-bottom-color: var(--ink, #20252b); color: var(--ink, #20252b); }
.report-kpi-strip { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr) minmax(0, .8fr); gap: 1rem; margin-bottom: 1rem; }
.report-kpi { min-width: 0; border-top: 3px solid var(--ink, #20252b); padding: .6rem 0 .55rem; }
.report-kpi-label { display: block; color: var(--muted, #646b73); font-size: .76rem; font-weight: 700; }
.report-kpi strong { display: block; margin-top: .2rem; font-size: 1.65rem; line-height: 1.1; font-variant-numeric: tabular-nums; }
.report-kpi-primary strong { font-size: 2.25rem; }
.report-kpi-caption { margin: -.55rem 0 1rem; color: var(--muted, #646b73); font-size: .75rem; }
.report-panel { min-width: 0; border-top: 1px solid var(--border, #d9dde2); padding-top: .8rem; }
.report-panel h2 { margin: 0 0 .2rem; font-size: 1.15rem; line-height: 1.15; }
.report-panel .section-heading p { margin: 0; color: var(--muted, #646b73); font-size: .78rem; }
.report-flow-panel { min-height: 0; margin-bottom: 1rem; }
.report-chart-frame { width: 100%; margin-top: .6rem; }
.report-flow-chart, .report-aging-chart, .report-dealer-chart { display: block; width: 100%; height: auto; overflow: visible; }
.report-flow-chart { height: 230px; }
.chart-axis { stroke: var(--border, #c8cdd2); stroke-width: 1; vector-effect: non-scaling-stroke; }
.chart-axis-label, .chart-axis-title, .chart-x-label, .aging-band-label, .aging-value-label, .dealer-label, .dealer-value, .dealer-metric-label { fill: var(--muted, #646b73); font-family: inherit; font-size: 12px; }
.chart-axis-label, .aging-value-label, .dealer-value { font-size: 12px; }
.chart-axis-title { font-weight: 700; }
.chart-x-label, .aging-band-label, .dealer-label { fill: var(--ink, #20252b); font-weight: 700; }
.flow-bar, .aging-bar, .dealer-bar { stroke: none; }
.flow-bar-open, .dealer-bar-open { fill: #315f85; }
.flow-bar-closed, .dealer-bar-vor { fill: #777; }
.aging-bar { fill: var(--ink, #20252b); }
.aging-fill-2 { fill: #ba7a16; }.aging-fill-3 { fill: #a75522; }.aging-fill-4 { fill: #9d2d2d; }
.trend-legend { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: .25rem; color: var(--muted, #646b73); font-size: .75rem; }
.legend-swatch { display: inline-block; width: .65rem; height: .65rem; margin-right: .3rem; vertical-align: -.05rem; }
.legend-open { background: #315f85; }.legend-closed { background: #777; }
.reports-secondary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; align-items: start; }
.report-aging-chart { margin-top: .6rem; }
.report-empty { margin: .8rem 0 0; padding: .8rem; border: 1px dashed var(--border, #d9dde2); color: var(--muted, #646b73); font-size: .82rem; }
.report-footnote { border-top: 1px solid var(--border, #d9dde2); margin: 1rem 0 0; padding-top: .65rem; color: var(--muted, #646b73); font-size: .75rem; }
.report-scope-note { margin: 0 0 1rem; color: var(--muted, #646b73); font-size: .82rem; }
.report-download-list { display: grid; gap: .65rem; margin-top: .8rem; }
.report-download-item { display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--border, #d9dde2); padding: .75rem 0; }
.report-download-item h3 { margin: 0 0 .25rem; font-size: .95rem; }.report-download-item p { margin: 0; color: var(--muted, #646b73); font-size: .78rem; }
@media (max-width: 900px) {
  .reports-command-header, .reports-command-bar, .reports-secondary-grid { grid-template-columns: 1fr; align-items: stretch; white-space: normal; }
  .reports-command-header .report-command-form { display: flex; flex-wrap: wrap; }
  .report-command-meta { justify-content: flex-start; }
  .report-command-meta .button { margin-left: auto; }
}
@media (max-width: 560px) {
  .report-kpi-strip { grid-template-columns: 1fr; gap: .65rem; }
  .report-kpi strong, .report-kpi-primary strong { font-size: 1.5rem; }
  .report-command-form select, .report-command-form .button { flex: 1 1 100%; width: 100%; }
  .report-command-meta { align-items: flex-start; flex-direction: column; }
  .report-command-meta .button { margin-left: 0; width: 100%; }
  .report-flow-chart { max-height: none; }
  .report-download-item { align-items: flex-start; flex-direction: column; }.report-download-item .button { width: 100%; }
}
