:root{--accent:#234b38;--accent-ink:#fff;--accent-press:#1a3a2b;--accent-soft:#e1f1e6;--bg:#f2f5f3;--surface:#fff;--ink:#17201b;--muted:#5b6861;--line:#dce3de;--field:#7f8c85;--bar:#4f8a6c;--warn:#7a5e00;--agent:#a84e06;--danger:#b42318;--mark-edge:#17201b1f;--agent-soft:#fbefe5;--danger-soft:#fcedeb;--scrim:#17201b73;--toast-ink:#fff;--toast-act:#8fd3a8;--flash:#d3ebdc;--key:#f2f5f3;--key-press:#dce3de;--shadow:0 10px 40px #17201b29;--band:.22;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--accent:#8fd3a8;--accent-ink:#0e1411;--accent-press:#a9dfbd;--accent-soft:#1d3126;--bg:#0e1411;--surface:#151c18;--ink:#e5ece7;--muted:#9aa8a0;--line:#243029;--field:#6e7b74;--bar:#52906f;--warn:#e3c14b;--agent:#f59a4a;--danger:#ff8f87;--mark-edge:#e5ece729;--agent-soft:#2e2114;--danger-soft:#34201c;--scrim:#0009;--toast-ink:#0e1411;--toast-act:#234b38;--flash:#24402f;--key:#212b25;--key-press:#2e3c34;--shadow:0 10px 40px #00000080;--band:.32;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;accent-color:var(--accent);font-family:Onest,system-ui,sans-serif;font-size:14px;line-height:1.45}::selection{background:var(--accent-soft);color:var(--ink)}button,input,select,textarea{font:inherit;color:inherit}code{font-family:inherit}a{color:var(--accent)}a:hover{color:var(--accent-press)}h1,h2,h3{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.small{font-size:12.5px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{flex-wrap:wrap;align-items:stretch;min-height:100vh;display:flex}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex:232px;gap:4px;max-width:264px;padding:20px 14px;display:flex}.brand{align-items:center;gap:10px;padding:4px 10px 20px;font-size:15px;font-weight:600;display:flex}.brand-logo{flex:none;width:30px;height:30px;display:block}.nav-link{min-height:44px;color:var(--muted);border-radius:12px;align-items:center;gap:12px;padding:0 12px;text-decoration:none;display:flex}.nav-link.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.nav-sep{background:var(--line);height:1px;margin:12px 10px}.main{flex-direction:column;flex:999 560px;gap:20px;min-width:0;padding:28px 36px 48px;display:flex}.page-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.page-head h1{letter-spacing:-.01em;font-size:26px;font-weight:600}.page-title{flex-direction:column;gap:2px;margin-right:auto;display:flex}.tabbar{display:none}.btn{cursor:pointer;border:1.5px solid var(--field);height:44px;color:var(--ink);white-space:nowrap;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:500;text-decoration:none;display:inline-flex}.btn:active{background:color-mix(in srgb, var(--ink) 10%, transparent)}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:#0000;font-weight:600}.btn-primary:active{background:var(--accent-press);color:var(--accent-ink)}.btn-primary:disabled{opacity:1;background:var(--line);color:var(--muted)}.btn-danger{color:var(--danger)}.btn-danger.armed{background:var(--danger);color:var(--surface);border-color:var(--danger)}.btn-danger-solid{border-color:var(--danger);background:var(--danger);color:var(--surface);font-weight:600}.btn-danger-solid:active{background:var(--danger);color:var(--surface)}.btn-sm{padding:0 12px;font-size:13.5px}.btn-icon{width:44px;padding:0}.btn-ghost{background:0 0;border-color:#0000}.btn-lg{height:52px;font-size:16px}@media (hover:hover){.btn:hover,.nav-link:hover:not(.active){background:color-mix(in srgb, var(--ink) 6%, transparent);color:var(--ink)}.btn-danger:hover{color:var(--danger)}.btn-primary:hover{background:var(--accent-press);color:var(--accent-ink)}.btn-primary:disabled:hover{background:var(--line);color:var(--muted)}.btn-danger.armed:hover,.btn-danger-solid:hover{background:var(--danger);color:var(--surface)}.btn:disabled:hover{background:0 0}}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field>label,.field-label{color:var(--muted);font-size:13px;font-weight:500}.input,.select,.textarea{border:1.5px solid var(--field);background:var(--surface);height:44px;color:var(--ink);border-radius:12px;width:100%;min-width:0;padding:0 12px}.textarea{resize:vertical;height:auto;padding:10px 12px}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{border-color:var(--accent)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.amount-input{height:60px;font-size:26px}.code-input{letter-spacing:.08em;height:60px;font-size:26px}.field-error{color:var(--danger);font-size:12.5px}.form-error{color:var(--danger);background:var(--danger-soft);border-radius:12px;padding:10px 12px;font-size:13.5px}.row{flex-wrap:wrap;gap:12px;display:flex}.row>*{flex:180px}.segmented{flex-wrap:wrap;gap:4px;display:inline-flex}.segmented button{min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:999px;padding:0 16px;font-weight:600}.segmented button[aria-pressed=true],.segmented button[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.segmented button:disabled{opacity:.45;cursor:default}@media (hover:hover){.segmented button:not([aria-pressed=true]):not([aria-selected=true]):not(:disabled):hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}}.segmented.wide{flex-wrap:nowrap;display:flex}.segmented.wide button{flex:1 1 0;padding:0 8px}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px}.card-pad{flex-direction:column;gap:12px;padding:20px 22px;display:flex}.card h2{font-size:16px;font-weight:600}.cards{flex-wrap:wrap;gap:16px;display:flex}.kpi{flex-direction:column;flex:220px;gap:6px;padding:18px 20px;display:flex}.kpi .value{font-size:22px;font-weight:600}.list-head{background:var(--bg);border-bottom:1px solid var(--line);align-items:baseline;gap:12px;padding:12px 22px;font-size:13px;display:flex}.list-row{border-bottom:1px solid var(--line);text-align:left;cursor:pointer;width:100%;min-height:60px;color:var(--ink);background:0 0;border-top:0;border-left:0;border-right:0;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 22px;display:flex}@media (hover:hover){.list-row:hover{background:color-mix(in srgb, var(--ink) 4%, transparent)}}.list-row:last-child{border-bottom:0}.chip-letter{background:var(--bg);width:40px;height:40px;color:var(--muted);border-radius:12px;flex:none;place-items:center;font-size:13px;font-weight:600;display:grid}.agent-badge{background:var(--agent-soft);color:var(--agent);border-radius:6px;align-items:center;gap:4px;padding:1px 7px;font-size:11.5px;font-weight:600;display:inline-flex}.badge{background:var(--bg);border:1px solid var(--line);color:var(--muted);border-radius:6px;align-items:center;padding:2px 8px;font-size:12px;font-weight:600;display:inline-flex}.amount-income{color:var(--accent)}.amount-transfer{color:var(--muted)}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:40px 22px;display:flex}.overlay{background:var(--scrim);z-index:50;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--surface);width:100%;max-width:560px;max-height:calc(100vh - 32px);box-shadow:var(--shadow);border:1px solid var(--line);border-radius:20px;flex-direction:column;display:flex;overflow:auto}.dialog-head{align-items:center;gap:12px;padding:20px 24px 12px;display:flex}.dialog-head h2{margin-right:auto;font-size:20px;font-weight:600}.dialog-body{flex-direction:column;gap:16px;padding:8px 24px 20px;display:flex}.dialog-foot{border-top:1px solid var(--line);gap:10px;padding:16px 24px 20px;display:flex}.dialog-foot .grow{margin-right:auto}.note-box{background:var(--bg);border-radius:12px;flex-direction:column;gap:4px;padding:12px 14px;font-size:13px;display:flex}.toast-region{z-index:60;height:0;position:fixed;bottom:0;left:0;right:0}.toast{z-index:60;box-sizing:border-box;background:var(--ink);width:max-content;max-width:min(480px,100vw - 32px);min-height:44px;color:var(--toast-ink);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:10px;padding:10px 16px;font-size:14px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast.with-action{min-height:52px;padding:4px 6px 4px 16px}.toast-icon{flex:none}.toast-text{margin-right:auto}.toast-act{min-height:44px;color:var(--toast-act);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:0 12px;font-weight:700}.toast :focus-visible{outline-color:var(--toast-act)}.spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.center-page{place-items:center;min-height:100vh;padding:24px;display:grid}.kpi .caption{color:var(--muted);font-size:12.5px}.kpi-error{color:var(--danger);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.legend{color:var(--muted);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.chart{flex-direction:column;flex:auto;gap:8px;display:flex}.chart-bars{border-bottom:1px solid var(--line);flex:auto;align-items:flex-end;gap:8px;min-height:190px;padding-top:14px;display:flex}.chart-col{flex:1 1 0;justify-content:center;align-items:flex-end;gap:4px;min-width:0;height:100%;display:flex}.chart-bar{border-radius:6px 6px 0 0;width:clamp(6px,30%,18px)}.chart-bar.income{background:var(--accent)}.chart-bar.expense{background:var(--bar)}.chart-labels{gap:8px;display:flex}.chart-labels span{text-align:center;min-width:0;color:var(--muted);flex:1 1 0;font-size:12px}.cat-list{flex-direction:column;gap:12px;display:flex}.cat-row{flex-direction:column;gap:6px;display:flex}.cat-line{align-items:center;gap:10px;font-size:13.5px;display:flex}.cat-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:auto;overflow:hidden}.cat-pct{text-align:right;width:38px;font-size:12.5px}.cat-track{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.cat-fill{background:var(--bar);border-radius:3px;height:100%}.rates-card{border:1px dashed var(--line);color:var(--muted);border-radius:12px;flex-direction:column;gap:6px;padding:16px 20px;font-size:13px;display:flex}.rates-card strong{color:var(--ink);font-weight:500}.rate-warnings{color:var(--muted);flex-direction:column;gap:2px;font-size:12.5px;display:flex}.equiv{color:var(--muted);font-size:12px}.mark{background:var(--bg);width:40px;height:40px;color:var(--ink);border:1px solid var(--mark-edge);border-radius:12px;flex:none;place-items:center;font-size:14px;font-weight:600;line-height:1;display:grid}.mark.xs{border-radius:6px;width:22px;height:22px;font-size:10.5px}.mark.sm{border-radius:6px;width:26px;height:26px;font-size:11.5px}.mark.lg{border-radius:12px;width:44px;height:44px;font-size:15px}.mark.xl{border-radius:12px;width:48px;height:48px;font-size:17px}.mark.xxl{border-radius:20px;width:56px;height:56px;font-size:20px}.mark.hero{border-radius:20px;width:64px;height:64px;font-size:23px}.group-dot{background:var(--muted);border-radius:50%;flex:none;width:10px;height:10px}.group-head{align-items:center;gap:8px;padding:6px 14px 6px 10px;display:flex}.group-toggle{flex:1;justify-content:flex-start;gap:12px;min-width:0;height:44px}.group-toggle>svg{flex:none}.group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:16px;font-weight:600;overflow:hidden}.group-total{margin-left:auto;font-size:15px;font-weight:600}.acc-row{padding-left:26px}.group-empty{padding:14px 22px 14px 76px}.acc-name{flex-direction:column;flex:2 200px;min-width:0;display:flex}.acc-title{font-weight:500}.acc-balance{flex-direction:column;flex:200px;align-items:flex-end;display:flex}.ov-accounts{border-bottom:1px solid var(--line);flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.ov-group-head{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.ov-group-head .group-dot{margin:0 8px}.ov-account{align-items:center;gap:8px;font-size:13.5px;display:flex}.ov-account-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-right:auto;overflow:hidden}.icon-picks{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.icon-picks.catalog{grid-template-columns:repeat(auto-fill,minmax(48px,1fr))}.icon-pick{border:1.5px solid var(--line);background:var(--bg);min-width:0;height:52px;color:var(--ink);cursor:pointer;border-radius:12px;place-items:center;padding:0;display:grid}@media (hover:hover){.icon-pick:hover{border-color:var(--field)}}.icon-pick[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.icon-pick.more{border-style:dashed;border-color:var(--field);color:var(--muted);background:0 0}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:1px solid var(--mark-edge);cursor:pointer;border-radius:6px;place-items:center;width:28px;height:28px;padding:0;display:grid}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--ink)}.swatch:disabled{cursor:default;opacity:.35}.swatch:disabled[aria-pressed=true]{opacity:1}.swatch-none{border-color:var(--line);background:linear-gradient(135deg, var(--surface) calc(50% - 1px), var(--muted) calc(50% - 1px), var(--muted) calc(50% + 1px), var(--surface) calc(50% + 1px))}.swatch-more{border:1px dashed var(--field);color:var(--muted);background:0 0}.picker-dialog{height:min(760px,100vh - 32px);overflow:hidden}.picker-dialog.fit{height:auto}.picker-dialog .dialog-body{flex:auto;gap:12px;min-height:0}.picker-dialog .dialog-body>*{flex:none}.picker-preview{align-items:center;gap:12px;display:flex}.picker-preview-text{flex-direction:column;min-width:0;display:flex}.picker-preview-name{overflow-wrap:anywhere;font-weight:600}.picker-chips{flex-wrap:wrap;flex:none;gap:6px;padding:2px;display:flex}.picker-chips::-webkit-scrollbar{display:none}.picker-chip{border:1.5px solid var(--line);background:var(--surface);min-height:44px;color:var(--ink);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex:none;padding:0 14px;font-size:13px;font-weight:500}.picker-chip[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.picker-dialog .dialog-body>.picker-scroll{flex-direction:column;flex:auto;gap:16px;min-height:0;padding:2px 2px 4px;display:flex;overflow-y:auto}.picker-section{flex-direction:column;gap:10px;display:flex}.picker-section h3{color:var(--muted);font-size:13px;font-weight:600}.picker-empty{text-align:center;margin:24px 0}.palette-row{flex:none;grid-template-columns:minmax(56px,96px) repeat(5,44px);align-items:center;column-gap:clamp(4px,1.2vw,10px);display:grid}.picker-dialog .dialog-body>.palette-scroll{gap:8px}.palette-head{color:var(--muted);text-align:center;font-size:11.5px}.palette-head .base{color:var(--ink);font-weight:600}.palette-hue{color:var(--muted);-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;min-width:0;font-size:13px}.palette-swatch{border-radius:12px;width:44px;height:44px}.tx-row{position:relative}.tx-main{flex-direction:column;flex:2 220px;min-width:0;display:flex}.tx-title{flex-wrap:wrap;align-items:center;gap:8px;font-weight:500;display:flex}.tx-cat{flex:160px;min-width:0;font-size:13px}.tx-acc{flex:140px;min-width:0;font-size:13px}.tx-sum{text-align:right;flex:none;margin-left:auto;font-weight:600}.tx-not-expense{font-weight:400;display:block}.phone-sub{display:none}.row-open{font:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.row-open:after{content:"";position:absolute;inset:0}.row-open:focus-visible{outline:none}.row-open:focus-visible:after{outline:2px solid var(--accent);outline-offset:-2px}.tag-chip{background:var(--accent-soft);min-width:0;max-width:100%;height:24px;color:var(--accent);white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:0 8px;font-size:12.5px;font-weight:500;display:inline-flex}.tag-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.tx-tags{flex-wrap:wrap;gap:4px;margin-top:5px;display:flex}.tag-link{z-index:1;cursor:pointer;border:0;position:relative}@media (hover:hover){.tag-link:hover{background:var(--accent);color:var(--accent-ink)}}.tag-field{flex-direction:column;gap:6px;display:flex}.tag-box{border:1.5px solid var(--field);background:var(--surface);cursor:text;border-radius:12px;flex-wrap:wrap;align-items:center;gap:6px;min-height:44px;padding:6px 10px;display:flex}.tag-box:focus-within{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.tag-input{background:0 0;border:0;outline:none;flex:120px;min-width:80px;height:30px;padding:0 2px}.tag-remove{width:18px;height:18px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;margin-right:-4px;padding:0;display:grid}@media (hover:hover){.tag-remove:hover{background:var(--surface)}}.tag-suggest{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tag-option{cursor:pointer;background:var(--bg);color:var(--ink);border:1px solid var(--line)}.tag-option[aria-selected=true],.tag-option:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.tag-bar{flex-direction:column;gap:10px;padding:16px 22px;display:flex}.tag-bar-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tag-bar-name{color:var(--accent);overflow-wrap:anywhere;font-size:16px;font-weight:600}.tag-bar-sums{flex-wrap:wrap;gap:8px 32px;display:flex}.tag-bar-sum{flex-direction:column;gap:2px;display:flex}.tag-bar-value{font-size:20px;font-weight:600}.phone-only{display:none}.kpi-more{font-size:13px;text-decoration:none}.an-filters{flex-direction:column;gap:10px;display:flex}.an-filter-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.an-grow{flex-grow:1}.an-stepper{align-items:center;gap:4px;display:inline-flex}.an-stepper .btn-icon{width:44px;height:44px}.an-step-title{text-align:center;flex-direction:column;align-items:center;min-width:150px;display:flex}.an-step-name{font-weight:600}.an-custom{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.an-date{align-items:center;gap:6px;display:inline-flex}.an-date .input{width:auto;height:44px}.an-field{color:var(--muted);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.an-field .select{width:auto;max-width:280px;height:44px;color:var(--ink);font-size:14px}.an-caption{font-size:13px}.an-kpi-delta{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;display:flex}.an-pct{white-space:nowrap;justify-content:flex-end;align-items:center;gap:3px;font-weight:600;display:inline-flex}.an-pct.bad{color:var(--danger)}.an-pct.good{color:var(--accent)}.an-pct.flat{color:var(--muted)}.an-main{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.an-table-card{flex-direction:column;flex:2 600px;gap:8px;min-width:0;padding:16px 0 12px;display:flex}.an-table-top{flex-wrap:wrap;align-items:baseline;gap:12px;padding:0 18px;display:flex}.an-table-top h2{margin-right:auto}.an-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:12.5px;display:inline-flex}.an-legend>span{align-items:center;gap:6px;display:inline-flex}.an-legend-bar{background:var(--bar);border-radius:0 4px 4px 0;width:18px;height:8px}.an-legend-tick{background:var(--ink);width:2px;height:14px}.an-scroll{overflow-x:auto}.an-table{min-width:620px}.an-row{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(116px,1.6fr) minmax(56px,1fr) 112px 44px 176px;grid-template-areas:"toggle name bar amount share change";align-items:center;column-gap:10px;min-height:46px;padding:0 18px;display:grid}.an-row.no-compare{grid-template-columns:28px minmax(116px,1.6fr) minmax(56px,1fr) 112px 44px;grid-template-areas:"toggle name bar amount share"}.an-row.sub{min-height:40px}.an-row.selected{background:var(--accent-soft)}.an-head{min-height:36px;color:var(--muted);font-size:12.5px;font-weight:500}.an-total{border-bottom:0;font-weight:600}.an-c-toggle{grid-area:toggle;align-items:center;display:flex}.an-c-name{grid-area:name;align-items:center;gap:8px;min-width:0;display:flex}.an-c-bar{grid-area:bar}.an-c-amount{text-align:right;grid-area:amount}.an-c-share{text-align:right;grid-area:share;font-size:13px}.an-c-change{grid-area:change;justify-content:flex-end;align-items:center;gap:8px;font-size:13px;display:flex}.an-row:not(.sub):not(.an-head) .an-c-amount{font-weight:500}.an-row.sub .an-c-name{padding-left:18px}.an-toggle{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.an-pick{text-align:left;min-width:0;min-height:34px;color:var(--ink);cursor:pointer;background:0 0;border:0;flex:auto;align-items:center;padding:0;display:flex}.an-pick-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.an-pick.root{font-weight:600}.an-pick.muted{color:var(--muted)}@media (hover:hover){.an-pick:hover{color:var(--accent)}.an-toggle:hover{background:var(--bg);color:var(--ink)}.an-op:hover .an-op-title{color:var(--accent)}}.an-bar{align-items:center;height:14px;display:flex;position:relative}.an-bar:before{content:"";background:var(--line);border-radius:0 4px 4px 0;height:8px;position:absolute;left:0;right:0}.an-fill{background:var(--bar);border-radius:0 4px 4px 0;height:8px;position:absolute;left:0}.an-row.sub .an-bar:before,.an-row.sub .an-fill{height:6px}.an-tick{background:var(--ink);width:2px;height:14px;margin-left:-1px;position:absolute;top:0}.an-new{background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:6px;padding:1px 8px;font-size:12px;font-weight:600}.an-c-change .an-pct{min-width:62px}.an-sort{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-weight:600}.an-sort.active{color:var(--ink)}.an-footnote{margin:4px 18px 0}.an-panel{flex-direction:column;flex:300px;gap:14px;min-width:0;padding:20px 22px;display:flex}.an-panel-head{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.an-panel-head h2{overflow-wrap:anywhere;min-width:0;font-size:17px;font-weight:600}.an-panel-close{margin-left:auto}.an-panel-sum{flex-direction:column;gap:2px;display:flex}.an-panel-value{font-size:24px;font-weight:600}.an-panel-block{flex-direction:column;gap:8px;display:flex}.an-panel-block h3,.an-months h3{font-size:13.5px;font-weight:600}.an-months{flex-direction:column;gap:8px;display:flex}.an-months-head{align-items:baseline;gap:8px;display:flex}.an-months-head h3{margin-right:auto}.an-month-bars{border-bottom:1px solid var(--line);align-items:flex-end;gap:2px;display:flex;position:relative}.an-avg{z-index:1;background:var(--muted);opacity:.6;pointer-events:none;height:1px;position:absolute;left:0;right:0}.an-month{cursor:default;background:0 0;border:0;flex:1 1 0;justify-content:center;align-items:flex-end;min-width:0;height:100%;padding:0;display:flex}.an-month-bar{background:var(--bar);border-radius:4px 4px 0 0;width:100%;max-width:20px}.an-month-bar.current{background:var(--accent)}.an-month-bar.dim{opacity:.55}.an-month-labels{gap:2px;display:flex}.an-month-labels span{text-align:center;min-width:0;color:var(--muted);white-space:nowrap;flex:1 1 0;font-size:11px;overflow:hidden}.an-ops{flex-direction:column;display:flex}.an-op{border:0;border-top:1px solid var(--line);text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;align-items:baseline;gap:10px;padding:8px 0;display:flex}.an-op:focus-visible{outline-offset:-2px}.an-op-text{flex-direction:column;min-width:0;margin-right:auto;display:flex}.an-op-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.an-op-amount{font-weight:500}.an-op-empty{border-top:1px solid var(--line);padding:8px 0}.an-panel-link{white-space:normal;text-align:center;height:auto;min-height:44px;padding:8px 16px}.an-summary{flex-direction:column;gap:4px;padding:16px;display:flex}.an-summary-value{font-size:28px;font-weight:600}.range-chip{border:1.5px solid var(--field);background:var(--surface);border-radius:12px;align-items:center;gap:4px;min-height:44px;padding:0 4px 0 12px;font-weight:500;display:inline-flex}.sheet-layer{z-index:45;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet-backdrop{background:var(--scrim);cursor:default;border:0;flex:auto;min-height:12vh;padding:0}.sheet{max-height:88vh;padding:10px 16px calc(24px + env(safe-area-inset-bottom));background:var(--surface);border-radius:20px 20px 0 0;flex-direction:column;gap:12px;display:flex;overflow-y:auto}.sheet-grip{background:var(--line);border-radius:3px;flex:none;align-self:center;width:40px;height:5px}.an-tabs{gap:4px;display:flex}.an-tab{min-height:44px;color:var(--ink);border:1.5px solid #0000;border-radius:999px;place-items:center;padding:0 16px;font-weight:600;text-decoration:none;display:grid}@media (hover:hover){.an-tab:not(.active):hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}}.an-tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.cap-filters{flex-wrap:wrap;align-items:center;gap:12px 28px;display:flex}.cap-range{font-size:13px}.cap-body{flex-direction:column;gap:16px;transition:opacity .15s;display:flex}.cap-body.stale{opacity:.55}.cap-card{flex-direction:column;gap:16px;padding:20px 22px;display:flex}.cap-head{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.cap-total{flex-direction:column;gap:2px;min-width:0;margin-right:auto;display:flex}.cap-total-label{font-size:13px}.cap-total-value{font-size:34px;font-weight:600;line-height:1.15}.cap-total-delta{flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:13px;display:flex}.cap-delta{white-space:nowrap;align-items:center;gap:3px;font-weight:600;display:inline-flex}.cap-delta.up,.cap-layer-delta.up{color:var(--accent)}.cap-delta.down,.cap-layer-delta.down{color:var(--danger)}.cap-delta.flat,.cap-layer-delta.flat{color:var(--muted)}.cap-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.cap-legend li{align-items:center;gap:6px;display:inline-flex}.cap-legend i,.cap-swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.cap-table-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.cap-chart{gap:10px;display:flex}.cap-y{flex:none;width:64px;position:relative}.cap-y span{color:var(--muted);font-size:11.5px;position:absolute;right:0;transform:translateY(-50%)}.cap-plot-wrap{flex-direction:column;flex:auto;gap:8px;min-width:0;display:flex}.cap-plot{position:relative}.cap-draw{position:absolute;inset:0}.cap-draw svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.cap-grid{background:var(--line);height:1px;position:absolute;left:0;right:0}.cap-grid.zero{background:var(--field)}.cap-area{fill:var(--accent);fill-opacity:.1;stroke:none}.cap-band{fill-opacity:var(--band);stroke:none}.cap-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.cap-halo{fill:none;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round}.cap-cross{background:var(--muted);opacity:.6;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.cap-dot{background:var(--accent);border:2px solid var(--surface);pointer-events:none;border-radius:50%;width:14px;height:14px;margin:-7px 0 0 -7px;position:absolute}.cap-dot.ink{background:var(--ink)}.cap-touch{cursor:crosshair;touch-action:pan-y;position:absolute;inset:0}.cap-touch:focus-visible{outline-offset:4px}.cap-tip{z-index:2;background:var(--surface);border:1px solid var(--line);pointer-events:none;border-radius:12px;flex-direction:column;gap:4px;min-width:190px;padding:10px 12px;display:flex;position:absolute;top:8px;transform:translate(12px);box-shadow:0 6px 20px #17201b1f}.cap-tip.right{transform:translate(calc(-100% - 12px))}.cap-tip-total{font-size:16px;font-weight:600}.cap-tip-row{align-items:center;gap:8px;font-size:12.5px;display:flex}.cap-tip-row i{border-radius:1px;flex:none;width:12px;height:2px}.cap-tip-row .money{font-weight:600}.cap-x{height:18px;position:relative}.cap-x span{color:var(--muted);white-space:nowrap;font-size:11.5px;position:absolute;transform:translate(-50%)}.cap-points{border:1px solid var(--line);border-radius:12px;max-height:340px;overflow:auto}.cap-points table{border-collapse:collapse;width:100%;font-size:13px}.cap-points th,.cap-points td{text-align:right;white-space:nowrap;border-top:1px solid var(--line);padding:7px 14px}.cap-points tbody th{text-align:left;font-weight:400}.cap-points thead th{background:var(--bg);color:var(--muted);border-top:0;font-size:12.5px;font-weight:500;position:sticky;top:0}.cap-points thead th:first-child{text-align:left}.cap-bottom{flex-wrap:wrap;align-items:flex-start;gap:16px;display:flex}.cap-why{flex-direction:column;flex:340px;min-width:0;padding:20px 22px;display:flex}.cap-why h2{margin-bottom:10px}.cap-why-row{border-top:1px solid var(--line);align-items:baseline;gap:12px;padding:10px 0;display:flex}.cap-why-name{flex-direction:column;min-width:0;margin-right:auto;display:flex}.cap-why-title{font-weight:500}.cap-why-value{font-weight:600}.cap-why-end{border-top-color:var(--ink);padding-bottom:0;font-weight:600}.cap-groups{flex-direction:column;flex:2 640px;gap:6px;min-width:0;padding:20px 0 12px;display:flex}.cap-groups h2{margin:0 18px 6px}.cap-gtable{grid-template-columns:minmax(130px,1.6fr) repeat(3,minmax(max-content,1fr)) minmax(48px,max-content) minmax(100px,max-content);column-gap:10px;min-width:min-content;display:grid}.cap-gtable>[role=rowgroup]{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.cap-grow{grid-column:1/-1;grid-template-columns:minmax(130px,1.4fr) minmax(92px,1fr) minmax(92px,1fr) minmax(100px,1fr) 48px 100px;grid-template-columns:subgrid;border-bottom:1px solid var(--line);align-items:center;column-gap:10px;min-height:52px;padding:0 18px;display:grid}.cap-ghead{min-height:0;color:var(--muted);padding-top:6px;padding-bottom:6px;font-size:12.5px;font-weight:500}.cap-gtotal{border-bottom:0;min-height:46px;font-weight:600}.cap-grow .r{text-align:right;justify-self:end}.cap-gname{align-items:center;gap:10px;min-width:0;display:flex}.cap-gtotal .cap-gname{padding-left:20px}.cap-group-text{flex-direction:column;min-width:0;display:flex}.cap-group-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.cap-group-accounts{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cap-gend{font-weight:500}.cap-layer-delta{white-space:nowrap;font-size:13px;font-weight:600}.cap-layer-delta.stacked{flex-direction:column;align-items:flex-end;display:inline-flex}.cap-layer-delta.stacked .cap-layer-pct{font-size:12px}.cap-foot{margin:4px 18px 0}.cap-group-line{border-top:1px solid var(--line);align-items:center;gap:12px;min-height:56px;padding:6px 16px;display:flex}.cap-group-line .cap-group-text{flex:auto}.cap-group-sums{flex-direction:column;align-items:flex-end;display:flex}.spark{display:block;overflow:visible}.spark path{fill:none;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round}.spark circle{stroke:var(--surface);stroke-width:1.5px}.spark.fluid{position:relative}.spark.fluid svg{width:100%;height:100%;display:block;overflow:visible}.spark.fluid path{stroke-width:1.75px}.spark-dot{border:2px solid var(--surface);border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -6px;position:absolute;left:100%}.kpi-capital{position:relative}.kpi-top{align-items:baseline;gap:8px;display:flex}.kpi-top>:first-child{margin-right:auto}.kpi-capital-caption{flex-wrap:wrap;align-items:center;gap:2px 6px;display:flex}.ops-search{width:auto;height:44px;color:var(--muted);flex:0 300px;align-items:center;gap:8px;display:flex}.ops-search:focus-within{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}.choice-group{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.choice-group legend{color:var(--muted);margin-bottom:8px;padding:0;font-size:13px;font-weight:500}.choice{border:1.5px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.choice.checked{border-color:var(--accent);background:var(--accent-soft)}.choice input{width:18px;height:18px;accent-color:var(--accent);cursor:pointer;flex:none;margin:2px 0 0}.choice-text{flex-direction:column;gap:2px;min-width:0;display:flex}.choice-title{flex-wrap:wrap;align-items:center;gap:8px;font-weight:600;display:flex}.choice-badge{background:var(--accent-soft);color:var(--accent);border-radius:6px;padding:1px 8px;font-size:12px;font-weight:600}.choice.checked .choice-badge{background:var(--surface)}.choice-hint{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.export-foot{flex-wrap:wrap;flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.export-file{white-space:normal;overflow-wrap:anywhere;flex:160px;min-width:0;margin-right:auto;font-size:12.5px}.data-rows{flex-direction:column;display:flex}.data-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:14px 0;display:flex}.data-row-text{flex-direction:column;flex:260px;min-width:0;display:flex}.data-foot{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 20px;padding-top:14px;display:flex}.data-foot>.muted{flex:320px}.data-started{color:var(--accent);white-space:normal;overflow-wrap:anywhere;font-size:12.5px;font-weight:500}.tiles{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:12px;display:grid}.tile{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:184px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:stretch;gap:12px;padding:16px;text-decoration:none;display:flex}@media (hover:hover){.tile:hover{border-color:var(--field);color:var(--ink)}}.tile.tile-sub{min-height:168px}.tile-top{flex-wrap:wrap;order:-1;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.tile-sum{text-align:right;white-space:normal;overflow-wrap:anywhere;margin-left:auto;font-size:15px;font-weight:600}.tile-text{flex-direction:column;gap:3px;min-width:0;display:flex}.tile-name{overflow-wrap:anywhere;font-size:15px;font-weight:600;line-height:1.3}.tile-subs{color:var(--muted);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.tile-limit{margin-top:auto}.tile-new{border:1.5px dashed var(--field);color:var(--muted);text-align:center;background:0 0;justify-content:center;align-items:center;gap:10px;font-weight:500}@media (hover:hover){.tile-new:hover{color:var(--ink)}}.tile-new-mark{background:var(--bg);border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.tiles.archived-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,196px),1fr))}.tile.tile-archived{min-height:0;color:var(--muted);flex-direction:row;align-items:center;padding:14px 16px}.tile-archived .tile-mark{border-radius:12px;width:40px;height:40px}.tile-archived .tile-name{color:var(--ink);font-size:14px}.tile-note{font-size:12.5px}.tiles-archive{flex-direction:column;gap:12px;display:flex}.archive-toggle{border:1.5px solid var(--field);min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border-radius:12px;align-self:flex-start;align-items:center;gap:8px;padding:0 14px;font-weight:500;display:inline-flex}@media (hover:hover){.archive-toggle:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}}.cat-screen{flex-direction:column;gap:20px;min-width:0;display:flex;position:relative}.cat-top{align-items:center;display:flex}.cat-back{min-height:44px;color:var(--muted);align-items:center;gap:6px;font-weight:500;text-decoration:none;display:inline-flex}.cat-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.cat-head-text{flex-direction:column;gap:2px;min-width:0;margin-right:auto;display:flex}.cat-head-text h1{letter-spacing:-.01em;overflow-wrap:anywhere;font-size:26px;font-weight:600}.cat-head-sub{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.cat-month{border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 20px;display:flex}.cat-month-sum{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.cat-month-value{white-space:normal;overflow-wrap:anywhere;font-size:22px;font-weight:600}.cat-subs{flex-direction:column;gap:12px;display:flex}.cat-subs h2{font-size:17px;font-weight:600}.limit{flex-direction:column;gap:6px;min-width:0;display:flex}.limit-bar{background:var(--line);border-radius:3px;height:6px;display:block;overflow:hidden}.limit-fill{border-radius:inherit;background:var(--bar);height:100%;display:block}.limit-warning .limit-fill{background:var(--warn)}.limit-over .limit-fill{background:var(--danger)}.limit-text{flex-wrap:wrap;align-items:baseline;gap:2px 8px;font-size:12.5px;line-height:1.35;display:flex}.limit-status{color:var(--muted)}.limit-warning .limit-status{color:var(--warn);font-weight:600}.limit-over .limit-status{color:var(--danger);font-weight:600}.limit-of{color:var(--muted);margin-left:auto}@media (min-width:721px){.tile .limit-bar{order:1}.tile .limit-status{flex:1 1 0;min-width:min-content}.tile .limit-of{white-space:nowrap;flex:none}}.limit-card{flex-flow:wrap;flex:360px;align-items:center;gap:12px 24px}.limit-card .limit-bar{border-radius:4px;flex:220px;height:8px}.limit-card .limit-text{flex:0 auto;gap:2px 8px;font-size:13.5px}.limit-card .limit-of{margin-left:0}.cat-limit-row{align-items:center;gap:10px;display:flex}.cat-limit-input{width:180px;max-width:100%}.cat-form{flex-direction:column;gap:20px;display:flex}.cat-name-row{align-items:flex-end;gap:14px;display:flex}.cat-name-row>.field{flex:auto}.cat-form .field>.segmented{align-self:flex-start}.cat-dialog .dialog-foot{flex-wrap:wrap}.cat-foot-side{flex-wrap:wrap;gap:8px;display:flex}.cat-delete-head{align-items:center;gap:14px;display:flex}.cat-delete-text{flex-direction:column;min-width:0;display:flex}.cat-delete-question{overflow-wrap:anywhere;font-size:16px;font-weight:600}.cat-delete-question:focus{outline:none}.cat-delete-count{margin:0}.cat-move-text{flex:auto;gap:8px}.cat-move-text .select{font-weight:400}.profile-delete{border-top:1px solid var(--line);padding-top:12px;display:flex}.delete-foot{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:10px;display:flex}.overlay.qa-overlay{flex-direction:column;justify-content:flex-end;align-items:center;padding:0;display:flex}.dialog.quick-sheet{width:100%;max-width:480px;height:calc(100vh - 44px);touch-action:manipulation;border:0;border-radius:20px 20px 0 0;gap:10px;height:calc(100dvh - 44px);max-height:none;padding:8px 0 0;position:relative;overflow:hidden}.dialog.quick-sheet:focus{outline:none}.quick-sheet:before{content:"";background:var(--line);border-radius:3px;flex:none;align-self:center;width:40px;height:5px}.quick-sheet .dialog-head{gap:8px;padding:0 16px}.quick-sheet .dialog-head .btn-icon{color:var(--muted)}.qa-head-gap{margin-right:auto}.quick-sheet .dialog-body{flex:auto;gap:10px;min-height:0;padding:0}.quick-sheet .dialog-foot{padding:0 16px max(16px, env(safe-area-inset-bottom));border-top:0;flex-direction:column;flex:none;gap:8px}.qa-top{text-align:center;flex-direction:column;flex:none;align-items:center;gap:4px;padding:0 16px;display:flex}.qa-amount{letter-spacing:-.01em;max-width:100%;color:var(--ink);font-size:44px;font-weight:600;line-height:1.1}.qa-amount.long{font-size:min(36px, calc((min(100vw, 480px) - 32px) / (var(--len,1) * .6)))}.qa-amount.income{color:var(--accent)}.qa-amount.zero{color:var(--muted)}.qa-picked{align-items:center;gap:8px;min-height:24px;font-size:14px;font-weight:500;display:inline-flex}.qa-none{color:var(--muted);font-weight:400}.qa-none.alert,.qa-error{color:var(--danger);font-weight:500}.qa-error{font-size:14px}.qa-mid{flex-direction:column;flex:auto;gap:10px;min-height:0;padding:2px 16px;display:flex;overflow-y:auto}.qa-mid>*{flex:none}.qa-recent{scrollbar-width:none;gap:8px;margin:0 -16px;padding:2px 16px;display:flex;overflow-x:auto}.qa-recent::-webkit-scrollbar{display:none}.qa-chip{background:var(--bg);height:44px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;gap:8px;padding:0 14px 0 6px;font-size:14px;display:inline-flex}.mark.qa-chip-mark{border-radius:9px;width:32px;height:32px}.qa-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.qa-cats{display:contents}.qa-cat{min-width:0;min-height:72px;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:6px 2px;font-size:12px;font-weight:500;display:flex}.qa-cat[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.qa-cat-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.qa-cat-ghost{cursor:default}.qa-cat-ghost:before{content:"";background:var(--bg);border-radius:12px;width:40px;height:40px}.qa-ctls{gap:8px;display:flex}.qa-ctl{background:var(--bg);min-width:0;height:44px;color:var(--ink);font:inherit;cursor:pointer;border:0;border-radius:12px;align-items:center;gap:8px;padding:0 12px;font-size:14px;display:inline-flex;position:relative}.qa-ctl:has(.qa-native:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.qa-account{flex:auto}.qa-date{flex:none}.qa-ctl-icon{color:var(--muted);flex:none;display:flex}.qa-ctl-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.qa-native{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.qa-note-btn{width:44px;color:var(--muted);flex:none;justify-content:center;padding:0}.qa-note-btn.filled{color:var(--accent)}.qa-note-btn.filled svg{fill:currentColor}.qa-keys{grid-template-rows:repeat(4,52px);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.qa-key{background:var(--key);color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border:0;border-radius:12px;place-items:center;font-size:24px;font-weight:500;display:grid}.qa-key:active{background:var(--key-press)}.qa-key:disabled{color:var(--muted);opacity:.45;cursor:default}.qa-save{background:var(--accent);height:52px;color:var(--accent-ink);font:inherit;cursor:pointer;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:8px;font-size:17px;font-weight:600;display:inline-flex}.qa-save:active{background:var(--accent-press)}.qa-save[aria-disabled=true]{background:var(--line);color:var(--muted);cursor:default}.qa-spin{border:2.2px solid;border-right-color:#0000;border-radius:50%;width:18px;height:18px;animation:.9s linear infinite spin}@media (max-height:800px){.dialog.quick-sheet,.quick-sheet .dialog-body,.qa-mid{gap:8px}.qa-cat{gap:4px;min-height:64px;padding:4px 2px;line-height:1.2}.qa-cat .mark,.qa-cat-ghost:before{border-radius:9px;width:32px;height:32px}.qa-keys{grid-template-rows:repeat(4,46px)}}@media (max-height:700px){.dialog.quick-sheet{height:calc(100vh - 8px);gap:6px;height:calc(100dvh - 8px);padding-top:14px}.quick-sheet:before{position:absolute;top:5px;left:calc(50% - 20px)}.quick-sheet .dialog-body{gap:6px}.quick-sheet .dialog-foot{padding-bottom:max(12px, env(safe-area-inset-bottom));gap:6px}.qa-amount{font-size:34px}.qa-amount.long{font-size:min(30px, calc((min(100vw, 480px) - 32px) / (var(--len,1) * .6)))}.qa-picked{min-height:22px}.qa-keys{grid-template-rows:repeat(4,45px)}}@media (max-height:600px){.qa-keys{grid-template-rows:repeat(4,44px)}}.qa-all-list{flex-direction:column;gap:2px;display:flex}.qa-all-row{min-height:60px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:14px;padding:0 8px;font-weight:500;display:flex}.qa-all-row.sub{padding-left:32px;font-weight:400}.qa-all-row[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1.5px var(--accent)}@keyframes qa-sheet-out{to{transform:translateY(100%)}}@keyframes qa-scrim-out{to{background-color:#0000}}@keyframes qa-squash{0%,to{transform:none}50%{transform:translateY(3px)scaleY(.94)}}@keyframes qa-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes qa-in{0%{opacity:0}to{opacity:1}}@keyframes qa-flash{0%{background-color:var(--flash)}to{background-color:#0000}}.qa-overlay.closing{pointer-events:none;animation:.22s ease-in forwards qa-scrim-out}.qa-overlay.closing .quick-sheet{animation:.22s ease-in forwards qa-sheet-out}.qa-drop{z-index:39;letter-spacing:-.01em;pointer-events:none;justify-content:center;align-items:center;font-weight:600;line-height:1.1;display:flex;position:fixed}.pocket.squash{transform-origin:50% 100%;animation:.25s ease-out .4s both qa-squash}.tx-row.fresh{animation:1.6s ease-out .45s both qa-flash}@media (prefers-reduced-motion:reduce){.qa-overlay.closing,.qa-overlay.closing .quick-sheet,.pocket.squash{animation:none}.tx-row.fresh{animation:1.6s ease-out both qa-flash}}.home{flex-direction:column;gap:24px;min-width:0;font-size:15px;display:flex}.home-summary{flex-direction:column;gap:16px;min-width:0;display:flex}.home .segmented.wide{margin:0 -4px}.home .segmented button{font-size:14px}.home-range{flex-direction:column;gap:6px;display:flex}.home-range .field-error{font-size:14px}.home-range-fields{align-items:center;gap:8px;display:flex}.home-date{border:1.5px solid var(--field);background:var(--surface);min-width:0;height:44px;color:var(--ink);cursor:pointer;border-radius:12px;flex:1 1 0;place-items:center;padding:0 8px;display:grid;position:relative}.home-date:has(.home-date-input:focus-visible){outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}:is(.home-date[data-invalid=true],.home-date[data-invalid=true]:has(.home-date-input:focus-visible)){border-color:var(--danger)}.home-date-text{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.home-date-input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;font-size:16px;position:absolute;inset:0}.home-total{flex-direction:column;gap:4px;min-width:0;display:flex}.home-hero{isolation:isolate;flex-direction:column;gap:4px;display:flex;position:relative}.home-title{color:var(--muted);font-size:15px;font-weight:500}.home-spent{font-size:min(40px, calc((100vw - 32px) / (var(--len,1) * .6)));letter-spacing:-.01em;font-weight:600;line-height:1.1}.home-line{color:var(--muted);font-size:14px}.home-income{isolation:isolate;align-self:flex-start;position:relative}.home-income .money{font-weight:600}@keyframes home-flash{0%{background-color:var(--flash)}to{background-color:#0000}}.home-hero.flash:before,.home-income.flash:before{content:"";z-index:-1;animation:1.4s ease-out both home-flash;position:absolute}.home-hero.flash:before{border-radius:12px;inset:-6px -12px}.home-income.flash:before{border-radius:6px;inset:-2px -8px}.home-top{flex-direction:column;display:flex}.home-cat{border-bottom:1px solid var(--line);min-height:60px;color:var(--ink);align-items:center;gap:14px;padding:8px 0;text-decoration:none;display:flex}.home-cat-body{flex:auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;min-width:0;display:grid}.home-cat-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.home-cat-sum{text-align:right;font-weight:600}.home-cat-bar{background:var(--bar);border-radius:2px;justify-self:start;min-width:2px;height:4px}.home-cat-pct{color:var(--muted);text-align:right;font-size:13px}.home-block{flex-direction:column;min-width:0;display:flex}.home-head{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.home-head h2{font-size:17px;font-weight:600}.home-all{justify-content:flex-end;align-items:center;min-width:44px;min-height:44px;font-weight:600;text-decoration:none;display:inline-flex}.home-limit{border-bottom:1px solid var(--line);min-height:56px;color:var(--ink);justify-content:center;gap:6px;padding:8px 0;text-decoration:none}.home-limit-line{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;display:flex}.home-limit-name{text-overflow:ellipsis;white-space:nowrap;flex:8em;min-width:0;font-weight:500;overflow:hidden}.home-limit-status{white-space:nowrap;flex:none;font-weight:600}.home-op{isolation:isolate;border:0;border-bottom:1px solid var(--line);width:100%;min-height:60px;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;align-items:center;gap:14px;padding:8px 0;display:flex;position:relative}.home-op-text{flex-direction:column;flex:auto;min-width:0;display:flex}.home-op-title{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.home-op-sub{text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;overflow:hidden}.home-op-end{flex-direction:column;flex:none;align-items:flex-end;gap:2px;display:flex}.home-op-sum{text-align:right;font-weight:600}.home-op.fresh:before{content:"";z-index:-1;border-radius:12px;animation:1.6s ease-out .45s both qa-flash;position:absolute;inset:0 -8px}.home-none,.home-wait{min-height:60px;color:var(--muted);align-items:center;margin:0;display:flex}.home-cat:hover,.home-limit:hover{color:var(--ink)}@media (hover:hover){.home-cat:hover .home-cat-name,.home-limit:hover .home-limit-name,.home-op:hover .home-op-title{color:var(--accent)}}@media (prefers-reduced-motion:reduce){.home-op.fresh:before{animation:1.6s ease-out both qa-flash}}.demo-shell{flex-direction:column;min-height:100vh;display:flex}.demo-shell>.app{flex:auto;min-height:0}.demo-bar{background:var(--ink);color:var(--toast-ink);flex-wrap:wrap;align-items:center;gap:10px 16px;padding:10px 24px;display:flex}.demo-bar :focus-visible{outline-color:var(--toast-act)}.demo-badge{background:var(--toast-act);color:var(--ink);letter-spacing:.02em;border-radius:999px;align-items:center;padding:2px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.demo-text{margin-right:auto}.demo-bar .demo-error{flex-basis:100%;order:3;font-weight:500}.demo-actions{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.demo-signup,.demo-exit{cursor:pointer;border:0;border-radius:12px;height:36px;font-weight:600}.demo-signup{background:var(--toast-act);color:var(--ink);padding:0 16px}.demo-exit{color:var(--toast-ink);background:0 0;padding:0 6px;font-weight:500}.demo-signup:disabled,.demo-exit:disabled{opacity:.55;cursor:default}@media (hover:hover){.demo-exit:not(:disabled):hover{text-decoration:underline}}@media (max-width:720px){.demo-bar{gap:8px 10px;padding:10px 16px}.demo-text{flex:200px;margin-right:0}.demo-actions{flex:100%}.demo-signup,.demo-exit{flex:1 1 0;height:44px}.sidebar,.page-head .desktop-only{display:none}input,select,textarea{font-size:16px}.segmented button{padding:0 12px}.main{padding:16px 16px calc(96px + env(safe-area-inset-bottom));gap:16px}.page-head h1{font-size:22px}.tabbar{z-index:40;padding:6px 8px max(14px, env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-around;align-items:flex-end;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{width:68px;min-height:48px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:500;text-decoration:none;display:flex}.tab.active{color:var(--accent);font-weight:600}.toast{width:auto;max-width:none;left:16px;right:16px;bottom:calc(81px + max(14px, env(safe-area-inset-bottom)));transform:none}.toast.late{animation:.25s .45s both qa-up}.pocket{cursor:pointer;width:64px;height:60px;color:var(--accent-ink);background:0 0;border:0;place-items:center;margin-bottom:2px;padding:0;display:grid;position:relative}.pocket-shape{position:absolute;inset:0}.pocket-plus{position:relative;top:5px}@media (prefers-reduced-motion:reduce){.toast.late{animation:.15s both qa-in}}.list-head{padding:10px 16px}.tx-row{flex-wrap:nowrap;gap:12px;padding:10px 16px}.tx-main{flex:auto}.tx-title{flex-wrap:nowrap;min-width:0}.tx-title .row-open{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tx-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tx-cat,.tx-acc,.tx-sub.wide-only,.tx-not-expense{display:none}.tx-sub.phone-sub{display:block}.tx-sub.phone-sub:empty{display:none}.tx-sum{white-space:normal;max-width:55%}.acc-row{flex-wrap:nowrap;padding-right:14px}.acc-row .acc-cur{display:none}.acc-name{flex:auto}.acc-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.acc-balance{flex:none;max-width:55%}.group-empty{padding-left:26px}.group-toggle{flex-wrap:wrap;row-gap:0;height:auto;min-height:44px;padding-top:6px;padding-bottom:6px}.group-count{display:none}.group-total{text-align:left;flex-basis:100%;margin-left:0;padding-left:50px;font-size:13.5px}.cards{scroll-snap-type:x mandatory;flex-wrap:nowrap;margin:0 -16px;padding:0 16px;overflow-x:auto}.cards>.kpi{scroll-snap-align:start;flex:0 0 78%}.tag-chip{height:28px;font-size:13px}.tx-tags{gap:6px}.tag-remove{width:24px;height:24px}.tag-bar{padding:14px 16px}.tag-bar-head .btn{flex:auto}.tag-bar-value{font-size:18px}.overlay{place-items:stretch stretch;padding:0}.dialog{border:0;border-radius:0;max-width:none;height:100%;max-height:none}.dialog-foot{padding-bottom:calc(16px + env(safe-area-inset-bottom))}.dialog-head .btn-icon{width:44px;height:44px}.icon-picks{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}.swatches{gap:8px}.swatch{border-radius:12px;width:44px;height:44px}.picker-dialog,.picker-dialog.fit{height:100%}.picker-chips{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.picker-dialog .dialog-head,.picker-dialog .dialog-body,.picker-dialog .dialog-foot{padding-left:16px;padding-right:16px}.picker-chip{min-height:44px}.phone-only{display:initial}.an-filters{flex-flow:wrap;gap:8px}.an-filter-row{display:contents}.an-seg{flex:100%;order:1}.an-seg .segmented{display:flex}.an-seg .segmented button{flex:1 1 0;min-height:44px;padding:0 6px}.an-stepper,.an-custom{flex:100%;order:2}.an-seg-flow{flex:1 1 0;order:3;min-width:0}.an-field-compare{flex:none;order:4}.an-field-tag{flex:100%;order:5}.an-caption{flex:100%;order:6;font-size:12.5px}.an-grow{display:none}.an-stepper{gap:8px}.an-stepper .btn-icon{border-radius:12px;flex:none;width:44px;height:44px}.an-step-title{flex:auto;min-width:0}.an-date{flex:140px}.an-date .input{flex:auto;height:44px}.an-field .select{height:44px;font-size:16px}.an-field-compare .select{max-width:170px}.an-field-tag .select{flex:auto;max-width:none}.an-table-card{gap:0;padding:0 0 12px}.an-table-top{padding:12px 16px 8px}.an-table{min-width:0}.an-row,.an-row.no-compare{border-bottom:0;border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto 44px;grid-template-areas:"name amount toggle""share change toggle""bar bar.";gap:2px 8px;min-height:0;padding:10px 8px 12px 16px}.an-row.no-compare{grid-template-areas:"name amount toggle""share share toggle""bar bar."}.an-row.sub{padding-left:34px}.an-row.sub .an-c-name{padding-left:0}.an-c-toggle{justify-content:center}.an-toggle{background:var(--bg);border-radius:12px;width:44px;height:44px}.an-c-share{text-align:left;font-size:12px}.an-c-change{font-size:12px}.an-c-change .an-pct{min-width:0}.an-pick{min-height:28px;position:relative}.an-pick:after{content:"";position:absolute;inset:-8px -4px -22px -8px}.an-bar{height:12px}.an-footnote{margin:8px 16px 0}.an-op{min-height:48px}.an-panel-link{background:var(--accent);min-height:52px;color:var(--accent-ink);border:0;font-weight:600}.an-panel-link:active{background:var(--accent-press);color:var(--accent-ink)}.an-panel-close{width:44px;height:44px}.range-chip{flex:100%;justify-content:space-between;min-height:44px}.range-chip .btn{height:44px}.kpi-more{position:relative}.kpi .kpi-more{align-self:flex-start}.kpi-more:after{content:"";position:absolute;inset:-14px -10px}.an-tab{flex:1 1 0;padding:0 8px}.cap-filters{gap:8px}.cap-seg .segmented{display:flex}.cap-seg .segmented button{flex:1 1 0;min-height:44px;padding:0 6px;font-size:13px}.cap-seg-period{flex:100%}.cap-seg-view{flex:auto}.cap-seg-step{flex:none}.cap-seg-step .segmented button{min-width:54px}.cap-card{border-radius:12px;gap:10px;padding:16px 14px 12px}.cap-head{align-items:flex-start;gap:8px}.cap-total-value{font-size:28px}.cap-table-btn{height:44px}.cap-chart{gap:6px}.cap-y{width:44px}.cap-y span,.cap-x span{font-size:10.5px}.cap-x{height:16px}.cap-why,.cap-groups{border-radius:12px;gap:0;padding:0;overflow:hidden}.cap-why h2,.cap-groups h2{margin:0;padding:12px 16px 8px;font-size:15px}.cap-why-row{align-items:center;min-height:54px;padding:6px 16px}.cap-why-end{padding-bottom:6px}.cap-layer-delta{font-size:12px}.kpi-cover{position:static}.kpi-cover:after{inset:0}.ops-search{flex:100%;order:3;height:44px}.ops-export,.data-btn,.export-foot .btn{height:44px}.export-file{flex-basis:100%}.export-foot .btn,.data-btn{flex:auto}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tile{gap:8px;min-height:152px;padding:12px 10px 10px}.tile.tile-sub{min-height:140px}.tile-top{display:contents}.tile:not(.tile-archived) .tile-mark{border-radius:12px;order:-2;width:44px;height:44px}.tile:not(.tile-archived) .tile-mark svg{width:22px;height:22px}.tile-text{order:-1;gap:1px}.tile-name{-webkit-hyphens:auto;hyphens:auto;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.25;display:-webkit-box;overflow:hidden}.tile-subs{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;display:block}.tile-sum{text-align:left;order:0;margin:auto 0 0;font-size:12.5px}@supports (font-size:1cqi){.tile:not(.tile-archived){container-type:inline-size}.tile-sum{font-size:clamp(8px, 100cqi / (var(--chars,1) * .6), 12.5px)}}.tile-limit{order:1;margin-top:0}.tile .limit{gap:5px}.tile .limit-bar{border-radius:2px;height:4px}.tile .limit-text{font-size:11px;line-height:1.3}.tile .limit-of{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@supports (font-size:1cqi){.tile .limit-text{font-size:clamp(8px, 100cqi / (var(--limit-chars,1) * .6), 11px)}}.tile-new{gap:8px;font-size:13px}.tile-new-mark{background:0 0;width:auto;height:auto}.tile-new-root{display:none}.cat-tabs .segmented{display:flex}.cat-tabs .segmented button,.cat-form .segmented button{flex:1 1 0;min-height:44px}.tiles.archived-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile.tile-archived{gap:10px;min-height:0;padding:10px}.tile-archived .tile-mark{border-radius:12px;width:36px;height:36px}.tile-archived .tile-name{font-size:13px}.tile-archived .tile-note{font-size:11.5px}.archive-toggle{background:0 0;border:0;align-self:center;min-height:44px;font-size:13px}.cat-new-btn{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border:0;border-radius:12px;padding:0}.cat-new-btn svg{width:20px;height:20px}.cat-new-text{display:none}.cat-screen{gap:14px}.cat-back{min-height:44px;color:var(--ink);margin-left:-4px}.cat-edit{background:0 0;border:0;border-radius:12px;width:44px;height:44px;padding:0;position:absolute;top:0;right:0}.cat-edit svg{width:20px;height:20px}.cat-edit-text{display:none}.cat-head{flex-wrap:nowrap;gap:14px}.cat-head-mark.mark.hero{border-radius:20px;width:56px;height:56px}.cat-head-mark svg{width:28px;height:28px}.cat-head-text h1{font-size:21px;line-height:1.25}.cat-head-sub{font-size:13px}.cat-month{flex-direction:column;align-items:stretch;gap:8px;padding:14px}.limit-card{flex-direction:column;flex:none;align-items:stretch;gap:8px}.limit-card .limit-bar{border-radius:3px;flex:none;height:6px}.limit-card .limit-text{justify-content:space-between;font-size:13px}.limit-card .limit-of{margin-left:auto}.cat-subs{gap:8px}.cat-subs h2{font-size:15px}.cat-dialog .dialog-foot .btn{flex:auto;height:44px}.cat-foot-side{flex:100%;margin-right:0}.cat-foot-side .btn{flex:1 1 0}.cat-dialog .dialog-foot>.grow:empty{display:none}.profile-delete .btn,.delete-foot .btn{height:44px}.delete-foot .btn{flex:1 1 0}}
