body{overscroll-behavior:none;background-color:#0000}:root{--font-sans:var(--font-inter);--header-height:calc(var(--spacing)*16 + 1px);--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}.theme-autovault,.theme-autovault-scaled{--primary:var(--accent-savings);--primary-foreground:#f8f8f8}@supports (color:lab(0% 0 0)){.theme-autovault,.theme-autovault-scaled{--primary-foreground:lab(97.68% -.0000298023 .0000119209)}}.dark .theme-autovault,.dark .theme-autovault-scaled{--primary:#00a97c;--primary-foreground:#060606}@supports (color:lab(0% 0 0)){.dark .theme-autovault,.dark .theme-autovault-scaled{--primary:lab(61.2521% -48.5415 12.7029);--primary-foreground:lab(1.5609% 0 0)}}.theme-savings{--feature-accent:var(--accent-savings);--feature-gradient:var(--gradient-savings)}.theme-goals{--feature-accent:var(--accent-goals);--feature-gradient:var(--gradient-goals)}.theme-dca{--feature-accent:var(--accent-dca);--feature-gradient:var(--gradient-dca)}.theme-ai{--feature-accent:var(--accent-ai);--feature-gradient:var(--gradient-ai)}@media (min-width:1024px){.theme-scaled{--radius:.875rem;--text-lg:1.05rem;--text-base:.9rem;--text-sm:.8rem;--spacing:.25rem}.theme-scaled [data-slot=card]{--spacing:.2rem}.theme-scaled [data-slot=select-trigger],.theme-scaled [data-slot=toggle-group-item]{--spacing:.25rem}}.text-display{letter-spacing:-.02em;font-size:3rem;font-weight:700;line-height:1.1}.text-headline{letter-spacing:-.01em;font-size:2rem;font-weight:700;line-height:1.2}.text-title{font-size:1.5rem;font-weight:600;line-height:1.3}.text-subtitle{font-size:1.125rem;font-weight:500;line-height:1.4}.text-body{font-size:1rem;font-weight:400;line-height:1.5}.text-caption{font-size:.875rem;font-weight:400;line-height:1.4}.text-overline{letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:600;line-height:1.3}.text-balance{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:2.5rem;font-weight:700;line-height:1.1}.text-balance-sm{font-variant-numeric:tabular-nums;font-size:1.5rem;font-weight:700;line-height:1.2}.text-balance-lg{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:3rem;font-weight:700;line-height:1}.card-elevated{border:1px solid var(--border);background:var(--card);border-radius:.75rem;box-shadow:0 1px 3px #0000000a,0 1px 2px -1px #0000000a}.card-elevated:hover{box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a}.card-feature{border-radius:.75rem;padding:1.5rem;transition:all .2s}.card-feature:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a}.card-feature-savings{background:var(--gradient-savings)}.card-feature-goals{background:var(--gradient-goals)}.card-feature-dca{background:var(--gradient-dca)}.card-feature-ai{background:var(--gradient-ai)}.nav-item{color:var(--muted-foreground);border-radius:.5rem;align-items:center;gap:.75rem;padding:.625rem .75rem;transition:all .2s;display:flex}.nav-item:hover{background-color:var(--accent);color:var(--accent-foreground)}.nav-item-active{background-color:color-mix(in oklch,var(--primary)10%,transparent);color:var(--primary);font-weight:500}.nav-item-active:before{content:"";background:var(--primary);border-radius:0 4px 4px 0;width:3px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.progress-ring{transform-origin:50%;transform:rotate(-90deg)}.progress-ring-track{stroke:var(--muted);fill:none}.progress-ring-fill{stroke:var(--primary);fill:none;stroke-linecap:round;transition:stroke-dasharray .5s ease-out}.milestone-badge{border-radius:9999px;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:600;transition:all .3s;display:flex}.milestone-badge-inactive{background-color:var(--muted);color:var(--muted-foreground)}.milestone-badge-25{color:#fff;background-color:#3b82f6}.milestone-badge-50{color:#fff;background-color:#eab308}.milestone-badge-75{color:#fff;background-color:#f97316}.milestone-badge-100{color:#fff;background-color:#22c55e}.status-badge{border-radius:9999px;align-items:center;gap:.375rem;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.status-badge-success{color:#15803d;background-color:#dcfce7}.dark .status-badge-success{color:#4ade80;background-color:#1665344d}.status-badge-warning{color:#b45309;background-color:#fef3c7}.dark .status-badge-warning{color:#fbbf24;background-color:#b453094d}.status-badge-error{color:#b91c1c;background-color:#fee2e2}.dark .status-badge-error{color:#f87171;background-color:#b91c1c4d}.status-badge-pending{color:#1d4ed8;background-color:#dbeafe}.dark .status-badge-pending{color:#60a5fa;background-color:#1d4ed84d}.input-error{border-color:#ef4444}.input-error:focus{--tw-ring-color:#ef4444}.input-error-message{color:#ef4444;margin-top:.25rem;font-size:.875rem}@keyframes fade-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-up{animation:.4s ease-out forwards fade-up}.animate-fade-in{animation:.3s ease-out forwards fade-in}.animate-scale-in{animation:.3s ease-out forwards scale-in}.animate-pulse-soft{animation:2s ease-in-out infinite pulse-soft}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.mobile-nav{z-index:50;background-color:color-mix(in oklch,var(--background)95%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}@media (min-width:768px){.mobile-nav{display:none}}.mobile-nav-item{color:var(--muted-foreground);flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:56px;padding:.5rem .75rem;transition:color .2s;display:flex}.mobile-nav-item-active{color:var(--primary)}@media (max-width:640px){.text-balance{font-size:2rem}.text-balance-lg{font-size:2.5rem}}
