/* Smart Finance — generated from tokens.json */
:root, [data-theme="light"] {
  --gray-bg-100: #ffffff;
  --gray-bg-200: oklch(98.50% 0.0030 258.00);
  --gray-bg-300: #ffffff;
  --gray-500: oklch(83.60% 0.0120 258.00);
  --gray-600: oklch(73.20% 0.0180 258.00);
  --gray-800: oklch(55.00% 0.0220 258.00);
  --gray-900: oklch(42.00% 0.0450 258.00);
  --gray-1000: oklch(20.50% 0.0550 258.00);
  --gray-alpha-100: oklch(20.00% 0.0400 258.00 / 0.050);
  --gray-alpha-200: oklch(20.00% 0.0400 258.00 / 0.081);
  --gray-alpha-300: oklch(20.00% 0.0400 258.00 / 0.100);
  --gray-alpha-400: oklch(20.00% 0.0400 258.00 / 0.080);
  --gray-alpha-500: oklch(20.00% 0.0400 258.00 / 0.500);
  --blue-600: oklch(73.08% 0.1583 248.13);
  --blue-700: oklch(57.61% 0.2508 258.23);
  --blue-800: oklch(51.51% 0.2399 257.85);
  --blue-900: oklch(71.70% 0.1648 250.79);
  --green-700: oklch(64.58% 0.1746 147.27);
  --green-900: oklch(51.75% 0.1453 147.65);
  --amber-700: oklch(81.87% 0.1969 76.46);
  --amber-800: oklch(77.21% 0.1991 64.28);
  --amber-900: oklch(52.79% 0.1496 54.65);
  --red-700: oklch(62.56% 0.2524 23.03);
  --red-900: oklch(52.00% 0.2320 25.29);
  --blue-primary: var(--blue-800);
  --background: var(--gray-bg-200);
  --background-modal: var(--gray-bg-300);
  --overlay: #0000004d;
  --background-button-hover: oklch(100% 0 0 / 0.16);
  --background-button-focus: oklch(100% 0 0 / 0.28);
  --background-active: var(--gray-alpha-300);
  --surface: var(--gray-bg-100);
  --surface-extra-soft: var(--gray-bg-300);
  --surface-strong: var(--gray-alpha-200);
  --field: var(--gray-bg-100);
  --field-border: var(--gray-alpha-500);
  --field-border-hover: var(--ring);
  --ring-soft: #437cef29;
  --surface-hover: var(--gray-alpha-100);
  --surface-active: var(--gray-alpha-300);
  --border-base: var(--gray-alpha-400);
  --border-soft: var(--gray-alpha-100);
  --button-primary: var(--button-neutral);
  --button-secondary: var(--surface-extra-soft);
  --button-neutral: var(--gray-1000);
  --button-danger: var(--text-negative);
  --text-primary: var(--gray-1000);
  --text-primary-inverse: #fff;
  --text-secondary: var(--gray-900);
  --bg-neutral-soft: var(--gray-alpha-200);
  --bg-neutral-extra-soft: var(--gray-alpha-100);
  --text-tertiary: var(--gray-800);
  --text-quaternary: var(--gray-500);
  --text-disabled: var(--gray-600);
  --positive: var(--green-700);
  --callout: var(--amber-700);
  --warning: var(--amber-800);
  --negative: var(--red-700);
  --text-positive: var(--green-900);
  --bg-positive-soft: oklch(64.58% 0.1746 147.27 / 0.14);
  --bg-positive-extra-soft: oklch(64.58% 0.1746 147.27 / 0.08);
  --text-callout: var(--amber-900);
  --bg-callout-soft: oklch(81.87% 0.1969 76.46 / 0.14);
  --bg-callout-extra-soft: oklch(81.87% 0.1969 76.46 / 0.08);
  --text-warning: var(--amber-900);
  --bg-warning-soft: oklch(77.21% 0.1991 64.28 / 0.14);
  --bg-warning-extra-soft: oklch(77.21% 0.1991 64.28 / 0.08);
  --text-negative: var(--red-900);
  --bg-negative-soft: oklch(62.56% 0.2524 23.03 / 0.14);
  --bg-negative-extra-soft: oklch(62.56% 0.2524 23.03 / 0.08);
  --decor-primary: var(--blue-600);
  --bg-info-soft: oklch(57.61% 0.2508 258.23 / 0.08);
  --decor-secondary: #f28657;
  --nav-primary: var(--text-primary);
  --nav-secondary: var(--text-secondary);
  --nav-active: var(--surface-strong);
  --nav-active-text: var(--text-primary);
  --chart-benchmark: var(--purple-base);
  --chart-benchmark-inactive: #e5d7f6;
  --chart-performance: var(--teal-base);
  --chart-performance-inactive: #c4e6e4;
  --chart-neutral: var(--gray-base);
  --chart-neutral-inactive: #d9dee7;
  --chart-hover: var(--surface-hover);
  --chart-goal: var(--blue-base);
  --chart-goal-inactive: #c9e1fc;
  --chart-positive: var(--green-base);
  --chart-positive-inactive: #cce6cc;
  --chart-warning: var(--orange-base);
  --chart-warning-inactive: #f6d7c2;
  --chart-warning-accessible: var(--red-base);
  --chart-warning-accessible-inactive: #fad3d5;
  --chart-callout: var(--yellow-base);
  --chart-callout-inactive: #e8debf;
  --chart-negative: var(--red-warm-base);
  --chart-negative-inactive: #fbd3ce;
  --chart-negative-accessible: var(--magenta-base);
  --chart-negative-accessible-inactive: #ecd5f1;
  --shadow-color-soft: #0a0e1405;
  --shadow-color-strong: #0a0e141f;
  --gray-extra-strong: oklch(45% 0.026 258);
  --gray-strong: oklch(56% 0.030 258);
  --gray-base: #afbcce;
  --gray-soft: oklch(79% 0.030 258 / 0.30);
  --red-warm-extra-strong: oklch(45% 0.085 28);
  --red-warm-strong: oklch(56% 0.100 28);
  --red-warm-base: #f4a297;
  --red-warm-soft: oklch(79% 0.100 28 / 0.30);
  --red-extra-strong: oklch(45% 0.085 13);
  --red-strong: oklch(56% 0.100 13);
  --red-base: #f3a0a8;
  --red-soft: oklch(79% 0.100 13 / 0.30);
  --orange-warm-extra-strong: oklch(45% 0.085 41);
  --orange-warm-strong: oklch(56% 0.100 41);
  --orange-warm-base: #f2a589;
  --orange-warm-soft: oklch(79% 0.100 41 / 0.30);
  --orange-extra-strong: oklch(45% 0.085 57);
  --orange-strong: oklch(56% 0.100 57);
  --orange-base: #ecaa7a;
  --orange-soft: oklch(79% 0.100 57 / 0.30);
  --brown-extra-strong: oklch(45% 0.053 62);
  --brown-strong: oklch(56% 0.062 62);
  --brown-base: #d8b292;
  --brown-soft: oklch(79% 0.062 62 / 0.30);
  --beige-extra-strong: oklch(45% 0.051 78);
  --beige-strong: oklch(56% 0.060 78);
  --beige-base: #d0b690;
  --beige-soft: oklch(79% 0.060 78 / 0.30);
  --yellow-extra-strong: oklch(45% 0.081 93);
  --yellow-strong: oklch(56% 0.095 93);
  --yellow-base: #cfb972;
  --yellow-soft: oklch(79% 0.095 93 / 0.30);
  --olive-extra-strong: oklch(45% 0.072 114);
  --olive-strong: oklch(56% 0.085 114);
  --olive-base: #b9c181;
  --olive-soft: oklch(79% 0.085 114 / 0.30);
  --green-extra-strong: oklch(45% 0.085 145);
  --green-strong: oklch(56% 0.100 145);
  --green-base: #92cc93;
  --green-soft: oklch(79% 0.100 145 / 0.30);
  --teal-extra-strong: oklch(45% 0.068 192);
  --teal-strong: oklch(56% 0.080 192);
  --teal-base: #7acbc8;
  --teal-soft: oklch(79% 0.080 192 / 0.30);
  --blue-extra-strong: oklch(45% 0.085 252);
  --blue-strong: oklch(56% 0.100 252);
  --blue-base: #8bbff9;
  --blue-soft: oklch(79% 0.100 252 / 0.30);
  --indigo-extra-strong: oklch(45% 0.085 278);
  --indigo-strong: oklch(56% 0.100 278);
  --indigo-base: #abb4fa;
  --indigo-soft: oklch(79% 0.100 278 / 0.30);
  --purple-extra-strong: oklch(45% 0.085 306);
  --purple-strong: oklch(56% 0.100 306);
  --purple-base: #caaaee;
  --purple-soft: oklch(79% 0.100 306 / 0.30);
  --magenta-extra-strong: oklch(45% 0.085 320);
  --magenta-strong: oklch(56% 0.100 320);
  --magenta-base: #d7a6e3;
  --magenta-soft: oklch(79% 0.100 320 / 0.30);
  --pink-extra-strong: oklch(45% 0.085 340);
  --pink-strong: oklch(56% 0.100 340);
  --pink-base: #e6a1cf;
  --pink-soft: oklch(79% 0.100 340 / 0.30);
  --foreground: var(--text-primary);
  --card: var(--surface);
  --card-foreground: var(--text-primary);
  --popover: var(--background-modal);
  --popover-foreground: var(--text-primary);
  --primary: var(--button-primary);
  --primary-foreground: var(--text-primary-inverse);
  --secondary: var(--button-secondary);
  --secondary-foreground: var(--text-primary);
  --muted: var(--surface-strong);
  --muted-foreground: var(--text-secondary);
  --accent: var(--surface-hover);
  --accent-foreground: var(--text-primary);
  --destructive: var(--negative);
  --border: var(--border-base);
  --input: var(--field-border);
  --ring: var(--blue-700);
  --option-highlight: var(--surface-strong);
  --glass-fill: oklch(100% 0 0 / 0.80);
  --glass-highlight: oklch(100% 0 0 / 0.28);
  --glass-rim: oklch(100% 0 0 / 0.85);
  --glass-edge: oklch(20% 0.04 258 / 0.10);
  --glass-shadow: oklch(20% 0.04 258 / 0.16);
  --glass-lens: oklch(20% 0.04 258 / 0.07);
  --glass-focus: oklch(100% 0 0 / 0.22);
  --surface-soft: var(--surface);
  --text-secondary-soft: var(--bg-neutral-soft);
  --text-secondary-extra-soft: var(--bg-neutral-extra-soft);
  --text-positive-soft: var(--bg-positive-soft);
  --text-positive-extra-soft: var(--bg-positive-extra-soft);
  --text-callout-soft: var(--bg-callout-soft);
  --text-callout-extra-soft: var(--bg-callout-extra-soft);
  --text-warning-soft: var(--bg-warning-soft);
  --text-warning-extra-soft: var(--bg-warning-extra-soft);
  --text-negative-soft: var(--bg-negative-soft);
  --text-negative-extra-soft: var(--bg-negative-extra-soft);
  --accent-primary: var(--decor-primary);
  --accent-primary-soft: var(--bg-info-soft);
  --accent-secondary: var(--decor-secondary);
  --sidebar-primary: var(--nav-primary);
  --sidebar-secondary: var(--nav-secondary);
  --sidebar-active: var(--nav-active);
  --sidebar-active-text: var(--nav-active-text);
  --shadow-button: 0 1px 4px 0 #0a0e1405;
  --shadow-soft: 0 2px 6px 0 #0a0e1405;
  --shadow-strong: 0 4px 16px 0 #0a0e141a;
  --shadow-deep: 0 4px 16px 0 #0a0e141f;
  --shadow-button-combined: 0 1px 4px 0 #0a0e1405, 0 1px 2px -2px #0a0e141a;
  --shadow-field: inset 0 1px 2px 0 #0a0e140d;
}
[data-theme="dark"] {
  --gray-bg-100: oklch(16.50% 0.0450 258.00);
  --gray-bg-200: oklch(12.50% 0.0300 258.00);
  --gray-bg-300: oklch(18.80% 0.0300 258.00);
  --gray-500: oklch(36.00% 0.0400 258.00);
  --gray-600: oklch(62.30% 0.0350 258.00);
  --gray-800: oklch(65.00% 0.0300 258.00);
  --gray-900: oklch(70.60% 0.0300 258.00);
  --gray-1000: oklch(94.60% 0.0120 258.00);
  --gray-alpha-100: oklch(85.00% 0.0500 258.00 / 0.070);
  --gray-alpha-200: oklch(85.00% 0.0500 258.00 / 0.090);
  --gray-alpha-300: oklch(85.00% 0.0500 258.00 / 0.130);
  --gray-alpha-400: oklch(85.00% 0.0500 258.00 / 0.140);
  --gray-alpha-500: oklch(85.00% 0.0500 258.00 / 0.450);
  --blue-600: oklch(64.94% 0.1982 251.81);
  --blue-700: oklch(57.61% 0.2321 258.23);
  --green-700: oklch(64.58% 0.1990 147.27);
  --green-900: oklch(73.10% 0.2158 148.29);
  --amber-700: oklch(81.87% 0.1969 76.46);
  --amber-800: oklch(77.21% 0.1991 64.28);
  --amber-900: oklch(77.21% 0.1991 64.28);
  --red-700: oklch(62.56% 0.2234 23.03);
  --red-900: oklch(69.96% 0.2136 22.03);
  --blue-primary: var(--blue-900);
  --background: var(--gray-bg-200);
  --background-modal: var(--gray-bg-300);
  --overlay: #0009;
  --background-button-hover: oklch(20% 0.04 258 / 0.12);
  --background-button-focus: oklch(20% 0.04 258 / 0.22);
  --background-active: var(--gray-alpha-300);
  --surface: var(--gray-bg-100);
  --surface-extra-soft: var(--gray-bg-300);
  --surface-strong: var(--gray-alpha-200);
  --field: var(--gray-bg-100);
  --field-border: var(--gray-alpha-500);
  --field-border-hover: var(--ring);
  --ring-soft: #1878f740;
  --surface-hover: var(--gray-alpha-100);
  --surface-active: var(--gray-alpha-300);
  --border-base: var(--gray-alpha-400);
  --border-soft: var(--gray-alpha-100);
  --button-primary: var(--button-neutral);
  --button-secondary: var(--surface-extra-soft);
  --button-neutral: var(--gray-1000);
  --button-danger: var(--text-negative);
  --text-primary: var(--gray-1000);
  --text-primary-inverse: var(--surface);
  --text-secondary: var(--gray-900);
  --bg-neutral-soft: var(--gray-alpha-200);
  --bg-neutral-extra-soft: var(--gray-alpha-100);
  --text-tertiary: var(--gray-800);
  --text-quaternary: var(--gray-500);
  --text-disabled: var(--gray-600);
  --positive: var(--green-700);
  --callout: var(--amber-700);
  --warning: var(--amber-800);
  --negative: var(--red-700);
  --text-positive: var(--green-900);
  --bg-positive-soft: oklch(64.58% 0.1990 147.27 / 0.22);
  --bg-positive-extra-soft: oklch(64.58% 0.1990 147.27 / 0.14);
  --text-callout: var(--amber-900);
  --bg-callout-soft: oklch(81.87% 0.1969 76.46 / 0.22);
  --bg-callout-extra-soft: oklch(81.87% 0.1969 76.46 / 0.14);
  --text-warning: var(--amber-900);
  --bg-warning-soft: oklch(77.21% 0.1991 64.28 / 0.22);
  --bg-warning-extra-soft: oklch(77.21% 0.1991 64.28 / 0.14);
  --text-negative: var(--red-900);
  --bg-negative-soft: oklch(62.56% 0.2234 23.03 / 0.22);
  --bg-negative-extra-soft: oklch(62.56% 0.2234 23.03 / 0.14);
  --decor-primary: var(--blue-600);
  --bg-info-soft: oklch(57.61% 0.2321 258.23 / 0.20);
  --nav-primary: var(--text-primary);
  --nav-secondary: var(--text-secondary);
  --nav-active: var(--surface-strong);
  --nav-active-text: var(--text-primary);
  --chart-benchmark: var(--purple-base);
  --chart-benchmark-inactive: #4e415d;
  --chart-performance: var(--teal-base);
  --chart-performance-inactive: #2d4f4d;
  --chart-neutral: var(--gray-base);
  --chart-neutral-inactive: #434850;
  --chart-hover: var(--surface-hover);
  --chart-goal: var(--blue-base);
  --chart-goal-inactive: #344962;
  --chart-positive: var(--green-base);
  --chart-positive-inactive: #364f37;
  --chart-warning: var(--orange-base);
  --chart-warning-inactive: #5c412c;
  --chart-warning-accessible: var(--red-base);
  --chart-warning-accessible-inactive: #603c40;
  --chart-callout: var(--yellow-base);
  --chart-callout-inactive: #504729;
  --chart-negative: var(--red-warm-base);
  --chart-negative-inactive: #603d39;
  --chart-negative-accessible: var(--magenta-base);
  --chart-negative-accessible-inactive: #543f59;
  --shadow-color-soft: #0d53ba0f;
  --shadow-color-strong: #020d1d;
  --gray-extra-strong: oklch(85% 0.022 258);
  --gray-strong: oklch(78% 0.024 258);
  --gray-base: #949fb1;
  --gray-soft: oklch(70% 0.028 258 / 0.24);
  --red-warm-extra-strong: oklch(85% 0.075 28);
  --red-warm-strong: oklch(78% 0.080 28);
  --red-warm-base: #d3877d;
  --red-warm-soft: oklch(70% 0.095 28 / 0.24);
  --red-extra-strong: oklch(85% 0.075 13);
  --red-strong: oklch(78% 0.080 13);
  --red-base: #d2858e;
  --red-soft: oklch(70% 0.095 13 / 0.24);
  --orange-warm-extra-strong: oklch(85% 0.075 41);
  --orange-warm-strong: oklch(78% 0.080 41);
  --orange-warm-base: #d18a70;
  --orange-warm-soft: oklch(70% 0.095 41 / 0.24);
  --orange-extra-strong: oklch(85% 0.075 57);
  --orange-strong: oklch(78% 0.080 57);
  --orange-base: #cc8f62;
  --orange-soft: oklch(70% 0.095 57 / 0.24);
  --brown-extra-strong: oklch(85% 0.046 62);
  --brown-strong: oklch(78% 0.050 62);
  --brown-base: #ba9779;
  --brown-soft: oklch(70% 0.059 62 / 0.24);
  --beige-extra-strong: oklch(85% 0.045 78);
  --beige-strong: oklch(78% 0.048 78);
  --beige-base: #b29b77;
  --beige-soft: oklch(70% 0.057 78 / 0.24);
  --yellow-extra-strong: oklch(85% 0.071 93);
  --yellow-strong: oklch(78% 0.076 93);
  --yellow-base: #b29d5a;
  --yellow-soft: oklch(70% 0.090 93 / 0.24);
  --olive-extra-strong: oklch(85% 0.064 114);
  --olive-strong: oklch(78% 0.068 114);
  --olive-base: #9da469;
  --olive-soft: oklch(70% 0.081 114 / 0.24);
  --green-extra-strong: oklch(85% 0.075 145);
  --green-strong: oklch(78% 0.080 145);
  --green-base: #78ae7a;
  --green-soft: oklch(70% 0.095 145 / 0.24);
  --teal-extra-strong: oklch(85% 0.060 192);
  --teal-strong: oklch(78% 0.064 192);
  --teal-base: #62aeaa;
  --teal-soft: oklch(70% 0.076 192 / 0.24);
  --blue-extra-strong: oklch(85% 0.075 252);
  --blue-strong: oklch(78% 0.080 252);
  --blue-base: #72a2d8;
  --blue-soft: oklch(70% 0.095 252 / 0.24);
  --indigo-extra-strong: oklch(85% 0.075 278);
  --indigo-strong: oklch(78% 0.080 278);
  --indigo-base: #9099d9;
  --indigo-soft: oklch(70% 0.095 278 / 0.24);
  --purple-extra-strong: oklch(85% 0.075 306);
  --purple-strong: oklch(78% 0.080 306);
  --purple-base: #ad8fce;
  --purple-soft: oklch(70% 0.095 306 / 0.24);
  --magenta-extra-strong: oklch(85% 0.075 320);
  --magenta-strong: oklch(78% 0.080 320);
  --magenta-base: #b98bc3;
  --magenta-soft: oklch(70% 0.095 320 / 0.24);
  --pink-extra-strong: oklch(85% 0.075 340);
  --pink-strong: oklch(78% 0.080 340);
  --pink-base: #c687b1;
  --pink-soft: oklch(70% 0.095 340 / 0.24);
  --foreground: var(--text-primary);
  --card: var(--surface);
  --card-foreground: var(--text-primary);
  --popover: var(--background-modal);
  --popover-foreground: var(--text-primary);
  --primary: var(--button-primary);
  --primary-foreground: var(--text-primary-inverse);
  --secondary: var(--button-secondary);
  --secondary-foreground: var(--text-primary);
  --muted: var(--surface-strong);
  --muted-foreground: var(--text-secondary);
  --accent: var(--surface-hover);
  --accent-foreground: var(--text-primary);
  --destructive: var(--negative);
  --border: var(--border-base);
  --input: var(--field-border);
  --ring: var(--blue-900);
  --option-highlight: var(--surface-strong);
  --glass-fill: oklch(24% 0.03 258 / 0.90);
  --glass-highlight: oklch(100% 0 0 / 0.08);
  --glass-rim: oklch(100% 0 0 / 0.22);
  --glass-edge: oklch(0% 0 0 / 0.45);
  --glass-shadow: oklch(0% 0 0 / 0.50);
  --glass-lens: oklch(100% 0 0 / 0.10);
  --glass-focus: oklch(100% 0 0 / 0.08);
  --surface-soft: var(--surface);
  --text-secondary-soft: var(--bg-neutral-soft);
  --text-secondary-extra-soft: var(--bg-neutral-extra-soft);
  --text-positive-soft: var(--bg-positive-soft);
  --text-positive-extra-soft: var(--bg-positive-extra-soft);
  --text-callout-soft: var(--bg-callout-soft);
  --text-callout-extra-soft: var(--bg-callout-extra-soft);
  --text-warning-soft: var(--bg-warning-soft);
  --text-warning-extra-soft: var(--bg-warning-extra-soft);
  --text-negative-soft: var(--bg-negative-soft);
  --text-negative-extra-soft: var(--bg-negative-extra-soft);
  --accent-primary: var(--decor-primary);
  --accent-primary-soft: var(--bg-info-soft);
  --accent-secondary: var(--decor-secondary);
  --sidebar-primary: var(--nav-primary);
  --sidebar-secondary: var(--nav-secondary);
  --sidebar-active: var(--nav-active);
  --sidebar-active-text: var(--nav-active-text);
  --shadow-button: 0 1px 4px 0 #0d53ba0f;
  --shadow-soft: 0 2px 6px 0 #0d53ba0f;
  --shadow-strong: 0 4px 16px 0 #020d1d99;
  --shadow-deep: 0 4px 16px 0 #020d1d;
  --shadow-button-combined: 0 1px 4px 0 #0d53ba0f, 0 1px 2px -2px #020d1d99;
  --shadow-field: inset 0 1px 2px 0 #00000066;
}
[data-theme="contrast"] {
  --blue-primary: var(--blue-800);
  --background: var(--gray-bg-200);
  --background-modal: var(--gray-bg-300);
  --overlay: #00000080;
  --background-active: var(--gray-alpha-300);
  --surface: var(--gray-bg-100);
  --surface-extra-soft: var(--gray-bg-300);
  --surface-strong: #8b95ac1f;
  --field: var(--gray-bg-100);
  --field-border: #0a0e1474;
  --field-border-hover: #114ec9;
  --ring-soft: #114ec93d;
  --surface-hover: var(--gray-alpha-100);
  --surface-active: var(--gray-alpha-300);
  --border-base: #0a0e1474;
  --border-soft: #0a0e1440;
  --button-primary: var(--button-neutral);
  --button-secondary: var(--surface-extra-soft);
  --button-neutral: var(--gray-1000);
  --button-danger: var(--text-negative);
  --text-primary: var(--gray-1000);
  --text-secondary: var(--gray-900);
  --bg-neutral-soft: var(--gray-alpha-200);
  --bg-neutral-extra-soft: var(--gray-alpha-100);
  --text-tertiary: #65738f;
  --text-quaternary: #7f8ba4;
  --text-disabled: #7f8ba4;
  --positive: #00a73d;
  --callout: #bc8800;
  --warning: #d17d00;
  --negative: var(--red-700);
  --text-positive: #006726;
  --text-callout: #664a00;
  --text-warning: #894800;
  --text-negative: #b20f00;
  --decor-primary: var(--blue-600);
  --nav-primary: var(--text-primary);
  --nav-secondary: var(--text-secondary);
  --nav-active: var(--surface-strong);
  --nav-active-text: var(--text-primary);
  --chart-benchmark: var(--purple-base);
  --chart-performance: var(--teal-base);
  --chart-neutral: var(--gray-base);
  --chart-hover: var(--surface-hover);
  --chart-goal: var(--blue-base);
  --chart-positive: var(--green-base);
  --chart-warning: var(--orange-base);
  --chart-warning-accessible: var(--red-base);
  --chart-callout: var(--yellow-base);
  --chart-negative: var(--red-warm-base);
  --chart-negative-accessible: var(--magenta-base);
  --foreground: var(--text-primary);
  --card: var(--surface);
  --card-foreground: var(--text-primary);
  --popover: var(--background-modal);
  --popover-foreground: var(--text-primary);
  --primary: var(--button-primary);
  --primary-foreground: var(--text-primary-inverse);
  --secondary: var(--button-secondary);
  --secondary-foreground: var(--text-primary);
  --muted: var(--surface-strong);
  --muted-foreground: var(--text-secondary);
  --accent: var(--surface-hover);
  --accent-foreground: var(--text-primary);
  --destructive: var(--negative);
  --border: var(--border-base);
  --input: var(--field-border);
  --ring: var(--blue-700);
  --option-highlight: var(--surface-strong);
  --glass-fill: var(--background-modal);
  --surface-soft: var(--surface);
  --text-secondary-soft: var(--bg-neutral-soft);
  --text-secondary-extra-soft: var(--bg-neutral-extra-soft);
  --text-positive-soft: var(--bg-positive-soft);
  --text-positive-extra-soft: var(--bg-positive-extra-soft);
  --text-callout-soft: var(--bg-callout-soft);
  --text-callout-extra-soft: var(--bg-callout-extra-soft);
  --text-warning-soft: var(--bg-warning-soft);
  --text-warning-extra-soft: var(--bg-warning-extra-soft);
  --text-negative-soft: var(--bg-negative-soft);
  --text-negative-extra-soft: var(--bg-negative-extra-soft);
  --accent-primary: var(--decor-primary);
  --accent-primary-soft: var(--bg-info-soft);
  --accent-secondary: var(--decor-secondary);
  --sidebar-primary: var(--nav-primary);
  --sidebar-secondary: var(--nav-secondary);
  --sidebar-active: var(--nav-active);
  --sidebar-active-text: var(--nav-active-text);
}
:root {
  --space-1: 4px;
  --space-1_5: 6px;
  --space-2: 8px;
  --space-2_5: 10px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-12: 48px;
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 16px;
  --radius-2xl: 20px;
  --radius-3xl: 24px;
  --radius-4xl: 32px;
  --radius-full: 9999px;
  --height-2xs: 20px;
  --height-xs: 24px;
  --height-s: 28px;
  --height-m: 36px;
  --height-l: 44px;
  --height-xl: 52px;
  --height-s-touch: 32px;
  --border-hairline: 0.5px;
  --focus-width: 2px;
  --size-icon-xs: 14px;
  --size-icon-s: 16px;
  --size-icon-m: 20px;
  --size-icon-l: 24px;
  --size-avatar-s: 24px;
  --size-avatar-m: 28px;
  --size-avatar-l: 36px;
  --size-switch: 40px;
  --size-tab: 56px;
  --size-tabbar: 64px;
  --size-row: 60px;
  --size-amount-input: 104px;
  --size-sidebar: 220px;
  --border-width-1: 1px;
  --border-width-1_5: 1.5px;
  --border-width-2: 2px;
  --blur-md: 12px;
  --blur-glass: 14px;
  --blur-lg: 16px;
  --duration-fast: 150ms;
  --duration-slow: 250ms;
  --duration-spring: 350ms;
  --ease-in-out: cubic-bezier(.4, 0, .2, 1);
  --ease-out: cubic-bezier(0, 0, .2, 1);
  --ease-in: cubic-bezier(.4, 0, 1, 1);
  --ease-spring: cubic-bezier(.34, 1.5, .64, 1);
  --z-raised: 2;
  --z-nav: 40;
  --z-overlay: 50;
  --z-toast: 60;
  --weight-regular: 450;
  --weight-medium: 550;
  --weight-semibold: 620;
  --breakpoint-sm: 640px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1180px;
  --breakpoint-2xl: 1360px;
  --breakpoint-3xl: 1536px;
  --container-xs: 320px;
  --container-sm: 384px;
  --container-md: 448px;
  --container-lg: 512px;
  --container-xl: 576px;
  --container-2xl: 672px;
  --font-sans: "Manrope Variable", Manrope, ui-sans-serif, system-ui, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}
