:root,.theme-dark{--bg-app:#07090f;--bg-card:#0e121c;--bg-elev:#151a28;--bg-input:#0b0f19;--bg-hover:#181e2e;--line:#1a2032;--line-strong:#232a40;--tx:#e8ecf5;--tx-2:#98a3b8;--tx-3:#5f6a82;--tx-4:#3d4660;--brand:#4f8cff;--brand-2:#2563eb;--brand-tint:#4f8cff24;--brand-tint-2:#4f8cff47;--pos:#34c77b;--pos-tint:#34c77b21;--neg:#f5556a;--neg-tint:#f5556a21;--warn:#f5b556;--warn-tint:#f5b55624;--c1:#0ea5e9;--c2:#10b981;--c3:#f97316;--c4:#8b5cf6;--c5:#ef4444;--c6:#14b8a6;--c7:#facc15;--c8:#38bdf8}.theme-light{--bg-app:#f6f7fa;--bg-card:#fff;--bg-elev:#fff;--bg-input:#fff;--bg-hover:#f1f3f7;--line:#e6e8ef;--line-strong:#d6dae5;--tx:#0f172a;--tx-2:#4a5469;--tx-3:#7a8499;--tx-4:#b1b8c8;--brand:#2563eb;--brand-2:#1d4ed8;--brand-tint:#2563eb1a;--brand-tint-2:#2563eb38;--pos:#15803d;--pos-tint:#15803d1a;--neg:#be123c;--neg-tint:#be123c1a;--warn:#b45309;--warn-tint:#b453091a}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-app);color:var(--tx);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-feature-settings:"ss01", "cv11";font-family:Inter,system-ui,-apple-system,SF Pro Text,sans-serif;font-size:14px;line-height:1.45;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);background-clip:padding-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--tx-4);background-clip:padding-box}.num,.mono{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:JetBrains Mono,ui-monospace,SF Mono,Menlo,monospace}.shell{background:var(--bg-app);grid-template-columns:260px 1fr;height:100vh;display:grid}.shell.collapsed{grid-template-columns:72px 1fr}.sidebar{background:var(--bg-card);border-right:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.brand{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 18px 14px;display:flex}.brand-mark{background:linear-gradient(135deg, var(--brand) 0%, #6f5cff 100%);color:#fff;letter-spacing:-.02em;border-radius:8px;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:grid;box-shadow:inset 0 1px #ffffff26,0 4px 12px #4f8cff59}.brand-name{letter-spacing:-.01em;font-size:14px;font-weight:600}.brand-sub{color:var(--tx-3);margin-top:1px;font-size:11px}.brand-spacer{flex:1}.brand-toggle{width:26px;height:26px;color:var(--tx-3);border-radius:6px;place-items:center;display:grid}.brand-toggle:hover{background:var(--bg-hover);color:var(--tx)}.nav{flex-direction:column;flex:1;gap:1px;min-height:0;padding:10px 8px;display:flex;overflow-y:auto}.nav-section{text-transform:uppercase;letter-spacing:.08em;color:var(--tx-4);padding:12px 10px 6px;font-size:10px;font-weight:600}.nav-item{color:var(--tx-2);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:10px;padding:7px 10px;font-size:13px;font-weight:500;transition:background 80ms,color 80ms;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--tx)}.nav-item.active{background:var(--brand-tint);color:var(--brand);font-weight:600}.nav-item .nav-ico{flex-shrink:0;width:16px;height:16px}.nav-item .nav-count{background:var(--warn-tint);color:var(--warn);border-radius:999px;margin-left:auto;padding:2px 6px;font-size:10px;font-weight:600}.nav-item.active .nav-count{background:var(--brand-tint-2);color:var(--brand)}.qc-block{border-top:1px solid var(--line);padding:12px}.qc-label{text-transform:uppercase;letter-spacing:.08em;color:var(--tx-4);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:600;display:flex}.qc-kbd{background:var(--bg-input);border:1px solid var(--line);color:var(--tx-3);border-radius:4px;margin-left:auto;padding:1px 5px;font-family:JetBrains Mono,monospace;font-size:10px}.qc-input{resize:none;background:var(--bg-input);border:1px solid var(--line);width:100%;color:var(--tx);border-radius:9px;outline:none;min-height:64px;padding:9px 11px;font-family:inherit;font-size:13px;transition:border-color .1s,box-shadow .1s}.qc-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.qc-input::placeholder{color:var(--tx-4)}.qc-actions{gap:6px;margin-top:8px;display:flex}.qc-hint{color:var(--tx-4);margin-top:8px;font-size:11px;line-height:1.5}.qc-hint kbd{background:var(--bg-input);border:1px solid var(--line);color:var(--tx-3);border-radius:3px;padding:1px 4px;font-family:JetBrains Mono,monospace;font-size:10px}.qc-result{border:1px solid var(--line);background:var(--bg-input);border-radius:8px;margin-top:8px;padding:9px 10px;font-size:12px}.qc-result .qc-result-head{color:var(--pos);align-items:center;gap:6px;font-size:11px;font-weight:600;display:flex}.qc-result.warn .qc-result-head{color:var(--warn)}.qc-result .qc-result-body{color:var(--tx);margin-top:6px}.qc-result .qc-pill{background:var(--bg-card);border:1px solid var(--line);border-radius:4px;margin-right:4px;padding:1px 6px;font-size:11px;display:inline-block}.user-chip{border-top:1px solid var(--line);cursor:pointer;align-items:center;gap:10px;padding:12px;display:flex}.user-chip:hover{background:var(--bg-hover)}.avatar{color:#fff;background:linear-gradient(135deg,#f5b556,#f5556a);border-radius:8px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:grid}.user-chip-name{font-size:13px;font-weight:500}.user-chip-mail{color:var(--tx-3);font-size:11px}.main{flex-direction:column;min-width:0;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:var(--bg-app);flex-shrink:0;align-items:center;gap:14px;height:56px;padding:0 22px;display:flex}.topbar .crumb{color:var(--tx-3);font-size:12px}.topbar h1{letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.topbar .spacer{flex:1}.period-picker{border:1px solid var(--line);background:var(--bg-card);border-radius:8px;align-items:center;gap:0;height:32px;display:flex;overflow:hidden}.period-picker button{height:100%;color:var(--tx-2);place-items:center;padding:0 10px;font-size:12px;display:grid}.period-picker button:hover{background:var(--bg-hover);color:var(--tx)}.period-picker .current{color:var(--tx);border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 12px;font-weight:500}.icon-btn{border:1px solid var(--line);background:var(--bg-card);width:32px;height:32px;color:var(--tx-2);cursor:pointer;border-radius:8px;place-items:center;display:grid}.icon-btn:hover{background:var(--bg-hover);color:var(--tx)}.content{flex:1;min-height:0;padding:20px 22px 60px;overflow-y:auto}.btn{border:1px solid var(--line);background:var(--bg-card);color:var(--tx);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:500;transition:background 80ms,border-color 80ms;display:inline-flex}.btn:hover{background:var(--bg-hover);border-color:var(--line-strong)}.btn.primary{background:var(--brand);color:#fff;border-color:#0000;box-shadow:inset 0 1px #ffffff1f}.btn.primary:hover{background:var(--brand-2)}.btn.ghost{color:var(--tx-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-hover);color:var(--tx)}.btn.sm{padding:5px 9px;font-size:12px}.btn.danger{background:var(--neg-tint);color:var(--neg);border-color:#0000}.btn.danger:hover{background:#f5556a38}.btn .ico{width:14px;height:14px}.btn-link{font:inherit;color:var(--brand);text-underline-offset:2px;padding:0;text-decoration:underline}.btn-link:hover{color:var(--brand-2)}.card{background:var(--bg-card);border:1px solid var(--line);border-radius:14px}.card-head{align-items:center;gap:10px;padding:14px 16px 10px;display:flex}.card-head h3{text-transform:uppercase;letter-spacing:.08em;color:var(--tx-3);margin:0;font-size:12px;font-weight:600}.card-head .spacer{flex:1}.card-body{padding:6px 16px 16px}.card-foot{border-top:1px solid var(--line);color:var(--tx-3);padding:10px 16px;font-size:12px}.badge{letter-spacing:.02em;text-transform:uppercase;background:var(--bg-elev);color:var(--tx-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.badge.pos{background:var(--pos-tint);color:var(--pos);border-color:#0000}.badge.neg{background:var(--neg-tint);color:var(--neg);border-color:#0000}.badge.warn{background:var(--warn-tint);color:var(--warn);border-color:#0000}.badge.brand{background:var(--brand-tint);color:var(--brand);border-color:#0000}.badge.solid{padding:3px 8px}.dot{background:currentColor;border-radius:999px;width:6px;height:6px;display:inline-block}.delta{align-items:center;gap:3px;font-size:12px;font-weight:600;display:inline-flex}.delta.pos{color:var(--pos)}.delta.neg{color:var(--neg)}.delta.mute{color:var(--tx-3)}.progress{background:var(--bg-input);border-radius:99px;height:6px;position:relative;overflow:hidden}.progress>span{background:var(--brand);border-radius:99px;height:100%;transition:width .2s;display:block}.progress.warn>span{background:var(--warn)}.progress.neg>span{background:var(--neg)}.progress.pos>span{background:var(--pos)}.kpi-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.kpi-row.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi-row.compact{grid-template-columns:repeat(8,minmax(0,1fr))}@media (width<=1280px){.kpi-row.compact{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat{background:var(--bg-card);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:12px 14px;display:flex;position:relative;overflow:hidden}.stat .stat-label{color:var(--tx-3);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.stat .stat-value{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--tx);margin-top:2px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:22px;font-weight:600}.stat .stat-foot{color:var(--tx-3);align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.stat.hero .stat-value{font-size:30px}.stat.hero{padding:18px 18px 16px}.stat.compact .stat-value{font-size:16px}.stat.compact{gap:2px;padding:10px 12px}.stat.compact .stat-foot{margin-top:2px}.tx-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.tx-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--tx-3);border-bottom:1px solid var(--line);background:var(--bg-card);z-index:1;padding:8px 12px;font-size:10px;font-weight:600;position:sticky;top:0}.tx-table td{border-bottom:1px solid var(--line);color:var(--tx-2);vertical-align:middle;padding:9px 12px}.tx-table tr:hover td{background:var(--bg-hover)}.tx-table td.right{text-align:right}.tx-table td .tx-desc{color:var(--tx);font-weight:500}.tx-table td .tx-meta{color:var(--tx-3);font-size:11px}.tx-amt{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-weight:600}.tx-amt.pos{color:var(--pos)}.tx-amt.neg{color:var(--neg)}.scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#03060d8c;animation:.12s fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.drawer{background:var(--bg-card);border-left:1px solid var(--line);z-index:51;flex-direction:column;width:min(460px,100vw);animation:.16s slidein;display:flex;position:fixed;top:0;bottom:0;right:0}@keyframes slidein{0%{opacity:0;transform:translate(20px)}}.drawer-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:16px 18px;display:flex}.drawer-head h2{margin:0;font-size:15px;font-weight:600}.drawer-body{flex:1;padding:16px 18px;overflow-y:auto}.drawer-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.modal{background:var(--bg-card);border:1px solid var(--line);z-index:51;border-radius:14px;flex-direction:column;width:min(540px,92vw);max-height:90vh;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 20px 60px #00000080}.modal-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 18px;display:flex}.modal-head h2{margin:0;font-size:15px;font-weight:600}.modal-body{padding:16px 18px;overflow-y:auto}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--tx-3);text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:600}.input,.select,.textarea{background:var(--bg-input);border:1px solid var(--line);color:var(--tx);border-radius:8px;outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border-color .1s,box-shadow .1s}.input:focus,.select:focus,.textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.input.num{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.amount-input{border:1px solid var(--line);background:var(--bg-input);border-radius:8px;align-items:stretch;gap:0;display:flex;overflow:hidden}.amount-input input{font-variant-numeric:tabular-nums;width:100%;color:var(--tx);background:0 0;border:none;outline:none;padding:9px 12px;font-family:JetBrains Mono,monospace;font-size:15px;font-weight:600}.amount-input .ccy{border-left:1px solid var(--line);background:var(--bg-card);color:var(--tx-2);cursor:pointer;place-items:center;padding:0 12px;font-size:12px;font-weight:600;display:grid}.seg{background:var(--bg-input);border:1px solid var(--line);border-radius:8px;gap:2px;padding:3px;display:inline-flex}.seg button{color:var(--tx-2);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:500}.seg button.active{background:var(--bg-elev);color:var(--tx);box-shadow:0 1px #ffffff0a}.toolbar{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.search{background:var(--bg-card);border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;min-width:240px;height:32px;padding:0 10px;display:flex}.search input{color:var(--tx);background:0 0;border:none;outline:none;flex:1;font-size:13px}.chip{background:var(--bg-card);border:1px solid var(--line);height:32px;color:var(--tx-2);cursor:pointer;border-radius:8px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:inline-flex}.chip.active{background:var(--brand-tint);color:var(--brand);border-color:#0000}.chip:hover{background:var(--bg-hover)}.chart-card{padding:14px 16px 12px}.legend{color:var(--tx-2);flex-wrap:wrap;gap:12px;margin-top:8px;font-size:11px;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-swatch{border-radius:3px;width:10px;height:10px}.chart-tooltip{background:var(--bg-elev);border:1px solid var(--line-strong);color:var(--tx);pointer-events:none;z-index:5;border-radius:8px;min-width:140px;padding:8px 10px;font-size:12px;position:absolute;box-shadow:0 10px 24px #0006}.chart-tooltip .tt-label{color:var(--tx-3);margin-bottom:2px;font-size:11px}.chart-tooltip .tt-value{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-weight:600}.chart-tooltip .tt-sub{color:var(--tx-2);margin-top:2px;font-size:11px}.chart-tooltip .tt-rows{border-top:1px solid var(--line);gap:2px;margin-top:6px;padding-top:6px;font-size:11px;display:grid}.chart-tooltip .tt-rows>div{color:var(--tx-2);justify-content:space-between;gap:12px;display:flex}.chart-tooltip .tt-rows .tt-more{color:var(--tx-3)}.acct-card{background:var(--bg-card);border:1px solid var(--line);cursor:pointer;border-radius:14px;flex-direction:column;gap:10px;padding:16px;transition:border-color .1s,background .1s;display:flex}.acct-card:hover{border-color:var(--line-strong);background:var(--bg-hover)}.acct-head{align-items:center;gap:10px;display:flex}.acct-logo{color:#fff;border-radius:9px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.acct-name{font-size:14px;font-weight:600}.acct-inst{color:var(--tx-3);font-size:11px}.acct-balance{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-family:JetBrains Mono,monospace;font-size:22px;font-weight:600}.acct-balance-secondary{color:var(--tx-3);margin-top:2px;font-family:JetBrains Mono,monospace;font-size:12px}.acct-incoming{color:var(--warn);align-items:center;gap:4px;margin-top:4px;font-family:JetBrains Mono,monospace;font-size:12px;font-weight:600;display:inline-flex}.acct-incoming .ico{stroke-width:2.2px}.cc-visual{color:#fff;aspect-ratio:1.6;background:linear-gradient(135deg,#1e2a4a,#0a1224 50%,#182142);border-radius:14px;flex-direction:column;justify-content:space-between;padding:16px;display:flex;position:relative;overflow:hidden}.cc-visual.amex{background:linear-gradient(135deg,#2a5fa3,#0d2a52)}.cc-visual.revolut{background:linear-gradient(135deg,#1a1a1a,#2b2b2b)}.cc-visual.intesa{background:linear-gradient(135deg,#00723a,#003817)}.cc-visual:before{content:"";pointer-events:none;background:radial-gradient(circle at 100% 0,#ffffff2e,#0000 50%);position:absolute;inset:0}.cc-row{z-index:1;align-items:center;gap:8px;display:flex;position:relative}.cc-mark{letter-spacing:-.02em;font-size:13px;font-weight:700}.cc-spacer{flex:1}.cc-num{letter-spacing:.12em;z-index:1;font-family:JetBrains Mono,monospace;font-size:15px;position:relative}.cc-name{opacity:.7;text-transform:uppercase;letter-spacing:.08em;z-index:1;font-size:11px;position:relative}.sankey-wrap{position:relative}.sankey-wrap svg{width:100%;display:block}.sankey-empty{color:var(--tx-3);place-items:center;font-size:12px;display:grid}.sankey-col-title{fill:var(--tx-3);letter-spacing:.06em;font-size:10px;font-weight:600}.sankey-node{transition:opacity .12s}.sankey-node.clickable{cursor:pointer}.sankey-node.dim{opacity:.3}.sankey-label{font-variant-numeric:tabular-nums;paint-order:stroke;stroke:var(--bg-card);stroke-width:3px;stroke-linejoin:round;font-family:JetBrains Mono,monospace;font-size:11px}.sankey-label .name{fill:var(--tx)}.sankey-label .name.synthetic{fill:var(--tx-2);font-style:italic}.sankey-label .val{fill:var(--tx-3)}.sankey-link{fill:none;stroke-opacity:.35;pointer-events:none;transition:stroke-opacity .12s}.sankey-link.hl{stroke-opacity:.7}.sankey-link.dim{stroke-opacity:.07}.sankey-hit{fill:none;stroke:#0000;cursor:pointer}.link-btn{color:var(--brand);font-weight:500}.link-btn:hover{text-decoration:underline}.empty{text-align:center;color:var(--tx-3);flex-direction:column;align-items:center;gap:10px;padding:38px 20px;display:flex}.empty .empty-art{background:var(--bg-elev);border:1px solid var(--line);width:56px;height:56px;color:var(--tx-3);border-radius:14px;place-items:center;display:grid}.empty h4{color:var(--tx);margin:0;font-size:14px;font-weight:600}.empty p{max-width:360px;margin:0;font-size:12px}.skeleton{background:linear-gradient(90deg, var(--bg-elev), var(--bg-hover), var(--bg-elev));background-size:200% 100%;border-radius:6px;animation:1.4s linear infinite shimmer}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.mobile-tabbar{background:var(--bg-card);border-top:1px solid var(--line);z-index:30;height:64px;padding:6px 4px calc(env(safe-area-inset-bottom,0) + 4px);display:none;position:fixed;bottom:0;left:0;right:0}.mobile-tabbar nav{grid-template-columns:repeat(5,1fr);height:100%;display:grid}.mobile-tabbar .tab{color:var(--tx-3);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:500;display:flex}.mobile-tabbar .tab.active{color:var(--brand)}.mobile-tabbar .tab svg{width:20px;height:20px}.fab{background:var(--brand);color:#fff;z-index:31;border-radius:16px;justify-content:center;align-items:center;width:52px;height:52px;display:none;position:fixed;bottom:80px;right:18px;box-shadow:0 12px 28px #4f8cff73}.fab:hover{background:var(--brand-2)}.mobile-topbar{display:none}@media (width<=900px){.shell{grid-template-columns:1fr}.sidebar{display:none}.mobile-tabbar{display:block}.fab{display:flex}.topbar{padding:0 14px}.content{padding:14px 14px 92px}.kpi-row,.kpi-row.compact{grid-template-columns:repeat(2,1fr)}.drawer{width:100vw}.grid-2{grid-template-columns:1fr}}.row{align-items:center;gap:10px;display:flex}.row.gap-sm{gap:6px}.row.gap-lg{gap:14px}.col{flex-direction:column;gap:4px;display:flex}.split{gap:10px;display:flex}.grow{flex:1}.mute{color:var(--tx-3)}.tx-pos{color:var(--pos)}.tx-neg{color:var(--neg)}.tx-warn{color:var(--warn)}.muted-text{color:var(--tx-3);font-size:12px}.flex-wrap{flex-wrap:wrap}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:20px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.hidden{display:none}.dash-grid{grid-template-columns:2fr 1fr;gap:12px;margin-top:12px;display:grid}.dash-grid.full{grid-template-columns:1fr}@media (width<=900px){.dash-grid{grid-template-columns:1fr}}.split-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;display:grid}.acct-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.acct-section+.acct-section{margin-top:18px}.acct-section-head{align-items:center;gap:8px;margin:0 2px 8px;display:flex}.acct-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--tx-3);font-size:11px;font-weight:600}.acct-section-count{color:var(--tx-3);border:1px solid var(--line);border-radius:999px;padding:0 6px;font-size:10px;line-height:16px}.acct-section-rule{background:var(--line);flex:1;height:1px}.acct-section-total{color:var(--tx-3);font-size:11px}.cc-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;display:grid}.debt-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px;display:grid}.sub-row{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:10px 12px;display:flex}.sub-row:last-child{border-bottom:none}.sub-logo{color:#fff;border-radius:9px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.sub-row .grow{min-width:0}.sub-row .sub-name{font-size:13px;font-weight:600}.sub-row .sub-meta{color:var(--tx-3);font-size:11px}.cat-row{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 0;display:flex}.cat-row:last-child{border-bottom:none}.cat-pip{border-radius:999px;flex-shrink:0;width:8px;height:8px}.color-picker{flex-direction:column;gap:10px;display:flex}.color-grid{flex-wrap:wrap;gap:4px;display:flex}.color-col{flex-direction:column;gap:4px;display:flex}.color-swatch{cursor:pointer;width:24px;height:24px;color:var(--tx-3);border:2px solid #0000;border-radius:7px;place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 1px #0000001f}.color-swatch:hover{transform:scale(1.08)}.color-swatch.active{border-color:var(--tx)}.color-used{background:#0000008c;border-radius:999px;width:6px;height:6px;box-shadow:0 0 0 1px #ffffffb3}.color-custom{color:var(--tx-2);cursor:pointer;align-items:center;gap:8px;width:fit-content;font-size:12px;display:inline-flex;position:relative}.color-custom .color-swatch{border:1px dashed var(--line-strong)}.color-custom.active .color-swatch{border:2px solid var(--tx)}.color-custom input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.cat-edit{border-bottom:1px solid var(--line);flex-direction:column;gap:12px;padding:10px 0 14px 18px;display:flex}.cat-edit:last-child{border-bottom:none}.cat-pip-btn{cursor:pointer;border-radius:999px;flex-shrink:0;width:14px;height:14px;transition:box-shadow .1s;box-shadow:0 0 0 2px #0000}.cat-pip-btn:hover{box-shadow:0 0 0 2px var(--line-strong)}.cat-name{flex:1;min-width:0;font-size:13px}.cat-val{font-family:JetBrains Mono,monospace;font-size:13px;font-weight:600}.cat-pct{color:var(--tx-3);text-align:right;min-width:36px;font-size:11px}.cmdp{background:var(--bg-card);border:1px solid var(--line-strong);z-index:60;border-radius:14px;width:min(540px,92vw);position:fixed;top:80px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 24px 60px #0000008c}.cmdp .search{border:none;border-bottom:1px solid var(--line);border-radius:0;min-width:0;height:44px}.cmdp .search input{font-size:14px}.cmdp .results{max-height:360px;padding:6px;overflow-y:auto}.cmdp .res-item{color:var(--tx);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;display:flex}.cmdp .res-item:hover,.cmdp .res-item.sel{background:var(--bg-hover)}.cmdp .res-meta{color:var(--tx-3);margin-left:auto;font-size:11px}.date-input{align-items:stretch;width:100%;display:flex;position:relative}.date-input .input{font-variant-numeric:tabular-nums;padding-right:34px}.date-input.invalid .input{border-color:var(--neg)}.date-input .date-pick{width:26px;height:26px;color:var(--tx-3);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.date-input .date-pick:hover{color:var(--tx);background:var(--bg-elev)}.date-input input[type=date]{opacity:0;pointer-events:none;border:0;width:26px;height:1px;margin:0;padding:0;position:absolute;bottom:0;right:4px}.kpi-row.cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}@media (width<=1280px){.kpi-row.cols-6{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=900px){.kpi-row.cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}}.bulk-bar{background:var(--brand-tint);color:var(--brand);border-radius:9px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding:8px 10px;font-size:12px;font-weight:600;display:flex}.info-row{border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:7px 0;font-size:13px;display:flex}.info-row:last-child{border-bottom:none}.info-row>.k{color:var(--tx-3);flex-shrink:0;width:110px;font-size:12px}.info-row>.v{min-width:0;color:var(--tx);overflow-wrap:anywhere;flex:1}.pl-bars{align-items:stretch;gap:6px;height:190px;display:flex}.pl-col{cursor:default;flex-direction:column;flex:1;min-width:0;display:flex}.pl-col:hover .pl-pos>span,.pl-col:hover .pl-neg>span{opacity:.8}.pl-pos{border-bottom:1px solid var(--line-strong);align-items:flex-end;min-height:0;display:flex}.pl-neg{align-items:flex-start;min-height:0;display:flex}.pl-pos>span{background:var(--pos);border-radius:3px 3px 0 0;width:100%}.pl-neg>span{background:var(--neg);border-radius:0 0 3px 3px;width:100%}.pl-label{text-align:center;color:var(--tx-3);margin-top:4px;font-size:10px}.mini-meter{flex-direction:column;gap:3px;min-width:120px;display:flex}.mini-meter .lbl{color:var(--tx-3);justify-content:space-between;gap:6px;font-family:JetBrains Mono,monospace;font-size:10px;display:flex}.mini-meter .progress{height:4px}
