.cat-intro{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:28px;display:grid}.cat-intro p{max-width:75ch;margin-top:8px;font-size:14px}.probe span:first-child{align-items:center;gap:6px;display:inline-flex}.probe-hit{color:var(--violet-ink);font-size:14px;font-weight:500}.probe-miss{color:var(--pink-ink);font-size:14px}.cat-group{flex-direction:column;gap:10px;display:flex}.cat-group-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-top:8px;display:flex}.cat-group-head p{font-size:14px}.cat-list{padding:4px 24px}.cat-row{border-bottom:1px solid color-mix(in srgb, var(--rule) 60%, transparent);grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:20px;padding:14px 0;display:grid}.cat-row:last-child{border-bottom:0}.cat-meta{flex-wrap:wrap;align-content:flex-start;align-items:center;gap:6px 10px;display:flex}.cat-meta .cat-name{flex-basis:100%}.cat-meta .muted{min-width:96px;font-size:13px}.cat-meta .select{width:112px}.cat-meta .btn.ghost{color:var(--ink-2)}.cat-meta .btn.ghost:hover{color:var(--pink-ink);background:var(--pink-tint)}.cat-keywords{flex-wrap:wrap;align-content:flex-start;gap:6px;min-width:0;display:flex}.cat-keywords .chip{font-family:var(--mono);letter-spacing:0;white-space:normal;overflow-wrap:anywhere;max-width:100%;height:auto;min-height:24px;padding-block:3px;font-size:12px;font-weight:500;font-stretch:80%;line-height:1.35}.kw-add .input{border-style:dashed;border-radius:99px;width:150px;height:26px;padding:0 12px;font-size:12.5px}.new-cat{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.new-cat h2{margin-right:8px}.new-cat .input{width:240px}.restore{flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;display:flex}@media (width<=900px){.cat-intro,.cat-row{grid-template-columns:1fr}}.cat-intro .inline-icon{vertical-align:-2px}.chip .ask-toggle{margin-right:0}.chip .ask-toggle[aria-pressed=true]{opacity:1;background:var(--violet);color:var(--on-violet)}.chip .ask-toggle[aria-pressed=true]:hover{background:var(--violet-hover)}.cat-sort{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 12px;display:flex}.cat-sort>.muted{font-size:13px}.cat-sort .seg button{align-items:center;gap:6px;display:inline-flex}.cat-sort+.cat-group .cat-group-head{margin-top:0}.trips{flex-direction:column;gap:16px;display:flex}.trips .panel-head{margin-bottom:0}.trip-suggest{background:var(--violet-tint);color:var(--ink);border-radius:var(--radius);flex-direction:column;gap:6px;padding:12px 16px;font-size:14px;display:flex}.trip-suggest .muted{color:color-mix(in srgb, var(--violet-ink) 70%, var(--ink-2))}.trip-suggest-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex}.trip-suggest ul{margin:0;padding:0;list-style:none}.trip-suggest li{border-top:1px solid color-mix(in srgb, var(--violet-ink) 14%, transparent);grid-template-columns:minmax(0,240px) minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:6px 0;display:grid}.trip-title{font-weight:600}.trip-list{margin:0;padding:0;list-style:none}.trip-list li{border-bottom:1px solid color-mix(in srgb, var(--rule) 60%, transparent);grid-template-columns:minmax(160px,1fr) auto auto minmax(150px,auto) auto;align-items:center;gap:8px 14px;padding:8px 0;display:grid}.trip-list li:last-child{border-bottom:0}.trip-list label,.trip-add label{color:var(--ink-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.trips .input[type=date]{width:150px;height:32px;padding:0 10px;font-size:13.5px}.trip-held{color:var(--ink-2);text-align:right;white-space:nowrap;font-size:13px}.trip-add{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.trip-add>svg{color:var(--violet);flex:none}.trip-add>.input{width:220px;height:32px}.trip-add .btn{height:32px}.trip-cats{border-top:1px solid var(--rule);flex-direction:column;gap:8px;padding-top:14px;display:flex}.trip-cats>.muted{font-size:13px}.trip-cat-chips{flex-wrap:wrap;gap:6px;display:flex}.chip-toggle{border:1px solid var(--rule-strong);background:var(--paper);height:28px;color:var(--ink-2);cursor:pointer;border-radius:99px;padding:0 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.chip-toggle:hover{color:var(--ink)}.chip-toggle:focus-visible{box-shadow:var(--focus);outline:none}.chip-toggle[aria-pressed=true]{background:var(--violet-tint);color:var(--violet-ink);border-color:#0000;font-weight:600}@media (width<=760px){.trip-suggest li{grid-template-columns:minmax(0,1fr) auto}.trip-suggest li .muted{grid-area:2/1}.trip-suggest li .btn{grid-area:1/2/3}.trip-list li{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.trip-list label{flex-direction:column;align-items:stretch;gap:4px;min-width:0}.trip-list .cat-name{grid-area:1/1/auto/3}.trip-list .icon-btn{grid-area:1/3}.trip-list label{grid-row:2}.trips .trip-list .input[type=date]{width:100%;min-width:0}.trip-held{text-align:left;grid-column:1/-1}.trip-add>.input{width:100%}}.receipt{filter:drop-shadow(0 1px 1px #1c1c1f0f)drop-shadow(0 6px 12px #1c1c1f12);align-self:start}.receipt-paper{--r-ink:var(--ink);--r-rule:var(--rule-strong);background:var(--paper);font-family:var(--mono);letter-spacing:.01em;color:var(--r-ink);padding:26px 28px 40px;font-size:13px;font-stretch:78%;line-height:1.5;position:relative;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/14px 100%}.receipt-paper.end-of-roll:after{content:"";background:var(--pink);width:4px;animation:.42s cubic-bezier(.2,.8,.2,1) .26s both stripe;position:absolute;top:0;bottom:0;right:9px}@keyframes stripe{0%{transform-origin:top;transform:scaleY(0)}to{transform-origin:top;transform:scaleY(1)}}@media (prefers-color-scheme:dark){.receipt{filter:drop-shadow(0 6px 16px #00000073)}.receipt-paper{--ink:#1c1c1f;--ink-2:#4f4f56;--ink-3:#66666d;--paper:#e4e3dc;--paper-2:#d8d7cf;--rule-strong:#8d8d94;--violet-ink:#3f3392;--violet-tint:#d6d1f0;--series:#5b4bb7;--series-in:#3a9a6c;--pink:#d9486f;--pink-ink:#85183a;--focus:0 0 0 2px #e4e3dc, 0 0 0 4px #5b4bb7}}.receipt-paper hr{border:0;border-top:1px dashed var(--r-rule);margin:12px 0}.r-head{text-align:center;color:var(--ink-2)}.r-head p{overflow-wrap:anywhere}.r-title{color:var(--r-ink);letter-spacing:.08em;font-weight:700}.r-empty{text-align:center;color:var(--ink-2);padding:18px 0}.r-lines{margin:0;padding:0;list-style:none}.r-lines li{animation:.26s cubic-bezier(.2,.8,.2,1) both feed}.r-lines li.dim .r-line{opacity:.42;transition:opacity .18s}.r-lines li.dim .r-line:hover,.r-lines li.dim .r-line:focus-visible{opacity:.85}@keyframes feed{0%{opacity:0;clip-path:inset(0 0 100%);transform:translateY(-5px)}to{opacity:1;clip-path:inset(0);transform:none}}.r-line{all:unset;box-sizing:border-box;cursor:pointer;border-radius:4px;width:calc(100% + 8px);margin:0 -4px;padding:3px 4px 4px;display:block}.r-line:hover{background:var(--paper-2)}.r-line:focus-visible{box-shadow:var(--focus)}.r-line[aria-pressed=true]{background:var(--violet-tint)}.r-row{align-items:baseline;gap:6px;display:flex}.r-name{white-space:nowrap;text-overflow:ellipsis;max-width:64%;font-weight:550;overflow:hidden}.r-line.unassigned .r-name{color:var(--pink-ink)}.r-leader{border-bottom:1px dotted var(--r-rule);flex:1;min-width:12px;transform:translateY(-4px)}.r-val{font-variant-numeric:tabular-nums;white-space:nowrap}.r-sub{height:15px;margin-top:2px;display:block;position:relative}.r-bar{background:var(--series);border-radius:0 4px 4px 0;height:7px;transition:opacity .15s;position:absolute;top:4px;left:0}.r-detail{color:var(--ink-2);opacity:0;white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:15px;transition:opacity .15s;position:absolute;inset:0;overflow:hidden}.r-lines.income .r-bar{background:var(--series-in)}.r-line:hover .r-bar,.r-line:focus-visible .r-bar{opacity:0}.r-line:hover .r-detail,.r-line:focus-visible .r-detail{opacity:1}.r-clear{all:unset;cursor:pointer;width:100%;color:var(--violet-ink);border-radius:4px;justify-content:center;align-items:center;gap:6px;margin:-4px 0 8px;padding:4px 0;font-size:11.5px;display:flex}.r-clear:hover{background:var(--violet-tint)}.r-clear:focus-visible{box-shadow:var(--focus)}.r-total{justify-content:space-between;align-items:baseline;gap:12px;margin:4px 0 10px;font-weight:700;font-stretch:75%;display:flex}.r-total span:first-child{letter-spacing:.04em;font-size:15px}.r-total span:last-child{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:30px;line-height:1.1}.r-foot{color:var(--ink-2);margin:0}.r-foot div{align-items:baseline;gap:6px;display:flex}.r-foot dt{white-space:nowrap;flex:none}.r-foot div:after{content:"";border-bottom:1px dotted var(--r-rule);flex:1;order:1;transform:translateY(-4px)}.r-foot dd{font-variant-numeric:tabular-nums;order:2;margin:0}.r-section{text-align:center;margin-bottom:8px}.r-sum{color:var(--r-ink);margin-top:2px;font-weight:700}.r-avg{text-align:center;color:var(--ink-2);font-size:12px}.r-avg.over{color:var(--pink-ink);font-weight:600}.r-stamp{text-align:center;color:var(--ink-3);letter-spacing:.06em;margin-top:10px;font-size:11px}.dropzone{border:1.5px dashed var(--rule-strong);background:color-mix(in srgb, var(--paper) 70%, transparent);border-radius:12px;align-items:center;gap:18px;padding:28px;transition:border-color .15s,background .15s;display:flex}.dropzone>svg{color:var(--violet);flex:none}.dropzone>div{flex-direction:column;flex:1;gap:4px;display:flex}.dropzone.over{border-color:var(--violet);background:var(--violet-tint)}.dropzone.compact{padding:14px 20px}.dz-title{font-size:16px;font-weight:650}.step{flex-direction:column;gap:16px;display:flex}.step .panel-head{flex-wrap:wrap;margin-bottom:0}.step-grid{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.step-grid .field{min-width:200px}.step-grid .field .select,.step-grid .field .input{min-width:220px}.step-actions{border-top:1px solid var(--rule);align-items:center;gap:12px;padding-top:16px;display:flex}.switch.invert{align-self:flex-start}.map-table{border:1px solid var(--rule);border-radius:var(--radius);max-width:100%;margin:0}.map-table table.data th{vertical-align:top;background:var(--paper-2);padding:10px 8px}.map-table table.data th .select{width:100%;min-width:128px}.map-table table.data th .select.role-ignore{color:var(--ink-3)}.map-table table.data th .select:not(.role-ignore){border-color:var(--violet);color:var(--violet-ink);background-color:var(--violet-tint);font-weight:600}.col-name{color:var(--ink-2);white-space:nowrap;margin-top:6px;font-size:12px;font-weight:500;display:block}.map-table td{white-space:nowrap;text-overflow:ellipsis;max-width:280px;font-size:13px;overflow:hidden}.map-table td.ignored{color:var(--ink-3)}.preview-stats{color:var(--ink-2);flex-wrap:wrap;gap:6px 20px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.preview-stats b{color:var(--ink)}.preview-table{background:linear-gradient(var(--paper) 30%, transparent) center top, linear-gradient(transparent, var(--paper) 70%) center bottom, radial-gradient(farthest-side at 50% 0, #00000024, transparent) center top, radial-gradient(farthest-side at 50% 100%, #00000024, transparent) center bottom;background-repeat:no-repeat;background-size:100% 40px,100% 40px,100% 12px,100% 12px;background-attachment:local,local,scroll,scroll;max-height:452px;overflow-y:auto}.scroll-hint{margin-top:-8px;font-size:13px}.preview-table thead th{background:var(--paper);z-index:1;position:sticky;top:0}.skipped summary{cursor:pointer;color:var(--violet-ink);width:fit-content;font-size:14px}.skipped ul{flex-direction:column;gap:6px;max-height:220px;margin:10px 0 0;padding:0;font-size:13px;list-style:none;display:flex;overflow-y:auto}.pw-form{flex-wrap:wrap;align-items:flex-end;gap:16px;display:flex}.pw-form>svg{color:var(--violet);align-self:flex-start;margin-top:2px}.pw-form>div{flex-direction:column;flex:320px;gap:6px;display:flex}.pw-form .input{width:240px}.done{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.done>svg{color:var(--green-ink);flex:none}.done>div{flex-direction:column;flex:320px;gap:4px;display:flex}.done-actions{gap:10px;display:flex}.batch{margin:0;padding:0;list-style:none}.batch li{border-bottom:1px solid color-mix(in srgb, var(--rule) 60%, transparent);grid-template-columns:minmax(0,1fr) minmax(220px,300px) 190px 150px;align-items:center;gap:8px 20px;padding:12px 0;display:grid}.batch li:first-child{border-top:1px solid var(--rule)}.b-file{flex-direction:column;gap:2px;min-width:0;display:flex}.b-file b{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;font-weight:600;overflow:hidden}.b-file small,.b-count small{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12px}.b-file .b-msg{color:var(--pink-ink)}.b-target{flex-direction:column;gap:6px;min-width:0;font-size:14px;display:flex}.b-target .select,.b-target .input{width:100%;height:32px;font-size:13.5px}.b-name{color:var(--ink-2);align-items:center;gap:8px;font-size:12.5px;display:flex}.b-name .input{flex:1;min-width:0}.b-count{font-variant-numeric:tabular-nums;flex-direction:column;align-items:flex-end;font-size:14px;display:flex}.b-state{justify-content:flex-end;align-items:center;gap:6px;display:flex}.b-done .b-file b,.b-done .b-target{color:var(--ink-2)}.b-pw{gap:6px;display:flex}.b-pw .input{width:160px;height:32px;font-size:13.5px}.b-pw .input[aria-invalid]{border-color:var(--pink)}.b-pw .input[aria-invalid]::placeholder{color:var(--pink-ink)}.batch-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.batch-note{font-size:13px}.batch-done{flex-wrap:wrap;margin-top:16px}.batch-done-actions{flex-wrap:wrap;gap:8px;display:flex}@media (width<=860px){.batch li{grid-template-columns:minmax(0,1fr) auto}.b-file,.b-target{grid-column:1/-1}.b-count{align-items:flex-start}}@media (width<=700px){.dropzone{flex-direction:column;align-items:flex-start}}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-cyrillic-ext-standard-normal-BFx_pHPN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-cyrillic-standard-normal-Dgr-UBxV.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-latin-ext-standard-normal-DeTdBbNh.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Martian Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;font-stretch:75% 112.5%;src:url(/assets/martian-mono-latin-standard-normal-1TqSgyfh.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--rail:#2b2350;--rail-ink:#f1efff;--rail-ink-2:#c3bcec;--rail-active:#403579;--ground:#e7e7e1;--paper:#fbfbf7;--paper-2:#f2f2ed;--ink:#1c1c1f;--ink-2:#55555c;--ink-3:#6e6e75;--rule:#d9d9d2;--rule-strong:#a5a5ac;--violet:#5b4bb7;--violet-hover:#4e3fa6;--on-violet:#fff;--violet-ink:#3f3392;--violet-tint:#ebe8f8;--pink:#e4577e;--pink-ink:#8c1d3f;--pink-tint:#fde9ef;--green-ink:#1d6b45;--series:#5b4bb7;--series-in:#3a9a6c;--series-out:#7565d0;--shadow:0 1px 2px #1c1c1f0f, 0 4px 14px #1c1c1f0f;--focus:0 0 0 2px var(--paper), 0 0 0 4px var(--violet);--sans:"Hanken Grotesk Variable", system-ui, sans-serif;--mono:"Martian Mono Variable", ui-monospace, monospace;--radius:8px;--rail-w:232px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--rail:#17132b;--rail-ink:#f1efff;--rail-ink-2:#aaa2d8;--rail-active:#2c2550;--ground:#121116;--paper:#1f1d26;--paper-2:#282630;--ink:#ecebf2;--ink-2:#b8b6c2;--ink-3:#9997a5;--rule:#35323f;--rule-strong:#5c5968;--violet:#8b7ce6;--violet-hover:#9d90ee;--on-violet:#14111f;--violet-ink:#c8c0ff;--violet-tint:#2d2850;--pink:#f0729a;--pink-ink:#ffb8cb;--pink-tint:#3b1f2b;--green-ink:#7fd3a6;--series:#8b7ce6;--series-in:#48a878;--series-out:#8577e0;--shadow:0 1px 2px #0000004d, 0 6px 18px #00000040}}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--ground);color:var(--ink);font:400 15px/1.45 var(--sans);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--violet);color:var(--on-violet)}h1,h2,h3,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--violet-ink);text-underline-offset:3px}:focus-visible{box-shadow:var(--focus);border-radius:6px;outline:none}*{scrollbar-color:var(--rule-strong) transparent;scrollbar-width:thin}.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-stretch:80%}.muted{color:var(--ink-2)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{grid-template-columns:var(--rail-w) minmax(0, 1fr);background:linear-gradient(to right, var(--rail) var(--rail-w), transparent 0);min-height:100%;display:grid}.rail{background:var(--rail);color:var(--rail-ink);flex-direction:column;gap:2px;height:100vh;padding:24px 14px;display:flex;position:sticky;top:0}.brand{font-family:var(--mono);letter-spacing:.04em;align-items:center;gap:10px;padding:2px 12px 26px;font-size:21px;font-weight:700;font-stretch:75%;display:flex}.brand svg{color:var(--rail-ink-2)}.nav a{border-radius:var(--radius);color:var(--rail-ink-2);align-items:center;gap:12px;padding:9px 12px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav a:hover{background:color-mix(in srgb, var(--rail-active) 60%, transparent);color:var(--rail-ink)}.nav a[aria-current=page]{background:var(--rail-active);color:var(--rail-ink);font-weight:600}.nav a:focus-visible{box-shadow:0 0 0 2px var(--rail-ink)}.nav .badge{background:var(--pink);color:#2a0612;border-radius:99px;margin-left:auto;padding:0 7px;font-size:12px;font-weight:600;line-height:20px}.rail-foot{color:var(--rail-ink-2);gap:8px;margin-top:auto;padding:12px;font-size:13px;line-height:1.35;display:flex}.lang-switch{border-radius:var(--radius);background:color-mix(in srgb, var(--rail-active) 70%, transparent);align-self:flex-start;gap:2px;margin:auto 12px 0;padding:3px;display:inline-flex}.lang-switch button{color:var(--rail-ink-2);font:inherit;letter-spacing:.04em;cursor:pointer;background:0 0;border:0;border-radius:6px;height:26px;padding:0 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.lang-switch button:hover{color:var(--rail-ink)}.lang-switch button[aria-pressed=true]{background:var(--rail-ink);color:var(--rail)}.lang-switch button:focus-visible{box-shadow:0 0 0 2px var(--rail-ink)}.lang-switch+.rail-foot{margin-top:6px}.rail-foot svg{flex:none;margin-top:1px}.rail-copy{color:color-mix(in srgb, var(--rail-ink-2) 75%, var(--rail));padding:0 12px 2px;font-size:12px}.main{flex-direction:column;gap:24px;min-width:0;padding:26px 36px 48px;display:flex}.topbar{flex-wrap:wrap;align-items:center;gap:12px;min-height:42px;display:flex}.topbar h1{letter-spacing:-.015em;margin-right:auto;font-size:28px;font-weight:700;line-height:1.1}.topbar h1 small{letter-spacing:0;color:var(--ink-2);margin-top:4px;font-size:14px;font-weight:400;display:block}.btn{border-radius:var(--radius);border:1px solid var(--rule-strong);background:var(--paper);cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn:hover{background:var(--paper-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--violet);border-color:var(--violet);color:var(--on-violet)}.btn.primary:hover:not(:disabled){background:var(--violet-hover);border-color:var(--violet-hover)}.btn.ghost{color:var(--violet-ink);background:0 0;border-color:#0000;padding:0 10px}.btn.ghost:hover{background:var(--violet-tint)}.btn.danger{color:var(--pink-ink);border-color:color-mix(in srgb, var(--pink) 55%, var(--rule))}.btn.danger:hover{background:var(--pink-tint)}.btn.small{height:32px;padding:0 12px;font-size:13px}.icon-btn{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--paper-2);color:var(--ink)}.icon-btn.danger:hover{background:var(--pink-tint);color:var(--pink-ink)}.field{color:var(--ink-2);flex-direction:column;gap:6px;font-size:13px;font-weight:500;display:flex}.input,.select{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--paper);height:38px;color:var(--ink);min-width:0;padding:0 12px;font-size:14px}.select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2378787f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-position:right 11px center;background-repeat:no-repeat;padding-right:30px}.input:hover,.select:hover{border-color:var(--ink-3)}.input:focus-visible,.select:focus-visible{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb, var(--violet) 25%, transparent);border-radius:var(--radius)}.input::placeholder{color:var(--ink-3)}.select.compact{height:32px;padding-left:10px;font-size:13px}.seg{background:color-mix(in srgb, var(--ink) 8%, var(--ground));border-radius:var(--radius);gap:2px;padding:3px;display:inline-flex}.seg button{height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 14px;font-size:14px;font-weight:500}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #00000014}.stepper{align-items:center;gap:2px;display:inline-flex}.stepper .label{text-align:center;min-width:132px;font-size:14px;font-weight:600}.switch{cursor:pointer;color:var(--ink);-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:inline-flex}.switch input{appearance:none;background:var(--rule-strong);cursor:pointer;border-radius:99px;flex:none;width:36px;height:20px;margin:0;transition:background .15s;position:relative}.switch input:after{content:"";background:var(--paper);border-radius:50%;width:16px;height:16px;transition:transform .18s cubic-bezier(.2,.8,.2,1);position:absolute;top:2px;left:2px}.switch input:checked{background:var(--violet)}.switch input:checked:after{transform:translate(16px)}.panel{background:var(--paper);border-radius:var(--radius);border:1px solid var(--rule);min-width:0;padding:20px 24px}.panel-head{flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:16px;display:flex}.panel-head h2{font-size:16px;font-weight:650}.panel-head .aside{color:var(--ink-2);margin-left:auto;font-size:13px}.section-title{letter-spacing:-.005em;font-size:18px;font-weight:650}.notice{border-radius:var(--radius);background:var(--violet-tint);color:var(--violet-ink);align-items:center;gap:12px;padding:12px 16px;font-size:14px;display:flex}.notice.warn,.notice.error{background:var(--pink-tint);color:var(--pink-ink)}.notice svg{flex:none}.notice .spacer{margin-left:auto}.notice b{font-weight:650}.chip{background:var(--violet-tint);height:24px;color:var(--violet-ink);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;font-weight:550;display:inline-flex}.chip.none{background:var(--pink-tint);color:var(--pink-ink)}.chip.quiet{background:var(--paper-2);color:var(--ink-2)}.chip button{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:0;border-radius:50%;place-items:center;width:16px;height:16px;margin-right:-4px;padding:0;display:inline-grid}.chip button:hover{opacity:1;background:color-mix(in srgb, currentColor 15%, transparent)}.chip.guess{outline:1px dashed color-mix(in srgb, var(--violet-ink) 55%, transparent);outline-offset:-1px;background:0 0}button.chip.suggest{font:inherit;cursor:pointer;outline:1px dashed color-mix(in srgb, var(--violet-ink) 55%, transparent);outline-offset:-1px;background:0 0;border:0;font-size:12.5px;font-weight:550}button.chip.suggest:hover{background:var(--violet-tint);outline-style:solid}button.chip.suggest:focus-visible{box-shadow:var(--focus)}button.chip.suggest .muted{font-weight:400}.table-wrap{margin:0 -8px;position:relative;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:14px}table.data th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--rule);white-space:nowrap;padding:8px;font-size:12.5px;font-weight:550}table.data th button{all:unset;cursor:pointer;align-items:center;gap:4px;display:inline-flex}table.data th button:hover{color:var(--ink)}table.data th button:focus-visible{box-shadow:var(--focus);border-radius:4px}table.data td{border-bottom:1px solid color-mix(in srgb, var(--rule) 60%, transparent);vertical-align:middle;padding:8px}table.data tr:hover td{background:color-mix(in srgb, var(--paper-2) 70%, transparent)}table.data .r{text-align:right}table.data .date{white-space:nowrap;color:var(--ink-2);font-variant-numeric:tabular-nums}table.data .nowrap{white-space:nowrap}table.data .count{font-variant-numeric:tabular-nums}table.data .desc{width:100%;min-width:160px;max-width:0}table.data .desc span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}table.data .desc small{color:var(--ink-3);font-size:12px;display:block}table.data .amt{white-space:nowrap;font-size:13.5px}table.data .amt.pos{color:var(--green-ink)}table.data tr.dup td{color:var(--ink-3)}table.data tr.learn td{background:var(--violet-tint);border-bottom-color:#0000}table.data td.sugg{min-width:150px;max-width:220px}table.data td.sugg small{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}table.data td.sugg a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--rule-strong);text-decoration-color:var(--rule-strong);text-underline-offset:2px}table.data td.sugg a:hover{color:var(--violet-ink)}table.data td.sugg a svg{vertical-align:-1px;margin-left:3px}.empty{text-align:center;color:var(--ink-2);flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty h2{color:var(--ink);font-size:20px;font-weight:650}.empty p{max-width:52ch}@media (width<=960px){.app{grid-template-columns:1fr;align-content:start}.rail{flex-direction:row;align-items:center;gap:4px;height:auto;padding:10px 12px;position:static;overflow-x:auto}.brand{padding:0 10px 0 4px;font-size:18px}.nav{gap:2px;display:flex}.nav a{white-space:nowrap;padding:8px 10px}.nav a span.lbl,.rail-foot,.rail-copy{display:none}.lang-switch{flex:none;align-self:center;margin:0 0 0 auto}.main{padding:20px 16px 40px}.topbar h1{width:100%;font-size:24px}.app{background:0 0}}@media (width<=640px){.rail{padding:10px}.brand{letter-spacing:.02em;gap:8px;padding:0 6px 0 2px;font-size:16px}.nav a{padding:8px}.lang-switch{background:0 0;padding:0}.lang-switch button[aria-pressed=true]{display:none}.lang-switch button{height:28px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--rail-ink-2) 45%, transparent);padding:0 8px}.table-wrap{margin:0}table.data.tx thead{display:none}table.data.tx,table.data.tx tbody{display:block}table.data.tx tr{border-bottom:1px solid color-mix(in srgb, var(--rule) 60%, transparent);grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 0;display:grid}table.data.tx td{border:0;padding:0;background:0 0!important}table.data.tx td.date{grid-area:1/1}table.data.tx td.amt{grid-area:1/2}table.data.tx td.desc{grid-column:1/-1;width:auto;min-width:0;max-width:none}table.data.tx td.cat{grid-column:1}table.data.tx td.act{grid-column:2}table.data.tx td.sugg{grid-area:4/1/auto/-1;align-items:center;gap:8px;min-width:0;max-width:none;display:flex}table.data.tx td.sugg:empty{display:none}table.data.tx td.sugg small{min-width:0;margin-top:0}table.data.tx tr.learn td{grid-column:1/-1}.dash .panel-head .aside:not(a){display:none}.stepper .label{min-width:0}.filters-total{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.dash{grid-template-columns:minmax(340px,420px) minmax(0,1fr);align-items:start;gap:28px;display:grid}.dash-side{flex-direction:column;gap:20px;min-width:0;display:flex}.dash .panel-head .seg{margin-left:12px}.dash .panel-head .seg button{height:26px;padding:0 10px;font-size:13px}.month-table{max-height:260px;overflow-y:auto}.link-btn{all:unset;cursor:pointer;color:var(--violet-ink);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 40%, transparent);text-decoration-color:color-mix(in srgb, currentColor 40%, transparent)}.link-btn:hover{text-decoration-color:currentColor}.link-btn:focus-visible{box-shadow:var(--focus);border-radius:3px}@media (width<=1180px){.dash{grid-template-columns:1fr}.receipt{justify-self:center;width:100%;max-width:460px}}.chart{width:100%;position:relative}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--rule);stroke-width:1px;shape-rendering:crispedges}.chart .axis{stroke:var(--rule-strong);stroke-width:1px;shape-rendering:crispedges}.chart .tick,.chart .xlab,.chart .xyear,.chart .cap,.chart .avg text{font-family:var(--sans);fill:var(--ink-2);font-variant-numeric:tabular-nums;font-size:12px}.chart .xyear{fill:var(--ink-3);font-size:11px}.chart .xlab.sel,.chart .cap{fill:var(--ink);font-weight:650}.chart .col.income,.sw.income{fill:var(--series-in);background:var(--series-in)}.chart .col.expenses,.sw.expenses{fill:var(--series-out);background:var(--series-out)}.chart .sel-band{fill:var(--violet-tint)}.chart .hover-band{fill:var(--paper-2)}.chart-legend{color:var(--ink-2);gap:16px;margin:-4px 0 4px;font-size:12px;display:flex}.chart-legend span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.chart .hit{fill:#0000;cursor:pointer;outline:none}.chart .hit:focus-visible{stroke:var(--violet);stroke-width:2px}.chart .nodata{stroke:var(--rule-strong);stroke-width:2px;stroke-dasharray:3 3}.chart .avg line{stroke:var(--ink-3);stroke-width:1px;shape-rendering:crispedges}.chart .avg text{fill:var(--ink-2);paint-order:stroke;stroke:var(--paper);stroke-width:4px;stroke-linejoin:round}.tip{background:var(--ink);color:var(--paper);pointer-events:none;white-space:nowrap;box-shadow:var(--shadow);border-radius:6px;flex-direction:column;align-items:center;padding:6px 10px;display:flex;position:absolute;transform:translate(-50%)}.tip strong{font-size:14px}.tip span{opacity:.8;font-size:12px}.tip-pair{align-items:stretch;gap:4px;padding:8px 12px}.tip-pair dl{grid-template-columns:auto auto;gap:2px 16px;margin:0;display:grid}.tip-pair dl div{display:contents}.tip-pair dt{align-items:center;gap:6px;font-size:12px;display:flex}.tip-pair dd{text-align:right;margin:0;font-size:13px;font-weight:600}.tip-pair .net dt,.tip-pair .net dd{border-top:1px solid color-mix(in srgb, currentColor 25%, transparent);padding-top:3px}.onboard{place-items:center;min-height:calc(100vh - 120px);display:grid}.onboard-copy{flex-direction:column;gap:20px;max-width:620px;display:flex}.onboard-copy h1{letter-spacing:-.02em;font-size:34px;line-height:1.1}.onboard-copy>p{color:var(--ink-2);max-width:58ch;font-size:17px}.onboard-steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.onboard-steps li{align-items:flex-start;gap:12px;display:flex}.onboard-steps svg{color:var(--violet);flex:none;margin-top:2px}.onboard-actions{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.small-print{font-size:13px}.filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.search{flex:260px;align-items:center;max-width:420px;display:flex;position:relative}.search svg{color:var(--ink-3);pointer-events:none;position:absolute;left:12px}.search .input{width:100%;padding-left:36px}.filters-total{margin-left:auto;font-size:13.5px}.more{justify-content:center;padding-top:16px;display:flex}.learn-row{color:var(--violet-ink);flex-wrap:wrap;align-items:center;gap:10px;padding:2px 0 6px;font-size:14px;display:flex}.learn-row .input{width:200px;height:32px;font-family:var(--mono);text-transform:uppercase;font-size:13px;font-stretch:80%}.learn-row .input::placeholder{font-family:var(--sans);text-transform:none;font-size:13.5px}.learn-warn{color:var(--pink-ink);flex-basis:100%;align-items:flex-start;gap:8px;font-size:13px;display:flex}.learn-warn svg{flex:none;margin-top:2px}.learn-row .muted{color:color-mix(in srgb, var(--violet-ink) 75%, var(--ink-2))}table.data.tx td.act{white-space:nowrap}table.data.tx td.act .btn+.icon-btn{margin-left:4px}.done-mark{width:32px;height:32px;color:var(--green-ink);place-items:center;display:inline-grid}.review-intro{font-size:14px}.panel-head .head-action{align-self:center}.account-list{margin:0;padding:0;list-style:none}.account-row{border-bottom:1px solid color-mix(in srgb, var(--rule) 60%, transparent);grid-template-columns:20px minmax(160px,1fr) 120px minmax(180px,auto) auto;align-items:center;gap:16px;padding:10px 0;display:grid}.account-row:last-child{border-bottom:0}.account-row svg{color:var(--ink-2)}.cat-name{background:0 0;border:1px solid #0000;border-radius:6px;min-width:0;margin-left:-8px;padding:4px 8px;font-size:15px;font-weight:600}.cat-name:hover{border-color:var(--rule)}.cat-name:focus-visible{border-color:var(--violet);box-shadow:0 0 0 3px color-mix(in srgb, var(--violet) 25%, transparent)}.row-actions{flex-wrap:wrap;gap:12px;margin-top:14px;display:flex}.row-actions+.notice{margin-top:14px}.measure{max-width:72ch}.danger-zone{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.danger-zone .panel-head{margin-bottom:0}@media (width<=760px){.account-row{grid-template-columns:20px 1fr auto}.account-row>span{display:none}}
