@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");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:Manrope;font-style:normal;font-weight:800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_20dd7e59-module__IrSI9q__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_20dd7e59-module__IrSI9q__variable{--font-sans:"Manrope", "Manrope Fallback"}
@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4ba802ed8e67eac5-s.341_rbs6dql3t.woff2)format("woff2");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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d7a0600e467cf0bd-s.40d3ll7mho212.woff2)format("woff2");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:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dc0d9adbac686440-s.p.3-4lwpipb4a4k.woff2)format("woff2");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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b8f2b92a9960dd69-s.37aqrzupgb8zi.woff2)format("woff2");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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/28e60ca39c9ae554-s.0e_5-ojqbtsw9.woff2)format("woff2");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:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/8d05cfa5faa8406c-s.p.2p-978ij53_v6.woff2)format("woff2");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:Space Mono Fallback;src:local(Arial);ascent-override:81.58%;descent-override:26.3%;line-gap-override:0.0%;size-adjust:137.28%}.space_mono_7f9f0134-module__VYKLqG__className{font-family:Space Mono,Space Mono Fallback;font-style:normal}.space_mono_7f9f0134-module__VYKLqG__variable{--font-mono:"Space Mono", "Space Mono Fallback"}
:root{--bg:#15181c;--surface:#1e2228;--surface-2:#262b32;--border:#333941;--text:#edeef2;--text-dim:#9aa1ac;--text-faint:#666d78;--accent:#a78bfa;--accent-dim:#4a3d80;--good:#3fa796;--good-dim:#1e3d38;--bad:#e0574a;--radius:14px;--mono:var(--font-mono), "SFMono-Regular", Menlo, monospace;--sans:var(--font-sans), -apple-system, sans-serif}*{box-sizing:border-box}html{scroll-padding-top:70px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:20px 14px 60px}.wrap{max-width:640px;margin:0 auto}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-faint);margin:0 0 4px;font-size:11px}h1{font-family:var(--sans);letter-spacing:-.01em;margin:0 0 2px;font-size:24px;font-weight:800}.subhead{color:var(--text-dim);margin:0 0 6px;font-size:13px}.save-status{font-size:11px;font-family:var(--mono);color:var(--text-faint);min-height:14px;margin:0 0 20px}.save-status.err{color:var(--bad)}.save-status.ok{color:var(--good)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:14px;padding:18px}.card h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);margin:0 0 14px;font-size:12px;font-weight:700}.gauge-card{text-align:center;padding:14px 14px 12px}.gauge-wrap{width:176px;margin:0 auto;position:relative}.gauge-wrap svg{margin:0 auto;display:block}.gauge-center{text-align:center;margin-top:6px}.gauge-value{font-family:var(--mono);font-size:26px;font-weight:700}.gauge-goal{color:var(--text-dim);justify-content:center;align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex;position:relative}.info-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-faint);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;width:15px;height:15px;padding:0;font-size:10px;line-height:1;display:flex}.info-btn:hover{color:var(--text);border-color:var(--text-dim)}.info-popover{z-index:5;background:var(--surface-2);border:1px solid var(--border);width:230px;max-width:70vw;color:var(--text-faint);text-align:left;border-radius:8px;padding:10px 12px;font-size:11px;line-height:1.5;position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 18px #00000059}.gauge-status{margin-top:6px;font-size:12px;font-weight:700}.gauge-status.good{color:var(--good)}.gauge-status.pending{color:var(--accent)}.gauge-status.past{color:var(--text-dim)}.week-nav{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.nav-btn{background:var(--surface-2);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:16px;line-height:1;display:flex}.nav-btn:hover:not(:disabled){color:var(--text);border-color:var(--text-dim)}.nav-btn:disabled{opacity:.35;cursor:default}.week-nav-label{flex-direction:column;align-items:center;gap:3px;display:flex}.week-nav-label span{font-family:var(--mono);color:var(--text-dim);font-size:12px}.week-today-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:10px;text-decoration:underline}.legend{flex-wrap:wrap;justify-content:center;gap:16px;margin-top:12px;display:flex}.legend-item{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.dot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.legend-item b{color:var(--text);font-family:var(--mono);font-weight:700}.form-row{flex-wrap:wrap;gap:8px;display:flex}.field{box-sizing:border-box;flex-direction:column;flex:140px;gap:5px;min-width:140px;display:flex}.date-app-group{flex:296px;gap:8px;min-width:0;display:flex}.date-app-group .field{flex:140px;min-width:140px}@media (max-width:380px){.form-row{flex-flow:column}.form-row .field{width:100%;min-width:0}}@media (max-width:600px){.date-app-group{flex-direction:column;align-items:stretch}.date-app-group .field{flex:none;width:100%;min-width:0}input[type=date]{font-size:13px}}label{color:var(--text-dim);font-size:11px}input,select{background:var(--surface-2);border:1px solid var(--border);color:var(--text);font-family:var(--sans);box-sizing:border-box;border-radius:8px;width:100%;min-width:0;max-width:100%;padding:9px 10px;font-size:14px}input:focus,select:focus,button:focus{outline:2px solid var(--accent);outline-offset:1px}input[type=date]{font-family:var(--sans)}.input-clip{box-sizing:border-box;border-radius:8px;width:100%;padding:2px;overflow:hidden}.input-clip input,.input-clip select{border-radius:8px}.btn{background:var(--accent);color:#211539;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:9px 16px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .12s,filter .12s;display:inline-block}.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.6;cursor:default;transform:none}.btn-ghost{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;border-radius:7px;padding:6px 10px;font-size:12px;text-decoration:none;transition:color .12s,border-color .12s;display:inline-block}.btn-ghost:hover{color:var(--text);border-color:var(--text-dim)}.btn:focus-visible,.btn-ghost:focus-visible,.link-btn-inline:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge{background:var(--surface);color:var(--text-dim);font-size:10px;font-family:var(--mono);border-radius:5px;padding:2px 6px}.payday-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:9px 0;font-size:13px;display:flex}.payday-row:last-child{border-bottom:none}.payday-date{color:var(--text-dim);font-family:var(--mono);align-items:center;gap:8px;min-width:90px;font-size:12px;display:flex}.payday-amount{font-family:var(--mono);font-weight:700}.empty-note{color:var(--text-faint);text-align:center;padding:10px 0;font-size:12px}.balance-neg{color:var(--bad)}.balance-total-row{border-top:1px solid var(--border);border-bottom:none;margin-top:2px;padding-top:12px;font-size:14px;font-weight:700}.balance-total-row .payday-amount{font-size:16px}details{margin-bottom:14px}summary{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:14px 18px;font-size:12px;font-weight:700;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary .chev{color:var(--text-faint);transition:transform .15s}details[open] summary .chev{transform:rotate(180deg)}details[open] summary{border-bottom-right-radius:0;border-bottom-left-radius:0}.details-body{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-top:none;padding:14px 18px}.log-row{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 0;font-size:13px;display:flex}.log-row:last-child{border-bottom:none}.log-date{font-family:var(--mono);color:var(--text-dim);flex:none;width:66px;font-size:12px}.log-app{flex:1;align-items:center;gap:7px;display:flex}.log-amount{font-family:var(--mono);font-weight:700}.log-edit-btn{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:14px;line-height:1}.log-edit-btn:hover{color:var(--accent)}.log-del{color:var(--text-faint);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:16px;line-height:1}.log-del:hover{color:var(--bad)}.log-row-edit{flex-wrap:wrap;gap:6px;padding:8px 0}.log-row-edit input,.log-row-edit select{padding:6px 8px;font-size:12px}.log-edit-date{flex:110px;min-width:110px}.log-edit-app{flex:100px;min-width:100px}.log-edit-app-locked{color:var(--text-faint);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.log-edit-value{flex:80px;min-width:80px}.log-save,.log-cancel{cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-size:16px;line-height:1}.log-save{color:var(--good)}.log-cancel{color:var(--text-faint)}.log-cancel:hover{color:var(--bad)}.settings-app{border-bottom:1px solid var(--border);margin-bottom:14px;padding-bottom:14px}.settings-app-title{align-items:center;gap:7px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.app-remove-btn{border:1px solid var(--border);color:var(--text-faint);cursor:pointer;background:0 0;border-radius:6px;margin-left:auto;padding:3px 8px;font-size:11px;font-weight:400}.app-remove-btn:hover{color:var(--bad);border-color:var(--bad)}.settings-grid{flex-wrap:wrap;gap:8px;display:flex}.add-app-box{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;margin-bottom:14px;padding:12px}.settings-grid-add input[type=color]{cursor:pointer;height:34px;padding:2px}.hint{color:var(--text-faint);margin-top:4px;font-size:11px;line-height:1.5}.goal-row{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.goal-row label{color:var(--text);font-size:13px}.backup-row{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:14px;display:flex}.pin-change-row,.expense-rules-section{border-top:1px solid var(--border);margin-top:16px;padding-top:14px}.rule-active-toggle{align-items:center;height:38px;display:flex}.rule-active-toggle input{width:20px;height:20px;accent-color:var(--accent);cursor:pointer}.hint-err{color:var(--bad)}.hint-ok{color:var(--good)}footer{text-align:center;color:var(--text-faint);margin-top:24px;font-size:11px;line-height:1.6}.link-btn-inline{color:var(--accent);transition:color .12s}.link-btn-inline:hover{text-decoration:underline}.price-tag{font-family:var(--mono);margin:4px 0 6px;font-size:28px;font-weight:700}.price-note{font-family:var(--sans);color:var(--text-dim);font-size:12px;font-weight:400}.install-platform{margin:16px 0 6px;font-size:13px;font-weight:700}.install-steps{color:var(--text-dim);margin:0 0 4px;padding-left:20px;font-size:13px;line-height:1.6}.install-steps li{margin-bottom:2px}.app-nav{z-index:20;-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--border);background:#15181ce0;justify-content:space-between;align-items:center;gap:12px;margin:0 -14px 20px;padding:14px;display:flex;position:sticky;top:0}.app-nav .brand{letter-spacing:-.015em;font-size:25px;font-weight:800}.app-nav .nav-actions{align-items:center;gap:10px;display:flex}.app-nav .btn-ghost{padding:7px 12px;font-size:13px;text-decoration:none}.app-nav .btn-nav{padding:7px 14px;font-size:13px}.app-nav .session-name{color:var(--text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:120px;font-size:12px;overflow:hidden}.app-nav .btn-logout{min-width:44px;min-height:44px;padding:10px 18px;font-size:14px}.app-header{z-index:30;-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#15181ce6;margin:0 -14px 20px;position:sticky;top:0}.app-header .app-nav{z-index:auto;background:0 0;border-bottom:none;margin:0;padding:12px 14px 10px;position:relative;top:auto}.tab-bar{border-top:1px solid var(--border);align-items:stretch;display:flex}.tab-btn{border:none;border-right:1px solid var(--border);min-height:48px;color:var(--text-dim);font-family:var(--sans);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-size:11px;font-weight:700;transition:color .15s,background .15s;display:flex}.tab-btn:last-child{border-right:none}.tab-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.tab-btn .tab-icon{font-size:18px;line-height:1}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--accent);background:#a78bfa14}.tab-panel{display:block}.tab-panel .card:last-child{margin-bottom:0}.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(16px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.hero{text-align:center;margin:8px 0 28px}.hero-img-wrap{border-radius:var(--radius);border:1px solid var(--border);max-width:300px;margin:0 auto 18px;position:relative;overflow:hidden}.hero-img-wrap img{width:100%;height:auto;display:block}.hero-wordmark{color:#fff;letter-spacing:-.01em;text-shadow:0 2px 10px #0009;text-align:left;background:linear-gradient(#0000,#000c);padding:28px 16px 14px;font-size:21px;font-weight:800;line-height:1;position:absolute;bottom:0;left:0;right:0}.hero h1{margin:0 0 8px;font-size:26px;line-height:1.15}.hero .subhead{max-width:420px;margin-left:auto;margin-right:auto;font-size:14px}.apps-split{gap:8px;margin:28px 0 8px;display:flex}.app-block{text-align:center;color:#171a1f;cursor:default;border-radius:10px;flex:1;padding:18px 6px;font-size:13px;font-weight:800;transition:transform .15s,filter .15s}.app-block:hover{filter:brightness(1.06);transform:translateY(-3px)scale(1.03)}.apps-caption{text-align:center;color:var(--text-dim);margin:0 0 28px;font-size:13px}.pillars{flex-direction:column;gap:22px;margin:0 0 32px;display:flex}.pillar{text-align:center}.pillar-img-wrap{aspect-ratio:3/4;border-radius:var(--radius);background:var(--surface-2);border:1px solid var(--border);max-width:260px;margin:0 auto 10px;position:relative;overflow:hidden}.pillar-img-wrap img{object-fit:cover}.pillar-num{z-index:1;background:var(--accent);color:#211539;width:24px;height:24px;font-family:var(--mono);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:absolute;top:8px;left:8px}.pillar-title{font-size:14px;font-weight:700}@media (min-width:600px){.pillars{flex-direction:row}.pillar{flex:1}}.proof{text-align:center;margin:8px 0 28px}.proof h2{color:var(--text);text-transform:none;letter-spacing:normal;margin:0 0 6px;font-size:22px;font-weight:800;line-height:1.2}.price-cta{text-align:center}.price-cta .btn{margin-top:12px;text-decoration:none;display:block}.cta-row{text-align:center;flex-direction:column;align-items:center;gap:8px;margin:8px 0 32px;display:flex}.btn-cta{border-radius:10px;min-width:220px;min-height:48px;padding:14px 28px;font-size:16px;text-decoration:none;display:inline-block;box-shadow:0 6px 18px #a78bfa40}.cta-row .hint{max-width:360px;margin:0}.testimonials{text-align:center;margin:8px 0 32px}.testimonials h2{color:var(--text);text-transform:none;letter-spacing:normal;margin:0 0 16px;font-size:20px;font-weight:800}.testimonial-list{flex-direction:column;gap:10px;display:flex}.testimonial{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;padding:16px 18px}.testimonial-quote{color:var(--text);margin:0 0 10px;font-size:13px;line-height:1.55}.testimonial-author{color:var(--text-dim);margin:0;font-size:12px}.testimonial-author b{color:var(--text)}@media (min-width:600px){.testimonial-list{flex-direction:row}.testimonial{flex:1}}.landing-footer{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:6px;margin-top:32px;padding-top:16px;display:flex}.landing-footer p{margin:0}.login-wrap{max-width:320px;margin:18vh auto 0;padding:0 14px}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.login-card h1{margin-bottom:4px;font-size:18px}.login-card p{color:var(--text-dim);margin:0 0 16px;font-size:13px}.login-error{color:var(--bad);min-height:14px;margin-top:8px;font-size:12px}
