:root{--ink: #0d0d0d;--ink-soft: #2c2f33;--paper: #f7f7f8;--paper-strong: #ffffff;--muted: #6f747b;--line: rgba(13, 13, 13, .12);--line-strong: rgba(13, 13, 13, .22);--green: #0acf83;--blue: #1abcfe;--coral: #ff7262;--amber: #ff7262;--violet: #a259ff;--red: #f24e1e;--shadow: 0 24px 70px rgba(13, 13, 13, .14);--radius: 8px;font-family:Alibaba PuHuiTi,MiSans,PingFang SC,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;letter-spacing:0}*{box-sizing:border-box}html{min-height:100%;background:var(--paper)}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}.app-shell{position:relative;isolation:isolate;display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh;padding:18px;gap:18px}.ambient{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}.ledger-grid{position:absolute;inset:0;background:linear-gradient(rgba(17,18,14,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(17,18,14,.055) 1px,transparent 1px),linear-gradient(135deg,rgba(26,188,254,.15),transparent 28%),linear-gradient(315deg,rgba(162,89,255,.12),transparent 30%),var(--paper);background-size:34px 34px,34px 34px,100% 100%,100% 100%,auto}.ledger-grid:after{position:absolute;inset:0;content:"";opacity:.32;background-image:repeating-linear-gradient(102deg,transparent 0,transparent 13px,rgba(17,18,14,.06) 14px,transparent 16px);mix-blend-mode:multiply}.ticker-strip{position:absolute;top:44px;right:-90px;display:flex;gap:28px;width:620px;padding:9px 18px;transform:rotate(10deg);border:1px solid rgba(17,18,14,.1);background:#f8faf2bd;color:#11120e7a;font-size:12px;font-weight:900;text-transform:uppercase;animation:tickerFloat 11s ease-in-out infinite alternate}@keyframes tickerFloat{0%{transform:translate(-18px) rotate(10deg)}to{transform:translate(18px) rotate(10deg)}}.rail{position:sticky;top:18px;display:flex;flex-direction:column;height:calc(100vh - 36px);padding:18px;border:1px solid rgba(248,250,242,.1);border-radius:var(--radius);background:linear-gradient(180deg,#f8faf214,#f8faf200),var(--ink);color:var(--paper-strong);box-shadow:var(--shadow)}.brand-lockup{display:flex;align-items:center;gap:12px;min-height:48px}.brand-lockup strong,.panel-heading h2,.topbar h1{font-family:inherit}.brand-lockup strong{display:block;font-size:17px;font-weight:900}.brand-lockup span,.privacy-chip span{display:block;color:#f8faf299;font-size:12px}.brand-mark{display:grid;width:43px;height:43px;place-items:center;border:1px solid rgba(248,250,242,.24);border-radius:50%;background:conic-gradient(from 210deg,#f24e1e 0 20%,#ff7262 20% 40%,#a259ff 40% 60%,#1abcfe 60% 80%,#0acf83 80% 100%);box-shadow:inset 0 0 18px #f8faf221}.rail-nav{display:grid;gap:8px;margin-top:34px}.rail-nav button{display:flex;align-items:center;gap:11px;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:#f8faf2b8;text-align:left}.rail-nav button.active,.rail-nav button:hover{border-color:#f8faf229;background:#f8faf21a;color:var(--paper-strong)}.privacy-chip{display:flex;align-items:center;gap:10px;margin-top:auto;padding:13px;border:1px solid rgba(18,184,134,.24);border-radius:var(--radius);background:#12b8861a}.workspace{display:grid;gap:18px;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px}.topbar h1{margin:4px 0 0;font-size:clamp(34px,4vw,58px);line-height:.95;letter-spacing:0}.eyebrow{margin:0;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}.toolbar,.tool-cluster,.agent-actions{display:flex;align-items:center;gap:8px}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:22px}.cost-auth-screen{background:linear-gradient(rgba(17,18,14,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(17,18,14,.055) 1px,transparent 1px),linear-gradient(135deg,rgba(18,184,134,.18),transparent 30%),linear-gradient(315deg,rgba(255,107,74,.14),transparent 30%),var(--paper);background-size:34px 34px,34px 34px,100% 100%,100% 100%,auto}.auth-panel{width:min(100%,430px);padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf2db;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-panel h1{margin:10px 0;font-family:inherit;font-size:clamp(38px,10vw,64px);line-height:.94}.auth-copy{margin:0;color:var(--muted);line-height:1.7}.auth-action{margin-top:18px}.auth-meta{display:block;margin-top:12px;color:var(--muted);font-size:12px;word-break:break-all}.auth-error{margin-top:14px;padding:11px 12px;border:1px solid rgba(255,107,74,.32);border-radius:var(--radius);background:#ff6b4a1c;color:#a9351e;font-weight:800;line-height:1.5}.user-pill{display:inline-flex;align-items:center;gap:8px;min-height:42px;max-width:220px;padding:0 6px 0 12px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf2c2;color:var(--ink)}.user-pill span{min-width:0;overflow:hidden;font-size:13px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.user-pill button{display:grid;width:30px;height:30px;place-items:center;border:0;border-radius:6px;background:#11120e14;color:var(--ink)}.segmented,.type-toggle{display:inline-grid;grid-auto-flow:column;gap:4px;padding:4px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf2bd}.segmented button,.type-toggle button{min-height:36px;padding:0 14px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-weight:800}.segmented button.selected,.type-toggle button.selected{background:var(--ink);color:var(--paper-strong)}.icon-btn,.tool-cluster button{display:grid;width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf2c2;color:var(--ink)}.tool-cluster button.active,.ghost-action.active{border-color:#2277ff5c;background:#2277ff1a;color:var(--blue)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.78fr);gap:18px}.content-grid{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(360px,1.25fr) minmax(280px,.95fr);gap:18px;align-items:start}.panel{position:relative;border:1px solid rgba(17,18,14,.12);border-radius:var(--radius);background:linear-gradient(180deg,#f8faf2c7,#f8faf299),#eef0eac7;box-shadow:0 18px 48px #11120e1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.balance-panel{min-height:520px;padding:22px;overflow:hidden;background:linear-gradient(135deg,#11120efa,#21251df5),var(--ink);color:var(--paper-strong)}.balance-panel:before{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(248,250,242,.08) 1px,transparent 1px),linear-gradient(rgba(248,250,242,.08) 1px,transparent 1px);background-size:42px 42px;-webkit-mask-image:linear-gradient(180deg,black,transparent 78%);mask-image:linear-gradient(180deg,black,transparent 78%);pointer-events:none}.balance-topline,.panel-heading,.budget-meta,.transaction-row,.agent-card,.code-tile,.calendar-item{display:flex;align-items:center;justify-content:space-between;gap:14px}.balance-topline{position:relative;z-index:1}.balance-topline strong{display:block;margin-top:4px;font-family:inherit;font-size:clamp(38px,6.4vw,82px);line-height:.92}.sync-pill,.alert-chip,.ok-chip{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:0 11px;border-radius:999px;font-size:12px;font-weight:900}.sync-pill{border:1px solid rgba(18,184,134,.35);background:#12b88624;color:#aff4d9}.chart-stage{position:relative;z-index:1;height:245px;margin-top:32px}.chart-stage svg{width:100%;height:100%;overflow:visible}.area-path{fill:url(#line-fill)}.line-path{fill:none;stroke:#7cffc8;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;filter:url(#line-glow);stroke-dasharray:900;stroke-dashoffset:900;animation:drawLine 1.45s cubic-bezier(.16,1,.3,1) forwards}.line-path.ghost{stroke:#2277ff94;stroke-width:10;filter:none}.chart-stage circle{fill:#f8faf2;stroke:#11120e;stroke-width:2}@keyframes drawLine{to{stroke-dashoffset:0}}.chart-badge{position:absolute;right:10px;bottom:18px;display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(248,250,242,.16);border-radius:var(--radius);background:#f8faf21a;font-size:12px;font-weight:900}.metric-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.metric{min-height:94px;padding:14px;border:1px solid rgba(248,250,242,.13);border-radius:var(--radius);background:#f8faf214}.metric svg{color:var(--green)}.metric.warning svg{color:var(--coral)}.metric.accent svg{color:var(--blue)}.metric span{display:block;margin-top:8px;color:#f8faf294;font-size:12px}.metric strong{display:block;margin-top:4px;font-size:clamp(18px,2vw,25px)}.goal-band{position:relative;z-index:1;display:flex;align-items:center;gap:15px;margin-top:16px;padding:14px;border:1px solid rgba(248,250,242,.13);border-radius:var(--radius);background:#f8faf214}.goal-band strong,.goal-band span{display:block}.goal-band span{margin-top:4px;color:#f8faf29e;font-size:12px}.goal-ring{display:grid;flex:0 0 auto;width:68px;height:68px;place-items:center;border-radius:50%;background:radial-gradient(circle at center,var(--ink) 0 56%,transparent 57%),conic-gradient(var(--amber) var(--progress),rgba(248,250,242,.14) 0)}.goal-ring span{color:var(--paper-strong);font-size:13px;font-weight:900}.quick-entry{min-width:0;padding:18px;overflow:hidden}.quick-entry:after{position:absolute;inset:auto 0 0;height:4px;content:"";background:linear-gradient(90deg,var(--green),var(--blue),var(--coral));transform:translate(-100%)}.quick-entry.flash:after{animation:scanSave .7s ease-out}@keyframes scanSave{to{transform:translate(100%)}}.panel-heading{margin-bottom:16px}.panel-heading h2{margin:3px 0 0;font-size:27px;line-height:1.05}.quick-entry label,.search-field{display:grid;gap:8px;margin-top:12px}.assist-dock,.filter-dock{overflow:hidden;margin:12px 0;border:1px solid var(--line);border-radius:var(--radius);background:#2277ff0f}.assist-dock{padding:12px}.assist-copy{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;color:var(--ink-soft);font-size:13px;line-height:1.5}.assist-copy svg{margin-top:2px;color:var(--blue)}.assist-presets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.assist-presets button,.text-action{min-height:38px;border:1px solid var(--line);border-radius:6px;background:#f8faf2d1;color:var(--ink);font-size:12px;font-weight:900}.assist-presets button:hover,.text-action:hover{border-color:var(--line-strong);background:var(--paper-strong)}.quick-entry label span{color:var(--muted);font-size:12px;font-weight:900}.quick-entry input,.quick-entry select,.search-field input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf2bd;color:var(--ink)}.quick-entry input,.search-field input{padding:0 12px}.quick-entry select{padding:0 10px}.amount-field{padding:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink);color:var(--paper-strong)}.amount-field input{min-height:68px;border:0;background:transparent;color:var(--paper-strong);font-family:inherit;font-size:43px;font-weight:900}.amount-field input::placeholder{color:#f8faf240}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.primary-action,.ghost-action,.agent-actions button,.code-tile button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);font-weight:900}.primary-action{width:100%;margin-top:16px;border-color:var(--ink);background:var(--ink);color:var(--paper-strong)}.primary-action:hover{box-shadow:0 16px 34px #11120e33;transform:translateY(-1px)}.budget-panel,.transaction-panel,.agent-panel,.recurring-panel{padding:17px}.transaction-panel{grid-row:span 2}.alert-chip{background:#ff6b4a21;color:#a9351e}.ok-chip{background:#12b8861f;color:#08784f}.budget-list{display:grid;gap:15px}.budget-item{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf294}.budget-meta{font-size:14px}.budget-meta span{font-size:21px}.budget-meta strong{margin-right:auto}.budget-meta em{color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.progress-track{height:9px;margin-top:11px;overflow:hidden;border-radius:999px;background:#11120e14}.progress-fill{height:100%;border-radius:inherit}.ghost-action{padding:0 12px;background:#f8faf2bd;color:var(--ink)}.filter-dock{display:grid;gap:10px;padding:12px}.filter-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center}.filter-row>span,.check-row{color:var(--muted);font-size:12px;font-weight:900}.filter-row select{min-height:38px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#f8faf2cc}.mini-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;border:1px solid var(--line);border-radius:6px;background:#11120e0a}.mini-segment button{min-height:32px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:12px;font-weight:900}.mini-segment button.selected{background:var(--ink);color:var(--paper-strong)}.check-row{display:flex;align-items:center;gap:8px}.check-row input{width:16px;height:16px;accent-color:var(--ink)}.search-field{position:relative;display:flex;align-items:center;margin-bottom:12px}.search-field svg{position:absolute;left:12px;color:var(--muted)}.search-field input{padding-left:38px}.transaction-list{display:grid;gap:9px}.empty-state{display:grid;min-height:150px;place-items:center;padding:20px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:#f8faf26b;color:var(--muted);text-align:center}.empty-state strong,.empty-state span{display:block}.empty-state strong{margin-top:8px;color:var(--ink)}.empty-state span{margin-top:3px;font-size:12px}.transaction-row{min-height:66px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf299}.transaction-row.just-added{animation:rowPulse 1.4s ease-out}@keyframes rowPulse{0%{box-shadow:0 0 #12b88673}70%{box-shadow:0 0 0 16px #12b88600}to{box-shadow:0 0 #12b88600}}.tx-icon{display:grid;flex:0 0 auto;width:39px;height:39px;place-items:center;border-radius:50%;background:#ff6b4a24;color:var(--coral)}.transaction-row.income .tx-icon{background:#12b88624;color:var(--green)}.tx-main{min-width:0;margin-right:auto}.tx-main strong,.tx-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-main span{margin-top:3px;color:var(--muted);font-size:12px}.tx-note{display:-webkit-box;margin:6px 0 0;overflow:hidden;color:var(--ink-soft);font-size:12px;line-height:1.45;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.tx-detail-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.tx-detail-tag{display:inline-flex;align-items:center;max-width:100%;min-height:22px;padding:0 7px;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;background:#11120e0d;border:1px solid var(--line);border-radius:999px;font-size:11px;font-weight:650}.tx-amount{flex:0 0 auto;font-variant-numeric:tabular-nums}.transaction-row.income .tx-amount{color:#08784f}.transaction-row.expense .tx-amount{color:#a9351e}.tx-actions{display:inline-flex;flex:0 0 auto;gap:6px}.tx-actions button,.transaction-edit-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:30px;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);font-size:12px;font-weight:650}.tx-actions button{width:30px;padding:0}.tx-actions button:hover,.transaction-edit-actions button:hover{border-color:var(--line-strong);background:var(--panel-soft)}.tx-actions .danger,.transaction-edit-actions .danger{color:var(--red)}.transaction-edit-row{display:grid;align-items:stretch;gap:12px}.transaction-edit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%}.transaction-edit-grid label{display:grid;gap:5px}.transaction-edit-grid label span{color:var(--muted);font-size:11px;font-weight:650}.transaction-edit-grid input,.transaction-edit-grid select{width:100%;min-height:32px;padding:0 9px;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--ink);font-size:12px}.transaction-edit-note{grid-column:span 2}.edit-type-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;min-height:32px;padding:3px;border:1px solid var(--border);border-radius:6px;background:#fff}.edit-type-toggle button{border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:12px;font-weight:650}.edit-type-toggle button.selected{background:var(--ink);color:#fff}.transaction-edit-actions{display:flex;justify-content:flex-end;gap:8px}.agent-panel{overflow:hidden}.agent-panel:before{position:absolute;inset:0;content:"";background:linear-gradient(120deg,transparent 0 42%,rgba(34,119,255,.1) 43% 45%,transparent 46%),linear-gradient(250deg,transparent 0 64%,rgba(18,184,134,.13) 65% 67%,transparent 68%);pointer-events:none}.agent-card,.code-tile,.agent-actions,.suggestion-list{position:relative;z-index:1}.agent-card{justify-content:flex-start;padding:13px;border:1px solid var(--line);border-radius:var(--radius);background:var(--ink);color:var(--paper-strong)}.agent-card strong,.agent-card span{display:block}.agent-card span{margin-top:3px;color:#f8faf294;font-size:12px}.bot-orbit{position:relative;display:grid;flex:0 0 auto;width:50px;height:50px;place-items:center;border-radius:50%;background:#f8faf21a}.bot-orbit span{position:absolute;inset:-4px;border:1px dashed rgba(124,255,200,.65);border-radius:50%;animation:spin 8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.code-tile{margin-top:12px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:#11120e0f}.code-tile code{overflow-wrap:anywhere;color:var(--ink-soft);font-size:13px;font-weight:900}.code-tile button{flex:0 0 auto;padding:0 11px;background:var(--paper-strong)}.agent-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:10px}.agent-actions button{background:#f8faf2b3;color:var(--ink)}.suggestion-list{display:grid;gap:9px;margin:13px 0 0;padding:0;list-style:none}.suggestion-list li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;color:var(--ink-soft);font-size:13px;line-height:1.55}.suggestion-list svg{margin-top:3px;color:var(--blue)}.drawer-backdrop{position:fixed;inset:0;z-index:20;display:flex;justify-content:flex-end;background:#11120e47;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.settings-drawer{width:min(390px,calc(100vw - 22px));height:calc(100vh - 22px);margin:11px;padding:17px;overflow:auto}.setting-block{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;margin-top:12px;padding:13px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf2a3}.setting-block strong,.setting-block span{display:block}.setting-block span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.5}.setting-block output{color:var(--blue);font-size:24px;font-weight:900}.setting-block input[type=range]{grid-column:1 / -1;width:100%;accent-color:var(--blue)}.status-dot{display:inline-flex!important;align-items:center;min-height:29px;padding:0 10px;border-radius:999px;background:#12b8861f;color:#08784f!important;font-weight:900}.status-dot.blue{background:#2277ff1a;color:var(--blue)!important}.status-dot.sync-state{border:1px solid rgba(17,18,14,.08);white-space:nowrap}.status-dot.sync-state.loading,.status-dot.sync-state.saving{background:#2277ff1a;color:var(--blue)!important}.status-dot.sync-state.error{background:#f2a90029;color:#8a5f00!important}.calendar-stack{display:grid;gap:10px}.calendar-item{min-height:70px;padding:11px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf2a3}.calendar-item>div:nth-child(2){min-width:0;margin-right:auto}.calendar-item strong,.calendar-item span{display:block}.calendar-item span{margin-top:3px;color:var(--muted);font-size:12px}.calendar-date{display:grid;flex:0 0 auto;width:43px;height:48px;place-items:center;border-radius:6px;background:var(--ink);color:var(--paper-strong)}.calendar-date svg{color:var(--amber)}.mini-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:13px}.mini-feature-grid div{display:grid;min-height:74px;place-items:center;padding:8px;border:1px solid var(--line);border-radius:var(--radius);background:#11120e0a;color:var(--ink-soft);font-size:12px;font-weight:900;text-align:center}.mini-feature-grid svg{color:var(--green)}.hidden-input{display:none}@media(max-width:1180px){.app-shell{grid-template-columns:1fr}.rail{position:relative;top:auto;height:auto}.rail-nav{grid-template-columns:repeat(4,1fr);margin-top:18px}.privacy-chip{margin-top:18px}.content-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.app-shell{padding:10px;gap:10px}.hero-grid,.content-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.toolbar,.segmented{width:100%}.segmented{grid-auto-flow:initial;grid-template-columns:repeat(3,1fr)}.metric-row{grid-template-columns:1fr}.balance-panel{min-height:auto}}@media(max-width:560px){.rail-nav{grid-template-columns:repeat(2,1fr)}.rail-nav button{justify-content:center}.rail-nav span{display:none}.form-grid,.agent-actions,.mini-feature-grid,.assist-presets,.filter-row,.setting-block{grid-template-columns:1fr}.balance-topline{align-items:flex-start;flex-direction:column}.amount-field input{font-size:34px}.transaction-row{align-items:flex-start}.tx-amount{width:100%;text-align:right}.tx-actions{width:100%;justify-content:flex-end}.transaction-edit-grid,.transaction-edit-note{grid-template-columns:minmax(0,1fr);grid-column:auto}.transaction-edit-actions{flex-direction:column}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app-shell-v2{align-items:start}.page-workspace{align-content:start}.app-topbar-v2{position:sticky;top:18px;z-index:9;padding:10px 0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-view{min-width:0}.page-grid{display:grid;gap:18px;align-items:start}.dashboard-layout{grid-template-columns:minmax(0,1.35fr) minmax(330px,.85fr)}.dashboard-layout .balance-panel{grid-column:1}.dashboard-layout .quick-entry{grid-column:2}.dashboard-layout .budget-panel{grid-column:1}.dashboard-layout .recurring-panel{grid-column:2}.dashboard-layout .transaction-panel{grid-column:1 / -1}.ledger-layout{grid-template-columns:minmax(310px,.85fr) minmax(0,1.35fr)}.budgets-layout,.agent-layout-v2{grid-template-columns:minmax(0,1.05fr) minmax(330px,.95fr)}.recurring-layout{grid-template-columns:minmax(0,1.35fr) minmax(340px,.75fr)}.recurring-layout .subscription-panel{grid-column:1 / -1}.recurring-side{display:grid;gap:18px}.page-grid .transaction-panel{grid-row:auto}.compact-panel .panel-heading h2{font-size:24px}.compact-panel.quick-entry .amount-field input{min-height:54px;font-size:34px}.mobile-tabs{display:none}.recurring-stats,.insight-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px}.mini-stat{min-height:72px;padding:11px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf294}.mini-stat span,.mini-stat strong{display:block}.mini-stat span{color:var(--muted);font-size:11px;font-weight:900}.mini-stat strong{margin-top:7px;font-size:clamp(16px,1.7vw,22px)}.bill-stack{gap:12px}.bill-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;min-height:82px}.bill-item.paused{opacity:.58}.bill-main{min-width:0}.bill-main strong,.bill-main span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-main span{margin-top:4px;color:var(--muted);font-size:12px}.bill-income{color:#08784f;font-variant-numeric:tabular-nums}.bill-expense{color:#a9351e;font-variant-numeric:tabular-nums}.bill-actions{grid-column:2 / -1;display:flex;gap:8px;justify-content:flex-end}.bill-actions button{min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:6px;background:#f8faf2cc;color:var(--ink);font-size:12px;font-weight:900}.bill-actions button:first-child{background:var(--ink);color:var(--paper-strong)}.recurring-form,.goal-panel-v2,.insight-panel,.playbook-panel{padding:17px}.recurring-form label{display:grid;gap:8px;margin-top:12px}.recurring-form label span{color:var(--muted);font-size:12px;font-weight:900}.recurring-form input,.recurring-form select{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf2bd;color:var(--ink)}.preset-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}.preset-grid button{min-height:36px;border:1px solid var(--line);border-radius:6px;background:#f8faf2c2;color:var(--ink);font-size:12px;font-weight:900}.preset-grid button:hover{border-color:var(--line-strong);background:var(--paper-strong)}.subscription-panel{padding:17px}.subscription-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.subscription-list{display:grid;gap:10px}.subscription-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:74px;padding:11px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf2a3}.subscription-item.inactive{opacity:.55}.subscription-logo{display:grid;width:42px;height:42px;place-items:center;border-radius:10px;background:linear-gradient(135deg,#2277ff47,#12b88633),var(--ink);color:var(--paper-strong);font-size:18px;font-weight:900}.subscription-main{min-width:0}.subscription-main strong,.subscription-main span,.subscription-money strong,.subscription-money span{display:block}.subscription-main strong,.subscription-main span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subscription-main span,.subscription-money span{margin-top:4px;color:var(--muted);font-size:12px}.subscription-money{text-align:right;font-variant-numeric:tabular-nums}.subscription-money strong{color:#a9351e}.budget-actions,.subscription-actions{display:inline-flex;flex:0 0 auto;gap:6px;align-items:center}.budget-actions button,.budget-editor-actions button,.bill-actions button,.subscription-actions button,.subscription-edit-actions button,.bill-edit-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px}.budget-actions button{width:30px;height:30px;padding:0;color:var(--ink);background:#fffefa;border:1px solid var(--border);border-radius:6px}.budget-actions .danger,.bill-actions .danger,.subscription-actions .danger{color:var(--red)}.budget-editor{display:grid;gap:12px;margin-top:14px;padding:12px;background:#fffefa;border:1px solid var(--border);border-radius:var(--radius)}.budget-editor-grid,.recurring-edit-grid,.subscription-edit-grid{display:grid;gap:10px}.budget-editor-grid{grid-template-columns:minmax(130px,1fr) minmax(120px,.8fr) 62px 70px}.budget-editor-grid label,.recurring-edit-grid label,.subscription-edit-grid label{display:grid;gap:5px}.budget-editor-grid label span,.recurring-edit-grid label span,.subscription-edit-grid label span{color:var(--muted);font-size:11px;font-weight:750}.budget-editor-grid input,.budget-editor-grid select,.recurring-edit-grid input,.recurring-edit-grid select,.subscription-edit-grid input,.subscription-edit-grid select{width:100%;min-height:34px;padding:0 9px;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:6px;font-size:12px}.budget-editor-grid input[type=color]{padding:3px}.budget-editor-actions{display:flex;gap:8px;justify-content:flex-end}.budget-editor-actions button{min-height:32px;padding:0 10px;color:var(--ink);background:#f7f7f8;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:800}.budget-editor-actions button:first-child{color:#fff;background:var(--ink);border-color:var(--ink)}.bill-edit-item{grid-template-columns:minmax(0,1fr);align-items:stretch}.recurring-edit-grid{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.recurring-edit-note{grid-column:span 2}.recurring-edit-check,.subscription-edit-check{align-self:end;min-height:34px;margin-top:18px}.bill-edit-actions{justify-content:flex-end}.subscription-item{align-items:start}.subscription-actions{grid-column:2 / -1;justify-content:flex-end}.subscription-actions button{min-height:32px;padding:0 10px;color:var(--ink);background:#fffefa;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:800}.subscription-actions button:first-child{color:#fff;background:var(--ink);border-color:var(--ink)}.subscription-edit-card{grid-column:1 / -1;display:grid;gap:12px;width:100%}.subscription-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.subscription-edit-note{grid-column:span 2}.subscription-edit-actions{justify-content:flex-end}.empty-goal-band{display:block}.amortization-preview{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px;border:1px solid rgba(242,169,0,.32);border-radius:var(--radius);background:#f2a9001f}.amortization-preview span,.amortization-preview strong{display:block}.amortization-preview span{color:var(--muted);font-size:12px;font-weight:900}.amortization-preview strong{color:var(--ink);font-size:20px}.recurring-check{margin-top:14px!important}.goal-list-v2,.playbook-list{display:grid;gap:12px}.goal-card-v2,.playbook-item{display:flex;align-items:center;gap:13px;padding:13px;border:1px solid var(--line);border-radius:var(--radius);background:#f8faf294}.goal-card-v2 strong,.goal-card-v2 span,.playbook-item strong,.playbook-item span{display:block}.goal-card-v2 span,.playbook-item span{margin-top:4px;color:var(--muted);font-size:12px;line-height:1.55}.playbook-item{align-items:flex-start;flex-direction:column}@media(max-width:1280px){.dashboard-layout,.ledger-layout,.budgets-layout,.recurring-layout,.agent-layout-v2{grid-template-columns:minmax(0,1fr)}.dashboard-layout .balance-panel,.dashboard-layout .quick-entry,.dashboard-layout .budget-panel,.dashboard-layout .recurring-panel,.dashboard-layout .transaction-panel{grid-column:auto}}@media(max-width:760px){.app-shell-v2{display:block;padding:10px 10px 86px}.app-shell-v2 .rail{display:none}.page-workspace{display:grid;gap:12px}.app-topbar-v2{top:0;padding:10px 0 8px;background:linear-gradient(180deg,#eef0eaf0,#eef0eab8)}.app-topbar-v2 h1{font-size:clamp(31px,11vw,42px)}.toolbar{align-items:stretch;flex-wrap:wrap}.user-pill{max-width:100%}.mobile-tabs{position:fixed;right:10px;bottom:10px;left:10px;z-index:18;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:6px;border:1px solid var(--line);border-radius:14px;background:#11120ee6;box-shadow:0 18px 48px #11120e3d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-tabs button{display:grid;min-height:52px;place-items:center;border:0;border-radius:10px;background:transparent;color:#f8faf2b3;font-size:11px;font-weight:900}.mobile-tabs button.active{background:#f8faf221;color:var(--paper-strong)}.mobile-tabs span{margin-top:2px}.balance-panel{min-height:auto;padding:18px}.chart-stage{height:190px;margin-top:18px}.recurring-stats,.insight-grid,.subscription-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-item{grid-template-columns:44px minmax(0,1fr)}.subscription-item{grid-template-columns:42px minmax(0,1fr)}.subscription-money{grid-column:2;text-align:left}.preset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-item>strong{grid-column:2}.bill-actions{grid-column:1 / -1}.goal-card-v2{align-items:flex-start}.transaction-edit-grid,.budget-editor-grid,.recurring-edit-grid,.subscription-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-actions,.budget-editor-actions,.bill-edit-actions,.subscription-edit-actions{justify-content:flex-start}.sync-error-banner{grid-template-columns:18px minmax(0,1fr)}.sync-error-banner button{grid-column:2;justify-self:start}}:root{color-scheme:light;--bg: #f7f7f8;--panel: #ffffff;--panel-soft: #f1f2f3;--paper: #f7f7f8;--paper-strong: #fffefa;--ink: #202123;--ink-soft: #33433d;--muted: #6f747b;--line: #d9d9e3;--line-strong: #c9ccd2;--border: #d9d9e3;--accent: #105a4b;--accent-ink: #0c3f35;--green: #087443;--blue: #2563eb;--coral: #b42318;--amber: #a15c07;--violet: #5f45bd;--red: #b42318;--shadow: 0 22px 60px rgba(32, 33, 35, .08);--radius: 8px;color:var(--ink);background:var(--bg);font-family:Alibaba PuHuiTi,MiSans,PingFang SC,Microsoft YaHei,sans-serif;letter-spacing:0}html,body{background:radial-gradient(circle at 50% 0%,rgba(16,90,75,.08),transparent 28%),linear-gradient(180deg,#fff,#f8f8f9 58%,#f2f3f4),var(--bg);color:var(--ink)}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--blue);outline-offset:3px}.ambient{display:none}.app-shell,.app-shell-v2{grid-template-columns:250px minmax(0,1fr);gap:0;padding:0;background:radial-gradient(circle at 50% 0%,rgba(16,90,75,.08),transparent 28%),linear-gradient(180deg,#fff,#f8f8f9 58%,#f2f3f4),var(--bg)}.rail{top:0;height:100vh;padding:22px;color:var(--ink);background:#fffefadb;border:0;border-right:1px solid var(--border);border-radius:0;box-shadow:none}.brand-lockup strong,.panel-heading h2,.topbar h1,.balance-topline strong,.amount-field input,.auth-panel h1{font-family:inherit;letter-spacing:0}.brand-lockup strong{color:var(--ink);font-size:18px;line-height:1.15}.brand-lockup span,.privacy-chip span,.eyebrow{color:var(--muted)}.eyebrow{font-size:12px;font-weight:750;letter-spacing:.08em}.brand-mark{width:42px;height:42px;color:var(--accent-ink);background:#eef7f4;border:1px solid rgba(16,90,75,.28);border-radius:10px;box-shadow:none}.rail-nav button{color:#33433d;border-radius:var(--radius)}.rail-nav button.active,.rail-nav button:hover{color:var(--ink);background:#ebe7dc;border-color:transparent}.privacy-chip{color:var(--ink);background:#e9f4ee;border:1px solid #b6dccd;border-radius:var(--radius)}.workspace,.page-workspace{padding:22px}.page-workspace{gap:18px}.topbar,.app-topbar-v2{min-height:68px;padding:12px 14px;background:#fffefae0;border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:none;backdrop-filter:none}.app-topbar-v2{top:22px}.topbar h1,.app-topbar-v2 h1{margin:4px 0 0;font-size:26px;line-height:1.16}.sync-error-banner{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:46px;padding:10px 12px;color:#8a3609;background:#fff4df;border:1px solid #e7b86b;border-radius:var(--radius)}.sync-error-banner span{min-width:0;font-size:13px;font-weight:750;overflow-wrap:anywhere}.sync-error-banner button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:0 10px;color:#5f2f08;background:#fffefa;border:1px solid #e7b86b;border-radius:6px;font-size:12px;font-weight:850}.toolbar{gap:8px}.user-pill,.segmented,.type-toggle,.icon-btn,.tool-cluster button,.ghost-action,.agent-actions button,.code-tile button{border-color:var(--border);border-radius:var(--radius);background:#fffefa;color:var(--ink)}.user-pill{color:var(--muted)}.user-pill button{color:var(--ink);background:#f3f0e7;border-radius:6px}.segmented button,.type-toggle button,.mini-segment button{color:var(--muted);border-radius:6px}.segmented button.selected,.type-toggle button.selected,.mini-segment button.selected{color:#fff;background:#202123}.status-dot,.status-dot.sync-state,.sync-pill,.alert-chip,.ok-chip{border:1px solid var(--border);border-radius:999px}.status-dot,.status-dot.sync-state,.ok-chip{background:#e9f4ee;color:var(--accent-ink)!important}.status-dot.sync-state.loading,.status-dot.sync-state.saving,.status-dot.blue{background:#eef3ff;color:var(--blue)!important}.status-dot.sync-state.error,.alert-chip{background:#fff8e7;color:var(--amber)!important}.panel{background:#fffffff0;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.panel-heading h2{font-size:26px;line-height:1.16}.auth-screen,.cost-auth-screen{background:radial-gradient(circle at 50% 0%,rgba(16,90,75,.08),transparent 28%),linear-gradient(180deg,#fff,#f8f8f9 58%,#f2f3f4),var(--bg)}.auth-panel{width:min(430px,100%);display:grid;gap:18px;padding:28px 24px 24px;background:#fffffff0;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.auth-panel h1{margin:0;font-size:26px;line-height:1.2}.auth-copy,.auth-meta,.quick-entry label span,.filter-row>span,.check-row,.budget-meta em,.tx-main span,.agent-card span,.suggestion-list li,.calendar-item span,.mini-stat span,.bill-main span,.subscription-main span,.subscription-money span,.goal-card-v2 span,.playbook-item span,.setting-block span{color:var(--muted)}.auth-error{color:var(--red);background:#fff1ee;border-color:#f4b7b0}.primary-action,.auth-action,.bill-actions button:first-child{min-height:46px;color:#fff;background:#202123;border-color:#202123;border-radius:7px;box-shadow:0 12px 26px #2021232e}.primary-action:hover{box-shadow:0 16px 34px #20212329}.balance-panel{min-height:460px;color:var(--ink);background:#fffffff0;border-left:4px solid var(--accent)}.balance-panel:before,.agent-panel:before{display:none}.balance-topline strong{font-size:clamp(30px,5vw,52px);line-height:1}.balance-panel .sync-pill,.sync-pill{background:#e9f4ee;color:var(--accent-ink);border-color:#b6dccd}.chart-badge,.metric,.goal-band,.budget-item,.filter-dock,.assist-dock,.transaction-row,.agent-card,.code-tile,.calendar-item,.mini-stat,.bill-actions button,.recurring-form input,.recurring-form select,.preset-grid button,.subscription-item,.amortization-preview,.goal-card-v2,.playbook-item,.setting-block{background:#fffefadb;border:1px solid var(--border);border-radius:var(--radius)}.metric,.goal-band,.agent-card{color:var(--ink)}.metric svg,.mini-feature-grid svg,.suggestion-list svg{color:var(--accent)}.metric.warning svg,.transaction-row.expense .tx-amount,.bill-expense,.subscription-money strong{color:var(--red)}.metric.accent svg,.assist-copy svg{color:var(--blue)}.transaction-row.income .tx-amount,.bill-income{color:var(--green)}.chart-badge{color:var(--ink)}.amount-field{color:var(--ink);background:#f6f7f8;border-color:var(--border)}.amount-field input{color:var(--ink);font-size:40px}.amount-field input::placeholder{color:#a9adb4}.quick-entry input,.quick-entry select,.search-field input,.filter-row select,.recurring-form input,.recurring-form select{background:#fff;border-color:#c9ccd2;color:var(--ink)}.assist-presets button,.text-action,.ghost-action,.agent-actions button,.code-tile button,.preset-grid button,.bill-actions button{background:#fffefa;color:var(--ink)}.tool-cluster button.active,.ghost-action.active{background:#eef3ff;border-color:#c7d7ff;color:var(--blue)}.progress-track{background:#f1f2f3}.goal-ring{background:radial-gradient(circle at center,#fffefa 0 56%,transparent 57%),conic-gradient(var(--accent) var(--progress),#e5e7eb 0)}.goal-ring span{color:var(--accent-ink)}.tx-icon{color:var(--red);background:#fff1ee;border-radius:10px}.transaction-row.income .tx-icon{color:var(--green);background:#eaf8ef}.agent-card{background:#f6f7f8}.bot-orbit,.subscription-logo,.calendar-date{color:var(--accent-ink);background:#eef7f4;border-radius:10px}.bot-orbit span{border-color:#105a4b66}.empty-state{color:var(--muted);background:#fffefa94;border-color:#bbb4a5}.drawer-backdrop{background:#2021232e}.settings-drawer{background:#fffffffa}@media(max-width:1180px){.app-shell,.app-shell-v2{grid-template-columns:1fr}.rail{height:auto;border-right:0;border-bottom:1px solid var(--border)}}@media(max-width:760px){.app-shell-v2{padding:10px 10px 86px}.app-topbar-v2{top:0;background:#fffefaf0}.app-topbar-v2 h1{font-size:24px}.mobile-tabs{background:#fffefaf0;border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.mobile-tabs button{color:var(--muted);border-radius:var(--radius)}.mobile-tabs button.active{background:#202123;color:#fff}}:root{--bg: #f7f7f8;--panel: #ffffff;--panel-soft: #f4f4f5;--paper: #f7f7f8;--paper-strong: #ffffff;--ink: #0d0d0d;--ink-soft: #2c2f33;--muted: #6f747b;--line: #dedee6;--line-strong: #c9ccd2;--border: #dedee6;--accent: #1abcfe;--accent-ink: #0964c4;--green: #0acf83;--blue: #1abcfe;--coral: #ff7262;--amber: #ff7262;--violet: #a259ff;--red: #f24e1e;--shadow: 0 22px 60px rgba(13, 13, 13, .08)}html,body,.app-shell,.app-shell-v2,.auth-screen,.cost-auth-screen{background:radial-gradient(circle at 14% 0%,rgba(26,188,254,.12),transparent 26%),radial-gradient(circle at 88% 8%,rgba(162,89,255,.1),transparent 28%),radial-gradient(circle at 52% 100%,rgba(10,207,131,.08),transparent 30%),linear-gradient(180deg,#fff,#f8f8f9 58%,#f2f3f4),var(--bg)}.rail,.topbar,.app-topbar-v2,.panel,.auth-panel,.transaction-row,.budget-item,.calendar-item,.mini-stat,.subscription-item,.goal-card-v2,.playbook-item,.setting-block{background:#ffffffe6;border-color:var(--border)}.brand-mark{color:#fff;background:conic-gradient(from 210deg,#f24e1e 0 20%,#ff7262 20% 40%,#a259ff 40% 60%,#1abcfe 60% 80%,#0acf83 80% 100%);border:0;border-radius:10px;box-shadow:none}.rail-nav button{color:var(--ink-soft)}.rail-nav button.active,.rail-nav button:hover{background:#eef7ff;color:var(--ink)}.privacy-chip,.balance-panel .sync-pill,.sync-pill,.ok-chip,.status-dot,.status-dot.sync-state{background:#e9fbf4;border-color:#0acf8347;color:#087a52!important}.status-dot.sync-state.loading,.status-dot.sync-state.saving,.status-dot.blue,.tool-cluster button.active,.ghost-action.active{background:#e8f7ff;border-color:#1abcfe4d;color:var(--accent-ink)!important}.status-dot.sync-state.error,.alert-chip,.auth-error{background:#fff1ee;border-color:#ffd2c9;color:var(--red)!important}.primary-action,.auth-action,.bill-actions button:first-child,.segmented button.selected,.type-toggle button.selected,.mini-segment button.selected,.mobile-tabs button.active{background:var(--ink);border-color:var(--ink);color:#fff;border-radius:7px;box-shadow:0 12px 26px #0d0d0d29}.icon-btn,.tool-cluster button,.ghost-action,.agent-actions button,.code-tile button,.preset-grid button,.bill-actions button,.assist-presets button,.text-action,.user-pill,.segmented,.type-toggle,.mini-segment{background:#fff;border-color:var(--border);color:var(--ink)}.user-pill button{background:var(--panel-soft);color:var(--ink)}.balance-panel{border-left-color:var(--accent)}.goal-ring{background:radial-gradient(circle at center,#ffffff 0 56%,transparent 57%),conic-gradient(var(--violet) var(--progress),#e5e7eb 0)}.goal-ring span{color:var(--violet)}.metric svg,.mini-feature-grid svg,.suggestion-list svg,.bot-orbit,.subscription-logo,.calendar-date{color:#087a52}.bot-orbit,.subscription-logo,.calendar-date,.transaction-row.income .tx-icon{background:#e9fbf4}.metric.accent svg,.assist-copy svg{color:var(--accent-ink)}.metric.warning svg,.transaction-row.expense .tx-amount,.bill-expense,.subscription-money strong,.tx-icon{color:var(--red)}.tx-icon{background:#fff1ee}.transaction-row.income .tx-amount,.bill-income{color:#087a52}.empty-state{background:#ffffffad;border-color:var(--border)}:root{--figma-bg: #f5f5f5;--figma-canvas: #ffffff;--figma-sidebar: #f7f7f7;--figma-hover: #ededed;--figma-selected: #e5e5e5;--figma-border: #e6e6e6;--figma-text: #0d0d0d;--figma-muted: #6b6b6b;--figma-blue: #0d99ff;--figma-radius: 6px;--shadow: none;font-family:Inter,Inter var,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-feature-settings:"cv02","cv03","cv04","cv11"}html,body,.app-shell,.app-shell-v2,.auth-screen,.cost-auth-screen{background:var(--figma-bg);color:var(--figma-text)}.ambient,.ledger-grid,.ticker-strip{display:none}.app-shell,.app-shell-v2{gap:0;padding:0;grid-template-columns:240px minmax(0,1fr)}.rail{top:0;height:100vh;padding:12px;background:var(--figma-sidebar);border:0;border-right:1px solid var(--figma-border);border-radius:0;box-shadow:none}.brand-lockup{min-height:36px;gap:8px;padding:0 8px 10px;border-bottom:1px solid var(--figma-border)}.brand-lockup strong{color:var(--figma-text);font-size:13px;font-weight:650;line-height:1.2}.brand-lockup span,.privacy-chip span,.eyebrow,.auth-copy,.auth-meta,.quick-entry label span,.filter-row>span,.check-row,.budget-meta em,.tx-main span,.agent-card span,.suggestion-list li,.calendar-item span,.mini-stat span,.bill-main span,.subscription-main span,.subscription-money span,.goal-card-v2 span,.playbook-item span,.setting-block span{color:var(--figma-muted);font-size:12px}.brand-mark{position:relative;width:28px;height:28px;flex:0 0 28px;overflow:hidden;color:transparent;background:radial-gradient(circle at 35% 23%,#f24e1e 0 5px,transparent 5.5px),radial-gradient(circle at 65% 23%,#a259ff 0 5px,transparent 5.5px),radial-gradient(circle at 35% 50%,#ff7262 0 5px,transparent 5.5px),radial-gradient(circle at 65% 50%,#1abcfe 0 5px,transparent 5.5px),radial-gradient(circle at 35% 77%,#0acf83 0 5px,transparent 5.5px),#fff;border:1px solid var(--figma-border);border-radius:7px}.brand-mark svg{opacity:0}.rail-nav{gap:2px;margin-top:14px}.rail-nav button{min-height:32px;padding:0 8px;border:0;border-radius:var(--figma-radius);color:var(--figma-text);font-size:12px;font-weight:520}.rail-nav button.active,.rail-nav button:hover{background:var(--figma-selected);color:var(--figma-text)}.privacy-chip{min-height:36px;padding:8px;background:transparent;border-color:var(--figma-border);border-radius:var(--figma-radius)}.workspace,.page-workspace{gap:12px;padding:12px}.topbar,.app-topbar-v2{top:0;min-height:52px;padding:8px 12px;background:var(--figma-canvas);border:0;border-bottom:1px solid var(--figma-border);border-radius:0;box-shadow:none}.topbar h1,.app-topbar-v2 h1,.panel-heading h2,.auth-panel h1{font-size:20px;font-weight:650;line-height:1.2}.panel,.auth-panel,.balance-panel,.transaction-row,.budget-item,.calendar-item,.mini-stat,.subscription-item,.goal-card-v2,.playbook-item,.setting-block,.amount-field,.filter-dock,.assist-dock,.agent-card,.code-tile,.amortization-preview{background:var(--figma-canvas);border:1px solid var(--figma-border);border-radius:8px;box-shadow:none}.balance-panel{min-height:420px;border-left:0}.balance-topline strong{font-size:clamp(28px,4.2vw,48px);font-weight:680}.primary-action,.auth-action,.bill-actions button:first-child,.btn-primary,.segmented button.selected,.type-toggle button.selected,.mini-segment button.selected,.mobile-tabs button.active{min-height:32px;border-radius:var(--figma-radius);background:var(--figma-text);border-color:var(--figma-text);color:#fff;box-shadow:none;font-size:12px;font-weight:600}.icon-btn,.tool-cluster button,.ghost-action,.agent-actions button,.code-tile button,.preset-grid button,.bill-actions button,.assist-presets button,.text-action,.user-pill,.segmented,.type-toggle,.mini-segment,.quick-entry input,.quick-entry select,.search-field input,.filter-row select,.recurring-form input,.recurring-form select{min-height:32px;background:#fff;border:1px solid var(--figma-border);border-radius:var(--figma-radius);box-shadow:none;color:var(--figma-text);font-size:12px}.icon-btn,.tool-cluster button{width:32px;height:32px}.tool-cluster button.active,.ghost-action.active,.status-dot.sync-state.loading,.status-dot.sync-state.saving,.status-dot.blue{background:#e8f4ff;border-color:#bde2ff;color:var(--figma-blue)!important}.sync-pill,.ok-chip,.status-dot,.status-dot.sync-state{min-height:24px;padding:0 8px;background:#ecfff7;border-color:#bdf3dd;color:#057a4f!important;font-size:11px}.alert-chip,.auth-error,.status-dot.sync-state.error{background:#fff0ed;border-color:#ffd0c7;color:#d73716!important}.mobile-tabs{right:10px;bottom:10px;left:10px;min-height:54px;background:#fffffff5;border:1px solid var(--figma-border);border-radius:12px;box-shadow:0 8px 24px #00000014}.mobile-tabs button{min-height:40px;border-radius:var(--figma-radius);color:var(--figma-muted);font-size:11px}@media(max-width:1180px){.app-shell,.app-shell-v2{grid-template-columns:1fr}.rail{height:auto;border-right:0;border-bottom:1px solid var(--figma-border)}}@media(max-width:760px){.app-shell-v2{padding:0 0 72px}.page-workspace,.workspace{padding:10px}.app-topbar-v2,.topbar{margin:-10px -10px 0}}html,body,.app-shell,.app-shell-v2,.auth-screen,.cost-auth-screen{background:radial-gradient(circle at 12% -8%,rgba(13,153,255,.2),transparent 34%),radial-gradient(circle at 92% 0%,rgba(162,89,255,.16),transparent 32%),radial-gradient(circle at 48% 108%,rgba(10,207,131,.13),transparent 36%),linear-gradient(180deg,#fff,#f7f8fb 52%,#eef1f7)}.brand-mark,.app-logo{color:transparent;background:linear-gradient(135deg,transparent 0 44%,rgba(13,153,255,.18) 45% 55%,transparent 56% 100%),radial-gradient(circle at 28% 30%,#f24e1e 0 3.6px,transparent 4px),radial-gradient(circle at 70% 30%,#a259ff 0 3.6px,transparent 4px),radial-gradient(circle at 28% 70%,#0acf83 0 3.6px,transparent 4px),radial-gradient(circle at 70% 70%,#1abcfe 0 3.6px,transparent 4px),#fff;border:1px solid var(--figma-border);border-radius:7px}:root{--figma-font-xs: 11px;--figma-font-ui: 12px;--figma-font-body: 13px;--figma-font-title: 20px;--figma-font-metric: 20px;--figma-font-display: 36px}.workspace,.page-workspace,.page-view,.panel,.auth-panel,.settings-drawer{font-size:var(--figma-font-body);line-height:1.45}.topbar h1,.app-topbar-v2 h1,.panel-heading h2,.auth-panel h1{font-size:var(--figma-font-title);font-weight:650;line-height:1.2}.eyebrow,.brand-lockup span,.privacy-chip span,.auth-copy,.auth-meta,.quick-entry label span,.filter-row>span,.check-row,.budget-meta em,.tx-main span,.agent-card span,.suggestion-list li,.calendar-item span,.mini-stat span,.bill-main span,.subscription-main span,.subscription-money span,.goal-card-v2 span,.playbook-item span,.setting-block span,.amortization-preview span{font-size:var(--figma-font-ui);line-height:1.4}.quick-entry input,.quick-entry select,.search-field input,.filter-row select,.recurring-form input,.recurring-form select,.settings-drawer input,.settings-drawer select{font-size:var(--figma-font-body)}.tx-main strong,.budget-meta strong,.bill-main strong,.subscription-main strong,.goal-card-v2 strong,.playbook-item strong,.agent-card strong,.calendar-item strong,.setting-block strong,.empty-state strong{font-size:var(--figma-font-body);font-weight:600;line-height:1.35}.primary-action,.auth-action,.bill-actions button:first-child,.btn-primary,.segmented button,.type-toggle button,.mini-segment button,.mobile-tabs button,.ghost-action,.agent-actions button,.code-tile button,.preset-grid button,.bill-actions button,.assist-presets button,.text-action,.user-pill,.sync-pill,.alert-chip,.ok-chip,.status-dot,.status-dot.sync-state{font-size:var(--figma-font-ui)}.balance-topline strong{font-size:clamp(30px,3.2vw,var(--figma-font-display));font-weight:680}.amount-field input{font-size:32px;font-weight:680}.metric strong,.mini-stat strong,.budget-meta span,.amortization-preview strong,.subscription-logo{font-size:var(--figma-font-metric);font-weight:650}.tx-amount,.bill-income,.bill-expense,.subscription-money strong{font-size:var(--figma-font-body);font-weight:650;line-height:1.35}.subscription-workbench{grid-template-columns:minmax(0,1fr) minmax(340px,390px);gap:16px}.subscription-primary-column,.subscription-entry-column{display:grid;min-width:0;gap:16px}.subscription-entry-column{position:sticky;top:76px;align-self:start}.subscription-workbench .subscription-panel,.subscription-workbench .recurring-panel,.subscription-workbench .recurring-form{padding:16px}.subscription-workbench .panel-heading{margin-bottom:14px}.subscription-workbench .subscription-panel{overflow:hidden}.subscription-workbench .subscription-stats,.subscription-workbench .recurring-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.subscription-workbench .mini-stat{min-height:68px;padding:10px}.subscription-workbench .mini-stat strong{overflow-wrap:anywhere}.subscription-workbench .subscription-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.subscription-workbench .subscription-item{position:relative;grid-template-columns:42px minmax(0,1fr);align-items:start;min-height:116px;padding:14px}.subscription-workbench .subscription-item:after{position:absolute;top:12px;right:12px;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:650;line-height:1.2;content:"生效中"}.subscription-workbench .subscription-item.active:after{background:#e9fbf4;color:#087a52}.subscription-workbench .subscription-item.inactive:after{background:#f1f2f4;color:var(--muted);content:"未生效"}.subscription-workbench .subscription-main{padding-right:56px}.subscription-workbench .subscription-main strong{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.subscription-workbench .subscription-main span{white-space:normal}.subscription-workbench .subscription-money{grid-column:1 / -1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid var(--border);text-align:left}.subscription-workbench .subscription-money strong{font-size:18px}.subscription-workbench .subscription-money span{margin-top:0}.subscription-workbench .bill-stack{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.subscription-workbench .bill-item{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;min-height:104px;padding:12px}.subscription-workbench .bill-main strong,.subscription-workbench .bill-main span{white-space:normal}.subscription-workbench .bill-actions{grid-column:1 / -1;justify-content:flex-start}.subscription-entry-column .recurring-form{align-content:start}.subscription-entry-column .panel-heading h2{font-size:18px}.subscription-entry-column .preset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.subscription-entry-column .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.subscription-entry-column .recurring-form label{margin-top:10px}.subscription-entry-column .primary-action{width:100%;margin-top:12px}@media(max-width:1280px){.subscription-workbench{grid-template-columns:minmax(0,1fr)}.subscription-entry-column{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.subscription-workbench .subscription-stats,.subscription-workbench .recurring-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-entry-column{grid-template-columns:minmax(0,1fr)}}@media(max-width:560px){.subscription-workbench{gap:12px}.subscription-workbench .subscription-panel,.subscription-workbench .recurring-panel,.subscription-workbench .recurring-form{padding:12px}.subscription-workbench .subscription-list,.subscription-workbench .bill-stack,.subscription-entry-column .form-grid,.subscription-entry-column .preset-grid{grid-template-columns:minmax(0,1fr)}.subscription-workbench .bill-item{grid-template-columns:42px minmax(0,1fr)}.subscription-workbench .bill-item>strong{grid-column:2}}.import-review{padding:14px}.import-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.import-stat{min-height:66px;padding:10px;background:#fffefa;border:1px solid var(--border);border-radius:var(--radius)}.import-stat strong,.import-stat span{display:block}.import-stat span{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.45}.import-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:12px}.import-actions button,.settings-add-form button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:0 11px;color:var(--ink);background:#fffefa;border:1px solid var(--border);border-radius:6px;font-size:12px;font-weight:800}.import-actions button:first-child{color:#fff;background:var(--ink);border-color:var(--ink)}.import-actions .danger{color:var(--red)}.due-action{min-height:34px}.goal-card-v2{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.goal-actions{display:inline-flex;gap:6px}.goal-actions button,.settings-chip button{display:grid;width:30px;height:30px;place-items:center;color:var(--ink);background:#fffefa;border:1px solid var(--border);border-radius:6px}.goal-actions .danger,.settings-chip .danger{color:var(--red)}.goal-editor{display:grid;gap:12px;margin-top:14px;padding:12px;background:#fffefa;border:1px solid var(--border);border-radius:var(--radius)}.goal-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.goal-editor-grid label,.settings-add-form{display:grid;gap:6px}.goal-editor-grid label span{color:var(--muted);font-size:11px;font-weight:750}.goal-editor-grid input,.settings-add-form input,.settings-chip input{width:100%;min-height:34px;padding:0 9px;color:var(--ink);background:#fff;border:1px solid var(--border);border-radius:6px;font-size:12px}.list-setting-block{grid-template-columns:minmax(0,1fr)}.settings-add-form{grid-template-columns:minmax(0,1fr) auto}.settings-chip-list{display:flex;flex-wrap:wrap;gap:8px}.settings-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:2px 3px 2px 10px;background:#f7f7f8;border:1px solid var(--border);border-radius:999px}.settings-chip span{margin:0;color:var(--ink);font-size:12px;font-weight:800}.settings-chip.editing{flex:1 1 220px;border-radius:var(--radius)}.subscription-renew-card .renewal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:760px){.goal-card-v2{grid-template-columns:auto minmax(0,1fr)}.goal-actions{grid-column:2}.goal-editor-grid,.subscription-renew-card .renewal-grid,.settings-add-form{grid-template-columns:minmax(0,1fr)}}.subscription-workbench .subscription-actions{grid-column:1 / -1;flex-wrap:wrap;justify-content:flex-start;padding-top:10px;border-top:1px solid var(--border)}.subscription-workbench .subscription-item.canceled:after{background:#fff1e6;color:#9a3412;content:"已取消"}.subscription-workbench .subscription-item.expired:after{background:#f1f2f4;color:var(--muted);content:"已过期"}.subscription-workbench .bill-edit-item{grid-template-columns:minmax(0,1fr);align-items:stretch}.subscription-workbench .subscription-edit-card{grid-column:1 / -1}.subscription-workbench .recurring-edit-grid,.subscription-workbench .subscription-edit-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.subscription-workbench .recurring-edit-note,.subscription-workbench .subscription-edit-note{grid-column:span 2}@media(max-width:760px){.budget-editor-grid,.subscription-workbench .recurring-edit-grid,.subscription-workbench .subscription-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sync-error-banner{grid-template-columns:18px minmax(0,1fr)}.sync-error-banner button{grid-column:2;justify-self:start}}@media(max-width:560px){.budget-editor-grid,.subscription-workbench .recurring-edit-grid,.subscription-workbench .subscription-edit-grid,.recurring-edit-note,.subscription-workbench .recurring-edit-note,.subscription-workbench .subscription-edit-note{grid-column:auto;grid-template-columns:minmax(0,1fr)}.budget-editor-actions,.subscription-workbench .bill-edit-actions,.subscription-workbench .subscription-edit-actions{justify-content:stretch}.budget-editor-actions button,.subscription-workbench .bill-edit-actions button,.subscription-workbench .subscription-edit-actions button,.subscription-workbench .subscription-actions button{flex:1 1 120px}}.panel-heading-actions{display:inline-flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end}.bill-import-list{display:grid;gap:8px;max-height:min(52vh,520px);margin-top:12px;overflow:auto}.bill-import-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(110px,.65fr) minmax(110px,.7fr) minmax(120px,.8fr);gap:10px;align-items:center;min-height:62px;padding:10px;background:#fff;border:1px solid var(--figma-border, var(--border));border-radius:8px}.bill-import-row.duplicate{background:#f7f7f8;opacity:.68}.bill-import-main{min-width:0}.bill-import-main strong,.bill-import-main span,.bill-import-meta strong,.bill-import-meta span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-import-main span,.bill-import-meta span{margin-top:3px;color:var(--figma-muted, var(--muted));font-size:12px}.bill-import-amount{font-variant-numeric:tabular-nums;font-weight:650;text-align:right}.bill-import-row.income .bill-import-amount{color:#087a52}.bill-import-row.expense .bill-import-amount{color:#d73716}.bill-import-category{width:100%;min-height:32px;padding:0 8px;color:var(--figma-text, var(--ink));background:#fff;border:1px solid var(--figma-border, var(--border));border-radius:6px;font-size:12px}.reports-layout{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}.reports-panel,.report-ranking-panel,.report-detail-panel{padding:16px}.report-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.report-period-toggle{display:inline-grid;grid-auto-flow:column;gap:4px;padding:3px;background:#fff;border:1px solid var(--figma-border, var(--border));border-radius:8px}.report-period-toggle button{min-height:30px;padding:0 12px;color:var(--figma-muted, var(--muted));background:transparent;border:0;border-radius:6px;font-size:12px;font-weight:650}.report-period-toggle button.active,.report-period-toggle button.selected{color:#fff;background:var(--figma-text, var(--ink))}.year-bars{display:grid;gap:9px}.year-bar-row{display:grid;grid-template-columns:54px minmax(0,1fr) 86px;gap:10px;align-items:center;min-height:30px;font-size:12px}.year-bar-row strong,.year-bar-row span{white-space:nowrap}.year-bar-row span{color:var(--figma-muted, var(--muted));font-variant-numeric:tabular-nums;text-align:right}.year-bar-track{height:9px;overflow:hidden;background:#edf0f4;border-radius:999px}.year-bar-fill{height:100%;background:linear-gradient(90deg,#0d99ff,#0acf83);border-radius:inherit}.report-ranking-panel{min-width:0}.report-ranking-list,.report-detail-list{display:grid;gap:9px}.report-ranking-item{display:grid;grid-template-columns:minmax(0,1fr) 82px;gap:10px;align-items:center;width:100%;min-height:58px;padding:10px;color:var(--figma-text, var(--ink));text-align:left;background:#fff;border:1px solid var(--figma-border, var(--border));border-radius:8px}.report-ranking-item:hover,.report-ranking-item.active{background:#eef7ff;border-color:#bde2ff}.report-ranking-item strong,.report-ranking-item span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-ranking-item span{margin-top:3px;color:var(--figma-muted, var(--muted));font-size:12px}.report-ranking-item em{display:block;height:6px;margin-top:8px;overflow:hidden;background:#edf0f4;border-radius:999px}.report-ranking-item em i{display:block;height:100%;background:#0d99ff;border-radius:inherit}.report-ranking-amount{font-variant-numeric:tabular-nums;font-weight:650;text-align:right}.report-detail-panel{grid-row:span 3}.report-detail-row{display:grid;grid-template-columns:38px minmax(0,1fr) 96px;gap:10px;align-items:center;min-height:58px;padding:10px;background:#fff;border:1px solid var(--figma-border, var(--border));border-radius:8px}.report-detail-row .tx-icon{width:34px;height:34px}.report-detail-row .tx-main{min-width:0}.report-detail-row .tx-amount{text-align:right}@media(max-width:1280px){.reports-layout{grid-template-columns:minmax(0,1fr)}.report-detail-panel{grid-row:auto}}@media(max-width:860px){.rail-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bill-import-row{grid-template-columns:minmax(0,1fr) minmax(90px,auto)}.bill-import-category,.bill-import-meta{grid-column:1 / -1}}@media(max-width:760px){.mobile-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.mobile-tabs button{min-width:0}}@media(max-width:560px){.rail-nav,.report-metric-grid{grid-template-columns:minmax(0,1fr)}.panel-heading-actions,.report-period-toggle{width:100%}.report-period-toggle{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:initial}.report-detail-row,.year-bar-row{grid-template-columns:minmax(0,1fr)}.report-detail-row .tx-amount,.bill-import-amount{text-align:left}}.brand-mark.brand-mark-text{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#0d0d0d,#2c2f33),#0d0d0d;border:1px solid #0d0d0d;border-radius:8px;font-size:15px;font-weight:750;line-height:1}.brand-mark.brand-mark-text svg{display:none}@media(min-width:861px){.transaction-list,.budget-list,.goal-list-v2,.calendar-stack,.subscription-list,.bill-stack,.suggestion-list,.report-ranking-list,.report-detail-list{max-height:min(68vh,720px);overflow:auto;padding-right:2px;scrollbar-gutter:stable}.ledger-layout .transaction-list{max-height:calc(100vh - 210px)}.dashboard-layout .transaction-list,.dashboard-layout .budget-list,.dashboard-layout .calendar-stack,.dashboard-layout .subscription-list{max-height:min(46vh,420px)}.subscription-workbench .subscription-list,.subscription-workbench .bill-stack,.subscription-entry-column{max-height:min(68vh,720px);overflow:auto}.report-ranking-list{max-height:min(34vh,330px)}.report-detail-list{max-height:min(74vh,820px)}}
