*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-outer: #eae6df;--bg: #f7f4ef;--bg-muted: #ede9e1;--bg-dark: #1a1208;--border: #e8e2d8;--border-mid: #d4c9b8;--accent: #c8472a;--accent-dark: #a8351a;--text: #1a1208;--text-muted: #8a7f70;--text-faint: #b0a898;--positive: #6fcf7a;--font-serif: "Libre Baskerville", serif;--font-sans: "Albert Sans", sans-serif;--surface: #f7f4ef;--surface-2: #f0ece4;--border-soft: #e4ddd2;--ink: #1a1208;--ink-2: #3d3426;--muted: #8a7f70;--muted-light: #b5a898;--red: #c8472a;--red-dark: #a8351a;--red-pale: #f5ede9;--green: #2a7a4b;--green-pale: #e8f4ed;--amber: #b06e0a;--amber-pale: #fdf3e3;--blue: #1e5f9e;--blue-pale: #e8f0fa;--radius: 4px;--shadow: 0 2px 12px rgba(0,0,0,.06)}html,body{min-height:100vh;background:var(--bg-outer);font-family:var(--font-sans);color:var(--text);-webkit-font-smoothing:antialiased}#app{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}#app.shell{align-items:stretch;justify-content:flex-start;padding:0;flex-direction:column;height:100vh;overflow:hidden}#content{flex:1;overflow:hidden}.screen{background:var(--bg);border-radius:4px;display:flex;align-items:stretch;width:100%;max-width:420px;overflow:hidden;box-shadow:0 2px 24px #00000014}.sidebar{width:8px;background:var(--accent);flex-shrink:0}.body{flex:1;padding:1.5rem 1.25rem}.overline{font-size:10px;font-weight:500;letter-spacing:.2em;color:var(--accent);margin-bottom:.5rem}.title{font-family:var(--font-serif);font-size:26px;color:var(--text)}.title em{font-style:italic}.rule{width:32px;height:2px;background:var(--accent);margin:.8rem 0 1.25rem}.login-card{background:var(--bg);border-radius:4px;display:flex;align-items:stretch;width:100%;max-width:380px;overflow:hidden;box-shadow:0 2px 24px #00000014}.login-sidebar{width:8px;background:var(--accent);flex-shrink:0}.login-body{flex:1;padding:2.5rem 2rem;display:flex;flex-direction:column;justify-content:center}.login-overline{font-size:10px;font-weight:500;letter-spacing:.2em;color:var(--accent);margin-bottom:1rem}.login-title{font-family:var(--font-serif);font-size:34px;font-weight:400;color:var(--text);line-height:1.15;margin-bottom:.25rem}.login-title em{font-style:italic}.login-rule{width:40px;height:2px;background:var(--accent);margin:1.2rem 0}.login-sub{font-size:13px;color:var(--text-muted);font-weight:300;margin-bottom:2rem}.login-field{margin-bottom:1.5rem}.login-field label{font-size:10px;font-weight:500;letter-spacing:.12em;color:var(--text-muted);margin-bottom:5px;display:block}.login-field input{width:100%;border:none;border-bottom:1.5px solid var(--border-mid);background:transparent;font-family:var(--font-sans);font-size:16px;color:var(--text);padding:8px 0;outline:none;transition:border-color .2s}.login-field input:focus{border-bottom-color:var(--accent)}.login-error{font-size:12px;color:var(--accent);min-height:16px;margin-bottom:6px}#login-btn{background:var(--accent);color:#fff;font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.08em;padding:14px 28px;border:none;cursor:pointer;width:100%;margin-top:.5rem;transition:background .2s}#login-btn:hover{background:var(--accent-dark)}#login-btn:disabled{opacity:.6;cursor:default}.login-rates{display:flex;justify-content:space-between;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--border-mid)}.rate-label{font-size:9px;color:var(--text-muted);letter-spacing:.1em;font-weight:500}.rate-val{font-family:var(--font-serif);font-size:16px;color:var(--text)}.recon-page{width:100%;height:100%;overflow:hidden;background:#eae6df;font-family:var(--font-sans);color:var(--ink);font-size:14px;display:flex;flex-direction:column}.recon-page .page-header{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.75rem;border-bottom:1px solid var(--border-soft)}.recon-page .page-title{font-family:var(--font-serif);font-size:21px;font-style:italic;color:var(--red)}.recon-page .page-sub{font-size:11px;color:var(--muted);margin-top:1px}.recon-page .page-actions{display:flex;gap:.5rem;align-items:center}.recon-page .btn-ghost{font-size:11px;font-weight:500;color:var(--muted);background:transparent;border:1px solid var(--border);padding:6px 12px;border-radius:var(--radius);cursor:pointer}.recon-page .btn-primary{font-size:11px;font-weight:600;color:#fff;background:var(--red);border:none;padding:6px 14px;border-radius:var(--radius);cursor:pointer}.recon-page .layout{flex:1;overflow:hidden;display:grid;grid-template-columns:260px .8fr .8fr 1.2fr 260px;gap:1rem;padding:.75rem 1.75rem;align-items:start}.recon-page .col{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:1rem;scrollbar-width:thin;scrollbar-color:var(--border) transparent;padding-bottom:1rem}.recon-page .col::-webkit-scrollbar{width:4px}.recon-page .col::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.recon-page .panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow)}.recon-page .panel-header{display:flex;align-items:center;justify-content:space-between;padding:.7rem 1rem;border-bottom:1px solid var(--border-soft)}.recon-page .panel-title{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.recon-page .btn-generar-comps{background:transparent;border:1px solid var(--border-soft);border-radius:3px;width:22px;height:22px;cursor:pointer;color:var(--muted-light);font-size:13px;display:flex;align-items:center;justify-content:center;transition:color .1s,border-color .1s}.recon-page .btn-generar-comps:hover{color:var(--ink-2);border-color:var(--muted)}.recon-page .panel-hint{font-size:10px;color:var(--muted-light)}.recon-page .panel-kbd{display:flex;gap:8px}.recon-page .kbd-item{display:flex;align-items:center;gap:3px;font-size:10px;color:var(--muted-light)}.recon-page kbd{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1px solid var(--border);border-radius:3px;font-family:var(--font-sans);font-size:9px;font-weight:600;color:var(--muted);padding:1px 4px;min-width:18px}.recon-page .dg{width:100%;border-collapse:collapse}.recon-page .dg thead tr{background:var(--surface-2)}.recon-page .dg th{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-light);padding:5px 8px;text-align:left;border-bottom:1px solid var(--border)}.recon-page .dg th.r{text-align:right}.recon-page .empty-row td{padding:20px 14px;text-align:center;color:var(--muted);font-size:12px;font-style:italic}.recon-page .row-e td{border-bottom:1px solid var(--border-soft);padding:0}.recon-page .row-e:last-of-type td{border-bottom:1px solid var(--border)}.recon-page .row-e:hover td{background:var(--surface-2)}.recon-page .ci{width:100%;background:transparent;border:none;font-family:var(--font-sans);font-size:13px;color:var(--ink-2);padding:7px 8px;outline:none}.recon-page .ci:focus{background:#fff;color:var(--ink);box-shadow:inset 0 -2px 0 var(--red)}.recon-page .ci.m{font-family:var(--font-serif);font-size:14px}.recon-page .ci.dim{color:var(--muted);font-size:11px}.recon-page .del-btn{background:none;border:none;color:var(--muted-light);cursor:pointer;font-size:13px;padding:7px 8px;opacity:0;transition:opacity .1s}.recon-page .row-e:hover .del-btn{opacity:1}.recon-page .del-btn:hover{color:var(--red)}.recon-page .row-pending td,.recon-page .row-pending:hover td{background:var(--amber-pale)}.recon-page .row-pending td:first-child{border-left:2px solid var(--amber)}.recon-page .row-n{background:var(--red-pale)}.recon-page .row-n td{padding:0}.recon-page .row-n .ci{padding:8px;color:var(--ink)}.recon-page .row-n .ci::placeholder{color:var(--muted-light)}.recon-page .row-n .ci:focus{background:#ffffff8c}.recon-page .row-n .ci.m{font-weight:700}.recon-page .enter-hint{font-size:10px;color:var(--muted-light);padding:8px;display:block}.recon-page .ci-sel{width:100%;background:transparent;border:none;font-family:var(--font-sans);font-size:12px;color:var(--ink-2);padding:7px 8px;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.recon-page .row-n .ci-sel{padding:8px;color:var(--muted)}.recon-page .cur-toggle{display:flex;padding:6px 8px;gap:0}.recon-page .cur-btn{font-size:10px;font-weight:600;padding:2px 6px;border:1px solid var(--border);background:var(--surface);color:var(--muted);cursor:pointer;font-family:var(--font-sans)}.recon-page .cur-btn:first-child{border-radius:3px 0 0 3px}.recon-page .cur-btn:last-child{border-radius:0 3px 3px 0;border-left:none}.recon-page .cur-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.recon-page .g-day{width:44px}.recon-page .g-mto{width:96px}.recon-page .g-cmp{width:110px}.recon-page .g-del{width:26px}.recon-page .c-day{width:44px}.recon-page .c-de{width:88px}.recon-page .c-org{width:108px}.recon-page .c-ars{width:116px}.recon-page .c-tc{width:76px}.recon-page .c-del{width:26px}.recon-page .g-footer{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;background:var(--surface-2);border-top:1px solid var(--border)}.recon-page .g-footer-lbl{font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.recon-page .g-footer-val{font-family:var(--font-serif);font-size:15px;color:var(--ink)}.recon-page .g-footer-val.red{color:var(--red)}.recon-page .g-footer-val.blue{color:var(--blue)}.recon-page .sec{padding:.6rem .875rem;border-bottom:1px solid var(--border-soft)}.recon-page .sec:last-child{border-bottom:none}.recon-page .sec-lbl{font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-light);margin-bottom:5px}.recon-page .c-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;border-bottom:1px dotted var(--border-soft)}.recon-page .c-row:last-child{border-bottom:none}.recon-page .c-name{font-size:12px;color:var(--ink-2)}.recon-page .c-sub{font-size:9px;color:var(--muted-light)}.recon-page .c-inp{border:none;border-bottom:1.5px solid transparent;background:transparent;font-family:var(--font-serif);font-size:13px;color:var(--ink);text-align:right;width:95px;padding:2px 0;outline:none}.recon-page .c-inp:focus{border-bottom-color:var(--red)}.recon-page .c-inp.changed{color:var(--red);font-weight:700}.recon-page .bill-row{display:flex;align-items:center;padding:4px 0;border-bottom:1px dotted var(--border-soft)}.recon-page .bill-row:last-child{border-bottom:none}.recon-page .bill-lbl{flex:1}.recon-page .bill-inp{width:95px}.recon-page .bill-del-btn{background:none;border:none;color:transparent;cursor:pointer;font-size:13px;padding:0 0 0 4px;transition:color .1s;flex-shrink:0}.recon-page .bill-row:hover .bill-del-btn{color:var(--muted-light)}.recon-page .bill-del-btn:hover{color:var(--red)!important}.recon-page .bill-add-row{padding:5px 0 2px}.recon-page #btn-add-billetera{background:none;border:none;color:var(--muted-light);cursor:pointer;font-size:11px;padding:0;font-family:var(--font-sans)}.recon-page #btn-add-billetera:hover{color:var(--ink-2)}.recon-page .cuentas-totals{padding:.6rem .875rem;background:var(--surface-2);border-top:1px solid var(--border);display:flex;flex-direction:column;gap:4px}.recon-page .ct-row{display:flex;justify-content:space-between;align-items:baseline}.recon-page .ct-lbl{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.recon-page .ct-val{font-family:var(--font-serif);font-size:13px;color:var(--ink)}.recon-page .ct-val.big{font-size:16px}.recon-page .ct-val.ok{color:var(--green)}.recon-page .ct-val.bad{color:var(--red)}.recon-page .res-header{background:var(--red);padding:.75rem .875rem;display:flex;align-items:center;justify-content:space-between}.recon-page .res-title{font-family:var(--font-serif);font-size:15px;font-style:italic;color:#fff}.recon-page .res-ts{font-size:10px;color:#fff9}.recon-page .res-body{padding:.875rem;display:flex;flex-direction:column;gap:.875rem}.recon-page .diff-box{border-radius:var(--radius);padding:.75rem;display:flex;flex-direction:column;gap:3px}.recon-page .diff-box.ok{background:var(--green-pale);border:1px solid #b8dfc8}.recon-page .diff-box.bad{background:var(--red-pale);border:1px solid #e8b9af}.recon-page .diff-box.none{background:var(--surface-2);border:1px dashed var(--border)}.recon-page .diff-lbl{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.recon-page .diff-box.ok .diff-lbl{color:var(--green)}.recon-page .diff-box.bad .diff-lbl{color:var(--red)}.recon-page .diff-box.none .diff-lbl{color:var(--muted)}.recon-page .diff-val{font-family:var(--font-serif);font-size:24px;font-weight:700;line-height:1.1}.recon-page .diff-box.ok .diff-val{color:var(--green)}.recon-page .diff-box.bad .diff-val{color:var(--red)}.recon-page .diff-box.none .diff-val{color:var(--muted-light)}.recon-page .diff-sub{font-size:10px}.recon-page .diff-box.ok .diff-sub{color:var(--green)}.recon-page .diff-box.bad .diff-sub{color:var(--red)}.recon-page .diff-box.none .diff-sub{color:var(--muted)}.recon-page .formula{background:var(--surface-2);border-radius:var(--radius);padding:.7rem .75rem;border:1px solid var(--border-soft)}.recon-page .formula-title{font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.recon-page .f-row{display:flex;justify-content:space-between;align-items:center;padding:3px 0;border-bottom:1px dotted var(--border-soft);font-size:11px}.recon-page .f-row:last-child{border-bottom:none}.recon-page .f-row.result{border-top:1px solid var(--border);border-bottom:none;padding-top:5px;margin-top:2px;font-weight:600}.recon-page .f-lbl{color:var(--muted)}.recon-page .f-val{font-family:var(--font-serif);font-size:12px;color:var(--ink)}.recon-page .f-val.neg{color:var(--red)}.recon-page .btn-guardar{width:100%;font-family:var(--font-sans);font-size:11px;font-weight:600;color:#fff;background:var(--red);border:none;padding:9px;border-radius:var(--radius);cursor:pointer}.recon-page .btn-guardar:disabled,.recon-page .btn-primary:disabled{opacity:.38;cursor:not-allowed}.recon-page .comp-chk-col{width:32px}.recon-page .comp-venc-col,.recon-page .comp-monto-col{width:100px}.recon-page .comp-row{border-bottom:1px solid var(--border-soft)}.recon-page .comp-row:last-child{border-bottom:none}.recon-page .comp-row td{padding:0;vertical-align:middle}.recon-page .comp-row.pending:hover td{background:var(--surface-2)}.recon-page .comp-row.paid{display:none}.recon-page .comp-row.paid.visible{display:table-row}.recon-page .comp-row.paid.visible td{opacity:.4}.recon-page .comp-chk-btn{background:none;border:none;cursor:pointer;width:32px;height:34px;font-size:15px;color:var(--muted-light);display:flex;align-items:center;justify-content:center;transition:color .12s}.recon-page .comp-chk-btn:hover{color:var(--green)}.recon-page .comp-chk-btn.done{color:var(--green);font-size:13px}.recon-page .comp-name-cell{font-size:12px;color:var(--ink-2);padding:6px 8px}.recon-page .comp-row.paid .comp-name-cell{text-decoration:line-through;color:var(--muted)}.recon-page .comp-venc-cell{padding:6px 4px;white-space:nowrap}.recon-page .venc-tag{display:inline-block;font-size:9px;font-weight:500;padding:2px 5px;border-radius:3px;letter-spacing:.02em}.recon-page .venc-ok{color:var(--muted)}.recon-page .venc-pronto{background:var(--amber-pale);color:var(--amber)}.recon-page .venc-hoy{background:var(--amber-pale);color:var(--amber);font-weight:600}.recon-page .venc-vencido{background:var(--red-pale);color:var(--red);font-weight:600}.recon-page .comp-monto-inp{width:100%;background:transparent;border:none;font-family:var(--font-serif);font-size:14px;color:var(--ink);text-align:right;padding:7px 8px;outline:none;border-bottom:1.5px solid transparent;transition:border-color .12s}.recon-page .comp-monto-inp:focus{border-bottom-color:var(--red);background:#fff}.recon-page .comp-row.paid .comp-monto-inp{color:var(--muted)}.recon-page .comp-paid-toggle{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--surface-2);border-top:1px solid var(--border-soft);cursor:pointer;-webkit-user-select:none;user-select:none}.recon-page .comp-paid-toggle:hover{background:var(--border-soft)}.recon-page .comp-paid-toggle-lbl{font-size:10px;color:var(--muted)}.recon-page .comp-paid-toggle-icon{font-size:9px;color:var(--muted-light)}.recon-page .comp-reservas{display:flex;align-items:center;justify-content:space-between;padding:7px 8px 7px 10px;background:var(--blue-pale);border-top:1px solid #c8d9f0}.recon-page .comp-reservas-lbl{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}.recon-page .comp-reservas-val{font-family:var(--font-serif);font-size:12px;color:var(--blue)}.recon-page .usdc-formula{padding:.6rem .875rem;display:flex;flex-direction:column}.recon-page .usdc-row{display:flex;justify-content:space-between;align-items:baseline;padding:5px 0;border-bottom:1px dotted var(--border-soft);font-size:12px}.recon-page .usdc-row:last-child{border-bottom:none}.recon-page .usdc-row.result{border-top:1px solid var(--border);border-bottom:1px dotted var(--border-soft);padding-top:7px;margin-top:2px;font-weight:600}.recon-page .usdc-lbl{color:var(--muted);font-size:11px}.recon-page .usdc-val{font-family:var(--font-serif);font-size:13px;color:var(--ink)}.recon-page .usdc-val.neg{color:var(--muted)}.recon-page .usdc-val.bold{color:var(--ink);font-size:14px}.recon-page .panel-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.recon-page .panel-header.collapsible:hover{background:var(--surface-2)}.recon-page .toggle-icon{font-size:9px;color:var(--muted-light);transition:transform .15s;display:inline-block}.recon-page .toggle-icon.collapsed{transform:rotate(-90deg)}.recon-page .u-mto{width:96px}.recon-page .usdc-comprometido-inp{width:95px;text-align:right;color:var(--amber);font-weight:600}.comps-page{width:100%;height:100%;overflow-y:auto;background:var(--bg-outer);font-family:var(--font-sans);color:var(--ink);font-size:14px}.comps-page .page{display:grid;grid-template-columns:1fr 320px;gap:1rem;padding:1.25rem 1.75rem 2rem;align-items:start;max-width:1280px;margin:0 auto}.comps-page .col-content{display:flex;flex-direction:column;gap:1rem;min-width:0}.comps-page .col-ciclo,.comps-page .main{display:flex;flex-direction:column;gap:1rem}.comps-page .page-header{display:flex;align-items:baseline;justify-content:space-between;padding-bottom:.25rem}.comps-page .page-title{font-family:var(--font-serif);font-size:22px;font-style:italic;color:var(--red)}.comps-page .page-sub{font-size:11px;color:var(--muted);margin-top:2px}.comps-page .btn-primary{font-family:var(--font-sans);font-size:11px;font-weight:600;letter-spacing:.07em;color:#fff;background:var(--red);border:none;padding:7px 16px;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;gap:6px;white-space:nowrap}.comps-page .btn-primary:hover{background:var(--red-dark)}.comps-page .section-label{display:flex;align-items:center;gap:10px;margin-bottom:.5rem}.comps-page .section-label-text{font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted-light);white-space:nowrap}.comps-page .section-label-line{flex:1;height:1px;background:var(--border-soft)}.comps-page .badge-tipo{display:inline-flex;align-items:center;font-size:9px;font-weight:600;letter-spacing:.06em;padding:2px 7px;border-radius:10px;white-space:nowrap}.comps-page .badge-pago{background:var(--blue-pale);color:var(--blue)}.comps-page .badge-reserva{background:var(--amber-pale);color:var(--amber)}.comps-page .badge-ciclo{background:var(--green-pale, #e6f4ea);color:var(--green, #2e7d32)}.comps-page .panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.comps-page .table{width:100%;border-collapse:collapse}.comps-page .table thead tr{background:var(--surface-2)}.comps-page .table th{font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);padding:8px 14px;text-align:left;border-bottom:1px solid var(--border-soft);white-space:nowrap}.comps-page .table th.right{text-align:right}.comps-page .table th.center{text-align:center}.comps-page .table tbody tr{border-bottom:1px solid var(--border-soft);transition:background .1s;cursor:pointer}.comps-page .table tbody tr:last-child{border-bottom:none}.comps-page .table tbody tr:hover{background:var(--surface-2)}.comps-page .table tbody tr.selected{background:var(--red-pale)}.comps-page .table tbody tr.inactive{opacity:.4}.comps-page .table td{padding:10px 14px;font-size:13px;color:var(--ink-2)}.comps-page .table td.right{text-align:right}.comps-page .table td.center{text-align:center}.comps-page .table td.muted{color:var(--muted);font-size:12px}.comps-page .cell-name{display:flex;align-items:center;gap:8px}.comps-page .drag-handle{color:var(--muted-light);font-size:12px;cursor:grab;flex-shrink:0;line-height:1}.comps-page .card-icon{width:18px;height:12px;border-radius:2px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:7px;font-weight:700}.comps-page .card-icon.tarjeta{color:var(--blue);background:var(--blue-pale)}.comps-page .monto-cell{font-family:var(--font-serif);font-size:14px;color:var(--ink);text-align:right;white-space:nowrap}.comps-page .monto-cell.empty{color:var(--muted-light);font-family:var(--font-sans);font-size:12px}.comps-page .vencimiento-cell{font-size:12px;color:var(--ink-2);white-space:nowrap}.comps-page .vencimiento-cell.none{color:var(--muted-light);font-size:11px}.comps-page .metodo-cell{font-size:11px;color:var(--muted);white-space:nowrap}.comps-page .row-actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;opacity:0;transition:opacity .1s}.comps-page .table tbody tr:hover .row-actions,.comps-page .table tbody tr.selected .row-actions{opacity:1}.comps-page .icon-btn{width:26px;height:26px;border-radius:3px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--muted);font-size:13px;transition:background .1s,color .1s}.comps-page .icon-btn:hover{background:var(--surface-2);color:var(--ink-2)}.comps-page .icon-btn.danger:hover{background:var(--red-pale);color:var(--red)}.comps-page .icon-btn.btn-reactivate:hover{background:var(--green-pale, #e6f4ea);color:var(--green, #2e7d32)}.comps-page .inactive-divider td{padding:5px 14px;font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-light);background:var(--bg-outer);border-top:1px solid var(--border-soft)}.comps-page .empty-row td{padding:24px 14px;text-align:center;color:var(--muted);font-size:12px;font-style:italic}.comps-page .footer-row td{padding:8px 14px;background:var(--surface-2);font-size:11px;color:var(--muted);border-top:1px solid var(--border-soft)}.comps-page .footer-row .monto-cell{font-family:var(--font-serif);font-size:13px;color:var(--ink-2)}.comps-page .side-panel{position:sticky;top:1.25rem;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.comps-page .side-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border-soft)}.comps-page .side-title{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.comps-page .close-btn{width:22px;height:22px;border-radius:3px;background:transparent;border:none;cursor:pointer;color:var(--muted-light);font-size:14px;display:flex;align-items:center;justify-content:center}.comps-page .close-btn:hover{color:var(--ink-2);background:var(--surface-2)}.comps-page .side-body{padding:1rem;display:flex;flex-direction:column;gap:.875rem}.comps-page .field{display:flex;flex-direction:column;gap:4px}.comps-page .field-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.comps-page .input{font-family:var(--font-sans);font-size:13px;color:var(--ink);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);padding:7px 10px;width:100%;outline:none;transition:border-color .15s}.comps-page .input:focus{border-color:var(--red)}.comps-page .input::placeholder{color:var(--muted-light)}.comps-page .input-monto{font-family:var(--font-serif);font-size:17px;padding:8px 10px}.comps-page .tipo-toggle{display:flex;background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);overflow:hidden}.comps-page .tipo-option{flex:1;padding:7px 10px;text-align:center;cursor:pointer;font-size:11px;font-weight:500;color:var(--muted);transition:background .15s,color .15s;-webkit-user-select:none;user-select:none}.comps-page .tipo-option.active{background:var(--red);color:#fff}.comps-page .field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.comps-page .select{font-family:var(--font-sans);font-size:13px;color:var(--ink);background:var(--surface-2);border:1px solid var(--border-soft);border-radius:var(--radius);padding:7px 28px 7px 10px;width:100%;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a7f70'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}.comps-page .select:focus{border-color:var(--red);outline:none}.comps-page .check-row{display:flex;align-items:center;gap:8px;cursor:pointer}.comps-page .check-box{width:16px;height:16px;border:1.5px solid var(--border);border-radius:2px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}.comps-page .check-box.checked{background:var(--red);border-color:var(--red)}.comps-page .check-box.checked:after{content:"";display:block;width:4px;height:7px;border:1.5px solid #fff;border-top:none;border-left:none;transform:rotate(45deg) translateY(-1px)}.comps-page .check-label{font-size:12px;color:var(--ink-2)}.comps-page .field-hint{font-size:10px;color:var(--muted-light);margin-top:1px}.comps-page .side-actions{display:flex;flex-direction:column;gap:6px;padding:.875rem 1rem;border-top:1px solid var(--border-soft)}.comps-page .btn-block{width:100%;padding:8px;border-radius:var(--radius);cursor:pointer;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:.06em}.comps-page .btn-save{background:var(--red);color:#fff;border:none}.comps-page .btn-save:hover{background:var(--red-dark)}.comps-page .btn-cancel{background:transparent;color:var(--muted);border:1px solid var(--border)}.comps-page .btn-cancel:hover{border-color:var(--muted-light);color:var(--ink-2)}.comps-page .ciclo-pagado-btn{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--border);background:transparent;cursor:pointer;font-size:11px;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0}.comps-page .ciclo-pagado-btn.done{background:var(--green, #2e7d32);border-color:var(--green, #2e7d32);color:#fff}.comps-page .table tbody tr.ciclo-paid{opacity:.45}@media (min-width: 1600px){.comps-page .page{grid-template-columns:1fr 1fr 320px;max-width:1680px}.comps-page .col-content{display:contents}.comps-page .page-header{grid-column:1 / 3;grid-row:1}.comps-page .col-ciclo{grid-column:1;grid-row:2;align-self:start}.comps-page .main{grid-column:2;grid-row:2;align-self:start}.comps-page .side-panel{grid-column:3;grid-row:1 / 3;top:62px}}.comps-page .inline-input{font-family:var(--font-serif);font-size:14px;color:var(--ink);background:transparent;border:1px solid transparent;border-radius:var(--radius);padding:2px 6px;text-align:right;width:100%;outline:none;transition:border-color .15s,background .15s}.comps-page .inline-input:hover{border-color:var(--border-soft);background:var(--surface-2)}.comps-page .inline-input:focus{border-color:var(--red);background:var(--surface-2)}.comps-page .side-empty{padding:2rem 1rem;text-align:center;color:var(--muted);font-size:12px;line-height:1.6}.comps-page .side-empty-icon{font-size:28px;margin-bottom:.5rem;opacity:.3}.dashboard-page{display:grid;grid-template-columns:260px 1fr 280px;gap:12px;padding:12px 20px;height:100%;overflow:hidden}.dashboard-page .col{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.dashboard-page .col::-webkit-scrollbar{width:4px}.dashboard-page .col::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.dashboard-page .col-center{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:10px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.dashboard-page .col-center::-webkit-scrollbar{width:4px}.dashboard-page .col-center::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}.dashboard-page .subcol{display:contents}@media (min-width: 1600px){.dashboard-page .col-center{display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:hidden}.dashboard-page .subcol{display:flex;flex-direction:column;gap:10px;height:100%;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.dashboard-page .subcol::-webkit-scrollbar{width:4px}.dashboard-page .subcol::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}}.dashboard-page .panel{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;flex-shrink:0}.dashboard-page .panel-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .875rem;border-bottom:1px solid var(--border-soft)}.dashboard-page .panel-title{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.dashboard-page .panel-body{padding:.875rem}.dashboard-page .reservas-body{padding-top:6px;padding-bottom:4px}.dashboard-page .loading-row{font-size:12px;color:var(--muted);font-style:italic;text-align:center;padding:6px 0}.dashboard-page .saldo-total-row{display:flex;justify-content:space-between;align-items:baseline;padding:0 0 12px}.dashboard-page .saldo-total-label{font-size:11px;color:var(--muted)}.dashboard-page .saldo-total-val{font-family:var(--font-serif);font-size:26px;color:var(--ink)}.dashboard-page .sec-label{font-size:9px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-light);margin-bottom:5px;display:flex;align-items:center;gap:6px}.dashboard-page .sec-label:after{content:"";flex:1;height:1px;background:var(--border-soft)}.dashboard-page .cuenta-list{display:flex;flex-direction:column;gap:3px;margin-bottom:6px}.dashboard-page .cuenta-row{display:flex;justify-content:space-between;align-items:center;padding:5px 9px;background:var(--surface-2);border-radius:var(--radius);font-size:12.5px}.dashboard-page .cuenta-left{display:flex;align-items:center;gap:6px}.dashboard-page .cuenta-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.dashboard-page .dot-elec{background:var(--blue)}.dashboard-page .dot-cash{background:var(--amber)}.dashboard-page .cuenta-name{color:var(--ink-2)}.dashboard-page .cuenta-sub{font-size:9px;color:var(--muted-light);margin-top:1px}.dashboard-page .cuenta-val{font-weight:500;color:var(--ink)}.dashboard-page .subtotal-row{display:flex;justify-content:space-between;align-items:center;padding:3px 9px 8px;font-size:11px}.dashboard-page .subtotal-label{color:var(--muted)}.dashboard-page .subtotal-val{font-weight:600;color:var(--ink-2)}.dashboard-page .ahorro-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--surface-2);border-radius:var(--radius);margin-bottom:5px}.dashboard-page .ahorro-left{display:flex;align-items:center;gap:8px}.dashboard-page .currency-icon{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.dashboard-page .ci-usd{background:var(--green-pale);color:var(--green)}.dashboard-page .ci-usdt{background:var(--amber-pale);color:var(--amber)}.dashboard-page .ahorro-name{font-size:12.5px;font-weight:500;color:var(--ink-2)}.dashboard-page .ahorro-sub{font-size:10px;color:var(--muted)}.dashboard-page .ahorro-right{text-align:right}.dashboard-page .ahorro-val{font-family:var(--font-serif);font-size:15px;color:var(--ink)}.dashboard-page .ahorro-ars{font-size:10px;color:var(--muted);margin-top:1px}.dashboard-page .ahorro-meta-row{display:flex;justify-content:space-between;align-items:center;padding:4px 10px 10px;font-size:11px;border-bottom:1px solid var(--border-soft);margin-bottom:0}.dashboard-page .ahorro-meta-lbl{color:var(--muted)}.dashboard-page .ahorro-meta-lbl strong{color:var(--amber);font-weight:500}.dashboard-page .ahorro-meta-disp{font-weight:500;color:var(--green)}.dashboard-page .patrimonio-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--blue-pale);border-radius:var(--radius);margin-top:8px}.dashboard-page .patrimonio-label{font-size:10px;font-weight:600;letter-spacing:.05em;color:var(--blue)}.dashboard-page .patrimonio-val{font-family:var(--font-serif);font-size:16px;color:var(--blue)}.dashboard-page .hero{padding:14px 14px 16px}.dashboard-page .hero-label{font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}.dashboard-page .hero-value{font-family:var(--font-serif);font-size:26px;line-height:1;margin-bottom:5px}.dashboard-page .hero-value.positive{color:var(--green)}.dashboard-page .hero-value.warning{color:var(--amber)}.dashboard-page .hero-value.danger{color:var(--red)}.dashboard-page .hero-sub{font-size:11.5px;color:var(--muted);margin-bottom:14px}.dashboard-page .hero-sub strong{color:var(--ink-2);font-weight:500}.dashboard-page .formula{display:flex;flex-direction:column;gap:4px}.dashboard-page .formula-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:5px 10px;background:var(--surface-2);border-radius:var(--radius)}.dashboard-page .formula-label{color:var(--muted)}.dashboard-page .formula-val.pos{color:var(--green);font-weight:500}.dashboard-page .formula-val.neg{color:var(--red);font-weight:500}.dashboard-page .formula-divider{height:1px;background:var(--border-soft);margin:2px 0}.dashboard-page .formula-total{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;padding:7px 10px;border-radius:var(--radius)}.dashboard-page .formula-total.positive{background:var(--green-pale);color:var(--green)}.dashboard-page .formula-total.warning{background:var(--amber-pale);color:var(--amber)}.dashboard-page .formula-total.danger{background:var(--red-pale);color:var(--red)}.dashboard-page .sobrante-body{padding:.875rem;display:flex;flex-direction:column;gap:5px}.dashboard-page .dep-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding:5px 10px;background:var(--surface-2);border-radius:var(--radius)}.dashboard-page .dep-label{color:var(--muted)}.dashboard-page .dep-val{font-weight:500;color:var(--ink-2)}.dashboard-page .dep-result{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:600;padding:7px 10px;border-radius:var(--radius);margin-top:2px}.dashboard-page .dep-result.ok{background:var(--green-pale);color:var(--green)}.dashboard-page .dep-result.deficit{background:var(--red-pale);color:var(--red)}.dashboard-page .reserva-row{display:flex;align-items:center;padding:8px 0;gap:10px;border-bottom:1px solid var(--border-soft)}.dashboard-page .reserva-row:last-child{border-bottom:none;padding-bottom:0}.dashboard-page .reserva-info{flex:1;min-width:0}.dashboard-page .reserva-name{font-size:12.5px;color:var(--ink-2);font-weight:500;margin-bottom:4px}.dashboard-page .progress-bar{height:3px;background:var(--border-soft);border-radius:2px;overflow:hidden}.dashboard-page .progress-fill{height:100%;border-radius:2px}.dashboard-page .fill-high{background:var(--green)}.dashboard-page .fill-mid{background:var(--amber)}.dashboard-page .fill-low{background:var(--red)}.dashboard-page .reserva-nums{text-align:right;flex-shrink:0}.dashboard-page .reserva-disponible{font-family:var(--font-serif);font-size:14px}.dashboard-page .reserva-disponible.high{color:var(--green)}.dashboard-page .reserva-disponible.mid{color:var(--amber)}.dashboard-page .reserva-disponible.low{color:var(--red)}.dashboard-page .reserva-total{font-size:10px;color:var(--muted);margin-top:1px}.dashboard-page .comp-panel{display:flex;flex-direction:column;overflow:hidden;height:100%}.dashboard-page .comp-stats{display:flex;border-bottom:1px solid var(--border-soft);flex-shrink:0}.dashboard-page .comp-stat{flex:1;padding:9px 12px;border-right:1px solid var(--border-soft)}.dashboard-page .comp-stat:last-child{border-right:none}.dashboard-page .comp-stat-label{font-size:9px;font-weight:600;letter-spacing:.15em;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:3px}.dashboard-page .comp-stat-val{font-family:var(--font-serif);font-size:15px}.dashboard-page .comp-stat-val.green{color:var(--green)}.dashboard-page .comp-stat-val.amber{color:var(--amber)}.dashboard-page .comp-list{overflow-y:auto;flex:1}.dashboard-page .comp-item{display:flex;align-items:flex-start;gap:9px;padding:9px 12px;border-bottom:1px solid var(--border-soft)}.dashboard-page .comp-item:last-child{border-bottom:none}.dashboard-page .comp-check{width:16px;height:16px;flex-shrink:0;margin-top:2px;border:1.5px solid var(--border);border-radius:3px;display:flex;align-items:center;justify-content:center}.dashboard-page .comp-check.paid{background:var(--green);border-color:var(--green);color:#fff;font-size:9px}.dashboard-page .comp-body{flex:1;min-width:0}.dashboard-page .comp-name-row{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin-bottom:3px}.dashboard-page .comp-name{font-size:12.5px;color:var(--ink-2);font-weight:500}.dashboard-page .comp-monto{font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}.dashboard-page .comp-meta{font-size:10px;color:var(--muted)}.dashboard-page .badge{display:inline-flex;align-items:center;font-size:9.5px;font-weight:500;padding:2px 6px;border-radius:20px}.dashboard-page .badge-urgent{background:var(--red-pale);color:var(--red)}.dashboard-page .badge-soon{background:var(--amber-pale);color:var(--amber)}.dashboard-page .badge-ok{background:var(--green-pale);color:var(--green)}.dashboard-page .badge-paid{background:var(--surface-2);color:var(--muted)}.dashboard-page .paid-toggle{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;background:var(--surface-2);border-top:1px solid var(--border-soft);cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.dashboard-page .paid-toggle-lbl{font-size:10px;color:var(--muted)}.dashboard-page .paid-toggle-icon{font-size:9px;color:var(--muted-light)}.topbar{background:var(--surface);border-bottom:1px solid var(--border-mid);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 2rem;height:52px;flex-shrink:0}.topbar-left{display:flex;align-items:center;gap:2rem}.brand{font-family:var(--font-serif);font-size:17px;color:var(--ink);display:flex;align-items:center;gap:8px;white-space:nowrap}.brand-dot{width:8px;height:8px;background:var(--red);border-radius:50%;flex-shrink:0}.nav-links{display:flex;gap:0}.nav-link{font-size:11px;font-weight:500;letter-spacing:.08em;color:var(--muted);padding:6px 14px;background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;font-family:var(--font-sans)}.nav-link:hover:not(.nav-future){color:var(--ink)}.nav-link.active{color:var(--red);border-bottom-color:var(--red)}.nav-link.nav-future{opacity:.35;cursor:default}.topbar-center{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--ink-2);white-space:nowrap}.cycle-btn{background:none;border:1px solid var(--border-mid);border-radius:3px;width:22px;height:22px;cursor:pointer;color:var(--muted);font-size:12px;display:flex;align-items:center;justify-content:center;transition:color .1s,border-color .1s}.cycle-btn:hover{color:var(--ink);border-color:var(--ink-2)}.topbar-right{display:flex;justify-content:flex-end}.rates{display:flex;gap:1.5rem;align-items:center}.rate-item{text-align:right}.rate-label{display:block;font-size:9px;font-weight:600;letter-spacing:.15em;color:var(--muted);text-transform:uppercase}.rate-val{font-family:var(--font-serif);font-size:14px;color:var(--ink)}
