.finance-table { width:100%; border-collapse:collapse; font-size:13px; }
.finance-table th { font:10px var(--font-mono); letter-spacing:.08em; color:var(--sx-muted); text-transform:uppercase; text-align:left; padding:10px 8px; border-bottom:1px solid var(--sx-line); white-space:nowrap; }
.finance-table td { padding:12px 8px; border-bottom:1px solid var(--sx-line); vertical-align:top; }
.finance-table td.num, .finance-table th.num { text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap; }
.finance-table a { color:var(--sx-yellow); }
.finance-scroll { overflow-x:auto; }
.finance-flag { display:inline-block; font:10px var(--font-mono); padding:3px 7px; border-radius:5px; border:1px solid var(--sx-line); color:var(--sx-muted); margin:0 4px 4px 0; white-space:nowrap; }
.finance-flag.yes { color:var(--sx-positive); border-color:#3b6248; }
.finance-flag.warn { color:var(--sx-yellow); border-color:#756528; }
.finance-flag.bad { color:#ff7b7b; border-color:#6b3434; }
.finance-table tr.finance-stale > td:first-child { box-shadow: inset 3px 0 0 #ff7b7b; }
.finance-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:20px; }
.finance-form { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:10px; align-items:end; margin-top:16px; }
.finance-form label { font-size:11px; color:var(--sx-muted); display:block; margin-bottom:4px; }
.finance-form .form-control, .finance-form .form-select { font-size:13px; }
.finance-figures { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; margin:14px 0; }
.finance-figures div { background:var(--sx-panel-raised); border:1px solid var(--sx-line); border-radius:9px; padding:12px; }
.finance-figures small { display:block; font:10px var(--font-mono); letter-spacing:.06em; color:var(--sx-muted); margin-bottom:4px; }
.finance-figures strong { font-variant-numeric:tabular-nums; }
.finance-statement { border:1px solid var(--sx-line); border-radius:10px; padding:16px; margin-top:14px; }
.finance-statement h3 { font-size:15px; margin:0; }
.finance-back { color:var(--sx-muted); text-decoration:none; font-size:13px; }
.finance-reminder { padding:10px 0; border-top:1px solid var(--sx-line); display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.finance-form > div[hidden] { display:none; }
.finance-reminders-panel.has-overdue { border-left:3px solid #e5484d; }
.finance-reminder.is-overdue a { color:#ff8a8d; }
