:root{--bg:#0c0e18;--bg2:#111320;--bg3:#171a28;--bg4:#1e2133;--card:#141723;--card2:#1c1f30;--rojo:#c8102e;--dorado:#c9a84c;--verde:#22c55e;--rojo2:#ef4444;--text1:#f0f0f5;--text:#f0f0f5;--text2:rgba(240,240,245,.55);--text3:rgba(240,240,245,.3);--border:hsla(0,0%,100%,.07);--border2:hsla(0,0%,100%,.13);--radius:14px;--radius-lg:18px;--nav-h:60px;--mono:"JetBrains Mono","Courier New",monospace}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body,html{overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Inter,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;max-width:100vw}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button{background:none;border:none;cursor:pointer;color:inherit;font:inherit}input,select,textarea{font:inherit;background:var(--bg3);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:10px 14px;width:100%;outline:none;transition:border-color .2s}input:focus,select:focus,textarea:focus{border-color:var(--border2)}select option{background:var(--bg3)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}.nav{position:fixed;inset:0 0 auto 0;z-index:900;height:var(--nav-h);justify-content:space-between;padding:0 clamp(16px,4vw,48px);background:rgba(0,0,0,.9);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid hsla(0,0%,100%,.07)}.nav,.nav-logo{display:flex;align-items:center}.nav-logo{gap:10px;font-size:.82rem;font-weight:600}.nav-logo span{color:var(--dorado)}.nav-tabs{display:flex;gap:4px}.nav-tab{font-size:.74rem;font-weight:500;color:var(--text3);padding:6px 14px;border-radius:980px;transition:all .18s;cursor:pointer;border:none;background:none}.nav-tab:hover{color:var(--text2)}.nav-tab.active{background:hsla(0,0%,100%,.09);color:var(--text)}.nav-actions{display:flex;gap:10px}.btn,.nav-actions{align-items:center}.btn{display:inline-flex;gap:7px;font-size:.78rem;font-weight:500;padding:8px 18px;border-radius:980px;border:1px solid var(--border);background:hsla(0,0%,100%,.07);color:var(--text2);cursor:pointer;transition:all .18s}.btn:hover{background:hsla(0,0%,100%,.12);color:var(--text)}.btn.primary{background:var(--dorado);color:#000;border-color:var(--dorado);font-weight:600}.btn.primary:hover{background:#dbb955;border-color:#dbb955}.btn.danger{background:rgba(239,68,68,.12);color:var(--rojo2);border-color:rgba(239,68,68,.2)}.btn.danger:hover{background:rgba(239,68,68,.2)}.btn.success{background:rgba(34,197,94,.12);color:var(--verde);border-color:rgba(34,197,94,.2)}.btn.success:hover{background:rgba(34,197,94,.2)}.btn svg{width:14px;height:14px;flex-shrink:0}main{padding-top:var(--nav-h);min-height:100vh}.page{padding:clamp(20px,4vw,40px) clamp(16px,4vw,48px)}.section-label{font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-bottom:16px}.card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px}.card-label{font-size:.68rem;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.card-value{font-family:var(--mono);font-size:1.4rem;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.card-value.positive{color:var(--verde)}.card-value.negative{color:var(--rojo2)}.card-value.gold{color:var(--dorado)}.card-sub{font-size:.7rem;color:var(--text3);margin-top:4px}.grid-4{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:10px}.grid-3,.grid-4{display:grid;gap:10px}.grid-3{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:10px}.months-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:10px;gap:10px}.month-card{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;cursor:pointer;transition:all .18s;position:relative;overflow:hidden}.month-card:hover{border-color:var(--border2);background:var(--bg4)}.month-card.empty{opacity:.35;cursor:default}.month-card.empty:hover{background:var(--bg3);border-color:var(--border)}.month-card-name{font-size:.82rem;font-weight:600;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}.month-card-neto{font-family:var(--mono);font-size:1.25rem;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-bottom:10px}.month-card-neto.positive{color:var(--verde)}.month-card-neto.negative{color:var(--rojo2)}.month-card-neto.zero,.month-card-row{color:var(--text3)}.month-card-row{display:flex;justify-content:space-between;font-size:.68rem;margin-bottom:3px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.month-card-row span:last-child{font-family:var(--mono);color:var(--text2)}.badge{font-size:.6rem;font-weight:600;padding:3px 8px;border-radius:980px;letter-spacing:.03em}.badge.pos{background:rgba(34,197,94,.15);color:var(--verde)}.badge.neg{background:rgba(239,68,68,.15);color:var(--rojo2)}.badge.empty{background:var(--bg4);color:var(--text3)}.modal-overlay{position:fixed;inset:0;z-index:800;background:rgba(0,0,0,.7);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;padding:0;opacity:0;pointer-events:none;transition:opacity .25s}.modal-overlay.open{opacity:1;pointer-events:all}.modal{background:var(--bg2);border:1px solid var(--border2);border-radius:20px 20px 0 0;width:100%;max-width:560px;padding:28px 24px 40px;transform:translateY(100%);transition:transform .3s ease;max-height:92vh;overflow-y:auto}.modal-overlay.open .modal{transform:translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modal-title{font-size:1rem;font-weight:600}.modal-close{width:32px;height:32px;border-radius:50%;background:var(--bg3);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:var(--text2);cursor:pointer;transition:all .18s}.modal-close:hover{background:var(--bg4);color:var(--text)}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.72rem;color:var(--text3);margin-bottom:7px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.form-row-3{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:10px;gap:10px}.toggle-group{display:flex;gap:8px}.toggle-btn{flex:1 1;padding:9px;border-radius:10px;border:1px solid var(--border);background:var(--bg3);color:var(--text2);font-size:.8rem;cursor:pointer;transition:all .18s;text-align:center}.toggle-btn.active-yes{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.3);color:var(--verde)}.toggle-btn.active-no{background:rgba(239,68,68,.12);border-color:rgba(239,68,68,.2);color:var(--rojo2)}.panel-overlay{position:fixed;inset:0;z-index:800;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .28s}.panel-overlay.open{opacity:1;pointer-events:all}.panel{position:fixed;top:0;right:0;bottom:0;z-index:810;width:min(520px,100vw);background:#0d0d0d;border-left:1px solid var(--border);overflow-y:auto;transform:translateX(100%);transition:transform .32s ease}.panel.open{transform:translateX(0)}.panel-nav{position:-webkit-sticky;position:sticky;top:0;z-index:1;background:hsla(0,0%,5%,.94);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-title{font-size:.9rem;font-weight:600}.panel-body{padding:20px}.fin-table{width:100%;border-collapse:collapse}.fin-table th{font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);padding:0 0 10px;text-align:left}.fin-table td:last-child,.fin-table th:last-child{text-align:right}.fin-table td{font-size:.78rem;padding:9px 0;border-top:1px solid var(--border);color:var(--text2)}.fin-table td.mono{font-family:var(--mono);font-size:.76rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.fin-table .total td{color:var(--text);font-weight:600;border-top:1px solid var(--border2)}.fin-table .cobrado-row td:first-child{color:var(--text)}.fin-table .pendiente-row td:first-child{color:var(--text3)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;vertical-align:middle;flex-shrink:0}.dot.green{background:var(--verde)}.dot.gray{background:var(--text3)}.divider{height:1px;margin:20px 0}.divider,.metric-strip{background:var(--border)}.metric-strip{display:grid;grid-gap:1px;gap:1px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.metric-cell{background:var(--bg);padding:22px clamp(16px,4vw,48px)}.metric-label{font-size:.66rem;color:var(--text3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.metric-value{font-family:var(--mono);font-size:1.3rem;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.metric-value.positive{color:var(--verde)}.metric-value.negative{color:var(--rojo2)}.metric-value.gold{color:var(--dorado)}.metric-sub{font-size:.66rem;color:var(--text3);margin-top:4px}.hero{padding:clamp(28px,5vw,52px) clamp(16px,4vw,48px) clamp(20px,3vw,36px);border-bottom:1px solid var(--border)}.hero-eyebrow{font-size:.68rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:8px}.hero-title{font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:700;letter-spacing:-.03em;margin-bottom:4px}.hero-sub{font-size:.8rem;color:var(--text2);margin-bottom:28px}.spinner{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--dorado);animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:14px;min-height:40vh}.loading p{font-size:.78rem;color:var(--text3)}.fade-in{animation:fadeIn .4s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.nav-tabs{display:none}.grid-3,.grid-4,.months-grid{grid-template-columns:1fr 1fr}.form-row,.form-row-3{grid-template-columns:1fr}}@media (max-width:380px){.grid-3,.grid-4,.months-grid{grid-template-columns:1fr}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.login-card{width:100%;max-width:380px;background:var(--bg2);border:1px solid var(--border);border-radius:20px;padding:36px 32px}.login-logo{font-size:1.1rem;font-weight:700;margin-bottom:28px}.login-logo span{color:var(--dorado)}.login-title{font-size:.8rem;color:var(--text2);margin-bottom:24px}.dash-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 24px}.dash-card-label{font-size:.68rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text3);margin-bottom:10px}.dash-card-value{font-family:var(--mono);font-size:1.55rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.02em}.kpi-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px 22px;position:relative;overflow:hidden}.kpi-accent{position:absolute;top:0;left:0;right:0;height:3px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.tx-row{display:flex;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--border)}.tx-row:last-child{border-bottom:none}.tx-icon{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.tx-label{flex:1 1;min-width:0}.tx-name{font-size:.82rem;font-weight:500;color:var(--text1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-meta{font-size:.68rem;color:var(--text3);margin-top:1px}.tx-amount{font-family:var(--mono);font-size:.82rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}