:root{
  --bg:#050712;--panel:rgba(16,22,42,.62);--panel2:rgba(24,31,57,.72);--line:rgba(255,255,255,.12);
  --text:#f5f7ff;--muted:#9ba8c7;--cyan:#59f7ff;--violet:#a887ff;--pink:#ff6fd8;--green:#58f5a7;
  --amber:#ffc45b;--red:#ff4f72;--shadow:0 24px 80px rgba(0,0,0,.45);--radius:22px;
}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:linear-gradient(160deg,#050712 0%,#0a0d1c 48%,#050711 100%);padding:18px 16px 130px;overflow-x:hidden}
button,input,select{font:inherit}.hidden{display:none!important}.aurora{position:fixed;pointer-events:none;filter:blur(70px);opacity:.24;border-radius:50%;z-index:0}.aurora-a{width:520px;height:520px;background:var(--violet);top:-210px;left:-180px}.aurora-b{width:560px;height:560px;background:var(--cyan);right:-240px;bottom:-240px}.noise{position:fixed;inset:0;pointer-events:none;z-index:0;background:radial-gradient(circle at 20% 10%,rgba(255,111,216,.07),transparent 26%),radial-gradient(circle at 90% 5%,rgba(89,247,255,.08),transparent 24%)}
.glass{position:relative;background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.035) 42%,rgba(0,0,0,.08)),var(--panel);border:1px solid var(--line);box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.13);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%)}
.app{position:relative;z-index:1;max-width:920px;margin:auto}.topbar{border-radius:var(--radius);padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.topbar h1{margin:2px 0 3px;font-size:clamp(1.35rem,4vw,2rem);letter-spacing:-.035em}.eyebrow{margin:0;color:var(--cyan);font-size:.66rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase;text-shadow:0 0 14px rgba(89,247,255,.65)}.subtitle{margin:0;color:var(--muted);font-size:.78rem}.top-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.connection{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border-radius:999px;border:1px solid rgba(88,245,167,.25);background:rgba(88,245,167,.08);font-size:.72rem;color:var(--green);font-weight:800}.connection>span{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 12px currentColor}.connection.offline{color:var(--red);border-color:rgba(255,79,114,.28);background:rgba(255,79,114,.08)}
.btn{border:1px solid rgba(255,255,255,.14);border-radius:14px;color:var(--text);font-weight:900;cursor:pointer;position:relative;overflow:hidden;transition:.2s transform,.2s box-shadow,.2s filter;background:rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 10px 25px rgba(0,0,0,.22)}.btn::after{content:"";position:absolute;inset:-60% -30%;background:linear-gradient(110deg,transparent 38%,rgba(255,255,255,.34) 49%,transparent 60%);transform:translateX(-70%);transition:transform .6s ease}.btn:hover::after{transform:translateX(70%)}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0) scale(.985)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;filter:grayscale(.6)}.btn-ghost{padding:9px 13px;background:rgba(255,255,255,.05)}.btn-neon{width:100%;padding:14px 18px;background:linear-gradient(135deg,rgba(89,247,255,.24),rgba(168,135,255,.30));border-color:rgba(89,247,255,.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.24),0 0 22px rgba(89,247,255,.18),0 12px 30px rgba(0,0,0,.35);text-shadow:0 0 14px rgba(255,255,255,.4)}.btn-save{width:100%;padding:13px;background:linear-gradient(135deg,#4ff0c2,#6fc7ff 48%,#a787ff);color:#07121b;border-color:rgba(255,255,255,.5);box-shadow:0 0 28px rgba(89,247,255,.23),inset 0 1px 0 rgba(255,255,255,.65)}
.legal-note{border-radius:18px;padding:15px 17px;display:flex;gap:14px;align-items:flex-start;margin-bottom:14px;border-color:rgba(89,247,255,.22)}.legal-mark{width:48px;height:48px;display:grid;place-items:center;flex:0 0 48px;border-radius:15px;background:linear-gradient(145deg,rgba(89,247,255,.3),rgba(168,135,255,.3));border:1px solid rgba(89,247,255,.4);font-size:1.25rem;font-weight:1000;color:white;box-shadow:0 0 25px rgba(89,247,255,.18)}.legal-note strong{font-size:.9rem}.legal-note p{margin:4px 0 0;color:#d7ddf0;font-size:.78rem;line-height:1.45}.legal-note .legal-small{color:var(--muted);font-size:.7rem}
.section-nav{display:flex;gap:7px;padding:6px;border-radius:16px;margin-bottom:14px}.section-nav button{flex:1;border:0;border-radius:11px;padding:10px;background:transparent;color:var(--muted);font-weight:900;cursor:pointer}.section-nav button.active{background:linear-gradient(135deg,rgba(89,247,255,.15),rgba(168,135,255,.17));color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}
.tabs{display:flex;gap:8px;overflow:auto;padding:2px 1px 9px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;border:1px solid var(--line);background:rgba(255,255,255,.045);color:var(--muted);padding:10px 16px;border-radius:14px;font-weight:900;cursor:pointer;transition:.2s}.tab.active{color:#fff;border-color:var(--accent);box-shadow:0 0 20px color-mix(in srgb,var(--accent) 25%,transparent),inset 0 1px 0 rgba(255,255,255,.15);background:color-mix(in srgb,var(--accent) 13%,rgba(16,22,42,.75))}
.bank-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.bank-chip{border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.045);color:var(--muted);font-size:.72rem;font-weight:850;cursor:pointer;transition:.2s}.bank-chip b{color:var(--text);margin-left:5px}.bank-chip.active{border-color:rgba(89,247,255,.55);color:#fff;box-shadow:0 0 18px rgba(89,247,255,.13)}.bank-chip.warn{border-color:rgba(255,196,91,.45);color:var(--amber)}.bank-chip.bad{border-color:rgba(255,79,114,.65);color:var(--red);box-shadow:0 0 20px rgba(255,79,114,.16)}
.panel{border-radius:var(--radius);padding:17px}.limit-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;margin-bottom:12px}.limit-card{border-radius:17px;padding:14px;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));border:1px solid var(--line);min-width:0}.limit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.limit-label{color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.limit-number{font-size:1.2rem;font-weight:1000;letter-spacing:-.04em}.limit-sub{color:var(--muted);font-size:.67rem;margin-top:5px;line-height:1.35}.meter{height:8px;background:rgba(0,0,0,.34);border-radius:999px;overflow:hidden;margin-top:10px}.meter>span{display:block;height:100%;border-radius:inherit;transition:width .35s ease;background:linear-gradient(90deg,#3fe39a,var(--green));box-shadow:0 0 13px rgba(88,245,167,.45)}.limit-card.warn .limit-number{color:var(--amber)}.limit-card.warn .meter>span{background:linear-gradient(90deg,#ff9d47,var(--amber));box-shadow:0 0 15px rgba(255,196,91,.5)}.limit-card.bad{border-color:rgba(255,79,114,.55);box-shadow:0 0 30px rgba(255,79,114,.12),inset 0 0 22px rgba(255,79,114,.05)}.limit-card.bad .limit-number{color:var(--red);text-shadow:0 0 18px rgba(255,79,114,.55)}.limit-card.bad .meter>span{background:linear-gradient(90deg,#ff325f,var(--red));box-shadow:0 0 18px rgba(255,79,114,.75)}
.limit-alert{border:1px solid rgba(255,79,114,.55);background:linear-gradient(135deg,rgba(255,79,114,.13),rgba(168,135,255,.08));padding:11px 13px;border-radius:14px;margin-bottom:13px;color:#ffd8e0;font-size:.76rem;font-weight:800;box-shadow:0 0 25px rgba(255,79,114,.1)}
.toolbar{display:flex;gap:10px;align-items:end;justify-content:space-between;margin:12px 0}.toolbar label,.entry-form label{display:grid;gap:6px;color:var(--muted);font-size:.68rem;font-weight:800}.toolbar select,.entry-form input,.entry-form select{border:1px solid var(--line);border-radius:11px;background:#0b1021;color:var(--text);padding:10px 11px;outline:none}.toolbar select:focus,.entry-form input:focus,.entry-form select:focus{border-color:rgba(89,247,255,.58);box-shadow:0 0 0 3px rgba(89,247,255,.09)}
.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:12px 0 15px}.summary-card{border:1px solid var(--line);border-radius:15px;padding:12px;background:rgba(255,255,255,.035)}.summary-card span{display:block;color:var(--muted);font-size:.64rem;text-transform:uppercase;letter-spacing:.08em}.summary-card b{display:block;margin-top:6px;font-size:1rem}.summary-card.total b{color:var(--green)}
.month-group{margin-top:14px}.month-title{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-bottom:7px;border-bottom:1px solid var(--line);font-weight:1000}.month-title span:last-child{color:var(--green);font-size:.8rem}.payment-row{display:grid;grid-template-columns:30px minmax(0,1fr) auto 32px;gap:8px;align-items:center;padding:9px 2px;border-bottom:1px dashed rgba(255,255,255,.07)}.payment-row .idx{color:#71809f;font-size:.66rem}.payment-row .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.82rem}.payment-row .amount{font-weight:900;font-variant-numeric:tabular-nums;font-size:.8rem}.delete-btn{border:0;background:transparent;color:#71809f;cursor:pointer;font-size:1rem;border-radius:8px;padding:5px}.delete-btn:hover{color:var(--red);background:rgba(255,79,114,.08)}.empty{text-align:center;color:var(--muted);padding:28px 8px;font-size:.8rem}
.reports{display:grid;gap:12px}.report-card{border-radius:20px;padding:16px}.report-card h3{margin:0 0 12px;font-size:1rem}.report-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.08);font-size:.78rem}.report-row:last-child{border-bottom:0}.report-row b{font-variant-numeric:tabular-nums}.report-row.bad b{color:var(--red)}.report-row.warn b{color:var(--amber)}
.footer-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#687694;font-size:.64rem;padding:18px 5px 0;flex-wrap:wrap}.danger-link{border:0;background:transparent;color:#987486;text-decoration:underline;cursor:pointer;font-size:.66rem}
.add-dock{position:fixed;z-index:20;left:50%;transform:translateX(-50%);bottom:12px;width:min(888px,calc(100% - 24px));border-radius:20px;padding:10px}.entry-form{padding-top:10px}.form-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr .8fr;gap:8px}.form-hint{margin:8px 2px;color:var(--muted);font-size:.68rem}.form-hint.bad{color:var(--red);font-weight:800}
.login-shell{min-height:calc(100vh - 36px);display:grid;place-items:center;position:relative;z-index:2}.login-card{width:min(420px,100%);border-radius:30px;padding:30px 26px;text-align:center}.lock-orb{width:64px;height:64px;border-radius:20px;margin:0 auto 15px;display:grid;place-items:center;background:linear-gradient(145deg,rgba(89,247,255,.22),rgba(168,135,255,.3));border:1px solid rgba(89,247,255,.42);box-shadow:0 0 42px rgba(89,247,255,.18),inset 0 1px 0 rgba(255,255,255,.25);color:var(--cyan);text-shadow:0 0 14px currentColor}.login-card h1{margin:5px 0 8px;font-size:1.65rem;letter-spacing:-.04em}.login-copy{color:var(--muted);font-size:.8rem;line-height:1.45;max-width:310px;margin:0 auto}.pin-dots{display:flex;justify-content:center;gap:10px;margin:23px 0 18px}.pin-dots span{width:13px;height:13px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);transition:.16s}.pin-dots span.filled{background:var(--cyan);box-shadow:0 0 17px rgba(89,247,255,.85)}.pin-dots.error span{background:var(--red);box-shadow:0 0 17px rgba(255,79,114,.8)}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.keypad button{height:54px;border-radius:16px;border:1px solid var(--line);background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.035));color:#fff;font-size:1.03rem;font-weight:900;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 20px rgba(0,0,0,.18);transition:.15s}.keypad button:hover{border-color:rgba(89,247,255,.45);box-shadow:0 0 18px rgba(89,247,255,.12),inset 0 1px 0 rgba(255,255,255,.15)}.keypad button:active{transform:scale(.96)}.keypad .key-soft{color:var(--muted)}.status-line{min-height:20px;margin:14px 0 0;color:var(--red);font-size:.74rem;font-weight:800}
.toast{position:fixed;z-index:60;left:50%;bottom:112px;transform:translate(-50%,18px);opacity:0;pointer-events:none;max-width:min(90vw,520px);padding:11px 15px;border-radius:999px;background:#eef3ff;color:#0a1020;font-size:.76rem;font-weight:900;box-shadow:0 18px 45px rgba(0,0,0,.4);transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.toast.bad{background:var(--red);color:#fff}
@media(max-width:720px){body{padding:12px 10px 132px}.topbar{padding:16px;align-items:flex-start}.limit-grid{grid-template-columns:1fr 1fr}.limit-grid .limit-card:first-child{grid-column:1/-1}.form-grid{grid-template-columns:1fr 1fr}.legal-note{padding:13px}.summary{grid-template-columns:1fr 1fr 1fr}.panel{padding:13px}}
@media(max-width:450px){.topbar{display:block}.top-actions{justify-content:flex-start;margin-top:10px}.summary{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar-actions .btn{width:100%}.payment-row{grid-template-columns:24px minmax(0,1fr) auto 28px}.legal-small{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}

/* Corrección Excel 13-08-2026: mes anterior gris, mes actual destacado y Nº correlativo continuo. */
.month-title>div{display:flex;align-items:center;gap:9px;min-width:0}.month-title small{font-size:.55rem;letter-spacing:.09em;font-weight:950;padding:4px 7px;border-radius:999px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}.month-group.past{opacity:.78;border-radius:16px;padding:10px 11px;background:linear-gradient(145deg,rgba(155,164,184,.09),rgba(85,94,115,.045));border:1px solid rgba(170,180,200,.12)}.month-group.past .month-title{border-color:rgba(190,198,214,.16);color:#aeb7ca}.month-group.past .month-title span:last-child{color:#aeb7ca}.month-group.past .month-title small{color:#c2c9d7;background:rgba(170,180,200,.08);border-color:rgba(190,198,214,.16)}.month-group.past .payment-row{color:#aeb7ca;border-bottom-color:rgba(190,198,214,.08)}.month-group.past .payment-row .idx,.month-group.past .delete-btn{color:#697489}.month-group.current{border-radius:18px;padding:10px 11px;background:linear-gradient(145deg,rgba(89,247,255,.045),rgba(168,135,255,.035));border:1px solid rgba(89,247,255,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.04),0 0 28px rgba(89,247,255,.04)}.month-group.current .month-title small{color:var(--cyan);border-color:rgba(89,247,255,.27);background:rgba(89,247,255,.07);box-shadow:0 0 14px rgba(89,247,255,.07)}.month-group.future{opacity:.72}.payment-row .idx{font-weight:950;font-variant-numeric:tabular-nums;text-align:center}.payment-row .idx::before{content:"#";opacity:.55;margin-right:1px}

/* V6 · alerta 13 sin bloqueo + identidad visual bancaria */
.legal-note{background:linear-gradient(135deg,rgba(255,255,255,.11),rgba(15,22,44,.72) 50%,rgba(89,247,255,.055));box-shadow:0 22px 70px rgba(0,0,0,.34),0 0 36px rgba(89,247,255,.06),inset 0 1px 0 rgba(255,255,255,.16)}
.legal-mark{background:linear-gradient(145deg,rgba(255,79,114,.32),rgba(168,135,255,.34));border-color:rgba(255,111,216,.5);box-shadow:0 0 28px rgba(255,79,114,.18),inset 0 1px 0 rgba(255,255,255,.26);text-shadow:0 0 16px rgba(255,255,255,.48)}
.legal-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:9px!important}.legal-links a{color:var(--cyan);text-decoration:none;font-size:.66rem;font-weight:900;padding:6px 9px;border-radius:999px;border:1px solid rgba(89,247,255,.22);background:rgba(89,247,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}.legal-links a:hover{border-color:rgba(89,247,255,.55);box-shadow:0 0 15px rgba(89,247,255,.12)}

.bank-chips{gap:9px}.bank-chip{position:relative;display:inline-flex;align-items:center;gap:8px;min-height:43px;padding:7px 12px 7px 7px;overflow:visible;background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 8px 24px rgba(0,0,0,.14)}.bank-chip:hover{transform:translateY(-1px);filter:brightness(1.08)}.bank-chip-name{white-space:nowrap}.bank-count{display:inline-flex;align-items:baseline;gap:1px;padding-left:3px}.bank-count b{margin:0;font-size:.8rem}.bank-count small{font-size:.58rem;color:#7783a0}.mini-alert{font-size:.52rem;font-weight:1000;letter-spacing:.04em;color:#fff;background:linear-gradient(135deg,#ff315f,#ff6f9a);border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:3px 5px;box-shadow:0 0 14px rgba(255,79,114,.45)}
.bank-mark{width:29px;height:29px;flex:0 0 29px;border-radius:10px;display:inline-grid;place-items:center;font-weight:1000;font-size:.66rem;letter-spacing:-.04em;color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 7px 18px rgba(0,0,0,.24);text-transform:none}.bank-mark.compact{width:24px;height:24px;flex-basis:24px;border-radius:8px;font-size:.55rem}
.bank-mark.bci{background:radial-gradient(circle at 26% 28%,#ffd800 0 13%,transparent 14%),radial-gradient(circle at 74% 72%,#14a34a 0 16%,transparent 17%),linear-gradient(135deg,#3478c9 0 45%,#f23b4d 46% 100%);text-shadow:0 1px 4px rgba(0,0,0,.55)}
.bank-mark.santander{background:linear-gradient(145deg,#ff2537,#c90012);font-family:Georgia,serif;font-size:.82rem;font-style:italic;box-shadow:0 0 18px rgba(236,0,0,.22),inset 0 1px 0 rgba(255,255,255,.3)}
.bank-mark.falabella{background:linear-gradient(145deg,#48b749,#1c7c31);font-size:.82rem;box-shadow:0 0 18px rgba(70,183,73,.2),inset 0 1px 0 rgba(255,255,255,.28)}
.bank-mark.ripley{background:linear-gradient(145deg,#8a4ee8,#52219a);font-size:.82rem;box-shadow:0 0 18px rgba(125,73,209,.22),inset 0 1px 0 rgba(255,255,255,.28)}
.bank-mark.chile{background:linear-gradient(145deg,#1671ce,#063c86);font-size:.55rem;letter-spacing:-.06em;box-shadow:0 0 18px rgba(0,87,184,.24),inset 0 1px 0 rgba(255,255,255,.28)}
.bank-chip.active .bank-mark{transform:scale(1.05);filter:saturate(1.1) brightness(1.08)}
.bank-chip.bad{background:linear-gradient(145deg,rgba(255,79,114,.12),rgba(255,255,255,.035));animation:softPulse 2.7s ease-in-out infinite}.bank-chip.warn{background:linear-gradient(145deg,rgba(255,196,91,.10),rgba(255,255,255,.03))}
@keyframes softPulse{0%,100%{box-shadow:0 0 18px rgba(255,79,114,.12),inset 0 1px 0 rgba(255,255,255,.12)}50%{box-shadow:0 0 28px rgba(255,79,114,.23),inset 0 1px 0 rgba(255,255,255,.14)}}

.limit-card.alert-card.bad{background:linear-gradient(145deg,rgba(255,79,114,.15),rgba(168,135,255,.06));box-shadow:0 0 34px rgba(255,79,114,.14),inset 0 0 25px rgba(255,79,114,.055)}
.limit-alert.hard{background:linear-gradient(135deg,rgba(255,40,76,.23),rgba(104,30,69,.22));border-color:rgba(255,79,114,.8);box-shadow:0 0 30px rgba(255,79,114,.18)}.limit-alert.sem{border-color:rgba(168,135,255,.48);background:linear-gradient(135deg,rgba(168,135,255,.13),rgba(255,79,114,.07));color:#e9e0ff}.statutory-hint{margin:0 2px 12px;color:#7f8baa;font-size:.63rem;line-height:1.4}
.month-alert{color:#ff8aa3!important;border-color:rgba(255,79,114,.36)!important;background:rgba(255,79,114,.08)!important;box-shadow:0 0 12px rgba(255,79,114,.08)}
.report-bank{display:flex;align-items:center;gap:8px;min-width:0}.report-bank>span:last-child{min-width:0}.report-row.bad .report-bank{color:#ffd3dc}.report-row.warn .report-bank{color:#ffe4b1}

@media(max-width:620px){.bank-chip{flex:1 1 calc(50% - 9px);justify-content:flex-start}.bank-chip-name{overflow:hidden;text-overflow:ellipsis}.legal-links{display:none}.statutory-hint{font-size:.6rem}}
