.rangeControl{position:relative;display:inline-flex;align-items:center;gap:8px}.rangeScopeLabel{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;white-space:nowrap}@media(max-width:720px){.rangeScopeLabel{display:none}}.rangePills{display:inline-flex;align-items:center;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:3px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;max-width:100%}.rangePill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;color:var(--muted);font:inherit;font-size:12px;font-weight:600;padding:5px 10px;border-radius:5px;cursor:pointer;white-space:nowrap;scroll-snap-align:start;transition:background-color .15s,color .15s;display:inline-flex;align-items:center;gap:4px}.rangePill:hover,.rangePill.active{color:var(--text);background:var(--panel-2)}.rangePill.custom{padding-right:12px}.rangePillSep{width:1px;height:16px;background:var(--border);margin:0 4px}.rangePopover{position:absolute;top:calc(100% + 6px);right:0;z-index:50;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:12px;min-width:320px;max-width:380px;box-shadow:0 8px 24px #0006}.rangeSection{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.rangeSectionHead{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.rangeSep{border-top:1px dashed var(--border);margin:8px 0}.rangeRow select{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font:inherit}.rangeRow{display:flex;gap:8px;align-items:end;margin-bottom:10px}.rangeRow.end{justify-content:flex-end}.rangeRow label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);flex:1}.rangeRow input[type=date]{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font:inherit;color-scheme:dark}.rangePresetMini{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:10px}@media(max-width:600px){.rangePopover{position:fixed;left:12px;right:12px;top:auto;bottom:calc(env(safe-area-inset-bottom,0) + 72px);width:auto;min-width:0}}.bottomNav{display:none}@media(max-width:880px){.bottomNav{grid-area:bottomnav;display:grid;grid-template-columns:repeat(5,1fr);background:var(--panel);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);position:fixed;left:0;right:0;bottom:0;z-index:20}.bottomTab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;color:var(--muted);font-size:10px;font-weight:600;text-decoration:none;min-height:56px}.bottomTab.active{color:var(--accent)}.bottomTab:active{background:var(--panel-2)}}.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cmdk-content{position:fixed;top:14vh;left:50%;transform:translate(-50%);width:min(560px,calc(100vw - 24px));max-height:70vh;background:var(--panel);border:1px solid var(--border);border-radius:12px;z-index:201;box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column;overflow:hidden}.cmdk-input-wrap{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border)}.cmdk-input-wrap>svg{color:var(--muted)}[cmdk-input]{flex:1;background:transparent;border:none;outline:none;color:var(--text);font:inherit;font-size:14px}.cmdk-close{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.cmdk-close:hover{color:var(--text);background:var(--panel-2)}[cmdk-list]{overflow-y:auto;padding:4px;flex:1;max-height:60vh}[cmdk-empty]{padding:20px;text-align:center;color:var(--muted);font-size:13px}[cmdk-group-heading]{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;padding:8px 10px 4px}[cmdk-item]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--text)}[cmdk-item][data-selected=true]{background:#6aa9ff1a}[cmdk-item][data-disabled=true]{opacity:.5;cursor:not-allowed}.cmdk-icon{color:var(--muted);display:inline-flex;align-items:center}.cmdk-label{flex:1;display:flex;align-items:center;gap:8px}.cmdk-hint{margin-left:auto;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:50%}.toastStack{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0));display:flex;flex-direction:column;gap:8px;z-index:100;pointer-events:none;max-width:min(420px,calc(100vw - 24px))}.toast{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:10px;padding:10px 12px;background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 20px #00000059;font-size:12px;color:var(--text);animation:toastIn .2s ease-out}@keyframes toastIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.toast-error{border-color:#f8717180}.toast-error .toastIcon{color:var(--bad)}.toast-info .toastIcon{color:var(--accent)}.toast-success .toastIcon{color:var(--good)}.toastIcon{display:inline-flex;padding-top:1px}.toastBody{min-width:0}.toastTitle{font-weight:600;line-height:1.3}.toastDetail{margin-top:2px;color:var(--muted);font-size:11px;line-height:1.4;overflow-wrap:anywhere}.toastClose{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:2px;display:inline-flex}.toastClose:hover{color:var(--text)}@media(max-width:880px){.toastStack{right:8px;left:8px;bottom:calc(80px + env(safe-area-inset-bottom,0));max-width:none}}.alertsPopRoot{position:relative}.alertsPop{position:absolute;top:calc(100% + 6px);right:0;z-index:50;width:min(360px,calc(100vw - 24px));background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px #00000073;overflow:hidden;animation:alertsPopIn .15s ease-out}@keyframes alertsPopIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.alertsPopHead{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border)}.alertsPopTitle{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.alertsPopClose{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:2px;display:inline-flex}.alertsPopClose:hover{color:var(--text)}.alertsPopBody{max-height:min(60vh,480px);overflow-y:auto}.alertsPopEmpty{display:flex;align-items:center;gap:8px;padding:20px 14px;color:var(--muted);font-size:12px}.alertsPopEmpty.bad{color:var(--bad)}.alertsPopHint{color:var(--muted);font-size:11px;margin-top:2px}.alertsPopList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.alertsPopItem{display:grid;grid-template-columns:auto 1fr auto;gap:8px;padding:8px 12px;border-bottom:1px solid var(--border);font-size:12px;align-items:start}.alertsPopItem:last-child{border-bottom:none}.alertsPopIcon{display:inline-flex;padding-top:2px;color:var(--muted)}.alertsPopItem.sev-warn .alertsPopIcon{color:var(--warn, #fbbf24)}.alertsPopItem.sev-critical .alertsPopIcon{color:var(--bad)}.alertsPopText{min-width:0}.alertsPopItemTitle{font-weight:600;color:var(--text);line-height:1.3}.alertsPopItemDetail{color:var(--muted);font-size:11px;line-height:1.4;margin-top:2px;overflow-wrap:anywhere}.alertsPopItemLink{display:inline-block;margin-top:4px;color:var(--accent);font-size:11px;font-weight:600;text-decoration:none}.alertsPopItemLink:hover{text-decoration:underline}.alertsPopItemDismiss{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:2px;display:inline-flex;align-self:start}.alertsPopItemDismiss:hover{color:var(--text)}@media(max-width:880px){.alertsPop{position:fixed;right:8px;left:8px;top:56px;width:auto}}.shell{display:grid;grid-template-columns:220px 1fr;grid-template-rows:56px 1fr;grid-template-areas:"sidebar topbar" "sidebar content";min-height:100vh;min-height:100dvh}.shell.collapsed{grid-template-columns:60px 1fr}.sidebar{grid-area:sidebar;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;height:100dvh;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:14px 12px;height:56px;border-bottom:1px solid var(--border)}.brandTitle{font-weight:700;font-size:14px;letter-spacing:.2px}.iconBtn{background:transparent;border:none;color:var(--text);padding:6px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.iconBtn:hover{background:var(--panel-2)}.nav{display:flex;flex-direction:column;padding:8px;gap:2px}.navItem{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;color:var(--muted);font-size:13px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s}.navItem:hover,.navItem.active{background:var(--panel-2);color:var(--text)}.navBadge{margin-left:auto;background:var(--accent);color:#0b1322;font-size:10px;font-weight:700;padding:1px 6px;border-radius:999px;min-width:18px;text-align:center}.cmdHint{margin:auto 8px 8px;background:var(--panel-2);border:1px solid var(--border);color:var(--muted);font-size:11px;padding:6px 10px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;text-align:left}.cmdHint:hover{color:var(--text);border-color:var(--accent)}.topbarBell,.topbarCmd{position:relative;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:6px 8px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.topbarBell:hover,.topbarCmd:hover{border-color:var(--accent);color:var(--accent)}.topbarBellDot{position:absolute;top:-4px;right:-4px;background:var(--accent);color:#0b1322;font-size:9px;font-weight:700;padding:1px 5px;border-radius:999px;min-width:16px;text-align:center;line-height:1.3;border:2px solid var(--bg)}.topbar{grid-area:topbar;display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:12px;background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbarTitle{font-weight:600;font-size:15px}.topbarRight{display:flex;align-items:center;gap:8px}.content{grid-area:content;padding:16px;overflow-x:hidden;min-width:0}.content>*{max-width:100%}.topbarRefresh{background:var(--panel);border:1px solid var(--border);color:var(--text);padding:6px 8px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.topbarRefresh:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.topbarRefresh:disabled{opacity:.6;cursor:default}.topbarRefresh .spin,.topbarCmd .spin{animation:mmSpin .8s linear infinite}@keyframes mmSpin{to{transform:rotate(360deg)}}.pullIndicator{position:fixed;top:56px;left:50%;z-index:20;color:var(--accent);pointer-events:none;opacity:0;transition:opacity .15s;background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 10px;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600}@media(min-width:881px){.pullIndicator{display:none}}@media(max-width:880px){.shell,.shell.collapsed{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"topbar" "content" "bottomnav"}.sidebar{display:none}.content{padding:12px;padding-bottom:calc(72px + env(safe-area-inset-bottom,0))}.topbar{flex-wrap:wrap;align-items:center;padding:8px 12px;gap:6px 8px;height:auto;min-height:48px}.topbarTitle{font-size:14px;flex:1 1 auto}.topbarRight{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;width:100%}.rangeControl{width:100%}.rangePills{flex-wrap:wrap;overflow-x:visible;max-width:100%;justify-content:flex-start}.grid,.heroKpis,.kpis{grid-template-columns:1fr!important;gap:10px}.span2{grid-column:1!important}.panel{padding:12px;min-width:0}.panel>*{min-width:0;max-width:100%}.tsChartWrap,.tsChart,.recharts-wrapper,canvas,svg{max-width:100%}.txnTable,.holdingsTable,table.data{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.pfKpis{grid-template-columns:repeat(2,1fr)!important}.pfStat{padding:10px;min-width:0}.pfStatValue{font-size:16px}.invValue{font-size:22px}.invTitle{font-size:12px}.invHeader{flex-wrap:wrap;gap:10px}.invHeaderRight{width:100%}}@media(max-width:480px){.pfKpis,.heroKpis{grid-template-columns:1fr!important}.topbarTitle{flex:1 1 100%}.rangePill{font-size:11px;padding:4px 8px}}.skeleton{background:linear-gradient(90deg,var(--panel-2) 0%,rgba(106,169,255,.06) 50%,var(--panel-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.heroKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:720px){.heroKpis{grid-template-columns:repeat(2,1fr)}}.heroCard{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px;display:flex;flex-direction:column;gap:6px;min-height:110px}.heroCard.loading{opacity:.6}.heroLabel{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.heroValue{font-size:22px;font-weight:700;line-height:1.1;color:var(--text)}.heroSpark{flex:1;min-height:28px}.heroDelta{display:flex;align-items:center;font-size:11px;min-height:14px}.delta{display:inline-flex;align-items:center;gap:3px;font-weight:600}.delta.good{color:var(--good)}.delta.bad{color:var(--bad)}.delta.neutral{color:var(--muted)}.heroError{grid-column:1 / -1;background:#f8717114;border:1px solid rgba(248,113,113,.3);color:var(--bad);padding:12px 14px;border-radius:8px;font-size:13px}.cashFlow{display:flex;flex-direction:column;gap:8px}.cashFlowHeader{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.cashFlowRange{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.cashFlowGranToggle{display:inline-flex;gap:2px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:2px}.cfgBtn{background:transparent;border:none;color:var(--muted);font:inherit;font-size:10px;font-weight:700;padding:3px 7px;border-radius:4px;cursor:pointer}.cfgBtn:hover{color:var(--text)}.cfgBtn.active{background:var(--accent);color:#0b1322}.modeCard{display:flex;flex-direction:column;gap:6px;background:var(--panel-2);border-radius:8px;padding:14px;height:100%}.modeCard.error{color:var(--bad)}.modeHeader{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.modeHint{display:inline-flex;align-items:center;margin-left:2px;color:var(--muted);cursor:help;opacity:.7;text-transform:none;letter-spacing:0}.modeHint:hover{color:var(--text);opacity:1}.modeValue{font-size:32px;font-weight:700;line-height:1}.modeDetail{color:var(--muted);font-size:12px}.modeReserve{display:flex;flex-direction:column;gap:3px;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:11px}.modeReserveRow{display:flex;justify-content:space-between;align-items:baseline;color:var(--muted);gap:8px}.modeReserveRow .num{color:var(--text);font-variant-numeric:tabular-nums}.modeReserveRow.total{border-top:1px dashed var(--border);padding-top:3px;margin-top:2px;color:var(--text);font-weight:600}.modeReserveHint{color:var(--muted);font-size:10px}.modeFootnote{margin-top:auto;font-size:11px;color:var(--muted);background:#6aa9ff0f;border-radius:6px;padding:6px 8px}.modeFootnote code{background:var(--panel);padding:1px 4px;border-radius:3px}.modeError{color:var(--bad);font-size:12px}.modeCard.negative{box-shadow:inset 0 0 0 1px #f8717166}.modeCard .bad{color:var(--bad);font-weight:700}.modeFix{margin-top:auto;background:#f8717114;border:1px dashed rgba(248,113,113,.4);color:var(--bad);font-size:11px;font-weight:500;padding:8px 10px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;text-align:left;line-height:1.3}.modeFix:hover{background:#f8717126;border-style:solid}.modeCalibrate{position:relative;margin-top:auto;background:var(--panel);border:1px solid var(--accent);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.modeCalibrateClose{position:absolute;top:4px;right:4px;background:transparent;border:none;color:var(--muted);cursor:pointer;padding:2px}.modeCalibrateClose:hover{color:var(--text)}.modeCalibrateLabel{font-size:11px;color:var(--text);padding-right:16px}.modeCalibrateRow{display:flex;align-items:center;gap:4px;font-size:14px}.modeCalibrateRow input{flex:1;min-width:0;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font-size:14px;font-variant-numeric:tabular-nums}.modeCalibrateRow .btn{padding:5px 12px;font-size:12px}.modeCalibrateHint{font-size:10px;color:var(--muted);line-height:1.4}.topCategories{display:flex;flex-direction:column;gap:10px}.topCatRow{display:grid;grid-template-rows:auto auto auto;gap:2px}.topCatHeader{display:flex;justify-content:space-between;font-size:13px}.topCatName{color:var(--text);font-weight:500}.topCatAmt{color:var(--text);font-variant-numeric:tabular-nums}.topCatBar{height:4px;background:var(--panel-2);border-radius:2px;overflow:hidden}.topCatFill{height:100%;background:var(--accent);border-radius:2px;transition:width .3s ease}.topCatPct{font-size:10px;color:var(--muted)}.alertsList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.alertRow{display:grid;grid-template-columns:24px 1fr 24px;gap:10px;align-items:start;background:var(--panel-2);border-radius:8px;padding:10px 12px;font-size:13px}.alertRow.severity-info .alertIcon{color:var(--accent)}.alertRow.severity-warn .alertIcon{color:var(--warn)}.alertRow.severity-critical .alertIcon{color:var(--bad)}.alertIcon{display:flex;align-items:center;justify-content:center;padding-top:1px}.alertBody{display:flex;flex-direction:column;gap:2px;min-width:0}.alertTitle{font-weight:600;color:var(--text);text-decoration:none}.alertTitle:hover{text-decoration:underline}.alertDetail{color:var(--muted);font-size:12px}.alertDismiss{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:2px;border-radius:4px;display:flex;align-items:center;justify-content:center}.alertDismiss:hover{color:var(--text);background:var(--panel)}.alertsEmpty{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;padding:14px 6px}.alertsEmptyHint{font-size:11px}.recentActivity{list-style:none;margin:0;padding:0}.recentRow{display:grid;grid-template-columns:50px 1fr 110px 90px;gap:10px;align-items:center;padding:8px 6px;border-bottom:1px solid var(--border);font-size:13px}.recentRow:last-child{border-bottom:none}.recentDate{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.recentVendor{color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recentVendor:hover{color:var(--accent)}.recentTag{color:var(--muted);font-size:11px;background:var(--panel-2);padding:2px 6px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.recentAmt{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}@media(max-width:720px){.recentRow{grid-template-columns:44px 1fr 80px}.recentTag{display:none}}.goalsEmpty{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px;padding:14px 6px}.goalsLink{font-size:11px;color:var(--accent)}.goalsList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.goalRow{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;background:var(--panel-2);padding:8px 10px;border-radius:8px}.goalText{display:flex;flex-direction:column;gap:2px;min-width:0}.goalName{font-weight:600;font-size:13px}.goalMeta{font-size:11px;color:var(--text)}.goalMeta strong{font-variant-numeric:tabular-nums}.goalRing{display:block}.editorBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:16px;z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.editor{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:460px;max-height:calc(100dvh - 80px);overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 10px 30px #00000080}.editorHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.editorHeader h3{margin:0;font-size:15px}.editorBody{display:flex;flex-direction:column;gap:14px;padding:16px}.editorRow{display:grid;grid-template-columns:1fr 1fr;gap:12px}.editorField{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.editorField input,.editorField select{font-size:14px;text-transform:none;letter-spacing:0;font-weight:400;color:var(--text);padding:8px 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px}.editorField input:focus,.editorField select:focus{outline:2px solid var(--accent);outline-offset:-1px}.editorField input[disabled]{opacity:.6}.editorToggle{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;cursor:pointer;background:var(--panel-2);padding:10px 12px;border-radius:6px;font-size:13px}.editorToggle input{accent-color:var(--accent);margin-top:2px}.hint-inline{color:var(--muted);font-size:11px;margin-top:2px}.editorSuggestions{background:#6aa9ff0f;border:1px dashed var(--border);border-radius:8px;padding:10px 12px}.suggestionsHeader{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:6px}.suggestionsRow{display:flex;flex-wrap:wrap;gap:6px}.suggestionPill{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:6px 10px;font:inherit;font-size:12px;cursor:pointer;display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.suggestionPill:hover{border-color:var(--accent)}.suggestionLabel{color:var(--muted);font-size:10px}.suggestionValue{font-weight:600}.suggestionsFootnote{color:var(--muted);font-size:10px;margin-top:6px}.editorFooter{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border)}@media(max-width:600px){.editor{max-width:none;margin-top:auto;margin-bottom:0;border-bottom-left-radius:0;border-bottom-right-radius:0;align-self:stretch;max-height:90dvh;padding-bottom:env(safe-area-inset-bottom,0)}.editorBackdrop{align-items:flex-end;padding:0}}.budgetBoard{display:flex;flex-direction:column;gap:16px}.budgetActions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.budgetActions .btn{display:inline-flex;align-items:center;gap:6px}.budgetUncategorized{font-size:12px;color:var(--warn);background:#fbbf2414;border:1px solid rgba(251,191,36,.3);padding:6px 10px;border-radius:6px}.budgetEmpty{background:var(--panel-2);padding:18px;border-radius:8px;color:var(--muted);font-size:13px}.budgetList{display:flex;flex-direction:column;gap:8px}.budgetRow{background:var(--panel-2);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.budgetRow.tone-over{box-shadow:inset 0 0 0 1px #f8717166}.budgetRow.tone-warn{box-shadow:inset 0 0 0 1px #fbbf244d}.budgetRowHeader{display:grid;grid-template-columns:1fr auto auto auto;gap:10px;align-items:center;font-size:13px}.budgetCategory{background:transparent;border:none;color:var(--text);font:inherit;font-weight:600;cursor:pointer;text-align:left;padding:0;display:inline-flex;align-items:center;gap:6px}.budgetCategory:hover{color:var(--accent)}.budgetCadence{text-transform:uppercase;font-size:10px;font-weight:700;color:var(--muted);letter-spacing:.6px;background:var(--panel);padding:2px 6px;border-radius:3px}.budgetAmounts{font-variant-numeric:tabular-nums;color:var(--text)}.budgetRollin{color:var(--muted);font-size:11px;margin-left:6px}.budgetDelete{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.budgetDelete:hover{color:var(--bad);background:var(--panel)}.budgetBar{position:relative;height:8px;background:var(--panel);border-radius:4px;overflow:hidden}.budgetBarFill{height:100%;background:var(--accent);border-radius:4px;transition:width .3s ease}.tone-warn .budgetBarFill{background:var(--warn)}.tone-over .budgetBarFill{background:var(--bad)}.budgetBarOver{position:absolute;top:0;left:100%;height:100%;background:var(--bad);opacity:.6;border-radius:0 4px 4px 0}.budgetBarPace{position:absolute;top:-2px;bottom:-2px;width:1px;background:var(--text);opacity:.5}.budgetMeta{display:flex;justify-content:space-between;font-size:11px;color:var(--text)}.budgetMeta .muted{color:var(--muted)}.budgetUnbudgeted{margin-top:8px;padding-top:12px;border-top:1px dashed var(--border)}.budgetUnbudgetedHeader{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-weight:600}.budgetChips{display:flex;flex-wrap:wrap;gap:4px}.budgetChip{background:var(--panel-2);border:1px dashed var(--border);color:var(--muted);padding:3px 8px;border-radius:4px;font-size:11px;cursor:pointer}.budgetChip:hover{border-color:var(--accent);color:var(--text)}@media(max-width:720px){.budgetRowHeader{grid-template-columns:1fr auto auto}.budgetCadence{display:none}}.scenarioPlanner{display:flex;flex-direction:column;gap:12px}.spHeader{font-size:12px;color:var(--muted);background:#6aa9ff0f;border:1px dashed var(--border);padding:8px 12px;border-radius:6px}.spLayout{display:grid;grid-template-columns:320px 1fr;gap:16px}@media(max-width:880px){.spLayout{grid-template-columns:1fr}}.spControls{display:flex;flex-direction:column;gap:10px;background:var(--panel-2);border-radius:8px;padding:12px}.spDraftBar{display:flex;gap:8px;align-items:center}.spName{flex:1;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:5px;padding:6px 8px;font:inherit}.spBaseline{display:inline-flex;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--border);padding:4px 8px;border-radius:5px;cursor:pointer;color:var(--muted)}.spBaseline input{accent-color:var(--accent)}.spStepList{display:flex;flex-direction:column;gap:6px}.spEmpty{font-size:12px;color:var(--muted);text-align:center;padding:16px 8px;border:1px dashed var(--border);border-radius:6px}.spStep{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:8px}.spStepHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.spStepKind{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.spStepBody{display:grid;grid-template-columns:1fr auto auto;gap:6px;align-items:center}.spStepBody select,.spStepBody input[type=text],.spStepBody input[type=number]{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:4px 6px;font-size:12px}.spStepMode{display:inline-flex;gap:3px;align-items:center;color:var(--muted);font-size:11px}.spStepMode input{accent-color:var(--accent)}.spStepSlider{display:inline-flex;align-items:center;gap:5px;grid-column:1 / -1}.spStepSlider input[type=range]{flex:1;accent-color:var(--accent)}.spStepVal{font-weight:600;font-variant-numeric:tabular-nums;min-width:36px;text-align:right;font-size:12px}.spStepVal.good{color:var(--good)}.spStepVal.bad{color:var(--bad)}.spDel{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:2px}.spDel:hover{color:var(--bad)}.spAdd{display:flex;flex-wrap:wrap;gap:4px}.spAdd .btn{font-size:11px;padding:4px 8px;display:inline-flex;align-items:center;gap:4px}.spHorizon{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--muted)}.spHorizonBtn{background:var(--panel);border:1px solid var(--border);color:var(--muted);padding:3px 8px;border-radius:4px;cursor:pointer;font-size:11px;font-weight:600}.spHorizonBtn.active{background:var(--accent);color:#0b1322;border-color:var(--accent)}.spActions{display:flex;gap:6px}.spActions .btn{flex:1;display:inline-flex;justify-content:center;align-items:center;gap:4px}.spSavedSection{border-top:1px solid var(--border);padding-top:8px}.spSavedHeader{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;display:flex;align-items:center;gap:6px;margin-bottom:4px}.spLink{background:transparent;border:none;color:var(--accent);cursor:pointer;padding:0;font:inherit;font-size:11px;margin-left:auto;display:inline-flex;align-items:center;gap:4px}.spLink:hover{text-decoration:underline}.spSavedList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.spSavedList li{display:flex;align-items:center;justify-content:space-between}.spChartArea{display:flex;flex-direction:column;gap:10px}.spImpact{background:var(--panel-2);border-radius:8px;padding:10px 12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}.spImpactRow{display:flex;gap:6px;align-items:center;font-size:13px}.spImpactRow.callout{color:var(--accent);font-weight:600}.spImpactRow .lbl{color:var(--muted);font-size:11px}.spImpactRow .val{font-weight:700;font-variant-numeric:tabular-nums;margin-left:auto}.spImpactRow .val.good{color:var(--good)}.spImpactRow .val.bad{color:var(--bad)}.spChart{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px}.spBaselineNote{font-size:11px;color:var(--muted)}.tsChartWrap{position:relative;width:100%}.tsChart{width:100%}.tsHoverBox{position:absolute;top:6px;left:6px;background:#161a22eb;border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-size:11px;pointer-events:none;z-index:2;min-width:120px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.tsHoverDate{color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:4px}.tsHoverRow{display:grid;grid-template-columns:8px 1fr auto;gap:6px;align-items:center;padding:1px 0}.tsHoverDot{width:8px;height:8px;border-radius:2px}.tsHoverLabel{color:var(--text)}.tsHoverValue{font-variant-numeric:tabular-nums;font-weight:600}.pfKpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-bottom:12px}.pfStat{background:var(--panel-2);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.pfStatLabel{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.pfStatValue{font-size:18px;font-weight:700;line-height:1.2;font-variant-numeric:tabular-nums}.pfStatSub{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.pfStat.good .pfStatValue{color:var(--good)}.pfStat.bad .pfStatValue{color:var(--bad)}.holdingsWrap{width:100%;overflow-x:auto}.holdingsTable{width:100%;border-collapse:collapse;font-size:13px}.holdingsTable th{text-align:left;padding:8px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;border-bottom:1px solid var(--border);white-space:nowrap}.holdingsTable th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.holdingsTable th.sortable:hover{color:var(--text)}.holdingsTable td{padding:8px;border-bottom:1px solid var(--border);white-space:nowrap}.holdingsTable td.num{font-variant-numeric:tabular-nums}.holdingsTable td.small{font-size:11px}.holdingTicker{font-weight:700;color:var(--text);text-decoration:none}.holdingTicker:hover{color:var(--accent)}.driftBars{display:flex;flex-direction:column;gap:8px}.driftRow{display:grid;grid-template-columns:80px 1fr 160px;gap:8px;align-items:center;font-size:12px}.driftLabel{font-weight:500}.driftTrack{position:relative;height:10px;background:var(--panel);border-radius:5px;overflow:visible}.driftCurrent{height:100%;border-radius:5px;transition:width .3s ease}.driftTarget{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--text);opacity:.7}.driftValues{display:flex;gap:4px;align-items:center;font-variant-numeric:tabular-nums;font-size:11px;flex-wrap:wrap;justify-content:flex-end}.driftValues .muted{color:var(--muted)}.driftValues .delta{font-weight:600;padding:1px 4px;border-radius:3px;background:var(--panel)}.driftValues .delta.over{color:var(--bad)}.driftValues .delta.under,.driftRow.off .driftLabel{color:var(--warn)}.contribRoom{display:flex;flex-direction:column;gap:10px}.contribRow{display:flex;flex-direction:column;gap:4px}.contribLabel{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;font-size:12px}.contribBar{height:6px;background:var(--panel);border-radius:3px;overflow:hidden}.contribFill{height:100%;transition:width .3s ease}.contribValues{display:flex;justify-content:space-between;gap:8px;font-size:11px}.contribValues strong{font-variant-numeric:tabular-nums}.contribEmpty{font-size:11px;color:var(--muted);padding:8px}.contribBucketTag{font-size:9px;padding:2px 6px;border-radius:3px;background:#6aa9ff26;color:var(--accent);text-transform:uppercase;letter-spacing:.5px;font-weight:700}.contribHistory{margin-top:6px;padding:6px 8px;background:var(--panel);border-radius:4px;display:flex;flex-direction:column;gap:4px}.contribHistHeader{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:2px}.contribHistRow{display:grid;grid-template-columns:40px 80px 1fr;gap:8px;align-items:center;font-size:11px}.contribHistYear{color:var(--muted);font-weight:600}.contribHistAmt{font-variant-numeric:tabular-nums;text-align:right}.contribHistBar{height:4px;background:var(--panel-2);border-radius:2px;overflow:hidden}.contribHistFill{height:100%;background:var(--muted)}.contribOverrides{margin-top:6px;padding:6px 8px;background:#6aa9ff0f;border-left:2px solid var(--accent);border-radius:4px;font-size:11px;color:var(--muted)}.contribOverrides strong{color:var(--text)}.insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.insightCard{background:var(--panel-2);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:10px}.insightCard.tone-warn{box-shadow:inset 0 0 0 1px #fbbf2466}.insightHeader{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.badge{margin-left:auto;font-size:9px;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px;font-weight:700}.badge.warn{background:#fbbf242e;color:var(--warn)}.insightStats{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:6px}.insightStat{background:var(--panel);padding:8px;border-radius:6px}.insightStat .lbl{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.insightStat .val{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}.insightStat .sub{font-size:9px;color:var(--muted)}.insightList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px;font-size:12px}.insightList:not(.stack) li{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;padding:3px 0;border-bottom:1px solid var(--border)}.insightList:not(.stack) li:last-child{border-bottom:none}.insightList .num{font-variant-numeric:tabular-nums;font-weight:600}.insightList .muted{font-size:11px}.insightList.stack li{display:grid;grid-template-columns:12px 1fr;gap:8px;align-items:start;padding:6px;background:var(--panel);border-radius:4px;font-size:12px}.insightList.stack li.flag-warn{color:var(--warn)}.insightList.stack li.flag-info{color:var(--text)}.insightHint{font-size:11px;color:var(--muted);margin:0;padding:6px 8px;background:#6aa9ff0f;border-radius:4px}.insightOverrideBtn{margin-top:4px;align-self:flex-start;background:transparent;border:1px dashed var(--border);color:var(--muted);font-size:11px;padding:4px 8px;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.insightOverrideBtn:hover{color:var(--text);border-color:var(--accent)}.insightOverride{display:flex;flex-direction:column;gap:6px;padding:8px;background:var(--panel);border:1px solid var(--accent);border-radius:6px}.insightOverrideLabel{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);font-weight:600}.insightOverrideRow{display:flex;gap:4px;align-items:center;font-size:13px}.insightOverrideRow input{flex:1;min-width:0;background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font:inherit;font-variant-numeric:tabular-nums}.insightOverrideRow .btn{padding:5px 10px;font-size:12px}.insightOverrideHint{font-size:10px;color:var(--muted);line-height:1.4}.invHeader{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.invTitle{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.invValue{font-size:28px;font-weight:700;line-height:1.1;font-variant-numeric:tabular-nums}.invRange{font-size:11px;color:var(--muted)}.invToggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:var(--panel);border:1px solid var(--border);padding:6px 10px;border-radius:6px;cursor:pointer}.invToggle input{accent-color:var(--accent)}.invMissing{margin-top:8px;font-size:11px;color:var(--warn);background:#fbbf2414;border:1px solid rgba(251,191,36,.2);padding:6px 10px;border-radius:4px}.invAccountList{list-style:none;margin:0;padding:0}.invAccountList li{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:8px 6px;border-bottom:1px solid var(--border);font-size:13px}.invAccountList li:last-child{border-bottom:none}.invAccountList a{display:inline-flex;align-items:center;gap:6px;color:var(--text);text-decoration:none;font-weight:500}.invAccountList a:hover{color:var(--accent)}.muted.small,.small{font-size:11px}.invDrillHeader{display:flex;align-items:center;gap:12px;margin-bottom:16px}.invBack{background:var(--panel-2);border:1px solid var(--border);border-radius:6px;padding:4px 8px;color:var(--muted);font-size:12px;text-decoration:none;display:inline-flex;align-items:center;gap:4px}.invBack:hover{color:var(--text);border-color:var(--accent)}.invModeToggle{display:inline-flex;align-items:center;gap:4px;background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:3px;margin-left:auto}.invModeToggle button{background:transparent;border:none;color:var(--muted);padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer}.invModeToggle button.active{background:var(--panel-2);color:var(--text)}.invTickerKpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;margin-bottom:16px}.invTickerKpi{background:var(--panel-2);border-radius:8px;padding:10px 12px}.invTickerKpi .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.invTickerKpi .val{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}.invTickerKpi.good .val{color:var(--good)}.invTickerKpi.bad .val{color:var(--bad)}.invLotTable{width:100%;border-collapse:collapse;font-size:12px}.invLotTable th,.invLotTable td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--border)}.invLotTable th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.invLotTable td.num{text-align:right;font-variant-numeric:tabular-nums}.filtersBar{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px;margin-bottom:12px}.filtersBarRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.filtersField{display:flex;flex-direction:column;gap:2px}.filtersField label{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.filtersField input,.filtersField select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:5px;padding:5px 7px;font-size:13px;color-scheme:dark}.filtersField input:focus,.filtersField select:focus{outline:2px solid var(--accent);outline-offset:-1px}.filtersBarFooter{display:flex;justify-content:space-between;align-items:center;margin-top:8px;gap:8px}.filtersCount{font-size:11px;color:var(--muted);display:inline-flex;align-items:center;gap:4px}.filtersBarFooter .btn{font-size:11px;padding:3px 8px;display:inline-flex;align-items:center;gap:4px}.savedViews{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:8px}.savedView{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:3px 8px;border-radius:4px;font-size:11px;cursor:pointer;display:inline-flex;align-items:center;gap:4px}.savedView:hover{border-color:var(--accent)}.savedView.userView{background:#6aa9ff1a}.savedView.add{border-style:dashed;color:var(--muted)}.savedViewWrap{display:inline-flex;align-items:stretch}.savedViewWrap .savedView{border-top-right-radius:0;border-bottom-right-radius:0}.savedViewDel{background:var(--panel-2);border:1px solid var(--border);border-left:none;color:var(--muted);padding:3px 6px;border-top-right-radius:4px;border-bottom-right-radius:4px;cursor:pointer}.savedViewDel:hover{color:var(--bad)}.savedViewsSep{width:1px;height:14px;background:var(--border);margin:0 4px}.cell{display:flex;align-items:center;padding:4px 8px;min-height:28px;border-radius:4px;cursor:text;font-size:13px;outline:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;background:transparent;border:1px solid transparent;color:var(--text);text-align:left}.cell:hover{background:#6aa9ff0f}.cell:focus{outline:2px solid var(--accent);outline-offset:-2px}.cell.ro{cursor:default;color:var(--muted)}.cell.ro:hover{background:transparent}.cell.editing{background:var(--panel-2);border-color:var(--accent);padding:2px;cursor:default}.cellInput{background:transparent;border:none;outline:none;color:var(--text);font:inherit;width:100%;padding:2px 6px}.cellInput[type=number],.cellInput[type=date]{color-scheme:dark}.cellSelect{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;font:inherit;padding:2px 6px;width:100%}.cellCheckbox{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.cellCheckbox input{accent-color:var(--accent);cursor:pointer}.cellTextarea{background:transparent;border:none;outline:none;color:var(--text);font:inherit;width:100%;min-height:28px;padding:2px 6px;resize:vertical}.cellPlaceholder{color:var(--muted);font-style:italic}.txnTableWrap{background:var(--panel);border:1px solid var(--border);border-radius:8px;height:70vh;height:70dvh;overflow:auto;position:relative}.txnTable{min-width:980px}.txnRow{display:grid;grid-template-columns:32px 100px minmax(180px,1fr) 100px 140px 140px 120px 120px 40px 40px;align-items:center;border-bottom:1px solid var(--border);padding:0 8px;gap:4px}.txnRow.header{position:sticky;top:0;z-index:2;background:var(--panel-2);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding:8px;height:36px;border-bottom:1px solid var(--border)}.txnRow.selected{background:#6aa9ff0f}.txnRow.loading{color:var(--muted)}.txnRow:hover:not(.header){background:#6aa9ff0a}.txnRow.selected:hover{background:#6aa9ff1a}.cellSel{display:flex;align-items:center;justify-content:center}.cellSel input{accent-color:var(--accent);cursor:pointer}.th,.td{display:flex;align-items:center;min-width:0}.colAmount,.colVerified,.colReimb{justify-content:flex-end}.txnVendorCell{display:flex;align-items:center;gap:4px;min-width:0}.txnKindBtn{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.txnKindBtn:hover{background:var(--panel-2)}.txnVendorCell .cell{flex:1;min-width:0}.kindDot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.kindDot.expense{background:var(--bad)}.kindDot.income{background:var(--good)}.txnEmpty{padding:40px 16px;text-align:center;color:var(--muted)}@media(max-width:880px){.txnTableWrap{display:none}}.txnCardList{display:none;flex-direction:column;gap:6px}@media(max-width:880px){.txnCardList{display:flex}}.txnCard{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.txnCard.selected{box-shadow:inset 0 0 0 1px var(--accent)}.txnCardHeader{display:grid;grid-template-columns:auto 1fr auto;gap:8px;align-items:center}.txnCardHeader input[type=checkbox]{accent-color:var(--accent)}.txnCardVendor{background:transparent;border:none;color:var(--text);font:inherit;font-weight:600;cursor:pointer;padding:0;text-align:left;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.txnCardAmount{font-weight:700;font-variant-numeric:tabular-nums;font-size:14px}.txnCardAmount.good{color:var(--good)}.txnCardAmount.bad{color:var(--bad)}.txnCardMeta{display:grid;grid-template-columns:auto auto 1fr auto 1fr;gap:6px;align-items:center;font-size:12px;color:var(--muted);min-width:0}.txnCardMeta .dot{color:var(--border)}.txnCardFlags{display:flex;gap:12px}.txnLoadMore{align-self:center;margin-top:8px}.bulkBar{position:sticky;bottom:0;z-index:5;background:var(--panel);border:1px solid var(--accent);border-radius:10px;padding:8px 12px;margin-top:12px;display:flex;align-items:center;gap:12px;box-shadow:0 -4px 16px #0006;flex-wrap:wrap}.bulkCount{font-weight:700;color:var(--accent);font-size:13px;white-space:nowrap}.bulkBtnGroup{display:flex;flex-wrap:wrap;gap:6px;flex:1}.bulkBtn{background:var(--panel-2);border:1px solid var(--border);color:var(--text);padding:5px 10px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.bulkBtn:hover{border-color:var(--accent)}.bulkBtn.open{background:var(--accent);color:#0b1322;border-color:var(--accent)}.bulkBtn.danger:hover{border-color:var(--bad);color:var(--bad)}.bulkBtn:disabled{opacity:.5;cursor:not-allowed}.bulkPopWrap{position:relative}.bulkPop{position:absolute;bottom:calc(100% + 6px);left:0;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:8px;min-width:220px;z-index:6;box-shadow:0 4px 12px #0006}.bulkSelect{width:100%;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:5px 7px;font-size:13px}.bulkNotes{display:flex;flex-direction:column;gap:6px}.bulkNotes textarea{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:5px;padding:5px 7px;font:inherit;font-size:12px;resize:vertical}.bulkToggle{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--muted)}.bulkToggle input{accent-color:var(--accent)}.bulkClear{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:4px;border-radius:4px;display:inline-flex;align-items:center}.bulkClear:hover{color:var(--text);background:var(--panel-2)}@media(max-width:600px){.bulkBar{bottom:calc(72px + env(safe-area-inset-bottom,0));left:0;right:0;margin-left:12px;margin-right:12px;border-radius:12px}}.drawerBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;justify-content:flex-end}.drawer{background:var(--panel);width:min(560px,100%);height:100vh;height:100dvh;overflow-y:auto;border-left:1px solid var(--border);display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0)}.drawerHeader{display:flex;flex-direction:column;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--panel);z-index:1}.drawerHeaderTop{display:flex;justify-content:space-between;align-items:center}.drawerNotionLink{font-size:11px;color:var(--accent);display:inline-flex;align-items:center;gap:4px}.drawerTitle{display:flex;align-items:center;gap:10px}.kindTag{font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;padding:2px 6px;border-radius:3px}.kindTag.expense{background:#f8717126;color:var(--bad)}.kindTag.income{background:#4ade8026;color:var(--good)}.drawerVendor{font-weight:700;font-size:16px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawerAmount{font-weight:700;font-variant-numeric:tabular-nums}.drawerAmount.good{color:var(--good)}.drawerAmount.bad{color:var(--bad)}.drawerBody{display:flex;flex-direction:column;gap:10px;padding:16px}.drawerField{display:grid;grid-template-columns:130px 1fr;gap:10px;align-items:start;font-size:13px}.drawerFieldLabel{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;padding-top:6px}.drawerFieldValue{min-width:0}.drawerFieldHint{grid-column:2;font-size:11px;color:var(--muted)}.drawerHistory{margin-top:16px;border-top:1px solid var(--border);padding-top:12px}.drawerHistoryHeader{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:8px;display:inline-flex;align-items:center;gap:4px}.drawerHistory ul{list-style:none;padding:0;margin:0;font-size:11px;line-height:1.6}.drawerHistory code{background:var(--panel-2);padding:1px 4px;border-radius:3px;font-size:10px}@media(max-width:600px){.drawer{width:100%}}.qaBackdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow-y:auto}.qaDialog{background:var(--panel);border:1px solid var(--border);border-radius:12px;width:100%;max-width:480px;display:flex;flex-direction:column;box-shadow:0 10px 30px #00000080}.qaHeader{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.qaHeader h3{margin:0;font-size:15px}.qaBody{padding:16px;display:flex;flex-direction:column;gap:12px}.qaKindToggle{display:inline-flex;gap:2px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:3px;align-self:flex-start}.qaKindBtn{background:transparent;border:none;color:var(--muted);font:inherit;font-size:12px;font-weight:600;padding:5px 14px;border-radius:5px;cursor:pointer}.qaKindBtn:hover{color:var(--text)}.qaKindBtn.active.expense{background:#f8717133;color:var(--bad)}.qaKindBtn.active.income{background:#4ade8033;color:var(--good)}.qaRow{display:grid;grid-template-columns:1fr 1fr;gap:10px}.qaField,.qaRow label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.qaField input,.qaField textarea,.qaField select,.qaRow input,.qaRow select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:5px;padding:7px 9px;font:inherit;font-size:13px;text-transform:none;letter-spacing:0;font-weight:400;color-scheme:dark}.qaField textarea{resize:vertical;min-height:50px}.qaHint{margin:0;font-size:11px;color:var(--muted);background:#6aa9ff0f;border-left:2px solid var(--accent);padding:6px 8px;border-radius:4px}.qaFooter{display:flex;gap:8px;justify-content:flex-end;align-items:center;padding:12px 16px;border-top:1px solid var(--border)}@media(max-width:600px){.qaBackdrop{padding:0;align-items:flex-end}.qaDialog{max-width:none;border-radius:12px 12px 0 0;max-height:92dvh;overflow-y:auto}}.maintCard{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden}.maintHeader{width:100%;background:transparent;border:none;color:var(--text);padding:12px 14px;cursor:pointer;display:flex;align-items:center;gap:8px;font:inherit;text-align:left}.maintHeader:hover{background:var(--panel-2)}.maintTitle{font-weight:600;font-size:14px}.maintSubtitle{font-size:11px;flex:1}.maintBadge{margin-left:auto;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px}.maintBadge.info{background:#6aa9ff26;color:var(--accent)}.maintBadge.warn{background:#fbbf242e;color:var(--warn)}.maintBadge.good{background:#4ade8026;color:var(--good)}.maintBody{padding:0 14px 14px}.syncGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.syncTile{background:var(--panel-2);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px;font-size:12px}.syncTile.ok{box-shadow:inset 0 0 0 1px #4ade8033}.syncTile.fail{box-shadow:inset 0 0 0 1px #f8717166}.syncTile.running{box-shadow:inset 0 0 0 1px #6aa9ff80}.syncHeader{display:flex;align-items:center;gap:6px;font-weight:600}.syncIcon{display:flex;align-items:center;justify-content:center}.syncTile.ok .syncIcon{color:var(--good)}.syncTile.fail .syncIcon{color:var(--bad)}.syncTile.running .syncIcon{color:var(--accent)}.syncTile.idle .syncIcon{color:var(--muted)}.syncLabel{flex:1}.syncMeta{display:flex;gap:4px;align-items:center;color:var(--text);font-size:11px}.syncMeta .muted{color:var(--muted)}.syncMeta .small{font-size:10px}.syncSummary{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-height:14px}.syncSummary .bad{color:var(--bad)}.syncRunBtn{align-self:flex-end;font-size:11px;padding:4px 8px;display:inline-flex;align-items:center;gap:4px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.goalsEditorList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.goalsEditorList li{display:grid;grid-template-columns:16px 1fr auto;gap:10px;align-items:center;background:var(--panel-2);padding:8px 10px;border-radius:6px;font-size:13px}.goalsEditorText{display:flex;flex-direction:column;gap:2px;min-width:0}.goalsForm{background:var(--panel-2);padding:10px;border-radius:6px;margin-bottom:12px;display:flex;flex-direction:column;gap:8px}.goalsFormRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}.goalsFormRow label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.goalsFormRow input,.goalsFormRow select{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:5px;padding:6px 8px;font:inherit;font-size:13px;text-transform:none;letter-spacing:0;font-weight:400}.targetEditor{display:flex;flex-direction:column;gap:8px}.targetRow{display:grid;grid-template-columns:80px 1fr 60px 16px;gap:8px;align-items:center}.targetLabel{font-size:13px;font-weight:500}.targetRow input[type=range]{accent-color:var(--accent)}.targetPct{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:4px 6px;font-size:13px;text-align:right;font-variant-numeric:tabular-nums}.targetFooter{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:10px}.targetSum{margin-right:auto;font-size:12px;font-variant-numeric:tabular-nums}.targetSum.ok{color:var(--good)}.targetSum.off{color:var(--warn)}.targetHistTable{margin-top:8px;width:100%;border-collapse:collapse;font-size:11px}.targetHistTable th,.targetHistTable td{text-align:left;padding:4px 6px;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums}.targetHistTable th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.5px}.btn.small{padding:3px 8px;font-size:11px;display:inline-flex;align-items:center;gap:4px}.incomeClassifier{width:100%}.incomeClassTable{width:100%;border-collapse:collapse;font-size:13px}.incomeClassTable th{text-align:left;padding:6px 8px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600;border-bottom:1px solid var(--border)}.incomeClassTable td{padding:6px 8px;border-bottom:1px solid var(--border)}.incomeClassTable td.num{font-variant-numeric:tabular-nums}.incomeClassTable td.muted{color:var(--muted)}.incomeClassTable select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:3px 6px;font-size:12px}.yodleeConnect{display:flex;flex-direction:column;gap:12px}.yodleeCard{background:var(--panel-2);border:1px solid var(--border);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.yodleeCard.bad{border-color:#f8717180;background:#f871710d}.yodleeCardHead{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--muted)}.yodleeCardHead .tag{margin-left:8px;font-size:10px}.yodleeMeta{display:grid;grid-template-columns:auto 1fr;gap:4px 10px;margin:0;font-size:12px}.yodleeMeta dt{color:var(--muted)}.yodleeMeta dd{margin:0;color:var(--text);word-break:break-all}.yodleeMeta code{font-size:11px}.yodleeBtnRow{display:flex;gap:8px;flex-wrap:wrap}.yodleeBtnRow .btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;font-size:12px}.yodleeTable{width:100%;font-size:12px}.yodleeTable th{color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:10px}.yodleeTable td,.yodleeTable th{padding:4px 6px}.yodleeTable code{font-size:11px}.yodleeTable select{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:12px;max-width:100%}.yodleeAddAcct{display:flex;gap:6px;margin-top:6px}.yodleeAddAcct input{flex:1;min-width:0;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:5px 8px;font:inherit}.yodleeAddAcct .btn{padding:5px 12px;font-size:12px}.yodleeFastlinkHost{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009}.muted.small{font-size:11px}.moreSheet{padding:16px 0}.moreHeading{font-size:18px;margin:0 0 12px}.moreList{display:flex;flex-direction:column;gap:8px}.moreItem{display:flex;align-items:center;gap:12px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px;color:var(--text);text-decoration:none}.moreItem:active{background:var(--panel-2)}.moreItemLabel{font-weight:600;font-size:15px}.moreItemDesc{color:var(--muted);font-size:12px;margin-top:2px}:root{--bg: #0f1115;--panel: #161a22;--panel-2: #1c2230;--border: #262d3a;--text: #e8edf5;--muted: #8a93a6;--accent: #6aa9ff;--accent-2: #4f86d8;--good: #4ade80;--bad: #f87171;--warn: #fbbf24;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--shadow: 0 1px 2px rgba(0,0,0,.3), 0 4px 12px rgba(0,0,0,.25);--sa-top: env(safe-area-inset-top, 0px);--sa-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body,#root{background:var(--bg);color:var(--text);margin:0;min-height:100vh;min-height:100dvh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:var(--accent);text-decoration:none}select,input,textarea,button.btn{background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font:inherit}input[type=date]{color-scheme:dark}button.btn{cursor:pointer}button.btn.primary{background:var(--accent);color:#0b1322;border:none;font-weight:600}button.btn.danger{background:var(--bad);color:#1a0b0b;border:none}.grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:1080px){.grid{grid-template-columns:1fr}.grid .span2{grid-column:span 1}}.span2{grid-column:span 2}.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:var(--space-4)}.panel.bad{color:var(--bad)}.panel h2{font-size:13px;margin:0 0 var(--space-3) 0;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}@media(max-width:720px){.kpis{grid-template-columns:repeat(2,1fr)}}.kpi{background:var(--panel-2);border-radius:8px;padding:var(--space-3)}.kpi .label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}.kpi .value{font-size:22px;font-weight:600;margin-top:4px}.kpi.good .value{color:var(--good)}.kpi.bad .value{color:var(--bad)}table{width:100%;border-collapse:collapse;font-size:13px}table th,table td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}table th{color:var(--muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.row{display:flex;gap:8px;align-items:center}.tag{background:var(--panel-2);color:var(--muted);border-radius:4px;padding:2px 6px;font-size:11px}.bad{color:var(--bad)}.good{color:var(--good)}.hint{margin:0;padding:12px 14px;font-size:12px;color:var(--muted);background:#6aa9ff0f;border:1px dashed var(--border);border-radius:8px}.rangeHint{font-size:11px;color:var(--muted);font-weight:400;text-transform:none;letter-spacing:0;margin-left:4px}.rangeFollowHint{font-size:11px;color:var(--muted);background:#6aa9ff0f;border-left:2px solid var(--accent);padding:6px 10px;border-radius:4px;margin-bottom:8px}.rangeFollowHint strong{color:var(--text)}.settingRow{display:flex;gap:16px;flex-wrap:wrap}.settingRow label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.settingRow select{min-width:200px}@supports (padding: env(safe-area-inset-top)){body{padding-top:var(--sa-top)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}
