@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--c-fijo: #3b82f6;--c-variable: #f59e0b;--c-ahorro: #06b6d4;--c-ingreso: #22c55e;--brand: #10b981;--brand-2: #34d399;--gold: #f5b638;--blue: #3b82f6;--violet: #8b5cf6;--cyan: #06b6d4;--pink: #ec4899;--radius: 16px;--radius-sm: 10px;--radius-lg: 22px;--font: "Inter Variable", "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .12);--shadow: 0 12px 30px -12px rgba(0, 0, 0, .45);--shadow-lg: 0 30px 60px -18px rgba(0, 0, 0, .55);--ease: cubic-bezier(.22, 1, .36, 1)}:root,[data-theme=dark]{--bg: #070b16;--bg-grad-1: #0c1428;--bg-grad-2: #070a13;--surface: #101a2e;--surface-2: #16223b;--surface-3: #1d2c49;--glass: rgba(20, 32, 56, .55);--border: #223550;--border-soft: #1a2740;--text: #eaf1fb;--text-dim: #9db0cf;--text-mut: #7a8aa6;--pos: #34d399;--neg: #fb7185;--warn: #fbbf24;--ring: rgba(16, 185, 129, .35)}[data-theme=light]{--bg: #eef2f9;--bg-grad-1: #f6f9fe;--bg-grad-2: #e6edf8;--surface: #ffffff;--surface-2: #f5f8fd;--surface-3: #eef3fb;--glass: rgba(255, 255, 255, .72);--border: #dde5f1;--border-soft: #e8eef7;--text: #0d1a2d;--text-dim: #4a5b76;--text-mut: #6b7789;--pos: #059669;--neg: #e11d48;--warn: #d97706;--ring: rgba(16, 185, 129, .28);--shadow: 0 12px 30px -14px rgba(30, 55, 90, .22);--shadow-lg: 0 30px 60px -22px rgba(30, 55, 90, .25)}*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);background:radial-gradient(1200px 700px at 85% -10%,rgba(16,185,129,.1),transparent 60%),radial-gradient(1000px 600px at -10% 10%,rgba(59,130,246,.1),transparent 55%),linear-gradient(160deg,var(--bg-grad-1),var(--bg-grad-2));background-attachment:fixed;color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}a{color:inherit;text-decoration:none}button{font-family:inherit}.tnum{font-variant-numeric:tabular-nums}.mono{font-family:JetBrains Mono,SF Mono,ui-monospace,monospace}::selection{background:#10b98147}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}a:focus-visible,button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--brand);outline-offset:2px}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--border);border-radius:20px}*::-webkit-scrollbar-thumb:hover{background:var(--surface-3)}.card{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.glass{background:var(--glass);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);border:1px solid var(--border-soft)}.card-pad{padding:20px 22px}.section-title{font-size:12px;font-weight:650;letter-spacing:.09em;text-transform:uppercase;color:var(--text-mut)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 16px;border-radius:11px;border:1px solid transparent;font-size:14px;font-weight:560;cursor:pointer;transition:transform .14s var(--ease),background .2s,box-shadow .2s,border-color .2s;white-space:nowrap}.btn:active{transform:translateY(1px) scale(.99)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--brand),#0ea371);color:#04150f;box-shadow:0 8px 20px -8px #10b981b3}.btn-primary:hover:not(:disabled){box-shadow:0 12px 26px -8px #10b981e6;transform:translateY(-1px)}.btn-ghost{background:var(--surface-2);color:var(--text-dim);border-color:var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--surface-3);background:var(--surface-3)}.btn-danger{background:#f43f5e24;color:var(--neg);border-color:#f43f5e4d}.btn-danger:hover{background:#f43f5e38}.btn-sm{height:32px;padding:0 12px;font-size:13px;border-radius:9px}.btn-icon{width:40px;padding:0}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.01em;border:1px solid transparent}.badge .dot{width:6px;height:6px;border-radius:50%}.badge-fijo{background:#3b82f624;color:#7fb0ff;border-color:#3b82f647}.badge-variable{background:#f59e0b24;color:#fbbf5a;border-color:#f59e0b47}.badge-ahorro{background:color-mix(in srgb,var(--c-ahorro) 14%,transparent);color:color-mix(in srgb,var(--c-ahorro) 62%,white);border-color:color-mix(in srgb,var(--c-ahorro) 28%,transparent)}.badge-ingreso{background:#22c55e24;color:#57e08a;border-color:#22c55e47}.badge-admin{background:#f5b63829;color:var(--gold);border-color:#f5b6384d}.badge-user{background:var(--surface-3);color:var(--text-dim);border-color:var(--border)}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12.5px;font-weight:560;color:var(--text-dim)}.input,.select{height:44px;width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;color:var(--text);padding:0 14px;font-size:14.5px;font-family:inherit;transition:border-color .18s,box-shadow .18s,background .18s}.input::placeholder{color:var(--text-mut)}.input:focus,.select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--ring);background:var(--surface)}.select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2393a4c0' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}.pos{color:var(--pos)}.neg{color:var(--neg)}.dim{color:var(--text-dim)}.mut{color:var(--text-mut)}.row{display:flex;align-items:center}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.grow{flex:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes popIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}.animate-up{animation:fadeUp .5s var(--ease) both}.stagger>*{animation:fadeUp .5s var(--ease) both}.stagger>*:nth-child(1){animation-delay:.02s}.stagger>*:nth-child(2){animation-delay:.07s}.stagger>*:nth-child(3){animation-delay:.12s}.stagger>*:nth-child(4){animation-delay:.17s}.stagger>*:nth-child(5){animation-delay:.22s}.stagger>*:nth-child(6){animation-delay:.27s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.05ms!important}}.toast-stack{position:fixed;right:20px;bottom:20px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);font-size:13.5px;color:var(--text);max-width:340px;transform:translateY(16px);opacity:0;transition:transform .28s var(--ease),opacity .28s}.toast.show{transform:none;opacity:1}.toast-ico{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--text-mut)}.toast.t-ok .toast-ico{background:var(--pos);box-shadow:0 0 8px var(--pos)}.toast.t-err .toast-ico{background:var(--neg);box-shadow:0 0 8px var(--neg)}.toast.t-info .toast-ico{background:var(--blue);box-shadow:0 0 8px var(--blue)}.toast.t-ok{border-color:color-mix(in srgb,var(--pos) 35%,var(--border))}.toast.t-err{border-color:color-mix(in srgb,var(--neg) 35%,var(--border))}@media(max-width:600px){.toast-stack{left:12px;right:12px;bottom:92px}.toast{max-width:none}}.notif-item{display:flex;gap:11px;padding:12px 16px;border-bottom:1px solid var(--border-soft);border-left:3px solid transparent}.notif-item:last-child{border-bottom:none}.notif-item.lvl-high{border-left-color:var(--neg)}.notif-item.lvl-warn{border-left-color:var(--warn)}.notif-item.lvl-info{border-left-color:var(--blue)}.notif-item.lvl-good{border-left-color:var(--pos)}.ni-emoji{font-size:18px;line-height:1.3;flex-shrink:0}.ni-txt{display:flex;flex-direction:column;gap:3px;min-width:0}.ni-txt strong{font-size:13.5px;display:block}.ni-txt small{font-size:12px;color:var(--text-dim);line-height:1.45;display:block}.trash-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px;border-bottom:1px solid var(--border-soft)}.trash-row:last-of-type{border-bottom:none}.trash-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}.trash-row strong{font-size:13.5px}.trash-row small{font-size:11.5px;color:var(--text-mut)}.install-sheet{position:fixed;left:12px;right:12px;bottom:12px;z-index:300;max-width:420px;margin:0 auto;padding:16px 18px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);transform:translateY(140%);transition:transform .34s var(--ease)}.install-sheet.show{transform:none}.install-sheet strong{display:block;font-size:15px;margin-bottom:5px}.install-sheet p{margin:0;font-size:13px;color:var(--text-dim);line-height:1.5}.install-sheet .is-go{margin-top:12px}.install-sheet .is-x{position:absolute;top:10px;right:12px;background:none;border:none;color:var(--text-mut);font-size:15px;cursor:pointer;line-height:1}.install-sheet .is-share{display:inline-block;padding:0 4px;color:var(--blue)}@media(min-width:720px){.install-sheet{left:auto;right:20px;bottom:20px}}.msg{display:flex}.msg.user{justify-content:flex-end}.bubble{max-width:82%;padding:11px 14px;border-radius:15px;font-size:14px;line-height:1.55}.msg.bot .bubble{background:var(--surface-2);border:1px solid var(--border-soft);border-bottom-left-radius:5px}.msg.user .bubble{background:linear-gradient(135deg,var(--brand),#0ea371);color:#04150f;border-bottom-right-radius:5px;font-weight:500}.bubble.t-good{background:color-mix(in srgb,var(--pos) 12%,var(--surface-2));border-color:color-mix(in srgb,var(--pos) 30%,transparent)}.bubble.t-warn{background:color-mix(in srgb,var(--warn) 12%,var(--surface-2));border-color:color-mix(in srgb,var(--warn) 30%,transparent)}.bubble.typing{color:var(--text-mut);letter-spacing:2px}
