@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/ffc7b595a48b6846-s.2k_u76ydap2io.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:200 800;font-display:swap;src:url(../media/276a8f4fe816cb6b-s.31_i6ngnt52xa.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:200 800;font-display:swap;src:url(../media/82b67ad56d243b47-s.2p5l8hwveaaiz.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:200 800;font-display:swap;src:url(../media/33ee198db9637ef4-s.1_g-53zz09yvy.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:200 800;font-display:swap;src:url(../media/fbb7028efdf70529-s.2gp_y-cmv6-ey.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/82450a180bcad83c-s.p.2ywnh8m32q6p0.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%}._4wiJXW_className{font-family:Manrope,Manrope Fallback;font-style:normal}._4wiJXW_variable{--font-sans:"Manrope", "Manrope Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--text-xs:.75rem;--text-sm:.875rem;--text-md:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--text-hero:clamp(2.5rem, 8vw, 4rem);--radius-sm:.375rem;--radius-md:.75rem;--color-bg:#f5f6f1;--color-surface:#fff;--color-surface-muted:#eef0e8;--color-text:#1a211c;--color-text-muted:#56615a;--color-border:#d8dcd0;--color-accent:#0f6b4c;--color-accent-strong:#0a5039;--color-on-accent:#fff;--color-accent-soft:#dff0e6;--color-danger:#b42318;--color-danger-soft:#fbe6e3;--color-warning-soft:#fbf0d3;--color-warning-text:#6e4d00;--chart-positive:#0b7a54;--chart-negative:#b42318}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--color-bg:#111512;--color-surface:#1a201c;--color-surface-muted:#232a25;--color-text:#eef1ec;--color-text-muted:#a6b1a9;--color-border:#333c36;--color-accent:#4cc594;--color-accent-strong:#79dbb3;--color-on-accent:#07261a;--color-accent-soft:#1b3a2d;--color-danger:#ff8d80;--color-danger-soft:#41201c;--color-warning-soft:#3b3115;--color-warning-text:#f2d58a;--chart-positive:#2a9d6f;--chart-negative:#e55a4b}}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans), system-ui, sans-serif;font-size:var(--text-md);margin:0;line-height:1.5}h1,h2,h3,p{margin:0}h1{font-size:var(--text-xl);letter-spacing:-.02em;line-height:1.2}h2{font-size:var(--text-lg);letter-spacing:-.01em;line-height:1.3}a{color:var(--color-accent-strong)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}.numeric{font-variant-numeric:tabular-nums}.negative{color:var(--color-danger)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.topbar{z-index:5;background:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0}.topbar-inner{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);display:flex}.brand{color:var(--color-text);font-size:var(--text-lg);letter-spacing:-.03em;font-weight:800;text-decoration:none}.brand span{color:var(--color-accent)}.nav{gap:var(--space-1);display:none}.nav a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);flex-shrink:0;font-weight:600;text-decoration:none}.nav a:hover{background:var(--color-surface-muted)}.nav a[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-strong)}.user-menu{min-width:0;display:none;position:relative}.topbar-user{align-items:center;gap:var(--space-2);max-width:100%;min-height:2.75rem;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--text-sm);background:0 0;border:0;font-weight:600;display:flex}.topbar-user:hover,.topbar-user[aria-expanded=true]{background:var(--color-surface-muted);color:var(--color-text)}.topbar-user svg{flex-shrink:0}.topbar-user[aria-expanded=true] svg{transform:rotate(180deg)}.user-avatar{background:var(--color-accent-soft);width:2rem;height:2rem;color:var(--color-accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:flex}.topbar-user-name{text-overflow:ellipsis;white-space:nowrap;display:none;overflow:hidden}.user-menu-panel{z-index:6;top:calc(100% + var(--space-2));width:16rem;padding:var(--space-2);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:grid;position:absolute;right:0;box-shadow:0 .75rem 2rem #0000002e}.user-menu-identity{padding:var(--space-2) var(--space-3) var(--space-3);margin-bottom:var(--space-1);border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;display:grid}.user-menu-panel a,.user-menu-panel button{width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font:inherit;font-size:var(--text-sm);text-align:left;background:0 0;border:0;align-items:center;font-weight:600;text-decoration:none;display:flex}.user-menu-panel a:hover,.user-menu-panel button:hover{background:var(--color-surface-muted)}.anchor-target{scroll-margin-top:5rem}.menu-button{border-radius:var(--radius-sm);width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.menu-button:hover{background:var(--color-surface-muted)}@media (min-width:48rem){.topbar-inner{gap:var(--space-6);width:min(100%,76rem);padding:var(--space-3) var(--space-4);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin:0 auto;display:grid}.nav{grid-column:2;display:flex}.topbar-inner>.menu-button{display:none}.user-menu{grid-column:3;justify-self:end;max-width:100%;display:block}}@media (min-width:60rem){.topbar-user-name{display:block}}.drawer{--drawer-speed:.25s;background:var(--color-surface);border:0;border-right:1px solid var(--color-border);width:min(20rem,85vw);max-width:none;height:100dvh;max-height:none;color:var(--color-text);transition:transform var(--drawer-speed) ease, overlay var(--drawer-speed) allow-discrete, display var(--drawer-speed) allow-discrete;margin:0;padding:0;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.drawer[open]{transform:none}.drawer::backdrop{transition:background-color var(--drawer-speed) ease, overlay var(--drawer-speed) allow-discrete, display var(--drawer-speed) allow-discrete;background:0 0}.drawer[open]::backdrop{background:#00000080}@starting-style{.drawer[open]{transform:translate(-100%)}.drawer[open]::backdrop{background:0 0}}@media (prefers-reduced-motion:reduce){.drawer{--drawer-speed:0s}}html:has(.drawer[open]){overflow:hidden}.drawer-content{gap:var(--space-4);height:100%;padding:var(--space-1) var(--space-2) var(--space-4);flex-direction:column;display:flex;overflow-y:auto}.drawer-header{padding-left:var(--space-3);justify-content:space-between;align-items:center;display:flex}.drawer-nav{gap:var(--space-1);display:grid}.drawer-nav a{min-height:3rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text);align-items:center;font-weight:600;text-decoration:none;display:flex}.drawer-nav a:hover{background:var(--color-surface-muted)}.drawer-nav a[aria-current=page]{background:var(--color-accent-soft);color:var(--color-accent-strong)}.drawer-footer{gap:var(--space-3);padding:var(--space-4) var(--space-3) 0;border-top:1px solid var(--color-border);margin-top:auto;display:grid}.drawer-user{color:var(--color-text-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.page{gap:var(--space-6);width:min(100%,76rem);padding:var(--space-6) var(--space-4) var(--space-12);margin:0 auto;display:grid}.page>*{min-width:0}.page-header{justify-content:space-between;align-items:end;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-header p{max-width:44rem;margin-top:var(--space-1)}.card{padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}@media (min-width:48rem){.card{padding:var(--space-6)}}.card>h2{margin-bottom:var(--space-3)}.card-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));display:grid}.stack{align-content:start;gap:var(--space-3);display:grid}.form-grid{align-items:end;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));display:grid}.form-stack{gap:var(--space-4);display:grid}.field{gap:var(--space-1);font-size:var(--text-sm);font-weight:600;display:grid}.field small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:400}input,select{width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-text-muted);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;font-weight:400}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-2) var(--space-4);background:var(--color-accent);border:1px solid var(--color-accent);border-radius:var(--radius-sm);color:var(--color-on-accent);cursor:pointer;font:inherit;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--color-accent-strong);border-color:var(--color-accent-strong)}.button:disabled{cursor:progress;opacity:.65}.button-secondary{border-color:var(--color-text-muted);color:var(--color-text);background:0 0}.button-secondary:hover{background:var(--color-surface-muted);border-color:var(--color-text-muted)}.button-danger{border-color:var(--color-danger);color:var(--color-danger);background:0 0}.button-danger:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.icon-button{border-radius:var(--radius-sm);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;font-size:var(--text-lg);background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--color-danger-soft);color:var(--color-danger)}.message{padding:var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm)}.message-error{background:var(--color-danger-soft);color:var(--color-danger)}.message-warning{background:var(--color-warning-soft);color:var(--color-warning-text)}details summary{cursor:pointer;font-weight:700}details[open] summary{margin-bottom:var(--space-4)}.auth-page{min-height:100dvh;padding:var(--space-6) var(--space-4);place-items:center;display:grid}.auth-card{gap:var(--space-4);width:min(100%,26rem);display:grid}.divider{align-items:center;gap:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);display:flex}.divider:before,.divider:after{background:var(--color-border);content:"";flex:1;height:1px}.password-hint{gap:var(--space-2);display:grid}.password-ok{color:var(--color-accent-strong);font-weight:700}.password-rules{gap:var(--space-1);color:var(--color-text-muted);font-size:var(--text-sm);margin:0;padding:0;list-style:none;display:grid}.password-rule-met{color:var(--color-accent-strong);font-weight:600}.back-link{min-height:2.75rem;color:var(--color-text-muted);font-size:var(--text-sm);justify-self:start;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-text);text-decoration:underline}.hero-card{gap:var(--space-2);background:var(--color-accent-soft);border-color:#0000;display:grid}.hero-value{font-size:var(--text-hero);letter-spacing:-.04em;font-weight:800;line-height:1.1}.stat-label{color:var(--color-text-muted);font-size:var(--text-sm);font-weight:600}.stat-value{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:800}.progress{background:var(--color-surface-muted);border-radius:999px;height:.5rem;overflow:hidden}.progress>span{background:var(--color-accent);border-radius:999px;height:100%;display:block}.chart{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr);display:grid}.chart-axis{height:14rem;color:var(--color-text-muted);font-size:var(--text-xs);text-align:right;min-width:3.5rem;display:grid;position:relative}.chart-axis span{position:absolute;right:0;transform:translateY(50%)}.chart-plot{border-bottom:1px solid var(--color-border);border-top:1px solid var(--color-border);grid-template-columns:repeat(12,minmax(0,1fr));height:14rem;display:grid;position:relative}.chart-zero{background:var(--color-text-muted);height:1px;position:absolute;left:0;right:0}.chart-column{border-radius:var(--radius-sm);position:relative}.chart-column:hover,.chart-column:focus-visible{background:var(--color-surface-muted)}.chart-bar{width:min(70%,1.5rem);min-height:1px;position:absolute;left:50%;transform:translate(-50%)}.chart-bar-up{background:var(--chart-positive);border-radius:4px 4px 0 0}.chart-bar-down{background:var(--chart-negative);border-radius:0 0 4px 4px}.chart-tooltip{z-index:2;top:var(--space-1);width:max-content;padding:var(--space-2) var(--space-3);background:var(--color-text);border-radius:var(--radius-sm);color:var(--color-bg);font-size:var(--text-xs);pointer-events:none;display:none;position:absolute;left:50%;transform:translate(-50%)}.chart-tooltip strong{font-size:var(--text-sm);display:block}.chart-column:nth-child(-n+4) .chart-tooltip{left:0;transform:none}.chart-column:nth-last-child(-n+4) .chart-tooltip{left:auto;right:0;transform:none}.chart-column:hover .chart-tooltip,.chart-column:focus-visible .chart-tooltip{display:block}.chart-labels{color:var(--color-text-muted);font-size:var(--text-xs);text-align:center;grid-column:2;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}@media (max-width:40rem){.chart-labels span:not(:nth-child(3n+1)){visibility:hidden}.chart-labels span{white-space:nowrap}}.legend{gap:var(--space-4);margin-bottom:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.legend span{align-items:center;gap:var(--space-2);display:inline-flex}.legend i{border-radius:3px;width:.75rem;height:.75rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-variant-numeric:tabular-nums}th,td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:right;white-space:nowrap}th:first-child,td:first-child{text-align:left}.onboarding-card{width:min(100%,32rem)}.step-count{color:var(--color-accent-strong);font-size:var(--text-sm);font-weight:700}.salary-field input{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.how-list{gap:var(--space-4);padding-left:var(--space-6);margin:0;display:grid}.how-list li{padding-left:var(--space-1)}.how-list li::marker{color:var(--color-accent-strong);font-weight:800}.how-list strong,.how-list span{display:block}.text-button{min-height:2.75rem;padding:0 var(--space-3);color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:var(--text-sm);background:0 0;border:0;justify-self:center;font-weight:600}.text-button:hover{color:var(--color-text);text-decoration:underline}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);width:min(28rem,100vw - 2rem);color:var(--color-text);padding:0}.modal::backdrop{background:#00000080}.modal-content{gap:var(--space-4);padding:var(--space-4) var(--space-6) var(--space-6);display:grid}.modal-content .goal-header{align-items:center}.segmented{gap:var(--space-1);width:min(100%,18rem);padding:var(--space-1);background:var(--color-surface-muted);border-radius:var(--radius-sm);border:0;grid-template-columns:1fr 1fr;margin:0;display:grid}.segmented label{cursor:pointer;position:relative}.segmented span{border-radius:var(--radius-sm);min-height:2.5rem;color:var(--color-text-muted);font-size:var(--text-sm);justify-content:center;align-items:center;font-weight:600;display:flex}.segmented span:hover{color:var(--color-text)}.segmented input:checked+span{background:var(--color-accent);color:var(--color-on-accent);font-weight:700}.segmented input:focus-visible+span{outline:2px solid var(--color-accent);outline-offset:2px}.month-nav{align-items:center;gap:var(--space-2);display:flex}.grid-wrap{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.grid{min-width:68rem}.grid th,.grid td{min-width:7.25rem;padding:var(--space-1);background:var(--color-surface)}.grid thead th{padding:var(--space-2);background:var(--color-surface-muted)}.grid .current-month{box-shadow:inset 2px 0 0 var(--color-accent), inset -2px 0 0 var(--color-accent)}.grid th:first-child,.grid td:first-child{z-index:1;border-right:1px solid var(--color-border);white-space:normal;min-width:16rem;max-width:18rem;position:sticky;left:0}@media (max-width:40rem){.grid th:first-child,.grid td:first-child{min-width:7.5rem;max-width:7.5rem}}.grid .section-row th{background:var(--color-surface-muted);text-align:left;font-weight:800}.row-name{align-items:center;gap:var(--space-1);display:flex}.row-name input{min-height:2rem;padding:var(--space-1) var(--space-2);background:0 0;border-color:#0000;font-weight:600}.row-name input:hover{border-color:var(--color-border)}.cell{align-items:center;gap:var(--space-1);display:flex}.cell input[type=text]{min-width:0;min-height:2rem;padding:var(--space-1);font-variant-numeric:tabular-nums;text-align:right;background:0 0;border-color:#0000}.cell input[type=text]:hover{border-color:var(--color-border)}.cell input[type=checkbox]{width:1.125rem;height:1.125rem;min-height:0;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0;margin:0}.cell-paid{background:var(--color-accent-soft);border-radius:var(--radius-sm)}.cell-paid input[type=text]{color:var(--color-text-muted);text-decoration:line-through}.summary-row th,.summary-row td{padding:var(--space-2);text-align:right;font-weight:600}.grid .summary-row th:first-child{text-align:left}.total-row th,.total-row td{font-weight:800}.status{align-items:center;gap:var(--space-1);font-weight:700;display:inline-flex}.status-negative{color:var(--color-danger)}.status-positive{color:var(--color-accent-strong)}.grid-feedback{min-height:1.5rem;font-size:var(--text-sm)}.list{margin:0;padding:0;list-style:none;display:grid}.list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border);display:flex}.list li:last-child{border-bottom:0}.list-main{overflow-wrap:anywhere;min-width:0}.list-end{align-items:center;gap:var(--space-2);flex-shrink:0;font-weight:700;display:flex}.empty{justify-items:start;gap:var(--space-3);padding:var(--space-6) var(--space-4);background:var(--color-surface-muted);border-radius:var(--radius-md);display:grid}.goal-header{justify-content:space-between;align-items:start;gap:var(--space-3);display:flex}.goal-badge{padding:0 var(--space-2);background:var(--color-surface-muted);font-size:var(--text-xs);border-radius:999px;font-weight:700;display:inline-block}.skeleton{background:var(--color-surface-muted);border-radius:var(--radius-md);height:8rem}@media (prefers-reduced-motion:no-preference){.skeleton{animation:1.4s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.55}}}
