@import"https://fonts.googleapis.com/css2?family=Sora:wght@600;700&family=Plus+Jakarta+Sans:wght@400;500;600&display=swap";:root{--brand-font-display: "Sora", system-ui, sans-serif;--brand-font-body: "Plus Jakarta Sans", system-ui, sans-serif;--brand-font-mono: "JetBrains Mono", ui-monospace, monospace;--brand-50: #f0fdfa;--brand-100: #ccfbf1;--brand-200: #99f6e4;--brand-300: #5eead4;--brand-400: #2dd4bf;--brand-500: #14b8a6;--brand-600: #0d9488;--brand-700: #0f766e;--brand-800: #115e59;--brand-900: #134e4a;--brand-neutral-50: #f8fafc;--brand-neutral-100: #f1f5f9;--brand-neutral-200: #e2e8f0;--brand-neutral-300: #cbd5e1;--brand-neutral-400: #94a3b8;--brand-neutral-500: #64748b;--brand-neutral-600: #475569;--brand-neutral-700: #334155;--brand-neutral-800: #1e293b;--brand-neutral-900: #0f172a;--brand-success: #22c55e;--brand-warning: #f59e0b;--brand-error: #ef4444;--brand-error-dark: #dc2626;--brand-info: #14b8a6;--brand-accent: #7c3aed;--brand-logo-url: url(/assets/logo.svg);--brand-logo-dark-url: url(/assets/logo-dark.svg);--brand-logo-mark-url: url(/assets/logo-mark.svg);--brand-logo-width: 110px;--brand-logo-height: 28px;--brand-easing-standard: cubic-bezier(.4, 0, .2, 1);--brand-easing-decelerate: cubic-bezier(0, 0, .2, 1);--brand-easing-accelerate: cubic-bezier(.4, 0, 1, 1)}@layer reset,design,components,utilities;:root{--color-primary: var(--brand-500);--color-primary-hover: var(--brand-400);--color-primary-active: var(--brand-300);--color-primary-subtle: var(--brand-900);--color-primary-text: #ffffff;--color-bg: var(--brand-neutral-900);--color-surface: var(--brand-neutral-800);--color-surface-raised: var(--brand-neutral-700);--color-text: var(--brand-neutral-50);--color-text-muted: var(--brand-neutral-400);--color-text-subtle: var(--brand-neutral-600);--color-text-inverted: var(--brand-neutral-900);--color-border: var(--brand-neutral-700);--color-border-strong: var(--brand-neutral-600);--color-border-focus: var(--brand-500);--color-success: var(--brand-success);--color-success-subtle: #132b18;--color-warning: var(--brand-warning);--color-warning-subtle: #2d2000;--color-error: var(--brand-error);--color-error-dark: var(--brand-error-dark);--color-error-subtle: #2c0f0f;--color-info: var(--brand-info);--color-info-subtle: #0d2420;--color-accent: var(--brand-accent);--color-income: var(--brand-success);--color-income-subtle: #132b18;--color-expense: var(--brand-error);--color-expense-subtle: #2c0f0f;--color-balance-pos: var(--brand-success);--color-balance-neg: var(--brand-error);--font-display: var(--brand-font-display);--font-body: var(--brand-font-body);--font-mono: var(--brand-font-mono);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.4), 0 2px 4px -2px rgba(0,0,0,.3);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.4), 0 4px 6px -4px rgba(0,0,0,.3);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.5), 0 8px 10px -6px rgba(0,0,0,.4);--z-base: 0;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 300;--z-toast: 400;--z-tooltip: 500;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--ease-standard: var(--brand-easing-standard);--ease-decelerate: var(--brand-easing-decelerate);--ease-accelerate: var(--brand-easing-accelerate);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--tab-bar-height: 60px;--safe-bottom: env(safe-area-inset-bottom, 0px)}@media (prefers-color-scheme: light){:root{--color-bg: var(--brand-neutral-50);--color-surface: #ffffff;--color-surface-raised: var(--brand-neutral-100);--color-text: var(--brand-neutral-900);--color-text-muted: var(--brand-neutral-600);--color-text-subtle: var(--brand-neutral-400);--color-text-inverted: #ffffff;--color-border: var(--brand-neutral-200);--color-border-strong: var(--brand-neutral-400);--color-primary-subtle: var(--brand-50);--color-primary-hover: var(--brand-600);--color-primary-active: var(--brand-700);--color-success-subtle: #f0fdf4;--color-warning-subtle: #fffbeb;--color-error-subtle: #fef2f2;--color-info-subtle: #f0fdfa;--color-income-subtle: #f0fdf4;--color-expense-subtle: #fef2f2;--shadow-sm: 0 1px 2px rgba(0,0,0,.05);--shadow-md: 0 4px 6px -1px rgba(0,0,0,.08), 0 2px 4px -2px rgba(0,0,0,.04);--shadow-lg: 0 10px 15px -3px rgba(0,0,0,.08), 0 4px 6px -4px rgba(0,0,0,.04);--shadow-xl: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.04)}}@media (prefers-reduced-motion: reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms}}@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);font-size:16px;line-height:var(--leading-normal);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{min-height:100dvh;padding-bottom:calc(var(--tab-bar-height) + var(--safe-bottom))}img,video,svg{display:block;max-width:100%}input,button,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-bold);line-height:var(--leading-tight)}}@layer design{.amount{font-family:var(--font-display);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.amount--income{color:var(--color-income)}.amount--expense{color:var(--color-expense)}.container{width:100%;max-width:var(--container-sm);margin:0 auto;padding:0 var(--space-4)}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}}
