:root{--bg-0:#0a0e14;--bg-1:#0f141c;--bg-2:#161d28;--bg-3:#1f2937;--line:#243042;--line-2:#2f3d52;--ink-0:#e9eef5;--ink-1:#a8b3c4;--ink-2:#6b7689;--accent:#00d18f;--accent-2:#00b079;--warn:#f5b042;--bad:#ff5c5c;--info:#4ea3ff;--bucket-0-30:#4ea3ff;--bucket-30-50:#00d18f;--bucket-50-100:#f5b042;--bucket-completed:#a78bfa;--radius:10px;--radius-lg:14px;--font-mono:"SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-ui);background:var(--bg-0);color:var(--ink-0);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.5}.topbar{background:var(--bg-1);border-bottom:1px solid var(--line);z-index:10;justify-content:space-between;align-items:center;padding:14px 28px;display:flex;position:sticky;top:0}.brand{cursor:pointer;align-items:center;gap:12px;display:flex}.brand-mark{background:var(--accent);color:#000;border-radius:8px;place-items:center;width:32px;height:32px;font-size:16px;font-weight:800;display:grid}.brand-name{letter-spacing:-.01em;font-weight:700}.brand-tag{color:var(--ink-2);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.topbar-actions{align-items:center;gap:12px;display:flex}.upload-btn{background:var(--accent);color:#000;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.upload-btn:hover{background:var(--accent-2)}.page{max-width:1400px;margin:0 auto;padding:24px 28px 80px}.crumb{color:var(--ink-2);margin-bottom:12px;font-size:13px}.crumb a{color:var(--ink-1);cursor:pointer}.crumb a:hover{color:var(--accent)}h1{letter-spacing:-.02em;margin:0 0 4px;font-size:24px;font-weight:700}h2{color:var(--ink-1);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;font-size:16px;font-weight:600}.subtitle{color:var(--ink-1);margin-bottom:28px;font-size:14px}.buckets{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:28px;display:grid}.bucket{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);cursor:pointer;padding:18px 20px;transition:all .15s;position:relative;overflow:hidden}.bucket:hover{border-color:var(--line-2);transform:translateY(-1px)}.bucket.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.bucket-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:11px}.bucket-pill{border-radius:6px;margin-bottom:12px;padding:2px 8px;font-size:10px;font-weight:600;display:inline-block}.bucket-pill[data-bucket="0-30"]{color:var(--bucket-0-30);background:#4ea3ff26}.bucket-pill[data-bucket="30-50"]{color:var(--bucket-30-50);background:#00d18f26}.bucket-pill[data-bucket="50-100"]{color:var(--bucket-50-100);background:#f5b04226}.bucket-pill[data-bucket=completed]{color:var(--bucket-completed);background:#a78bfa26}.bucket-count{font-family:var(--font-mono);letter-spacing:-.02em;font-size:28px;font-weight:600}.bucket-funded{color:var(--ink-1);font-family:var(--font-mono);margin-top:4px;font-size:13px}.bucket-stripe{width:3px;position:absolute;top:0;bottom:0;left:0}.bucket-stripe[data-bucket="0-30"]{background:var(--bucket-0-30)}.bucket-stripe[data-bucket="30-50"]{background:var(--bucket-30-50)}.bucket-stripe[data-bucket="50-100"]{background:var(--bucket-50-100)}.bucket-stripe[data-bucket=completed]{background:var(--bucket-completed)}.toolbar{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);flex-wrap:wrap;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.toolbar select,.toolbar input{background:var(--bg-2);border:1px solid var(--line);color:var(--ink-0);font-size:13px;font-family:var(--font-ui);border-radius:6px;padding:6px 10px}.toolbar select:focus,.toolbar input:focus{border-color:var(--accent);outline:none}.toolbar label{color:var(--ink-1);align-items:center;gap:6px;font-size:12px;display:flex}.toolbar-spacer{flex:1}.toolbar-count{color:var(--ink-1);font-size:13px;font-family:var(--font-mono);align-self:center}.clear-btn{border:1px solid var(--line);color:var(--ink-1);cursor:pointer;background:0 0;border-radius:6px;padding:6px 12px;font-size:12px}.clear-btn:hover{border-color:var(--ink-1);color:var(--ink-0)}.table-wrap{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}table.merchants{border-collapse:collapse;width:100%}table.merchants th{text-align:left;background:var(--bg-2);color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:12px 14px;font-size:11px;font-weight:600}table.merchants td{border-bottom:1px solid var(--line);vertical-align:middle;padding:14px;font-size:13px}table.merchants tr:last-child td{border-bottom:none}table.merchants tr.row{cursor:pointer}table.merchants tr.row:hover td{background:var(--bg-2)}.amt,.num{font-family:var(--font-mono)}.biz{color:var(--ink-0);font-weight:600}.muted{color:var(--ink-2)}.bar{background:var(--bg-3);border-radius:999px;min-width:120px;height:6px;position:relative;overflow:hidden}.bar-fill{border-radius:999px;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.bar-fill[data-bucket="0-30"]{background:var(--bucket-0-30)}.bar-fill[data-bucket="30-50"]{background:var(--bucket-30-50)}.bar-fill[data-bucket="50-100"]{background:var(--bucket-50-100)}.bar-fill[data-bucket=completed]{background:var(--bucket-completed)}.bar-row{align-items:center;gap:10px;display:flex}.bar-pct{font-family:var(--font-mono);color:var(--ink-1);text-align:right;min-width:44px;font-size:12px}.badge{letter-spacing:.02em;border-radius:6px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-block}.badge[data-status=Performing]{color:var(--accent);background:#00d18f26}.badge[data-status=Slow\ Pay]{color:var(--warn);background:#f5b04226}.badge[data-status=Default]{color:var(--bad);background:#ff5c5c26}.badge[data-status=Paid\ Off]{color:var(--bucket-completed);background:#a78bfa26}.badge[data-status=Charged\ Off]{color:var(--bad);background:#ff5c5c26}.badge[data-status=Restructured]{color:var(--info);background:#4ea3ff26}.renewal{background:var(--accent);color:#000;text-transform:uppercase;letter-spacing:.06em;border-radius:6px;padding:4px 8px;font-size:10px;font-weight:700}.elig{white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.elig-label{font-size:11px}.elig[data-state=ready]{color:var(--accent);background:#00d18f26}.elig[data-state=refundable]{color:var(--bucket-completed);background:#a78bfa26}.elig[data-state=watch]{color:var(--warn);background:#f5b04226}.elig[data-state=too_early]{color:var(--info);background:#4ea3ff26}.elig[data-state=not_eligible]{color:var(--bad);background:#ff5c5c26}.profile-grid{grid-template-columns:1fr 360px;gap:18px;display:grid}.hero{background:linear-gradient(135deg, var(--bg-1), var(--bg-2));border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px;position:relative;overflow:hidden}.hero-bg{pointer-events:none;background:radial-gradient(circle,#00d18f1a 0%,#0000 70%);width:220px;height:220px;position:absolute;top:-40px;right:-40px}.hero-name{letter-spacing:-.02em;margin-bottom:4px;font-size:24px;font-weight:700}.hero-meta{color:var(--ink-1);flex-wrap:wrap;gap:18px;margin-bottom:20px;font-size:13px;display:flex}.hero-meta span{align-items:center;gap:6px;display:inline-flex}.hero-meta .k{color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.hero-current{background:var(--bg-0);border:1px solid var(--line);border-radius:var(--radius);padding:18px}.hero-current-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px}.hero-amount{font-family:var(--font-mono);letter-spacing:-.02em;font-size:32px;font-weight:600}.hero-amount-side{color:var(--ink-1);margin-top:4px;font-size:13px}.hero-bar-wrap{margin-top:18px}.hero-bar{background:var(--bg-3);border-radius:999px;height:10px;position:relative;overflow:hidden}.hero-bar-fill{border-radius:999px;position:absolute;top:0;bottom:0;left:0}.hero-bar-labels{color:var(--ink-2);font-size:11px;font-family:var(--font-mono);justify-content:space-between;margin-top:8px;display:flex}.aside-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:14px;padding:18px}.aside-label{color:var(--ink-2);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;font-size:10px}.bank-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.bank-dot.connected{background:var(--accent);box-shadow:0 0 8px var(--accent)}.bank-dot.disconnected{background:var(--ink-2)}.payment-select{background:var(--bg-2);border:1px solid var(--line);color:var(--ink-0);border-radius:6px;width:100%;padding:8px 10px;font-size:13px}.renewal-cta{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:#000;cursor:pointer;text-transform:uppercase;letter-spacing:.06em;border:none;border-radius:8px;width:100%;margin-top:8px;padding:12px;font-size:13px;font-weight:700;display:block}.renewal-cta:hover{filter:brightness(1.05)}.timeline{margin-top:28px}.deal-card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:110px 1fr 1fr 220px 80px;align-items:center;gap:16px;margin-bottom:10px;padding:16px 18px;display:grid}.deal-card.current{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.deal-date{font-family:var(--font-mono);color:var(--ink-1);font-size:12px}.deal-amt{font-family:var(--font-mono);font-size:16px;font-weight:600}.deal-side{color:var(--ink-2);font-size:11px}.tag{text-transform:uppercase;letter-spacing:.05em;background:var(--bg-3);color:var(--ink-1);border-radius:5px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-block}.tag.current-tag{background:var(--accent);color:#000}.modal-bg{z-index:50;background:#0009;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius-lg);width:540px;max-width:90vw;max-height:80vh;padding:24px;overflow:auto}.modal h3{margin:0 0 14px;font-size:18px}.modal pre{background:var(--bg-0);color:var(--ink-1);border:1px solid var(--line);border-radius:8px;max-height:320px;padding:12px;font-size:12px;overflow:auto}.modal .row{gap:10px;margin-top:14px;display:flex}.modal button{cursor:pointer;border:1px solid var(--line);background:var(--bg-2);color:var(--ink-0);border-radius:6px;padding:8px 14px;font-weight:600}.modal button.primary{background:var(--accent);color:#000;border-color:var(--accent)}.empty{text-align:center;color:var(--ink-2);padding:60px 20px}.empty h3{color:var(--ink-1);margin-bottom:6px}@media (width<=900px){.buckets{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}.deal-card{grid-template-columns:1fr;gap:8px}}
