.finance-budget { min-inline-size:0; }
.finance-workshop { display:grid; gap:var(--zg-space-4); min-inline-size:0; }
.finance-workshop>* { min-inline-size:0; }
.finance-workshop>h2,.finance-workshop>p { margin:0; }
.finance-workshop-fields { display:flex; align-items:end; flex-wrap:wrap; gap:var(--zg-space-3); margin-block:var(--zg-space-3); }
.finance-workshop-fields .zg-field { flex:1 1 180px; }
.finance-workshop-grid { max-block-size:60vh; }
.finance-workshop-grid table { min-inline-size:2000px; }
.finance-workshop-grid input { min-inline-size:110px; }
.finance-workshop-grid th:first-child { min-inline-size:220px; position:sticky; inset-inline-start:0; background:var(--zg-surface-subpanel); color:var(--zg-text-primary); }
.finance-workshop-grid small { display:block; }
.finance-workshop-actions { gap:var(--zg-space-3); flex-wrap:wrap; }
.tool-finance.finance-budget-view .finance-main { padding-block-start:0; }
.finance-budget-tabs { margin-inline:calc(-1 * var(--zg-page-padding-x)); margin-block-end:var(--zg-page-padding-y); }
.finance-budget-kpis { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:var(--zg-space-4); margin-block:var(--zg-space-4); }
.finance-budget-kpi { display:grid; gap:var(--zg-space-2); }
.finance-budget-kpi h2 { margin:0; }
.finance-budget-charts { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr)); gap:var(--zg-space-4); }
.finance-budget-chart { display:block; inline-size:100%; height:auto; }
.finance-budget-chart text { fill:var(--zg-text-muted); font:var(--zg-font-caption) var(--zg-font-family); }
.finance-budget-chart-plan { fill:var(--zg-surface-subpanel); stroke:var(--zg-text-muted); stroke-width:1; }
.finance-budget-chart-actual { fill:var(--zg-accent-primary); }
.finance-budget-chart-axis { stroke:var(--zg-border-default); stroke-width:1; }
.finance-budget-chart-legend { display:flex; gap:var(--zg-space-4); }
.finance-budget-chart-legend>span:last-child { color:var(--zg-accent-primary); }
.finance-budget-controls { align-items:end; }
.finance-budget-scroll { max-inline-size:100%; max-block-size:70vh; overflow:auto; }
.finance-budget-table { min-inline-size:2800px; width:100%; table-layout:fixed; border-collapse:separate; border-spacing:0; }
.finance-budget-table--quarter { min-inline-size:1000px; }
.finance-budget-toolbar { gap:var(--zg-space-4); flex-wrap:wrap; margin-block-end:var(--zg-space-4); align-items:flex-end; }
.finance-budget-toolbar>.zg-control { min-block-size:var(--zg-button-height); align-items:center; }
.finance-budget-history { border-block-start:1px solid var(--zg-border-soft); margin-block-start:var(--zg-space-2); padding-block-start:var(--zg-space-2); }
.finance-budget-table thead th { position:sticky; inset-block-start:0; z-index:2; }
.tool-finance .finance-budget-table tbody th { position:sticky; inset-inline-start:0; z-index:1; background:var(--zg-surface-card); }
.finance-budget-table thead th:first-child { inset-inline-start:0; z-index:3; }
.finance-budget-expand { inline-size:100%; white-space:normal; text-align:start; justify-content:flex-start; padding:var(--zg-space-2) var(--zg-space-4); }
.finance-budget-table td { font-variant-numeric:tabular-nums; }
.finance-budget-table .finance-budget-total { background:var(--zg-surface-subpanel); }
.finance-budget-table :is(th,td) { border:1px solid var(--zg-border-soft); vertical-align:top; padding:var(--zg-space-2); }
.tool-finance .finance-budget-table thead th { background:var(--zg-surface-subpanel); color:var(--zg-text-primary); }
.tool-finance .finance-budget-table tbody th { background:var(--zg-surface-card); color:var(--zg-text-primary); font:inherit; text-align:start; font-weight:var(--zg-weight-semibold); }
.tool-finance .finance-budget-table tbody .finance-budget-summary>th,
.tool-finance .finance-budget-table .finance-budget-detail:nth-child(even)>th { background:var(--zg-surface-soft); }
.finance-budget-account-col { width:220px; }
.finance-budget-table tbody .finance-budget-summary>* { border-block-start:var(--zg-table-selected-marker-width) solid var(--zg-border-default); background:var(--zg-surface-soft); font-weight:var(--zg-weight-bold); }
.finance-budget-detail th { padding-inline-start:var(--zg-space-6); }
.finance-budget-table .finance-budget-detail :is(th,strong) { font-weight:var(--zg-weight-regular); }
.finance-budget-detail:nth-child(even) { background:var(--zg-surface-soft); }
.finance-budget-row-label { display:grid; gap:var(--zg-space-1); }
.finance-budget-row-kind { color:var(--zg-text-muted); font-weight:var(--zg-weight-regular); }
.finance-budget-account-label { display:flex; gap:var(--zg-space-2); align-items:center; padding-inline-start:var(--zg-space-3); }
.finance-budget-account-label>span { color:var(--zg-text-muted); }
.tool-finance .finance-budget-table .finance-budget-main>th,
.tool-finance .finance-budget-table .finance-budget-main>td { background:var(--zg-surface-subpanel); }
.tool-finance .finance-budget-table .finance-budget-main>th,
.finance-budget-main .finance-budget-expand { font-weight:var(--zg-weight-bold); }
.tool-finance .finance-budget-table .finance-budget-summary>th,
.tool-finance .finance-budget-table .finance-budget-summary>td { background:var(--zg-accent-secondary); border-block-start:var(--zg-table-selected-marker-width) solid var(--zg-border-default); }
.tool-finance .finance-budget-table .finance-budget-final>th,
.tool-finance .finance-budget-table .finance-budget-final>td { border-block-start:var(--zg-table-selected-marker-width) solid var(--zg-accent-primary); border-block-end:var(--zg-table-selected-marker-width) double var(--zg-accent-primary); }
.finance-budget-summary .finance-budget-row-label>span { font-weight:var(--zg-weight-bold); }
.finance-budget-pair { display:flex; align-items:baseline; justify-content:space-between; gap:var(--zg-space-2); white-space:nowrap; }
.finance-budget-meta,.finance-budget-change { font-size:var(--zg-font-caption); line-height:var(--zg-line-caption); }
.finance-budget-meta { color:var(--zg-text-muted); }
.finance-budget-change { color:var(--zg-state-info); }
.finance-budget-delta--success,.finance-budget-delta--strong-success { color:var(--zg-state-success); }
.finance-budget-delta--strong-success { font-weight:var(--zg-weight-bold); }
.finance-budget-delta--warning { color:var(--zg-state-warning); }
.finance-budget-delta--danger { color:var(--zg-state-danger); }
.finance-budget-delta--neutral { color:var(--zg-text-muted); }
@media print {
 @page { size:A4 landscape; margin:4mm; }
 body.finance-print-budget { background:var(--zg-surface-card); }
 .finance-print-budget :is(.finance-sidebar,.finance-skip-link,.finance-book-tabs,.finance-budget-tabs,.finance-budget-controls) { display:none !important; }
 .finance-print-budget :is(.finance-shell,.finance-main,.finance-book-content,.finance-budget-card) { display:block; margin:0; padding:0; min-block-size:0; box-shadow:none; border:0; }
 .finance-print-budget .finance-budget-scroll { overflow:visible; max-block-size:none; }
 .finance-print-budget .finance-budget-table :is(thead th,tbody th) { position:static; }
 .finance-print-budget .finance-budget-account-col { width:12%; }
 .finance-print-budget .finance-budget-expand { font:inherit; min-block-size:0; padding:0; }
 .finance-print-budget .finance-budget-table { min-inline-size:0; width:100%; }
 .finance-print-budget .finance-budget-table :is(th,td) { padding:2px 3px; block-size:auto; font-size:6pt; line-height:1.15; }
 .finance-print-budget.tool-finance .finance-budget-table tbody th { font-size:6pt; line-height:1.15; }
 .finance-print-budget :is(.finance-budget-meta,.finance-budget-change) { font-size:6pt; line-height:1.15; }
 .finance-print-budget .finance-budget-table .finance-budget-pair { gap:1px; }
 .finance-print-budget .finance-budget-table thead { display:table-header-group; }
 .finance-print-budget .finance-budget-table tr { break-inside:avoid; }
 .finance-print-budget .finance-budget-table tbody th { overflow-wrap:anywhere; }
 .finance-print-budget .finance-budget .zg-page-header { margin-block-end:var(--zg-space-2); }
 .finance-print-budget .finance-budget .zg-page-header__title { font-size:var(--zg-font-body); }
}
