/* Finance overview composition and data-driven charts. */
.finance-overview { display:grid; gap:var(--zg-space-4); min-inline-size:0; }
.finance-overview :is(h2,p) { margin:0; }
.finance-overview-heading,.finance-overview-section-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--zg-space-3); }
.finance-overview-period,.finance-overview-shortcuts { display:flex; flex-wrap:wrap; align-items:center; gap:var(--zg-space-2); }
.finance-overview-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--zg-space-3); }
.finance-overview-kpi { display:grid; gap:var(--zg-space-3); align-content:start; }
.finance-overview-kpi strong { font-variant-numeric:tabular-nums; }
.finance-overview-kpi .zg-badge { justify-self:start; white-space:normal; }
.finance-overview-kpi--result { border-block-start:var(--zg-table-selected-marker-width) solid var(--zg-accent-primary); }
.finance-overview-columns { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:var(--zg-space-4); }
.finance-overview-section { display:grid; align-content:start; gap:var(--zg-space-4); min-inline-size:0; }
.finance-overview-section svg { inline-size:100%; block-size:auto; }
.finance-overview-section svg text { fill:var(--zg-text-muted); font:var(--zg-weight-regular) var(--zg-font-caption) var(--zg-font-family); }
.finance-overview-axis { stroke:var(--zg-border-default); }
.finance-overview-series-0 { fill:var(--zg-accent-primary); }
.finance-overview-series-1 { fill:var(--zg-state-info); }
.finance-overview-track { fill:var(--zg-surface-subpanel); }
.finance-overview-legend { display:flex; gap:var(--zg-space-4); }
.finance-overview-legend>:first-child { color:var(--zg-accent-primary); }
.finance-overview-legend>:last-child { color:var(--zg-state-info); }
.finance-overview-task { display:flex; align-items:center; gap:var(--zg-space-3); text-decoration:none; }
.finance-overview-task>span:nth-child(2) { flex:1; display:grid; gap:var(--zg-space-1); }
.finance-overview-cost { display:grid; grid-template-columns:1fr auto; gap:var(--zg-space-2); }
.finance-overview-cost svg { grid-column:1/-1; block-size:var(--zg-space-2); }
.finance-overview-due { margin:0; padding:0; list-style:none; }
.finance-overview-due li { display:flex; flex-wrap:wrap; gap:var(--zg-space-3); align-items:center; padding-block:var(--zg-space-3); border-block-end:1px solid var(--zg-border-soft); }
.finance-overview-due li>span:nth-child(2) { display:grid; flex:1; min-inline-size:120px; }
.finance-overview-pos { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--zg-space-4); }
.finance-overview-pos>div { display:grid; gap:var(--zg-space-2); }
.finance-overview .zg-table-scroll { min-inline-size:0; }
@media (max-width:1100px) { .finance-overview-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:800px) { .finance-overview-columns { grid-template-columns:minmax(0,1fr); } .finance-overview-pos { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:450px) { .finance-overview-kpis { grid-template-columns:minmax(0,1fr); } }
