@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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{--bg:#08090a;--surface:#111316;--surface-2:#1a1d21;--border:#1c1f23;--edge:#2a2e33;--text:#eceef0;--text-muted:#8b9198;--faint:#4d535b;--accent:#d4ff3a;--on-accent:#0a0b0c;--income:#4be3a0;--danger:#ff6b5e;--warning:#ffb547;--font:"Geist Variable", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:"Geist Mono Variable", ui-monospace, "SF Mono", Menlo, monospace;--gap:16px;--nav-h:76px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{touch-action:manipulation}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0}h1,h2,h3,p,dl,dd{margin:0}h1{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.2}h2{font-size:17px;font-weight:700}h3{color:var(--text-muted);font-size:13px;font-weight:600}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;font-size:12px}.muted{color:var(--text-muted)}.small{font-size:13px}.in{color:var(--income)}.over{color:var(--danger)}.risk{color:var(--warning)}.error{color:var(--danger)}.center{padding:var(--gap);text-align:center}.ellipsis{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}svg{flex:none}button{font:inherit;color:inherit}input,select{width:100%;min-height:48px;font:inherit;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;padding:0 14px;font-size:16px}input[type=checkbox]{appearance:none;background:var(--surface-2);cursor:pointer;border-radius:13px;flex:none;width:44px;height:26px;min-height:26px;padding:0;position:relative}input[type=checkbox]:before{content:"";background:var(--text-muted);border-radius:50%;width:20px;height:20px;position:absolute;top:2px;left:2px}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:before{background:var(--on-accent);transform:translate(18px)}input[type=checkbox]:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--border)}input::placeholder{color:var(--text-muted)}input:focus-visible,select:focus-visible,.select:focus-visible{border-color:var(--accent);outline:none}.btn{min-height:44px;color:var(--text);border:1px solid var(--edge);cursor:pointer;background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:0 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.btn.danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn.file{cursor:pointer;position:relative}.btn.file input{opacity:0;cursor:pointer;position:absolute;inset:0}.btn.file:focus-within{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.6;cursor:default}.icon-btn{width:44px;height:44px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:22px;text-decoration:none;display:grid}.icon-btn[aria-hidden=true]{visibility:hidden}.refresh{z-index:6;top:calc(20px + env(safe-area-inset-top));right:calc(var(--gap) - 11px + env(safe-area-inset-right));position:absolute}.refresh:disabled{opacity:.5;cursor:default}.refresh .spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login{max-width:360px;min-height:100dvh;padding:calc(var(--gap) + env(safe-area-inset-top)) var(--gap) calc(var(--gap) + env(safe-area-inset-bottom));justify-content:center;gap:var(--gap);flex-direction:column;margin:0 auto;display:flex}.qr{background:#fff;border-radius:12px;align-self:center;width:200px;height:200px;padding:8px}.secret{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.login .tile{background:var(--accent);width:52px;height:52px;color:var(--on-accent);border-radius:16px;font-size:28px}.login label,.form label:not(.field),.card>label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.shell{min-height:100dvh}main{padding:calc(20px + env(safe-area-inset-top)) calc(var(--gap) + env(safe-area-inset-right)) calc(var(--nav-h) + 24px + env(safe-area-inset-bottom)) calc(var(--gap) + env(safe-area-inset-left))}main>*+*{margin-top:24px}main>h1{align-items:center;min-height:44px;display:flex}section>*+*{margin-top:12px}section>.section-head+*{margin-top:0}h3+.group{margin-top:8px}nav{z-index:5;min-height:var(--nav-h);padding:0 env(safe-area-inset-right) max(12px, env(safe-area-inset-bottom)) env(safe-area-inset-left);background:var(--bg);border-top:1px solid var(--border);grid-template-columns:repeat(5,1fr);align-items:center;display:grid;position:fixed;inset:auto 0 0}nav a{min-height:52px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:11px;text-decoration:none;display:flex}nav a svg{font-size:24px}nav a[aria-current=page]{color:var(--text);position:relative}nav a[aria-current=page]:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;position:absolute;bottom:0}nav .nav-new{background:var(--accent);width:52px;height:44px;color:var(--on-accent);border-radius:12px;justify-content:center;margin:0 auto}nav .nav-new svg{font-size:26px}.top{justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding-right:44px;display:flex}.top h1{letter-spacing:-.01em;font-size:17px;font-weight:600}.period{justify-content:space-between;align-items:center;display:flex}.period strong{font-weight:600}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.section-head h2{font-size:13px;font-weight:600}.section-head a{color:var(--text-muted);font-size:13px;text-decoration:none}.group{background:var(--surface);border-radius:16px;overflow:hidden}.group>*+*{border-top:1px solid var(--border)}.group :focus-visible{outline-offset:-2px}.card{background:var(--surface);border-radius:16px;flex-direction:column;gap:12px;padding:16px;display:flex}.empty{color:var(--text-muted);padding:14px}main .group{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:0 0;border-radius:0;overflow:visible}main .card{background:0 0;border-radius:0;padding:0}main .row,main .yr summary{padding-left:0;padding-right:0}main .row-actions{padding:0 0 12px}main .empty{padding-left:0;padding-right:0}.stack,.cards{flex-direction:column;gap:24px;display:flex}.cards>section{margin-top:0}.row{width:100%;min-height:60px;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.row-link{min-width:0;color:var(--text);flex:1;align-items:center;gap:12px;text-decoration:none;display:flex}.row .main{flex:1;min-width:0}.line{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.sub{color:var(--text-muted);font-size:13px;display:block}.sub.risk{color:var(--warning)}.amt{text-align:right;white-space:nowrap;flex:none;font-weight:600}.amt .sub{font-weight:400}.line.sub{flex-wrap:wrap;gap:0 12px;display:flex}.line.sub>:last-child{margin-left:auto}.transfer{color:var(--text-muted)}.tile{background:var(--surface);border:1px solid var(--border);width:38px;height:38px;color:var(--text);border-radius:11px;flex:none;place-items:center;font-size:20px;display:grid}.tile.sm{border-radius:9px;width:28px;height:28px;font-size:16px}@media (hover:hover){a.row:hover,button.row:hover,.tbl tbody tr:hover{background:var(--surface-2)}}.hero-link{color:var(--text);text-decoration:none;display:block}.rule{border-top:1px solid var(--border);padding-top:20px}section.rule>*+*{margin-top:10px}.next-line .title,.next-line .amt{font-size:17px}.btn.wide{width:100%;min-height:48px;display:flex}.top .sub{margin-top:2px}.big{letter-spacing:-.035em;font-variant-numeric:normal;margin:4px 0 6px;font-size:48px;font-weight:600;line-height:1.05}.notice{color:var(--text);border:1px solid var(--edge);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;text-decoration:none;display:flex}.notice svg{color:var(--accent);font-size:22px}.notice.warn svg{color:var(--warning)}.totals{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:12px 16px;display:grid}.totals div{flex-direction:column;display:flex}.totals dt{color:var(--text-muted);font-size:13px}.totals dd{font-weight:600}.figure{letter-spacing:-.035em;font-size:40px;font-weight:600;line-height:1.1}.bar{background:var(--surface-2);border-radius:2px;height:4px;margin-top:8px;display:block;position:relative}.bar>span{background:var(--status,var(--text));border-radius:2px;height:100%;display:block}.bar>i{background:var(--accent);width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}[data-status=at-risk]{--status:var(--warning)}[data-status=over]{--status:var(--danger)}[data-status=reached]{--status:var(--income)}.status{color:var(--status,var(--text-muted));font-weight:600}[data-status=on-track] .status,[data-status=goal] .status{color:var(--text-muted)}.row-actions{gap:8px;padding:0 14px 12px;display:flex}.row-actions .btn{flex:1}.filters{grid-template-columns:1fr 1fr;gap:12px;display:grid}.day{top:env(safe-area-inset-top);z-index:1;font-family:var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted);background:var(--bg);justify-content:space-between;padding:8px 0;font-size:12px;font-weight:400;display:flex;position:sticky}.day-block+.day-block{margin-top:20px}.tbl{border-collapse:collapse;width:100%}.tbl th{text-align:left;color:var(--text-muted);padding:12px 14px;font-size:13px;font-weight:600}.tbl td{border-top:1px solid var(--border);padding:10px 14px}.tbl .amt{text-align:right}.tbl tbody tr{cursor:pointer}.tbl td a{color:var(--text);text-decoration:none}.cell{align-items:center;gap:10px;display:flex}.cal-layout,.cal-main,.day-panel{flex-direction:column;gap:16px;display:flex}.cal-main{min-width:0}.cal-notes{flex-direction:column;gap:8px;display:flex}.mcal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.mcal .wd{text-align:center;color:var(--text-muted);padding:6px 0;font-size:12px}.mday{min-height:60px;font:inherit;text-align:left;color:var(--text);background:color-mix(in srgb, var(--text-muted) var(--tint,0%), var(--surface));cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:6px 5px;display:flex;position:relative}.mday[data-tint="1"]{--tint:10%}.mday[data-tint="2"]{--tint:19%}.mday[data-tint="3"]{--tint:29%}.mday[data-tint="4"]{--tint:40%}.mday .d{border-radius:10px;margin-left:-4px;padding:0 5px;font-size:14px;font-weight:600;line-height:20px}.mday .s{white-space:nowrap;font-size:11px;font-weight:600;line-height:14px}.mday[data-future] .d{color:var(--text-muted)}.mday[data-today] .d{color:var(--on-accent);background:var(--accent)}.mday[aria-pressed=true]{border-color:var(--text)}.mday[data-start]:before{content:"";background:var(--accent);border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:-3px}.pips{flex-direction:column;gap:2px;display:flex;position:absolute;top:6px;right:5px}.pip{border:1.5px solid var(--surface);background:var(--text-muted);vertical-align:middle;border-radius:50%;width:9px;height:9px;display:inline-block}.pip[data-pip=paid]{border-color:var(--text-muted);background:0 0}.pip[data-pip=due]{background:var(--accent)}.pip[data-pip=overdue]{background:var(--danger)}.pip[data-pip=income]{background:var(--income)}.bar-key{background:var(--accent);vertical-align:middle;border-radius:1px;width:2px;height:12px;margin:0 6px 0 3px;display:inline-block}.page-head{align-items:center;gap:12px;min-height:44px;padding-right:44px;display:flex}.page-head .head-title{flex:1;min-width:0}.page-head h1{text-overflow:ellipsis;white-space:nowrap;letter-spacing:-.01em;font-size:17px;font-weight:600;overflow:hidden}.legend i[data-s=paid]{background:var(--faint)}.legend i[data-s=next]{background:var(--accent)}.legend i[data-s=overdue]{background:var(--danger)}.legend i[data-s=later]{background:var(--surface-2)}.yr summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 14px;font-weight:600;list-style:none;display:flex}.yr summary::-webkit-details-marker{display:none}.yr>*+*{border-top:1px solid var(--border)}.yr.plan summary{align-items:flex-start;padding-top:12px;padding-bottom:12px}.yr summary .main{flex:1;min-width:0}.yr summary .amt{font-weight:600}.yr.plan summary:after{margin-top:2px}.yr:not([open]) summary:after{content:"+";color:var(--text-muted)}.yr[open] summary:after{content:"–";color:var(--text-muted)}.yr summary>.muted{margin-left:auto;font-size:13px;font-weight:400}.debt-links{gap:12px;display:flex}.debt-links .btn{flex:1}.tick-box{color:var(--text-muted);flex:none;font-size:24px}.row[aria-pressed=true] .tick-box{color:var(--accent)}button.row:disabled{cursor:default;opacity:.6}.pay-bar{bottom:calc(var(--nav-h) + 8px + env(safe-area-inset-bottom));z-index:2;background:var(--surface);border:1px solid var(--border);border-radius:16px;gap:12px;padding:12px;display:flex;position:sticky}.pay-bar .primary{flex:1}.ticks{grid-template-columns:repeat(var(--cols,40), minmax(0, 1fr));gap:2px;margin-top:12px;display:grid}.ticks i{background:var(--surface-2);border-radius:1px;height:6px}.ticks i[data-s=paid]{background:var(--faint)}.ticks i[data-s=next]{background:var(--accent)}.ticks i[data-s=overdue]{background:var(--danger)}.ticks.lg{gap:3px}.ticks.lg i{height:12px}.wallet{display:grid}.wc{height:150px;font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--edge);cursor:pointer;border-radius:18px;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:2px 12px;margin-top:-86px;padding:14px 16px;text-decoration:none;display:grid;position:relative}.wc:first-child{margin-top:0}.wc .n{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.wc .v{text-align:right;font-weight:600}.wc .k{color:var(--text-muted)}.wc>.k:nth-child(3){grid-column:1/-1}.wc.front{cursor:default;background:radial-gradient(#ffffff0e 1px,#0000 1.2px) 0 0/9px 9px,linear-gradient(160deg,#1c1f23,#0e1012);border-color:#353a40;height:auto;padding-bottom:16px}a.wc.front{cursor:pointer}.wc.front+.wc{margin-top:10px}.wc.front .k{text-align:right}.wc .v-big{letter-spacing:-.03em;grid-column:1/-1;margin:14px 0 2px;font-size:30px;font-weight:600}.wc .k2{color:var(--text-muted);grid-column:1/-1;font-size:13px}.wc .bar,.wc .ticks,.wc .card-actions{grid-column:1/-1}.wc .bar{margin-top:14px}.due{color:var(--accent)}.card-actions{gap:8px;margin-top:14px;display:flex}.card-actions .btn{white-space:nowrap;flex:1;min-height:40px}.figures{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.figures>*{color:var(--text);border-left:1px solid var(--border);flex-direction:column;padding:0 10px;text-decoration:none;display:flex}.figures>:first-child{border-left:0;padding-left:0}.figures b{white-space:nowrap;margin:2px 0;font-size:15px;font-weight:600}.text-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.legend{color:var(--text-muted);flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}.legend i{border-radius:2px;width:10px;height:10px;margin-right:6px;display:inline-block}.cols{gap:8px;display:flex}.cols a{min-width:0;color:var(--text);flex-direction:column;flex:1;align-items:center;gap:6px;text-decoration:none;display:flex}.plot{border-bottom:1px solid var(--border);justify-content:center;align-items:flex-end;gap:2px;width:100%;height:140px;display:flex}.plot>span{border-radius:4px 4px 0 0;width:min(24px,45%)}.cols a .small{white-space:nowrap}.cols a:hover .plot{background:var(--surface-2)}.lc svg{width:100%;height:auto;display:block}.lc a{cursor:pointer}.lc .hit{fill:#0000}.lc .dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px;opacity:0}.lc a:hover .dot,.lc a:focus-visible .dot{opacity:1}.lc a:focus-visible{outline:none}.lc a:focus-visible .dot{stroke:var(--text)}.between{justify-content:space-between;gap:12px;display:flex}dialog{background:var(--bg);width:100%;max-width:none;height:100dvh;max-height:none;color:var(--text);border:0;margin:0;padding:0}dialog::backdrop{background:#0009}.sheet{min-height:100%;padding:calc(8px + env(safe-area-inset-top)) calc(var(--gap) + env(safe-area-inset-right)) 0 calc(var(--gap) + env(safe-area-inset-left))}.form{min-height:calc(100dvh - 8px - env(safe-area-inset-top));flex-direction:column;gap:20px;display:flex}.form fieldset{border:0;min-width:0;margin:0;padding:0}.form legend{color:var(--text-muted);margin-bottom:8px;padding:0;font-size:13px}.form-head{text-align:center;grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.form-head h1{letter-spacing:0;font-size:17px;font-weight:700}.two{gap:var(--gap);grid-template-columns:1fr 1fr;display:grid}.check{align-items:center;min-height:44px;color:var(--text)!important;flex-direction:row!important;font-size:15px!important}.actions{justify-content:flex-end;gap:12px;margin-top:auto;display:flex}.form>.actions{padding:12px 0 calc(12px + env(safe-area-inset-bottom));background:var(--bg);position:sticky;bottom:0}.actions .primary{border-radius:14px;flex:1;min-height:52px;font-size:16px}.confirm{padding:var(--gap);border:1px solid var(--danger);border-radius:16px}.confirm p{margin-bottom:12px}.field{min-height:52px;color:var(--text);align-items:center;gap:12px;padding:0 14px;font-size:15px;display:flex}.field svg{color:var(--text-muted);font-size:20px}.field input{background:0 0;border:0;border-radius:0;flex:1;min-height:52px;padding:0}.field:focus-within,button.field:focus-visible{background:var(--surface-2);outline:none}button.field{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:0}.grow{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.select{width:100%;min-height:48px;font:inherit;text-align:left;color:var(--text);background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:0 14px;font-size:16px;display:flex}.select svg{color:var(--text-muted);font-size:18px}.select:disabled{opacity:.6;cursor:default}.tick{color:var(--accent);font-size:20px}.swatch{border-radius:50%;flex:none;width:20px;height:20px}.swatches{grid-template-columns:repeat(4,1fr);justify-items:center;gap:12px;padding:8px 0;display:grid}.swatch.lg{width:56px;height:56px;color:var(--on-accent);cursor:pointer;border:2px solid #0000;place-items:center;padding:0;font-size:24px;display:grid}.swatch.lg[aria-pressed=true]{border-color:var(--text)}dialog.pop{background:var(--surface);border-radius:20px 20px 0 0;flex-direction:column;width:100%;height:auto;max-height:min(82dvh,680px);inset:auto 0 0}dialog.pop[open]{display:flex}dialog.pop::backdrop{background:#0009}.pop-head{justify-content:space-between;align-items:center;padding:12px 8px 4px 20px;display:flex}.pop-body{overscroll-behavior:contain;padding:8px 12px calc(16px + env(safe-area-inset-bottom));overflow-y:auto}.pop-body .group,.pop-body .card{background:var(--bg)}.cal-head{justify-content:space-between;align-items:center;display:flex}.cal-grid{grid-template-columns:repeat(7,1fr);gap:2px;margin-top:4px;display:grid}.cal-grid .wd{text-align:center;color:var(--text-muted);padding:8px 0;font-size:12px}.cal-day{min-height:44px;font:inherit;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;padding:0}.cal-day[data-today]{border-color:var(--border);color:var(--accent);font-weight:600}.cal-day[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);font-weight:700}.cal .actions{justify-content:space-between;margin-top:12px}.cal .actions .btn{flex:1}.amount-field{text-align:center;align-items:center;padding-top:4px}.amount-in{border-bottom:2px solid #0000;justify-content:center;align-items:baseline;gap:6px;max-width:100%;display:flex}.amount-in:focus-within{border-bottom-color:var(--accent)}.amount-in .cur{color:var(--text-muted);font-size:24px;font-weight:500}.amount-in input{letter-spacing:-.02em;text-align:center;background:0 0;border:0;border-radius:0;outline:none;width:1ch;max-width:100%;min-height:64px;padding:0;font-size:44px;font-weight:750}.hint{color:var(--text-muted);margin-top:8px;font-size:13px}.hint strong{color:var(--text)}.hint.over{color:var(--danger)}.seg{border:1px solid var(--edge);background:0 0;border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.seg button{min-height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--text);font-weight:600}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface);min-height:40px;color:var(--text);border:1px solid var(--border);white-space:nowrap;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.chip svg{color:var(--text-muted);font-size:18px}.chip[aria-pressed=true],.cat[aria-pressed=true],.pick[aria-pressed=true]{border-color:var(--accent);font-weight:600}.chip[aria-pressed=true] svg{color:var(--text)}.cats{grid-template-columns:repeat(4,1fr);gap:8px 2px;display:grid}.cat{letter-spacing:-.01em;text-align:center;overflow-wrap:anywhere;min-height:76px;color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:10px 0;font-size:12px;line-height:1.2;display:flex}.cat[aria-pressed=true]{color:var(--text)}.picks{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;display:grid}.pick{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:14px;place-items:center;height:56px;padding:0;display:grid}.toast{left:var(--gap);right:var(--gap);bottom:calc(var(--nav-h) + var(--gap) + env(safe-area-inset-bottom));z-index:10;padding:6px 6px 6px var(--gap);background:var(--surface-2);border:1px solid var(--border);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;display:flex;position:fixed}@media (prefers-reduced-motion:no-preference){main:not(.seen){animation:.18s ease-out screen-in}main:not(.seen) .bar>span{transform-origin:0;animation:.5s cubic-bezier(.2,.8,.2,1) both grow}.toast{animation:.16s ease-out rise}input[type=checkbox],input[type=checkbox]:before{transition:transform .12s ease-out,background-color .12s ease-out}.btn,.chip,.cat,.pick,.seg button,.icon-btn,nav a,.cal-day,.mday,.select,.field,a.row,button.row{transition:transform .12s ease-out,background-color .12s ease-out,border-color .12s ease-out}.btn:active,.chip:active,.cat:active,.pick:active,.seg button:active,.icon-btn:active,nav a:active,.cal-day:active,.mday:active,.select:active{transform:scale(.96)}a.row:active,button.row:active{background:var(--surface-2)}dialog{transition:opacity .16s ease-out,transform .16s ease-out}@starting-style{dialog[open]{opacity:0;transform:translateY(16px)}}dialog.pop{transition:opacity .16s ease-out,transform .2s cubic-bezier(.2,.8,.2,1)}@starting-style{dialog.pop[open]{opacity:0;transform:translateY(24px)}}dialog.pop.leaving{opacity:0;transform:translateY(24px)}dialog.pop::backdrop{transition:opacity .16s ease-out}@starting-style{dialog.pop[open]::backdrop{opacity:0}}dialog.pop.leaving::backdrop{opacity:0}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}}@media (width<=1023px){.desk{display:none}}@media (width>=1024px){.phone-only{display:none}main{max-width:1200px;margin-left:240px;padding:32px}.cards{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:32px;display:grid}.cards.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stack{max-width:640px}.cal-layout{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:32px;display:grid}.mday{min-height:84px;padding:8px 10px}.mday .d{margin-left:-5px}.mday .s{font-size:12px}.pips{flex-direction:row;gap:3px;top:10px;right:10px}.day-panel{position:sticky;top:32px}.pay-bar{bottom:16px}.cards>.figures{grid-column:1/-1;max-width:640px}nav a[aria-current=page]:after{display:none}dialog{border-left:1px solid var(--border);width:440px;margin:0 0 0 auto}dialog.pop{border:1px solid var(--border);border-radius:16px;width:380px;height:fit-content;margin:auto;inset:0}@media (prefers-reduced-motion:no-preference){@starting-style{dialog[open]{transform:translate(24px)}}}.toast{width:360px;bottom:32px;left:auto;right:32px}.shell>.refresh{top:var(--gap);right:auto;left:calc(240px - var(--gap) + 11px - 44px);position:fixed}nav{width:240px;padding:calc(var(--gap) + 52px) var(--gap) var(--gap);border-top:0;border-right:1px solid var(--border);flex-direction:column;align-items:stretch;gap:4px;display:flex;inset:0 auto 0 0}nav a{border-radius:12px;flex-direction:row;justify-content:flex-start;gap:12px;min-height:44px;padding:0 12px;font-size:15px}nav a[aria-current=page]{background:var(--surface)}nav .nav-new{order:-1;width:auto;height:44px;margin:0 0 12px;font-weight:700}nav .nav-new svg{font-size:22px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
