:root{--bg: #0b0f14;--panel: #121821;--panel-2: #0f141b;--border: #1f2733;--text: #e6edf3;--muted: #7c8798;--in: #2dd4a7;--out: #f46a6a;--accent: #5b8def;--accent-2: #7c5cff;--shadow: 0 1px 3px rgba(0,0,0,.4), 0 8px 24px rgba(0,0,0,.25);--radius: 16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(1100px 600px at 75% -8%,rgba(124,92,255,.16),transparent 60%),radial-gradient(900px 500px at 8% 0%,rgba(91,141,239,.14),transparent 55%),var(--bg);background-attachment:fixed;color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.muted{color:var(--muted)}.center{display:grid;place-items:center;height:100vh}.app{max-width:1100px;margin:0 auto;padding:20px}.topbar{display:flex;justify-content:space-between;align-items:center;padding:8px 0 20px}.brand{font-size:20px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(90deg,var(--text),#b9c6ff 60%,var(--accent-2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.actions{display:flex;gap:8px}button{font:inherit;cursor:pointer;border-radius:9px}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;border:none;padding:9px 16px;font-weight:600;box-shadow:0 4px 14px #5b8def59;transition:transform .12s,box-shadow .12s,filter .12s}.btn-primary:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.07);box-shadow:0 6px 20px #7c5cff73}.btn-primary:disabled{opacity:.55;cursor:default}.btn-ghost{background:transparent;color:var(--text);border:1px solid var(--border);padding:8px 14px}.btn-ghost.sm{padding:5px 10px;font-size:13px}.btn-ghost:hover{border-color:var(--accent)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.card{background:linear-gradient(180deg,#ffffff08,#fff0),var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);transition:transform .14s,border-color .14s}.card:hover{transform:translateY(-2px);border-color:#2b3647}.card-click{cursor:pointer}.card-click:hover{border-color:var(--accent)}.card-active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.card-chevron{float:right;color:var(--muted);font-size:11px}.card-label{font-size:12px;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em}.card-value{font-size:27px;font-weight:800;letter-spacing:-.02em}.card-in .card-value{color:var(--in)}.card-out .card-value{color:var(--out)}.flags-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.flag-group h4{margin:0 0 8px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.flag{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--border);align-items:flex-start}.flag:first-of-type{border-top:none}.flag-icon{font-size:15px;line-height:1.5;flex-shrink:0}.flag-title{font-weight:650;font-size:14px}.flag-detail{font-size:13px;margin-top:1px}.flag-alert .flag-title{color:#ff9d9d}.flag-good .flag-title{color:#8fe6c8}.chart-tip{background:#0d1219f5;border:1px solid var(--border);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow);font-size:13px}.chart-tip-title{font-weight:700;margin-bottom:3px}.chart-tip-hint{font-size:11px;margin-top:4px}.detail{border:1px solid #2b3647;box-shadow:0 0 0 1px #5b8def26,var(--shadow);margin:14px 0 18px;max-height:460px;overflow-y:auto}.detail-total{font-size:13px;color:var(--muted);margin-bottom:8px}.recharts-bar-rectangle{transition:opacity .15s}.flow-list{display:flex;flex-direction:column}.flow{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-top:1px solid var(--border);gap:12px}.flow:first-child{border-top:none}.flow-name{font-weight:500}.flow-amts{display:flex;gap:14px;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.flow-amts .in{color:var(--in)}.flow-amts .out{color:var(--out)}.topspend{background:var(--panel);border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:10px;padding:12px 16px;margin-bottom:18px;font-size:14px}.topspend strong{color:var(--text)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}.panel{background:linear-gradient(180deg,#ffffff06,#fff0),var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.panel h3{margin:0 0 12px;font-size:15px;letter-spacing:-.01em}.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.panel-head h3{margin:0}.ask{margin-bottom:18px}.ask-row{display:flex;gap:8px}.ask-row input,.login-card input{flex:1;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:10px 12px;font:inherit}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);padding:6px 11px;border-radius:20px;font-size:13px}.chip:hover{color:var(--text);border-color:var(--accent)}.answer{margin-top:14px;background:var(--panel-2);border:1px solid var(--border);border-radius:10px;padding:14px;white-space:pre-wrap}.insight{border-top:1px solid var(--border);padding:12px 0}.insight:first-of-type{border-top:none}.insight-period{font-size:12px;color:var(--muted);text-transform:capitalize;margin-bottom:6px}.insight-body{white-space:pre-wrap;font-size:14px}.tx-list,.acct-list{display:flex;flex-direction:column}.tx,.acct{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-top:1px solid var(--border)}.tx:first-child,.acct:first-child{border-top:none}.tx-main{display:flex;flex-direction:column;gap:2px}.tx-name{font-weight:500}.tx-meta,.acct-meta{font-size:12px;color:var(--muted)}.pending{color:var(--muted);font-style:italic;font-size:12px}.tx-amt{font-variant-numeric:tabular-nums;font-weight:600}.tx-amt.in{color:var(--in)}.tx-amt.out{color:var(--text)}.acct-name{font-weight:500}.acct-bal{font-weight:600;font-variant-numeric:tabular-nums}.acct-bal.owe{color:var(--out)}.acct-group{margin-top:14px}.acct-group:first-of-type{margin-top:4px}.acct-group-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding-bottom:4px;border-bottom:1px solid var(--border)}.acct-group-head .pos{color:var(--in);font-weight:700}.acct-group-head .owe{color:var(--out);font-weight:700}.acct-networth{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:14px;border-top:2px solid var(--border);font-size:17px;font-weight:700}.acct-networth span:last-child{font-variant-numeric:tabular-nums}.empty{text-align:center;padding:80px 20px}.empty-emoji{font-size:48px}.empty h2{margin:16px 0 6px}.empty .btn-primary{margin-top:18px}.login-wrap{display:grid;place-items:center;height:100vh}.login-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:32px;width:320px;text-align:center}.login-logo{font-size:40px}.login-card h1{margin:8px 0 4px;font-size:20px}.login-card input{width:100%;margin:16px 0 8px}.login-card button{width:100%;background:var(--accent);color:#fff;border:none;padding:11px;font-weight:600}.error{color:var(--out);font-size:13px;margin:6px 0}@media(max-width:760px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2,.flags-grid{grid-template-columns:1fr}}
