:root{--ink:#0f172a;--ink-soft:#1e293b;--gold:#d4af37;--gold-soft:#d4af3724;--canvas:#eef2f6;--surface:#fff;--surface-2:#f8fafc;--hairline:#e2e8f0;--muted:#64748b;--text:var(--ink);--primary:var(--ink);--primary-dark:#020617;--credit:#0f766e;--debt:#b91c1c;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--nav-h:64px;--radius:16px;--radius-sm:12px;--shadow-soft:0 10px 30px #0f172a0f;--font-ui:"Sora", system-ui, sans-serif;--font-display:"Fraunces", Georgia, serif;color:var(--text);background:var(--canvas);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #d4af371f, transparent 55%), radial-gradient(900px 500px at 100% 0%, #0f172a0f, transparent 50%), var(--canvas);-webkit-tap-highlight-color:transparent;background-attachment:fixed}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}h1,h2,h3,.brand-mark{font-family:var(--font-display);letter-spacing:-.02em}.app-shell{min-height:100dvh;padding-bottom:calc(var(--nav-h) + 18px + var(--safe-bottom));flex-direction:column;display:flex}.topbar{z-index:10;padding:calc(10px + var(--safe-top)) 18px 12px;background:color-mix(in srgb, var(--surface) 86%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid color-mix(in srgb, var(--gold) 28%, var(--hairline));position:sticky;top:0}.topbar-brand{align-items:baseline;gap:8px;display:flex}.topbar-brand .mark{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.35rem;font-weight:700}.topbar-brand .gold-dot{background:var(--gold);width:7px;height:7px;box-shadow:0 0 0 3px var(--gold-soft);border-radius:50%}.topbar .sub{color:var(--muted);margin:4px 0 0;font-size:.72rem;font-weight:500}.topbar .sub strong{color:var(--ink-soft);font-weight:600}.content{flex:1;padding:16px 16px 8px;animation:.45s both rise-in}.nav{left:12px;right:12px;bottom:calc(10px + var(--safe-bottom));height:var(--nav-h);background:color-mix(in srgb, var(--surface) 92%, transparent);border:1px solid var(--hairline);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;border-radius:22px;grid-template-columns:repeat(5,1fr);gap:2px;padding:6px;display:grid;position:fixed}.nav a{color:var(--muted);border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.62rem;font-weight:600;transition:color .2s,background .2s;display:flex;position:relative}.nav a.active{color:var(--ink);background:var(--gold-soft)}.nav a.active:after{content:"";background:var(--gold);border-radius:50%;width:4px;height:4px;position:absolute;top:6px}.nav svg{width:22px;height:22px}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);margin-bottom:10px;padding:14px;box-shadow:0 1px #0f172a05}.card.interactive,button.card{transition:transform .15s,border-color .15s}button.card:active{transform:scale(.985)}.panel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);margin-bottom:14px;overflow:hidden}.panel-title{font-size:.95rem;font-weight:700;font-family:var(--font-display);margin:0;padding:12px 14px 0}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px;display:grid}.stat label{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem;font-weight:600;display:block}.stat strong{font-size:1.55rem;font-weight:700;font-family:var(--font-display);letter-spacing:-.03em;margin-top:6px;display:block}.hero-strip{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.hero-strip.compact .hero-tile{min-height:76px;padding:12px 14px}.hero-tile{border:1px solid var(--hairline);border-radius:var(--radius);background:linear-gradient(160deg, color-mix(in srgb, var(--gold) 10%, white), var(--surface));text-align:left;color:inherit;cursor:pointer;flex-direction:column;gap:2px;min-height:88px;padding:14px;display:flex}.hero-tile.static{cursor:default}.hero-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.72rem;font-weight:600}.hero-sub{margin-top:2px;font-size:.75rem}.amount-md{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.35rem;font-weight:700;line-height:1.2}.section-row{justify-content:space-between;align-items:center;gap:8px;margin:14px 0 8px;display:flex}.text-link{min-height:44px;font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 0;font-size:.82rem;font-weight:700}.list-footer-link{border:none;border-top:1px solid var(--hairline);background:var(--surface-2);width:100%;min-height:44px;color:var(--ink);font:inherit;cursor:pointer;border-radius:0 0 var(--radius) var(--radius);justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:flex}.panel-hint{color:var(--muted);margin:0;padding:10px 14px 0;font-size:.78rem}.customers-toolbar{z-index:5;background:color-mix(in srgb, var(--canvas) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);margin:0 -4px 12px;padding:4px 4px 8px;position:sticky;top:0}.search-row{align-items:center;gap:8px;display:flex}.search-input{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);min-height:48px;font:inherit;flex:1;padding:12px 14px}.search-input:focus{outline:2px solid color-mix(in srgb, var(--gold) 55%, transparent);border-color:var(--gold)}.icon-btn{border-radius:var(--radius-sm);background:var(--ink);color:#fff;cursor:pointer;border:none;flex-shrink:0;width:48px;height:48px;font-size:1.5rem;font-weight:600;line-height:1}.chip-row{-webkit-overflow-scrolling:touch;gap:8px;margin-top:10px;display:flex;overflow-x:auto}.chip{border:1px solid var(--hairline);background:var(--surface);min-height:36px;font:inherit;color:var(--ink);cursor:pointer;border-radius:999px;flex-shrink:0;padding:6px 14px;font-size:.82rem;font-weight:650}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.chip.on.debt{background:color-mix(in srgb, var(--debt) 14%, white);border-color:var(--debt);color:var(--debt)}.chip.on.credit{background:color-mix(in srgb, var(--credit) 14%, white);border-color:var(--credit);color:var(--credit)}.result-count{color:var(--muted);margin:8px 2px 0;font-size:.78rem}.balance-assets{margin-bottom:12px}.balance-kpi{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.kpi-tile{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:2px;min-height:76px;padding:10px 12px;display:flex}.kpi-tile.net{background:linear-gradient(155deg, color-mix(in srgb, var(--gold) 10%, white), var(--surface));grid-column:1/-1}.kpi-tile.debt{border-color:color-mix(in srgb, var(--debt) 28%, var(--hairline))}.kpi-tile.credit{border-color:color-mix(in srgb, var(--credit) 28%, var(--hairline))}.kpi-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.kpi-value{font-family:var(--font-display);letter-spacing:-.02em;font-size:1.15rem;font-weight:700;line-height:1.2}.kpi-meta{color:var(--muted);font-size:.72rem}.balance-seg{margin-bottom:10px}.list-row-main{text-align:left;flex:1;min-width:0}.list-amount{text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0;max-width:42%;font-weight:700}.customer-aside{text-align:right;flex-shrink:0;justify-content:flex-end;align-items:center;display:flex}.asset-count{color:var(--muted);font-size:.88rem;font-weight:700}.polarity-badge{margin-top:6px;font-size:.9rem;font-weight:700}.page-kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:0 0 4px;font-size:.72rem;font-weight:600}.page-title{margin:0 0 12px;font-size:1.55rem;font-weight:700}.section-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px;font-size:.78rem;font-weight:700}.btn{border-radius:var(--radius-sm);background:var(--ink);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;min-height:48px;font-weight:700;transition:background .15s,transform .12s;display:inline-flex}.btn:hover{background:var(--ink-soft)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn.ghost{color:var(--ink);border:1px solid var(--hairline);background:0 0}.btn.ghost.danger{color:var(--debt)}.btn.gold{background:linear-gradient(135deg, #e8c96a, var(--gold));color:var(--ink)}.field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.field label{color:var(--muted);font-size:.78rem;font-weight:600}.field input,.field textarea{border:1px solid var(--hairline);border-radius:var(--radius-sm);background:var(--surface);min-height:48px;padding:13px 14px}.field input:focus,.field textarea:focus{outline:2px solid color-mix(in srgb, var(--gold) 55%, transparent);border-color:var(--gold)}.pin-field input{letter-spacing:.35em;text-align:center;font-size:1.75rem;font-weight:700;font-family:var(--font-ui)}.seg{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.seg button{border-radius:var(--radius-sm);border:1px solid var(--hairline);background:var(--surface);cursor:pointer;min-height:44px;font-weight:700}.seg button.on-credit{background:color-mix(in srgb, var(--credit) 12%, white);border-color:var(--credit);color:var(--credit)}.seg button.on-debt{background:color-mix(in srgb, var(--debt) 10%, white);border-color:var(--debt);color:var(--debt)}.seg button.on{background:color-mix(in srgb, var(--gold) 18%, white);border-color:var(--ink);color:var(--ink)}.row{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:12px 0;display:flex}.row:last-child{border-bottom:none}.list-row{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;border:none;border-bottom:1px solid var(--hairline);background:0 0;justify-content:space-between;align-items:center;gap:10px;min-height:56px;padding:14px;display:flex}.list-row:last-child{border-bottom:none}.list-row:active{background:var(--surface-2)}.muted{color:var(--muted);font-size:.85rem}.credit{color:var(--credit);font-weight:700}.debt{color:var(--debt);font-weight:700}.amount-lg{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.85rem;font-weight:700}.login-wrap{min-height:100dvh;padding:28px 22px calc(28px + var(--safe-bottom));flex-direction:column;justify-content:center;max-width:420px;margin:0 auto;animation:.55s both rise-in;display:flex}.brand{text-align:center;margin-bottom:28px}.brand .eyebrow{background:var(--gold-soft);color:var(--ink);letter-spacing:.14em;text-transform:uppercase;border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:.68rem;font-weight:700;display:inline-block}.brand h1{color:var(--ink);letter-spacing:-.03em;margin:0;font-size:clamp(2.4rem,9vw,3rem);font-weight:700}.brand .gold-rule{background:var(--gold);border-radius:2px;width:48px;height:3px;margin:12px auto}.brand p{color:var(--muted);margin:0;font-size:.9rem}.login-card{background:var(--surface);border:1px solid var(--hairline);box-shadow:var(--shadow-soft);border-radius:20px;padding:18px}.alert{color:#991b1b;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;margin-bottom:12px;padding:12px;font-size:.88rem}.install-tip{background:linear-gradient(135deg, var(--gold-soft), color-mix(in srgb, var(--ink) 4%, white));border:1px solid color-mix(in srgb, var(--gold) 35%, var(--hairline));color:var(--ink-soft);border-radius:var(--radius-sm);margin-bottom:12px;padding:12px;font-size:.85rem}.empty-state{text-align:center;color:var(--muted);padding:28px 16px}.empty-state strong{color:var(--ink);font-family:var(--font-display);margin-bottom:6px;font-size:1.15rem;display:block}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40;background:#0f172a7a;align-items:flex-end;animation:.2s fade-in;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);width:100%;padding:10px 16px calc(16px + var(--safe-bottom));border-radius:22px 22px 0 0;max-height:90dvh;animation:.28s sheet-up;overflow:auto}.sheet-handle{background:var(--hairline);border-radius:4px;width:40px;height:4px;margin:4px auto 12px}.sheet h3{margin:0 0 12px;font-size:1.2rem}.amount-input{text-align:center;font-size:2rem;font-weight:700;font-family:var(--font-display);letter-spacing:-.02em}.section-head{background:var(--ink);color:#fff;border-radius:var(--radius) var(--radius) 0 0;padding:12px 14px;font-size:.88rem;font-weight:700}.section-head.debt-head{background:var(--debt)}.section-head.credit-head{background:var(--credit)}.list-card{padding:0;overflow:hidden}.list-card .row,.list-card .list-row{padding-left:14px;padding-right:14px}.detail-hero{border-radius:var(--radius);border:1px solid var(--hairline);background:linear-gradient(155deg, color-mix(in srgb, var(--gold) 12%, white), var(--surface));margin-bottom:12px;padding:18px 16px}.detail-hero.compact{padding:12px 14px}.detail-hero-row{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.detail-hero-main{flex:1;min-width:0}.detail-asset-badge{text-align:right;font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;flex-shrink:0;font-size:1.45rem;font-weight:700;line-height:1.05}.detail-asset-badge span{font-family:var(--font-ui);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-top:2px;font-size:.68rem;font-weight:650;display:block}.detail-hero.is-credit{border-color:color-mix(in srgb, var(--credit) 35%, var(--hairline));background:linear-gradient(155deg, color-mix(in srgb, var(--credit) 10%, white), var(--surface))}.detail-hero.is-debt{border-color:color-mix(in srgb, var(--debt) 35%, var(--hairline));background:linear-gradient(155deg, color-mix(in srgb, var(--debt) 10%, white), var(--surface))}.detail-hero-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.detail-name{font-size:1.15rem;font-weight:700;font-family:var(--font-display);line-height:1.25}.amount-tap{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;margin-top:12px;padding:0;display:block}.exact-amount{word-break:break-all;margin-top:6px;font-size:.82rem}.ghost-actions{align-items:center;gap:16px;min-height:36px;margin-top:6px;display:flex}.detail-hero.compact .btn{min-height:44px}.term-pill{letter-spacing:.02em;border-radius:999px;flex-shrink:0;align-items:center;padding:5px 11px;font-size:.78rem;font-weight:800;display:inline-flex}.term-pill.sm{padding:3px 9px;font-size:.72rem}.term-pill.credit{background:color-mix(in srgb, var(--credit) 16%, white);color:var(--credit);border:1px solid color-mix(in srgb, var(--credit) 40%, transparent)}.term-pill.debt{background:color-mix(in srgb, var(--debt) 14%, white);color:var(--debt);border:1px solid color-mix(in srgb, var(--debt) 40%, transparent)}.asset-row.is-credit{background:color-mix(in srgb, var(--credit) 4%, transparent)}.asset-row.is-debt{background:color-mix(in srgb, var(--debt) 4%, transparent)}.detail-page{padding-bottom:8px}.back-link{color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-bottom:12px;padding:0;font-size:.85rem;font-weight:600;display:inline-flex}.action-stack{gap:8px;margin-top:10px;display:grid}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(24px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
