*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;line-height:1.5}img,picture,video,canvas,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{outline-color:var(--red);border-color:var(--red)!important}button{cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}a{color:inherit;text-decoration:none}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0c0b;--surface:#141413;--surface2:#1c1c1a;--surface3:#262624;--border:#ffffff12;--border2:#ffffff1f;--border3:#fff3;--text:#f0efed;--text2:#9a9894;--text3:#6f6d69;--accent:#4ade80;--accent-dim:color-mix(in srgb, var(--accent) 12%, transparent);--accent-glow:color-mix(in srgb, var(--accent) 26%, transparent);--accent-border:color-mix(in srgb, var(--accent) 34%, transparent);--accent-muted:color-mix(in srgb, var(--accent) 7%, transparent);--on-accent:#071a0e;--red:#f87171;--red-dim:#f871711a;--amber:#fbbf24;--amber-dim:#fbbf241a;--blue:#60a5fa;--blue-dim:#60a5fa1a;--purple:#a78bfa;--purple-dim:#a78bfa1a;--radius:16px;--radius-sm:10px;--radius-xs:6px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--ease:cubic-bezier(.4, 0, .2, 1)}html{background:var(--bg)}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;min-height:100dvh}#app-screen{width:100%;min-height:100dvh;display:flex}.app-main-content{min-width:0;max-width:100%;padding-bottom:calc(88px + var(--safe-bottom));flex:1}.screen-loading{justify-content:center;align-items:center;min-height:120px;padding:40px 18px;display:flex}.app-header{z-index:50;background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(24px)saturate(180%);padding:calc(var(--safe-top) + 14px) 20px 14px;border-bottom:.5px solid var(--border2);align-items:center;gap:12px;display:flex;position:sticky;top:0}.app-logo-svg{flex-shrink:0;width:34px;height:34px}.app-header-text h1{letter-spacing:-.4px;color:var(--text);font-size:17px;font-weight:700}.app-header-text p{color:var(--text2);margin-top:1px;font-size:12px}.app-header-brand{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.app-header-text{flex:1;min-width:0}.app-header-actions{flex-shrink:0;align-items:center;gap:8px;margin-left:auto;display:flex}.app-header-tools{flex-shrink:0;align-items:center;gap:4px;display:flex}.app-header-actions .user-badge{border:1px solid var(--border3);background:var(--surface);max-width:140px;color:var(--text);margin-left:0;font-weight:600}.app-header-actions .user-badge span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bottom-nav{background:color-mix(in srgb, var(--bg) 96%, transparent);-webkit-backdrop-filter:blur(24px);border-top:1px solid var(--border3);padding:6px 8px calc(6px + var(--safe-bottom));z-index:50;align-items:stretch;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-btn{border-radius:var(--radius-sm);min-height:54px;color:var(--text2);letter-spacing:.02em;transition:color .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);background:0 0;border:1px solid #0000;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 4px;font-size:10px;font-weight:600;line-height:1.15;display:flex}.nav-btn__icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.nav-btn__icon svg{stroke-width:2px;width:22px;height:22px;transition:color .18s var(--ease)}.nav-btn__label{text-align:center;max-width:100%;line-height:1.15}.nav-btn__label--short{display:none}.nav-btn.active{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border);box-shadow:0 2px 8px var(--accent-muted)}.nav-btn.active:before{display:none}.nav-btn.active .nav-btn__icon svg{filter:none}.nav-btn:active:not(.active){opacity:.7}.nav-btn:hover:not(.active){color:var(--text);background:var(--surface2)}.screen{animation:fadeIn .2s var(--ease);padding:18px;display:none}.screen.active{display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.card{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:14px;padding:18px}.card-title{color:var(--text2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:11px;font-weight:700}.card-title-form{color:var(--text);letter-spacing:-.3px;margin-bottom:18px;font-size:16px;font-weight:700;line-height:1.3}.metrics{grid-template-columns:1fr 1fr 1fr;align-items:stretch;gap:10px;margin-bottom:14px;display:grid}.metric{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--radius-sm);transition:border-color .2s var(--ease), background .2s var(--ease);padding:16px}.metric:not(.full){flex-direction:column;min-height:92px;display:flex}.metric:not(.full) .mval.small{color:var(--text);margin-top:auto}.metric:hover{border-color:var(--border3)}.metric.full{grid-column:1/-1}.metric .mlabel{color:var(--text2);margin-bottom:6px;font-size:11px;font-weight:500}.metric .mval,.gi-monto,.ri-monto,.mi-monto,.total-row span:last-child,.persona-row span:last-child{font-variant-numeric:tabular-nums}.metric .mval{letter-spacing:-1px;font-size:26px;font-weight:700}.metric .mval.green{color:var(--accent);text-shadow:none}.metric .mval.small{font-size:18px}.metric .mval.amber,.metric.prestamo .mval.small{color:var(--amber)}.metric.prestamo{border-color:color-mix(in srgb, var(--amber) 22%, transparent);background:color-mix(in srgb, var(--amber) 4%, var(--surface))}.metric.prestamo:hover{border-color:color-mix(in srgb, var(--amber) 38%, transparent)}.field{margin-bottom:14px}.field label{color:var(--text2);letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:700;display:block}.field input,.field select{background:var(--surface2);border:.5px solid var(--border2);border-radius:var(--radius-sm);width:100%;color:var(--text);appearance:none;transition:border-color .18s var(--ease), box-shadow .18s var(--ease);outline:none;padding:12px 14px;font-size:16px}.field select{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='%23555' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;padding-right:36px}.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.field input::placeholder{color:var(--text3)}.form-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.form-row .field label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.preview-pill{background:var(--accent-dim);border:.5px solid var(--accent-glow);border-radius:var(--radius-sm);color:var(--accent);margin-bottom:14px;padding:11px 14px;font-size:13px;font-weight:500;display:none}.btn{border-radius:var(--radius-sm);cursor:pointer;border:.5px solid var(--border2);background:var(--surface2);color:var(--text);transition:background .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease), transform .12s var(--ease);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:11px 18px;font-size:14px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--border3);background:var(--surface3)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:color-mix(in srgb, var(--accent) 65%, transparent);box-shadow:0 2px 8px var(--accent-muted);font-weight:700}.btn.primary:hover{background:color-mix(in srgb, var(--accent) 88%, white);box-shadow:0 4px 14px var(--accent-dim)}.btn.primary:active{box-shadow:0 1px 4px var(--accent-muted);transform:scale(.97)}.btn.full{width:100%}.btn.danger{color:var(--red);background:var(--surface2);border-color:#f8717140}.btn.danger:hover{background:var(--red-dim);border-color:#f8717166}.btn.small{min-height:36px;padding:7px 12px;font-size:12px}.btn-row{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.btn.accent{color:var(--accent);border-color:var(--accent-border);background:var(--accent-muted)}.btn.accent:hover{background:var(--accent-dim);border-color:color-mix(in srgb, var(--accent) 50%, transparent)}.btn.blue{color:var(--blue);background:#60a5fa0f;border-color:#60a5fa4d}.btn.blue:hover{background:#60a5fa1f;border-color:#60a5fa80}.btn.red{color:var(--red);background:#f871710f;border-color:#f871714d}.btn.red:hover{background:var(--red-dim);border-color:#f8717180}#btn-link-google{color:#8ab4f8;background:#4285f40f;border-color:#4285f459}#btn-link-google:hover{background:#4285f41f;border-color:#4285f48c}#btn-link-google:disabled{cursor:default}.mes-selector{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.mes-selector select{background:var(--surface2);border:.5px solid var(--border2);border-radius:var(--radius-sm);min-width:170px;color:var(--text);appearance:none;transition:border-color .18s var(--ease);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='%23555' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;outline:none;flex:1;padding:10px 36px 10px 13px;font-size:14px}.mes-selector select:focus{border-color:var(--accent)}.gasto-item{background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-sm);transition:opacity .2s var(--ease), border-color .18s var(--ease);margin-bottom:8px;padding:14px 15px}.gasto-item:hover{border-color:var(--border2)}.gasto-item.pagado{opacity:.62}.gasto-item.pagado .gi-nombre{text-decoration:line-through}.gasto-item[data-medio=tarjeta]{border-left:3px solid var(--blue)}.gasto-item[data-medio=fijo],.gasto-item[data-medio=prestamo]{border-left:3px solid var(--amber)}.gasto-item[data-medio=efectivo]{border-left:3px solid var(--text3)}.gasto-item[data-medio=otro]{border-left:3px solid var(--purple)}.gi-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.gi-info{flex:1;min-width:0}.gi-nombre{white-space:nowrap;text-overflow:ellipsis;margin-bottom:6px;font-size:15px;font-weight:600;overflow:hidden}.gi-meta{color:var(--text2);flex-wrap:wrap;align-items:center;gap:4px 6px;font-size:12px;line-height:1.55;display:flex}.gi-meta--paid{margin-top:6px}.gi-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}.gi-monto{font-size:15px;font-weight:700}.gi-cuota-badge{color:var(--text2);font-size:11px}.gi-actions{border-top:.5px solid var(--border);gap:8px;margin-top:14px;padding-top:14px;display:flex}.action-btn{background:var(--surface2);border:.5px solid var(--border);border-radius:var(--radius-sm);min-height:44px;color:var(--text2);cursor:pointer;transition:all .18s var(--ease);flex:1;justify-content:center;align-items:center;gap:5px;padding:9px;font-size:12px;font-weight:500;display:flex}.action-btn:active{transform:scale(.96)}.action-btn.paid{color:var(--accent);border-color:var(--accent-border);background:var(--accent-dim);box-shadow:0 0 0 1px var(--accent-muted) inset;font-weight:700}.action-btn.paid:hover{color:var(--red);background:#f871711a;border-color:#f871714d}.action-btn.del{color:var(--red);border-color:#f8717133}.action-btn.del:hover{background:var(--red-dim)}.badge{letter-spacing:.04em;white-space:nowrap;border-radius:20px;padding:3px 8px;font-size:10px;font-weight:700}.badge.cuota{background:var(--blue-dim);color:var(--blue);border:.5px solid #60a5fa33}.badge.fijo{background:var(--amber-dim);color:var(--amber);border:.5px solid #fbbf2433}.badge.tarjeta{background:var(--blue-dim);color:var(--blue);border:.5px solid #60a5fa33}.badge.prestamo{background:var(--amber-dim);color:var(--amber);border:.5px solid #fbbf2433}.badge-alerta{color:#fb923c;white-space:nowrap;background:#fb923c1a;border:.5px solid #fb923c4d;border-radius:20px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.alerta-cierre{color:#fb923c;align-items:center;gap:4px;margin-top:4px;font-size:11px;font-weight:700;display:flex}.resumen-item{border-radius:var(--radius-sm);transition:background .18s var(--ease), border-color .18s var(--ease);border:.5px solid #0000;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}#resumen-list .resumen-item,#resumen-diario-list .mensual-item{border-radius:var(--radius-sm);background:var(--surface);border:.5px solid var(--border2);box-shadow:var(--shadow-sm);margin-bottom:6px;padding:12px 14px}#resumen-list .resumen-item:hover,#resumen-diario-list .mensual-item:hover{background:var(--surface3);border-color:var(--border3)}#resumen-diario-list .diario-date-group{margin-bottom:12px}#resumen-diario-list .diario-date-group:last-child{margin-bottom:0}#resumen-diario-list .mensual-group-date{margin-top:0;padding:0 2px 8px}:is(.card.card--pad-h:has(#resumen-list),.card.card--pad-h:has(#resumen-diario-list)){box-shadow:none;background:0 0;border:none;margin-bottom:14px;padding:0}.ri-left{flex:1;min-width:0}.ri-nombre{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.ri-sub{color:var(--text2);flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px;font-size:11px;display:flex}.ri-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.ri-monto{font-size:14px;font-weight:700}.total-row{background:var(--accent-muted);border:.5px solid var(--accent-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-top:12px;padding:16px 18px;display:flex}.total-row span:first-child{color:var(--accent);font-size:13px;font-weight:600}.total-row span:last-child{color:var(--accent);letter-spacing:-.5px;font-size:20px;font-weight:800}.persona-row{border-bottom:.5px solid var(--border);justify-content:space-between;align-items:center;padding:11px 0;font-size:14px;display:flex}.persona-row:last-child{border-bottom:none}.persona-row span:first-child{color:var(--text2)}.persona-row span:last-child{font-weight:700}.empty{text-align:center;color:var(--text2);padding:48px 24px;font-size:14px}.empty svg{width:40px;height:40px;stroke:var(--text3);opacity:.5;margin:0 auto 12px}.section-label{color:var(--text2);text-transform:uppercase;letter-spacing:.09em;margin:20px 0 10px;font-size:11px;font-weight:700}.toast{bottom:calc(96px + var(--safe-bottom));background:var(--surface3);border:.5px solid var(--border2);color:var(--text);opacity:0;transition:all .28s var(--ease);z-index:999;white-space:normal;text-align:center;pointer-events:none;max-width:min(92vw,420px);box-shadow:var(--shadow-md);border-radius:24px;justify-content:center;align-items:center;gap:8px;padding:11px 20px;font-size:13px;font-weight:600;display:flex;position:fixed;left:50%;transform:translate(-50%)translateY(16px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.toast__icon{flex-shrink:0}.toast--success .toast__icon{color:var(--accent)}.toast--error .toast__icon{color:var(--red)}.toast--warning .toast__icon{color:var(--amber)}.toast--info .toast__icon{color:var(--text2)}.ui-icon{vertical-align:middle;flex-shrink:0;display:inline-block}.seg-control{background:var(--surface2);border:1px solid var(--border3);border-radius:var(--radius-sm);align-items:stretch;gap:4px;width:100%;margin-bottom:14px;padding:4px;display:flex}.seg-btn{min-width:0;color:var(--text2);cursor:pointer;transition:all .18s var(--ease);background:0 0;border:none;border-radius:7px;flex:1 1 0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 8px;font-size:13px;font-weight:600;display:inline-flex}.seg-btn__label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.seg-btn__label--short{display:none}.seg-btn__icon{opacity:.9;flex-shrink:0}.seg-btn.active{background:var(--surface);color:var(--text);box-shadow:0 1px 4px #00000038}.loan-card{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:12px;padding:16px 18px}.loan-card[data-medio=tarjeta]{border-left:3px solid var(--blue)}.loan-card[data-medio=prestamo]{border-left:3px solid var(--amber)}.loan-card[data-medio=otro]{border-left:3px solid var(--purple)}.loan-header{justify-content:space-between;align-items:flex-start;margin-bottom:4px;display:flex}.loan-nombre{font-size:16px;font-weight:700}.loan-monto-restante{color:var(--amber);font-size:16px;font-weight:800}.loan-meta{color:var(--text2);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;font-size:12px;line-height:1.45;display:flex}.progress-wrap{margin-top:10px}.progress-label{color:var(--text2);justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.progress-bar{background:var(--surface3);border-radius:4px;width:100%;height:5px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--accent), #22d35e);height:100%;transition:width .6s var(--ease);border-radius:4px}.progress-fill.amber{background:linear-gradient(90deg, var(--amber), #f59e0b)}.loan-actions{border-top:.5px solid var(--border);gap:7px;margin-top:12px;padding-top:12px;display:flex}.settings-group{margin-bottom:24px}.settings-group-title{color:var(--text2);text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px;font-size:11px;font-weight:700}.cafecito-wrap{border-radius:var(--radius);background:linear-gradient(135deg,#fbbf2417 0%,#f59e0b0d 100%);border:.5px solid #fbbf2447;flex-direction:row;justify-content:space-between;align-items:center;gap:14px;margin:0 0 20px;padding:14px 16px;display:flex}.cafecito-inner{flex-direction:row;flex:1;align-items:center;gap:12px;min-width:0;display:flex}.cafecito-icon{color:var(--amber);flex-shrink:0;align-items:center;display:flex}.cafecito-text{flex-direction:column;gap:2px;min-width:0;display:flex}.cafecito-title{color:var(--text);font-size:13px;font-weight:700}.cafecito-desc{color:var(--text2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.4;overflow:hidden}.btn-cafecito{color:#0a0a0a;transition:opacity .18s var(--ease), transform .18s var(--ease), box-shadow .18s var(--ease);white-space:nowrap;background:linear-gradient(135deg,#fbbf24 0%,#f59e0b 100%);border-radius:10px;flex-shrink:0;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:700;text-decoration:none;animation:3s ease-in-out infinite cafecito-pulse;display:inline-flex;box-shadow:0 3px 12px #fbbf2459,0 0 #fbbf2499}@keyframes cafecito-pulse{0%,to{box-shadow:0 3px 12px #fbbf2459,0 0 #fbbf2480}50%{box-shadow:0 3px 12px #fbbf2480,0 0 0 6px #fbbf2400}}.btn-cafecito:hover{opacity:.92;animation:none;transform:translateY(-1px);box-shadow:0 6px 20px #fbbf2480}.btn-cafecito:active{transform:translateY(0);box-shadow:0 2px 8px #fbbf2440}.section-label{align-items:center;display:flex}@media (width>=600px) and (width<=899px){.form-row{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(3,1fr)}.metric.full{grid-column:1/-1}.screen{padding:22px 28px}.app-header{padding-left:28px;padding-right:28px}.nav-btn{min-height:56px;font-size:11px}}@media (width>=900px){body{overflow-x:hidden}#app-screen{flex-direction:row;width:100%;min-height:100dvh}.bottom-nav{border-top:none;border-right:1px solid var(--border2);background:color-mix(in srgb, var(--bg) 98%, transparent);flex-direction:column;flex-shrink:0;justify-content:flex-start;align-items:stretch;gap:4px;width:220px;min-height:100dvh;padding:20px 10px 24px;position:sticky;top:0;bottom:auto;left:0}.nav-btn{width:100%;min-height:48px;color:var(--text2);letter-spacing:0;flex-direction:row;flex:none;justify-content:flex-start;align-items:center;gap:12px;margin:0;padding:12px 14px;font-size:14px;font-weight:600}.nav-btn__icon{width:22px;height:22px}.nav-btn__icon svg{width:20px;height:20px}.nav-btn__label--short{display:none!important}.nav-btn__label--full{display:block!important}.nav-btn__label{text-align:left;font-size:14px;line-height:1.3}.nav-btn.active{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-border);box-shadow:0 2px 8px var(--accent-muted)}.app-header{padding:calc(var(--safe-top) + 16px) clamp(28px, 3vw, 48px) 16px;gap:16px}.app-header-actions{gap:10px}.app-header-tools{gap:6px}.nav-btn:hover:not(.active){background:var(--surface2);color:var(--text)}.app-main-content{flex:1;min-width:0;max-width:100%;padding-bottom:40px}.app-header{position:sticky;top:0}.screen{width:100%;max-width:none;padding:28px clamp(24px,3vw,48px)}.form-row{grid-template-columns:1fr 1fr}.metrics{grid-template-columns:repeat(3,1fr)}.metric.full{grid-column:1/-1}.toast{left:calc(50% + 110px)}}@media (width<=390px){.metric{padding:11px 10px}.toast{white-space:normal;text-align:center;padding:9px 16px;font-size:12px}.gi-nombre{font-size:14px}}.auth-wrap{background:var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:24px 20px;display:flex}.auth-logo{align-items:center;gap:12px;margin-bottom:36px;display:flex}.auth-logo svg{width:44px;height:44px}.auth-logo-text h1{letter-spacing:-.5px;background:linear-gradient(135deg,#f2f2f2,#888);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:800}.auth-logo-text p{color:var(--text2);margin-top:2px;font-size:13px}.auth-card{background:var(--surface);border:.5px solid var(--border2);border-radius:20px;width:100%;max-width:400px;padding:28px 24px;box-shadow:0 8px 40px #0009}.auth-tabs{background:var(--surface2);border:.5px solid var(--border2);border-radius:var(--radius-sm);gap:3px;margin-bottom:24px;padding:3px;display:flex}.auth-tab{color:var(--text2);cursor:pointer;transition:all .18s var(--ease);background:0 0;border:none;border-radius:7px;flex:1;padding:10px;font-size:13px;font-weight:600}.auth-tab.active{background:var(--surface3);color:var(--text);box-shadow:0 1px 3px #0000004d}.auth-form{flex-direction:column;gap:0;display:flex}.auth-form .field{margin-bottom:14px}.auth-divider{text-align:center;color:var(--text3);align-items:center;gap:10px;margin:16px 0;font-size:11px;display:flex;position:relative}.auth-divider:before,.auth-divider:after{content:"";background:var(--border2);flex:1;height:.5px}.btn-google{border-radius:var(--radius-sm);cursor:pointer;background:var(--surface2);border:1px solid var(--border2);width:100%;color:var(--text);transition:all .18s var(--ease);justify-content:center;align-items:center;gap:10px;margin-bottom:4px;padding:12px 20px;font-size:14px;font-weight:600;display:flex}.btn-google:hover{border-color:var(--border3);background:var(--surface3);box-shadow:0 2px 12px #0000004d}.btn-google:active{opacity:.8;transform:scale(.97)}.auth-verify{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:20px 0;display:none}.auth-verify-icon{color:var(--accent);justify-content:center;align-items:center;display:flex}.auth-verify h2{font-size:18px;font-weight:700}.auth-verify p{color:var(--text2);font-size:14px;line-height:1.5}.auth-link{color:var(--text2);text-align:center;margin-top:16px;font-size:12px}.auth-link button{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:12px;font-weight:600}.remember-label{cursor:pointer;color:var(--text2);-webkit-user-select:none;user-select:none;align-items:center;gap:9px;margin-top:12px;font-size:13px;display:flex}.remember-label input[type=checkbox]{width:17px;height:17px;accent-color:var(--accent);cursor:pointer;border-radius:4px;flex-shrink:0}.remember-label:hover{color:var(--text)}.loading-overlay{z-index:9999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .2s var(--ease);background:#080808d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-overlay.show{opacity:1;pointer-events:all}.loading-spinner{border:3px solid var(--surface3);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.resumen-top{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:14px;display:flex}.resumen-top__row{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.resumen-top__row .toolbar-select--persona{flex:1;min-width:0}.toolbar-select,.resumen-top select,.proy-filters select,.gastos-persona-select{background:var(--surface);border:1px solid var(--border3);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text);appearance:none;min-height:40px;transition:border-color .18s var(--ease), background .18s var(--ease);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='%23888' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;outline:none;flex:1;padding:9px 34px 9px 12px;font-size:14px;font-weight:500}.toolbar-select--mes{width:100%}.toolbar-select:focus,.resumen-top select:focus,.proy-filters select:focus,.gastos-persona-select:focus{border-color:var(--accent);background-color:var(--surface2)}.resumen-csv-btn{flex-shrink:0;min-height:40px;font-weight:600;border:1px solid var(--border3)!important;background:var(--surface)!important;color:var(--text)!important;padding:7px 14px!important}.resumen-csv-btn:hover{border-color:var(--accent)!important;background:var(--accent-dim)!important;color:var(--accent)!important}@media (width>=900px){.resumen-top{flex-flow:row;align-items:stretch;gap:10px}.resumen-top>.toolbar-select--mes{flex:1 1 0;width:auto;min-width:0;max-width:none}.resumen-top>.resumen-top__row{flex:1 1 0;gap:8px;min-width:0;display:flex}.resumen-top__row .toolbar-select--persona{flex:1 1 0;width:auto;min-width:0;max-width:none}}.mensual-total{background:color-mix(in srgb, var(--blue) 8%, var(--surface));border:.5px solid color-mix(in srgb, var(--blue) 24%, transparent);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:14px;padding:16px 18px;display:flex}.mensual-total span:first-child{color:var(--blue);font-size:13px;font-weight:600}.mensual-total span:last-child{color:var(--blue);letter-spacing:-.5px;font-size:20px;font-weight:800}.mensual-group-date{color:var(--text2);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;padding:10px 0 6px;font-size:11px;font-weight:700}.mensual-item{border-bottom:.5px solid var(--border);justify-content:space-between;align-items:center;gap:10px;padding:11px 0;display:flex}.mensual-item:last-child,#resumen-diario-list .mensual-item{border-bottom:none}.mi-left{flex:1;min-width:0}.mi-desc{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.mi-sub{color:var(--text2);flex-wrap:wrap;align-items:center;gap:5px;margin-top:3px;font-size:11px;display:flex}.mi-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.mi-monto{font-size:14px;font-weight:700}.mi-del{cursor:pointer;color:var(--text3);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;min-width:40px;min-height:40px;padding:8px;transition:color .15s;display:inline-flex}.mi-del:hover{color:var(--red)}.badge.efectivo{background:var(--accent-muted);color:var(--accent);border:.5px solid var(--accent-border)}.badge.debito{background:var(--blue-dim);color:var(--blue);border:.5px solid #60a5fa33}.mensual-seg{background:var(--surface2);border:.5px solid var(--border2);border-radius:var(--radius-sm);margin-bottom:14px;display:flex;overflow:hidden}.mensual-mes-selector{align-items:center;gap:8px;margin-bottom:14px;display:flex}.mensual-mes-selector select{background:var(--surface2);border:.5px solid var(--border2);border-radius:var(--radius-sm);color:var(--text);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='%23555' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;outline:none;flex:1;padding:10px 36px 10px 13px;font-size:14px}.field-hint{color:var(--accent);background:var(--accent-dim);border-radius:var(--radius-xs);border:.5px solid var(--accent-glow);margin-top:6px;padding:8px 12px;font-size:11px;display:none}.field-hint.show{display:block}.user-badge{background:var(--surface2);border:.5px solid var(--border2);color:var(--text2);cursor:pointer;transition:all .18s var(--ease);border-radius:20px;align-items:center;gap:8px;margin-left:auto;padding:6px 12px;font-size:12px;display:flex}.user-badge:hover{border-color:var(--border3);color:var(--text)}.user-badge svg{stroke-width:2px;flex-shrink:0;width:14px;height:14px}.auth-footer{color:var(--text3);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:20px;font-size:12px;display:flex}.auth-footer strong{color:var(--text2);font-weight:600}.auth-footer-sep{opacity:.4}.auth-footer-link{cursor:pointer;color:var(--accent);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:12px;font-weight:500;text-decoration:underline;transition:opacity .15s}.auth-footer-link:hover{opacity:.75}.modal-overlay::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#080808e0}.modal-overlay{z-index:10000;background:0 0;border:none;justify-content:center;align-items:flex-end;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;display:flex;position:fixed;inset:0}@media (width>=500px){.modal-overlay{align-items:center;padding:24px}}.modal-card{background:var(--surface);border:.5px solid var(--border2);width:100%;max-width:480px;max-height:90dvh;animation:slideUp .25s var(--ease);border-radius:24px 24px 0 0;flex-direction:column;gap:0;padding:28px 24px 32px;display:flex;overflow:hidden}@media (width>=500px){.modal-card{border-radius:20px}}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-card h2{letter-spacing:-.3px;margin-bottom:2px;font-size:18px;font-weight:800}.modal-date{color:var(--text3);margin-bottom:16px;font-size:11px}.modal-body{flex-direction:column;flex:1;gap:0;margin-bottom:18px;padding-right:4px;display:flex;overflow-y:auto}.modal-body h3{color:var(--accent);text-transform:uppercase;letter-spacing:.08em;margin:16px 0 6px;font-size:12px;font-weight:700}.modal-body h3:first-child{margin-top:0}.modal-body p{color:var(--text2);font-size:13px;line-height:1.6}.modal-body a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.alertas-card{border-radius:var(--radius);background:linear-gradient(135deg,#fbbf2414,#fbbf240a);border:.5px solid #fbbf244d;margin-bottom:14px;padding:14px 16px}.alertas-title{color:var(--amber);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:7px;margin-bottom:12px;font-size:11px;font-weight:700;display:flex}.alerta-item{border-bottom:.5px solid #fbbf2426;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;display:flex}.alerta-item:last-child{border-bottom:none}.alerta-item-info{flex:1;min-width:0}.alerta-item-nombre{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.alerta-item-sub{color:var(--amber);margin-top:2px;font-size:11px}.alerta-item-monto{color:var(--amber);flex-shrink:0;font-size:14px;font-weight:700}.historial-item{border-bottom:.5px solid var(--border);align-items:flex-start;gap:10px;padding:10px 0;display:flex}.historial-item:last-child{border-bottom:none}.historial-icon{color:var(--text2);flex-shrink:0;align-items:center;display:flex}.historial-info{flex:1;min-width:0}.historial-desc{color:var(--text);font-size:13px;font-weight:500}.historial-fecha{color:var(--text2);margin-top:2px;font-size:11px}.btn-historial-mas{background:var(--surface2);border:.5px solid var(--border2);border-radius:var(--radius-sm);width:100%;color:var(--text2);cursor:pointer;transition:all .18s var(--ease);justify-content:center;align-items:center;gap:6px;margin-top:10px;padding:9px;font-size:12px;font-weight:600;display:none}.btn-historial-mas:hover{border-color:var(--border3);color:var(--text);background:var(--surface3)}.btn-historial-mas svg{transition:transform .25s var(--ease)}.gastos-filtro-wrap{margin-bottom:10px}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#eceae6;--surface:#faf9f7;--surface2:#f3f1ed;--surface3:#e8e5e0;--border:#0000000e;--border2:#00000017;--border3:#00000026;--text:#1a1917;--text2:#52504c;--text3:#7a7772;--accent:#15803d;--accent-dim:color-mix(in srgb, var(--accent) 11%, transparent);--accent-glow:color-mix(in srgb, var(--accent) 22%, transparent);--accent-border:color-mix(in srgb, var(--accent) 28%, transparent);--accent-muted:color-mix(in srgb, var(--accent) 6%, transparent);--on-accent:#fff;--red:#c41f1f;--red-dim:#c41f1f1a;--amber:#b45309;--amber-dim:#b453091a;--blue:#1d4ed8;--blue-dim:#1d4ed81a;--purple:#6d28d9;--purple-dim:#6d28d91a;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 16px #0000001a}[data-theme=light] body{background:var(--bg);color:var(--text)}[data-theme=light] .app-header-text h1{color:var(--text);-webkit-text-fill-color:unset;background:0 0}[data-theme=light] .app-header-text p{color:var(--text2)}[data-theme=light] .app-logo-svg rect:first-child{fill:#e8f5ef}[data-theme=light] .app-logo-svg rect:nth-child(2){fill:#d1ead9;stroke:#16a34a}[data-theme=light] .auth-logo svg rect:first-child{fill:#e8f5ef}[data-theme=light] .auth-logo svg rect:nth-child(2){fill:#d1ead9;stroke:#16a34a}[data-theme=light] .bottom-nav{background:#f5f4f0f7;border-top-color:#00000012;border-right-color:#00000012}[data-theme=light] .nav-btn{color:var(--text3)}[data-theme=light] .nav-btn:hover:not(.active){color:var(--text);background:var(--surface2)}[data-theme=light] .nav-btn.active{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent)}[data-theme=light] .nav-btn.active:before{background:var(--accent);box-shadow:none}[data-theme=light] .card,[data-theme=light] .metric{box-shadow:var(--shadow-sm)}[data-theme=light] input,[data-theme=light] select,[data-theme=light] textarea{background:var(--surface);color:var(--text);border-color:var(--border2)}[data-theme=light] input::placeholder{color:var(--text3)}[data-theme=light] input:focus,[data-theme=light] select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}[data-theme=light] .btn{background:var(--surface);color:var(--text);border-color:var(--border2)}[data-theme=light] .btn:hover{background:var(--surface2)}[data-theme=light] .btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}[data-theme=light] .action-btn{background:var(--surface2);color:var(--text2);border-color:var(--border)}[data-theme=light] .seg-btn{color:var(--text2)}[data-theme=light] .seg-btn.active{background:var(--surface);color:var(--text);border-color:var(--border3);box-shadow:var(--shadow-sm)}[data-theme=light] .toolbar-select,[data-theme=light] .resumen-top select{background:var(--surface);border-color:var(--border3)}[data-theme=light] .resumen-csv-btn{background:var(--surface)!important;border-color:var(--border3)!important}[data-theme=light] .btn-privacy{background:var(--surface);border-color:var(--border3);color:var(--text)}[data-theme=light] .badge{background:var(--surface2);color:var(--text2)}[data-theme=light] .badge.tarjeta{background:var(--accent-dim);color:var(--accent)}[data-theme=light] .badge.prestamo{background:var(--amber-dim);color:var(--amber)}[data-theme=light] .badge.fijo{background:var(--blue-dim);color:var(--blue)}[data-theme=light] .metric .mval.green{text-shadow:none}[data-theme=light] .metric .mval.amber{color:var(--amber)}[data-theme=light] .gasto-item{border-color:var(--border)}[data-theme=light] .gasto-item:hover{border-color:var(--border2)}[data-theme=light] .gi-nombre{color:var(--text)}[data-theme=light] .gi-meta{color:var(--text2)}[data-theme=light] .resumen-item{border-bottom-color:var(--border)}[data-theme=light] .ri-nombre{color:var(--text)}[data-theme=light] .ri-sub{color:var(--text2)}[data-theme=light] .total-row{border-top-color:var(--border2);color:var(--text)}[data-theme=light] .persona-row{border-bottom-color:var(--border);color:var(--text)}[data-theme=light] .loading-overlay{background:#f5f4f0e6}[data-theme=light] .loading-spinner{border-color:var(--border2);border-top-color:var(--accent)}[data-theme=light] .toast{color:var(--text);border-color:var(--border2);background:#fefefe;box-shadow:0 4px 20px #0000001f}[data-theme=light] .auth-wrap{background:var(--bg)}[data-theme=light] .auth-logo-text h1{background:linear-gradient(135deg,#1a1a18 0%,#5a5956 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}[data-theme=light] .auth-logo-text p{color:var(--text2)}[data-theme=light] .auth-card{box-shadow:0 4px 24px #00000017}[data-theme=light] .auth-tab{color:var(--text2)}[data-theme=light] .auth-tab.active{color:var(--accent);border-bottom-color:var(--accent)}[data-theme=light] .auth-link{color:var(--text2)}[data-theme=light] .auth-link button{color:var(--accent)}[data-theme=light] .auth-divider{color:var(--text3)}[data-theme=light] .modal-overlay{background:#0006}[data-theme=light] .modal-card{box-shadow:0 8px 40px #00000026}[data-theme=light] .settings-group-title,[data-theme=light] .section-label{color:var(--text3)}[data-theme=light] .historial-item{border-bottom-color:var(--border)}[data-theme=light] .hi-label{color:var(--text)}[data-theme=light] .hi-date{color:var(--text3)}@media (width>=900px){[data-theme=light] .bottom-nav{background:#f3f2eefa;border-right-color:#00000012}}[data-theme=light] .nav-btn.active .nav-btn__icon svg{filter:none}[data-theme=light] .total-row{background:var(--accent-muted);border-color:var(--accent-border)}[data-theme=light] .total-row span:first-child,[data-theme=light] .total-row span:last-child{color:var(--accent)}[data-theme=light] .preview-pill{background:var(--accent-dim);color:var(--accent);border-color:#16a34a40}[data-theme=light] .alertas-card{background:#b453090f;border-color:#b4530938}[data-theme=light] .mensual-total{background:linear-gradient(135deg,#1d4ed814,#1d4ed808);border-color:#1d4ed833}[data-theme=light] .mensual-total span:first-child,[data-theme=light] .mensual-total span:last-child{color:var(--blue)}[data-theme=light] .modal-card{background:var(--surface);color:var(--text);border:1px solid var(--border2)}[data-theme=light] .modal-card h2{color:var(--text)}[data-theme=light] .settings-section__card,[data-theme=light] .theme-toggle-wrap,[data-theme=light] .settings-profile{background:var(--surface);border-color:var(--border2)}[data-theme=light] .settings-row:hover{background:var(--surface2)}[data-theme=light] .settings-row__icon{background:var(--surface2);color:var(--text2)}[data-theme=light] .settings-sub__title{color:var(--text)}[data-theme=light] .card-title-form,[data-theme=light] .card-title{color:var(--text2)}[data-theme=light] .gasto-item{background:var(--surface);border-color:var(--border2)}[data-theme=light] .loan-card{background:var(--surface)}[data-theme=light] .field input,[data-theme=light] .field select{background:var(--surface);border:1px solid var(--border3)}[data-theme=light] .app-header-actions .user-badge{background:var(--surface);border-color:var(--border3);color:var(--text)}[data-theme=light] .btn-privacy.active,[data-theme=light] body.privacy-mode #btn-privacy{color:var(--accent);background:#16a34a1f;border-color:#16a34a59}[data-theme=light] .onboarding-overlay{background:#f0efebeb}[data-theme=light] .pull-indicator{color:var(--text2)}.theme-toggle-wrap{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--radius-sm);cursor:pointer;transition:background .18s var(--ease);justify-content:space-between;align-items:center;margin-bottom:10px;padding:14px 16px;display:flex}.theme-toggle-wrap:hover{background:var(--surface2)}.theme-toggle-info{align-items:center;gap:11px;display:flex}.theme-toggle-icon{font-size:18px;line-height:1}.theme-toggle-label{color:var(--text);font-size:14px;font-weight:500}.theme-toggle-switch{background:var(--surface3);border:.5px solid var(--border2);width:44px;height:26px;transition:background .22s var(--ease), border-color .22s;border-radius:13px;flex-shrink:0;position:relative}.theme-toggle-switch:after{content:"";background:var(--text2);width:20px;height:20px;transition:transform .22s var(--ease), background .22s;border-radius:50%;position:absolute;top:3px;left:3px}.theme-toggle-switch.on{background:var(--accent);border-color:var(--accent)}.theme-toggle-switch.on:after{background:#fff;transform:translate(18px)}.pull-indicator{background:var(--surface);border:.5px solid var(--border2);width:40px;height:40px;box-shadow:var(--shadow-md);opacity:0;z-index:40;border-radius:50%;justify-content:center;align-items:center;transition:none;display:flex;position:absolute;top:-56px;left:50%;transform:translate(-50%)}.pull-indicator.releasing{transition:top .25s var(--ease), opacity .25s var(--ease)}.pull-indicator svg{width:18px;height:18px;stroke:var(--accent);stroke-width:2.5px;transition:transform .25s var(--ease)}.pull-indicator.ready svg{transform:rotate(180deg)}.pull-indicator.loading svg{transition:none;animation:.7s linear infinite spin}.app-main-content{position:relative}.onboarding-overlay{z-index:10001;-webkit-backdrop-filter:blur(12px);animation:fadeIn .3s var(--ease);background:#080808e0;justify-content:center;align-items:flex-end;padding:0;display:flex;position:fixed;inset:0}@media (width>=500px){.onboarding-overlay{align-items:center;padding:24px}}.onboarding-card{background:var(--surface);border:.5px solid var(--border2);width:100%;max-width:420px;animation:slideUp .3s var(--ease);border-radius:24px 24px 0 0;padding:32px 28px 36px;box-shadow:0 -8px 40px #0006}@media (width>=500px){.onboarding-card{border-radius:24px;box-shadow:0 8px 48px #00000080}}.onboarding-steps{gap:6px;margin-bottom:28px;display:flex}.onboarding-step-dot{background:var(--surface3);height:3px;transition:background .3s var(--ease);border-radius:3px;flex:1}.onboarding-step-dot.active{background:var(--accent)}.onboarding-icon{color:var(--accent);justify-content:center;margin-bottom:16px;display:flex}.onboarding-actions .btn.primary{justify-content:center;align-items:center;display:inline-flex}.onboarding-btn-icon{margin-left:6px}.badge-alerta,.alerta-cierre,.alerta-zap{align-items:center;gap:4px;display:inline-flex}.gi-meta--paid{color:var(--accent);align-items:center;gap:4px;margin-top:3px;display:inline-flex}.onboarding-title{letter-spacing:-.5px;color:var(--text);margin-bottom:10px;font-size:22px;font-weight:800}.onboarding-desc{color:var(--text2);margin-bottom:28px;font-size:14px;line-height:1.6}.onboarding-actions{gap:10px;display:flex}.onboarding-actions .btn{flex:1;justify-content:center}.logro-toast{top:calc(8px + var(--safe-top));z-index:200;pointer-events:none;opacity:0;max-width:min(440px,100vw - 24px);transition:opacity .32s var(--ease), transform .32s var(--ease);margin:0 auto;position:fixed;left:12px;right:12px;transform:translateY(-12px)}.logro-toast--show{opacity:1;transform:translateY(0)}.logro-toast__inner{pointer-events:auto;appearance:none;font:inherit;color:inherit;border:.5px solid var(--accent-border);border-left:3px solid var(--accent);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(10px);text-align:left;cursor:pointer;width:100%;transition:border-color .18s var(--ease), background .18s var(--ease);border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex;box-shadow:0 6px 24px #00000047}.logro-toast__inner:hover{border-color:color-mix(in srgb, var(--accent) 50%, transparent);background:var(--surface)}.logro-toast__icon{background:var(--accent-dim);width:36px;height:36px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.logro-toast__text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.logro-toast__eyebrow{letter-spacing:.07em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:700}.logro-toast__queue{color:var(--text3);letter-spacing:0;text-transform:none;font-weight:600}.logro-toast__title{color:var(--text);letter-spacing:-.2px;font-size:14px;font-weight:700;line-height:1.25}.logro-toast__desc{color:var(--text2);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.35;display:-webkit-box;overflow:hidden}.logro-toast__close{color:var(--text3);flex-shrink:0;margin-top:1px;padding:2px}@media (width>=900px){.logro-toast{max-width:min(440px,100vw - 24px);margin:0 auto;left:12px;right:12px;transform:translateY(-12px)}.logro-toast--show{transform:translateY(0)}}.logros-progress{margin-top:12px}.logros-progress__meta{color:var(--text);justify-content:space-between;align-items:baseline;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.logros-progress__pct{color:var(--accent);font-size:12px}.logros-progress__track{background:var(--surface2);border:1px solid var(--border2);border-radius:99px;height:8px;overflow:hidden}.logros-progress__fill{background:linear-gradient(90deg, var(--accent), #34d399);border-radius:99px;height:100%;transition:width .35s}.logros-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.logros-list__item{border-radius:var(--radius);background:var(--surface);border:.5px solid var(--border);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.logros-list__item--done{border-color:var(--accent-border);background:color-mix(in srgb, var(--accent) 6%, var(--surface))}.logros-list__icon{background:var(--accent-dim);width:40px;height:40px;color:var(--accent);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.logros-list__icon--locked{background:var(--surface2);color:var(--text3);opacity:.75}.logros-list__body{flex:1;min-width:0}.logros-list__title{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:700}.logros-list__desc{color:var(--text2);font-size:12px;line-height:1.45}.logros-list__state{color:var(--text3);flex-shrink:0;padding-top:2px;font-size:13px}.logros-list__item--done .logros-list__state{color:var(--accent)}[data-theme=light] .logros-list__item--done{background:color-mix(in srgb, var(--accent) 8%, var(--surface))}.ingreso-mes-card__hint{color:var(--text3);font-size:11px}.ingreso-mes-card{text-align:left;cursor:pointer;background:var(--surface);border:.5px solid var(--border2);border-radius:var(--radius);width:100%;margin-bottom:14px;padding:14px 16px;transition:border-color .18s,background .18s}.ingreso-mes-card:hover{border-color:var(--border3);background:var(--surface2)}.ingreso-mes-card--filled{border-left:3px solid var(--accent);background:var(--accent-muted)}.ingreso-mes-card--filled.ingreso-mes-card--neg{border-left-color:var(--amber);background:color-mix(in srgb, var(--amber) 5%, var(--surface))}.ingreso-mes-card--empty{border-style:dashed;border-color:var(--border);background:0 0}.ingreso-mes-card--empty:hover{border-color:var(--accent-border);background:var(--accent-muted)}.ingreso-mes-card__cta{text-align:center;width:100%;color:var(--text2);font-size:13px;font-weight:600;display:block}.ingreso-mes-card--empty:hover .ingreso-mes-card__cta{color:var(--accent)}.ingreso-mes-card__top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ingreso-mes-card__label{color:var(--text2);margin-bottom:4px;font-size:11px;font-weight:500}.ingreso-mes-card__sub{color:var(--text3);font-size:11px}.ingreso-mes-card__value{letter-spacing:-.5px;flex-shrink:0;font-size:22px;font-weight:800;line-height:1.1}.ingreso-mes-card__value--pos{color:var(--accent);text-shadow:none}.ingreso-mes-card__value--neg{color:var(--amber)}[data-theme=light] .ingreso-mes-card__value--pos{text-shadow:none}[data-theme=light] .ingreso-mes-card__value--neg{color:var(--amber)}.ingreso-mes-card__formula{border-top:.5px solid var(--border);align-items:center;gap:10px;margin-top:12px;padding-top:10px;display:flex}.ingreso-mes-card__term{flex-direction:column;gap:2px;min-width:0;display:flex}.ingreso-mes-card__term-label{color:var(--text3);text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.ingreso-mes-card__term-value{color:var(--text2);white-space:nowrap;font-size:13px;font-weight:600}.ingreso-mes-card__op{color:var(--text2);flex-shrink:0;align-self:center;padding:0 2px;font-size:18px;font-weight:700;line-height:1}.ingreso-mes-card__diarios{border-top:.5px solid var(--border);color:var(--text2);margin-top:8px;padding-top:8px;font-size:11px}.ingreso-mes-sheet__field{margin-top:16px}.ingreso-mes-sheet__hint{color:var(--text3);margin-top:8px;font-size:12px}.ingreso-mes-sheet__actions{flex-direction:column;gap:8px;display:flex}.btn--with-icon{justify-content:center;align-items:center;gap:8px;display:inline-flex}.btn--active-state{background:#60a5fa1f;border-color:#60a5fa73}.btn--disabled-soft{opacity:.55;cursor:default}.ios-install-modal{text-align:center}.ios-install-modal__icon{color:var(--accent);justify-content:center;margin-bottom:12px;display:flex}.ios-install-modal__lead{color:var(--text2);margin-bottom:20px;font-size:13px}.ios-install-modal__steps{text-align:left;flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.ios-install-step{align-items:flex-start;gap:12px;display:flex}.ios-install-step__num{background:var(--accent-dim);border:1px solid var(--accent-border);min-width:28px;height:28px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.ios-install-step__text{color:var(--text);font-size:13px;line-height:1.5}.ios-install-step__inline-icon{vertical-align:middle;margin:0 3px;display:inline}.ios-install-modal__btn{margin-top:24px}body.privacy-mode .gi-monto,body.privacy-mode .gi-cuota-badge,body.privacy-mode .ri-monto,body.privacy-mode .mi-monto,body.privacy-mode .metric .mval,body.privacy-mode .total-row span:last-child,body.privacy-mode .mensual-total span:last-child,body.privacy-mode .persona-row span:last-child,body.privacy-mode .alerta-item-monto,body.privacy-mode .loan-monto-restante,body.privacy-mode .proy-header__total,body.privacy-mode .proy-donut-center__val,body.privacy-mode .proy-donut-legend__amt,body.privacy-mode .ingreso-mes-card__value,body.privacy-mode .ingreso-mes-card__term-value,body.privacy-mode .ingreso-mes-card__diarios{-webkit-user-select:none;user-select:none;cursor:pointer;white-space:nowrap;position:relative;color:#0000!important}body.privacy-mode .gi-monto:after,body.privacy-mode .gi-cuota-badge:after,body.privacy-mode .ri-monto:after,body.privacy-mode .mi-monto:after,body.privacy-mode .metric .mval:after,body.privacy-mode .total-row span:last-child:after,body.privacy-mode .mensual-total span:last-child:after,body.privacy-mode .persona-row span:last-child:after,body.privacy-mode .alerta-item-monto:after,body.privacy-mode .loan-monto-restante:after,body.privacy-mode .proy-header__total:after,body.privacy-mode .proy-donut-center__val:after,body.privacy-mode .proy-donut-legend__amt:after,body.privacy-mode .ingreso-mes-card__value:after,body.privacy-mode .ingreso-mes-card__term-value:after,body.privacy-mode .ingreso-mes-card__diarios:after{content:"• • •";color:var(--text3);letter-spacing:.15em;pointer-events:none;justify-content:center;align-items:center;font-size:.65em;font-weight:700;display:flex;position:absolute;inset:0}body.privacy-mode .gi-monto.privacy-reveal,body.privacy-mode .gi-cuota-badge.privacy-reveal,body.privacy-mode .ri-monto.privacy-reveal,body.privacy-mode .mi-monto.privacy-reveal,body.privacy-mode .metric .mval.privacy-reveal,body.privacy-mode .total-row span:last-child.privacy-reveal,body.privacy-mode .mensual-total span:last-child.privacy-reveal,body.privacy-mode .persona-row span:last-child.privacy-reveal,body.privacy-mode .alerta-item-monto.privacy-reveal,body.privacy-mode .ingreso-mes-card__value.privacy-reveal,body.privacy-mode .ingreso-mes-card__term-value.privacy-reveal,body.privacy-mode .ingreso-mes-card__diarios.privacy-reveal{color:inherit!important}body.privacy-mode .gi-monto.privacy-reveal:after,body.privacy-mode .gi-cuota-badge.privacy-reveal:after,body.privacy-mode .ri-monto.privacy-reveal:after,body.privacy-mode .mi-monto.privacy-reveal:after,body.privacy-mode .metric .mval.privacy-reveal:after,body.privacy-mode .total-row span:last-child.privacy-reveal:after,body.privacy-mode .mensual-total span:last-child.privacy-reveal:after,body.privacy-mode .persona-row span:last-child.privacy-reveal:after,body.privacy-mode .alerta-item-monto.privacy-reveal:after,body.privacy-mode .ingreso-mes-card__value.privacy-reveal:after,body.privacy-mode .ingreso-mes-card__term-value.privacy-reveal:after,body.privacy-mode .ingreso-mes-card__diarios.privacy-reveal:after{display:none}.btn-privacy{background:var(--surface2);border:1px solid var(--border3);cursor:pointer;width:38px;height:38px;color:var(--text);border-radius:var(--radius-xs);flex-shrink:0;justify-content:center;align-items:center;transition:color .18s,background .18s,border-color .18s;display:flex}.btn-privacy:hover{color:var(--text);background:var(--surface3);border-color:var(--border3)}.btn-privacy.active,#btn-settings.active{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}.app-header-tools .btn-settings{flex-shrink:0}.settings-profile{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--radius);cursor:pointer;text-align:left;width:100%;transition:background .18s var(--ease);align-items:center;gap:14px;margin-bottom:20px;padding:16px 18px;display:flex}.settings-profile:hover{background:var(--surface2)}.settings-profile__avatar{background:var(--surface3);border:.5px solid var(--border2);width:44px;height:44px;color:var(--text2);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-profile__avatar svg{width:22px;height:22px}.settings-profile__info{flex:1;min-width:0}.settings-profile__name{color:var(--text);font-size:15px;font-weight:700}.settings-profile__email{color:var(--text2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;overflow:hidden}.settings-section{margin-bottom:22px}.settings-section__title{color:var(--text2);text-transform:uppercase;letter-spacing:.09em;margin-bottom:8px;padding:0 4px;font-size:11px;font-weight:700}.settings-section__card{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--radius-sm);overflow:hidden}.settings-row{border:none;border-bottom:.5px solid var(--border);width:100%;color:inherit;cursor:pointer;text-align:left;transition:background .18s var(--ease);background:0 0;align-items:center;gap:12px;padding:14px 16px;text-decoration:none;display:flex}.settings-row:last-child{border-bottom:none}.settings-row:hover{background:var(--surface2)}.settings-row__icon{background:var(--surface3);border:.5px solid var(--border2);width:34px;height:34px;color:var(--text2);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-row__icon svg{width:17px;height:17px}.settings-row__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.settings-row__label{color:var(--text);font-size:14px;font-weight:600}.settings-row__hint{color:var(--text2);font-size:11px;line-height:1.35}.settings-row__chevron{width:16px;height:16px;color:var(--text3);flex-shrink:0}.settings-row--danger .settings-row__label{color:#f87171}.settings-sub__header{margin-bottom:18px}.settings-sub__back{color:var(--accent);align-items:center;gap:4px;margin-bottom:8px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.settings-sub__back svg{width:16px;height:16px}.settings-sub__title{color:var(--text);letter-spacing:-.3px;font-size:22px;font-weight:800}.settings-form-block{flex-direction:column;gap:12px;padding:16px;display:flex}.settings-nested-form{flex-direction:column;gap:10px;margin-top:4px;display:flex}.settings-block{flex-direction:column;gap:12px;padding:16px;display:flex}.settings-text{color:var(--text2);margin:0;font-size:13px;line-height:1.55}.settings-meta{color:var(--text3);margin:0;font-size:11px}.settings-desc{color:var(--text2);margin:0 0 12px;font-size:13px;line-height:1.5}.settings-field-hint{color:var(--text2);margin:0;font-size:11px;line-height:1.45}.settings-actions{flex-direction:column;gap:10px;display:flex}.settings-cafecito{margin-top:8px}.settings-danger{border-radius:var(--radius-sm);background:#f871710f;border:.5px solid #f8717138;flex-direction:column;gap:12px;margin-top:8px;padding:16px;display:flex}.settings-danger__title{color:#f87171;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:700}.settings-link-list{flex-direction:column;display:flex}.settings-link-row{color:var(--text);border-bottom:.5px solid var(--border);transition:background .18s var(--ease);justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.settings-link-row:last-child{border-bottom:none}.settings-link-row:hover{background:var(--surface2)}.settings-link-row svg{width:16px;height:16px;color:var(--text3)}.confirm-modal__message{color:var(--text2);margin:0 0 16px;font-size:14px;line-height:1.55}.confirm-modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.confirm-modal__actions--stack{flex-direction:column}.confirm-modal__form .field{margin-bottom:14px}.confirm-modal__form .field span{color:var(--text2);margin-bottom:8px;font-size:13px;display:block}.proy-filters{margin-bottom:10px}.proy-filters .resumen-top{margin-bottom:0}.proy-header{border-bottom:.5px solid var(--border);flex-direction:column;align-items:stretch;gap:14px;margin-bottom:16px;padding-bottom:14px;display:flex}.proy-header__desc{color:var(--text2);max-width:100%;margin:0;font-size:13px;line-height:1.65}.proy-header__summary{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);flex-direction:column;align-items:flex-start;gap:6px;padding:12px 14px;display:flex}.proy-header__label{color:var(--text2);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:700}.proy-header__total{color:var(--accent);letter-spacing:-.5px;font-size:22px;font-weight:800}.proy-chart-card{margin-bottom:8px;padding:16px 16px 8px}.proy-chart-wrap{width:100%;min-height:220px;margin-top:8px}.proy-chart-desc{color:var(--text2);margin:4px 0 0;font-size:12px}.proy-donut-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.proy-donut-toggle{background:var(--surface2);border:1px solid var(--border3);border-radius:999px;align-items:stretch;gap:4px;padding:3px;display:inline-flex}.proy-donut-toggle__btn{color:var(--text2);cursor:pointer;transition:all .18s var(--ease);white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:700}.proy-donut-toggle__btn.active{background:var(--surface3);color:var(--text);box-shadow:0 1px 4px #0003}.proy-donut-toggle__label--short{display:none}.proy-donut-empty{margin:24px 0 12px}@media (width<=480px){.proy-donut-toggle__label--full{display:none}.proy-donut-toggle__label--short{display:inline}}.proy-chart-tooltip{background:var(--surface3);border:.5px solid var(--border2);box-shadow:var(--shadow-md);border-radius:10px;padding:8px 12px}.proy-chart-tooltip__label{color:var(--text2);margin-bottom:2px;font-size:11px}.proy-chart-tooltip__val{color:var(--accent);font-size:14px;font-weight:700}.proy-chart-tooltip__pct{color:var(--text2);margin-top:2px;font-size:11px}.proy-donut-wrap{width:100%;min-height:200px;margin-top:8px;position:relative}.proy-donut-chart .recharts-pie-sector,.proy-donut-chart .recharts-sector,.proy-donut-chart .recharts-layer:focus,.proy-donut-chart .recharts-sector:focus{outline:none}.proy-donut-center{pointer-events:none;z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:0 24px;display:flex;position:absolute;inset:0}.proy-donut-center__label{color:var(--text2);text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:700}.proy-donut-center__val{color:var(--text);letter-spacing:-.3px;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-size:clamp(12px,3.8vw,15px);font-weight:800;overflow:hidden}.proy-donut-legend{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px 12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.proy-donut-legend__item{border-radius:8px;grid-template-columns:10px 1fr auto auto;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:grid}.proy-donut-legend__item--curr{background:var(--accent-muted);border:.5px solid var(--accent-border)}.proy-donut-legend__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.proy-donut-legend__label{color:var(--text2);min-width:0;font-weight:500}.proy-donut-legend__item--curr .proy-donut-legend__label{color:var(--accent);font-weight:700}.proy-donut-legend__pct{color:var(--text3);font-size:11px;font-weight:600}.proy-donut-legend__amt{color:var(--text);white-space:nowrap;font-weight:600}.proy-donut-legend__item--curr .proy-donut-legend__amt{color:var(--accent);font-weight:700}.settings-intro{color:var(--text2);background:var(--surface2);border:1px solid var(--border3);border-radius:var(--radius-sm);margin:0 0 20px;padding:14px 16px;font-size:14px;line-height:1.65}[data-theme=light] .settings-intro{background:var(--surface);color:var(--text2);border-color:var(--border3)}.settings-section__card{padding:14px 16px}.settings-section__card:has(.settings-row){padding:0}.settings-section__card .settings-text{margin:0}.personas-add-row{align-items:stretch;gap:8px;display:flex}.personas-add-input,.persona-item__edit input,.persona-select-new{background:var(--surface2);border:1px solid var(--border3);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text);transition:border-color .18s var(--ease), box-shadow .18s var(--ease);outline:none;flex:1;padding:12px 14px;font-size:15px}.personas-add-input:focus,.persona-item__edit input:focus,.persona-select-new:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.personas-add-input::placeholder,.persona-select-new::placeholder{color:var(--text3)}.personas-add-row .btn{white-space:nowrap;flex-shrink:0;padding:10px 18px;font-size:14px;font-weight:700}.personas-list{flex-direction:column;gap:8px;display:flex}.persona-item{background:var(--surface2);border:1px solid var(--border3);border-radius:var(--radius-sm);align-items:center;gap:10px;padding:12px 14px;display:flex}.persona-item__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.persona-item__name{color:var(--text);flex:1;min-width:0;font-size:14px;font-weight:600}.persona-item__actions{flex-wrap:wrap;flex-shrink:0;gap:6px;display:flex}.persona-item__edit{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.persona-item__edit input{flex:1;min-width:120px}.persona-select-field .persona-select-new{margin-top:8px}.persona-select-empty{color:var(--text2);margin:8px 0 0;font-size:12px;line-height:1.5}.persona-select-empty a{color:var(--accent);font-weight:600}[data-theme=light] .personas-add-input,[data-theme=light] .persona-item__edit input,[data-theme=light] .persona-select-new{background:var(--surface);border-color:var(--border3);color:var(--text)}[data-theme=light] .persona-item{background:var(--surface2);border-color:var(--border3)}body.privacy-mode #btn-privacy,#btn-privacy.active{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}.admin-shell{background:var(--bg);min-height:100dvh;color:var(--text)}.admin-header{padding:max(16px, env(safe-area-inset-top)) 16px 16px;border-bottom:1px solid var(--border);background:var(--surface);z-index:20;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid;position:sticky;top:0}.admin-header__back{color:var(--text2);align-items:center;gap:4px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.admin-header__back svg{width:18px;height:18px}.admin-header__title{letter-spacing:-.3px;margin:0;font-size:18px;font-weight:800}.admin-header__sub{color:var(--text2);margin:2px 0 0;font-size:12px}.admin-header__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.admin-export-btn{white-space:nowrap;flex-shrink:0}.admin-header__refresh{border:1px solid var(--border2);background:var(--surface2);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:10px;font-size:18px}.admin-header__refresh:disabled{opacity:.5;cursor:default}.admin-main{max-width:720px;margin:0 auto;padding:16px 16px 48px}.admin-loading{justify-content:center;padding:48px;display:flex}.admin-error{color:#f87171;padding:16px;font-size:14px}.admin-stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:16px;display:grid}.admin-stat{background:var(--surface2);border:1px solid var(--border2);border-radius:var(--radius-sm);padding:14px}.admin-stat__label{color:var(--text2);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700}.admin-stat__value{color:var(--accent);letter-spacing:-.5px;margin-top:4px;font-size:24px;font-weight:800}.admin-stat__hint{color:var(--text2);margin-top:4px;font-size:10px;line-height:1.3}.admin-stat--skeleton{pointer-events:none}.admin-skeleton-line{background:linear-gradient(90deg, var(--border2) 25%, var(--border) 50%, var(--border2) 75%);background-size:200% 100%;border-radius:4px;height:10px;animation:1.2s ease-in-out infinite admin-skeleton-shimmer}.admin-skeleton-line--lg{width:60%;height:22px;margin-top:8px}.admin-skeleton-line:first-child{width:70%;margin-bottom:8px}@keyframes admin-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.admin-section-label{color:var(--text2);text-transform:uppercase;letter-spacing:.08em;margin:8px 0 10px;font-size:12px;font-weight:800}.admin-section-desc{color:var(--text2);margin:-6px 0 12px;font-size:12px;line-height:1.4}.admin-chart-card{margin-bottom:12px;padding:16px}.admin-chart-desc{color:var(--text2);margin:4px 0 0;font-size:12px}.admin-chart-wrap{width:100%;min-height:180px;margin-top:12px}.admin-chart-tooltip{background:var(--surface3);border:.5px solid var(--border2);box-shadow:var(--shadow-md);border-radius:10px;padding:8px 12px}.admin-chart-tooltip__label{color:var(--text2);margin-bottom:4px;font-size:11px}.admin-chart-tooltip__row{font-size:12px}.admin-note{color:var(--text2);padding:16px;font-size:13px;line-height:1.5}.admin-note strong{color:var(--text);margin-bottom:6px;display:block}.admin-note a{color:var(--accent);font-weight:600}.card--pad-h{padding:0 18px}.card--pad-proy{padding:20px 20px 14px}.empty--sm{padding:32px 0}.empty--md{padding:40px 0}.empty--lg{padding:48px 24px}.empty--personas{padding:24px 0}.section-label--top{margin-top:20px}.section-label--none{margin-top:0}.form-row-actions{gap:8px;display:flex}.btn-row-danger{color:#f87171;border-color:#f871714d}.empty-hint{color:var(--text3);margin-top:6px;display:block}.categoria-select{background:var(--surface2);border:1px solid var(--border3);border-radius:var(--radius-sm);align-items:center;gap:10px;min-height:44px;padding:0 12px;display:flex}.categoria-select__icon{color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:flex}.categoria-select__input{min-width:0;color:var(--text);appearance:none;cursor:pointer;background:0 0;border:none;flex:1;padding:10px 0;font-size:14px;font-weight:500}.categoria-select__input:focus{outline:none}.categoria-field{margin-bottom:12px}[data-theme=light] .categoria-select{background:var(--surface);border-color:var(--border3)}.brand-icon{background:var(--surface2);border:.5px solid var(--border2);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;line-height:0;display:inline-flex;overflow:hidden}[data-theme=light] .brand-icon{background:var(--surface);border-color:var(--border3)}.brand-icon svg{shape-rendering:geometricprecision;display:block}.brand-icon__img{object-fit:contain;width:68%;height:68%;display:block}.brand-icon__letter{letter-spacing:-.03em;-webkit-user-select:none;user-select:none;font-size:52%;font-weight:800;line-height:1}.brand-icon__letter--compact{letter-spacing:-.06em;font-size:38%}.expense-avatar{border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.expense-avatar--cat{background:var(--surface3);border:1px solid var(--border3);color:var(--accent)}.expense-avatar--initial{background:var(--surface2);border:1px solid var(--border3);color:var(--text2);font-size:13px;font-weight:700}.brand-suggest{background:var(--accent-muted);border:.5px solid var(--accent-border);border-radius:var(--radius-sm);align-items:center;gap:8px;margin-bottom:10px;padding:8px 10px;display:flex}.brand-suggest__name{color:var(--text);font-size:13px;font-weight:600}.brand-suggest__cat{color:var(--text2);margin-left:auto;font-size:11px}.resumen-pagado-btn{border:1px dashed var(--border2);width:100%;color:var(--text2);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin:12px 0 4px;padding:11px 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,color .15s,border-style .15s;display:flex}.resumen-pagado-btn:hover{border-color:var(--accent-border);background:var(--accent-muted);color:var(--text);border-style:solid}.resumen-pagado-btn--on{background:var(--accent-dim);border-style:solid;border-color:var(--accent-border);color:var(--accent);font-weight:700}.resumen-panel--pagado .metric.full .mval.green{opacity:.78}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:40px 24px;display:flex}.empty-state-icon{background:var(--surface2);border:.5px solid var(--border2);width:56px;height:56px;color:var(--text3);border-radius:16px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.empty-state-title{color:var(--text);font-size:15px;font-weight:700}.empty-state-desc{color:var(--text2);max-width:280px;margin:0;font-size:13px;line-height:1.55}.empty-state-cta{justify-content:center;align-items:center;gap:6px;margin-top:12px;display:inline-flex}[data-theme=light] .empty-state-icon{background:var(--surface);border-color:var(--border3)}.compare-mes-card{background:var(--surface);border:.5px solid var(--border2);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 14px;padding:10px 14px;font-size:12px;display:flex}.compare-mes-card__label{color:var(--text3);text-transform:uppercase;letter-spacing:.07em;font-size:10px;font-weight:700}.compare-mes-card__diff{letter-spacing:-.3px;font-variant-numeric:tabular-nums;font-size:14px;font-weight:800}.compare-mes-card__diff--up{color:var(--amber)}.compare-mes-card__diff--down{color:var(--accent)}.compare-mes-card__diff--eq{color:var(--text2);font-weight:700}.compare-mes-card__prev{color:var(--text2);font-variant-numeric:tabular-nums;margin-left:auto}body.privacy-mode .compare-mes-card{display:none}.metric.full .resumen-pagado-btn{margin:12px 0 0}.gastos-search-wrap{align-items:center;margin-bottom:10px;display:flex;position:relative}.gastos-search-icon{color:var(--text3);pointer-events:none;position:absolute;left:13px}.gastos-search-input{background:var(--surface2);border:.5px solid var(--border2);border-radius:var(--radius-sm);width:100%;color:var(--text);appearance:none;transition:border-color .18s var(--ease), box-shadow .18s var(--ease);outline:none;padding:11px 14px 11px 38px;font-size:16px}.gastos-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.gastos-search-input::placeholder{color:var(--text3)}[data-theme=light] .gastos-search-input{background:var(--surface);border-color:var(--border3)}.proy-total{margin-bottom:0}.proy-total__val{font-size:28px}.nav-btn--primary:not(.active):hover{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}.nav-btn--primary:not(.active):hover .nav-btn__icon svg{stroke:var(--accent)}.onboarding-card{position:relative}.onboarding-skip{z-index:1;cursor:pointer;color:var(--text3);transition:color .18s var(--ease);background:0 0;border:none;border-radius:8px;padding:4px 6px;font-size:13px;font-weight:600;position:absolute;top:14px;right:16px}.onboarding-skip:hover{color:var(--text)}.changelog-version{color:var(--accent);letter-spacing:.02em;margin:0;font-size:13px;font-weight:800}.changelog-list{color:var(--text2);flex-direction:column;gap:6px;margin:0;padding:0 0 0 18px;font-size:13px;line-height:1.5;display:flex}.data-error-banner{border-radius:var(--radius-sm);background:var(--red-dim);color:var(--text);border:.5px solid #f8717159;justify-content:space-between;align-items:center;gap:12px;margin:0 18px 8px;padding:10px 14px;font-size:13px;display:flex}.data-error-banner .btn-sm{background:var(--surface);border:.5px solid var(--border2);color:var(--text);border-radius:8px;flex-shrink:0;padding:6px 12px;font-size:12px;font-weight:700}.admin-range{align-items:center;gap:4px;display:flex}.admin-range__btn{color:var(--text2);background:var(--surface2);border:.5px solid var(--border);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700}.admin-range__btn.active{color:var(--accent);background:var(--accent-dim);border-color:var(--accent-border)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.cafecito-pulse,.loading-spinner{animation:none!important}}.compare-mes-card{background:var(--surface2);border-color:var(--border)}#resumen-list .resumen-item .ri-monto,#resumen-list .resumen-item .ri-nombre{color:var(--text)}.metric.full{background:color-mix(in srgb, var(--accent) 3%, var(--surface));border-color:var(--border2)}.metric.full:hover{border-color:var(--accent-border)}.logro-toast__inner{border-color:var(--accent-border);border-left-color:var(--accent);background:color-mix(in srgb, var(--surface) 94%, transparent)}.logro-toast__icon{background:var(--accent-dim)}.brand-suggest{background:var(--accent-muted);border-color:var(--accent-border)}[data-theme=light] .app-header{background:color-mix(in srgb, var(--bg) 88%, transparent);border-bottom-color:var(--border2)}[data-theme=light] .bottom-nav{background:color-mix(in srgb, var(--bg) 94%, transparent)}[data-theme=light] .card,[data-theme=light] .metric{background:var(--surface);border-color:var(--border2)}[data-theme=light] .metric.full{background:color-mix(in srgb, var(--accent) 4%, var(--surface))}[data-theme=light] .metric.prestamo{background:color-mix(in srgb, var(--amber) 5%, var(--surface));border-color:color-mix(in srgb, var(--amber) 20%, transparent)}:is([data-theme=light] .card.card--pad-h:has(#resumen-list),[data-theme=light] .card.card--pad-h:has(#resumen-diario-list)){box-shadow:none;background:0 0;border:none}[data-theme=light] #resumen-list .resumen-item,[data-theme=light] #resumen-diario-list .mensual-item{background:var(--surface);border-color:var(--border2);box-shadow:var(--shadow-sm)}[data-theme=light] #resumen-list .resumen-item:hover,[data-theme=light] #resumen-diario-list .mensual-item:hover{background:var(--surface3);border-color:var(--border3)}[data-theme=light] .compare-mes-card{background:var(--surface);box-shadow:var(--shadow-sm)}[data-theme=light] .resumen-pagado-btn{border-color:var(--border3);color:var(--text2)}[data-theme=light] .resumen-pagado-btn:hover{background:var(--accent-muted);border-color:var(--accent-border);color:var(--text)}[data-theme=light] .resumen-pagado-btn--on{background:var(--accent-dim);color:var(--accent)}[data-theme=light] .ingreso-mes-card{background:var(--surface);box-shadow:var(--shadow-sm)}[data-theme=light] .ingreso-mes-card--filled{background:color-mix(in srgb, var(--accent) 5%, var(--surface))}[data-theme=light] .ingreso-mes-card--filled.ingreso-mes-card--neg{background:color-mix(in srgb, var(--amber) 6%, var(--surface))}[data-theme=light] .seg-control{background:var(--surface2);border-color:var(--border2)}[data-theme=light] .seg-btn.active{background:var(--surface);color:var(--text);font-weight:700}[data-theme=light] .gasto-item{box-shadow:var(--shadow-sm)}[data-theme=light] .gasto-item:hover{box-shadow:var(--shadow-md);border-color:var(--border3)}[data-theme=light] .logro-toast__inner{background:var(--surface);box-shadow:var(--shadow-md)}[data-theme=light] .preview-pill{border-color:var(--accent-border)}[data-theme=light] .auth-logo-text h1{color:var(--text);-webkit-text-fill-color:unset;background:0 0}[data-theme=light] .btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 8px var(--accent-dim)}[data-theme=light] .btn.primary:hover{background:color-mix(in srgb, var(--accent) 90%, black)}[data-theme=light] .action-btn.paid{background:var(--accent-dim);border-color:var(--accent-border)}[data-theme=light] .logros-list__item--done{background:color-mix(in srgb, var(--accent) 7%, var(--surface));border-color:var(--accent-border)}[data-theme=light] .empty-state-icon{background:var(--surface2);color:var(--text2)}@media (width<=899px){.app-main-content{padding-bottom:calc(76px + var(--safe-bottom))}.screen,.settings-sub.screen{padding:16px}.app-header{padding:calc(var(--safe-top) + 10px) 14px 10px;gap:8px}.app-logo-svg{width:32px;height:32px}.app-header-text h1{font-size:16px}.app-header-text p{text-overflow:ellipsis;white-space:nowrap;max-width:42vw;font-size:11px;overflow:hidden}.app-header-brand{gap:4px;min-width:0}.app-header-actions{gap:6px}.app-header-actions .user-badge{max-width:100px;padding:6px 10px;font-size:11px}.btn-privacy{width:40px;min-width:40px;height:40px;min-height:40px}.nav-btn__label--full{display:none}.nav-btn__label--short{display:block}.bottom-nav{padding:5px 6px calc(5px + var(--safe-bottom));gap:3px}.nav-btn{min-height:52px;padding:5px 2px;font-size:10px}.nav-btn__icon svg{width:21px;height:21px}.seg-btn:has(.seg-btn__label--short) .seg-btn__label--full{display:none}.seg-btn:has(.seg-btn__label--short) .seg-btn__label--short{display:inline}.seg-btn{flex-direction:column;gap:4px;min-height:48px;padding:10px 4px;font-size:11px}.seg-btn__icon{margin:0}.resumen-top__row{flex-wrap:nowrap}.resumen-top__row .toolbar-select--persona{flex:1;min-width:0}.resumen-csv-btn{min-width:72px}.toolbar-select,.resumen-top select{min-height:38px;padding:8px 32px 8px 12px;font-size:13px}.form-row{grid-template-columns:1fr;gap:0}.form-row .field{margin-bottom:14px}.form-row .field label{white-space:normal;text-overflow:unset;overflow:visible}.persona-select-field .persona-select-new{margin-top:8px}.settings-intro{margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.6}.settings-sub__title{font-size:20px}.settings-section__card{padding:12px 14px}.settings-section__card:has(.settings-row){padding:0}.theme-toggle-wrap{margin-bottom:8px;padding:12px 14px}.theme-toggle-wrap:last-child{margin-bottom:0}.personas-add-row{flex-direction:column;gap:10px}.personas-add-row .btn{width:100%;min-height:44px}.persona-item{flex-wrap:wrap;align-items:flex-start;gap:8px}.persona-item__name{flex:none;width:100%}.persona-item__actions{flex-wrap:wrap;justify-content:flex-end;width:100%}.persona-item__edit{flex-direction:column;align-items:stretch;width:100%}.persona-item__edit input{width:100%;min-width:0}.persona-item__edit .btn{flex:1}.metrics{grid-template-columns:1fr 1fr;gap:8px}.metric.full{grid-column:1/-1}.metric .mval{font-size:22px}.metric .mval.small{font-size:16px}#resumen-panel-tarjeta .card,#resumen-panel-diario .card{margin-left:0;margin-right:0}.toast{bottom:calc(80px + var(--safe-bottom));max-width:calc(100vw - 32px)}.cafecito-wrap{flex-direction:column;align-items:stretch;gap:12px}.cafecito-inner{width:100%}.cafecito-desc{white-space:normal}.btn-cafecito{justify-content:center;width:100%}.proy-header{gap:12px}.proy-header__desc{font-size:13px;line-height:1.7}.proy-header__summary{width:100%}.proy-header__label{line-height:1.4}.proy-header__total{word-break:break-word;font-size:20px}.gasto-item{padding:14px 12px}.gi-top{flex-direction:column;align-items:stretch;gap:10px}.gi-right{border-top:.5px solid var(--border);flex-direction:row;justify-content:space-between;align-items:center;width:100%;padding-top:4px}.gi-meta{gap:8px;margin-top:2px;line-height:1.6}.gi-meta .badge{margin-top:2px}.gi-actions{flex-direction:column;gap:8px}.gi-actions .action-btn{flex:none;width:100%;min-height:42px}.loan-actions{flex-direction:column;gap:8px}.loan-actions .btn{flex:none;width:100%}#gastos-filtro-persona-wrap{margin-bottom:10px!important}#gastos-filtro-persona-wrap .gastos-persona-select{width:100%}}@media (width<=599px){.screen{padding:14px}.card{padding:16px}.card-title-form{font-size:15px}.proy-header__total{font-size:18px}}@media (width<=390px){.app-header{padding:calc(var(--safe-top) + 8px) 12px 8px}.app-header-text p,.app-header-actions .user-badge span{display:none}.app-header-actions .user-badge{justify-content:center;min-width:40px;max-width:none;min-height:40px;padding:8px}.nav-btn{min-height:48px;font-size:10px}.field input,.field select,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{font-size:16px}.nav-btn__icon svg{width:20px;height:20px}.seg-btn{min-height:44px;padding:8px 2px;font-size:10px}.screen{padding:12px}.gi-actions{flex-wrap:wrap}.action-btn{flex:44%}.proyeccion-row{grid-template-columns:50px 1fr 78px}.persona-item__actions .btn.small{flex:auto;min-width:0}}
