@charset "UTF-8";:root,[data-theme=dark]{--bg-primary: #0a0b0f;--bg-card: #141620;--bg-elevated: #1c1f2b;--bg-subtle: #0f1118;--text-primary: #f4f5fa;--text-secondary: #a2a7b8;--text-muted: #6b7083;--border: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .04);--border-strong: rgba(255, 255, 255, .14);--color-primary: oklch(.68 .18 285);--color-primary-fg: #ffffff;--color-primary-soft: oklch(.32 .09 285 / .32);--color-income: oklch(.74 .17 155);--color-income-soft: oklch(.74 .17 155 / .14);--color-expense: oklch(.68 .2 22);--color-expense-soft: oklch(.68 .2 22 / .14);--color-warning: oklch(.8 .16 75);--color-warning-soft: oklch(.8 .16 75 / .14);--color-debt: oklch(.64 .21 15);--color-debt-soft: oklch(.64 .21 15 / .14);--color-saving: oklch(.72 .13 215);--color-saving-soft: oklch(.72 .13 215 / .14);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .45), 0 1px 2px rgba(0, 0, 0, .3);--shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, .6), 0 2px 4px rgba(0, 0, 0, .3);--shadow-glow: 0 0 0 1px oklch(.68 .18 285 / .4), 0 8px 32px oklch(.68 .18 285 / .25);--overlay: rgba(0, 0, 0, .65);--glow-opacity: .07;--chart-grid: rgba(255, 255, 255, .05)}[data-theme=light]{--bg-primary: #f6f5f1;--bg-card: #ffffff;--bg-elevated: #ffffff;--bg-subtle: #eeece6;--text-primary: #15161c;--text-secondary: #545969;--text-muted: #858a9a;--border: rgba(10, 12, 20, .08);--border-subtle: rgba(10, 12, 20, .04);--border-strong: rgba(10, 12, 20, .16);--color-primary: oklch(.52 .19 285);--color-primary-fg: #ffffff;--color-primary-soft: oklch(.52 .19 285 / .12);--color-income: oklch(.52 .17 155);--color-income-soft: oklch(.52 .17 155 / .1);--color-expense: oklch(.55 .22 22);--color-expense-soft: oklch(.55 .22 22 / .1);--color-warning: oklch(.68 .17 65);--color-warning-soft: oklch(.68 .17 65 / .12);--color-debt: oklch(.52 .22 15);--color-debt-soft: oklch(.52 .22 15 / .1);--color-saving: oklch(.52 .14 215);--color-saving-soft: oklch(.52 .14 215 / .1);--shadow-sm: 0 1px 2px rgba(15, 17, 25, .06);--shadow-md: 0 4px 16px rgba(15, 17, 25, .08), 0 1px 2px rgba(15, 17, 25, .04);--shadow-lg: 0 24px 48px -12px rgba(15, 17, 25, .18), 0 2px 4px rgba(15, 17, 25, .06);--shadow-glow: 0 0 0 1px oklch(.52 .19 285 / .3), 0 8px 32px oklch(.52 .19 285 / .18);--overlay: rgba(0, 0, 0, .5);--glow-opacity: 0;--chart-grid: rgba(0, 0, 0, .07)}:root{--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 56px;--space-10: 72px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 22px;--radius-full: 999px;--font-display: "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-body: "Geist", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-md: 17px;--text-lg: 20px;--text-xl: 24px;--text-2xl: 32px;--text-3xl: 42px;--text-4xl: 56px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe-right: env(safe-area-inset-right, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11";overscroll-behavior:none;min-height:100dvh;line-height:1.5;transition:background var(--transition-base),color var(--transition-base)}::view-transition-old(root),::view-transition-new(root){animation-duration:.2s}input,select,textarea,button{font-family:var(--font-body);color:var(--text-primary)}::-webkit-scrollbar{display:none}*{scrollbar-width:none}[data-theme=light] input[type=date],[data-theme=light] input[type=datetime-local]{color-scheme:light}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.tabular{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.currency{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}@keyframes skeleton-pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}
