@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=Outfit:wght@500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--ds-surface-base: hsl(222 23% 8%);--ds-surface-elevated: hsl(221 18% 12%);--ds-surface-overlay: rgba(255, 255, 255, .035);--ds-surface-border: rgba(255, 255, 255, .05);--ds-surface-border-strong: rgba(255, 255, 255, .08);--ds-primary: #91a3bf;--ds-primary-soft: rgba(145, 163, 191, .16);--ds-primary-strong: rgba(145, 163, 191, .32);--ds-primary-muted: hsl(217 18% 48%);--ds-accent: hsl(35 45% 68%);--ds-accent-muted: hsl(35 28% 48%);--ds-glow: hsl(35 55% 74%);--ds-emerald: hsl(147 45% 60%);--ds-rose: hsl(12 45% 65%);--ds-amber: hsl(35 47% 63%);--ds-income: hsl(147 45% 60%);--ds-income-bg: rgba(103, 200, 141, .12);--ds-expense: hsl(12 45% 65%);--ds-expense-bg: rgba(216, 137, 120, .12);--ds-pending: hsl(35 47% 63%);--ds-pending-bg: rgba(210, 170, 114, .12);--ds-text-primary: rgba(255, 255, 255, .92);--ds-text-secondary: rgba(255, 255, 255, .55);--ds-text-tertiary: rgba(255, 255, 255, .35);--ds-text-inverse: hsl(220 20% 6%);--ds-glass-bg: rgba(18, 22, 27, .88);--ds-glass-bg-strong: rgba(15, 19, 24, .94);--ds-glass-bg-subtle: rgba(255, 255, 255, .03);--ds-glass-border: rgba(255, 255, 255, .06);--ds-glass-border-strong: rgba(255, 255, 255, .1);--ds-glass-blur: blur(18px) saturate(150%);--ds-glass-blur-strong: blur(28px) saturate(165%);--ds-glass-blur-subtle: blur(10px) saturate(130%);--ds-glass-shadow: 0 18px 42px rgba(0, 0, 0, .28);--ds-glass-shadow-strong: 0 28px 72px rgba(0, 0, 0, .36);--ds-glass-shadow-subtle: 0 10px 26px rgba(0, 0, 0, .18);--ds-gradient-page: radial-gradient( ellipse 72% 44% at 50% -16%, rgba(145, 163, 191, .14) 0%, transparent 60% ), radial-gradient( ellipse 50% 36% at 85% 18%, hsl(35 45% 68% / .08) 0%, transparent 50% ), hsl(222 23% 8%);--ds-gradient-ai: linear-gradient(135deg, var(--ds-primary), var(--ds-accent));--ds-gradient-ai-subtle: linear-gradient(135deg, rgba(145, 163, 191, .18), hsl(35 45% 68% / .16));--ds-gradient-primary: linear-gradient(135deg, var(--ds-primary), hsl(217 18% 54%));--ds-gradient-accent: linear-gradient(135deg, hsl(35 45% 68%), hsl(147 45% 60%));--ds-gradient-income: linear-gradient(135deg, rgba(103, 200, 141, .8), rgba(63, 150, 102, .8));--ds-gradient-expense: linear-gradient(135deg, rgba(216, 137, 120, .82), rgba(181, 93, 76, .82));--ds-gradient-card: linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(255, 255, 255, .02));--ds-page-px: clamp(16px, 4vw, 24px);--ds-page-py: clamp(16px, 3vw, 24px);--ds-card-pad: 20px;--ds-bottom-nav-height: 64px;--ds-top-bar-height: 56px;--ds-safe-bottom: env(safe-area-inset-bottom, 0px);--ds-radius-xs: 6px;--ds-radius-sm: 10px;--ds-radius-md: 16px;--ds-radius-lg: 24px;--ds-radius-xl: 32px;--ds-radius-full: 9999px;--ds-radius-card: 20px;--ds-radius-button: 12px;--ds-radius-input: 12px;--ds-radius-chip: 8px;--ds-font-sans: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--ds-font-display: "Outfit", "DM Sans", sans-serif;--ds-font-mono: "JetBrains Mono", "Fira Code", monospace;--ds-shadow-xs: 0 1px 3px rgba(0, 0, 0, .2);--ds-shadow-sm: 0 4px 12px rgba(0, 0, 0, .24);--ds-shadow-md: 0 8px 24px rgba(0, 0, 0, .28);--ds-shadow-lg: 0 16px 48px rgba(0, 0, 0, .36);--ds-shadow-xl: 0 32px 80px rgba(0, 0, 0, .44);--ds-glow-primary: 0 0 24px rgba(145, 163, 191, .32);--ds-glow-accent: 0 0 24px hsl(35 45% 68% / .28);--ds-glow-income: 0 0 16px rgba(103, 200, 141, .28);--ds-glow-expense: 0 0 16px rgba(216, 137, 120, .28);--ds-ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ds-ease-smooth: cubic-bezier(.4, 0, .2, 1);--ds-ease-in: cubic-bezier(.4, 0, 1, 1);--ds-ease-out: cubic-bezier(0, 0, .2, 1);--ds-duration-fast: .15s;--ds-duration-normal: .25s;--ds-duration-slow: .4s;--ds-z-cards: 1;--ds-z-sticky: 10;--ds-z-bottom-nav: 20;--ds-z-drawer: 30;--ds-z-modal: 40;--ds-z-toast: 50}[data-theme=light]{--ds-surface-base: hsl(36 26% 93%);--ds-surface-elevated: hsl(0 0% 100%);--ds-surface-overlay: rgba(0, 0, 0, .04);--ds-surface-border: rgba(0, 0, 0, .08);--ds-surface-border-strong: rgba(0, 0, 0, .14);--ds-primary: #425c83;--ds-primary-soft: rgba(66, 92, 131, .12);--ds-primary-strong: rgba(66, 92, 131, .22);--ds-glass-bg: rgba(255, 255, 255, .7);--ds-glass-bg-strong: rgba(255, 255, 255, .85);--ds-glass-bg-subtle: rgba(255, 255, 255, .5);--ds-glass-border: rgba(0, 0, 0, .08);--ds-glass-border-strong: rgba(0, 0, 0, .14);--ds-glass-shadow: 0 8px 32px rgba(0, 0, 0, .1), inset 0 1px 0 rgba(255, 255, 255, .9);--ds-glass-shadow-strong: 0 20px 60px rgba(0, 0, 0, .16), inset 0 1px 0 rgba(255, 255, 255, 1);--ds-glass-shadow-subtle: 0 4px 16px rgba(0, 0, 0, .08), inset 0 1px 0 rgba(255, 255, 255, .8);--ds-gradient-page: radial-gradient( ellipse 72% 44% at 50% -16%, rgba(66, 92, 131, .1) 0%, transparent 60% ), radial-gradient( ellipse 50% 36% at 84% 18%, hsl(35 45% 68% / .08) 0%, transparent 60% ), hsl(36 26% 93%);--ds-text-primary: rgba(15, 23, 42, .92);--ds-text-secondary: rgba(15, 23, 42, .55);--ds-text-tertiary: rgba(15, 23, 42, .35);--ds-text-inverse: rgba(255, 255, 255, .92);--ds-shadow-xs: 0 1px 3px rgba(0, 0, 0, .08);--ds-shadow-sm: 0 4px 12px rgba(0, 0, 0, .1);--ds-shadow-md: 0 8px 24px rgba(0, 0, 0, .12);--ds-shadow-lg: 0 16px 48px rgba(0, 0, 0, .16);--ds-shadow-xl: 0 32px 80px rgba(0, 0, 0, .2)}@media (prefers-reduced-motion: reduce){:root{--ds-duration-fast: 0ms;--ds-duration-normal: 0ms;--ds-duration-slow: 0ms;--ds-ease-spring: linear;--ds-ease-smooth: linear}}.ds-font-sans{font-family:var(--ds-font-sans)}.ds-font-mono{font-family:var(--ds-font-mono);font-variant-numeric:tabular-nums}.ds-glass{background:var(--ds-glass-bg);border:1px solid transparent;backdrop-filter:var(--ds-glass-blur);-webkit-backdrop-filter:var(--ds-glass-blur);box-shadow:var(--ds-glass-shadow);border-radius:var(--ds-radius-card)}.ds-glass-strong{background:var(--ds-glass-bg-strong);border:1px solid transparent;backdrop-filter:var(--ds-glass-blur-strong);-webkit-backdrop-filter:var(--ds-glass-blur-strong);box-shadow:var(--ds-glass-shadow-strong);border-radius:var(--ds-radius-card)}.ds-ai-text{background:var(--ds-gradient-ai);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ds-pb-safe{padding-bottom:calc(var(--ds-bottom-nav-height) + var(--ds-safe-bottom))}
