: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-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;min-height:88px;padding:14px}.hero-tile.static{cursor:default}.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)}.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}.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}}
