/* Shared financial design language. Existing user theme and text-size choices persist. */
:root {
  --ink: #12233f;
  --muted: #60718b;
  --line: #dce4ef;
  --paper: #f2f5fa;
  --white: #fff;
  --accent: #225eea;
  --accent-soft: #edf3ff;
  --positive: #07845c;
  --negative: #d83e4b;
  --amber: #a86509;
  --focus: #225eea;
  --surface-soft: #f3f6fb;
  --radius: 9px;
}
html[data-theme="dark"] {
  --ink: #e5edf9;
  --muted: #a8b8cf;
  --line: #2b3c53;
  --paper: #101a2b;
  --white: #17243a;
  --accent: #78a4ff;
  --accent-soft: #233958;
  --positive: #49d7a3;
  --negative: #ff8790;
  --amber: #f2bc66;
  --surface-soft: #1d2d45;
}
html[data-theme="warm"] {
  --ink: #332e28;
  --muted: #756d62;
  --line: #e4dccf;
  --paper: #f5f1e9;
  --white: #fffcf6;
  --surface-soft: #f7f2e9;
  --accent: #466658;
  --accent-strong: #304e41;
  --accent-soft: #e5eee7;
  --focus: #466658;
}
body { background: var(--paper); color: var(--ink); }
button, input, select, textarea, .button { border-radius: 7px; }
:where(h1, h2, h3) { letter-spacing: -.025em; }
:where(.card, .panel, .report-card, .banking-card, .section-block) { border-radius: 9px; }
.topbar { border-bottom: 1px solid var(--line); }
.company-nav > a[aria-current="page"] { background: var(--accent-soft); color: var(--accent); box-shadow: none; }
.environment-notice { font-size: .7rem; padding-block: 5px; }
.page-footer { color: var(--muted); font-size: .72rem; }
