/* Balance sheet page (living balance sheet, spec 2026-11-09). Tokens only, so standard and cozy modes both read it.
   Byte-identical between frontend/ and chinese/. */
.balance-sheet-page { max-width: 880px; margin: 0 auto; padding: var(--space-5) var(--space-4) var(--space-8); }
.bs-loading, .bs-muted { color: var(--fg-muted); line-height: 1.6; }
.bs-consent, .bs-totals, .bs-side, .bs-defence, .bs-dependents {
  background: var(--surface-1); border: 1px solid var(--border-subtle); border-radius: var(--radius-lg);
  padding: var(--space-4); margin-top: var(--space-4); box-shadow: var(--shadow-sm);
}
.bs-consent p { line-height: 1.6; margin: 0 0 var(--space-3); }
.bs-totals h2, .bs-side h2, .bs-defence h2, .bs-dependents h2 { font-size: var(--text-lg); color: var(--fg-strong); margin: 0 0 var(--space-3); }
.bs-item { display: grid; grid-template-columns: 1fr auto auto auto; gap: var(--space-2); align-items: center;
           padding: var(--space-2) 0; border-top: 1px solid var(--border-subtle); }
.bs-item__name { color: var(--fg-strong); overflow-wrap: anywhere; }
.bs-item__cat { display: block; color: var(--fg-muted); font-size: var(--text-sm); }
.bs-hint { margin: 0 0 var(--space-2); font-size: var(--text-sm); }
.bs-input--date { width: 11rem; }
.bs-item__amount { font-variant-numeric: tabular-nums; font-weight: 600; }
.bs-item__date { color: var(--fg-muted); font-size: var(--text-sm); }
.bs-item__tools { display: flex; flex-wrap: wrap; gap: var(--space-1); }
.bs-add { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; margin-top: var(--space-3); }
.bs-input { padding: var(--space-2); border: 1px solid var(--border); border-radius: var(--radius-sm);
            background: var(--surface-2); color: var(--fg); font: inherit; min-height: 44px; box-sizing: border-box; }
.bs-input--amount { width: 9rem; }
.bs-line { padding: var(--space-2) 0; border-top: 1px solid var(--border-subtle); }
.bs-line__text { margin: 0; color: var(--fg-strong); }
.bs-line__working { margin: var(--space-1) 0 0; color: var(--fg-muted); font-size: var(--text-sm);
                    font-variant-numeric: tabular-nums; }
.bs-foot { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: center; margin-top: var(--space-5); }
.bs-danger { color: var(--danger); }
.bs-error { color: var(--danger); margin: var(--space-3) 0; }
.balance-sheet-page .btn { min-height: 44px; }
@media (max-width: 600px) {
  .bs-item { grid-template-columns: 1fr auto; }
  .bs-item__date, .bs-item__tools { grid-column: 1 / -1; }
}
