:root{--palette-slate-50:#f8fafc;--palette-slate-100:#f1f5f9;--palette-slate-200:#e2e8f0;--palette-slate-300:#cbd5e1;--palette-slate-400:#94a3b8;--palette-slate-500:#64748b;--palette-slate-600:#475569;--palette-slate-700:#334155;--palette-slate-800:#1e293b;--palette-slate-900:#0f172a;--palette-indigo-50:#eef2ff;--palette-indigo-100:#e0e7ff;--palette-indigo-200:#c7d2fe;--palette-indigo-300:#a5b4fc;--palette-indigo-400:#818cf8;--palette-indigo-500:#6366f1;--palette-indigo-600:#4f46e5;--palette-indigo-700:#4338ca;--palette-sky-500:#0ea5e9;--palette-sky-600:#0284c7;--palette-emerald-500:#10b981;--palette-emerald-600:#059669;--palette-emerald-700:#047857;--palette-rose-500:#f43f5e;--palette-rose-600:#e11d48;--palette-amber-50:#fffbeb;--palette-amber-500:#f59e0b;--palette-amber-600:#d97706;--palette-amber-700:#b45309;--palette-orange-500:#fb923c;--palette-red-500:#ef4444;--palette-red-600:#dc2626;--palette-violet-600:#7c3aed;--palette-pink-500:#ec4899;--blanco:#ffffff;--negro:#000000;--color-brand:var(--palette-indigo-600);--color-brand-hover:var(--palette-indigo-700);--color-brand-soft:var(--palette-indigo-50);--color-income:var(--palette-sky-600);--color-spend:var(--palette-rose-600);--color-variable:var(--palette-amber-600);--color-savings:var(--palette-emerald-600);--color-success:var(--palette-emerald-600);--color-danger:var(--palette-red-600);--color-warning:var(--palette-amber-600);--color-highlight:var(--palette-violet-600);--color-category-survival:var(--palette-emerald-600);--color-category-leisure:var(--palette-pink-500);--color-category-culture:var(--palette-sky-600);--color-category-extras:var(--palette-amber-600);--color-free:var(--palette-indigo-300);--color-text:var(--palette-slate-900);--color-text-subtle:var(--palette-slate-600);--color-text-muted:var(--palette-slate-500);--color-text-faint:var(--palette-slate-400);--color-text-inverse:#ffffff;--color-border:var(--palette-slate-200);--color-border-strong:var(--palette-slate-300);--color-surface:#ffffff;--color-surface-muted:var(--palette-slate-50);--color-surface-strong:var(--palette-slate-100);--color-surface-page:var(--palette-slate-50);--color-danger-soft:color-mix(in srgb,var(--color-danger) 8%,var(--color-surface));--overlay-frost:color-mix(in srgb,var(--color-surface) 72%,transparent);--edge-fade:color-mix(in srgb,var(--palette-slate-900) 15%,transparent);--color-grid-border:var(--palette-slate-400);--color-grid-border-strong:var(--palette-slate-800);--chart-axis:var(--palette-slate-400);--chart-axis-strong:var(--palette-slate-500);--chart-track:var(--palette-slate-200);--chart-1:var(--palette-indigo-500);--chart-2:var(--palette-emerald-500);--chart-3:var(--palette-pink-500);--chart-4:var(--palette-amber-500);--chart-5:var(--palette-sky-500);--chart-6:#a855f7;--chart-7:#14b8a6;--chart-8:#f97316;--chart-9:#84cc16;--chart-10:var(--palette-red-500);--chart-account-1:var(--palette-indigo-600);--chart-account-2:var(--palette-emerald-600);--chart-account-3:var(--palette-amber-600);--chart-account-4:var(--palette-sky-600);--chart-account-5:var(--palette-pink-500);--chart-account-6:var(--palette-violet-600);--chart-account-7:var(--palette-sky-500);--chart-account-8:var(--palette-rose-500);--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-full:9999px;--radius-button:var(--radius-md);--radius-input:var(--radius-md);--radius-card:var(--radius-xl);--radius-pill:var(--radius-full);--space-1:0.25rem;--space-2:0.5rem;--space-3:0.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;--font-size-xs:0.6875rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--shadow-soft:0 10px 30px rgba(15,23,42,0.08);--shadow-sm:0 1px 2px rgba(15,23,42,0.06);--shadow-lg:0 20px 40px rgba(15,23,42,0.15);--duration-fast:0.15s;--duration-spin:0.6s;--duration-pulse:1.5s;--duration-blink:1.3s;--z-overlay:10;--z-modal:50;--z-tour:1000;--overlay-scrim:color-mix(in srgb,var(--palette-slate-900) 40%,transparent);--overlay-scrim-soft:color-mix(in srgb,var(--palette-slate-900) 20%,transparent)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{background:var(--color-surface-page);color:var(--color-text);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit;color:inherit}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}button{cursor:pointer;background:none;border:none;padding:0;text-align:inherit}a{color:inherit;text-decoration:none}ol,ul{padding:0;list-style:none}h1,h2,h3,h4,h5,h6,ol,p,ul{margin:0}img,svg{display:block;max-width:100%}.app-content{width:100%;max-width:none;padding-left:var(--space-4);padding-right:var(--space-4)}@media (min-width:1024px){.app-content{padding-left:var(--space-8);padding-right:var(--space-8)}}.page-shell{min-height:100vh;padding:var(--space-6)}.page-shell--surface{background:var(--color-surface-page)}.page-shell--surface-strong{background:var(--color-surface-strong)}.page-shell__container{margin-left:auto;margin-right:auto}.page-shell__container--narrow{max-width:48rem}.page-shell__container--content{max-width:56rem}.page-shell__container--wide{max-width:72rem}.page-shell__stack{display:flex;flex-direction:column;gap:var(--space-8)}.page-empty-state{text-align:center}.page-empty-state__link{color:var(--color-brand)}.page-empty-state__link:hover{color:var(--color-brand-hover)}.page-empty-state--hero{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:65vh}.page-empty-state__title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-text)}.page-empty-state__subtitle{margin-top:var(--space-3);color:var(--color-text-muted)}.page-empty-state__cta{margin-top:var(--space-6);display:inline-block;border-radius:var(--radius-md);background:var(--color-brand);padding:var(--space-3) var(--space-5);font-weight:var(--font-weight-semibold);color:var(--color-text-inverse)}.page-empty-state__cta:hover{background:var(--color-brand-hover)}