:root{--bg:#0d1117;--panel:#11171f;--panel-2:#161d27;--panel-3:#1a2230;--border:#232b38;--grid:#1b2230;--hairline:#2a3344;--text:#e6edf3;--muted:#7d8898;--dim:#4e5766;--accent:#58d3a3;--pos:#3fb950;--neg:#f85149;--info:#79c0ff;--warn:#d29922;--loan:var(--neg);--sub:var(--info);--util:var(--warn);--tax:var(--accent);--pos-fill:color-mix(in srgb, var(--pos) 8%, transparent);--neg-fill:color-mix(in srgb, var(--neg) 6%, transparent);--chart-5:#7d9eaa;--chart-6:#a0b4c0;--chart-7:#8b9ba8;--ui:var(--ui-font), "Inter", system-ui, -apple-system, sans-serif;--mono:var(--mono-font), "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--sp-1:var(--space-1);--sp-2:var(--space-2);--sp-3:var(--space-3);--sp-4:var(--space-4);--sp-5:var(--space-5);--sp-6:var(--space-6);--text-2xs:10px;--text-xs:11px;--text-sm:12px;--text-md:13px;--text-lg:15px;--rail-w:60px;--summary-w:300px;--topbar-h:40px;--e-out:cubic-bezier(.2,.7,.2,1);--e-out-cubic:cubic-bezier(.33,1,.68,1);--d-fast:.12s;--d-med:.24s;--d-slow:.4s}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html,body{background:var(--bg);color:var(--text);font-family:var(--ui-font), "Inter", system-ui, -apple-system, sans-serif;-webkit-font-smoothing:antialiased;height:100%;font-size:13px;line-height:1.4}body{overflow:hidden}button{font:inherit;color:inherit;background:0 0;border:none}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono-font), "JetBrains Mono", ui-monospace, monospace;font-variant-numeric:tabular-nums}.num{font-family:var(--mono-font), "JetBrains Mono", ui-monospace, monospace;font-variant-numeric:tabular-nums;text-align:right}.money{white-space:nowrap;font-variant-numeric:tabular-nums}.pos{color:var(--pos)}.neg{color:var(--neg)}.info{color:var(--info)}.warn{color:var(--warn)}.acc{color:var(--accent)}.mut{color:var(--muted)}.dim{color:var(--dim)}.net-pos{color:var(--pos)}.net-neg{color:var(--neg)}:focus{outline:none}:focus-visible{outline:1px solid var(--accent);outline-offset:2px}.shell{grid-template-columns:var(--rail-w) 1fr var(--summary-w);grid-template-rows:var(--topbar-h) 1fr;height:100vh;display:grid;position:relative}.resize-handle{top:var(--topbar-h);z-index:10;cursor:col-resize;width:6px;transition:background-color var(--d-fast) var(--e-out);touch-action:none;background:0 0;margin-left:-3px;position:absolute;bottom:0}.resize-handle:after{content:"";width:1px;transition:background-color var(--d-fast) var(--e-out);background:0 0;margin-left:-.5px;position:absolute;top:0;bottom:0;left:50%}.resize-handle:hover{background:#58d3a314}.resize-handle:hover:after,.resize-handle:active:after{background:var(--accent)}.resize-handle:active{background:#58d3a329}.rail-handle{left:var(--rail-w)}.summary-handle{right:var(--summary-w);margin-left:0;margin-right:-3px}.topbar{height:var(--topbar-h);background:var(--panel);border-bottom:1px solid var(--border);font-family:var(--mono-font), "JetBrains Mono", monospace;grid-column:1/-1;align-items:center;gap:16px;padding:0 16px;font-size:12px;display:flex;position:relative}.topbar .brand{color:var(--accent);letter-spacing:.04em;font-weight:700}.topbar .path{color:var(--muted)}.topbar .path b{color:var(--text);font-weight:500}.topbar .sep{color:var(--dim);margin:0 2px}.topbar .right{color:var(--muted);align-items:center;gap:14px;margin-left:auto;display:flex}.topbar .pill{border:1px solid var(--border);background:color-mix(in srgb, var(--tone-color,var(--pos)) 8%, transparent);border-radius:3px;align-items:center;gap:8px;padding:3px 10px;font-size:11px;display:inline-flex}.topbar .pill[data-tone=ok]{--tone-color:var(--pos)}.topbar .pill[data-tone=warn]{--tone-color:var(--warn)}.topbar .pill[data-tone=danger]{--tone-color:var(--neg)}.topbar .pill[data-tone=unknown]{--tone-color:var(--muted)}.topbar .pill[data-tone=unknown] .pulse{opacity:.5;animation:none}.topbar .pulse{background:var(--tone-color,var(--pos));will-change:transform;width:6px;height:6px;animation:heartbeat 2s var(--e-out-cubic) infinite;border-radius:50%}.topbar .pill[data-tone=danger] .pulse{animation:heartbeat-strong 2s var(--e-out-cubic) infinite}@keyframes heartbeat{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}@keyframes heartbeat-strong{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.topbar .kbd{font-family:var(--mono-font), monospace;border:1px solid var(--border);color:var(--muted);border-radius:3px;padding:1px 6px;font-size:11px}.topbar .clock{color:var(--dim)}.topbar .clock b{color:var(--muted);font-weight:500}.nav-rail{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;align-items:stretch;padding:6px 0;display:flex;position:relative;container:rail/inline-size}.nav-rail .indicator{background:var(--accent);width:2px;height:56px;box-shadow:0 0 8px color-mix(in srgb, var(--accent) 45%, transparent);transition:top var(--d-med) var(--e-out-cubic), opacity var(--d-med) var(--e-out), background-color var(--d-med) var(--e-out);pointer-events:none;position:absolute;left:0}.nav-spacer{flex:auto}.nav-settings{border-top:1px solid var(--border)}.nav-settings .icon svg{transition:color var(--d-fast) var(--e-out), filter var(--d-fast) var(--e-out)}.nav-settings:hover:not(.active) .icon svg{color:var(--accent);filter:drop-shadow(0 0 6px color-mix(in srgb, var(--accent) 45%, transparent))}.nav-settings.active{color:var(--accent);background:var(--panel-2)}.nav-settings.active .icon svg{color:var(--accent);filter:drop-shadow(0 0 5px color-mix(in srgb, var(--accent) 35%, transparent))}.nav-item{font-family:var(--mono-font), monospace;letter-spacing:.05em;color:var(--muted);cursor:pointer;text-transform:uppercase;height:56px;transition:color var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:10px 4px;font-size:9px;display:flex;position:relative}.nav-item .label-full{display:none}@container rail (min-width:130px){.nav-item{text-transform:none;letter-spacing:0;flex-direction:row;justify-content:flex-start;gap:12px;padding:10px 16px;font-size:13px}.nav-item .code{display:none}.nav-item .label-full{color:inherit;font-family:var(--mono-font), "JetBrains Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:inline;overflow:hidden}.nav-item .tip{display:none}.nav-item .icon{font-size:18px}}.nav-item .icon{transition:color var(--d-fast) var(--e-out), text-shadow var(--d-fast) var(--e-out), transform var(--d-fast) var(--e-out);font-size:16px;line-height:1}.nav-item:hover:not(.active){color:var(--text);background:var(--panel-2)}.nav-item:hover:not(.active) .icon{color:var(--accent);text-shadow:0 0 8px color-mix(in srgb, var(--accent) 55%, transparent)}.nav-item.active{color:var(--accent);background:var(--panel-2)}.nav-item.active .icon{text-shadow:0 0 6px color-mix(in srgb, var(--accent) 35%, transparent)}.nav-item .tip{background:var(--panel-3);border:1px solid var(--hairline);font-family:var(--mono-font), monospace;color:var(--text);white-space:nowrap;letter-spacing:.04em;text-transform:none;opacity:0;pointer-events:none;transition:opacity var(--d-fast) var(--e-out), transform var(--d-fast) var(--e-out);z-index:50;border-radius:2px;padding:4px 9px;font-size:11px;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%)translate(-4px)}.nav-item .tip:before{content:"";border-top:4px solid #0000;border-bottom:4px solid #0000;border-right:5px solid var(--hairline);width:0;height:0;position:absolute;top:50%;left:-5px;transform:translateY(-50%)}.nav-item:hover .tip{opacity:1;transform:translateY(-50%)translate(0)}.page-content{max-width:720px;padding:16px 20px}.feed{background:var(--bg);scroll-behavior:smooth;flex-direction:column;gap:1px;padding:0;display:flex;overflow-y:auto}.feed::-webkit-scrollbar{width:8px}.feed::-webkit-scrollbar-track{background:var(--bg)}.feed::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg)}.feed::-webkit-scrollbar-thumb:hover{background:var(--hairline)}.fade-in{opacity:0;animation:fadeIn var(--d-slow) var(--e-out-cubic) forwards;transform:translateY(6px)}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}.section{background:var(--panel)}.section-hd{border-bottom:1px solid var(--grid);background:var(--panel);z-index:2;justify-content:space-between;align-items:center;padding:11px 20px;display:flex;position:sticky;top:0}.section-hd .ttl{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:11px}.section-hd .ttl b{color:var(--text);font-weight:500}.section-hd .meta{font-family:var(--mono-font), monospace;color:var(--dim);font-size:11px}.section-body{padding:16px 20px}.section-body.flush{padding:0}.status-strip{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:20px;padding:12px 20px;display:flex}.status-strip .lbl{font-family:var(--mono-font), monospace;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.seg{border:1px solid var(--border);background:var(--bg);border-radius:3px;padding:2px;display:inline-flex;position:relative}.seg:before{content:"";width:var(--seg-w,0px);height:calc(100% - 4px);transform:translateX(var(--seg-x,0px));background:var(--seg-color,var(--accent));transition:transform var(--d-med) var(--e-out-cubic), width var(--d-med) var(--e-out-cubic), background-color var(--d-med) var(--e-out);pointer-events:none;z-index:0;border-radius:2px;position:absolute;top:2px;left:2px}.seg button{cursor:pointer;z-index:1;font-family:var(--mono-font), monospace;color:var(--muted);transition:color var(--d-med) var(--e-out);letter-spacing:.03em;padding:5px 14px;font-size:11px;position:relative}.seg button.on{color:var(--bg);font-weight:700}.seg button:not(.on):hover{color:var(--text)}.status-strip .clock-right{font-family:var(--mono-font), monospace;color:var(--dim);align-items:center;gap:16px;margin-left:auto;font-size:11px;display:flex}.status-strip .clock-right b{color:var(--muted);font-weight:500}.cal-picker{position:relative}.cal-trigger{font-family:var(--mono-font), monospace;color:var(--muted);border:1px solid var(--border);background:var(--bg);cursor:pointer;transition:color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);border-radius:3px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;display:inline-flex}.cal-trigger:hover{color:var(--text);border-color:var(--muted)}.cal-trigger.active{color:var(--accent);border-color:var(--accent)}.cal-icon{flex-shrink:0;align-items:center;display:flex}.cal-label{letter-spacing:.03em}.cal-popover{background:var(--panel-2);border:1px solid var(--border);z-index:130;border-radius:4px;flex-direction:column;gap:8px;min-width:200px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);left:0}.cal-this-row,.cal-mode-row{border-bottom:1px solid var(--border);gap:2px;padding-bottom:8px;display:flex}.cal-mode-btn{font-family:var(--mono-font), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:color var(--d-fast), background var(--d-fast);background:0 0;border:0;border-radius:2px;flex:1;padding:4px 6px;font-size:10px}.cal-mode-btn:hover{color:var(--text);background:var(--panel-3)}.cal-mode-btn.on{color:var(--accent);background:var(--panel-3)}.cal-year-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.cal-step{font-family:var(--mono-font), monospace;color:var(--muted);cursor:pointer;transition:color var(--d-fast);background:0 0;border:0;padding:2px 6px;font-size:16px;line-height:1}.cal-step:hover:not(:disabled){color:var(--text)}.cal-step:disabled{color:var(--dim);cursor:default}.cal-year-val{font-family:var(--mono-font), monospace;color:var(--text);font-size:12px;font-weight:600}.cal-month-grid,.cal-quarter-grid{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.cal-cell{font-family:var(--mono-font), monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer;text-align:center;transition:color var(--d-fast), background var(--d-fast), border-color var(--d-fast);background:0 0;border:1px solid #0000;border-radius:2px;padding:6px 4px;font-size:10px}.cal-cell:hover:not(:disabled){color:var(--text);background:var(--panel-3)}.cal-cell.on{color:var(--accent);border-color:var(--accent);background:var(--panel-3)}.cal-cell:disabled{color:var(--dim);cursor:not-allowed;opacity:.4}.cal-year-list{flex-direction:column;gap:2px;display:flex}.cal-year-item{font-family:var(--mono-font), monospace;color:var(--muted);cursor:pointer;text-align:left;transition:color var(--d-fast), background var(--d-fast), border-color var(--d-fast);background:0 0;border:1px solid #0000;border-radius:2px;padding:6px 8px;font-size:12px}.cal-year-item:hover{color:var(--text);background:var(--panel-3)}.cal-year-item.on{color:var(--accent);border-color:var(--accent);background:var(--panel-3)}.pf-grid{background:var(--border);grid-template-columns:1fr 1fr 1fr;gap:1px;display:grid}.pf-cell{background:var(--panel-2);padding:14px 16px}.pf-cell .code{font-family:var(--mono-font), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:700}.pf-cell .code.inc{color:var(--pos)}.pf-cell .code.exp{color:var(--info)}.pf-cell .code.net{color:var(--accent)}.pf-cell .val{font-family:var(--mono-font), monospace;letter-spacing:.01em;font-size:20px;font-weight:700}.pf-cell .of{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:11px}.pf-bar{background:var(--panel);height:3px;margin-top:10px;position:relative;overflow:hidden}.pf-bar .fill{transform-origin:0;animation:barGrow .9s var(--e-out-cubic) forwards;animation-delay:var(--bar-delay,.3s);position:absolute;top:0;bottom:0;left:0;transform:scaleX(0)}@keyframes barGrow{to{transform:scaleX(1)}}.qa-row{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.qa-btn{cursor:pointer;background:var(--panel-2);font-family:var(--mono-font), monospace;color:var(--text);transition:background-color var(--d-fast) var(--e-out), color var(--d-fast) var(--e-out);text-align:left;justify-content:space-between;align-items:center;padding:13px 16px;font-size:12px;display:flex;position:relative;overflow:hidden}.qa-btn .qa-inner{align-items:center;gap:7px;display:flex}.qa-btn .qa-inner svg{transition:filter var(--d-fast) var(--e-out);flex-shrink:0}.qa-btn[data-qa=inc] .qa-inner svg{color:var(--pos)}.qa-btn[data-qa=exp] .qa-inner svg{color:var(--info)}.qa-btn[data-qa=txn] .qa-inner svg{color:var(--muted)}.qa-btn:hover{background:var(--bg)}.qa-btn[data-qa=inc]:hover .qa-inner svg{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--pos) 70%, transparent))}.qa-btn[data-qa=exp]:hover .qa-inner svg{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--info) 70%, transparent))}.qa-btn[data-qa=txn]:hover .qa-inner svg{filter:drop-shadow(0 0 4px color-mix(in srgb, var(--muted) 50%, transparent))}.qa-btn .k{color:var(--dim);font-size:11px}.ob-grid{background:var(--border);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;display:grid}.ob-card{background:var(--panel-2);cursor:pointer;transition:transform var(--d-fast) var(--e-out), box-shadow var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out);flex-direction:column;gap:10px;padding:15px 17px;display:flex;box-shadow:inset 0 0 0 1px #0000}.ob-card:hover{background:var(--panel-3);transform:translateY(-1px)}.ob-card.loan:hover{box-shadow:inset 0 0 0 1px #f8514980}.ob-card.sub:hover{box-shadow:inset 0 0 0 1px #79c0ff80}.ob-card.util:hover{box-shadow:inset 0 0 0 1px #d2992280}.ob-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.ob-top .code-tag{letter-spacing:.08em;font-size:10px;font-weight:700;font-family:var(--mono-font), monospace;border-radius:2px;padding:2px 6px}.code-tag.loan{color:var(--neg);background:#f851491f}.code-tag.sub{color:var(--info);background:#79c0ff1f}.code-tag.util,.code-tag.warn{color:var(--warn);background:#d299221f}.ob-top .date{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px}.ob-name{color:var(--text);font-size:12px;font-weight:500}.ob-sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:10px}.ob-bot{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.ob-amt{font-family:var(--mono-font), monospace;font-size:15px;font-weight:700}.ob-card.loan .ob-amt{color:var(--neg)}.ob-card.sub .ob-amt{color:var(--info)}.ob-card.util .ob-amt,.ob-card.warn .ob-amt{color:var(--warn)}.cats-grid{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.cat-row{background:var(--panel-2);transition:background-color var(--d-fast) var(--e-out);grid-template-rows:auto auto;grid-template-columns:24px 1fr auto;align-items:baseline;gap:3px 10px;padding:10px 14px;display:grid}.cat-row:hover{background:var(--panel-3)}.cat-rank{font-family:var(--mono-font), monospace;color:var(--dim);text-align:center;grid-row:1/3;align-self:center;font-size:12px;font-weight:700}.cat-info{grid-area:1/2}.cat-info .name{font-size:13px;font-weight:500}.cat-info .sub{font-family:var(--mono-font), monospace;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;overflow:hidden}.cat-amt{font-family:var(--mono-font), monospace;text-align:right;white-space:nowrap;grid-area:1/3;font-size:14px;font-weight:700}.cat-delta{font-family:var(--mono-font), monospace;text-align:right;grid-area:2/2/auto/4;justify-self:end;font-size:11px;font-weight:700}.signal{background:var(--panel-2);border-left:2px solid var(--accent);padding:10px 12px}.signal.warn{border-left-color:var(--warn)}.signal.info{border-left-color:var(--info)}.signal .hd{letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:3px;font-size:10px;font-weight:600}.signal.warn .hd{color:var(--warn)}.signal.info .hd{color:var(--info)}.signal .body{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px}.signal .body b{color:var(--text);font-weight:500}.info-callout{align-items:flex-start;gap:var(--sp-2,8px);padding:var(--sp-3,12px) var(--sp-4,16px);background:var(--panel-2);border-left:2px solid var(--callout-accent,var(--info));display:flex}.info-callout[data-compact]{padding:var(--sp-2,8px) var(--sp-3,12px)}.info-callout__icon{color:var(--callout-accent,var(--info));flex-shrink:0;font-size:11px;line-height:1.4}.info-callout__body{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px;line-height:1.4}.info-callout__body b{color:var(--text);font-weight:500}.info-callout--info{--callout-accent:var(--info)}.info-callout--tax{--callout-accent:var(--tax)}.info-callout--warn{--callout-accent:var(--warn)}.info-callout--neutral{--callout-accent:var(--dim)}.summary-rail{background:var(--panel);border-left:1px solid var(--border);flex-direction:column;padding:0;display:flex;overflow-y:auto}.summary-rail::-webkit-scrollbar{width:8px}.summary-rail::-webkit-scrollbar-track{background:var(--panel)}.summary-rail::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--panel)}.sum-block{border-bottom:1px solid var(--border);padding:16px;position:relative}.sum-block:last-child{border-bottom:0}.sum-block .lbl{font-family:var(--mono-font), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:10px;display:flex}.sum-block .lbl .tiny{color:var(--dim);font-size:9px}.safe-block{transition:border-color .15s var(--e-out);border:1px solid #0000;border-radius:2px;margin:4px 8px;padding:12px 8px}.safe-block[data-tone=ok]{--tone-color:var(--pos)}.safe-block[data-tone=warn]{--tone-color:var(--warn)}.safe-block[data-tone=danger]{--tone-color:var(--neg)}.safe-block[data-tone=unknown]{--tone-color:var(--muted)}.safe-block.flash{border-color:var(--accent)}.safe-block .lbl{margin-bottom:6px}.safe-block .row{align-items:baseline;gap:6px;display:flex}.safe-block .big{font-family:var(--mono-font), monospace;color:var(--tone-color,var(--accent));font-size:34px;font-weight:700;line-height:1}.safe-block .unit{font-family:var(--mono-font), monospace;color:var(--tone-color,var(--accent));font-size:13px;font-weight:500}.safe-block .sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:6px;font-size:11px}.avail .big2{font-family:var(--mono-font), monospace;color:var(--text);font-size:22px;font-weight:700}.avail .sub{font-family:var(--mono-font), monospace;color:var(--muted);justify-content:space-between;margin-top:5px;font-size:11px;display:flex}.bal-item{border-bottom:1px solid var(--grid);grid-template-columns:48px 1fr;align-items:center;gap:10px;padding:7px 0;display:grid}.bal-item:last-child{border-bottom:0}.bal-sym{font-family:var(--mono-font), monospace;color:var(--accent);background:var(--panel-2);text-align:center;letter-spacing:.06em;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:700}.bal-val{font-family:var(--mono-font), monospace;text-align:right;color:var(--text);font-size:14px;font-weight:600}.status-row{border-bottom:1px solid var(--grid);grid-template-columns:10px 70px 1fr;align-items:center;gap:8px;padding:6px 0;display:grid}.status-row:last-child{border-bottom:0}.status-row .dot{border-radius:50%;justify-self:center;width:6px;height:6px}.status-row .k{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px}.status-row .v{font-family:var(--mono-font), monospace;text-align:right;font-size:11px;font-weight:600}.status-row .dot.live{will-change:transform;animation:heartbeat 2s var(--e-out-cubic) infinite}.sum-quick{gap:6px;display:flex}.sum-quick button{cursor:pointer;text-align:center;font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);transition:color var(--d-fast) var(--e-out), background var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);flex:1;padding:8px;font-size:11px}.sum-quick button:hover{color:var(--accent);border-color:var(--accent);background:var(--panel-3)}[data-countup]{opacity:0;animation:countFade .2s var(--e-out) 40ms forwards}@keyframes countFade{to{opacity:1}}.toolbar{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 20px;display:flex}.search{background:var(--bg);border:1px solid var(--border);min-width:240px;font-family:var(--mono-font), monospace;border-radius:3px;flex:1;align-items:center;gap:8px;padding:6px 10px;display:flex}.search input{all:unset;color:var(--text);font-family:var(--mono-font), monospace;flex:1;font-size:12px}.search input::placeholder{color:var(--dim)}.search .k{font-family:var(--mono-font), monospace;color:var(--dim);border:1px solid var(--border);border-radius:2px;padding:1px 5px;font-size:10px}.chip{background:var(--panel-2);border:1px solid var(--border);font-family:var(--mono-font), monospace;color:var(--muted);cursor:pointer;transition:color var(--d-fast), border-color var(--d-fast), background var(--d-fast);border-radius:3px;align-items:center;gap:6px;padding:5px 10px;font-size:11px;display:inline-flex}.chip:hover{color:var(--text);border-color:var(--hairline)}.chip.active{color:var(--accent);border-color:var(--accent);background:#58d3a30f}.chip .dot{border-radius:50%;width:6px;height:6px}.chip.inc .dot{background:var(--pos)}.chip.exp .dot{background:var(--info)}.chip.xfr .dot{background:var(--warn)}.btn{cursor:pointer;font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);transition:color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out), background var(--d-fast) var(--e-out);border-radius:3px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;display:inline-flex}.btn:hover{color:var(--accent);border-color:var(--accent);background:var(--panel-3)}.btn.primary{color:var(--accent);border-color:#58d3a359}.btn.urgent{color:var(--warn);border-color:#d2992266}.btn svg{width:12px;height:12px}.txn-day{background:var(--panel)}.txn-day-hd{background:var(--panel-2);border-bottom:1px solid var(--border);font-family:var(--mono-font), monospace;justify-content:space-between;align-items:center;padding:10px 20px;font-size:11px;display:flex}.txn-day-hd .date{color:var(--text);letter-spacing:.04em;font-weight:600}.txn-day-hd .weekday{color:var(--dim);margin-left:6px;font-weight:400}.txn-day-hd .tot{color:var(--muted);gap:14px;display:flex}.txn-day-hd .tot b{font-weight:600}.txn-row{border-bottom:1px solid var(--grid);cursor:pointer;transition:background var(--d-fast) var(--e-out);grid-template-columns:28px 70px 1fr 110px 130px minmax(110px,max-content);align-items:center;gap:12px;padding:11px 20px;display:grid}.txn-row:hover{background:var(--panel-2)}.txn-row:last-child{border-bottom:0}.txn-ico{width:22px;height:22px;font-family:var(--mono-font), monospace;border-radius:3px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.txn-ico.inc{color:var(--pos);background:#3fb9501a}.txn-ico.exp{color:var(--info);background:#79c0ff1a}.txn-ico.xfr{color:var(--warn);background:#d299221a}.txn-ico.loan{color:var(--neg);background:#f851491a}.txn-time{font-family:var(--mono-font), monospace;color:var(--dim);font-size:11px}.txn-main{min-width:0}.txn-main .n{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.txn-main .m{font-family:var(--mono-font), monospace;color:var(--muted);align-items:center;gap:8px;margin-top:2px;font-size:10px;display:flex}.txn-cat{font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-2);border-radius:2px;padding:2px 6px;font-size:10px;display:inline-block}.txn-acc{font-family:var(--mono-font), monospace;color:var(--muted);text-align:right;font-size:11px}.txn-status{font-family:var(--mono-font), monospace;text-transform:uppercase;letter-spacing:.08em;border-radius:2px;justify-self:end;padding:2px 6px;font-size:10px;font-weight:600}.st-planned{color:var(--muted);background:#7d889814}.st-partial{color:var(--warn);background:#d299221a}.st-done{color:var(--pos);background:#3fb95014}.st-missed{color:var(--neg);background:#f851491a}.st-cancel{color:var(--dim);background:0 0;text-decoration:line-through}.txn-amt{font-family:var(--mono-font), monospace;text-align:right;white-space:nowrap;font-size:14px;font-weight:700}.txn-amt.strike{color:var(--dim);text-decoration:line-through}.txn-amt-wrap{flex-direction:column;align-items:flex-end;display:flex}.txn-fx-equiv{font-family:var(--mono-font), monospace;color:var(--muted);white-space:nowrap;text-align:right;font-size:10px}.txn-flag{vertical-align:middle;width:14px;height:14px;margin-left:5px;display:inline-flex}.txn-flag svg{width:14px;height:14px;color:var(--warn)}.txn-comp-badge{font-family:var(--mono-font), monospace;color:var(--accent);cursor:pointer;-webkit-user-select:none;user-select:none;margin-left:var(--space-2);transition:background var(--motion-fast);background:#58d3a31a;border:1px solid #58d3a340;border-radius:3px;justify-content:center;align-items:center;padding:2px 5px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.txn-comp-badge:hover{background:#58d3a333}.txn-row-wrap{flex-direction:column;display:flex}.txn-row-actions-wrap{background:var(--panel-2);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 20px;display:flex}.txn-more{justify-content:center;padding:16px 20px;display:flex}.selectable-row{align-items:stretch;display:flex;position:relative}.selectable-row[data-selected=true]{box-shadow:inset 2px 0 0 var(--accent)}.sel-checkbox{cursor:pointer;flex-shrink:0;align-items:center;padding:0 6px 0 8px;display:flex}.sel-checkbox input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:13px;height:13px}.selectable-row .txn-row-wrap{flex:auto;min-width:0}.selection-action-bar{z-index:10;background:var(--surface);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 16px;display:flex;position:sticky;bottom:0}.selection-action-bar button[disabled]{opacity:.4;cursor:not-allowed}.selection-count{margin-right:4px;font-size:11px}.selection-msg{padding:2px 6px;font-size:11px}.period-grid{background:var(--border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.period-cell{background:var(--panel-2);padding:14px 16px}.period-cell .code{font-family:var(--mono-font), monospace;letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:700}.period-cell .code.inflow{color:var(--pos)}.period-cell .code.outflow{color:var(--info)}.period-cell .code.xfr{color:var(--warn)}.period-cell .code.net{color:var(--accent)}.period-cell .val{font-family:var(--mono-font), monospace;font-size:20px;font-weight:700}.period-cell .val.inflow{color:var(--pos)}.period-cell .val.outflow{color:var(--info)}.period-cell .val.xfr{color:var(--warn)}.period-cell .val.net{color:var(--text)}.period-cell .val.net-pos{color:var(--pos)}.period-cell .val.net-neg{color:var(--neg)}.period-cell .meta{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:11px}.debt-grid{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.debt-card{background:var(--panel-2);cursor:pointer;transition:transform var(--d-fast) var(--e-out), box-shadow var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out);flex-direction:column;gap:10px;padding:15px 17px;display:flex;box-shadow:inset 0 0 0 1px #0000}.debt-card:hover{background:var(--panel-3);box-shadow:inset 0 0 0 1px var(--hairline);transform:translateY(-1px)}.debt-card.add{background:var(--panel);outline:1px dashed var(--border);outline-offset:-1px;color:var(--muted);text-align:center;box-shadow:none;justify-content:center;align-items:center}.debt-card.add:hover{background:var(--panel-2);box-shadow:none}.debt-card.add .plus{color:var(--accent);margin-bottom:4px;font-size:16px}.debt-top{justify-content:space-between;align-items:flex-start;display:flex}.debt-dir{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:700}.debt-dir.out{color:var(--pos);background:#3fb9501a}.debt-dir.in{color:var(--neg);background:#f851491a}.debt-name{font-size:13px;font-weight:500}.debt-sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:10px}.debt-amt{font-family:var(--mono-font), monospace;font-size:16px;font-weight:700}.debt-amt.pos{color:var(--pos)}.debt-amt.neg{color:var(--neg)}.debt-prog{background:var(--panel);border-radius:1px;height:3px;margin-top:8px;overflow:hidden}.debt-prog .fill{background:var(--accent);transform-origin:0;height:100%;animation:barGrow .9s var(--e-out-cubic) forwards;animation-delay:.3s;transform:scaleX(0)}.debt-row{justify-content:space-between;align-items:baseline;display:flex}.debt-meta{font-family:var(--mono-font), monospace;color:var(--muted);font-size:10px}.import-bar{background:var(--panel-2);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;display:flex}.import-bar .l{align-items:center;gap:12px;display:flex}.import-bar .icn{background:var(--panel-3);width:28px;height:28px;color:var(--accent);border-radius:3px;justify-content:center;align-items:center;display:flex}.import-bar .t{font-size:12px;font-weight:500}.import-bar .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.import-bar .r{flex-wrap:wrap;gap:8px;display:flex}.filt-summary{font-family:var(--mono-font), monospace;flex-direction:column;gap:6px;font-size:11px;display:flex}.filt-summary .row{border-bottom:1px solid var(--grid);justify-content:space-between;padding:4px 0;display:flex}.filt-summary .row:last-child{border-bottom:0}.filt-summary .k{color:var(--muted)}.filt-summary .v{color:var(--text);font-weight:600}.kpi-row{grid-template-columns:repeat(var(--kpi-cols,4), 1fr);background:var(--border);gap:1px;display:grid}.kpi{background:var(--panel-2);padding:14px 16px}.kpi .c{font-family:var(--mono-font), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:700}.kpi .c.pos{color:var(--pos)}.kpi .c.acc{color:var(--accent)}.kpi .c.info{color:var(--info)}.kpi .c.warn{color:var(--warn)}.kpi .c.loan{color:var(--loan)}.kpi .c.sub{color:var(--sub)}.kpi .c.util{color:var(--util)}.kpi .c.tax{color:var(--tax)}.kpi .v.neg{color:var(--neg)}.kpi .v{font-family:var(--mono-font), monospace;letter-spacing:.01em;font-size:20px;font-weight:700}.kpi .v.pos{color:var(--pos)}.kpi .v.acc{color:var(--accent)}.kpi .v.info{color:var(--info)}.kpi .v.warn{color:var(--warn)}.kpi .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:11px}.ws-grid{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.ws-card{background:var(--panel-2);cursor:pointer;transition:transform var(--d-fast) var(--e-out), box-shadow var(--d-fast) var(--e-out), background-color var(--d-fast) var(--e-out);flex-direction:column;gap:10px;padding:17px;display:flex;box-shadow:inset 0 0 0 1px #0000}.ws-card:hover{background:var(--panel-3);box-shadow:inset 0 0 0 1px var(--hairline);transform:translateY(-1px)}.ws-card.add{background:var(--panel);outline:1px dashed var(--border);outline-offset:-1px;text-align:center;color:var(--muted);min-height:220px;box-shadow:none;justify-content:center;align-items:center}.ws-card.add:hover{background:var(--panel-2);box-shadow:none}.ws-card.add .plus{color:var(--accent);margin-bottom:6px;font-size:24px}.ws-top{justify-content:space-between;align-items:flex-start;display:flex}.ws-tag{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:700}.ws-tag.emp{color:var(--pos);background:#3fb9501a}.ws-tag.fl{color:var(--accent);background:#58d3a31f}.ws-tag.other{color:var(--info);background:#79c0ff1a}.ws-title{color:var(--text);font-size:14px;font-weight:600}.ws-title .sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:10px;font-weight:400}.ws-meta{grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:4px;display:grid}.ws-meta .k{font-family:var(--mono-font), monospace;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.ws-meta .v{font-family:var(--mono-font), monospace;color:var(--text);margin-top:1px;font-size:13px;font-weight:600}.ws-meta .v.pos{color:var(--pos)}.ws-meta .v.acc{color:var(--accent)}.ws-footer{border-top:1px solid var(--grid);justify-content:space-between;align-items:center;margin-top:4px;padding-top:8px;display:flex}.ws-amt{font-family:var(--mono-font), monospace;font-size:16px;font-weight:700}.ws-amt.pos{color:var(--pos)}.ws-amt.acc{color:var(--accent)}.ws-detail{container:wsdetail/inline-size}.ws-kpi-grid{background:var(--border);flex-wrap:wrap;gap:1px;display:flex}.ws-detail .ws-kpi-grid>*{flex:170px}.freelance-extras{background:var(--border);grid-template-columns:repeat(2,1fr);gap:1px;display:grid}@container wsdetail (max-width:380px){.freelance-extras{grid-template-columns:1fr}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton-block{background:var(--panel-2);border-radius:3px}@media (prefers-reduced-motion:no-preference){.skeleton-block{animation:1.6s ease-in-out infinite skeleton-pulse}}.ws-chart-row{background:var(--border);grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1px;display:grid}@media (max-width:900px){.ws-chart-row{grid-template-columns:1fr}}@media (prefers-reduced-motion:no-preference){@keyframes ws-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.ws-detail .ws-kpi-grid>*{animation:.24s cubic-bezier(.4,0,.2,1) both ws-fade-in}.ws-detail .ws-kpi-grid>:first-child{animation-delay:0s}.ws-detail .ws-kpi-grid>:nth-child(2){animation-delay:60ms}.ws-detail .ws-kpi-grid>:nth-child(3){animation-delay:.12s}.ws-detail .ws-kpi-grid>:nth-child(4){animation-delay:.16s}.ws-detail .ws-kpi-grid>:nth-child(5){animation-delay:.2s}.ws-chart-row{animation:.28s cubic-bezier(.4,0,.2,1) .2s both ws-fade-in}}.stages{gap:6px;margin-top:6px;display:flex}.stage{background:var(--panel);border:1px solid var(--grid);border-radius:2px;flex-direction:column;flex:1;gap:2px;padding:6px 8px;display:flex}.stage .n{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);font-size:9px}.stage .a{font-family:var(--mono-font), monospace;color:var(--text);font-size:12px;font-weight:700}.stage.done{background:#3fb9500d;border-color:#3fb95066}.stage.done .n{color:var(--pos)}.stage.active{border-color:var(--accent);background:#58d3a30f}.stage.active .n{color:var(--accent)}.stage.pending{opacity:.55}.expected-row{border-bottom:1px solid var(--grid);cursor:pointer;transition:background var(--d-fast);grid-template-columns:56px 1fr 130px 110px 110px;align-items:center;gap:14px;padding:12px 20px;display:grid}.expected-row:hover{background:var(--panel-2)}.expected-row:last-child{border-bottom:0}.exp-date{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px;line-height:1.3}.exp-date b{color:var(--text);font-size:13px;font-weight:700;display:block}.exp-main .n{color:var(--text);font-size:13px;font-weight:500}.exp-main .m{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.exp-src{font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-2);border-radius:2px;justify-self:start;padding:2px 6px;font-size:11px}.exp-st{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;justify-self:start;padding:2px 6px;font-size:10px;font-weight:600}.st-confirmed{color:var(--pos);background:#3fb95014}.st-expected{color:var(--muted);background:#7d889814}.st-await{color:var(--warn);background:#d299221a}.exp-amt{font-family:var(--mono-font), monospace;text-align:right;color:var(--pos);font-size:14px;font-weight:700}.exp-amt.warn{color:var(--warn)}.exp-amt.acc{color:var(--accent)}.tax-hint{background:var(--panel-2);border-top:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:14px;padding:14px 20px;display:flex}.tax-hint .l{flex:1;min-width:200px}.tax-hint .t{color:var(--text);font-size:12px;font-weight:500}.tax-hint .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:11px}.tax-hint .v{font-family:var(--mono-font), monospace;color:var(--accent);font-size:18px;font-weight:700}.tax-hint .v .u{color:var(--muted);margin-left:4px;font-size:12px;font-weight:500}.other-row{border-bottom:1px solid var(--grid);cursor:pointer;transition:background var(--d-fast);grid-template-columns:28px 1fr 100px 130px 110px;align-items:center;gap:14px;padding:12px 20px;display:grid}.other-row:hover{background:var(--panel-2)}.other-row:last-child{border-bottom:0}.o-ico{width:22px;height:22px;font-family:var(--mono-font), monospace;color:var(--info);background:#79c0ff1a;border-radius:3px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.o-main .n{color:var(--text);font-size:13px;font-weight:500}.o-main .m{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.signals-col{flex-direction:column;gap:8px;display:flex}.sig{background:var(--panel-2);padding:10px 12px}.sig.acc{border-left:2px solid var(--accent)}.sig.info{border-left:2px solid var(--info)}.sig.warn{border-left:2px solid var(--warn)}.sig .k{letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:600}.sig.acc .k{color:var(--accent)}.sig.info .k{color:var(--info)}.sig.warn .k{color:var(--warn)}.sig .m{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px}.sig .m b{color:var(--text)}.inc-upcoming{font-family:var(--mono-font), monospace;flex-direction:column;gap:5px;font-size:11px;display:flex}.inc-upcoming .r{border-bottom:1px solid var(--grid);justify-content:space-between;padding:5px 0;display:flex}.inc-upcoming .r:last-child{border-bottom:0}.inc-upcoming .d{color:var(--dim)}.inc-upcoming .n{color:var(--text)}.inc-upcoming .v{color:var(--pos);font-weight:600}.sum-table{font-family:var(--mono-font), monospace;flex-direction:column;font-size:11px;display:flex}.sum-table .r{border-bottom:1px solid var(--grid);color:var(--muted);justify-content:space-between;padding:3px 0;display:flex}.sum-table .r:last-child{border-bottom:0}.sum-table .r .v{color:var(--text)}.loan-card{background:var(--panel-2);border:1px solid var(--border);border-radius:3px;margin:16px 20px;overflow:hidden}.loan-card+.loan-card{margin-top:4px}.loan-hd{border-bottom:1px solid var(--grid);grid-template-columns:1fr auto;align-items:center;gap:14px;padding:14px 16px;display:grid}.loan-tag{align-items:center;gap:8px;display:inline-flex}.loan-tag .code{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--loan);background:#f851491f;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:700}.loan-name{font-size:14px;font-weight:600}.loan-sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:10px}.loan-due{font-family:var(--mono-font), monospace;color:var(--warn);text-align:right;font-size:11px}.loan-due b{color:var(--text);font-size:13px;font-weight:700;display:block}.loan-body{background:var(--border);grid-template-columns:1.1fr 1fr;gap:1px;display:grid}.loan-cell{background:var(--panel-2);padding:14px 16px}.loan-stats{grid-template-columns:1fr 1fr;gap:10px 14px;display:grid}.loan-stats .k{font-family:var(--mono-font), monospace;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.loan-stats .v{font-family:var(--mono-font), monospace;color:var(--text);margin-top:2px;font-size:13px;font-weight:600}.loan-stats .v.neg{color:var(--loan)}.loan-stats .v.acc{color:var(--accent)}.loan-prog-wrap{margin-top:10px}.loan-prog-lbl{font-family:var(--mono-font), monospace;color:var(--muted);justify-content:space-between;margin-bottom:5px;font-size:10px;display:flex}.loan-prog{background:var(--panel);border-radius:2px;height:6px;display:flex;overflow:hidden}.loan-prog .paid{background:var(--accent);height:100%}.loan-prog .rem{background:var(--hairline);opacity:.5;height:100%}.amort{align-items:flex-end;gap:2px;height:64px;margin-top:4px;display:flex}.amort-col{flex-direction:column;flex:1;justify-content:flex-end;gap:1px;min-width:0;display:flex}.amort-col .interest{background:var(--loan);border-radius:1px 1px 0 0}.amort-col .principal{background:var(--accent);border-radius:0 0 1px 1px}.amort-col.current{outline:1px solid var(--warn);outline-offset:1px}.amort-col.future{opacity:.35}.amort-legend{font-family:var(--mono-font), monospace;color:var(--muted);gap:12px;margin-top:6px;font-size:10px;display:flex}.amort-legend .sw{vertical-align:middle;border-radius:1px;width:10px;height:8px;margin-right:4px;display:inline-block}.overpay{flex-direction:column;gap:6px;display:flex}.overpay .row{border-bottom:1px solid var(--grid);font-family:var(--mono-font), monospace;justify-content:space-between;padding:6px 0;font-size:12px;display:flex}.overpay .row:last-child{border-bottom:0}.overpay .row .k{color:var(--muted)}.overpay .row .v{font-weight:700}.sub-grid{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.sub-card{background:var(--panel-2);transition:all var(--d-fast) var(--e-out);flex-direction:column;gap:10px;padding:15px 17px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #0000}.sub-card:hover{background:var(--panel-3);transform:translateY(-1px);box-shadow:inset 0 0 0 1px #79c0ff66}.sub-card:hover .sub-select-btn,.sub-card--selected .sub-select-btn{opacity:1!important}.sub-card--selected{box-shadow:inset 0 0 0 1px var(--accent)}.sub-top{justify-content:space-between;align-items:flex-start;display:flex}.sub-ico{width:28px;height:28px;font-family:var(--mono-font), monospace;color:var(--info);border-radius:4px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.sub-badge{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:2px 5px;font-size:9px;font-weight:700}.sub-badge.personal{color:var(--muted);background:var(--panel);border:1px solid var(--grid)}.sub-badge.split{color:var(--info);background:#79c0ff1a}.sub-badge.pays{color:var(--accent);background:#58d3a31a}.sub-name{font-size:13px;font-weight:600}.sub-meta{font-family:var(--mono-font), monospace;color:var(--muted);flex-direction:column;gap:3px;font-size:10px;display:flex}.sub-foot{border-top:1px solid var(--grid);justify-content:space-between;align-items:baseline;padding-top:8px;display:flex}.sub-amt{font-family:var(--mono-font), monospace;color:var(--info);font-size:14px;font-weight:700}.sub-next{font-family:var(--mono-font), monospace;color:var(--warn);font-size:10px}.sub-next.ok{color:var(--muted)}.sub-btns{gap:4px;display:flex}.sub-btns .btn{padding:5px 8px;font-size:10px}.proj-list{flex-direction:column;display:flex}.proj-row{border-bottom:1px solid var(--grid);cursor:pointer;transition:background var(--d-fast);grid-template-columns:1fr 120px 160px 110px 80px;align-items:center;gap:14px;padding:12px 20px;display:grid}.proj-row:hover{background:var(--panel-2)}.proj-row:last-child{border-bottom:0}.proj-main{min-width:0}.proj-name{font-size:13px;font-weight:500}.proj-sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.proj-bar{background:var(--panel);border-radius:1px;height:4px;position:relative;overflow:hidden}.proj-bar .fill{background:var(--accent);transform-origin:0;height:100%;animation:barGrow .9s var(--e-out-cubic) forwards;animation-delay:.3s;transform:scaleX(0)}.proj-amt{font-family:var(--mono-font), monospace;color:var(--text);text-align:right;font-size:12px;font-weight:600}.proj-dates{font-family:var(--mono-font), monospace;color:var(--muted);font-size:10px}.proj-pct{font-family:var(--mono-font), monospace;text-align:right;color:var(--accent);font-size:14px;font-weight:700}.cat-grid{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.cat-card{background:var(--panel-2);transition:all var(--d-fast);color:inherit;cursor:pointer;flex-direction:column;gap:8px;padding:15px 17px;text-decoration:none;display:flex;box-shadow:inset 0 0 0 1px #0000}.cat-card:hover{background:var(--panel-3);box-shadow:inset 0 0 0 1px var(--hairline);transform:translateY(-1px)}.cat-top{justify-content:space-between;align-items:baseline;display:flex}.cat-name{font-size:13px;font-weight:600}.cat-sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.cat-amt{font-family:var(--mono-font), monospace;color:var(--text);font-size:18px;font-weight:700}.cat-amt.info{color:var(--info)}.cat-bar{background:var(--panel);border-radius:1px;height:4px;overflow:hidden}.cat-bar .fill{background:var(--info);transform-origin:0;height:100%;animation:barGrow .9s var(--e-out-cubic) forwards;animation-delay:.3s;transform:scaleX(0)}.cat-foot{font-family:var(--mono-font), monospace;color:var(--muted);justify-content:space-between;font-size:10px;display:flex}.tax-card{background:var(--panel-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;padding:14px 16px;display:flex}.tax-card+.tax-card{border-top:1px solid var(--grid)}.tax-card .l{flex:1;min-width:220px}.tax-card .t{font-size:13px;font-weight:500}.tax-card .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.tax-card .r{align-items:center;gap:16px;display:flex}.tax-card .due{font-family:var(--mono-font), monospace;color:var(--warn);font-size:11px}.tax-card .amt{font-family:var(--mono-font), monospace;color:var(--warn);text-align:right;min-width:110px;font-size:16px;font-weight:700}.reserved{font-family:var(--mono-font), monospace;flex-direction:column;gap:4px;font-size:11px;display:flex}.reserved .r{border-bottom:1px solid var(--grid);color:var(--muted);justify-content:space-between;padding:4px 0;display:flex}.reserved .r:last-child{border-bottom:0}.reserved .c{vertical-align:middle;border-radius:50%;width:6px;height:6px;margin-right:8px;display:inline-block}.reserved .c.loan{background:var(--loan)}.reserved .c.util{background:var(--util)}.reserved .c.sub{background:var(--sub)}.reserved .c.tax{background:var(--tax)}.timeline{flex-direction:column;padding:16px 20px;display:flex}.tl-month{border-bottom:1px solid var(--grid);align-items:flex-start;gap:14px;padding:14px 0;display:flex;position:relative}.tl-month:last-child{border-bottom:0}.tl-mo-label{width:90px;font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);flex-shrink:0;padding-top:6px;font-size:12px;font-weight:700;position:sticky;top:42px}.tl-mo-label b{color:var(--text);margin-top:3px;font-size:14px;font-weight:700;display:block}.tl-mo-label .s{font-family:var(--mono-font), monospace;color:var(--dim);margin-top:4px;font-size:10px;font-weight:400}.tl-events{flex-direction:column;flex:1;gap:6px;display:flex}.tl-evt{background:var(--panel-2);border:1px solid #0000;border-left:3px solid var(--grid);cursor:pointer;transition:all var(--d-fast);grid-template-columns:48px 28px 1fr 120px 100px;align-items:center;gap:12px;padding:10px 14px;display:grid}.tl-evt:hover{background:var(--panel-3);border-color:var(--hairline);transform:translate(1px)}.tl-evt.bday{border-left-color:var(--info)}.tl-evt.holiday{border-left-color:var(--warn)}.tl-evt.trip{border-left-color:var(--accent)}.tl-evt.buy{border-left-color:var(--pos)}.tl-evt.other{border-left-color:var(--muted)}.tl-date{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px;line-height:1.2}.tl-date b{color:var(--text);font-size:14px;font-weight:700;display:block}.tl-ico{width:22px;height:22px;font-family:var(--mono-font), monospace;border-radius:3px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.tl-ico.bday{color:var(--info);background:#79c0ff1f}.tl-ico.holiday{color:var(--warn);background:#d299221f}.tl-ico.trip{color:var(--accent);background:#58d3a31f}.tl-ico.buy{color:var(--pos);background:#3fb9501f}.tl-ico.other{background:var(--panel);color:var(--muted)}.tl-main{min-width:0}.tl-main .n{color:var(--text);font-size:13px;font-weight:500}.tl-main .m{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.tl-fund{font-family:var(--mono-font), monospace;color:var(--accent);background:#58d3a314;border:1px solid #58d3a333;border-radius:2px;justify-self:start;padding:3px 7px;font-size:10px}.tl-fund.none{color:var(--dim);border-color:var(--grid);background:0 0}.tl-amt{font-family:var(--mono-font), monospace;text-align:right;font-size:13px;font-weight:700}.tl-amt.warn{color:var(--warn)}.tl-amt.pos{color:var(--pos)}.tl-amt.acc{color:var(--accent)}.fund-grid{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.fund-card{background:var(--panel-2);cursor:pointer;transition:all var(--d-fast) var(--e-out);flex-direction:column;gap:10px;padding:15px 17px;display:flex;box-shadow:inset 0 0 0 1px #0000}.fund-card:hover{background:var(--panel-3);box-shadow:inset 0 0 0 1px var(--hairline);transform:translateY(-1px)}.fund-card.add{background:var(--panel);outline:1px dashed var(--border);outline-offset:-1px;text-align:center;color:var(--muted);min-height:200px;box-shadow:none;justify-content:center;align-items:center}.fund-card.add:hover{background:var(--panel-2);box-shadow:none}.fund-card.add .plus{color:var(--accent);margin-bottom:6px;font-size:24px}.fund-top{justify-content:space-between;align-items:flex-start;display:flex}.fund-kind{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:700}.fund-kind.trip{color:var(--accent);background:#58d3a31a}.fund-kind.buy{color:var(--pos);background:#3fb9501a}.fund-kind.vault{color:var(--info);background:#79c0ff1a}.fund-kind.gift{color:var(--warn);background:#d299221a}.fund-name{color:var(--text);font-size:14px;font-weight:600}.fund-name .sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:10px;font-weight:400}.fund-stats{grid-template-columns:1fr 1fr;gap:4px 14px;display:grid}.fund-stats .k{font-family:var(--mono-font), monospace;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.fund-stats .v{font-family:var(--mono-font), monospace;color:var(--text);margin-top:1px;font-size:12px;font-weight:600}.fund-stats .v.pos{color:var(--pos)}.fund-stats .v.acc{color:var(--accent)}.fund-stats .v.warn{color:var(--warn)}.fund-prog-wrap{margin-top:2px}.fund-prog-lbl{font-family:var(--mono-font), monospace;color:var(--muted);justify-content:space-between;margin-bottom:4px;font-size:10px;display:flex}.fund-prog-lbl b{color:var(--accent);font-weight:700}.fund-prog{background:var(--panel);border-radius:2px;height:5px;overflow:hidden}.fund-prog .fill{background:var(--accent);transform-origin:0;height:100%;animation:barGrow .9s var(--e-out-cubic) forwards;animation-delay:.28s;transform:scaleX(0)}.fund-hours{font-family:var(--mono-font), monospace;color:var(--muted);border-top:1px solid var(--grid);justify-content:space-between;align-items:center;padding-top:8px;font-size:11px;display:flex}.fund-hours .hrs{color:var(--warn);font-size:13px;font-weight:700}.fund-hours .unit{color:var(--muted);font-weight:400}.hcalc{background:var(--panel-2);border-top:1px solid var(--border);grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:0;padding:18px 20px;display:grid}.hcalc .block{padding:0 20px}.hcalc .block:first-child{padding-left:0}.hcalc .block:last-child{padding-right:0}.hcalc .sep{color:var(--dim);font-family:var(--mono-font), monospace;font-size:20px}.hcalc .lbl{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px}.hcalc .val{font-family:var(--mono-font), monospace;font-size:22px;font-weight:700}.hcalc .val.warn{color:var(--warn)}.hcalc .val .u{color:var(--muted);margin-left:4px;font-size:13px;font-weight:500}.hcalc .sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:4px;font-size:11px}.bp-row{border-bottom:1px solid var(--grid);cursor:pointer;transition:background var(--d-fast);grid-template-columns:28px 1fr 120px 110px 140px 90px;align-items:center;gap:14px;padding:12px 20px;display:grid}.bp-row:hover{background:var(--panel-2)}.bp-row:last-child{border-bottom:0}.bp-ico{width:22px;height:22px;font-family:var(--mono-font), monospace;color:var(--accent);background:#58d3a31a;border-radius:3px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.bp-main{min-width:0}.bp-name{font-size:13px;font-weight:500}.bp-sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.bp-target{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px}.bp-target b{color:var(--text);font-size:13px;font-weight:700;display:block}.bp-bar{background:var(--panel);border-radius:1px;height:4px;overflow:hidden}.bp-bar .fill{background:var(--accent);transform-origin:0;height:100%;animation:barGrow .9s var(--e-out-cubic) forwards;animation-delay:.3s;transform:scaleX(0)}.bp-hrs{font-family:var(--mono-font), monospace;color:var(--warn);text-align:right;font-size:11px;font-weight:700}.bp-pct{font-family:var(--mono-font), monospace;text-align:right;color:var(--accent);font-size:14px;font-weight:700}.bh-row{background:var(--border);flex-wrap:wrap;gap:1px;display:flex}.bh-pill{background:var(--panel-2);cursor:pointer;min-width:170px;transition:background var(--d-fast);flex:1;align-items:center;gap:10px;padding:12px 14px;display:flex}.bh-pill:hover{background:var(--panel-3)}.bh-date{font-family:var(--mono-font), monospace;color:var(--muted);text-align:center;width:36px;font-size:10px;line-height:1.1}.bh-date b{color:var(--text);margin-bottom:1px;font-size:15px;font-weight:700;display:block}.bh-info{flex:1;min-width:0}.bh-info .n{font-size:12px;font-weight:500}.bh-info .m{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.bh-amt{font-family:var(--mono-font), monospace;color:var(--accent);font-size:11px;font-weight:700}.next-list{font-family:var(--mono-font), monospace;flex-direction:column;gap:5px;font-size:11px;display:flex}.next-list .r{border-bottom:1px solid var(--grid);justify-content:space-between;padding:5px 0;display:flex}.next-list .r:last-child{border-bottom:0}.next-list .d{color:var(--dim)}.next-list .n{color:var(--text)}.next-list .v{color:var(--accent);font-weight:600}.weather{background:var(--border);grid-template-columns:200px 1fr 1fr;gap:1px;display:grid}.wx-hero{background:var(--panel-2);flex-direction:column;align-items:flex-start;gap:10px;padding:18px 20px;display:flex}.wx-icon{justify-content:center;align-items:center;width:96px;height:96px;display:flex}.wx-icon svg{width:88px;height:88px}.wx-label{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:12px}.wx-status{font-family:var(--mono-font), monospace;color:var(--accent);letter-spacing:.02em;font-size:24px;font-weight:700}.wx-sub{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px}.wx-cells{background:var(--panel-2);padding:18px 20px}.wx-cells .k{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px}.wx-gauge{gap:2px;height:8px;margin-bottom:8px;display:flex}.wx-gauge span{background:var(--panel);border-radius:1px;flex:1}.wx-gauge span.on{background:var(--pos)}.wx-gauge span.warn{background:var(--warn)}.wx-gauge span.neg{background:var(--neg)}.wx-explain{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px;line-height:1.6}.wx-explain b{color:var(--text);font-weight:600}.kpi .delta{font-family:var(--mono-font), monospace;margin-top:2px;font-size:11px;font-weight:700}.kpi .delta.pos{color:var(--pos)}.kpi .delta.neg{color:var(--neg)}.kpi .delta.mut{color:var(--muted)}.trend{background:var(--border);grid-template-columns:1fr;gap:1px;display:grid}.trend-cell{background:var(--panel-2);padding:16px 18px}.trend-cell .lbl{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);justify-content:space-between;margin-bottom:10px;font-size:10px;display:flex}.trend-cell .lbl b{color:var(--text);font-weight:600}.trend-cell svg{width:100%;height:160px;display:block}.trend-cell .foot{font-family:var(--mono-font), monospace;color:var(--muted);justify-content:space-between;margin-top:8px;font-size:10px;display:flex}.trend-hd-right{align-items:center;gap:12px;display:flex}.cat-breakdown{background:var(--border);grid-template-columns:280px 1fr;gap:1px;display:grid}.pie-cell{background:var(--panel-2);flex-direction:column;align-items:center;gap:12px;padding:20px;display:flex}.pie-cell svg{display:block}.pie-total{font-family:var(--mono-font), monospace;color:var(--muted);text-align:center;font-size:11px}.pie-total b{color:var(--text);margin-bottom:2px;font-size:18px;font-weight:700;display:block}.legend-cell{background:var(--panel-2);flex-direction:column;gap:0;padding:18px 20px;display:flex}.lg-row{border-bottom:1px solid var(--grid);grid-template-columns:14px 1fr 110px 90px;align-items:center;gap:12px;padding:9px 0;display:grid}.lg-row:last-child{border-bottom:0}.lg-sw{border-radius:2px;width:10px;height:10px}.lg-name{font-size:13px;font-weight:500}.lg-sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.lg-amt{font-family:var(--mono-font), monospace;text-align:right;white-space:nowrap;font-size:13px;font-weight:700}.lg-delta{font-family:var(--mono-font), monospace;text-align:right;font-size:11px;font-weight:700}.cmp-grid{grid-template-columns:1fr 100px 100px 76px 68px;gap:0;display:grid}.cmp-hd{display:contents}.cmp-hd>*{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--panel-2);border-bottom:1px solid var(--border);padding:10px 14px;font-size:10px}.cmp-row{display:contents}.cmp-row>*{border-bottom:1px solid var(--grid);background:var(--panel);padding:11px 14px}.cmp-row:hover>*{background:var(--panel-2)}.cmp-row .name{font-size:13px;font-weight:500}.cmp-row .name .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.cmp-row .num{font-family:var(--mono-font), monospace;text-align:right;white-space:nowrap;font-size:13px;font-weight:700}.cmp-row .delta{font-family:var(--mono-font), monospace;text-align:right;white-space:nowrap;font-size:12px;font-weight:700}.cmp-row .spark{justify-content:flex-end;align-items:flex-end;gap:2px;padding-right:6px;display:flex}.cmp-row .spark span{background:var(--muted);opacity:.55;border-radius:1px;width:4px;display:inline-block}.cmp-row .spark span:last-child{opacity:1;background:var(--accent)}.cmp-spark{justify-content:flex-end;align-items:center;padding:6px 8px;display:flex}.cmp-new-tag{font-family:var(--mono-font), monospace;font-size:var(--text-xs);background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent);border-radius:2px;margin-right:4px;padding:1px 4px;font-weight:600;display:inline-block}.fc-row{background:var(--border);grid-template-columns:1fr 1fr 1fr;gap:1px;display:grid}.fc-cell{background:var(--panel-2);padding:16px 18px}.fc-cell .k{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px}.fc-cell .v{font-family:var(--mono-font), monospace;font-size:22px;font-weight:700}.fc-cell .v.pos{color:var(--pos)}.fc-cell .v.info{color:var(--info)}.fc-cell .v.acc{color:var(--accent)}.fc-cell .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:4px;font-size:11px}.mode-grid{background:var(--border);grid-template-columns:1fr 1fr 1fr;gap:1px;display:grid}.mode-card{background:var(--panel-2);border-top:3px solid var(--grid);flex-direction:column;gap:10px;padding:16px 18px;display:flex}.mode-card.lean{border-top-color:var(--accent)}.mode-card.norm{border-top-color:var(--pos)}.mode-card.free{border-top-color:var(--info)}.mode-card.active{background:var(--panel-3)}.mode-hd{justify-content:space-between;align-items:flex-start;display:flex}.mode-name{font-family:var(--mono-font), monospace;letter-spacing:.02em;font-size:16px;font-weight:700}.mode-card.lean .mode-name{color:var(--accent)}.mode-card.norm .mode-name{color:var(--pos)}.mode-card.free .mode-name{color:var(--info)}.mode-active-pill{font-family:var(--mono-font), monospace;letter-spacing:.1em;background:var(--panel);border:1px solid var(--border);color:var(--muted);text-transform:uppercase;border-radius:2px;padding:2px 6px;font-size:9px}.mode-card.active .mode-active-pill{color:var(--pos);background:#3fb9500d;border-color:#3fb95066}.mode-card .tag{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px}.mode-card .safe{border-top:1px solid var(--grid);justify-content:space-between;align-items:baseline;margin-top:4px;padding:6px 0;display:flex}.mode-card .safe .k{font-family:var(--mono-font), monospace;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.mode-card .safe .v{font-family:var(--mono-font), monospace;font-size:16px;font-weight:700}.mode-limits{font-family:var(--mono-font), monospace;color:var(--muted);border-top:1px solid var(--grid);flex-direction:column;gap:4px;padding-top:6px;font-size:10px;display:flex}.mode-limits .r{justify-content:space-between;display:flex}.mode-limits .r b{color:var(--text);font-weight:600}.period-hero{margin:4px 8px;padding:12px 8px}.period-hero .lbl{margin-bottom:6px}.period-hero .row{align-items:baseline;gap:6px;display:flex}.period-hero .big{font-family:var(--mono-font), monospace;color:var(--info);font-size:34px;font-weight:700;line-height:1}.period-hero .unit{font-family:var(--mono-font), monospace;color:var(--info);font-size:13px;font-weight:500}.period-hero .sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:6px;font-size:11px}.period-stats{font-family:var(--mono-font), monospace;flex-direction:column;gap:5px;font-size:11px;display:flex}.period-stats .r{border-bottom:1px solid var(--grid);justify-content:space-between;padding:5px 0;display:flex}.period-stats .r:last-child{border-bottom:0}.period-stats .k{color:var(--muted)}.period-stats .v{color:var(--text);font-weight:600}.period-stats .v.pos{color:var(--pos)}.period-stats .v.neg{color:var(--neg)}.period-stats .v.warn{color:var(--warn)}.totals{background:var(--border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.total-cell{background:var(--panel-2);padding:16px 18px}.total-cell .k{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px}.total-cell .v{font-family:var(--mono-font), monospace;font-size:22px;font-weight:700}.total-cell .v.acc{color:var(--accent)}.total-cell .v.pos{color:var(--pos)}.total-cell .v.info{color:var(--info)}.total-cell .v.warn{color:var(--warn)}.total-cell .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:11px}.rates-row{background:var(--border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.rate{background:var(--panel-2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.rate .pair{font-family:var(--mono-font), monospace;color:var(--muted);letter-spacing:.06em;font-size:11px}.rate .pair b{color:var(--text);font-weight:600}.rate .val{font-family:var(--mono-font), monospace;font-size:15px;font-weight:700}.rate .delta{font-family:var(--mono-font), monospace;margin-left:8px;font-size:10px;font-weight:700}.rate .delta.pos{color:var(--pos)}.rate .delta.neg{color:var(--neg)}.inst{background:var(--panel)}.inst-hd{background:var(--panel-2);border-top:1px solid var(--border);border-bottom:1px solid var(--grid);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.inst-hd-l{align-items:center;gap:12px;display:flex}.inst-logo{width:32px;height:32px;font-family:var(--mono-font), monospace;background:var(--panel-3);border-radius:3px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.inst-logo.sber{color:var(--pos)}.inst-logo.tinkoff{color:var(--warn)}.inst-logo.alfa{color:var(--neg)}.inst-logo.binance{color:var(--warn)}.inst-logo.ledger{color:var(--info)}.inst-logo.cash{color:var(--accent)}.inst-name{letter-spacing:.01em;font-size:14px;font-weight:600}.inst-sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.acc-row{border-bottom:1px solid var(--grid);cursor:pointer;transition:background var(--d-fast);grid-template-columns:32px 1fr 120px 100px 150px;align-items:center;gap:14px;padding:12px 20px;display:grid}.acc-row:hover{background:var(--panel-2)}.acc-row:last-child{border-bottom:0}.acc-ico{width:28px;height:28px;font-family:var(--mono-font), monospace;border-radius:3px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.acc-ico.card{color:var(--accent);background:#58d3a31a}.acc-ico.credit{color:var(--neg);background:#f851491a}.acc-ico.savings{color:var(--info);background:#79c0ff1a}.acc-ico.cash{color:var(--muted);background:#7d889826}.acc-ico.crypto{color:var(--warn);background:#d299221f}.acc-ico.loan{color:var(--neg);background:#f851491a}.acc-badge-excl{font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-3);border:1px solid var(--border);letter-spacing:.06em;text-transform:uppercase;cursor:default;border-radius:2px;padding:1px 5px;font-size:9px}.acc-main{min-width:0}.acc-main .n{font-size:13px;font-weight:500}.acc-main .m{font-family:var(--mono-font), monospace;color:var(--muted);align-items:center;gap:8px;margin-top:2px;font-size:10px;display:flex}.acc-kind{font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-2);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;padding:2px 6px;font-size:10px}.acc-ccy{font-family:var(--mono-font), monospace;color:var(--accent);background:var(--panel-2);letter-spacing:.06em;border-radius:2px;justify-self:start;padding:2px 7px;font-size:10px;font-weight:700}.acc-val{font-family:var(--mono-font), monospace;text-align:right;font-size:15px;font-weight:700}.acc-updated{font-family:var(--mono-font), monospace;color:var(--dim);text-align:right;font-size:10px}.acc-val-wrap{flex-direction:column;align-items:flex-end;display:flex}.acc-actions{justify-content:flex-end;gap:4px;display:flex}.acc-actions button{cursor:pointer;background:var(--panel-2);border:1px solid var(--border);width:28px;height:28px;color:var(--muted);transition:all var(--d-fast);border-radius:3px;justify-content:center;align-items:center;display:flex}.acc-actions button:hover{color:var(--accent);border-color:var(--accent);background:var(--panel-3)}.cash-grid{background:var(--border);grid-template-columns:repeat(4,1fr);gap:1px;display:grid}.cash-cell{background:var(--panel-2);cursor:pointer;transition:all var(--d-fast);flex-direction:column;gap:6px;padding:15px 17px;display:flex;box-shadow:inset 0 0 0 1px #0000}.cash-cell:hover{background:var(--panel-3);box-shadow:inset 0 0 0 1px var(--hairline);transform:translateY(-1px)}.cash-cell.add{background:var(--panel);outline:1px dashed var(--border);outline-offset:-1px;text-align:center;color:var(--muted);box-shadow:none;justify-content:center;align-items:center}.cash-cell.add:hover{background:var(--panel-2);box-shadow:none}.cash-cell .top{justify-content:space-between;display:flex}.cash-cell .sym{font-family:var(--mono-font), monospace;color:var(--accent);background:var(--panel);letter-spacing:.06em;border-radius:2px;padding:2px 7px;font-size:10px;font-weight:700}.cash-cell .loc{font-family:var(--mono-font), monospace;color:var(--muted);font-size:10px}.cash-cell .v{font-family:var(--mono-font), monospace;margin-top:4px;font-size:18px;font-weight:700}.cash-cell .s{font-family:var(--mono-font), monospace;color:var(--muted);font-size:10px}.cash-add-form{background:var(--panel-2);border-top:1px solid var(--border);flex-direction:column;gap:10px;padding:16px 20px;display:flex}.cash-add-title{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px;font-weight:700}.cash-add-fields{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.cash-add-fields input,.cash-add-fields select{flex:1;min-width:120px}.cash-add-actions{gap:8px;display:flex}.arch-row{border-bottom:1px solid var(--grid);opacity:.7;grid-template-columns:32px 1fr 100px 130px 120px 90px;align-items:center;gap:14px;padding:10px 20px;display:grid}.arch-row:hover{opacity:1;background:var(--panel-2)}.add-cta{background:var(--panel-2);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.add-cta .l{align-items:center;gap:12px;display:flex}.add-cta .ico{width:30px;height:30px;color:var(--accent);background:var(--panel-3);font-family:var(--mono-font), monospace;border-radius:3px;justify-content:center;align-items:center;font-size:16px;display:flex}.add-cta .t{font-size:13px;font-weight:500}.add-cta .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.add-cta .r{flex-wrap:wrap;gap:8px;display:flex}.net-hero{margin:4px 8px;padding:12px 8px}.net-hero .lbl{margin-bottom:6px}.net-hero .row{align-items:baseline;gap:6px;display:flex}.net-hero .row+.row{margin-top:var(--space-3)}.net-hero .big{font-family:var(--mono-font), monospace;color:var(--accent);font-size:30px;font-weight:700;line-height:1}.net-hero .sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:6px;font-size:11px}.grp-header{background:var(--border);grid-template-columns:1.2fr 1fr 1fr 1fr;gap:1px;display:grid}.grp-cell{background:var(--panel-2);padding:16px 20px}.grp-main{background:var(--panel-2);flex-direction:column;gap:8px;padding:16px 20px;display:flex}.grp-main .n{letter-spacing:.01em;font-size:18px;font-weight:700}.grp-main .m{font-family:var(--mono-font), monospace;color:var(--muted);font-size:11px}.grp-main .avatars{margin-top:6px;display:flex}.grp-main .av{width:28px;height:28px;font-family:var(--mono-font), monospace;color:var(--bg);border:2px solid var(--panel-2);border-radius:50%;justify-content:center;align-items:center;margin-right:-6px;font-size:11px;font-weight:700;display:flex}.grp-cell .k{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:10px}.grp-cell .v{font-family:var(--mono-font), monospace;font-size:22px;font-weight:700}.grp-cell .v.acc{color:var(--accent)}.grp-cell .v.pos{color:var(--pos)}.grp-cell .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:11px}.space-tabs{background:var(--panel-2);border-bottom:1px solid var(--border);display:flex}.space-tab{cursor:pointer;border-right:1px solid var(--border);transition:all var(--d-fast);border-bottom:3px solid #0000;flex:1;align-items:center;gap:12px;padding:14px 20px;display:flex}.space-tab:last-child{border-right:0}.space-tab:hover{background:var(--panel-3)}.space-tab.on{border-bottom-color:var(--accent);background:var(--panel-3)}.space-tab .dot{background:var(--muted);border-radius:50%;width:10px;height:10px}.space-tab.on .dot{background:var(--accent)}.space-tab .tag{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px}.space-tab .n{font-size:14px;font-weight:600}.space-tab .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:11px}.space-tab .amt{text-align:right;margin-left:auto}.space-tab .amt .v{font-family:var(--mono-font), monospace;color:var(--text);font-size:15px;font-weight:700}.space-tab .amt .l{font-family:var(--mono-font), monospace;color:var(--muted);font-size:10px}.mem-grid{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.mem-card{background:var(--panel-2);flex-direction:column;gap:10px;padding:16px;display:flex}.mem-top{align-items:center;gap:12px;display:flex}.mem-av{width:42px;height:42px;font-family:var(--mono-font), monospace;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}.mem-info{flex:1;min-width:0}.mem-info .n{font-size:14px;font-weight:600}.mem-info .m{font-family:var(--mono-font), monospace;color:var(--muted);align-items:center;gap:6px;margin-top:2px;font-size:10px;display:flex}.mem-role{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;padding:2px 6px;font-size:9px}.mem-role.owner{color:var(--accent);background:#58d3a31a}.mem-role.mem{color:var(--muted);background:var(--panel)}.mem-stats{border-top:1px solid var(--grid);grid-template-columns:1fr 1fr;gap:8px 12px;padding-top:8px;display:grid}.mem-stats .k{font-family:var(--mono-font), monospace;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:10px}.mem-stats .v{font-family:var(--mono-font), monospace;margin-top:1px;font-size:13px;font-weight:700}.mem-stats .v.pos{color:var(--pos)}.mem-balance{border-top:1px solid var(--grid);font-family:var(--mono-font), monospace;justify-content:space-between;align-items:center;padding-top:6px;font-size:11px;display:flex}.mem-balance .k{color:var(--muted)}.mem-balance .v{font-weight:700}.mem-balance .v.pos{color:var(--pos)}.mem-balance .v.warn{color:var(--warn)}.shtxn-row{border-bottom:1px solid var(--grid);cursor:pointer;transition:background var(--d-fast);grid-template-columns:24px 70px 1fr 110px 130px 120px 90px;align-items:center;gap:12px;padding:11px 20px;display:grid}.shtxn-row:hover{background:var(--panel-2)}.shtxn-row:last-child{border-bottom:0}.shtxn-ico{width:22px;height:22px;font-family:var(--mono-font), monospace;border-radius:3px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.shtxn-ico.exp{color:var(--info);background:#79c0ff1a}.shtxn-ico.inc{color:var(--pos);background:#3fb9501a}.shtxn-date{font-family:var(--mono-font), monospace;color:var(--dim);font-size:11px}.shtxn-date b{color:var(--text);font-weight:700}.shtxn-main{min-width:0}.shtxn-main .n{color:var(--text);font-size:13px;font-weight:500}.shtxn-main .m{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.shtxn-paid{font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-2);border-radius:2px;justify-self:start;padding:2px 6px;font-size:11px}.shtxn-split{font-family:var(--mono-font), monospace;color:var(--muted);flex-direction:column;gap:2px;font-size:10px;display:flex}.shtxn-split .pp{color:var(--text);font-weight:700}.shtxn-cat{font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-2);border-radius:2px;justify-self:start;padding:2px 6px;font-size:10px}.shtxn-amt{font-family:var(--mono-font), monospace;text-align:right;font-size:13px;font-weight:700}.shtxn-amt.exp{color:var(--info)}.shtxn-amt.inc{color:var(--pos)}.sfund-grid{background:var(--border);grid-template-columns:1fr 1fr;gap:1px;display:grid}.sfund-card{background:var(--panel-2);cursor:pointer;transition:all var(--d-fast);flex-direction:column;gap:10px;padding:15px 17px;display:flex;box-shadow:inset 0 0 0 1px #0000}.sfund-card:hover{background:var(--panel-3);box-shadow:inset 0 0 0 1px var(--hairline);transform:translateY(-1px)}.sfund-top{justify-content:space-between;align-items:flex-start;display:flex}.sfund-kind{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);background:#58d3a31a;border-radius:2px;padding:2px 6px;font-size:10px;font-weight:700}.sfund-name{font-size:14px;font-weight:600}.sfund-name .sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:10px;font-weight:400}.sfund-contrib{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.sfund-contrib .c{background:var(--panel);border:1px solid var(--grid);border-radius:2px;padding:8px}.sfund-contrib .c .who{font-family:var(--mono-font), monospace;color:var(--muted);align-items:center;gap:4px;font-size:10px;display:flex}.sfund-contrib .c .who .mini-av{width:14px;height:14px;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:inline-flex}.sfund-contrib .c .am{font-family:var(--mono-font), monospace;margin-top:2px;font-size:13px;font-weight:700}.sfund-contrib .c .am.acc{color:var(--accent)}.sfund-prog{background:var(--panel);border-radius:2px;height:5px;overflow:hidden}.sfund-prog .fill{background:var(--accent);transform-origin:0;height:100%;animation:barGrow .9s var(--e-out-cubic) forwards;animation-delay:.28s;transform:scaleX(0)}.sfund-foot{font-family:var(--mono-font), monospace;justify-content:space-between;font-size:11px;display:flex}.sfund-foot .k{color:var(--muted)}.sfund-foot .v{color:var(--accent);font-weight:700}.ssub-row{border-bottom:1px solid var(--grid);cursor:pointer;transition:background var(--d-fast);grid-template-columns:32px 1fr 140px 170px 110px 90px;align-items:center;gap:14px;padding:12px 20px;display:grid}.ssub-row:hover{background:var(--panel-2)}.ssub-row:last-child{border-bottom:0}.ssub-ico{width:28px;height:28px;font-family:var(--mono-font), monospace;border-radius:4px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.ssub-main{min-width:0}.ssub-main .n{font-size:13px;font-weight:500}.ssub-main .m{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:2px;font-size:10px}.ssub-split-vis{align-items:center;gap:6px;display:flex}.ssub-split-vis .seg-bar{background:var(--panel);border-radius:2px;flex:1;height:6px;display:flex;overflow:hidden}.ssub-split-vis .seg-bar span{height:100%}.ssub-members{display:flex}.ssub-members .ma{border:2px solid var(--panel);width:20px;height:20px;font-family:var(--mono-font), monospace;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;margin-right:-6px;font-size:9px;font-weight:700;display:flex}.ssub-amt{font-family:var(--mono-font), monospace;text-align:right;font-size:13px;font-weight:700}.ssub-your{font-family:var(--mono-font), monospace;color:var(--accent);text-align:right;font-size:10px}.ssub-badge{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;justify-self:start;padding:2px 6px;font-size:9px}.ssub-badge.split{color:var(--info);background:#79c0ff1a}.ssub-badge.pays{color:var(--accent);background:#58d3a31a}.bal-chord{background:var(--panel-2);flex-direction:column;gap:12px;padding:18px 20px;display:flex}.bal-flow{background:var(--panel);border:1px solid var(--grid);border-radius:3px;grid-template-columns:1fr 140px 1fr 120px;align-items:center;gap:12px;padding:10px 14px;display:grid}.bal-flow .who{align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.bal-flow .who .ma{width:28px;height:28px;font-family:var(--mono-font), monospace;color:var(--bg);border-radius:50%;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.bal-flow .arrow{color:var(--muted);font-family:var(--mono-font), monospace;justify-content:center;align-items:center;gap:6px;font-size:11px;display:flex}.bal-flow .arrow svg{color:var(--accent)}.bal-flow .amt{font-family:var(--mono-font), monospace;color:var(--accent);text-align:right;font-size:16px;font-weight:700}.invite-banner{background:var(--panel-2);flex-wrap:wrap;align-items:center;gap:16px;padding:14px 20px;display:flex}.invite-banner .ico{width:36px;height:36px;color:var(--accent);background:#58d3a31a;border-radius:3px;justify-content:center;align-items:center;font-size:18px;display:flex}.invite-banner .l{flex:1;min-width:200px}.invite-banner .t{font-size:13px;font-weight:500}.invite-banner .s{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:3px;font-size:11px}.invite-banner .link{font-family:var(--mono-font), monospace;color:var(--accent);background:var(--panel);border:1px solid var(--grid);border-radius:2px;padding:5px 10px;font-size:11px}.grp-hero{margin:4px 8px;padding:12px 8px}.grp-hero .lbl{margin-bottom:6px}.grp-hero .row{align-items:baseline;gap:6px;display:flex}.grp-hero .big{font-family:var(--mono-font), monospace;color:var(--accent);font-size:30px;font-weight:700;line-height:1}.grp-hero .sub{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:6px;font-size:11px}.mini-bal{font-family:var(--mono-font), monospace;flex-direction:column;gap:5px;font-size:11px;display:flex}.mini-bal .r{border-bottom:1px solid var(--grid);justify-content:space-between;align-items:center;padding:5px 0;display:flex}.mini-bal .r:last-child{border-bottom:0}.mini-bal .k{color:var(--muted);align-items:center;gap:6px;display:flex}.mini-bal .k .ma{width:18px;height:18px;color:var(--bg);font-size:9px;font-weight:700;font-family:var(--mono-font), monospace;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.mini-bal .v{color:var(--text);font-weight:700}.mini-bal .v.pos{color:var(--pos)}.space-switch{gap:4px;margin-bottom:10px;display:flex}.space-switch button{cursor:pointer;text-align:center;font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em;transition:all var(--d-fast);border-radius:2px;flex:1;padding:6px;font-size:10px}.space-switch button.on{color:var(--accent);background:#58d3a30d;border-color:#58d3a366}.space-switch button:not(.on):hover{color:var(--text)}:root{--overlay:color-mix(in srgb, var(--bg) 45%, transparent);--overlay-strong:color-mix(in srgb, var(--bg) 70%, transparent)}.form-grid{gap:16px;display:grid}.form-required-hint{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:-4px;margin-bottom:4px;font-size:11px}.field{flex-direction:column;gap:4px;display:flex}.form-label{font-family:var(--ui);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:500;line-height:1.2}.form-section-label{font-family:var(--mono-font), "JetBrains Mono", ui-monospace, monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-top:8px;margin-bottom:4px;font-size:11px;font-weight:500;line-height:1.2}.field input,.field textarea,.field select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);font-family:var(--ui);transition:border-color var(--d-fast) var(--e-out);border-radius:3px;outline:none;width:100%;padding:8px 10px;font-size:13px;line-height:1.4}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent);outline:none}.field input[aria-invalid=true],.field textarea[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--neg)}.field textarea{resize:vertical;min-height:72px}.field select{cursor:pointer;appearance:auto}input[type=checkbox]{appearance:none;border:1px solid var(--border);background:var(--panel);cursor:pointer;flex-shrink:0;width:14px;height:14px;margin:0;transition:border-color .12s,background .12s;position:relative}input[type=checkbox]:hover:not(:disabled){border-color:var(--accent)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";border:solid var(--bg);border-width:0 1.5px 1.5px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}input[type=checkbox]:focus-visible{outline:1px solid var(--accent);outline-offset:2px}input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.field-error{color:var(--neg);font-size:11px;line-height:1.3}.field-hint{color:var(--muted);font-size:11px;line-height:1.3}.money-input-wrap{align-items:stretch;gap:0;display:flex}.money-input-wrap .money-input{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right;border-radius:3px 0 0 3px;flex:1}.money-input-currency{background:var(--panel-3);border:1px solid var(--border);color:var(--muted);font-size:12px;font-family:var(--mono);white-space:nowrap;border-left:none;border-radius:0 3px 3px 0;align-items:center;padding:0 10px;display:flex}.money-input{font-family:var(--mono);font-variant-numeric:tabular-nums;text-align:right}.money-input--leading{text-align:left}.submit-row{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:16px;display:flex}.submit-row-actions{justify-content:flex-end;gap:12px;display:flex}.submit-row-error{font-size:12px}.btn-primary{background:var(--accent);color:var(--bg);cursor:pointer;transition:opacity var(--d-fast) var(--e-out);border:none;border-radius:3px;padding:8px 20px;font-size:13px;font-weight:600}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{color:var(--muted);border:1px solid var(--border);cursor:pointer;transition:color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);background:0 0;border-radius:3px;padding:8px 16px;font-size:13px}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--hairline)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed}.drawer-host{pointer-events:none;z-index:100;position:fixed;inset:0}.drawer-host[data-open=true]{pointer-events:auto}.drawer-backdrop{background:var(--overlay);opacity:0;transition:opacity var(--d-med) var(--e-out);cursor:pointer;position:fixed;inset:0}.drawer-host[data-open=true] .drawer-backdrop{opacity:1}.drawer{background:var(--panel);border-left:1px solid var(--border);width:480px;max-width:100vw;transition:transform var(--d-med) var(--e-out-cubic);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%)}.drawer-host[data-open=true] .drawer{transform:translate(0)}.drawer-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:flex-end;align-items:center;padding:12px 16px;display:flex}.drawer-title{font-size:var(--text-md);color:var(--text);flex:1;font-weight:600}.drawer-close{width:28px;height:28px;color:var(--muted);cursor:pointer;transition:color var(--d-fast) var(--e-out), background var(--d-fast) var(--e-out);border-radius:3px;justify-content:center;align-items:center;display:flex}.drawer-close:hover{color:var(--text);background:var(--panel-2)}.drawer-content{flex-direction:column;flex:1;gap:8px;padding:24px;display:flex;overflow-y:auto}.drawer-placeholder-title{color:var(--text);font-size:14px;font-weight:600}.drawer-placeholder-body{color:var(--muted);font-size:12px}@media (prefers-reduced-motion:reduce){.drawer,.drawer-backdrop{transition:none}}.dialog-backdrop{background:color-mix(in srgb, var(--bg) 72%, transparent);z-index:200;opacity:0;pointer-events:none;transition:opacity var(--d-med) var(--e-out);position:fixed;inset:0}.dialog-backdrop.open{opacity:1;pointer-events:auto}.dialog-wrap{z-index:201;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{pointer-events:none;background:var(--panel);border:1px solid var(--border);width:var(--dialog-w,480px);opacity:0;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);transition:opacity var(--d-med) var(--e-out), transform var(--d-med) var(--e-out-cubic);border-radius:4px;flex-direction:column;display:flex;transform:scale(.96)}.dialog.open{opacity:1;pointer-events:auto;transform:scale(1)}.dialog.sm{--dialog-w:320px}.dialog.md{--dialog-w:480px}.dialog.lg{--dialog-w:720px}.dialog-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.dialog-header .dialog-title{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-size:12px;font-weight:700}.dialog-close{cursor:pointer;width:24px;height:24px;color:var(--muted);transition:color var(--d-fast) var(--e-out), background var(--d-fast) var(--e-out);border-radius:3px;justify-content:center;align-items:center;display:flex}.dialog-close:hover{color:var(--text);background:var(--panel-2)}.dialog-body{flex-direction:column;flex:1;gap:14px;padding:20px;display:flex;overflow-y:auto}.dialog-footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}@media (prefers-reduced-motion:reduce){.dialog,.dialog-backdrop{transition:none}}.import-wizard{flex-direction:column;gap:0;display:flex}.import-steps{font-family:var(--mono-font), monospace;color:var(--dim);align-items:center;gap:8px;padding:12px 0 16px;font-size:11px;display:flex}.import-step{color:var(--muted)}.import-step.active{color:var(--accent);font-weight:700}.import-step-sep{color:var(--dim)}.import-body{flex-direction:column;gap:16px;display:flex}.import-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.import-file-input{width:100%;font-family:var(--mono-font), monospace;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:3px;padding:6px 10px;font-size:12px;display:block}.import-file-input::-webkit-file-upload-button{background:var(--panel-2);border:1px solid var(--border);color:var(--muted);font-family:var(--mono-font), monospace;cursor:pointer;border-radius:2px;margin-right:8px;padding:3px 10px;font-size:11px}.import-textarea{resize:vertical;background:var(--bg);border:1px solid var(--border);width:100%;font-family:var(--mono-font), monospace;color:var(--text);border-radius:3px;padding:8px 10px;font-size:11px;line-height:1.5;display:block}.import-textarea::placeholder{color:var(--dim)}.import-textarea:focus{border-color:var(--accent);outline:none}.import-section{flex-direction:column;gap:10px;display:flex}.import-section-title{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.import-mapping-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.import-sample{max-height:120px;overflow:auto}.import-table-wrap{max-height:460px;overflow:auto}.import-table{border-collapse:collapse;width:100%;font-family:var(--mono-font), monospace;font-size:11px}.import-table th{text-align:left;background:var(--panel-2);border-bottom:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);z-index:1;padding:6px 10px;font-size:10px;font-weight:700;position:sticky;top:0}.import-table td{border-bottom:1px solid var(--grid);color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:6px 10px;overflow:hidden}.import-table-sm td{max-width:120px}.import-table tr:last-child td{border-bottom:0}.import-table tr.import-row-dup td{color:var(--dim)}.import-table tr.import-row-excluded td{opacity:.45}.import-dup-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--warn);background:#d299221a;border-radius:2px;margin-left:5px;padding:1px 4px;font-size:9px;font-weight:700;display:inline-block}.import-kind-badge{text-transform:uppercase;letter-spacing:.06em;font-size:10px;font-weight:700}.import-cat-select{all:unset;background:var(--bg);border:1px solid var(--border);font-family:var(--mono-font), monospace;color:var(--text);cursor:pointer;border-radius:2px;width:100%;padding:2px 6px;font-size:11px}.import-name{color:var(--text)}.import-stats{font-family:var(--mono-font), monospace;border-bottom:1px solid var(--grid);align-items:center;gap:16px;margin-bottom:4px;padding:8px 0;font-size:11px;display:flex}.import-stat{align-items:center;gap:6px;display:flex}.import-stat-k{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.import-stat-v{color:var(--text);font-weight:700}.import-stat-acc{color:var(--accent)}.import-warnings{flex-direction:column;gap:2px;display:flex}.import-warning{font-family:var(--mono-font), monospace;color:var(--warn);padding:3px 0;font-size:10px}.import-warning.dim{color:var(--dim)}.import-error{font-family:var(--mono-font), monospace;color:var(--neg);background:#f8514914;border:1px solid #f8514933;border-radius:3px;padding:8px 10px;font-size:11px}.import-actions{border-top:1px solid var(--grid);align-items:center;gap:8px;padding-top:8px;display:flex}.import-result{flex-direction:column;gap:16px;display:flex}.import-result-title{font-family:var(--mono-font), monospace;color:var(--accent);letter-spacing:.04em;font-size:14px;font-weight:700}.import-result-stats{flex-direction:column;gap:6px;display:flex}.import-result-row{border-bottom:1px solid var(--grid);font-family:var(--mono-font), monospace;justify-content:space-between;align-items:center;padding:6px 0;font-size:12px;display:flex}.import-result-row:last-child{border-bottom:0}.import-result-k{color:var(--muted)}.import-result-v{color:var(--text);font-weight:700}.import-result-v.pos{color:var(--pos)}.import-result-v.mut{color:var(--muted)}.import-result-v.neg{color:var(--neg)}.import-files-list{flex-direction:column;gap:8px;display:flex}.import-file-row{background:var(--panel);border:1px solid var(--border);border-radius:3px;grid-template-columns:1fr auto auto auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.import-file-row .import-file-name{font-family:var(--mono-font), monospace;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.import-file-row .import-file-meta{font-family:var(--mono-font), monospace;color:var(--muted);white-space:nowrap;font-size:10px}.import-dropzone{border:1px dashed var(--border);text-align:center;background:var(--panel);cursor:pointer;transition:border-color var(--d-fast) var(--e-out);border-radius:3px;padding:20px 16px}.import-dropzone:hover,.import-dropzone.drag-over{border-color:var(--accent)}.import-dropzone-hint{font-family:var(--mono-font), monospace;color:var(--muted);margin-top:4px;font-size:11px}.import-cardhint-list{flex-direction:column;gap:6px;display:flex}.import-cardhint-item{font-family:var(--mono-font), monospace;color:var(--text);background:#58d3a30d;border:1px solid #58d3a333;border-radius:3px;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 10px;font-size:11px;display:flex}.import-cardhint-item .import-cardhint-msg{color:var(--muted);flex:auto}.import-pair-group{border-left:2px solid var(--accent)}.import-pair-group td:first-child{padding-left:14px}.import-source-chip{font-family:var(--mono-font), monospace;letter-spacing:.06em;text-transform:uppercase;background:var(--panel-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;border-radius:2px;max-width:100px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block;overflow:hidden}.import-badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:2px;padding:1px 5px;font-size:9px;font-weight:700;display:inline-block}.import-badge.paired{color:var(--accent);background:#58d3a31a}.import-badge.unpaired{color:var(--warn);background:#d299221a}.import-phase4-warn{font-family:var(--mono-font), monospace;color:var(--warn);background:#d299220f;border:1px solid #d2992233;border-radius:3px;padding:8px 10px;font-size:10px}.import-remove-btn{cursor:pointer;color:var(--dim);background:0 0;border:none;border-radius:2px;padding:2px 4px;font-size:14px;line-height:1}.import-remove-btn:hover{color:var(--neg);background:#f851491a}.import-intra-details summary{cursor:pointer;font-family:var(--mono-font), monospace;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);-webkit-user-select:none;user-select:none;padding:6px 0;font-size:10px;font-weight:700;list-style:none}.import-intra-details summary::-webkit-details-marker{display:none}.import-intra-details[open] summary{color:var(--text)}.settings-page{overflow-y:auto}.settings-section{flex-direction:column;gap:14px;padding:20px 0;display:flex}.settings-divider{background:var(--border);height:1px}.settings-section-title{font-family:var(--mono-font), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.settings-section-summary{font-family:var(--mono-font), monospace;color:var(--dim);font-size:12px}.settings-field-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.settings-field-label{font-family:var(--mono-font), monospace;color:var(--muted);flex-shrink:0;min-width:120px;font-size:11px}.settings-input{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--mono-font), monospace;min-width:200px;transition:border-color var(--d-fast) var(--e-out);border-radius:3px;padding:6px 10px;font-size:12px}.settings-input:focus{border-color:var(--accent)}.settings-input::placeholder{color:var(--dim)}.settings-select{background:var(--bg);border:1px solid var(--border);color:var(--text);font-family:var(--mono-font), monospace;cursor:pointer;transition:border-color var(--d-fast) var(--e-out);border-radius:3px;padding:6px 10px;font-size:12px}.settings-select:focus{border-color:var(--accent)}.settings-danger{border-top:1px solid #f8514933;padding-top:20px}.settings-danger-btn{cursor:pointer;font-family:var(--mono-font), monospace;color:var(--neg);transition:background var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);background:#f851490f;border:1px solid #f8514959;border-radius:3px;align-items:center;padding:7px 14px;font-size:11px;display:inline-flex}.settings-danger-btn:hover:not(:disabled){border-color:var(--neg);background:#f851491f}.settings-danger-btn:disabled{opacity:.4;cursor:not-allowed}.onboarding-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.onboarding-card{background:var(--panel);border:1px solid var(--border);border-radius:4px;flex-direction:column;gap:32px;width:100%;max-width:480px;padding:40px;display:flex}.onboarding-header{flex-direction:column;gap:6px;display:flex}.onboarding-header .brand{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.onboarding-header .title{font-family:var(--mono-font), monospace;color:var(--text);letter-spacing:-.01em;font-size:22px;font-weight:700}.onboarding-header .subtitle{font-family:var(--mono-font), monospace;color:var(--muted);font-size:12px}.onboarding-form{flex-direction:column;gap:24px;display:flex}.ob-field{flex-direction:column;gap:10px;display:flex}.ob-label{font-family:var(--mono-font), monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:700}.qi-root{background:var(--panel);border-bottom:1px solid var(--border);flex-direction:column;gap:8px;padding:12px 20px;display:flex}.qi-root.qi-no-accounts{padding:10px 20px}.qi-input-row{background:var(--bg);border:1px solid var(--border);transition:border-color var(--d-fast) var(--e-out);border-radius:3px;align-items:center;gap:8px;padding:7px 10px;display:flex}.qi-input-row:focus-within{border-color:var(--hairline)}.qi-input{all:unset;font-family:var(--mono-font), "JetBrains Mono", monospace;color:var(--text);flex:1;font-size:12px}.qi-input::placeholder{color:var(--dim)}.qi-input:disabled{opacity:.5}.qi-hotkey-hint{font-family:var(--mono-font), monospace;color:var(--dim);border:1px solid var(--border);border-radius:2px;flex-shrink:0;padding:1px 5px;font-size:10px}.qi-preview{flex-direction:column;gap:6px;display:flex}.qi-preview-chips{font-family:var(--mono-font), monospace;flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.qi-chip-kind{letter-spacing:.08em;text-transform:uppercase;border-radius:2px;padding:2px 7px;font-size:10px;font-weight:700}.qi-chip-kind.inc{color:var(--pos);background:#3fb9501a}.qi-chip-kind.exp{color:var(--info);background:#79c0ff1a}.qi-chip-amount{color:var(--text);font-size:13px;font-weight:700}.qi-chip-cat{background:var(--panel-2);color:var(--muted);border-radius:2px;padding:2px 6px}.qi-chip-date{color:var(--muted)}.qi-chip-account{color:var(--dim);font-size:10px}.qi-warnings{flex-direction:column;gap:3px;display:flex}.qi-warning{font-family:var(--mono-font), monospace;color:var(--warn);border-left:2px solid var(--warn);padding-left:6px;font-size:10px;display:block}.qi-error-row,.qi-success-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.qi-error-msg,.qi-success-msg{font-family:var(--mono-font), monospace;font-size:11px}.qi-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.qi-btn-confirm{padding:5px 14px;font-size:11px}.qi-btn-full{font-family:var(--mono-font), monospace;color:var(--muted);background:var(--panel-2);border:1px solid var(--border);cursor:pointer;transition:color var(--d-fast) var(--e-out), border-color var(--d-fast) var(--e-out);border-radius:3px;padding:5px 10px;font-size:11px}.qi-btn-full:hover{color:var(--text);border-color:var(--hairline)}.qi-btn-clear{font-family:var(--mono-font), monospace;color:var(--dim);cursor:pointer;transition:color var(--d-fast) var(--e-out);background:0 0;border:none;padding:4px 8px;font-size:13px}.qi-btn-clear:hover{color:var(--muted)}.qi-variant-toolbar .qi-root{padding:8px 20px}.card-last4-chips{gap:var(--sp-1);margin-bottom:var(--sp-1);flex-wrap:wrap;display:flex}.card-last4-chip{background:var(--panel-2);border:1px solid var(--hairline);font-family:var(--mono-font), monospace;color:var(--text);letter-spacing:.05em;border-radius:2px;align-items:center;gap:4px;padding:2px 6px;font-size:12px;display:inline-flex}.card-last4-chip__remove{cursor:pointer;color:var(--muted);transition:color var(--d-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0 2px;font-size:14px;line-height:1;display:inline-flex}.card-last4-chip__remove:hover{color:var(--neg)}.card-last4-hint{color:var(--dim);margin-top:var(--sp-1);font-size:11px}.runway-section{margin-bottom:1px}.runway-seg-wrap{padding:12px 20px 0}.runway-body{padding:16px 20px}.runway-hero{margin-bottom:12px}.runway-until{font-family:var(--mono-font), monospace;font-variant-numeric:tabular-nums;color:var(--text);transition:opacity var(--d-med) var(--e-out-cubic);font-size:28px;font-weight:700}.runway-days{font-family:var(--mono-font), monospace;font-variant-numeric:tabular-nums;color:var(--muted);transition:opacity var(--d-med) var(--e-out-cubic);margin-top:4px;font-size:16px}.runway-breakdown{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.runway-breakdown-ttl{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:10px;font-weight:700}.runway-breakdown-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.runway-breakdown-row{justify-content:space-between;align-items:baseline;display:flex}.runway-cat-name{font-family:var(--mono-font), monospace;color:var(--text);font-size:12px}.runway-cat-limit{font-family:var(--mono-font), monospace;font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.runway-empty{flex-direction:column;gap:10px;display:flex}.runway-empty-msg{font-family:var(--mono-font), monospace;color:var(--muted);font-size:12px}.runway-empty-cta{font-family:var(--mono-font), monospace;color:var(--accent);letter-spacing:.04em;font-size:11px;text-decoration:none}.runway-empty-cta:hover{text-decoration:underline}.page-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;margin-bottom:16px;padding:12px 0;display:flex}.page-title{font-family:var(--mono-font), monospace;letter-spacing:.04em;text-transform:uppercase;color:var(--text);margin:0;font-size:14px;font-weight:700}.btn-sm{padding:4px 10px;font-size:12px}.btn-xs{padding:3px 9px;font-size:10px}.categories-manager{flex-direction:column;gap:14px;display:flex}.segmented-control[role=tablist]{background:var(--border);border-radius:3px;align-self:flex-start;gap:1px;padding:1px;display:inline-flex}.seg-btn{font-family:var(--mono-font), monospace;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--panel);cursor:pointer;transition:color var(--d-fast), background var(--d-fast);border:0;padding:6px 14px;font-size:11px}.seg-btn:hover{color:var(--text)}.seg-btn.active{color:var(--accent);background:var(--panel-2)}.categories-list{background:var(--panel);border:1px solid var(--border);border-radius:3px;flex-direction:column;display:flex}.categories-empty{font-family:var(--mono-font), monospace;color:var(--muted);padding:18px 16px;font-size:12px}.category-row{border-bottom:1px solid var(--grid);grid-template-columns:28px minmax(180px,1fr) 90px 220px 90px;align-items:center;gap:14px;padding:10px 14px;display:grid}.category-row:last-child{border-bottom:0}.category-row:hover{background:var(--panel-2)}.category-row--archived{opacity:.55}.category-row-icon{background:var(--panel-2);width:26px;height:26px;font-family:var(--mono-font), monospace;color:var(--accent);border-radius:3px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.category-row-name{color:var(--text);align-items:center;gap:8px;min-width:0;font-size:13px;display:flex}.category-row-kind{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px}.category-row-limits{font-family:var(--mono-font), monospace;color:var(--muted);grid-template-columns:repeat(3,1fr);gap:6px;font-size:11px;display:grid}.category-row-actions{justify-content:flex-end;display:flex}.editable-cell{cursor:pointer;transition:background var(--d-fast);border-radius:2px;padding:2px 4px}.editable-cell:hover{background:var(--panel-3)}.inline-edit-input{background:var(--bg);border:1px solid var(--accent);color:var(--text);font-family:var(--mono-font), monospace;border-radius:2px;outline:none;padding:3px 6px;font-size:12px}.categories-add-btn{justify-content:center;width:100%;padding:12px}.categories-add-form{background:var(--panel);border:1px solid var(--border);border-radius:3px;gap:14px;padding:16px;display:grid}.form-row{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.badge{font-family:var(--mono-font), monospace;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;padding:1px 6px;font-size:9px;display:inline-flex}.badge-muted{color:var(--muted);background:var(--panel-2)}.sync-btn{border:1px solid var(--border);cursor:pointer;width:24px;height:20px;color:var(--muted);transition:color var(--d-fast), border-color var(--d-fast);background:0 0;border-radius:3px;justify-content:center;align-items:center;padding:0 4px;display:inline-flex;position:relative}.sync-btn:hover{color:var(--text);border-color:var(--hairline)}.sync-btn[data-state=idle]{color:var(--muted)}.sync-btn[data-state=syncing]{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 35%, transparent)}.sync-btn[data-state=stale]{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.sync-btn[data-state=error]{color:var(--muted);border-color:var(--border)}.sync-btn[data-state=syncing] svg{animation:1s linear infinite sync-spin}@keyframes sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-btn .sync-error-dot{background:var(--neg);border:1px solid var(--bg);border-radius:50%;width:6px;height:6px;position:absolute;top:-3px;right:-3px}.sync-popover{background:var(--panel-2);border:1px solid var(--border);z-index:120;border-radius:4px;min-width:260px;max-width:320px;max-height:60vh;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.sync-popover-inner{flex-direction:column;gap:0;display:flex}.sync-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:8px 12px;display:grid}.sync-row:last-child{border-bottom:none}.sync-row-name{font-family:var(--mono-font), monospace;color:var(--text);font-size:11px}.sync-row-time{font-family:var(--mono-font), monospace;color:var(--muted);font-size:10px}.sync-row-empty{font-family:var(--mono-font), monospace;color:var(--dim);text-align:center;padding:12px;font-size:11px}.sub-import-body{flex-direction:column;gap:12px;display:flex}.sub-import-hint{color:var(--muted);font-size:11px}.sub-import-textarea{resize:vertical;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm,3px);width:100%;color:var(--text);font-family:var(--mono-font), monospace;box-sizing:border-box;padding:8px;font-size:11px}.sub-import-sample-label{color:var(--muted);cursor:pointer;font-size:10px}.sub-import-sample-pre{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm,3px);font-family:var(--mono-font), monospace;color:var(--muted);white-space:pre-wrap;word-break:break-all;margin-top:6px;padding:8px;font-size:10px;overflow-x:auto}.sub-import-results{flex-direction:column;gap:4px;display:flex}.sub-import-msg-ok{color:var(--success);font-size:11px}.sub-import-msg-err{color:var(--danger);font-size:11px}.sub-import-err-list{flex-direction:column;gap:2px;margin:0;padding-left:16px;display:flex}.sub-import-err-item{color:var(--danger);font-size:10px}.sub-json-page{flex-direction:column;gap:12px;display:flex}.sub-json-hint{color:var(--muted);font-size:11px}.sub-json-textarea{resize:vertical;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm,3px);width:100%;color:var(--text);font-family:var(--mono-font), monospace;box-sizing:border-box;tab-size:2;padding:12px;font-size:12px;line-height:1.55}.sub-json-textarea:focus{border-color:var(--accent);outline:none}.sub-json-textarea-page{min-height:60vh}.sub-json-status{min-height:16px}.sub-json-status-idle{color:var(--dim);font-size:11px}.sub-json-status-ok{color:var(--pos);font-size:11px}.sub-json-status-err{color:var(--neg);font-size:11px}.sub-json-diff{color:var(--muted);margin-left:6px}.sub-json-confirm{background:var(--panel-3);border:1px solid var(--border);border-radius:var(--radius-sm,3px);font-family:var(--mono-font), monospace;color:var(--text);padding:8px 10px;font-size:11px}.sub-json-footer{justify-content:flex-end;gap:8px;display:flex}@keyframes toast-in{0%{opacity:0;transform:translate(32px)}to{opacity:1;transform:translate(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(32px)}}.toast-container{bottom:var(--space-4,16px);right:var(--space-4,16px);z-index:300;gap:var(--space-2,8px);pointer-events:none;flex-direction:column;align-items:flex-end;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm,3px);cursor:pointer;align-items:stretch;min-width:200px;max-width:360px;animation:.18s forwards toast-in;display:flex;overflow:hidden}.toast[data-leaving=true]{animation:.16s forwards toast-out}.toast-accent{flex-shrink:0;width:3px}.toast[data-tone=ok] .toast-accent{background:var(--pos)}.toast[data-tone=warn] .toast-accent{background:var(--warn)}.toast[data-tone=err] .toast-accent{background:var(--neg)}.toast-body{flex-direction:column;gap:2px;padding:8px 10px;display:flex}.toast-title{font-family:var(--mono-font), monospace;color:var(--text);font-size:11px;font-weight:600;line-height:1.4}.toast-sub{font-family:var(--mono-font), monospace;color:var(--dim);font-size:10px;line-height:1.4}.fo-list{flex-direction:column;display:flex}.fo-row{border-bottom:1px solid var(--grid)}.fo-row:last-child{border-bottom:0}.fo-row-inner{gap:var(--space-2);padding:var(--space-3) var(--space-4);flex-direction:column;display:flex}.fo-row-main{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.fo-row-client{font-size:var(--text-md);color:var(--text);font-weight:500}.fo-row-amount{font-size:var(--text-md);color:var(--pos);font-weight:600}.fo-row-meta{align-items:center;gap:var(--space-2);font-family:var(--mono-font), monospace;font-size:var(--text-xs);flex-wrap:wrap;display:flex}.fo-badge{font-family:var(--mono-font), monospace;font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;border-radius:2px;padding:1px 5px;font-weight:700}.fo-badge--planned{color:var(--info);background:color-mix(in srgb, var(--info) 10%, transparent)}.fo-badge--active{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.fo-badge--awaiting{color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent)}.fo-badge--completed{color:var(--pos);background:color-mix(in srgb, var(--pos) 8%, transparent)}.fo-badge--cancelled{color:var(--muted);background:color-mix(in srgb, var(--muted) 8%, transparent)}.fo-form-wrap{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--grid)}.fo-stage-list{flex-direction:column;gap:0;display:flex}.fo-stage-row{justify-content:space-between;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-bottom:1px solid var(--border);display:flex}.fo-stage-row:last-child{border-bottom:none}.fo-stage-label{font-size:var(--text-sm);color:var(--text);font-weight:600}.fo-stage-meta{font-family:var(--mono-font), monospace;font-size:var(--text-xs);color:var(--muted);margin-top:2px}.fo-stage-badge--pending{color:var(--muted)}.fo-stage-badge--paid{color:var(--pos);font-family:var(--mono-font), monospace;font-size:var(--text-xs);font-weight:700}.fo-order-bar{margin-top:var(--sp-2)}.fo-order-bar-label{font-family:var(--mono-font), monospace;font-size:var(--text-xs);color:var(--muted);margin-bottom:3px}.fo-warn{font-family:var(--mono-font), monospace;font-size:var(--text-xs);color:var(--warn);margin-top:var(--sp-1)}.fo-stage-pay-form{padding:var(--sp-2) var(--sp-3);background:var(--panel-2);border-bottom:1px solid var(--border);gap:var(--sp-2);flex-direction:column;display:flex}.fo-stage-pay-form .input{height:28px;font-size:var(--text-xs)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-countup]{opacity:1!important}.pf-bar .fill{transform:scaleX(1)!important}.qi-input-row,.qi-btn-full,.qi-btn-clear{transition:none!important}.topbar .pulse{opacity:.9;animation:none}}.cal-breadcrumb{align-items:center;gap:var(--space-2);font:500 var(--text-sm) / 1.2 var(--ui);color:var(--muted);padding:0 0 var(--space-4);display:flex}.cal-breadcrumb a{color:var(--muted);text-decoration:none}.cal-breadcrumb a:hover{color:var(--text)}.cal-breadcrumb-sep{color:var(--dim)}.cal-breadcrumb-cur{color:var(--text)}.tl-legend{gap:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--border);background:var(--panel);margin-bottom:var(--space-4);border-radius:4px;flex-wrap:wrap;display:flex}.tl-legend-item{font:500 var(--text-xs) / 1.2 var(--ui);color:var(--muted);align-items:center;gap:6px;display:flex}.tl-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tl-legend-glyph{font:700 var(--text-xs) / 1 var(--mono);letter-spacing:.05em}.tl-h{background:var(--panel);border:1px solid var(--border);padding:var(--space-4) var(--space-4) var(--space-6);margin-bottom:var(--space-4);border-radius:4px;overflow:hidden;container:tl/inline-size}.tl-h-hd{margin-bottom:var(--space-4);justify-content:space-between;align-items:baseline;display:flex}.tl-h-title{font:600 var(--text-xs) / 1.2 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.tl-h-sub{font:400 var(--text-xs) / 1.2 var(--mono);color:var(--dim)}.tl-track{height:auto;min-height:80px;position:relative}.tl-axis{background:var(--border);height:2px;margin:40px 0 8px;position:relative}.tl-tick{background:var(--grid);width:1px;position:absolute;top:0;bottom:0}.tl-tick-label{font:400 10px / 1 var(--mono);color:var(--dim);white-space:nowrap;position:absolute;top:6px;transform:translate(-50%)}.tl-today{background:var(--accent);z-index:2;width:1px;position:absolute;top:-32px;bottom:-8px}.tl-today-chip{font:700 9px / 1.2 var(--mono);color:var(--accent);white-space:nowrap;background:var(--panel);border:1px solid var(--accent);border-radius:2px;padding:2px 4px;position:absolute;top:-20px;transform:translate(-50%)}.tl-chips-layer{margin-top:4px;position:relative}.tl-chip{font:500 var(--text-xs) / 1.2 var(--ui);white-space:nowrap;cursor:pointer;z-index:1;border:1px solid #0000;border-radius:3px;align-items:center;gap:4px;max-width:160px;padding:3px 6px;text-decoration:none;transition:opacity .15s ease-out,transform .15s ease-out;display:flex;position:absolute}.tl-chip:hover{z-index:10;transform:translateY(-1px)}.tl-chip.is-faded{opacity:.25}.tl-chip-glyph{font:700 9px / 1 var(--mono);letter-spacing:.05em;flex-shrink:0}.tl-chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tl-chip-amt{font:600 10px / 1 var(--mono);flex-shrink:0;margin-left:2px}.tl-chip--event{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:color-mix(in srgb, var(--accent) 30%, transparent);color:var(--accent)}.tl-chip--subscription{background:color-mix(in srgb, var(--warn) 12%, transparent);border-color:color-mix(in srgb, var(--warn) 30%, transparent);color:var(--warn)}.tl-chip--loan{background:color-mix(in srgb, var(--neg) 12%, transparent);border-color:color-mix(in srgb, var(--neg) 30%, transparent);color:var(--neg)}.tl-chip--fund_target{background:color-mix(in srgb, var(--pos) 12%, transparent);border-color:color-mix(in srgb, var(--pos) 30%, transparent);color:var(--pos)}.tl-chip--txn_planned{background:color-mix(in srgb, var(--muted) 12%, transparent);border-color:color-mix(in srgb, var(--muted) 30%, transparent);color:var(--muted)}.tl-chip--trip{background:color-mix(in srgb, var(--accent-alt,var(--accent)) 15%, transparent);border-color:color-mix(in srgb, var(--accent-alt,var(--accent)) 40%, transparent);color:var(--accent-alt,var(--accent));border-radius:var(--radius-sm)}.tl-chip--band{white-space:nowrap;text-overflow:ellipsis;min-width:4ch;position:absolute;overflow:hidden}.tl-legend-dot--trip{background:var(--accent-alt,var(--accent))}.tl-legend-dot--event{background:var(--accent)}.tl-legend-dot--subscription{background:var(--warn)}.tl-legend-dot--loan{background:var(--neg)}.tl-legend-dot--fund_target{background:var(--pos)}.tl-legend-dot--txn_planned{background:var(--muted)}.mini-cal-dot--trip{background:var(--accent-alt,var(--accent))}.tl-pop{background:var(--panel-2);border:1px solid var(--hairline);min-width:180px;padding:var(--space-3);z-index:100;border-radius:4px;display:none;position:absolute;top:calc(100% + 4px);left:0}.tl-chip:hover .tl-pop{display:block}.tl-pop-label{font:600 var(--text-sm) / 1.3 var(--ui);color:var(--text);margin-bottom:2px}.tl-pop-date{font:400 10px / 1.2 var(--mono);color:var(--muted)}.tl-pop-amt{font:700 var(--text-sm) / 1.2 var(--mono);color:var(--text);margin-top:4px}.tl-empty{padding:var(--space-8) var(--space-4);text-align:center;justify-content:center;align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.tl-empty-title{font:600 var(--text-md) / 1.3 var(--ui);color:var(--muted)}.tl-empty-body{font:400 var(--text-sm) / 1.4 var(--ui);color:var(--dim);max-width:320px}@container tl (max-width:519px){.tl-axis,.tl-today{display:none}.tl-chips-layer{margin-top:var(--space-3);flex-direction:column;gap:4px;display:flex;position:static}.tl-chip{max-width:100%;position:static!important;top:auto!important}}@container tl (min-width:520px) and (max-width:759px){.tl-chip-label{max-width:60px}.tl-chip-amt{display:none}}@container tl (min-width:760px){.tl-chip-label{max-width:120px}}.mini-cal{background:var(--panel);border:1px solid var(--border);padding:var(--space-4);margin-bottom:var(--space-4);gap:var(--space-6);border-radius:4px;flex-wrap:wrap;display:flex}.mini-cal-month{flex:200px;min-width:200px}.mini-cal-month-hd{font:600 var(--text-xs) / 1.2 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-3)}.mini-cal-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.mini-cal-wd{font:600 9px / 24px var(--mono);text-align:center;color:var(--dim);text-transform:uppercase}.mini-cal-cell{cursor:pointer;border-radius:3px;min-height:44px;padding:2px 2px 6px;transition:background .1s ease-out;position:relative}.mini-cal-cell:hover{background:var(--panel-3)}.mini-cal-cell.is-empty{cursor:default;pointer-events:none}.mini-cal-cell.is-today{outline:1px solid var(--accent);outline-offset:-1px}.mini-cal-cell.is-selected{background:color-mix(in srgb, var(--accent) 12%, transparent)}.mini-cal-day{font:500 var(--text-xs) / 1 var(--mono);color:var(--text);text-align:center;padding-top:2px;display:block}.mini-cal-cell.is-today .mini-cal-day{color:var(--accent);font-weight:700}.mini-cal-cell.is-empty .mini-cal-day{color:var(--dim)}.mini-cal-dots{flex-wrap:nowrap;justify-content:center;gap:2px;margin-top:2px;display:flex;overflow:hidden}.mini-cal-dot{border-radius:50%;flex-shrink:0;width:4px;height:4px}.mini-cal-dot--event{background:var(--accent)}.mini-cal-dot--subscription{background:var(--warn)}.mini-cal-dot--loan{background:var(--neg)}.mini-cal-dot--fund_target{background:var(--pos)}.mini-cal-dot--txn_planned{background:var(--muted)}.mini-cal-more{font:400 8px / 1 var(--mono);color:var(--dim);text-align:center}.booking-form-amount{width:9ch}.booking-form-ccy{width:5ch}.ws-status-bar{background:var(--border);border-radius:2px;height:8px;display:flex;overflow:hidden}.ws-status-segment{flex:none;height:100%}.ws-status-legend{gap:var(--sp-2);font-size:var(--text-xs);grid-template-columns:1fr;display:grid}.ws-status-legend-row{align-items:center;gap:var(--sp-2);display:flex}.ws-status-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.src-cmp-strip{padding:var(--sp-3);border-bottom:1px solid var(--border)}.src-cmp-row{gap:var(--sp-3);padding:var(--sp-2) 0;grid-template-columns:minmax(80px,168px) 1fr auto;align-items:center;display:grid}.src-cmp-bar-track{background:var(--border);border-radius:2px;height:8px;position:relative;overflow:hidden}.src-cmp-bar-fill{border-radius:2px;min-width:2px;position:absolute;top:0;bottom:0;left:0}.orders-grid-wrap{overflow-x:auto}.orders-grid{border-collapse:collapse;width:100%;font-family:var(--mono-font), monospace;font-size:11px}.orders-grid th{text-align:left;background:var(--panel-2);border-bottom:1px solid var(--border);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);z-index:1;white-space:nowrap;padding:5px 8px;font-size:10px;font-weight:700;position:sticky;top:0}.orders-grid th.num,.orders-grid td.num{text-align:right;font-variant-numeric:tabular-nums}.orders-grid td{border-bottom:1px solid var(--grid);color:var(--text);white-space:nowrap;text-overflow:ellipsis;vertical-align:middle;max-width:160px;padding:5px 8px;overflow:hidden}.orders-grid tr:last-child td{border-bottom:0}.orders-grid tr:hover td,.orders-grid tr.orders-grid-addrow td{background:var(--panel-2)}.orders-grid tr.orders-grid-addrow td:hover{background:var(--panel-3)}.orders-grid td.orders-grid-chevron{cursor:pointer;width:20px;color:var(--muted);padding:0 4px}.orders-grid td.orders-grid-actions{width:28px;padding:0 4px}.orders-grid-delete-btn{cursor:pointer;color:var(--muted);transition:color var(--d-fast);background:0 0;border:none;padding:2px 4px;font-size:13px;line-height:1}.orders-grid-delete-btn:hover{color:var(--neg)}.orders-grid td .editable-cell{width:100%;display:block}.orders-grid-expandrow>td{background:var(--panel-2);padding:0}.orders-grid-addrow .inline-edit-input{box-sizing:border-box;width:100%}.orders-view-toggle{align-items:center;gap:var(--sp-2);display:flex}
