:root,html[data-tone=warm]{--h:75;--c:.006;--bg-base:oklch(.215 var(--c) var(--h));--bg-surface:oklch(.255 var(--c) var(--h));--bg-surface-raised:oklch(.3 var(--c) var(--h));--bg-sunken:oklch(.195 var(--c) var(--h));--border-subtle:oklch(.28 var(--c) var(--h));--border-surface:oklch(.31 var(--c) var(--h));--border-row:oklch(.245 var(--c) var(--h))}html[data-tone=cool]{--h:255;--c:.011;--bg-base:oklch(.21 var(--c) var(--h));--bg-surface:oklch(.25 var(--c) var(--h));--bg-surface-raised:oklch(.295 var(--c) var(--h));--bg-sunken:oklch(.19 var(--c) var(--h));--border-subtle:oklch(.275 var(--c) var(--h));--border-surface:oklch(.305 var(--c) var(--h));--border-row:oklch(.24 var(--c) var(--h))}html[data-tone=neutral]{--h:0;--c:0;--bg-base:oklch(16.5% 0 0);--bg-surface:oklch(21.5% 0 0);--bg-surface-raised:oklch(26.5% 0 0);--bg-sunken:oklch(14.5% 0 0);--border-subtle:oklch(23.5% 0 0);--border-surface:oklch(27% 0 0);--border-row:oklch(20% 0 0)}:root{--text-primary:oklch(.9 .004 var(--h));--text-secondary:oklch(.72 .006 var(--h));--text-tertiary:oklch(.63 .007 var(--h));--text-muted:oklch(.55 .007 var(--h));--text-ghost:oklch(.44 .007 var(--h));--grow:#2fa866;--grow-soft:#2fa86624;--debt:#db3b47;--debt-soft:#db3b4714;--debt-soft-strong:#db3b471f;--debt-text:color-mix(in srgb, var(--debt) 75%, #fff);--pending:#ef9f27;--pending-soft:#ef9f271a;--plan-liquid:#ff4d8d;--plan-liquid-soft:#ff4d8d1f;--plan-hard:#404e7c;--plan-hard-soft:#404e7c29;--plan-soft:#1fb6a6;--plan-soft-soft:#1fb6a61f;--invest:#8e72d6;--invest-soft:#8e72d624;--data-income:var(--grow);--data-expense:#f18f01;--data-net:var(--text-primary);--data-prev:var(--text-tertiary);--data-prev-year:#a78bfa;--sec-cuentas:var(--text-primary);--sec-cuentas-bg:oklch(.93 .004 var(--h) / .08)}:root,html[data-action=blanco]{--accent:oklch(.93 .004 var(--h));--accent-on:oklch(.2 .006 var(--h));--accent-soft:oklch(.93 .004 var(--h) / .08);--accent-rgb:236, 236, 233}:root{--accent-on-muted:color-mix(in srgb, var(--accent-on) 85%, var(--accent));--nav-fg:oklch(.93 .004 var(--h));--nav-ind:oklch(.93 .004 var(--h) / .08);--nav-fab:oklch(.93 .004 var(--h));--nav-fab-on:oklch(.2 .006 var(--h))}html[data-action=lima]{--accent:#cfea82;--accent-on:#14130f;--accent-soft:#cfea8226;--accent-rgb:207, 234, 130}html[data-action=azul]{--accent:#6990d0;--accent-on:#14130f;--accent-soft:#6990d026;--accent-rgb:105, 144, 208}html[data-action=cielo]{--accent:#97c1dc;--accent-on:#14130f;--accent-soft:#97c1dc26;--accent-rgb:151, 193, 220}html[data-action=indigo]{--accent:#8187cd;--accent-on:#14130f;--accent-soft:#8187cd26;--accent-rgb:129, 135, 205}html[data-action=turquesa]{--accent:#78bfc4;--accent-on:#14130f;--accent-soft:#78bfc426;--accent-rgb:120, 191, 196}html[data-action=menta]{--accent:#8fd6b3;--accent-on:#14130f;--accent-soft:#8fd6b326;--accent-rgb:143, 214, 179}html[data-action=arena]{--accent:#d9c9a9;--accent-on:#14130f;--accent-soft:#d9c9a926;--accent-rgb:217, 201, 169}html[data-action=mandarina]{--accent:#e5a775;--accent-on:#14130f;--accent-soft:#e5a77526;--accent-rgb:229, 167, 117}html[data-action=coral]{--accent:#e18f81;--accent-on:#14130f;--accent-soft:#e18f8126;--accent-rgb:225, 143, 129}html[data-action=magenta]{--accent:#cf83b9;--accent-on:#14130f;--accent-soft:#cf83b926;--accent-rgb:207, 131, 185}html[data-action=lavanda]{--accent:#b3a4db;--accent-on:#14130f;--accent-soft:#b3a4db26;--accent-rgb:179, 164, 219}:root{--font-display:"Outfit", system-ui, sans-serif;--font-ui:"Geist", system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, monospace;--font-label:"Space Grotesk", system-ui, sans-serif;--fs-display-xl:40px;--fs-display-l:32px;--fs-display-m:24px;--fs-ui-title:14px;--fs-ui-body:13px;--fs-label:11px;--fs-mono:13px;--fs-meta:11px;--margin-screen:7px;--pad-card:14px;--gap-card:6px;--gap-section:16px;--r-card:16px;--r-accent:20px;--r-pill:100px;--r-icon:12px;--r-cta:12px;--r-input:14px}*{box-sizing:border-box}.ft-root{font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}.t-display{font-family:var(--font-display);letter-spacing:-.03em;font-weight:600}.t-label{font-family:var(--font-label);text-transform:uppercase;letter-spacing:.1em}.t-mono{font-family:var(--font-mono);font-feature-settings:"tnum" 1}.t-ui{font-family:var(--font-ui)}.ft-scroll::-webkit-scrollbar{width:0;height:0}.ft-scroll{scrollbar-width:none;-ms-overflow-style:none}html,body,#root{height:100%;margin:0}body{background:var(--bg-base);overscroll-behavior:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.ft-root textarea::placeholder,.ft-root input::placeholder{color:var(--text-ghost)}.app-shell{height:100dvh;padding-top:env(safe-area-inset-top);box-sizing:border-box;flex-direction:column;display:flex;overflow:hidden}.app-shell__stage{flex:1;position:relative;overflow:hidden}.offline-indicator{margin:var(--gap-card) var(--margin-screen) 0;padding:var(--gap-card) var(--pad-card);border-radius:var(--r-pill);background:var(--pending-soft);color:var(--pending);font-size:var(--fs-meta);text-align:center}.backup{gap:var(--gap-section);padding:var(--gap-section) var(--gap-section) 0;flex-direction:column;display:flex}.auth-splash{min-height:100%}.cta{width:100%;padding:var(--pad-card);border-radius:var(--r-cta);background:var(--accent);color:var(--accent-on);font-family:var(--font-ui);font-size:var(--fs-ui-title);cursor:pointer;border:0;font-weight:600}.cta:disabled{opacity:.6;cursor:default}.form-error{font-size:var(--fs-ui-body);color:var(--debt-text);text-align:center;margin:0}@keyframes ft-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes ft-fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ft-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ft-swipe-right{0%{opacity:0;transform:translate(26px)}to{opacity:1;transform:translate(0)}}@keyframes ft-swipe-left{0%{opacity:0;transform:translate(-26px)}to{opacity:1;transform:translate(0)}}@keyframes ft-dot{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@keyframes ft-handle-hint{0%{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}50%{opacity:.85;transform:translateY(0)}68%{opacity:1;transform:translateY(-3px)}to{opacity:.5;transform:translateY(0)}}
