/* Hallmark · genre: modern-minimal · macrostructure: Workbench · design-system: design.md · designed-as-app */
/* Hallmark · pre-emit critique: P4 H5 E4 S5 R5 V4 */
.finance-page { min-width:0; }
.finance-page .heading { margin-bottom:var(--space-lg); }
.finance-tabs { display:flex; flex-wrap:wrap; gap:var(--space-xs) var(--space-lg); border-bottom:1px solid var(--color-line); margin:var(--space-lg) 0; }
.finance-tabs a { display:inline-flex; align-items:center; min-height:44px; padding:var(--space-sm) 0; border-bottom:2px solid transparent; color:var(--color-muted); font-weight:500; text-decoration:none; white-space:nowrap; }
.finance-tabs a:hover { color:var(--color-ink); border-bottom-color:var(--color-line); }
.finance-tabs a[aria-current="page"] { color:var(--color-accent); border-bottom-color:var(--color-accent); }
.finance-tabs a:focus-visible,.finance-actions summary:focus-visible,.finance-page .table-scroll:focus-visible { outline:2px solid var(--color-focus); outline-offset:3px; }
.finance-page .report-filters { align-items:end; padding:var(--space-md); background:var(--color-soft); border:1px solid var(--color-line); border-radius:var(--radius-sm); margin-bottom:var(--space-lg); }
.finance-page .report-filters label { min-width:0; }
.finance-page .report-note { margin:var(--space-md) 0 var(--space-lg); max-width:90ch; line-height:1.6; }
.finance-page .metrics { margin-bottom:var(--space-md); }
.finance-page .balance-strip { gap:var(--space-md) var(--space-lg); padding:var(--space-md); background:var(--color-soft); border:1px solid var(--color-line); border-radius:var(--radius-sm); }
.finance-page .balance-strip>span { display:flex; flex-direction:column; gap:var(--space-xs); min-width:0; }
.finance-page .balance-strip strong { font-variant-numeric:tabular-nums; }
.finance-page .records { font-variant-numeric:tabular-nums; }
.finance-page .records td { vertical-align:top; }
.finance-page .records td details { min-width:140px; }
.finance-page .records td details[open] { min-width:260px; max-width:360px; }
.finance-page .records td .stack-form { padding-top:var(--space-md); }
.finance-page .table-scroll { max-width:100%; }
.finance-page .table-scroll .records th { white-space:nowrap; }
.finance-actions { position:relative; }
.finance-actions>summary { list-style:none; cursor:pointer; white-space:nowrap; }
.finance-actions>summary::-webkit-details-marker { display:none; }
.finance-actions>summary::after { content:" +"; margin-left:var(--space-sm); }
.finance-actions[open]>summary::after { content:" −"; }
.finance-actions>div { position:absolute; top:calc(100% + var(--space-xs)); right:0; z-index:10; display:grid; min-width:224px; padding:var(--space-sm); border:1px solid var(--color-line); border-radius:var(--radius-sm); background:var(--color-paper); }
.finance-actions>div>a { display:block; padding:var(--space-sm); color:var(--color-ink); white-space:nowrap; text-decoration:none; }
.finance-actions>div>a:hover { background:var(--color-soft); color:var(--color-accent); }
.finance-page .finance-record { padding:var(--space-md) var(--space-lg); border-radius:var(--radius-sm); }
.finance-record .section-heading { margin:0 0 var(--space-sm); align-items:start; }
.finance-record .section-heading h2 { font-size:16px; line-height:1.4; overflow-wrap:anywhere; min-width:0; }
.finance-record p { margin:var(--space-sm) 0; line-height:1.6; overflow-wrap:anywhere; }
.finance-record>details { border-top:1px solid var(--color-line); margin-top:var(--space-md); padding-top:var(--space-md); }
.finance-page details>summary { color:var(--color-ink); font-weight:500; }
.finance-page details[open]>summary { margin-bottom:var(--space-md); }
.finance-page .form-panel { max-width:880px; }
.finance-page fieldset { border:0; border-bottom:1px solid var(--color-line); padding:0 0 var(--space-lg); margin:0 0 var(--space-lg); min-width:0; }
.finance-page fieldset:last-of-type { border-bottom:0; padding-bottom:0; }
.finance-page legend { padding:0 0 var(--space-md); font-size:15px; font-weight:600; }
.finance-page .form-actions { border-top:1px solid var(--color-line); padding-top:var(--space-md); margin-top:var(--space-lg); }
.finance-page .form-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.finance-page .form-grid>label,.finance-page .allocation-grid>label { min-width:0; }
.finance-page .form-grid textarea { min-height:88px; }
.finance-section>.section-heading { margin-bottom:var(--space-sm); }
.finance-empty-note { padding:var(--space-md) 0; color:var(--color-muted); }
@media (max-width:768px) {
 .finance-page .section-heading { align-items:flex-start; flex-direction:column; gap:var(--space-sm); }
 .finance-page .report-filters { display:flex; flex-wrap:wrap; gap:var(--space-md); }
 .finance-page .report-filters label { flex:1 1 160px; }
 .finance-tabs { gap:0 var(--space-md); }
 .finance-page .finance-record { padding:var(--space-md); }
 .finance-actions>div { right:0; }
}
@media (max-width:414px) {
 .finance-page .form-grid { grid-template-columns:minmax(0,1fr); }
 .finance-page .report-filters label { flex-basis:100%; }
 .finance-page .balance-strip { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .finance-page .balance-strip>span { overflow-wrap:anywhere; }
 .finance-page .form-actions { display:flex; flex-wrap:wrap; }
}
@media print { .finance-tabs,.finance-actions { display:none; } }

.finance-document-meta { display:flex; flex-wrap:wrap; gap:var(--space-xs) var(--space-md); color:var(--color-muted); margin:var(--space-sm) 0; }
.finance-document-summary>.finance-balance strong { font-size:18px; font-weight:600; }
