@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.hidden{display:none}.overline{text-decoration-line:overline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#202720;--muted:#686f65;--paper:#f7f8f4;--panel:#fff;--line:#e7e9e2;--green:#55775b;--green-dark:#34543b;--sage:#e5ece2;--warm:#f4efe5;--red:#8a4d3a}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:DM Sans,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline-offset:3px;outline:3px solid #a77943}.shell{min-height:100vh}.rail{border-right:1px solid var(--line);z-index:3;background:#fff;flex-direction:column;width:238px;padding:30px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:-1.2px;margin:0 10px 55px;font:800 22px Manrope,sans-serif}.brand span{color:var(--green)}.rail-label,.overline,.panel-label{letter-spacing:1.2px;color:#92988e;font-size:10px;font-weight:700}.rail-label{margin:0 10px 12px}.rail nav{gap:5px;display:grid}.nav-item{color:#687167;border-radius:7px;align-items:center;gap:12px;height:44px;padding:0 12px;font-size:15px;display:flex}.nav-item span{font-size:13px;font-weight:500}.nav-item.active{color:var(--green-dark);background:#edf2eb;font-weight:700}.rail-foot{border-top:1px solid var(--line);align-items:center;gap:11px;margin-top:auto;padding:18px 4px 2px;display:flex}.avatar{background:var(--warm);color:#77644b;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.rail-foot strong,.rail-foot small{display:block}.rail-foot strong{font-size:12px}.rail-foot small{color:var(--muted);margin-top:3px;font-size:11px}.main-area{min-height:100vh;margin-left:238px}.topbar{border-bottom:1px solid var(--line);background:#ffffff94;justify-content:space-between;align-items:center;height:68px;padding:0 48px;display:flex}.crumb{color:#72796f;font-size:12px}.crumb span{color:#b8bcb4;padding:0 10px}.date-label{color:#646d62;font-size:12px}.content{max-width:1120px;margin:auto;padding:44px 48px 24px}.page-heading{justify-content:space-between;align-items:flex-end;margin-bottom:32px;display:flex}.overline{margin:0 0 10px}.page-heading h1{letter-spacing:-1.2px;margin:0;font:700 30px Manrope,sans-serif}.subhead{color:var(--muted);margin:8px 0 0;font-size:13px}.primary-button,.secondary-button{border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:0 17px;font-size:12px;font-weight:600;transition:background .15s;display:inline-flex}.primary-button{background:var(--green-dark);color:#fff}.primary-button:hover{background:#29452f}.secondary-button{color:var(--green-dark);background:#fff;border:1px solid #d9ded5}.secondary-button:hover{background:#f2f5f0}.notice{color:#5d512e;background:#fff6df;border:1px solid #f0dfad;border-radius:6px;margin:-13px 0 22px;padding:12px 15px;font-size:12px}.notice code{font-family:ui-monospace,monospace}.overview-grid{grid-template-columns:1.05fr .95fr;gap:18px;display:grid}.balance-panel,.summary-panel{background:var(--panel);border:1px solid var(--line);border-radius:9px;min-height:226px;padding:24px 26px}.balance-panel{background:var(--green-dark);border-color:var(--green-dark);color:#fff;position:relative;overflow:hidden}.balance-panel:after{content:"";border:1px solid #ffffff1a;border-radius:50%;width:180px;height:180px;position:absolute;top:54px;right:-54px}.panel-top,.summary-heading{justify-content:space-between;align-items:center;display:flex}.balance-panel .panel-label{color:#bfccbe}.balance-mark{letter-spacing:1px;color:#c9d4c6;font-size:10px}.balance-number{letter-spacing:-1px;margin:25px 0 5px;font:700 32px Manrope,sans-serif}.balance-note{color:#c0ccbf;font-size:11px}.balance-rule{background:#ffffff2e;height:1px;margin:22px 0 13px}.text-link{color:var(--green-dark);align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.balance-panel .text-link{color:#e3ebe0}.text-link span{font-size:14px}.summary-period{color:#969d93;font-size:10px}.flow-row{align-items:center;gap:12px;padding:18px 0 14px;display:flex}.flow-symbol{border-radius:50%;place-items:center;width:32px;height:32px;font-size:15px;font-weight:700;display:grid}.income-symbol{color:#4d7951;background:#edf4eb}.expense-symbol{color:var(--red);background:#f6eee9}.flow-row small{color:var(--muted);margin-bottom:4px;font-size:11px;display:block}.flow-row strong{font:700 15px Manrope,sans-serif}.flow-divider{background:var(--line);height:1px;margin-left:44px}.transactions-section{margin-top:43px}.section-heading{justify-content:space-between;align-items:flex-end;margin-bottom:15px;display:flex}.section-heading .overline{margin-bottom:6px}.section-heading h2{letter-spacing:-.4px;margin:0;font:700 19px Manrope,sans-serif}.empty-state{border:1px solid var(--line);text-align:center;background:#fff;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;min-height:242px;padding:28px;display:flex}.empty-mark{width:38px;height:38px;color:var(--green);background:#f0f3ee;border-radius:50%;place-items:center;font-size:22px;display:grid}.empty-state h3{margin:14px 0 0;font:700 14px Manrope,sans-serif}.empty-state p{max-width:350px;color:var(--muted);margin:7px 0 17px;font-size:12px;line-height:1.65}.footer-note{color:#747b72;margin-top:34px;font-size:10px}.footer-note span{padding:0 4px}.mobile-nav{display:none}@media (max-width:900px){.rail{width:205px}.main-area{margin-left:205px}.topbar{padding:0 28px}.content{padding:36px 28px 24px}.overview-grid{grid-template-columns:1fr}.balance-panel,.summary-panel{min-height:auto}.balance-panel{padding-bottom:20px}.balance-number{margin-top:18px}.balance-rule{margin-top:17px}}@media (max-width:640px){.rail{display:none}.main-area{margin:0;padding-bottom:76px}.topbar{background:#fff;height:56px;padding:0 19px}.content{padding:30px 18px 20px}.page-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:23px}.page-heading h1{font-size:26px;line-height:1.2}.page-heading .subhead{font-size:12px}.primary-button{width:100%}.overview-grid{gap:12px}.balance-panel,.summary-panel{border-radius:8px;padding:20px}.balance-number{font-size:29px}.transactions-section{margin-top:32px}.section-heading h2{font-size:17px}.empty-state{min-height:225px;padding:22px 16px}.footer-note{margin-top:26px}.mobile-nav{border-top:1px solid var(--line);z-index:4;height:65px;padding:7px 8px max(7px,env(safe-area-inset-bottom));background:#fff;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;inset:auto 0 0}.mobile-nav a{color:#626b60;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:44px;font-size:17px;display:flex}.mobile-nav a span{font-size:9px}.mobile-nav a.selected{color:var(--green-dark);font-weight:700}.notice{margin-bottom:15px;line-height:1.5}.date-label{font-size:11px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.simple-page{min-height:100vh}.simple-header{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;height:68px;padding:0 max(24px,50vw - 520px);display:flex}.simple-header .brand{margin:0}.simple-content{max-width:680px;margin:0 auto;padding:48px 24px 80px}.simple-content h1{letter-spacing:-1px;margin:0;font:700 30px Manrope,sans-serif}.simple-content>.subhead{margin-bottom:25px}.wide-content{max-width:900px}.wide-content .page-heading{align-items:flex-end}.record-list{border:1px solid var(--line);background:#fff;border-radius:8px;margin:24px 0;overflow:hidden}.record-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:67px;padding:12px 18px;display:flex}.record-row:last-child{border-bottom:0}.record-row strong{font-size:13px}.record-row small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.empty-line{color:var(--muted);padding:20px;font-size:12px}.type-tag{color:var(--muted);font-size:11px}.form-panel{border:1px solid var(--line);background:#fff;border-radius:8px;gap:16px;margin-top:18px;padding:22px;display:grid}.form-panel h2{margin:0 0 2px;font:700 16px Manrope,sans-serif}.form-panel label{color:#555e53;gap:7px;font-size:12px;font-weight:600;display:grid}.form-panel input,.form-panel select{width:100%;height:44px;color:var(--ink);background:#fff;border:1px solid #dfe3da;border-radius:5px;padding:0 12px;font:400 13px DM Sans,sans-serif}.form-panel input:focus,.form-panel select:focus{outline-offset:1px;outline:2px solid #769078}.form-panel button{cursor:pointer;border:0;justify-self:start;font:600 12px DM Sans,sans-serif}.form-panel button:disabled{opacity:.5;cursor:not-allowed}.amount-out{color:#955a48}.amount-in{color:var(--green-dark)}@media (max-width:640px){.simple-header{height:58px;padding:0 18px}.simple-content{padding:32px 18px 50px}.simple-content h1{font-size:26px}.wide-content .page-heading{align-items:flex-start}.wide-content .page-heading .primary-button{width:auto}.record-row{padding:12px}.form-panel{padding:18px}.record-row strong{font-size:12px}}.login-page{background:var(--paper);place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:#fff;border-radius:9px;width:min(100%,430px);padding:36px}.login-panel .brand{margin:0 0 42px;display:inline-block}.login-panel h1{letter-spacing:-.8px;margin:0;font:700 28px Manrope,sans-serif}.login-panel .subhead{margin-bottom:24px;line-height:1.6}.login-panel form .primary-button{cursor:pointer;border:0;width:100%;font:600 12px DM Sans,sans-serif}.login-panel .notice{margin:18px 0 0;line-height:1.5}.success-note{color:#34543b;background:#edf4eb;border:1px solid #c9dcc7;border-radius:6px;margin:0;padding:12px 14px;font-size:12px;line-height:1.5}.verification-wrap{gap:12px;display:grid}.resend-form{border-top:1px solid var(--line);gap:8px;padding:17px;display:grid}.resend-form label{color:#555e53;gap:7px;font-size:12px;font-weight:600;display:grid}.resend-form input{height:44px;color:var(--ink);background:#fff;border:1px solid #dfe3da;border-radius:5px;padding:0 12px;font:400 16px DM Sans,sans-serif}.resend-form button{cursor:pointer;border:1px solid #dfe3da;font:600 12px DM Sans,sans-serif}.resend-form .notice,.resend-form .success-note{margin:4px 0 0}.landing-auth-placeholder{background:#e7ebe4;border-radius:6px;width:132px;height:44px;display:block}.preview-placeholder{background:#415b45}.placeholder-text{color:#4f5e50;font-size:11px!important;font-weight:600!important}.preview-active-row{border-top:1px solid #eceee8;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:62px;margin-top:9px;display:grid}.preview-active-row p{text-overflow:ellipsis;white-space:nowrap;color:#4d594d;min-width:0;font-size:10px;overflow:hidden}.preview-active-row>strong{color:#334536;white-space:nowrap;font-size:11px}.preview-active-mark{width:23px;height:23px;color:var(--green-dark);background:#edf3eb;border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.transaction-filters{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;padding:16px;display:grid}.transaction-filters label{color:#4e584d;gap:6px;font-size:11px;font-weight:600;display:grid}.transaction-filters input,.transaction-filters select{width:100%;min-width:0;height:42px;color:var(--ink);background:#fff;border:1px solid #cbd3c8;border-radius:5px;padding:0 10px;font:400 14px DM Sans,sans-serif}.transaction-filters input:focus-visible,.transaction-filters select:focus-visible{outline-offset:1px;outline:3px solid #a77943}.filter-actions{grid-column:1/-1;align-items:center;gap:8px;display:flex}.filter-actions button,.filter-actions a{min-height:44px}.record-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.record-action{color:#34543b;text-underline-offset:2px;cursor:pointer;background:#fff;border:1px solid #dfe3da;border-radius:5px;justify-content:center;align-items:center;min-height:38px;padding:0 9px;font:600 11px DM Sans,sans-serif;text-decoration:underline;display:inline-flex}.record-action:disabled{color:#5d655a;cursor:not-allowed}.transaction-record{gap:10px}.transaction-record>div:first-child{flex:1}.budget-header{justify-content:space-between;align-items:end;gap:20px;display:flex}.budget-item{border:1px solid var(--line);background:#fff;border-radius:8px;padding:18px}.budget-item h2{margin:0;font:700 14px Manrope,sans-serif}.budget-numbers{color:#4d574d;justify-content:space-between;gap:12px;margin:12px 0 8px;font-size:12px;display:flex}.budget-numbers strong{color:var(--ink)}.budget-meter{background:#e6e9e2;border-radius:10px;height:9px;overflow:hidden}.budget-meter span{border-radius:inherit;background:#55775b;height:100%;display:block}.budget-meter.over span{background:#8a4d3a}.budget-item small{color:#586258;margin-top:9px;font-size:11px;display:block}.form-panel input[type=month]{background:#fff;border:1px solid #cbd3c8;border-radius:5px;height:44px;padding:0 10px;font:400 14px DM Sans,sans-serif}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}@media (max-width:720px){.transaction-filters{grid-template-columns:1fr 1fr;gap:10px;padding:12px}.filter-actions{flex-wrap:wrap}.transaction-page-actions{flex-direction:column;align-items:stretch}.transaction-page-actions a{justify-content:center}.record-actions{justify-content:flex-end;width:100%}.record-row{align-items:flex-start}.budget-grid{grid-template-columns:1fr}.budget-header{flex-direction:column;align-items:flex-start}.form-row{grid-template-columns:1fr}}@media (max-width:420px){.transaction-filters{grid-template-columns:1fr}.filter-actions>*{flex:1}.transaction-page-actions,.wide-content .page-heading .primary-button{width:100%}}.budget-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;display:grid!important}.budget-item{width:100%;min-width:0!important;padding:0!important;display:block!important;overflow:visible!important}.budget-item-title{gap:12px;width:100%;min-width:0;align-items:center!important;padding:15px 18px!important;display:flex!important}.budget-item-title>div{flex:1;min-width:0}.budget-item-title h2{white-space:normal;overflow-wrap:anywhere}.budget-status{white-space:normal;flex:none;max-width:42%;text-align:center!important}.budget-numbers{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin:0!important;padding:14px 18px!important;display:grid!important}.budget-numbers>div{min-width:0;text-align:left!important;display:block!important}.budget-numbers span{margin-bottom:4px;display:block}.budget-numbers strong{white-space:normal;overflow-wrap:anywhere;min-width:0;display:block}.budget-progress-block{gap:6px;width:100%;display:grid;margin:0!important;padding:12px 18px 14px!important}.budget-form{width:100%;min-width:0;border-top:1px solid var(--line)!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;margin:0!important;padding:14px 18px 18px!important;display:grid!important}.budget-form>label{white-space:nowrap;overflow-wrap:normal;width:100%;min-width:0;line-height:1.4;font-size:12px!important;display:block!important}.budget-input-row{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;display:grid!important}.budget-input-wrap{width:100%;min-width:0;display:flex}.budget-input-wrap input{width:100%;min-width:0}.budget-save{white-space:normal;width:100%;min-height:46px;padding:0 14px;line-height:1.3;display:block}.budget-form-hint{white-space:normal;overflow-wrap:anywhere;width:100%;display:block}@media (min-width:721px){.budget-grid{grid-template-columns:minmax(0,1fr)!important}.budget-item{grid-template-columns:minmax(0,1fr)!important;display:grid!important}.budget-item-title{border:0!important;border-bottom:1px solid var(--line)!important}.budget-numbers{grid-template-columns:repeat(2,minmax(0,1fr))!important}.budget-form,.budget-input-row{grid-template-columns:minmax(0,1fr)!important}}.budget-grid{grid-template-columns:minmax(0,1fr);gap:12px}.budget-item{grid-template-columns:minmax(0,1fr);gap:0;padding:0;display:grid;overflow:visible}.budget-item-title{align-items:center;min-height:68px;padding:16px 20px}.budget-numbers{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:14px;margin:0;padding:16px 20px;display:grid}.budget-numbers>div{gap:5px;display:grid;text-align:left!important}.budget-numbers span{font-size:11px}.budget-numbers strong{overflow-wrap:anywhere;font-size:15px;line-height:1.35}.budget-progress-block{border-bottom:1px solid var(--line);margin:0;padding:14px 20px 16px}.budget-form{border:0;grid-template-columns:minmax(0,1fr);gap:9px;margin:0;padding:16px 20px 18px;display:grid}.budget-form label{font-size:12px}.budget-input-row{grid-template-columns:minmax(0,1fr);gap:9px;display:grid}.budget-input-wrap{height:48px}.budget-input-wrap input{font-size:17px}.budget-save{width:100%;min-height:46px;font-size:12px}.budget-form-hint{font-size:11px}@media (min-width:721px){.budget-grid{grid-template-columns:minmax(0,1fr)}.budget-item{grid-template-columns:minmax(180px,.7fr) minmax(210px,1fr) minmax(210px,.9fr);align-items:center}.budget-item-title{border:0;border-right:1px solid var(--line);height:100%;padding:16px 18px}.budget-numbers{border:0;grid-template-columns:1fr 1fr;padding:16px 18px}.budget-progress-block{border:0;padding:12px 18px}.budget-form{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:140px minmax(0,1fr);align-items:center;padding:14px 18px}.budget-form>label{align-self:center}.budget-input-row{grid-template-columns:minmax(0,1fr) minmax(150px,190px)}.budget-form-hint{grid-column:2}}.budget-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:start}.budget-item{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.budget-item-title{width:100%;min-width:0}.budget-item-title>div{min-width:0}.budget-item-title h2{overflow-wrap:anywhere}.budget-status{white-space:normal;flex:0 auto}.budget-numbers{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.budget-numbers>div{min-width:0}.budget-numbers strong{overflow-wrap:anywhere;display:block}.budget-form{grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px;width:100%}.budget-input-row{grid-template-columns:minmax(0,1fr) minmax(112px,auto);align-items:stretch;width:100%;min-width:0}.budget-input-wrap{width:100%;min-width:0}.budget-input-wrap input{min-width:0}.budget-save{white-space:normal;line-height:1.2}.budget-form-hint{overflow-wrap:anywhere}@media (max-width:520px){.budget-grid{grid-template-columns:minmax(0,1fr);gap:11px}.budget-item{padding:15px}.budget-numbers{gap:8px}.budget-numbers strong{font-size:13px}.budget-input-row{grid-template-columns:minmax(0,1fr) minmax(98px,auto);gap:6px}.budget-save{padding-inline:9px;font-size:10px}}.budget-item{padding:20px}.budget-item-title{border-bottom:1px solid var(--line);align-items:center;padding-bottom:15px}.budget-item-title .overline{margin:0 0 5px;font-size:9px}.budget-item-title h2{font-size:16px}.budget-status{text-align:right;color:#34543b;background:#edf3eb;border-radius:4px;max-width:115px;padding:6px 8px;font-size:10px;font-weight:700}.budget-status.near{color:#725a2e;background:#f5f0e3}.budget-status.over{color:#803d31;background:#f6ebe8}.budget-numbers{align-items:flex-start;margin:16px 0 12px}.budget-numbers>div{gap:5px;display:grid}.budget-numbers>div:last-child{text-align:right}.budget-numbers span{color:#586258;font-size:10px}.budget-numbers strong{font:700 14px Manrope,sans-serif}.budget-progress-block{gap:5px;margin:4px 0 13px;display:grid}.budget-progress-block small{color:#586258;text-align:right;font-size:10px}.budget-form{border-top:1px solid var(--line);gap:7px;margin-top:14px;padding-top:13px;display:grid}.budget-form label{color:#465145;font-size:11px;font-weight:700}.budget-input-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:8px;display:grid}.budget-input-wrap{background:#fbfcf9;border:1px solid #aeb9ab;border-radius:6px;align-items:center;gap:8px;min-width:0;height:46px;padding:0 12px;display:flex}.budget-input-wrap:focus-within{outline-offset:1px;border-color:var(--green-dark);outline:3px solid #a77943}.budget-input-wrap>span{color:#465b47;font:700 13px Manrope,sans-serif}.budget-input-wrap input{width:100%;min-width:0;height:100%;color:var(--ink);background:0 0;border:0;padding:0;font:700 16px Manrope,sans-serif;outline:0!important}.budget-save{background:var(--green-dark);color:#fff;cursor:pointer;border:0;border-radius:6px;min-height:46px;padding:0 13px;font:600 11px DM Sans,sans-serif}.budget-save:hover{background:#29452f}.budget-save:disabled{opacity:.65;cursor:wait}.budget-save:focus-visible{outline-offset:2px;outline:3px solid #a77943}.budget-form-hint{color:#5c665a;font-size:10px}@media (max-width:720px){.budget-item{padding:17px}.budget-input-row{grid-template-columns:minmax(0,1fr) auto}.budget-save{padding-inline:10px}}.expense-chart-section{border:1px solid var(--line);background:#fff;border-radius:9px;margin:34px 0 0;padding:20px 22px}.expense-chart-section .section-heading{margin-bottom:12px}.expense-chart{grid-template-columns:minmax(170px,.7fr) minmax(0,1.3fr);align-items:start;gap:28px;padding-top:12px;display:grid}.expense-chart-total{gap:8px;padding:16px 0 0 2px;display:grid}.expense-chart-total span{color:#596257;font-size:11px}.expense-chart-total strong{letter-spacing:-.6px;color:#263329;font:700 clamp(20px,2.6vw,30px) Manrope,sans-serif}.expense-bars{gap:15px;margin:0;padding:0;list-style:none;display:grid}.expense-bar-row{min-width:0}.expense-bar-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;display:flex}.expense-category{color:#39443a;overflow-wrap:anywhere;font-size:12px;font-weight:600}.expense-value{color:#334536;text-align:right;flex:none;font-size:11px;font-weight:700}.expense-value small{color:#596257;margin-left:5px;font-weight:500}.expense-bar-track{background:#e8ece6;border-radius:2px;height:10px;overflow:hidden}.expense-bar-track span{background:#55775b;border-radius:2px;min-width:3px;height:100%;display:block}.chart-empty{border-top:1px solid var(--line);align-content:center;gap:5px;min-height:110px;padding:24px 8px;display:grid}.chart-empty p{color:#39443a;margin:0;font-size:13px;font-weight:600}.chart-empty span{color:#596257;font-size:11px}.record-action.danger-action{color:#803d31}@media (max-width:640px){.expense-chart-section{margin-top:28px;padding:17px 15px}.expense-chart{grid-template-columns:1fr;gap:14px;padding-top:4px}.expense-chart-total{padding-top:0}.expense-chart-total strong{font-size:24px}.expense-bars{gap:13px}.expense-value{font-size:10px}.expense-category{font-size:11px}}.transaction-page-actions{align-items:center;gap:8px;display:flex}.transaction-filters{margin-top:18px}.record-actions{align-items:center;gap:6px;display:flex}.record-actions form{margin:0}.record-action{min-height:40px;color:var(--green-dark);cursor:pointer;background:#fff;border:1px solid #cbd3c8;border-radius:5px;padding:0 10px;font:600 11px DM Sans,sans-serif}.record-action:focus-visible{outline-offset:2px;outline:3px solid #a77943}.danger-action{color:#8a3f3a}.month-picker{align-items:center;gap:9px;display:flex}.month-picker label{color:#50594e;font-size:11px;font-weight:600}.month-picker input{background:#fff;border:1px solid #cbd3c8;border-radius:5px;min-height:44px;padding:0 9px;font:400 13px DM Sans,sans-serif}.period-caption{color:#596257;margin:20px 0 12px;font-size:12px}.budget-item-title{justify-content:space-between;align-items:center;gap:8px;display:flex}.budget-item-title span{color:#50594e;font-size:10px}.budget-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;margin-top:15px;display:grid}.budget-form label{color:#50594e;gap:6px;font-size:11px;font-weight:600;display:grid}.budget-form input{border:1px solid #cbd3c8;border-radius:5px;width:100%;min-width:0;height:42px;padding:0 10px;font:400 14px DM Sans,sans-serif}.budget-form .secondary-button{min-height:42px;padding-inline:10px}.transaction-page-actions .secondary-button{border:1px solid #cbd3c8}.record-row{flex-wrap:wrap}.record-row>div:first-child{flex:1;min-width:145px}.budget-item{min-width:0}@media (max-width:720px){.transaction-page-actions{width:100%}.transaction-page-actions>*{flex:1;justify-content:center}.month-picker{justify-content:space-between;width:100%}.month-picker input{flex:1}.budget-form{grid-template-columns:1fr}.budget-form button{width:100%}.record-actions{margin-left:auto}.record-row{row-gap:9px}}.logout-button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:5px;padding:8px 12px;font:600 11px DM Sans,sans-serif}.logout-button:focus-visible{outline-offset:2px;outline:3px solid #a77943}.login-button{cursor:pointer;border:0;width:100%;font:600 12px DM Sans,sans-serif}.login-foot{text-align:center;color:var(--muted);margin:22px 0 0;font-size:11px}.login-foot a:focus-visible{outline:2px solid #a77943}.icon-button{color:#495348;cursor:pointer;background:#fff;border:1px solid #dfe3da;border-radius:5px;min-height:44px;padding:0 10px;font:600 11px DM Sans,sans-serif}.icon-button:focus-visible{outline-offset:2px;outline:3px solid #a77943}.rail-foot{gap:8px}.rail-foot>div{flex:1;min-width:0}.rail-foot small{text-overflow:ellipsis;max-width:120px;overflow:hidden}.auth-form{margin-top:22px}.auth-form .auth-submit{cursor:pointer;border:0;width:100%;min-height:48px;font:600 13px DM Sans,sans-serif}.auth-submit:disabled{opacity:.65;cursor:wait}.auth-form .notice{margin:0;line-height:1.5}.auth-switch{text-align:center;color:#50594e;margin:2px 0 0;font-size:12px}.auth-switch a{color:var(--green-dark);text-underline-offset:3px;font-weight:700;text-decoration:underline}.auth-switch a:focus-visible{outline:2px solid #a77943}.landing-page{--landing-ink:#263329;min-height:100vh;color:var(--landing-ink);background:#f8f9f5;padding:0 max(24px,50vw - 590px)}.landing-nav{border-bottom:1px solid #e2e7df;align-items:center;gap:40px;height:76px;display:flex}.landing-nav .brand{margin:0 auto 0 0}.landing-nav nav{gap:28px;display:flex}.landing-nav nav a,.login-link{color:#586359;align-items:center;min-height:44px;font-size:12px;display:inline-flex}.landing-nav nav a:hover,.landing-footer a:hover{color:var(--green-dark)}.landing-actions{align-items:center;gap:16px;display:flex}.landing-actions .primary-button{min-width:112px}.landing-hero{grid-template-columns:minmax(0,1fr) minmax(390px,.86fr);align-items:center;gap:64px;min-height:520px;padding:74px 0 82px;display:grid}.hero-copy{max-width:560px}.hero-copy>.overline{color:var(--green-dark)}.hero-copy h1{letter-spacing:-2.8px;max-width:650px;margin:0;font:700 clamp(40px,5.5vw,66px)/1.08 Manrope,sans-serif}.hero-copy h1 span{color:var(--green)}.hero-description{color:#505a50;max-width:460px;margin:22px 0 0;font-size:15px;line-height:1.8}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:25px;display:flex}.hero-actions .primary-button,.hero-actions .secondary-button{min-height:48px;padding-inline:19px}.hero-footnote{color:#606b60;margin-top:15px;font-size:11px}.landing-preview{background:#fff;border:1px solid #e2e7df;border-radius:11px;justify-self:end;width:100%;max-width:490px;padding:19px;box-shadow:0 18px 48px #273a2914}.preview-head,.preview-activity-head{justify-content:space-between;align-items:center;display:flex}.preview-brand{letter-spacing:-.7px;font:800 15px Manrope,sans-serif}.preview-brand span{color:var(--green)}.preview-period{color:#687267;font-size:10px}.preview-balance{background:var(--green-dark);color:#fff;border-radius:8px;gap:8px;margin-top:16px;padding:21px;display:grid}.preview-balance span{color:#d1dbcf;font-size:10px}.preview-balance strong{font:700 29px Manrope,sans-serif}.preview-balance small{color:#d1dbcf;font-size:10px}.preview-flow{grid-template-columns:1fr 1fr;gap:12px;padding:14px 0;display:grid}.preview-flow>div{border:1px solid #e7e9e2;border-radius:7px;gap:7px;padding:13px;display:grid}.preview-flow span{color:#626c61;font-size:10px}.preview-flow strong{font:700 14px Manrope,sans-serif}.preview-activity{border:1px solid #e7e9e2;border-radius:7px;padding:14px}.preview-activity-head strong{font:700 12px Manrope,sans-serif}.preview-activity-head span{color:#626c61;font-size:9px}.preview-empty{color:#5a6559;border-top:1px solid #eceee8;justify-content:center;align-items:center;gap:9px;min-height:82px;margin-top:9px;display:flex}.preview-empty p{font-size:10px}.preview-empty-mark{width:25px;height:25px;color:var(--green-dark);background:#edf3eb;border-radius:50%;place-items:center;display:grid}.landing-details{border-top:1px solid #e2e7df;border-bottom:1px solid #e2e7df;grid-template-columns:.8fr 1.2fr;gap:70px;padding:58px 0;display:grid}.details-intro h2,.privacy-note h2{letter-spacing:-1.2px;max-width:390px;margin:0;font:700 clamp(26px,3vw,36px)/1.2 Manrope,sans-serif}.details-list{display:grid}.details-list article{border-bottom:1px solid #e2e7df;grid-template-columns:42px 1fr;gap:16px;padding:17px 0;display:grid}.details-list article:first-child{padding-top:0}.details-list article:last-child{border:0;padding-bottom:0}.detail-index{color:var(--green-dark);padding-top:3px;font:600 12px Manrope,sans-serif}.details-list h3{margin:0;font:700 14px Manrope,sans-serif}.details-list p{color:#586258;margin:6px 0 0;font-size:12px;line-height:1.65}.privacy-note{background:#edf2eb;border-radius:8px;justify-content:space-between;align-items:center;gap:24px;margin:46px 0;padding:27px 30px;display:flex}.privacy-note .overline{margin-bottom:8px}.privacy-note h2{font-size:25px}.privacy-note p:last-child{color:#4f5a4f;margin:9px 0 0;font-size:12px;line-height:1.6}.privacy-note .primary-button{flex:none}.landing-footer{border-top:1px solid #e2e7df;align-items:center;gap:20px;min-height:70px;display:flex}.landing-footer .brand{margin:0 auto 0 0;font-size:17px}.landing-footer>span,.landing-footer>a:last-child{color:#586359;font-size:11px}.landing-footer>a:last-child{text-underline-offset:3px;text-decoration:underline}@media (max-width:850px){.landing-page{padding-inline:30px}.landing-hero{grid-template-columns:1fr minmax(330px,.82fr);gap:32px;padding-block:64px}.hero-copy h1{font-size:clamp(40px,6vw,56px)}.landing-details{gap:36px}.rail{width:210px}.main-area{margin-left:210px}.content{padding-inline:32px}.rail-foot{flex-wrap:wrap}.rail-foot>div{min-width:calc(100% - 58px)}}@media (max-width:640px){.landing-page{padding-inline:18px}.landing-nav{gap:10px;height:62px}.landing-nav .brand{font-size:19px}.landing-nav nav{display:none}.landing-actions{gap:9px}.landing-actions .primary-button{min-width:96px;padding-inline:11px}.landing-hero{grid-template-columns:1fr;gap:34px;min-height:0;padding:52px 0 42px}.hero-copy h1{letter-spacing:-1.8px;font-size:clamp(40px,11vw,52px)}.hero-description{margin-top:17px;font-size:13px;line-height:1.75}.hero-actions{grid-template-columns:1fr;gap:9px;margin-top:21px;display:grid}.hero-actions a{width:100%}.hero-footnote{margin-top:12px}.landing-preview{justify-self:stretch;padding:13px}.preview-balance{padding:17px}.preview-flow{gap:8px}.landing-details{grid-template-columns:1fr;gap:24px;padding:36px 0}.details-intro h2{font-size:28px}.privacy-note{flex-direction:column;align-items:flex-start;margin:28px 0;padding:22px}.privacy-note h2{font-size:23px}.landing-footer{flex-wrap:wrap;gap:10px 16px;padding:13px 0}.landing-footer .brand{width:100%}.landing-footer>span{margin-right:auto}.landing-footer>a:last-child{align-items:center;min-height:44px;display:flex}.login-panel{width:min(100%,430px)}.auth-form{gap:14px}.rail-foot{display:none}.logout-button{min-height:44px}}.type-picker{border:0;grid-template-columns:repeat(3,1fr);gap:8px;margin:0;padding:0;display:grid}.type-picker legend{color:#555e53;margin-bottom:8px;font-size:12px;font-weight:600}.type-option{color:#596257;cursor:pointer;border:1px solid #dfe3da;border-radius:6px;place-items:center;min-height:46px;font-size:12px;transition:border-color .15s,background .15s;display:grid}.type-option input{opacity:0;pointer-events:none;position:absolute}.type-option:focus-within{outline-offset:2px;outline:3px solid #a77943}.type-option.is-selected{border-color:var(--green);color:var(--green-dark);background:#edf3eb;font-weight:700}.amount-field{color:#555e53;font-size:12px;font-weight:600}.amount-input-wrap{background:#fbfcfa;border:1px solid #cbd5c8;border-radius:7px;align-items:center;gap:10px;height:62px;margin-top:8px;padding:0 16px;display:flex}.amount-input-wrap:focus-within{outline-offset:2px;border-color:var(--green);outline:3px solid #a77943}.amount-input-wrap span{color:var(--green-dark);font:700 18px Manrope,sans-serif}.amount-input-wrap input{color:var(--ink);background:0 0!important;border:0!important;outline:0!important;height:auto!important;padding:0!important;font:700 25px Manrope,sans-serif!important}.quick-amounts{flex-wrap:wrap;gap:7px;margin-top:-5px;display:flex}.quick-amounts button{color:#596257;cursor:pointer;background:#fff;border:1px solid #dfe3da;border-radius:5px;min-height:36px;padding:0 10px;font:500 11px DM Sans,sans-serif}.quick-amounts button:hover{color:var(--green-dark);background:#edf3eb}.quick-amounts button:focus-visible{outline-offset:2px;outline:3px solid #a77943}.form-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.optional-label{color:var(--muted);margin-left:4px;font-size:10px;font-weight:400}.note-field{grid-column:1/-1}.save-transaction{cursor:pointer;border:0;width:100%;margin-top:2px;font:600 12px DM Sans,sans-serif}.form-hint{color:var(--muted);text-align:center;margin:0;font-size:11px}.recent-list{border:1px solid var(--line);background:#fff;border-radius:8px;overflow:hidden}.recent-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;min-height:60px;padding:10px 16px;display:flex}.recent-row:last-child{border-bottom:0}.recent-row strong{font-size:12px}.recent-row small{color:var(--muted);margin-top:4px;font-size:10px;display:block}@media (max-width:640px){.type-picker{gap:5px}.type-option{min-height:48px;font-size:11px}.form-grid{grid-template-columns:1fr;gap:14px}.note-field{grid-column:auto}.transaction-form{gap:14px}.amount-input-wrap{height:66px}.amount-input-wrap input{font-size:24px!important}.quick-amounts{margin-top:-1px}.quick-amounts button{flex:1;min-height:40px;padding:0 6px}.save-transaction{min-height:50px}.recent-row{padding:12px}}@media (min-width:641px) and (max-width:1020px){.content{padding-left:32px;padding-right:32px}.overview-grid,.form-grid{grid-template-columns:1fr 1fr}}html{scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom))}body{min-width:320px}.simple-page{padding-bottom:env(safe-area-inset-bottom)}.form-panel input,.form-panel select{scroll-margin-block:110px;font-size:16px}.primary-button,.secondary-button,.nav-item,.text-link,.rail nav .nav-item{min-height:44px}.mobile-nav{padding-bottom:max(7px,env(safe-area-inset-bottom))}.simple-content{width:100%}.record-row>div,.record-row>strong,.recent-row>div,.recent-row>strong{overflow-wrap:anywhere;min-width:0}@media (max-width:640px){.simple-page{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.simple-header{padding-inline:18px}.simple-header .brand{margin-left:0}.simple-content{padding:32px 18px 28px}.simple-header .text-link{padding:0 4px}.mobile-nav{height:calc(65px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}.mobile-nav a{min-height:44px}.record-row{flex-wrap:wrap}.login-panel{padding:28px 22px}}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
