:root{--bg: #f6f3ec;--surface: #fffcf7;--surface-2: #f0ebe3;--border: #ddd6cb;--text: #1c1917;--muted: #78716c;--muted-2: #a8a29e;--green: #166534;--red: #991b1b;--blue: #1d4ed8;--amber: #b45309;--accent: #44403c}html,body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overflow-x:clip}button{font-family:inherit;-webkit-tap-highlight-color:transparent}input,select{font-family:inherit}input[type=date]{color-scheme:light}.app-shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-header{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:30;padding-top:env(safe-area-inset-top)}.header-main{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;max-width:640px;margin:0 auto}.header-text{min-width:0}.sync-meta{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sync-meta-stale{color:var(--amber);font-weight:500}.brand{font-weight:600;font-size:17px;color:var(--text);letter-spacing:-.01em;margin:0}.refresh-btn{border:none;background:none;color:var(--muted);padding:8px 4px 8px 12px;font-size:13px;font-weight:500;cursor:pointer;min-height:38px;flex-shrink:0}.refresh-btn:disabled{opacity:.5;cursor:default}.refresh-btn:active:not(:disabled){color:var(--text)}.main-content{flex:1;width:100%;max-width:640px;margin:0 auto;padding:16px 16px 96px}@media (min-width: 640px){.main-content{padding:20px 20px 48px}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;background:#fffcf7f7;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:40}.bottom-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:8px 0 6px;min-height:54px;background:none;border:none;color:var(--muted);font-size:11px;font-weight:600;cursor:pointer}.bottom-tab-active{color:var(--accent)}.bottom-tab svg{display:block}.ledger{display:flex;flex-direction:column}.totals{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:8px 2px 28px}.total-label{font-size:13px;color:var(--muted);margin-bottom:4px}.total-value{font-size:30px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-.025em;line-height:1.05;color:var(--text)}.ledger-section{margin-bottom:30px}.ledger-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 2px 8px;border-bottom:1px solid var(--text)}.ledger-title{font-size:14px;font-weight:600;color:var(--text);margin:0;letter-spacing:0;text-transform:none}.ledger-total{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.ledger-row-wrap{border-bottom:1px solid var(--border)}.ledger-row-wrap:last-child{border-bottom:none}.ledger-row{display:flex;align-items:center;gap:12px;width:100%;min-height:54px;padding:12px 2px;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;font-size:15px}.ledger-row:active{background:var(--surface-2)}.static-row{cursor:default;border-bottom:1px solid var(--border)}.static-row:last-child{border-bottom:none}.ledger-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ledger-row-name{font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-row-sub{font-size:12px;color:var(--muted)}.ledger-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.ledger-row-amt{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.ledger-row-note{font-size:11px;color:var(--muted-2);line-height:1.35}.ledger-row-name{flex-shrink:0}.stale-note{color:var(--amber);font-weight:500}.source-line{font-size:12px;color:var(--muted);padding:8px 2px 4px}.source-line-stale{color:var(--amber);font-weight:500}.source-error{font-size:12px;color:var(--red);padding:2px 2px 6px;line-height:1.4}.source-error-soft{color:var(--muted)}.link-btn{background:none;border:none;padding:0;color:var(--muted);font-size:13px;cursor:pointer}.link-btn:active{color:var(--red)}.link-btn:disabled{opacity:.5;cursor:default}.connect-wrap{margin-top:8px}.empty-state{color:var(--muted);padding:40px 0;text-align:center;font-size:14px}.drill-panel{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:-4px 0 12px;animation:panelIn .16s ease}.inline-panel{border-top:1px solid var(--border);padding:12px 2px 16px;animation:panelIn .16s ease}@keyframes panelIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tap-row{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 14px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;font-size:14px}.tap-row:last-child{border-bottom:none}.tap-row:active{background:var(--surface-2)}.tap-row-main{flex:1;min-width:0}.row-name{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:12px;color:var(--muted);margin-top:2px}.row-amt-col{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.row-amt{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text)}.row-pending{font-size:11px;color:var(--muted-2);font-weight:600}.chevron{color:var(--muted-2);flex-shrink:0;transition:transform .15s}.chevron-open{transform:rotate(90deg)}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px}.card-pad{padding:14px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1c191759;z-index:50;animation:fadeIn .15s ease}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:51;background:var(--surface);border-radius:18px 18px 0 0;border-top:1px solid var(--border);padding:8px 16px calc(20px + env(safe-area-inset-bottom));max-height:85vh;overflow-y:auto;animation:slideUp .22s cubic-bezier(.32,.72,0,1)}@media (min-width: 640px){.sheet{max-width:480px;left:50%;transform:translate(-50%);border-radius:18px;bottom:24px;border:1px solid var(--border)}}.sheet-handle{width:36px;height:4px;border-radius:2px;background:var(--border);margin:4px auto 14px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.period-wrap{margin-bottom:12px}.period-select-wrap{position:relative}.period-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.period-caret{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.period-select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:12px 38px;font-size:14px;font-weight:600;min-height:44px;cursor:pointer}.custom-dates{display:flex;align-items:center;gap:8px;margin-top:8px}.date-input{flex:1;background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:10px 12px;font-size:14px;min-height:44px;min-width:0}.sheet .period-wrap{margin-bottom:0}.sheet .period-select,.sheet .date-input{background:var(--surface-2)}.money-pos{color:var(--green)}.money-neg{color:var(--red)}.section-title{font-size:14px;font-weight:600;color:var(--text)}.page-title{font-size:20px;font-weight:700;margin:0 0 16px}.group-head{display:flex;justify-content:space-between;align-items:center;padding:12px 14px 8px;gap:8px}.group-subtotal{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text)}.hero{padding:6px 2px 22px}.hero-label{font-size:13px;color:var(--muted);margin-bottom:4px}.hero-value{font-size:40px;font-weight:600;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums;color:var(--text)}.hero-sub{font-size:13px;color:var(--muted);margin-top:6px;font-variant-numeric:tabular-nums}.afford{margin-top:16px}.afford-label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px}.afford-row{display:flex;align-items:center;gap:6px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:0 12px;min-height:48px}.afford-dollar{font-size:17px;color:var(--muted)}.afford-input{flex:1;min-width:0;border:none;background:none;outline:none;font-size:17px;font-weight:600;color:var(--text);font-variant-numeric:tabular-nums;padding:12px 0}.afford-verdict{font-size:14px;font-weight:600;color:var(--muted-2);white-space:nowrap}.afford-yes{color:var(--green)}.afford-tight{color:var(--amber)}.afford-no{color:var(--red)}.nudge{display:flex;flex-direction:column;gap:10px;background:var(--surface-2);border-radius:12px;padding:12px 14px;margin-bottom:18px}.nudge-text{font-size:13px;color:var(--text);line-height:1.45}.nudge-actions{display:flex;align-items:center;gap:16px}.nudge .link-btn{align-self:flex-start}.btn-primary{background:var(--accent);color:#fffcf7;border:none;border-radius:10px;font-size:14px;font-weight:600;padding:0 16px;min-height:44px;cursor:pointer}.btn-primary:disabled{opacity:.5;cursor:default}.btn-secondary{width:100%;background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:15px;border-radius:12px;min-height:48px;margin-top:16px;cursor:pointer}.q-stack{margin-bottom:24px}.q-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 2px 8px}.q-head-title{font-size:14px;font-weight:600}.q-head-count{font-size:12px;color:var(--muted)}.q-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;animation:panelIn .18s ease}.q-card-stacked{box-shadow:0 5px 0 -1px var(--surface),0 5px 0 0 var(--border),0 10px 0 -1px var(--surface),0 10px 0 0 var(--border);margin-bottom:10px}.q-kicker{font-size:12px;color:var(--muted);margin-bottom:4px}.q-title{font-size:18px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.q-detail{font-size:13px;color:var(--muted);margin-top:4px;line-height:1.4;font-variant-numeric:tabular-nums}.q-answers{display:flex;flex-direction:column;gap:8px;margin-top:14px}.q-answer{min-height:46px;border-radius:10px;border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:15px;font-weight:500;cursor:pointer;text-align:left;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:8px}.q-answer:active{background:var(--border)}.q-answer-guess{border-color:var(--accent);background:var(--surface);font-weight:600}.q-answer-guess:after{content:"best guess";font-size:11px;font-weight:500;color:var(--muted);flex-shrink:0}.q-answer-ghost{background:none;color:var(--muted)}.q-skip{display:block;margin:10px auto 0;background:none;border:none;color:var(--muted);font-size:13px;padding:8px 12px;cursor:pointer}.month-card{display:block;width:100%;text-align:left;cursor:pointer;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:16px;margin-bottom:30px}.month-card:active{background:var(--surface-2)}.month-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.month-card-title{font-size:13px;color:var(--muted)}.coverage-pill{font-size:11px;font-weight:600;color:var(--muted);background:var(--surface-2);border-radius:999px;padding:3px 8px;white-space:nowrap}.month-card-amt{font-size:28px;font-weight:600;letter-spacing:-.02em;margin-top:2px;font-variant-numeric:tabular-nums}.month-card-sub{font-size:13px;color:var(--muted);margin-top:2px}.month-card-link{display:block;font-size:13px;font-weight:600;color:var(--accent);margin-top:12px}.mini-bars{display:flex;flex-direction:column;gap:8px;margin-top:14px}.mini-bar-row{display:grid;grid-template-columns:minmax(0,7.5em) 1fr auto;align-items:center;gap:10px;font-size:13px}.mini-bar-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-bar-track{height:6px;background:var(--surface-2);border-radius:3px;overflow:hidden}.mini-bar-fill{display:block;height:100%;background:var(--accent);border-radius:3px}.mini-bar-amt{font-variant-numeric:tabular-nums;font-weight:600}.sheet-title{font-size:17px;font-weight:700;overflow-wrap:anywhere}.sheet-sub{font-size:13px;color:var(--muted);margin-top:2px}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px 14px;min-height:56px;margin-top:14px;cursor:pointer;text-align:left}.switch-text{display:flex;flex-direction:column;gap:2px;min-width:0}.switch-label{font-size:14px;font-weight:600;color:var(--text);overflow-wrap:anywhere}.switch-hint{font-size:12px;color:var(--muted)}.switch{width:42px;height:24px;border-radius:12px;padding:2px;background:var(--border);flex-shrink:0;transition:background .15s}.switch-on{background:var(--accent)}.switch-knob{display:block;width:20px;height:20px;border-radius:50%;background:var(--surface);transition:transform .15s}.switch-on .switch-knob{transform:translate(18px)}.cat-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.cat-grid-other{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.cat-chip{min-height:44px;padding:0 14px;border-radius:22px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:14px;cursor:pointer}.cat-chip:active{background:var(--surface-2)}.cat-chip-current{border-color:var(--accent);font-weight:600}.new-cat{display:flex;gap:8px;margin-top:14px}.new-cat-input{flex:1;min-width:0;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:0 12px;min-height:44px;font-size:15px;color:var(--text)}.new-cat-link{display:block;margin-top:14px;padding:10px 0;font-weight:600}.txn-row:active{background:var(--surface-2)!important}.guess-dot{width:6px;height:6px;border-radius:50%;background:var(--amber);display:inline-block;flex-shrink:0}.spend-filters{position:sticky;top:calc(58px + env(safe-area-inset-top));z-index:20;background:var(--bg);margin:-8px -16px 0;padding:8px 16px 10px}.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.chips::-webkit-scrollbar{display:none}.chip{flex-shrink:0;min-height:36px;padding:0 12px;border-radius:18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap}.chip-on{background:var(--accent);border-color:var(--accent);color:#fffcf7}.account-select{width:100%;margin-top:8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 12px;min-height:40px;font-size:13px;color:var(--text)}.spend-summary{padding:14px 2px 4px}.spend-period{font-size:13px;color:var(--muted)}.spend-total{font-size:32px;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.spend-avg{font-size:15px;font-weight:500;color:var(--muted);letter-spacing:0}.spend-meta{font-size:13px;color:var(--muted);margin-top:2px}.spend-chart{margin:8px 0 26px}.chart-hint{font-size:11px;color:var(--muted-2);text-align:center;margin-top:2px}.chart-warn{font-size:12px;color:var(--amber);background:#fbf1e4;border-radius:10px;padding:10px 12px;margin-top:10px;line-height:1.45}.cat-row .ledger-row-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-bar{display:block;height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden;margin:3px 0 1px;max-width:220px}.cat-bar-fill{display:block;height:100%;background:var(--accent);border-radius:2px}.month-bars{display:flex;gap:4px;align-items:flex-end;margin:0 0 14px}.month-bar-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px}.month-bar-amt{font-size:9px;color:var(--muted);height:12px;white-space:nowrap;font-variant-numeric:tabular-nums}.month-bar-track{width:100%;max-width:30px;height:56px;display:flex;align-items:flex-end}.month-bar-fill{display:block;width:100%;background:var(--border);border-radius:3px 3px 0 0;min-height:1px}.month-bar-on{background:var(--accent)}.month-bar-label{font-size:10px;color:var(--muted)}.toast{position:fixed;left:16px;right:16px;z-index:60;bottom:calc(66px + env(safe-area-inset-bottom));max-width:480px;margin:0 auto;background:var(--text);color:var(--bg);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.45;box-shadow:0 6px 20px #1c19172e;animation:panelIn .18s ease}.q-clues{list-style:none;margin:12px 0 0;padding:10px 12px;background:var(--surface-2);border-radius:10px;display:flex;flex-direction:column;gap:6px}.q-clues li{position:relative;padding-left:14px;font-size:13px;line-height:1.45;color:var(--text)}.q-clues li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;border-radius:50%;background:var(--muted-2)}.q-txns-toggle{background:none;border:none;padding:10px 0 0;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer;min-height:32px}.q-txns{margin-top:6px;border-top:1px solid var(--border)}.q-txn{padding:8px 0;border-bottom:1px solid var(--border)}.q-txn-top{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-variant-numeric:tabular-nums}.q-txn-top span:first-child{color:var(--muted);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.q-txn-top span:last-child{font-weight:600;flex-shrink:0}.q-txn-raw{font-size:11px;color:var(--muted-2);margin-top:2px;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.q-footer{display:flex;justify-content:center;gap:8px;margin-top:6px}.q-footer .q-skip{margin:0}.home{display:flex;flex-direction:column;gap:22px}.hero-card{background:#1c1917;color:#f6f3ec;border-radius:18px;padding:18px 18px 16px}.hero-card-label{font-size:13px;color:#c9c2b6}.hero-card-value{font-size:44px;font-weight:600;letter-spacing:-.035em;line-height:1.05;font-variant-numeric:tabular-nums;margin-top:2px}.hero-card-sub{font-size:13px;color:#c9c2b6;margin-top:6px;font-variant-numeric:tabular-nums}.afford-dark{margin-top:14px}.afford-dark .afford-label{color:#c9c2b6}.afford-dark .afford-row{background:#2a2622;border-color:#3a3530}.afford-dark .afford-dollar{color:#a8a29e}.afford-dark .afford-input{color:#f6f3ec}.afford-dark .afford-input::placeholder{color:#6b645c}.afford-dark .afford-yes{color:#9fd68a}.afford-dark .afford-tight{color:#f2c27a}.afford-dark .afford-no{color:#f4a3a3}.pace{position:relative;display:block;width:100%;height:5px;background:var(--surface-2);border-radius:3px;margin:6px 0 2px}.pace-fill{display:block;height:100%;background:var(--accent);border-radius:3px}.pace-tick{position:absolute;top:-3px;width:2px;height:11px;background:var(--red);border-radius:1px}.home-section{display:block;width:100%}.home-section-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 2px 8px;gap:8px}.home-section-title{font-size:15px;font-weight:600;margin:0;color:var(--text)}.home-see-all{font-size:13px;font-weight:600;color:var(--accent)}.home-question{margin-top:12px}.home-question .q-stack{margin-bottom:0}.insight{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:8px;color:var(--text);cursor:default}button.insight{cursor:pointer}button.insight:active{background:var(--surface-2)}.insight-danger{background:#fbecea;border-color:#f0c7c2}.insight-warning{background:#fbf2e4;border-color:#efd8b2}.insight-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0;background:var(--muted-2)}.insight-dot-danger{background:var(--red)}.insight-dot-warning{background:var(--amber)}.insight-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.insight-title{font-size:14px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}.insight-danger .insight-title{color:var(--red)}.insight-detail{font-size:13px;color:var(--muted);line-height:1.4;overflow-wrap:anywhere}.insight-chev{color:var(--muted-2);font-size:20px;line-height:1;align-self:center}.insight-quiet{font-size:13px;color:var(--muted);padding:2px 2px 4px}.month-bar-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px;text-align:left;color:var(--text);cursor:pointer}.month-bar-card .home-section-head{padding:0 0 10px}.stack-bar{display:flex;height:12px;border-radius:6px;overflow:hidden;gap:2px;background:var(--surface)}.stack-bar span{display:block;height:100%;min-width:3px}.stack-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;margin-top:12px}.stack-legend-item{display:flex;align-items:center;gap:6px;font-size:13px;min-width:0}.stack-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;display:inline-block}.stack-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}.stack-amt{font-weight:600;font-variant-numeric:tabular-nums}.cat-name{display:inline-flex;align-items:center;gap:8px}.cat-row-wrap{scroll-margin-top:calc(150px + env(safe-area-inset-top))}.reconnect-btn{display:block;margin-top:8px}.hero-safe{display:block;width:100%;text-align:left;margin-top:14px;cursor:pointer;background:#2a2622;border:1px solid #3a3530;border-radius:12px;padding:10px 12px;color:#f6f3ec}.hero-safe-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px;font-size:14px}.hero-safe-amt{font-size:18px;font-weight:600;font-variant-numeric:tabular-nums}.hero-safe-sub{display:block;font-size:12px;color:#c9c2b6;margin-top:2px}.afford-after{font-size:12px;color:#c9c2b6;margin-top:6px}.afford-after.afford-no{color:#f4a3a3}.repeat-payday{font-size:13px;color:var(--green);background:#edf5e6;border-radius:10px;padding:8px 12px;margin:10px 0 4px}.repeat-stopped{opacity:.6}.repeat-panel{display:flex;justify-content:space-between;align-items:center;gap:12px}.repeat-toggle{display:block;padding:12px 2px;font-weight:600}.limit-row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px;padding:2px 2px 12px}.limit-actions{display:flex;gap:14px}.limit-set{font-weight:600;color:var(--accent);padding:6px 0}.limit-edit{display:flex;align-items:center;gap:8px;padding:0 2px 12px}.limit-input{flex:1;min-width:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 10px;min-height:44px;font-size:16px;color:var(--text)}.limit-warn{color:var(--amber);font-weight:600}.inout{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin:0 0 14px}.inout-head{font-size:12px;color:var(--muted);margin-bottom:8px}.inout-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.inout-totals div{display:flex;flex-direction:column;gap:2px}.inout-num{font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.inout-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:8px 0;border-top:1px solid var(--border);font-size:13px}.inout-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inout-name,.inout-detail{grid-column:1}.inout-net{grid-column:2;grid-row:1 / span 2;font-weight:600;font-variant-numeric:tabular-nums;align-self:center}.inout-detail{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.spending{display:flex;flex-direction:column;gap:16px}.spending .spend-filters{margin-bottom:-8px}.spend-summary{padding:6px 2px 0}.spend-period{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}.spend-pace{font-size:14px;line-height:1.45;margin-top:8px;color:var(--text)}.pace-lg{height:8px;border-radius:4px;margin:8px 0 4px}.pace-lg .pace-tick{top:-4px;height:16px}.vs-over{color:var(--red);font-weight:600}.vs-under{color:var(--green);font-weight:600}.vs-even{color:var(--muted)}.mchart{padding:4px 0 0}.mchart-plot{position:relative;display:flex;align-items:flex-end;gap:6px}.mchart-typical{position:absolute;left:0;right:0;border-top:1.5px dashed #a8a29e;z-index:1;pointer-events:none}.mchart-typical span{position:absolute;right:0;top:-15px;font-size:10px;color:var(--muted);background:var(--bg);padding:0 3px}.mchart-col{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;background:none;border:none;padding:0;cursor:pointer;height:100%}.mchart-amt{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.mchart-bar{display:flex;flex-direction:column;justify-content:flex-end;width:100%;max-width:38px;border-radius:5px 5px 2px 2px;overflow:hidden;opacity:.55;transition:opacity .15s}.mchart-bar span{display:block;width:100%;flex-shrink:0}.mchart-sel .mchart-bar{opacity:1;box-shadow:0 0 0 2px var(--text)}.mchart-sel .mchart-amt,.mchart-sel .mchart-label{color:var(--text);font-weight:700}.mchart-missing .mchart-bar{outline:1.5px dashed var(--amber);outline-offset:1px}.mchart-label{font-size:11px;color:var(--muted);height:14px;line-height:14px}.mchart-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px;margin-top:-6px}.mchart-caption .chart-hint{margin:0;flex-shrink:0}.scard{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:14px}.scard-flush{padding:4px 14px 2px}.scard-flush .ledger-section{margin-bottom:8px}.scard-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.scard-title{font-size:16px;font-weight:700;margin:0}.scard-note{font-size:12px;color:var(--muted)}.clist-key{font-size:12px;color:var(--muted);line-height:1.45;margin-bottom:6px}.clist-group{font-size:12px;font-weight:700;color:var(--muted);text-transform:none;padding:12px 0 2px}.cline{display:flex;flex-direction:column;gap:5px;width:100%;text-align:left;color:var(--text);background:none;border:none;border-bottom:1px solid var(--border);padding:11px 0;cursor:pointer;scroll-margin-top:calc(110px + env(safe-area-inset-top))}.cline:last-child{border-bottom:none}.cline:active{background:var(--surface-2)}.cline-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.cline-name{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;min-width:0}.cline-amt{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.cline-track{position:relative;display:block;height:7px;background:var(--surface-2);border-radius:4px}.cline-fill{display:block;height:100%;border-radius:4px}.cline-tick{position:absolute;top:-4px;width:2px;height:15px;background:var(--text);border-radius:1px}.cline-sub{display:flex;flex-wrap:wrap;gap:4px 10px;font-size:12px;color:var(--muted)}.plan-income{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;padding:2px 0 8px;border-bottom:1px solid var(--border)}.plan-income-src{color:var(--muted);font-size:12px}.plan-intro{font-size:14px;line-height:1.5;padding-top:8px}.plan-intro p{margin:0 0 6px}.plan-intro ol{margin:0 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:4px}.plan-preview{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.plan-chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;background:var(--surface-2);border-radius:999px;padding:4px 10px}.plan-cta{width:100%}.plan-pct,.plan-of{font-size:12px;color:var(--muted);font-weight:500}.plan-invest{cursor:default}.plan-invest .limit-row{padding:2px 0 0}.plan-foot{font-size:12px;color:var(--muted);padding-top:10px}.target-edit{display:flex;align-items:center;gap:8px;padding:0 0 12px}.target-pct{font-size:15px;color:var(--muted)}.target-dollars{font-size:12px;color:var(--muted);min-width:58px}.putaway-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px}.putaway-foot{display:flex;flex-direction:column;gap:4px;font-size:13px}.value-line{width:100%;height:48px;margin-top:6px}.trends-key{margin-bottom:4px}.trend{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:10px 0;cursor:pointer;color:var(--text)}.trend:last-child{border-bottom:none}.trend-arrow{font-size:18px;line-height:1.2;width:14px}.trend-main{display:flex;flex-direction:column;gap:3px;min-width:0}.sheet-tall{max-height:92vh}.cd-head{display:flex;align-items:center;gap:8px}.cd-total{font-size:30px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:6px}.cd-sub{font-size:13px;color:var(--muted);line-height:1.45}.cd-vs{font-size:14px;margin-top:6px}.cd-bars{margin:14px 0}.seg{display:flex;background:var(--surface-2);border-radius:10px;padding:3px;margin:4px 0 10px}.seg-btn{flex:1;min-height:38px;border:none;background:none;border-radius:8px;font-size:14px;font-weight:600;color:var(--muted);cursor:pointer}.seg-on{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #1c191714}.cd-filter{display:block;background:var(--surface-2);border:none;border-radius:999px;padding:6px 12px;font-size:12px;margin-bottom:8px;cursor:pointer;color:var(--text)}.cd-places{overflow:hidden}.cd-place{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);padding:12px 14px;cursor:pointer;color:var(--text)}.cd-place:last-child{border-bottom:none}.cd-place-main{display:flex;flex-direction:column;gap:2px;min-width:0}.cd-place-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-place-sub{font-size:12px;color:var(--muted)}.cd-place-amt{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}.header-actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.header-on{color:var(--text);font-weight:700}.plan-period{font-size:13px;color:var(--muted);padding:2px 2px 0}.not-counted{font-size:13px;color:var(--muted);padding:0 2px 8px}.not-counted .link-btn{color:var(--accent);font-weight:600;font-size:13px}.strip{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;background:#1c1917;color:#f6f3ec;border:none;border-radius:14px;padding:12px 14px}.strip-col{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.strip-right{align-items:flex-end}.strip-label{font-size:12px;color:#c9c2b6;white-space:nowrap}.strip-val{font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.strip-neg{color:#f4a3a3}.strip-chev{font-size:22px;color:#a8a29e}.notes-pill{align-self:flex-start;margin-top:-8px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer}.notes-pill-urgent{border-color:#f0c7c2;background:#fbecea;color:var(--red)}.setaside-row{grid-template-columns:10px minmax(0,1fr) auto auto}.setaside-done{font-weight:600;color:var(--accent)}.trend-tag{font-size:11px;font-weight:600;margin-left:2px;white-space:nowrap}.plan-footer{border-top:1px solid var(--border);margin-top:6px;padding-top:10px;font-size:13px;color:var(--muted)}.plan-footer-line{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;line-height:1.45}.plan-footer-line b{color:var(--text)}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}button,a,select,label,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (pointer: coarse){input,select,textarea{font-size:16px!important}}.refresh-btn{min-height:44px}.chip,.notes-pill{min-height:40px}.account-select{min-height:44px}.link-btn{padding-block:12px;margin-block:-12px}.chips{padding-right:28px;-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 28px),transparent)}.sheet{max-height:85dvh;overscroll-behavior:contain}@media (max-width: 639px){.main-content{padding-bottom:calc(84px + env(safe-area-inset-bottom))}}.sheet-backdrop{touch-action:none}.sheet-tall{max-height:92dvh}.sheet-grab{position:sticky;top:-8px;z-index:3;display:flex;align-items:center;justify-content:center;min-height:40px;margin:-8px -16px 6px;padding:0 16px;background:var(--surface);touch-action:none;cursor:grab}.sheet-grab .sheet-handle{margin:0;width:40px;height:5px;border-radius:3px}.sheet-x{position:absolute;right:10px;top:50%;translate:0 -50%;width:30px;height:30px;border-radius:50%;border:none;background:var(--surface-2);color:var(--muted);display:grid;place-items:center;cursor:pointer}.sheet-x:after{content:"";position:absolute;top:-7px;right:-7px;bottom:-7px;left:-7px}.ptr{position:fixed;left:50%;top:calc(env(safe-area-inset-top) + 72px);z-index:35;transform:translate(-50%,-44px);opacity:0;pointer-events:none;background:var(--text);color:var(--surface);font-size:12px;font-weight:600;padding:6px 12px;border-radius:999px;white-space:nowrap}.edge-back{position:fixed;left:0;top:50%;z-index:45;width:40px;height:40px;margin-top:-20px;border-radius:50%;background:var(--text);color:var(--surface);display:grid;place-items:center;opacity:0;pointer-events:none;transform:translate(-44px)}.edge-back-ready{background:var(--accent)}.books{display:flex;flex-direction:column;gap:16px}.books-card{display:flex;flex-direction:column;gap:2px;background:#1c1917;color:#f6f3ec;border-radius:14px;padding:14px 16px}.books-card-val{font-size:34px;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.books-card-sub{font-size:14px;line-height:1.45;color:#e7e1d6}.books-card-mini{display:flex;justify-content:space-between;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #44403c;font-size:13px;color:#c9c2b6}.books-card-mini b{color:#f6f3ec;font-variant-numeric:tabular-nums}.books-list{padding:4px 14px}.books-list-head{font-size:13px;font-weight:700;color:var(--muted);padding:10px 0 2px}.books-foot{font-size:12px;line-height:1.5;color:var(--muted);margin:0 2px;text-align:center}.drop{border-bottom:1px solid var(--border)}.drop:last-child{border-bottom:none}.drop-head{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:10px 0;background:none;border:none;color:var(--text);text-align:left;cursor:pointer}.drop-head:active{background:var(--surface-2)}.drop-icon{flex-shrink:0}.drop-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.drop-title{font-size:15px;font-weight:600}.drop-sub{font-size:12px;color:var(--muted);line-height:1.35}.drop-val{flex-shrink:0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.drop-body{padding:0 0 12px}.drop-l2 .drop-title{font-size:14px}.drop-l2 .drop-head{min-height:48px}.drop-l2 .drop-body{padding:0 0 10px 10px;border-left:2px solid var(--surface-2);margin-left:4px}.drop-l3 .drop-head{min-height:44px;padding:8px 0}.drop-l3 .drop-title,.drop-l3 .drop-val{font-size:14px;font-weight:500}.drop-body .drop:last-child{border-bottom:1px solid var(--border)}.mark{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:800}.mark-pass{background:#e3f0dc;color:var(--green)}.mark-fail{background:#f6e1de;color:var(--red)}.mark-open{background:var(--surface-2);color:var(--muted)}.mline{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;font-size:14px;border-bottom:1px solid var(--border)}.mline-label{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mline-sub{font-size:12px;color:var(--muted);line-height:1.35}.mline-val{flex-shrink:0;font-variant-numeric:tabular-nums;text-align:right}.mline-total{font-weight:700;border-bottom:1px solid var(--text)}.mgroup{font-size:13px;font-weight:700;padding:14px 0 4px;border-bottom:1px solid var(--text)}.mexplain{font-size:14px;line-height:1.5;margin:10px 0 0}.mexplain.muted{font-size:12px;color:var(--muted)}.msel{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;padding:4px 0 8px}.msel select{-moz-appearance:none;appearance:none;-webkit-appearance:none;font:inherit;font-weight:600;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:6px 28px 6px 10px;min-height:36px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:right 13px center,right 8px center;background-size:5px 5px;background-repeat:no-repeat}.msel-when{color:var(--muted);font-size:13px}.peek{display:flex;flex-direction:column}.peek-row{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:8px;align-items:baseline;padding:6px 0;font-size:13px;border-bottom:1px solid var(--border)}.peek-date{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.peek-name{min-width:0;display:flex;flex-direction:column;gap:1px;overflow-wrap:anywhere}.peek-acct{font-size:11px;color:var(--muted-2)}.peek-amt{font-variant-numeric:tabular-nums;text-align:right}.peek-total{font-weight:600;border-bottom:none}.peek-total .peek-name{font-weight:500;color:var(--muted)}.peek-note{font-size:13px;color:var(--muted);padding:6px 0}.books-card-good{color:#9fd68a!important}.audit-ok{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.audit-ok b{color:var(--text)}.audit-ok .mark{flex-shrink:0}.audit-bad{border-color:#f0c7c2}.toast{display:flex;align-items:center;justify-content:space-between;gap:12px}.toast-action{flex-shrink:0;border:none;background:none;color:#9fd68a;font-weight:700;font-size:14px;padding:6px 4px;min-height:36px;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.bottom-tab{font-size:12px;min-height:58px}.home2{display:flex;flex-direction:column;gap:14px}.hero{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:left;cursor:pointer;background:#1c1917;color:#f6f3ec;border:none;border-radius:18px;padding:20px 20px 16px}.hero:active{background:#292524}.hero-label{font-size:16px;color:#e7e1d6}.hero-num{font-size:48px;font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.hero-neg{color:#f4a3a3}.hero-sub{font-size:15px;color:#c9c2b6;line-height:1.4}.hero-go{display:inline-flex;align-items:center;gap:2px;margin-top:12px;font-size:15px;font-weight:600;color:#f6f3ec}.hero-go .chevron{color:#c9c2b6}.qcards{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:16px;overflow:hidden}.qcard{display:flex;align-items:center;gap:10px;width:100%;min-height:76px;padding:14px 14px 14px 16px;background:none;border:none;border-bottom:1px solid var(--border);text-align:left;color:var(--text);cursor:pointer}.qcard:last-child{border-bottom:none}.qcard:active{background:var(--surface-2)}.qcard-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.qcard-q{font-size:16px;font-weight:600}.qcard-fact{font-size:14px;color:var(--muted);line-height:1.35}.qcard-answer{flex-shrink:0;font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.check-row{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 14px 0 16px;background:var(--surface);border:1px solid var(--border);border-radius:14px;font-size:16px;color:var(--text);cursor:pointer;text-align:left}.check-row:active{background:var(--surface-2)}.check-dot{width:9px;height:9px;border-radius:50%;background:var(--amber);flex-shrink:0}.check-text{flex:1;font-weight:600}.page{display:flex;flex-direction:column;gap:6px}.page-back{align-self:flex-start;display:inline-flex;align-items:center;gap:2px;min-height:44px;margin:-8px 0 0 -8px;padding:0 12px 0 4px;background:none;border:none;color:var(--accent);font-size:16px;font-weight:600;cursor:pointer}.page-title{font-size:24px;font-weight:700;letter-spacing:-.01em;margin:0}.answer{padding:10px 0 2px}.answer-num{font-size:40px;font-weight:700;letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums}.answer-label{font-size:16px;color:var(--muted);margin-top:2px}.answer-math{font-size:15px;line-height:1.5;margin:4px 0 0;color:var(--muted)}.psection{margin-top:22px}.psection-title{font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--muted);margin:0 0 4px}.psection-body{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:4px 14px}.psection-body>.mexplain:first-child{margin-top:10px}.psection-body>.mexplain:last-child,.psection-body>.callout:last-child{margin-bottom:12px}.page .mline{font-size:16px;padding:11px 0}.page .mline-sub{font-size:13px}.page .mexplain{font-size:15px}.page .mgroup{font-size:14px}.page .drop-head{min-height:56px}.page .drop-title{font-size:16px}.page .drop-sub{font-size:13px}.page .drop-val{font-size:16px}.page .drop-l2 .drop-body{padding-left:10px}.page .peek-row{font-size:14px;padding:9px 0}.callout{font-size:15px;line-height:1.45;border-radius:12px;padding:12px 14px;margin:12px 0}.callout-neg{background:#fbecea;color:var(--red)}.aside-row{display:flex;align-items:center;gap:10px;min-height:56px;border-bottom:1px solid var(--border);font-size:16px}.aside-name{flex:1;min-width:0}.aside-amt{font-weight:600;font-variant-numeric:tabular-nums}.aside-form{display:flex;flex-direction:column;gap:8px;padding:4px 0 8px}.field{width:100%;min-height:48px;padding:0 12px;font-size:16px;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:12px}.field-amt{font-variant-numeric:tabular-nums}.btn-quiet{flex-shrink:0;min-height:44px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:15px;font-weight:600;cursor:pointer}.btn-quiet:active{background:var(--surface-2)}.btn-quiet:disabled{opacity:.5}.btn-wide{width:100%;margin:12px 0 4px;min-height:48px}.btn-main{min-height:48px;border:none;border-radius:12px;background:var(--text);color:var(--bg);font-size:16px;font-weight:700;cursor:pointer}.btn-main:disabled{opacity:.4}.month-pick select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;min-height:48px;padding:0 40px 0 14px;font:inherit;font-size:17px;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:12px;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:right 20px center,right 14px center;background-size:6px 6px;background-repeat:no-repeat}.mbars{display:flex;gap:6px;padding:12px 0 8px}.mbar{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:4px;background:none;border:none;padding:0;cursor:pointer;color:var(--muted)}.mbar-amt{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.mbar-track{display:flex;align-items:flex-end;width:100%;max-width:34px;height:90px}.mbar-fill{display:block;width:100%;border-radius:4px 4px 0 0;background:var(--muted-2)}.mbar-on .mbar-fill{background:var(--text)}.mbar-on .mbar-amt,.mbar-on .mbar-label{color:var(--text);font-weight:700}.mbar-label{font-size:12px}.goal-list{display:flex;flex-direction:column;gap:8px;padding:12px 0 4px}.goal-line{display:flex;align-items:center;gap:10px;font-size:15px}.goal-line .mark{flex-shrink:0}.qcard-fact.money-neg{color:var(--red)}.check-count{min-width:26px;height:26px;padding:0 7px;border-radius:13px;background:var(--text);color:var(--bg);font-size:14px;font-weight:700;display:inline-grid;place-items:center;flex-shrink:0}.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0 6px}.row-actions-text{flex:1 1 100%;font-size:15px;color:var(--muted)}.rc-pay{font-size:15px;line-height:1.45;margin:10px 0 4px}.rc-total{display:flex;justify-content:space-between;gap:10px;font-size:14px;font-weight:700;padding:14px 0 6px;border-bottom:1px solid var(--text)}.rc-row{border-bottom:1px solid var(--border)}.rc-head{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 0;background:none;border:none;text-align:left;color:var(--text);cursor:pointer}.rc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.rc-name{font-size:16px}.rc-sub{font-size:13px;color:var(--muted)}.rc-amt{flex-shrink:0;font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.rc-stopped .rc-name,.rc-stopped .rc-amt{color:var(--muted)}.rc-more{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:0 0 12px;font-size:14px;color:var(--muted)}.peek-refunded .peek-name,.peek-refunded .peek-amt{color:var(--muted-2);text-decoration:line-through}.peek-refunded .peek-acct{text-decoration:none}.note-row{display:flex;align-items:center;gap:10px;width:100%;min-height:64px;padding:10px 0;background:none;border:none;border-bottom:1px solid var(--border);text-align:left;color:var(--text);cursor:pointer}.note-row:last-child{border-bottom:none}.note-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.note-title{font-size:16px;font-weight:600;line-height:1.3}.note-detail{font-size:14px;color:var(--muted)}.plan-intro{padding:4px 0 8px}.mbar10{margin:14px 0 4px}.mbar10-track{position:relative;height:14px;border-radius:7px;background:var(--surface-2);overflow:visible}.mbar10-fill{position:absolute;left:0;top:0;bottom:0;border-radius:7px;background:var(--green)}.mbar10-tick{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:var(--text);border-radius:1px}.mbar10-labels{position:relative;height:36px;margin-top:4px}.mbar10-labels span{position:absolute;transform:translate(-50%);font-size:12px;line-height:1.25;color:var(--muted);text-align:center;white-space:nowrap}.halacha{margin:10px 0 4px;padding-left:18px;display:flex;flex-direction:column;gap:10px;font-size:15px;line-height:1.5}.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.cal-title{flex:1;text-align:center}.cal-nav{width:48px;height:48px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center;cursor:pointer}.cal-nav:active{background:var(--surface-2)}.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:12px}.cal-wd{text-align:center;font-size:13px;font-weight:700;color:var(--muted);padding:4px 0}.cal-day{min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:2px;padding:6px 0 4px;border-radius:10px;border:1px solid transparent;background:var(--surface);color:var(--text);cursor:pointer}.cal-day:active{background:var(--surface-2)}.cal-num{font-size:15px;font-weight:600;width:26px;height:26px;line-height:26px;border-radius:50%;text-align:center}.cal-today .cal-num{background:var(--text);color:var(--bg)}.cal-picked{border-color:var(--text)}.cal-expected{border-style:dashed;border-color:var(--muted-2)}.cal-expected.cal-picked{border-color:var(--text)}.cal-amt{font-size:11px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.cal-in{color:var(--green)}.cal-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;font-size:13px;color:var(--muted);margin:10px 0 0}.cal-key-exp{border:1px dashed var(--muted-2);border-radius:6px;padding:0 6px}.aside-name{display:flex;flex-direction:column;gap:2px}.aside-due{font-size:13px;color:var(--muted)}input[type=date].field{padding:0 12px}.header-main{min-height:56px;padding-top:4px;padding-bottom:4px}button.sync-meta{margin:0;border:none;background:none;padding:0 0 0 12px;min-height:44px;max-width:70%;text-align:right;font-size:13px;cursor:pointer}button.sync-meta:disabled{cursor:default}.mcard{display:flex;flex-direction:column;gap:8px;width:100%;padding:16px;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:16px;color:var(--text)}.mcard:active{background:var(--surface-2)}.mcard-top{display:flex;align-items:center;gap:8px}.mcard-title{flex:1;font-size:16px;font-weight:600}.mcard-num{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums}.mcard-bar{display:flex;height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden}.mcard-fill{background:var(--text)}.mcard-over{background:var(--red)}.mcard-sub{font-size:15px;color:var(--muted)}.mcard-sub.money-neg{color:var(--red)}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-height:96px;padding:14px;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:16px;color:var(--text)}.tile:active{background:var(--surface-2)}.tile-label{font-size:14px;color:var(--muted);font-weight:600}.tile-num{font-size:22px;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.tile-sub{font-size:13px;color:var(--muted);line-height:1.3}.tile-sub.money-neg,.tile-num.money-neg{color:var(--red)}.coming{display:flex;flex-direction:column;gap:2px;width:100%;padding:14px 16px 10px;text-align:left;cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:16px;color:var(--text)}.coming:active{background:var(--surface-2)}.coming-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.coming-title{font-size:16px;font-weight:600}.coming-link{display:inline-flex;align-items:center;gap:2px;font-size:14px;color:var(--muted)}.coming-row{display:flex;align-items:baseline;gap:10px;min-height:32px;padding:4px 0;font-size:15px}.coming-when{flex-shrink:0;width:52px;color:var(--muted);font-variant-numeric:tabular-nums}.coming-what{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coming-amt{flex-shrink:0;font-weight:600;font-variant-numeric:tabular-nums}.coming-empty{font-size:15px;color:var(--muted);padding:4px 0 6px}.skel{display:block;background:var(--surface-2);border-radius:8px;animation:skel 1.4s ease-in-out infinite}@keyframes skel{50%{opacity:.5}}@media (prefers-reduced-motion: reduce){.skel{animation:none}}.skel-page{display:flex;flex-direction:column;gap:12px;padding:8px 0}.skel-num{width:55%;height:44px}.skel-line{width:75%;height:16px;margin:4px 0}.skel-short{width:50%}.skel-pad{margin:14px 0}.skel-row{width:100%;height:56px;border-radius:14px}.skel-bar{width:100%;height:10px;border-radius:5px}.skel-hero{width:60%;height:52px;margin:2px 0;background:#ffffff29}.skel-tile{width:75%;height:24px;margin:2px 0}.skel-tile-sub{width:90%;height:13px}.activity-list{margin-top:28px}.money-moved{color:var(--muted)}.mbar-on .mbar-amt.money-neg,.cal-amt.cal-out,.cal-key.cal-out{color:var(--red)}.mcard-fill{background:#d9a19b}.ask{display:flex;flex-direction:column;gap:10px;min-height:calc(100dvh - 160px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.ask-head{display:flex;align-items:baseline;justify-content:space-between}.link-quiet{border:none;background:none;color:var(--muted);font-size:15px;font-weight:600;min-height:44px;cursor:pointer}.ask-intro{font-size:16px;line-height:1.45;color:var(--muted);margin:0 0 12px}.ask-starters{display:flex;flex-direction:column;gap:8px}.ask-starter{min-height:48px;padding:10px 14px;text-align:left;font-size:16px;color:var(--text);cursor:pointer;background:var(--surface);border:1px solid var(--border);border-radius:14px}.ask-starter:active{background:var(--surface-2)}.ask-list{display:flex;flex-direction:column;gap:10px}.ask-msg{display:flex;flex-direction:column;gap:6px;max-width:88%}.ask-user{align-self:flex-end;align-items:flex-end}.ask-assistant{align-self:flex-start}.ask-bubble{padding:10px 14px;border-radius:16px;font-size:16px;line-height:1.45;white-space:pre-wrap}.ask-user .ask-bubble{background:var(--text);color:var(--bg);border-bottom-right-radius:6px}.ask-assistant .ask-bubble{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:6px}.ask-change{padding:12px 14px;border-radius:14px;background:var(--surface);border:2px solid var(--text);display:flex;flex-direction:column;gap:10px}.ask-change-title{font-size:16px;font-weight:600;line-height:1.4}.ask-change-btns{display:flex;gap:8px}.ask-change-btns .btn-main{flex:1}.ask-change-state{font-size:15px;font-weight:600;color:var(--muted)}.ask-typing{display:inline-flex;gap:5px;padding:14px 16px}.ask-typing span{width:7px;height:7px;border-radius:50%;background:var(--muted-2);animation:skel 1.2s ease-in-out infinite}.ask-typing span:nth-child(2){animation-delay:.2s}.ask-typing span:nth-child(3){animation-delay:.4s}.ask-bar{position:sticky;bottom:calc(66px + env(safe-area-inset-bottom));display:flex;gap:8px;margin-top:auto;padding:10px 0 4px;background:var(--bg)}@media (min-width: 640px){.ask-bar{bottom:0}}.ask-input{flex:1;min-width:0}.ask-send{padding:0 18px}.ask-note{font-size:13px;color:var(--muted);margin:0;text-align:center}.ask-change-state.money-pos{color:var(--green)}.ask-change-state.money-neg{color:var(--red)}.ask-next{display:flex;flex-direction:column;gap:6px;margin-top:4px}.ask-chip{min-height:44px;padding:8px 12px;font-size:15px;color:var(--text)}.ask-chip:before{content:"→ ";color:var(--muted)}.ask-change-done{display:flex;align-items:center;justify-content:space-between}body.typing .bottom-nav,body.typing .ask-note{display:none}body.typing .ask-bar{bottom:0}body.typing .main-content{padding-bottom:8px}.viz{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 14px;width:min(100%,520px)}.ask-msg:has(.viz){max-width:100%}.viz-title{font-size:15px;font-weight:700;margin-bottom:8px}.viz-tap{display:block;width:100%;background:none;border:none;padding:0;text-align:left;color:inherit;font:inherit;cursor:pointer}.viz-tap:active{opacity:.6}.viz-bar-row{display:flex;flex-direction:column;gap:4px;padding:7px 0;border-bottom:1px solid var(--border)}.viz-bar-row:last-of-type{border-bottom:none}.viz-bar-top{display:flex;justify-content:space-between;gap:8px;font-size:15px}.viz-bar-amt{font-weight:700;font-variant-numeric:tabular-nums}.viz-track{position:relative;height:8px;border-radius:4px;background:var(--surface-2)}.viz-fill{position:absolute;left:0;top:0;bottom:0;border-radius:4px}.viz-mark{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--text);border-radius:1px}.viz-note{font-size:13px;color:var(--muted)}.viz-neg{background:#d9a19b}.viz-pos{background:#8fbf86}.viz-moved{background:var(--muted-2)}.viz-plain{background:#a8a29e}.viz-legend{display:flex;gap:14px;font-size:13px;color:var(--muted);margin-bottom:6px}.viz-dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}.viz-cols{position:relative;display:flex;align-items:flex-end;gap:6px;height:150px;padding-top:18px}.viz-col{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;align-items:stretch}.viz-col-bars{flex:1;display:flex;align-items:flex-end;gap:2px;min-height:0}.viz-col-wrap{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;min-width:0}.viz-col-amt{font-size:10px;font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.viz-col-fill{width:100%;border-radius:4px 4px 0 0}.viz-col-label{font-size:12px;text-align:center;color:var(--muted);padding-top:4px}.viz-now .viz-col-label{color:var(--text);font-weight:700}.viz-line{position:absolute;left:0;right:0;margin-bottom:18px;border-top:1.5px dashed var(--text);pointer-events:none}.viz-line em{position:absolute;right:0;top:-16px;font-size:11px;font-style:normal;color:var(--text);background:var(--surface);padding:0 3px}.viz-row{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid var(--border);font-size:15px}.viz-row-date{flex-shrink:0;width:48px;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}.viz-row-label{flex:1;min-width:0;display:flex;flex-direction:column}.viz-row-note{font-size:12px;color:var(--muted)}.viz-row-amt{flex-shrink:0;font-weight:700;font-variant-numeric:tabular-nums}.viz-total{display:flex;justify-content:space-between;padding-top:8px;font-weight:700;font-size:15px}.ask-choices{display:flex;flex-wrap:wrap;gap:8px}.ask-choice{min-height:44px;padding:8px 16px;font-size:16px;font-weight:600;color:var(--text);cursor:pointer;background:var(--surface);border:2px solid var(--text);border-radius:22px}.ask-choice:disabled{opacity:.45;cursor:default}.ask-choice-picked:disabled{opacity:1;background:var(--text);color:var(--bg)}.ask-other{min-height:44px}.viz-note.money-neg{color:var(--red)}
