:root{--brand-primary:#125b3a;--brand-light:#7fa034;--positive:color-mix(in oklch, var(--brand-primary) 88%, black);--negative:#d73431;--navy:color-mix(in oklch, var(--brand-primary) 82%, black);--navy-light:#115244;--mint:color-mix(in oklch, var(--brand-primary) 55%, white);--shadow-panel:0 1px 2px 0 #0e30200d, 0 12px 28px -20px #0e30202e}@supports (color:lab(0% 0 0)){:root{--negative:lab(49.2966% 62.8465 43.054);--shadow-panel:0 1px 2px 0 lab(17.142% -16.5547 6.51678/.05), 0 12px 28px -20px lab(17.142% -16.5547 6.51678/.18)}}.text-navy{color:var(--navy,#092c1c)!important}.panel{background-color:var(--card,#fff);border:1px solid var(--border);border-radius:var(--radius-2xl,1rem);box-shadow:var(--shadow-panel)}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.label-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);font-size:.625rem}.btn{border-radius:var(--radius-lg,.625rem);white-space:nowrap;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:opacity .15s,box-shadow .15s,transform .1s;display:inline-flex}.btn:disabled{opacity:.5}.btn-primary{background-color:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 2px color-mix(in oklab, var(--primary) 25%, transparent)}.btn-primary:hover{opacity:.9;box-shadow:0 4px 14px -4px color-mix(in oklab, var(--primary) 45%, transparent)}.btn-primary:active{box-shadow:none;transform:translateY(1px)}.btn-primary-lg{border-radius:.625rem;padding:.625rem 1.25rem;font-size:.9375rem}.btn-accent{background-color:var(--accent);color:var(--accent-foreground)}.btn-accent:hover{opacity:.9}.btn-ghost{border:1px solid var(--border);background-color:var(--card);color:var(--foreground)}.btn-ghost:hover{background-color:var(--muted)}.btn-back{border:1px solid var(--border);background-color:var(--card);color:var(--foreground);border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:border-color .15s,background-color .15s;display:inline-flex}.btn-back:hover{border-color:var(--primary);background-color:color-mix(in oklab, var(--primary) 6%, var(--card))}.btn-cancel{color:var(--muted-foreground);background:0 0;border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:color .15s,border-color .15s;display:inline-flex}.btn-cancel:hover{color:var(--foreground);border-color:var(--border)}.input{border-radius:var(--radius-lg,.625rem);border:1px solid var(--input);background-color:var(--card);outline:none;width:100%;padding:.5rem .75rem;font-size:.875rem}.input:focus{box-shadow:0 0 0 2px var(--ring)}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);margin-bottom:.25rem;font-size:.625rem;display:block}.badge{text-transform:capitalize;border-radius:9999px;align-items:center;padding:.18rem .65rem;font-size:11px;font-weight:600;display:inline-flex;white-space:nowrap!important}.badge-ok{background-color:color-mix(in oklab, var(--positive) 12%, transparent);color:var(--positive)}.badge-warn{background-color:color-mix(in oklab, var(--warning) 20%, transparent);color:var(--warning)}.badge-danger{background-color:color-mix(in oklab, var(--destructive) 14%, transparent);color:var(--destructive)}.badge-bad{background-color:color-mix(in oklab, var(--destructive) 12%, transparent);color:var(--destructive)}.tbl{width:100%;font-size:.875rem}.tbl th{border-bottom:1px solid var(--border);text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);padding:.75rem 1rem;font-size:.625rem}.tbl td{border-bottom:1px solid var(--border);padding:.75rem 1rem}.tab{color:var(--muted-foreground);border-bottom:2px solid #0000;padding:.625rem 1rem;font-size:.875rem;font-weight:600}.tab-active{border-color:var(--primary);color:var(--primary)}.cap-band{text-align:center;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--border);padding:.5rem 1rem;font-size:.625rem;font-weight:700}.cap-band-principal{background-color:color-mix(in oklab, var(--primary) 7%, var(--card));color:var(--primary)}.cap-band-interest{background-color:color-mix(in oklab, var(--brand-light) 14%, var(--card));color:color-mix(in oklab, var(--brand-light) 58%, var(--primary))}.cap-band-settle{background-color:var(--muted);color:var(--secondary-foreground)}.cap-num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap}.cap-sticky{z-index:5;background-color:var(--card);position:sticky;left:0}.cap-input{text-align:right;border-radius:var(--radius-md,.375rem);border:1px solid var(--input);background-color:var(--card);width:100%;min-width:7.5rem;font-family:var(--font-mono);font-variant-numeric:tabular-nums;outline:none;padding:.375rem .5rem;font-size:.8125rem}.cap-input-wide{text-align:left;min-width:11rem}.cap-input-auto{min-width:9.25rem}.cap-input:focus{box-shadow:0 0 0 2px var(--ring)}.cap-input-bad{border-color:var(--destructive);background-color:color-mix(in oklab, var(--destructive) 5%, var(--card))}.cap-legend{color:var(--muted-foreground);align-items:center;gap:.375rem;font-size:.6875rem;display:inline-flex}.cap-swatch{border:1px solid var(--border);border-radius:3px;width:.75rem;height:.75rem}.seg{background-color:var(--muted);border:1px solid var(--border);border-radius:.75rem;gap:.25rem;padding:.25rem;display:inline-flex}.seg-btn{color:var(--muted-foreground);border-radius:.55rem;align-items:center;gap:.5rem;padding:.5rem .95rem;font-size:.8125rem;font-weight:600;transition:all .15s;display:inline-flex}.seg-btn:hover{color:var(--foreground)}.seg-btn-on{background-color:var(--card);color:var(--primary);box-shadow:0 1px 3px color-mix(in oklab, var(--foreground) 12%, transparent)}.sec-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.sec-icon{background-color:color-mix(in oklab, var(--primary) 10%, var(--card));width:2.25rem;height:2.25rem;color:var(--primary);border-radius:.6rem;place-items:center;display:grid}.sec-title{font-size:.95rem;font-weight:700}.sec-sub{color:var(--muted-foreground);font-size:.75rem}.kpi{border-left:3px solid var(--primary);padding:1rem 1.1rem}.kpi-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted-foreground);font-size:.625rem;font-weight:600}.kpi-value{font-variant-numeric:tabular-nums;margin-top:.25rem;font-size:1.15rem;font-weight:700}.kpi-ok{border-left-color:var(--positive)}.kpi-warn{border-left-color:var(--warning)}.kpi-bad{border-left-color:var(--destructive)}.kpi-muted{border-left-color:var(--brand-light)}.tbl-pay th{background-color:var(--muted);white-space:nowrap}.tbl-pay tbody tr:hover td{background-color:color-mix(in oklab, var(--primary) 3%, var(--card))}.row-edit td{background-color:color-mix(in oklab, var(--warning) 6%, var(--card))}.type-chip{align-items:center;gap:.3rem;font-size:.75rem;font-weight:600;display:inline-flex}.type-out{color:var(--destructive)}.type-in{color:var(--positive)}.icon-btn{width:2rem;height:2rem;color:var(--muted-foreground);border-radius:.5rem;place-items:center;display:inline-grid}.icon-btn:hover{background-color:var(--muted);color:var(--foreground)}.icon-btn-danger:hover{background-color:color-mix(in oklab, var(--destructive) 10%, transparent);color:var(--destructive)}.adv-head{cursor:pointer;text-align:left;border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;width:100%;margin:-.25rem -.5rem 1rem;padding:.25rem .5rem;display:flex}.adv-head:hover{background-color:var(--muted)}.adv-chip{border:1px solid color-mix(in oklab, var(--primary) 25%, transparent);background-color:color-mix(in oklab, var(--primary) 8%, transparent);color:var(--primary);white-space:nowrap;border-radius:9999px;align-items:center;padding:.15rem .6rem;font-size:.7rem;display:inline-flex}.adv-sub{color:var(--muted-foreground);font-size:.8rem}.link-chip{border:1px solid var(--border);color:var(--primary);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.link-chip:hover{background-color:color-mix(in oklab, var(--primary) 8%, var(--card))}.hint{background-color:color-mix(in oklab, var(--primary) 5%, var(--card));color:var(--secondary-foreground);border:1px solid color-mix(in oklab, var(--primary) 15%, var(--border));border-radius:.6rem;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;font-size:.75rem;display:flex}.save-bar{border:1px solid color-mix(in oklab, var(--primary) 20%, var(--border));background-color:color-mix(in oklab, var(--primary) 4%, var(--card));box-shadow:0 12px 30px -14px color-mix(in oklab, var(--primary) 35%, transparent);border-radius:.9rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 1rem;display:flex}.save-bar-dirty{border-color:color-mix(in oklab, var(--warning) 50%, var(--border));background-color:color-mix(in oklab, var(--warning) 5%, var(--card));box-shadow:0 12px 30px -14px color-mix(in oklab, var(--warning) 35%, transparent)}.save-status{align-items:center;gap:.55rem;font-size:.8125rem;font-weight:600;display:flex}.save-status small{color:var(--muted-foreground);font-weight:500}.save-dot{border-radius:9999px;flex:none;width:.5rem;height:.5rem}.save-dot-ok{background-color:var(--positive);box-shadow:0 0 0 3px color-mix(in oklab, var(--positive) 18%, transparent)}.save-dot-warn{background-color:var(--warning);box-shadow:0 0 0 3px color-mix(in oklab, var(--warning) 20%, transparent)}.save-btn{white-space:nowrap;background-color:var(--primary);color:var(--primary-foreground);box-shadow:0 1px 2px color-mix(in oklab, var(--primary) 30%, transparent), 0 12px 24px -12px color-mix(in oklab, var(--primary) 65%, transparent);border-radius:.7rem;justify-content:center;align-items:center;gap:.5rem;padding:.6875rem 1.4rem;font-size:.9375rem;font-weight:700;transition:box-shadow .15s,transform .12s,opacity .15s;display:inline-flex}.save-btn:hover{box-shadow:0 2px 4px color-mix(in oklab, var(--primary) 30%, transparent), 0 18px 30px -12px color-mix(in oklab, var(--primary) 70%, transparent);transform:translateY(-1px)}.save-btn:active{box-shadow:0 1px 2px color-mix(in oklab, var(--primary) 30%, transparent);transform:translateY(1px)}.save-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;transform:none}.save-btn-done{background-color:var(--positive)}.save-btn-done:disabled{opacity:1;cursor:default}.discard-btn{border:1px solid var(--border);background-color:var(--card);color:var(--muted-foreground);border-radius:.7rem;align-items:center;gap:.45rem;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.discard-btn:hover{border-color:color-mix(in oklab, var(--destructive) 40%, var(--border));color:var(--destructive);background-color:color-mix(in oklab, var(--destructive) 6%, var(--card))}.drop-zone{border:1.5px dashed color-mix(in oklab, var(--primary) 30%, var(--border));background-color:color-mix(in oklab, var(--primary) 3%, var(--card));cursor:pointer;border-radius:.9rem;flex-wrap:wrap;align-items:center;gap:1rem;padding:1.1rem 1.25rem;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.drop-zone:hover,.drop-zone-on{border-color:var(--primary);background-color:color-mix(in oklab, var(--primary) 7%, var(--card));box-shadow:0 6px 18px -10px color-mix(in oklab, var(--primary) 45%, transparent)}.drop-zone-icon{background-color:color-mix(in oklab, var(--primary) 12%, var(--card));width:2.75rem;height:2.75rem;color:var(--primary);border-radius:.7rem;flex:none;justify-content:center;align-items:center;display:flex}.drop-zone-text{flex:12rem;min-width:0}.drop-zone-title{color:var(--foreground);font-size:.875rem;font-weight:600}.drop-zone-sub{color:var(--muted-foreground);margin-top:.125rem;font-size:.75rem}.drop-zone-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.file-chip{background-color:color-mix(in oklab, var(--primary) 10%, var(--card));color:var(--primary);border:1px solid color-mix(in oklab, var(--primary) 25%, var(--border));border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.75rem;font-weight:600;display:inline-flex}.form-foot{border-top:1px solid var(--border);background-color:color-mix(in oklab, var(--primary) 3%, var(--card));flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.6rem;padding:1rem 1.5rem;display:flex}.cancel-btn{white-space:nowrap;border:1px solid var(--border);background-color:var(--card);color:var(--muted-foreground);border-radius:.7rem;align-items:center;gap:.45rem;padding:.6875rem 1.15rem;font-size:.875rem;font-weight:600;transition:border-color .15s,color .15s,background-color .15s;display:inline-flex}.cancel-btn:hover{border-color:var(--primary);color:var(--primary);background-color:color-mix(in oklab, var(--primary) 5%, var(--card))}.inv-btn{white-space:nowrap;background:var(--primary);height:1.85rem;color:var(--primary-foreground);box-shadow:0 1px 2px color-mix(in oklab, var(--primary) 30%, transparent);border-radius:.5rem;align-items:center;gap:.35rem;padding:0 .7rem;font-size:.75rem;font-weight:600;transition:all .15s;display:inline-flex}.inv-btn:hover{filter:brightness(1.08);box-shadow:0 4px 10px -3px color-mix(in oklab, var(--primary) 45%, transparent)}.inv-btn:active{transform:translateY(1px)}.inv-btn-ghost{background:var(--card);color:var(--foreground);border:1px solid var(--border);box-shadow:none}.inv-btn-ghost:hover,.inv-btn-on{border-color:var(--primary);color:var(--primary);filter:none;box-shadow:none}.inv-menu{z-index:50;background:var(--card);border:1px solid var(--border);min-width:17rem;box-shadow:0 12px 30px -10px color-mix(in oklab, var(--foreground) 30%, transparent);border-radius:.7rem;padding:.35rem;position:fixed}.inv-menu-head{letter-spacing:.06em;text-transform:uppercase;color:var(--muted-foreground);padding:.4rem .6rem .5rem;font-size:.65rem;font-weight:700}.inv-menu-item{text-align:left;border-radius:.5rem;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;width:100%;padding:.5rem .6rem;font-size:.8rem;display:grid}.inv-menu-item:hover{background:var(--muted)}.inv-menu-all{border-top:1px solid var(--border);width:100%;color:var(--primary);border-radius:0 0 .5rem .5rem;justify-content:center;align-items:center;gap:.4rem;margin-top:.3rem;padding:.5rem;font-size:.75rem;font-weight:600;display:flex}.inv-menu-all:hover{background:var(--muted)}
