/* A statement first, with evidence and cash activity below it. Shared with readers. */
#financial-section { scroll-margin-block-start: 24px; }
[data-theme="light"] #financial-report { --financial-paper: #fff; }
#financial-report { min-inline-size: 0; inline-size: 100%; }
.financial-paper { padding: clamp(14px,1.7vw,24px); background: var(--financial-paper, var(--bg2)); border: 1px solid var(--bd); border-radius: var(--r); }
.financial-report-header { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: start; gap: 12px; margin-block-end: 12px; }
.financial-report-header h3 { margin: 0; font-size: clamp(23px,2vw,28px); letter-spacing: -.035em; line-height: 1.2; }
.financial-report-header p { margin-block: 8px 0; color: var(--t2); font-size: 14px; }
.financial-report-header p span { white-space: nowrap; }
.financial-status { padding-block: 4px; color: var(--t2); font-size: 12px; font-weight: 500; }
.financial-status-incomplete, .financial-status-unbalanced { color: oklch(42% .09 70); }
.financial-status-draft_balanced { color: var(--ac); }
.financial-table-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 20px; }
.financial-table-tools button { min-block-size: 32px; padding-block: 4px; font-size: 12px; }
.balance-sheet thead th { position: relative; }
.balance-sheet thead th:has(.financial-column-handle) { padding-inline-end: 12px; }
.financial-column-handle { position: absolute; inset-inline-end: -8px; inset-block: 0; inline-size: 16px; cursor: col-resize; touch-action: none; z-index: 1; }
.financial-column-handle::after { content: ''; position: absolute; inset-inline-start: 7px; inset-block: 7px; border-inline-start: 2px solid var(--bdh); }
.financial-column-handle:focus-visible { outline: 2px solid var(--ac); outline-offset: -2px; }
.financial-column-handle:active::after { border-color: var(--ac); }
.balance-sheet.is-resizing { user-select: none; cursor: col-resize; }
.financial-column-help { margin-block: 8px; color: var(--t2); font-size: 12px; }
.financial-statement { min-inline-size: 0; overflow-x: auto; }
.balance-sheet { inline-size: 100%; border-collapse: collapse; font-size: 14px; font-variant-numeric: tabular-nums; }
.balance-sheet th { text-align: start; font-weight: 400; }
.balance-sheet td, .balance-sheet th { padding: 0; vertical-align: top; }
.balance-sheet thead th { color: var(--t2); font-size: 12px; font-weight: 500; border-block-end: 1px solid var(--bd); }
.balance-sheet thead th span { font-size: 11px; }
.balance-sheet .financial-value { text-align: end; white-space: nowrap; padding-inline-start: 16px; padding-block: 6px; inline-size: 18%; }
.balance-sheet .financial-group th { padding-block: 16px 5px; font-size: 14px; font-weight: 650; }
.balance-sheet .financial-subtotal th, .balance-sheet .financial-subtotal td { font-weight: 600; padding-block: 8px; border-block-start: 1px solid var(--bdh); }
.balance-sheet .financial-net th, .balance-sheet .financial-net td { padding-block: 10px; font-size: 14px; font-weight: 650; border-block-start: 1px solid var(--t1); }
.balance-sheet .financial-difference th, .balance-sheet .financial-difference td { padding-block: 10px; font-weight: 600; border-block: 3px double var(--bdh); }
.financial-derived { display: block; padding-block: 6px; padding-inline: 14px 8px; }
.financial-number { font-variant-numeric: tabular-nums; }
.balance-sheet td.financial-closing .financial-number { font-size: 14px; font-weight: 500; }
.balance-sheet :is(.financial-subtotal, .financial-net, .financial-difference) td.financial-closing .financial-number { font-weight: 650; }
.balance-sheet tbody > tr:not(.financial-group):not(.financial-subtotal):not(.financial-net) > * { border-block-end: 1px solid color-mix(in oklch, var(--bd) 55%, transparent); }
.balance-sheet .financial-group th { color: var(--ac); }
.financial-opening, .financial-unknown { color: var(--t2); }
.financial-unknown { font-weight: 400; }
.financial-evidence { margin: 0; }
.financial-evidence summary { min-block-size: 32px; padding-block: 6px; padding-inline: 14px 8px; line-height: 1.4; list-style: none; position: relative; }
.financial-evidence summary::marker { content: ''; }
.financial-evidence summary::-webkit-details-marker { display: none; }
.financial-evidence summary::before { content: ''; position: absolute; inset-inline-start: 0; inset-block-start: 50%; inline-size: 5px; block-size: 5px; border-inline-end: 1px solid currentColor; border-block-end: 1px solid currentColor; transform: translateY(-50%) rotate(-45deg); color: var(--t2); }
.financial-evidence[open] > summary::before { transform: translateY(-50%) rotate(45deg); }
.financial-evidence > div { max-inline-size: 72ch; padding-block: 0 12px; padding-inline: 14px 16px; font-size: 13px; overflow-wrap: anywhere; }
.financial-evidence p { margin-block: 8px; }
.balance-sheet .financial-action { inline-size: 56px; padding-inline-start: 12px; text-align: end; vertical-align: top; }
.balance-sheet thead .financial-action { padding-inline-end: 10px; padding-block: 6px; }
.financial-edit { min-block-size: 32px; min-inline-size: 44px; padding: 4px 6px; font-size: 12px; color: var(--ac); }
.financial-statement-note, .financial-disclaimer, .financial-chart-note, .financial-basis, .financial-opening-status { color: var(--t2); font-size: 12px; line-height: 1.6; }
.financial-statement-note { margin-block: 12px; max-inline-size: 70ch; }
.financial-source-warning { color: oklch(42% .09 70); font-size: 13px; }
.financial-opening-status, .financial-gaps { margin-block: 0; border-block-start: 1px solid var(--bd); }
.financial-opening-status > summary, .financial-gaps > summary { min-block-size: 44px; padding-block: 12px; font-size: 13px; font-weight: 500; }
.financial-gaps ul, .financial-opening-status ul { padding-inline-start: 20px; font-size: 13px; color: var(--t2); }
.financial-gaps li, .financial-opening-status li { margin-block: 8px; }
.financial-disclaimer { margin-block: 12px 0; max-inline-size: 80ch; }
.financial-recorded { padding-block: 12px; border-block-end: 1px solid var(--bd); }
.financial-recorded > summary { padding-block: 12px; min-block-size: 44px; font-size: 14px; font-weight: 500; }
.financial-recorded > summary > span { color: var(--t2); font-weight: 400; font-size: 12px; margin-inline-start: 12px; }
.financial-recorded dl { margin: 0; }
.financial-recorded dl > div { display: flex; gap: 12px; justify-content: space-between; padding-block: 12px; border-block-end: 1px solid var(--bd); font-size: 13px; }
.financial-recorded dt { min-inline-size: 0; overflow-wrap: anywhere; }
.financial-recorded dt span { display: block; font-size: 11px; color: var(--t2); margin-block-start: 4px; }
.financial-recorded dd { margin: 0; white-space: nowrap; font-weight: 600; font-variant-numeric: tabular-nums; }
.financial-charts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 40px; margin-block-start: 32px; }
.financial-charts figure { min-inline-size: 0; margin: 0; padding-block: 24px; border-block-start: 1px solid var(--bdh); }
.financial-charts h3 { font-size: 16px; font-weight: 600; letter-spacing: -.015em; margin-block: 0 6px; }
.financial-chart-context { font-size: 12px; color: var(--t2); margin-block: 0 20px; }
.financial-bar-row { margin-block: 20px; }
.financial-bar-row > div:first-child { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; font-size: 13px; margin-block-end: 8px; }
.financial-bar-row strong { font-weight: 600; font-variant-numeric: tabular-nums; }
.financial-track { block-size: 7px; inline-size: 100%; background: var(--bd); overflow: clip; }
.financial-bar { display: block; block-size: 100%; }
.financial-bar.receipts { background: oklch(48% .08 180); }
.financial-bar.payments { background: oklch(57% .11 65); }
.financial-chart-note { margin-block: 16px 0; max-inline-size: 72ch; }
.financial-chart-empty { color: var(--t2); font-size: 13px; grid-column: 1 / -1; }
.financial-basis { grid-column: 1 / -1; margin: 0; }
.financial-basis summary { min-block-size: 44px; padding-block: 12px; }
.sr-only { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: clip; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (hover: hover) and (pointer: fine) {
 .balance-sheet tbody > tr:not(.financial-group):hover { background: var(--bg); }
}
@media (max-width: 600px) {
 .financial-paper { padding: 16px 12px; }
 .balance-sheet .financial-action { inline-size: 44px; padding-inline-start: 4px; }
 .financial-edit { min-block-size: 44px; }
 .balance-sheet thead .financial-action { padding-block: 10px; }
 .financial-evidence summary { min-block-size: 44px; padding-block: 10px; }
 .financial-derived { padding-block: 10px; }
 .financial-report-header { display: block; }
 .financial-status { display: inline-block; margin-block-start: 8px; }
 .balance-sheet { font-size: 12px; }
 .balance-sheet .financial-value { padding-inline-start: 6px; padding-block: 10px; inline-size: 23%; }
 .balance-sheet td.financial-closing .financial-number { font-size: 13px; }
 .balance-sheet th:first-child { min-inline-size: 0; overflow-wrap: anywhere; }
 .financial-evidence summary { overflow-wrap: anywhere; }
 .financial-charts { grid-template-columns: minmax(0,1fr); gap: 28px; }
}
@media (width < 720px) {
 .financial-column-handle, .financial-column-help, [data-reset-columns] { display: none; }
}
@media print {
 .financial-paper { border: 0; padding: 0; }
 .financial-statement { overflow: visible; }
 .financial-charts { break-inside: avoid; }
 .financial-edit, .balance-sheet .financial-action { display: none; }
 .financial-column-handle, .financial-column-help, .financial-table-tools button, .financial-action-column { display: none; }
 .balance-sheet { table-layout: auto !important; }
 .balance-sheet col { width: auto !important; }
}
/* Direct dragging tracks the pointer; discrete width changes settle briefly. */
@media screen and (min-width: 720px) and (prefers-reduced-motion: no-preference) {
 .balance-sheet:not(.is-resizing) col { transition: width 160ms cubic-bezier(.23,1,.32,1); }
}
