:root{--fondo: #f1f5f9;--tarjeta: #ffffff;--texto: #0f172a;--sub: #64748b;--acento: #1d4ed8;--marino: #0b2f5b;--celeste: #0ea5e9;--morado: #7c3aed;--ambar: #f59e0b;--verde: #15803d;--amarillo: #ca8a04;--rojo: #b91c1c;--borde: #e2e8f0;color-scheme:light dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--fondo: #0b1120;--tarjeta: #111a2e;--texto: #e2e8f0;--sub: #94a3b8;--borde: #1e293b}}*{box-sizing:border-box}body{margin:0;background:var(--fondo);color:var(--texto);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.app{max-width:720px;margin:0 auto;min-height:100vh;padding-bottom:96px;position:relative}.app.centrado{min-height:100vh;display:grid;place-items:center;align-content:center;padding:16px;text-align:center}.centrado .formulario{width:100%;max-width:380px;text-align:left}.centrado h1{font-size:22px;margin:0 0 8px}.cabecera{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;gap:12px}.cabecera h1{font-size:18px;margin:0}.mes{color:var(--sub);font-size:13px}.contenido{padding:0 16px;display:grid;gap:12px}.contenido>section{display:grid;gap:12px}.tarjeta{background:var(--tarjeta);border:1px solid var(--borde);border-radius:16px;padding:16px}.destacada{background:var(--acento);color:#fff;border:none}.destacada .sub,.destacada .etiqueta{color:#ccfbf1}.etiqueta{font-size:13px;color:var(--sub);margin:0 0 6px;text-transform:uppercase;letter-spacing:.03em}.cifra{font-size:32px;font-weight:700;margin:0}.sub{font-size:14px;color:var(--sub);margin:4px 0}.fila{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;margin:6px 0}.fila-barra{display:grid;grid-template-columns:1fr 2fr auto;gap:8px;align-items:center;font-size:14px;margin:8px 0}.barra{background:var(--borde);border-radius:999px;height:8px;overflow:hidden}.barra div{background:var(--acento);height:100%;border-radius:999px}.barra.grande{height:12px;margin:6px 0 10px}.borrar{background:none;border:none;color:var(--rojo);font-size:18px;cursor:pointer;min-width:44px;min-height:44px}.estado{border-width:2px}.estado.verde{border-color:var(--verde);background:linear-gradient(135deg,rgba(21,128,61,.12),var(--tarjeta))}.estado.amarillo{border-color:var(--amarillo);background:linear-gradient(135deg,rgba(202,138,4,.14),var(--tarjeta))}.estado.rojo{border-color:var(--rojo);background:linear-gradient(135deg,rgba(185,28,28,.14),var(--tarjeta))}.estado-fila{display:flex;justify-content:space-between;align-items:center;gap:12px}.kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.kpis div{background:#7f7f7f14;border-radius:12px;padding:10px;display:grid;gap:2px}.kpis span{font-size:12px;color:var(--sub)}.kpis strong{font-size:16px}.txt-verde{color:var(--verde)}.txt-amarillo{color:var(--amarillo)}.txt-rojo{color:var(--rojo)}.nivel{display:inline-block;font-size:11px;font-weight:700;padding:3px 9px;border-radius:999px;color:#fff;white-space:nowrap}.nivel.verde{background:var(--verde)}.nivel.amarillo{background:var(--amarillo)}.nivel.rojo{background:var(--rojo)}.alerta{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:10px;border-radius:12px;margin-bottom:8px;border-left:4px solid}.alerta.verde{border-color:var(--verde);background:#15803d14}.alerta.amarillo{border-color:var(--amarillo);background:#ca8a041a}.alerta.rojo{border-color:var(--rojo);background:#b91c1c1a}.alerta p{margin:2px 0 0}.alerta-borde{border-left:5px solid}.alerta-borde.verde{border-left-color:var(--verde)}.alerta-borde.amarillo{border-left-color:var(--amarillo)}.alerta-borde.rojo{border-left-color:var(--rojo)}.consejos ul{margin:0;padding-left:18px;font-size:14px;display:grid;gap:8px}.tarjeta ul{font-size:14px;padding-left:18px;display:grid;gap:6px}.grafica{width:100%;height:auto;color:var(--texto)}.leyenda{display:inline-block;width:10px;height:10px;border-radius:3px;margin:0 4px 0 10px}.leyenda.verde{background:var(--verde)}.leyenda.rojo{background:var(--rojo)}.tabla{width:100%;border-collapse:collapse;font-size:13px}.tabla th,.tabla td{padding:8px 4px;border-bottom:1px solid var(--borde);text-align:right}.tabla th:first-child,.tabla td:first-child{text-align:left}.fila-tarjeta{margin-bottom:12px}.cuota{margin:8px 0}.texto-ocr{white-space:pre-wrap;font-size:12px;background:#7f7f7f1a;padding:8px;border-radius:8px;max-height:200px;overflow:auto}.formulario{display:grid;gap:10px}.campo-monto{display:flex;align-items:center;gap:8px;font-size:40px;font-weight:700}.campo-monto input{width:100%;border:none;background:transparent;color:var(--texto);font-size:40px;font-weight:700;outline:none}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--borde);background:var(--tarjeta);color:var(--texto);border-radius:999px;padding:10px 14px;font-size:14px;cursor:pointer;min-height:44px}.chip.activo{background:var(--acento);border-color:var(--acento);color:#fff}.descripcion{border:1px solid var(--borde);border-radius:12px;padding:12px;font-size:16px;background:transparent;color:var(--texto);width:100%}.porcentaje{width:100px;text-align:right}.guardar{background:var(--acento);color:#fff;border:none;border-radius:14px;padding:16px;font-size:17px;font-weight:600;min-height:52px;cursor:pointer}.guardar:disabled{opacity:.6}.error{color:var(--rojo);font-size:14px;margin:0}.formulario .fila{font-size:15px}.codigo{font-size:28px;font-weight:700;letter-spacing:4px;text-align:center;font-family:ui-monospace,monospace;margin:8px 0}.panel-mas{display:grid;gap:12px;align-content:start}.meses-registro{display:grid;gap:10px}.mes-grupo{background:var(--tarjeta);border:1px solid var(--borde);border-radius:16px;overflow:hidden}.mes-cabecera{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;background:none;border:none;color:var(--texto);padding:14px 16px;font-size:15px;cursor:pointer;min-height:52px;text-align:left}.mes-filas{display:grid;gap:0;border-top:1px solid var(--borde)}.fila-registro{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--borde)}.fila-registro:last-child{border-bottom:none}.fila-registro .fila{margin:0}.acciones{display:flex;gap:4px;align-items:center}.acciones .chip{min-height:40px;min-width:40px;padding:6px 10px}select.descripcion{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.mes-grupo .tarjeta{border:none;border-radius:0}.navegacion{position:fixed;bottom:0;left:0;right:0;max-width:720px;margin:0 auto;display:flex;justify-content:space-around;align-items:center;background:var(--tarjeta);border-top:1px solid var(--borde);padding:8px 6px calc(8px + env(safe-area-inset-bottom));z-index:10}.navegacion button{background:none;border:none;color:var(--sub);font-size:12px;padding:8px 4px;min-height:44px;min-width:56px;cursor:pointer}.navegacion button.activo{color:var(--acento);font-weight:700}.hero{background:var(--marino);color:#fff;border-radius:24px;padding:20px;display:grid;gap:16px;box-shadow:0 10px 30px #0b2f5b40}.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.hero-saludo{margin:0;font-size:18px;font-weight:700}.hero-mes{margin:2px 0 0;font-size:13px;opacity:.75;text-transform:capitalize}.hero-cuerpo{display:flex;justify-content:space-between;align-items:center;gap:12px}.hero-etiqueta{margin:0;font-size:12px;opacity:.8;text-transform:uppercase;letter-spacing:.05em}.hero-cifra{margin:4px 0;font-size:38px;font-weight:800;letter-spacing:-.01em}.hero-sub{margin:0;font-size:13px;opacity:.85}.hero .nivel{background:#ffffff2e}.meta{display:grid;gap:6px;font-size:13px}.meta-barra{background:#fff3}.meta-barra div{background:var(--celeste)}.fila-chips{display:flex;flex-wrap:wrap;gap:8px}.pill{font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;background:var(--tarjeta);border:1px solid var(--borde)}.pill.azul{color:var(--acento);border-color:var(--acento)}.pill.verde{color:var(--verde);border-color:var(--verde)}.pill.ambar{color:#92400e;background:#fef3c7;border-color:#f59e0b}.pill.rojo{color:#fff;background:var(--rojo);border-color:var(--rojo)}.insignias{display:flex;flex-wrap:wrap;gap:6px}.insignia{font-size:12px;padding:6px 10px;border-radius:999px;background:var(--borde);color:var(--sub)}.insignia.activa{background:var(--acento);color:#fff}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile{border:none;border-radius:20px;padding:16px;min-height:104px;color:#fff;text-align:left;display:flex;flex-direction:column;justify-content:space-between;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 6px 16px #0f172a1f}.tile:active{transform:scale(.98)}.tile.azul{background:var(--acento)}.tile.celeste{background:var(--celeste)}.tile.verde{background:var(--verde)}.tile.morado{background:var(--morado)}.consejo-dia{border-left:5px solid var(--ambar)}.consejo-dia p:last-child{margin:6px 0 0;font-size:15px}:root[data-theme=light]{--fondo: #f1f5f9;--tarjeta: #ffffff;--texto: #0f172a;--sub: #64748b;--borde: #e2e8f0}:root[data-theme=dark]{--fondo: #0a1222;--tarjeta: #121d33;--texto: #e6edf7;--sub: #94a3b8;--borde: #1f2c45}:root[data-theme=dark] .hero{background:#0d2a52}@keyframes subir{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.animar{animation:subir .5s cubic-bezier(.2,.8,.2,1) both}@keyframes rebote{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.perrito{animation:rebote 2.4s ease-in-out infinite;flex:none}.perrito.estado-rojo{animation:none}@keyframes gorroEntra{0%{transform:translateY(-10px) scale(.8);opacity:0}to{transform:none;opacity:1}}.gorro{animation:gorroEntra .6s cubic-bezier(.2,.8,.2,1) both}.barra div{transition:width .9s cubic-bezier(.2,.8,.2,1)}.tile{transition:transform .15s ease,box-shadow .15s ease}.tile:hover{transform:translateY(-2px)}.tile:active{transform:scale(.97)}@keyframes latido{0%,to{box-shadow:0 0 #1d4ed873}50%{box-shadow:0 0 0 12px #1d4ed800}}.navegacion .mas{animation:latido 2.8s ease-in-out infinite}button{transition:transform .12s ease,opacity .12s ease}button:active{transform:scale(.97)}.toby{display:flex;align-items:center;gap:14px}.toby-texto{display:grid;gap:4px;min-width:0}.burbuja{margin:0;background:var(--fondo);border-radius:14px;padding:10px 12px;font-size:14px;border:1px solid var(--borde)}.reto{margin:12px 0}.reto.hecho .fila span:first-child{color:var(--verde);font-weight:700}.recompensa{background:#fef3c7;color:#92400e;padding:10px 12px;border-radius:12px;margin:8px 0 0;font-weight:600}.resumen-tile{background:var(--marino);min-height:0;flex-direction:row;align-items:center;gap:12px;grid-column:1 / -1}.wrapped{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b2f5b;color:#fff;z-index:50;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;text-align:center;cursor:pointer}.wrapped-barra{position:absolute;top:16px;left:16px;right:60px;display:flex;gap:6px}.wrapped .punto{flex:1;height:4px;border-radius:4px;background:#ffffff40}.wrapped .punto.activo{background:#fff}.wrapped-cerrar{position:absolute;top:8px;right:8px;background:none;border:none;color:#fff;font-size:20px;min-width:44px;min-height:44px;cursor:pointer}.wrapped-titulo{font-size:20px;opacity:.85;margin:0}.wrapped-cifra{font-size:56px;font-weight:800;margin:14px 0;letter-spacing:-.02em}.wrapped-texto{font-size:18px;margin:0;max-width:320px}.wrapped-pie{position:absolute;bottom:24px;opacity:.6;font-size:13px;margin:0}.onboarding{position:fixed;top:0;right:0;bottom:0;left:0;background:#0b2f5bf0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:60}.onboarding-tarjeta{background:var(--tarjeta);color:var(--texto);border-radius:24px;padding:24px;width:100%;max-width:360px;display:grid;gap:12px}.onboarding-tarjeta h2{margin:0;font-size:22px}.onboarding-tarjeta p{margin:0;font-size:15px;color:var(--sub)}.onboarding-puntos{display:flex;gap:6px}.onboarding-puntos .punto{flex:1;height:4px;border-radius:4px;background:var(--borde)}.onboarding-puntos .punto.activo{background:var(--acento)}.onboarding-acciones{display:flex;justify-content:space-between;gap:8px;margin-top:8px}.dock{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));max-width:696px;margin:0 auto;background:var(--marino);border-radius:30px;padding:10px 8px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 14px 30px #0b2f5b59;z-index:10}.dock-btn{background:transparent;border:none;border-radius:18px;padding:8px 10px;display:flex;flex-direction:column;align-items:center;gap:3px;color:#bfdbfe;font-size:11px;font-weight:600;min-width:58px;min-height:52px;cursor:pointer}.dock-btn.activo{background:#1d4ed8;color:#fff;font-weight:700}.dock-mas{background:#0ea5e9;border:4px solid var(--marino);border-radius:50%;width:70px;height:70px;display:flex;align-items:center;justify-content:center;margin-top:-34px;box-shadow:0 10px 22px #0ea5e973;padding:0;cursor:pointer;flex:none;animation:latido 2.8s ease-in-out infinite}.dock-mas:active{transform:scale(.94)}.app{padding-bottom:120px}.confeti{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:70;overflow:hidden}.confeti span{position:absolute;top:-12px;width:8px;height:12px;border-radius:2px;animation:caer 1.4s ease-in forwards}@keyframes caer{to{transform:translateY(110vh) rotate(540deg);opacity:0}}.seccion-cabecera{display:flex;justify-content:space-between;align-items:baseline;margin-top:6px}.seccion-titulo{margin:0;font-size:15px;font-weight:800;color:var(--marino)}:root[data-theme=dark] .seccion-titulo{color:#e6edf7}.pago{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--tarjeta);border:1px solid var(--borde);border-left:6px solid var(--acento);border-radius:18px;padding:14px 16px}.pago-nombre{margin:0;font-size:16px;font-weight:700}.pago-monto{font-size:18px;font-weight:800;color:var(--acento);white-space:nowrap}.alerta-grande{display:flex;gap:12px;align-items:flex-start;background:var(--tarjeta);border-radius:18px;padding:14px 16px;border:1px solid var(--borde)}.alerta-grande p{margin:4px 0 0}.alerta-grande.rojo{background:#b91c1c1a;border-color:var(--rojo)}.alerta-grande.amarillo{background:#ca8a041f;border-color:var(--amarillo)}.alerta-grande.verde{background:#15803d1a;border-color:var(--verde)}.tiles-registro{display:grid;grid-template-columns:1fr 1fr;gap:12px}.tile-reg{border:none;border-radius:22px;padding:16px;min-height:118px;color:#fff;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left;font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px #1d4ed838}.tile-reg.azul{background:#1d4ed8}.tile-reg.celeste{background:#0ea5e9}.tile-reg.azul-medio{background:#2563eb}.tile-reg.azul-marino{background:#1e3a8a}.icono-caja{width:44px;height:44px;border-radius:14px;background:#fff3;display:flex;align-items:center;justify-content:center}.volver{margin-bottom:4px}.navegacion .mas{background:var(--acento);color:#fff;width:56px;height:56px;min-width:56px;border-radius:50%;font-size:28px;padding:0;margin-top:-28px;box-shadow:0 4px 12px #00000040}.comp-campos{display:flex;gap:10px;flex-wrap:wrap;margin:8px 0}.comp-campos label,.comp-form label{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px;font-size:13px;color:var(--texto-suave, #64748b)}.comp-campos input,.comp-form input,.comp-form select{font:inherit;padding:9px 10px;border-radius:10px;border:1px solid var(--borde);background:var(--fondo, #fff);color:inherit}.comp-acciones{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.comp-form{display:flex;flex-direction:column;gap:10px;margin-top:10px}.comp-check{flex-direction:row!important;align-items:center;gap:8px!important}.error{color:#b91c1c;font-size:13px}
