/* Mario's Gold System — generated from tokens.json */
:root, [data-theme="dark"] {
  --bg: #101114;
  --surface: #1b1d21;
  --surface-2: #24272c;
  --surface-3: #2e3137;
  --border: #2e3137;
  --border-control: #6b7079;
  --ink: #f5f5f5;
  --ink-muted: #a9adb5;
  --gold: #d4af37;
  --gold-ink: #e2c25a;
  --gold-action: #d4af37;
  --on-gold: #101114;
  --gold-soft: #2b2717;
  --money-in: #6aa9ff;
  --money-in-soft: #17263d;
  --money-out: #ff7a70;
  --money-out-soft: #3a1d1c;
  --due: #ffa34d;
  --due-soft: #3a2913;
  --overdue: #ff6b6b;
  --overdue-soft: #3d1a1a;
  --done: #4cc38a;
  --done-soft: #15301f;
  --pending: #c3a6ff;
  --pending-soft: #2a2240;
  --focus: #f5f5f5;
  --logo-tile: #0b0b0c;
  --rail: #0c0d0f;
  --rail-ink: #ece8df;
  --rail-muted: #a3a7ae;
  --rail-active: #2a2414;
  --rail-line: #24262b;
  --shadow-card: inset 0 1px 0 rgba(255,255,255,0.04);
  --shadow-pop: 0 12px 32px rgba(0,0,0,0.55);
  color-scheme: dark;
}
[data-theme="light"] {
  --bg: #f7f8fa;
  --surface: #ffffff;
  --surface-2: #f1f3f6;
  --surface-3: #e7eaef;
  --border: #e2e4e9;
  --border-control: #8a8f98;
  --ink: #202124;
  --ink-muted: #5f6368;
  --gold: #a47b20;
  --gold-ink: #7d5c12;
  --gold-action: #8c6818;
  --on-gold: #ffffff;
  --gold-soft: #fbf5e6;
  --money-in: #1f5fbf;
  --money-in-soft: #eaf1fc;
  --money-out: #c2352b;
  --money-out-soft: #fcecea;
  --due: #b45309;
  --due-soft: #fdf1e3;
  --overdue: #b3261e;
  --overdue-soft: #fbe9e8;
  --done: #1e7f4f;
  --done-soft: #e7f4ec;
  --pending: #6941c6;
  --pending-soft: #f2edfc;
  --focus: #202124;
  --logo-tile: #111214;
  --rail: #141518;
  --rail-ink: #ece8df;
  --rail-muted: #a3a7ae;
  --rail-active: #2a2414;
  --rail-line: #26282d;
  --shadow-card: 0 1px 2px rgba(16,17,20,0.05), 0 6px 20px rgba(16,17,20,0.05);
  --shadow-pop: 0 12px 32px rgba(16,17,20,0.14);
  color-scheme: light;
}
:root {
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-pill: 999px;
  --control-h: 52px;
  --action-h: 64px;
  --sidebar-w: 264px;
  --font-sans: "IBM Plex Sans Arabic", "Segoe UI", Tahoma, sans-serif;
  --font-num: "IBM Plex Sans", "IBM Plex Sans Arabic", "Segoe UI", sans-serif;
}
.figure-xl { font-family: var(--font-num); font-size: 34px; line-height: 40px; font-weight: 700; }
.figure-lg { font-family: var(--font-num); font-size: 26px; line-height: 32px; font-weight: 700; }
.figure-md { font-family: var(--font-num); font-size: 18px; line-height: 26px; font-weight: 600; }
.title-1 { font-family: var(--font-sans); font-size: 26px; line-height: 38px; font-weight: 700; }
.title-2 { font-family: var(--font-sans); font-size: 21px; line-height: 32px; font-weight: 700; }
.title-3 { font-family: var(--font-sans); font-size: 18px; line-height: 28px; font-weight: 600; }
.body-lg { font-family: var(--font-sans); font-size: 18px; line-height: 30px; font-weight: 400; }
.body { font-family: var(--font-sans); font-size: 16px; line-height: 26px; font-weight: 400; }
.label { font-family: var(--font-sans); font-size: 15px; line-height: 22px; font-weight: 600; }
.caption { font-family: var(--font-sans); font-size: 13px; line-height: 20px; font-weight: 500; }
