@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.00az9qtie3ho1.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.3j-a226dh71aj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.2gwoz23eiro2t.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.0i3h3th1vs4m7.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0zr6hhvz-h9nw.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.27spqqad3wyeo.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3f4zuumv8svu0.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.34r5yzckw0h2s.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.2jyz_zw3a8jit.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.30bdpjkrtcces.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.1v5bejj26fx9h.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@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}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.\[mcp\:import_statement\]{mcp:import statement}.\[security\:origin\]{security:origin}}:root{--ink:#14231d;--muted:#6f7e77;--cream:#f5f2ea;--paper:#fffdf8;--line:#dedbd2;--green:#176b4d;--lime:#d8f04c;--orange:#f26b38}*{box-sizing:border-box}html{background:var(--cream);-webkit-text-size-adjust:100%}body{background:var(--cream);min-width:320px;color:var(--ink);font-family:var(--font-geist-sans),sans-serif;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}.auth-page{grid-template-columns:1.08fr .92fr;min-height:100vh;display:grid}.brand-panel{background:var(--green);color:#fff;flex-direction:column;justify-content:space-between;padding:56px;display:flex;position:relative;overflow:hidden}.brand-panel:after{content:"";border:90px solid #d8f04c2e;border-radius:50%;width:460px;height:460px;position:absolute;bottom:-180px;right:-190px}.wordmark{letter-spacing:-.04em;font-size:24px;font-weight:760}.hero-copy{z-index:1;max-width:640px;position:relative}.hero-copy h1{letter-spacing:-.065em;margin:0 0 24px;font-size:clamp(44px,6vw,78px);line-height:.96}.hero-copy p{color:#d7e8df;max-width:540px;font-size:19px;line-height:1.65}.feature-strip{z-index:1;flex-wrap:wrap;gap:10px;display:flex;position:relative}.feature-strip span{border:1px solid #ffffff40;border-radius:999px;padding:8px 13px;font-size:13px}.auth-panel{place-items:center;padding:40px;display:grid}.auth-card{background:var(--paper);border:1px solid var(--line);border-radius:24px;width:min(430px,100%);padding:34px;box-shadow:0 20px 60px #14231d14}.auth-card h2{letter-spacing:-.045em;margin:0 0 8px;font-size:31px}.remember-option{cursor:pointer;align-items:flex-start;gap:10px;margin-top:18px;display:flex}.remember-option input{width:17px;height:17px;accent-color:var(--green);margin:2px 0 0}.remember-option span{gap:3px;font-size:13px;display:grid}.remember-option small{color:var(--muted);line-height:1.4}.muted{color:var(--muted)}.field{gap:7px;margin-top:18px;display:grid}.field label{font-size:13px;font-weight:650}.input,.select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:11px;outline:none;padding:12px 13px}.input:focus,.select:focus{border-color:var(--green);box-shadow:0 0 0 3px #176b4d1a}.btn{background:var(--green);color:#fff;border:0;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:12px 16px;font-weight:700;display:inline-flex}.btn:hover{filter:brightness(.94)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{color:var(--ink);background:#e9eee9}.btn-danger{color:#a83918;background:#fee7df}.btn-wide{width:100%;margin-top:22px}.text-btn{color:var(--green);background:0 0;border:0;padding:0;font-weight:700}.error{color:#b33c1e;margin-top:12px;font-size:13px}.success{color:var(--green);margin-top:12px;font-size:13px}.app-shell{grid-template-columns:244px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--ink);color:#fff;flex-direction:column;height:100vh;padding:28px 20px;display:flex;position:sticky;top:0}.sidebar .wordmark{padding:0 10px 34px}.nav{gap:6px;display:grid}.nav a{color:#b9c5bf;border-radius:10px;align-items:center;gap:10px;min-height:44px;padding:11px 12px;font-size:14px;text-decoration:none;display:flex}.nav a:hover,.nav a.active{color:#fff;background:#ffffff17}.nav-mobile,.mobile-more-panel,.mobile-more-backdrop,.nav-label-short{display:none}.sidebar-foot{border-top:1px solid #ffffff1f;margin-top:auto;padding-top:18px}.logout-btn{color:#b9c5bf;background:0 0;border:0;align-items:center;gap:9px;min-height:44px;padding:8px 10px;font-weight:700;display:flex}.logout-btn:hover{color:#fff}.main{width:100%;min-width:0;max-width:1500px;margin:auto;padding:36px clamp(24px,4vw,58px) 64px}.page-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--green);font-size:12px;font-weight:800}.page-head h1{letter-spacing:-.05em;margin:4px 0 0;font-size:38px}.page-head p{color:var(--muted);margin:8px 0 0}.grid{gap:18px;display:grid}.stats{grid-template-columns:repeat(3,minmax(0,1fr))}.stat,.card{background:var(--paper);border:1px solid var(--line);border-radius:17px;min-width:0;padding:21px}.stat strong{overflow-wrap:anywhere;letter-spacing:-.045em;margin-top:10px;font-size:clamp(25px,3vw,30px);display:block}.stat span{color:var(--muted);font-size:13px}.accent{background:var(--lime);border-color:#c5dc3c}.accent span{color:#405014}.content-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);margin-top:18px}.card h2{letter-spacing:-.025em;margin:0 0 18px;font-size:18px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.toolbar .input,.toolbar .select{width:auto;min-width:150px}.table-wrap{border:1px solid var(--line);background:var(--paper);-webkit-overflow-scrolling:touch;border-radius:14px;max-width:100%;overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px 15px;font-size:13px}th{text-transform:uppercase;letter-spacing:.09em;color:var(--muted);background:#f9f7f1;font-size:11px}tr:last-child td{border-bottom:0}.amount{font-family:var(--font-geist-mono);font-weight:750}.amount-cell{text-align:right}.badge{background:#e9eee9;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge-warn{color:#7a5600;background:#fff0c7}.badge-good{color:#126044;background:#daf1e6}.badge-installment{color:#51439b;white-space:nowrap;background:#e8e6fb}.empty{text-align:center;color:var(--muted);padding:42px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .field{margin-top:0}.span-2{grid-column:span 2}.modal-card{margin-bottom:20px}.method-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.method-select{width:min(260px,100%)}.method-icon{background:#e4eee8;border-radius:13px;flex:none;place-items:center;width:44px;height:44px;display:grid}.method-meta{align-items:center;gap:13px;min-width:0;display:flex}.method-meta h3{margin:0 0 4px;font-size:15px}.method-meta p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:12px}.method-list{grid-template-columns:repeat(2,minmax(0,1fr))}.sticky-action{justify-content:flex-end;margin-top:20px;display:flex}.offline-page{place-items:center;min-height:100dvh;padding:24px;display:grid}.offline-card{text-align:center;background:var(--paper);border:1px solid var(--line);border-radius:24px;width:min(520px,100%);padding:clamp(28px,7vw,48px);box-shadow:0 20px 60px #14231d14}.offline-card h1{letter-spacing:-.055em;margin:14px 0 10px;font-size:clamp(30px,8vw,46px)}.offline-card p{max-width:410px;color:var(--muted);margin:0 auto 24px;line-height:1.65}.app-icon{border:10px solid var(--ink);background:var(--lime);letter-spacing:-.08em;border-radius:22px;place-items:center;width:76px;height:76px;margin:0 auto 24px;font-size:42px;font-weight:800;display:grid}.editor-title,.editor-actions,.tag-create{justify-content:space-between;align-items:center;gap:12px;display:flex}.editor-title h2{margin:5px 0 18px}.editor-actions{justify-content:flex-end;margin-top:20px}.tag-picker,.tag-list{flex-wrap:wrap;gap:8px;display:flex}.tag-option{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;font-weight:650;display:inline-flex}.tag-option.selected{border-color:var(--green);color:#126044;background:#daf1e6}.tag-option input{accent-color:var(--green)}.tag-create{justify-content:flex-start;margin-top:2px}.tag-create .input{max-width:320px}.tag-chip{color:#17543f;background:#e4eee8;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:700;display:inline-flex}.tag-help{font-size:12px}.icon-btn{border:1px solid var(--line);width:36px;height:36px;color:var(--green);background:#fff;border-radius:9px;place-items:center;display:grid}.icon-btn:hover{background:#e9eee9}.icon-btn:disabled{opacity:.55;cursor:not-allowed}.icon-btn.danger{color:#b33c1e}.method-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.check-row{cursor:pointer;grid-column:span 2;align-items:center;gap:8px;font-size:13px;display:flex}.check-row input{width:17px;height:17px;accent-color:var(--green)}.filter-card{margin-bottom:16px}.filter-heading,.filter-actions,.list-summary,.import-total{justify-content:space-between;align-items:center;gap:12px;display:flex}.filter-heading h2{margin:4px 0 0}.filter-grid{grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px;margin-top:18px;display:grid}.transaction-filters{grid-template-columns:repeat(3,minmax(180px,1fr))}.filter-grid .field{margin:0}.filter-actions{justify-content:flex-end;margin-top:16px}.list-summary{color:var(--muted);flex-wrap:wrap;justify-content:flex-start;margin:4px 2px 16px;font-size:13px}.list-summary span+span{border-left:1px solid var(--line);padding-left:16px}.list-summary strong{color:var(--ink)}.import-total{white-space:nowrap;flex-direction:column;align-items:flex-end}.import-total span{color:var(--muted);font-size:12px}.import-total strong{font-size:24px}.transaction-list-toolbar{justify-content:flex-end;align-items:flex-end;gap:12px;margin:4px 0 18px;display:flex}.transaction-list-toolbar .list-summary{margin:0 auto 0 2px}.sort-control{gap:5px;min-width:220px;display:grid}.sort-control>span{color:var(--muted);font-size:12px;font-weight:650}.inline-editor-cell{background:#f9f7f1;padding:18px 20px!important}.inline-transaction-editor{width:100%}.inline-transaction-editor .editor-title h2{margin-bottom:18px}.category-totals-card{margin-bottom:20px}.category-totals-head{justify-content:space-between;align-items:end;gap:16px;margin-bottom:18px;display:flex}.category-totals-head h2{margin:5px 0 0}.category-totals-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.category-totals-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;display:grid}.category-total{border:1px solid var(--line);min-width:0;color:var(--ink);text-align:left;background:#f9f7f1;border-radius:13px;padding:14px;transition:border-color .16s,background .16s,box-shadow .16s}.category-total:hover{background:#fff;border-color:#aebbb4}.category-total.selected{border-color:var(--green);background:#e4eee8;box-shadow:0 0 0 2px #176b4d1a}.category-total-name{align-items:center;gap:8px;min-width:0;font-size:13px;font-weight:700;display:flex}.category-total-name i{border-radius:50%;flex:none;width:9px;height:9px}.category-total-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-total strong{overflow-wrap:anywhere;margin-top:12px;font-size:18px;display:block}.category-total small{color:var(--muted);margin-top:5px;display:block}.timeline-card{margin-top:18px}.timeline-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.timeline-head h2{margin:5px 0 0}.timeline-controls{align-items:center;gap:10px;display:flex}.period-tabs{border:1px solid var(--line);background:#f2efe8;border-radius:11px;padding:4px;display:flex}.period-tabs button{min-height:34px;color:var(--muted);background:0 0;border:0;border-radius:8px;padding:7px 10px;font-size:12px;font-weight:750}.period-tabs button.active{background:var(--paper);color:var(--green);box-shadow:0 2px 8px #14231d14}.timeline-period-input{width:145px;padding:9px 10px}.timeline-chart{height:320px;margin-top:20px}.dashboard-range-toolbar{justify-content:flex-end;align-items:flex-end;gap:12px;min-width:0;max-width:100%;margin-bottom:18px;display:flex}.dashboard-range-toolbar>.field,.custom-date-range .field{min-width:0;max-width:100%;margin:0}.dashboard-range-toolbar .input{min-width:160px;max-width:100%}.custom-date-range{align-items:flex-end;gap:10px;min-width:0;max-width:100%;display:flex}.custom-date-range .field{flex:160px}.custom-date-range input[type=date]{width:100%;min-width:0;max-width:100%;display:block}.review-edit-toolbar{border:1px solid var(--line);background:var(--paper);border-radius:14px;justify-content:space-between;align-items:center;gap:18px;margin:0 0 14px;padding:14px 16px;display:flex}.review-edit-toolbar>div{gap:4px;display:grid}.review-edit-toolbar>div span{color:var(--muted);font-size:12px}.review-edit-toolbar .tag-create{flex-wrap:nowrap;margin:0}.review-edit-toolbar .input{min-width:190px}.import-review-table table{min-width:1040px}.inline-select{min-width:155px;padding:8px 10px;font-size:12px}.inline-tag-picker{min-width:170px}.inline-tag-picker summary{border:1px solid var(--line);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:10px;max-width:210px;padding:9px 10px;font-size:12px;font-weight:650;overflow:hidden}.inline-tag-picker[open] summary{border-color:var(--green)}.inline-tag-options{flex-wrap:wrap;gap:6px;width:260px;padding:10px 0 2px;display:flex}.inline-tag-options .tag-option{padding:6px 8px}.row-saving,.row-excluded{opacity:.66}@media (max-width:1100px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.main{padding-inline:28px}.content-grid,.method-list{grid-template-columns:1fr}.filter-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media (max-width:900px){.auth-page{grid-template-columns:1fr}.brand-panel{min-height:42vh;padding:32px}.auth-panel{padding:30px 22px 42px}.app-shell{display:block}.sidebar{z-index:50;height:auto;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left));position:fixed;inset:auto 0 0;box-shadow:0 -10px 35px #14231d29}.sidebar .wordmark,.sidebar-foot,.nav-desktop{display:none}.nav-mobile{grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;width:100%;display:grid}.nav-mobile a,.nav-mobile>button{color:#b9c5bf;text-align:center;background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:58px;padding:7px 4px;font-size:11px;display:flex}.nav-mobile a:hover,.nav-mobile a.active,.nav-mobile>button:hover,.nav-mobile>button.active{color:#fff;background:#ffffff17}.nav-label{display:none}.nav-label-short{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.mobile-more-backdrop{z-index:-2;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14231d33;border:0;display:block;position:fixed;inset:0}.mobile-more-panel{z-index:-1;left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));background:var(--paper);color:var(--ink);border:1px solid #14231d1a;border-radius:18px;padding:16px;display:block;position:absolute;bottom:calc(100% + 10px);box-shadow:0 18px 50px #14231d38}.mobile-more-head{border-bottom:1px solid var(--line);gap:3px;padding:2px 4px 13px;display:grid}.mobile-more-head strong{font-size:15px}.mobile-more-head span{color:var(--muted);font-size:12px}.mobile-more-panel nav{gap:5px;padding-top:8px;display:grid}.mobile-more-panel a,.mobile-more-panel nav button{width:100%;min-height:48px;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:11px;padding:11px 12px;font-size:14px;font-weight:650;text-decoration:none;display:flex}.mobile-more-panel a:hover,.mobile-more-panel a.active,.mobile-more-panel nav button:hover{color:var(--green);background:#e9eee9}.mobile-more-panel .mobile-more-logout{color:#a83918}.main{padding:28px 22px calc(104px + env(safe-area-inset-bottom))}.page-head{flex-direction:column;align-items:start}.page-head h1{font-size:clamp(31px,7vw,38px)}}@media (max-width:700px){.hero-copy h1{font-size:clamp(39px,12vw,58px)}.hero-copy p{font-size:16px}.stats,.form-grid,.filter-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.toolbar{align-items:stretch}.toolbar .btn,.toolbar .field,.toolbar .input,.toolbar .select{width:100%}.method-card{flex-direction:column;align-items:flex-start}.method-select{width:100%}.import-total{align-items:flex-start}.category-totals-head{flex-direction:column;align-items:flex-start}.category-totals-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-edit-toolbar{flex-direction:column;align-items:stretch}.review-edit-toolbar .tag-create{flex-direction:column;width:100%}.review-edit-toolbar .input,.review-edit-toolbar .btn{width:100%;max-width:none}.transaction-list-toolbar{flex-direction:column;align-items:stretch}.transaction-list-toolbar .list-summary{margin:0}.sort-control,.transaction-list-toolbar>.btn{width:100%}.tag-create,.editor-actions,.filter-actions{flex-direction:column;align-items:stretch}.tag-create .input,.tag-create .btn,.editor-actions .btn,.filter-actions .btn{width:100%;max-width:none}.responsive-table{background:0 0;border:0;overflow:visible}.responsive-table table,.responsive-table tbody{min-width:0;display:block}.responsive-table thead{display:none}.responsive-table tbody{gap:12px;display:grid}.responsive-table tr{content-visibility:auto;contain-intrinsic-size:0 190px;border:1px solid var(--line);background:var(--paper);border-radius:14px;padding:13px 15px;display:grid;box-shadow:0 5px 18px #14231d09}.responsive-table td{overflow-wrap:anywhere;border:0;grid-template-columns:minmax(76px,.35fr) minmax(0,1fr);align-items:start;gap:10px;padding:7px 0;display:grid}.responsive-table td:before{content:attr(data-label);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.responsive-table .table-action{border-top:1px solid var(--line);justify-content:flex-end;margin-top:5px;padding-top:12px;display:flex}.responsive-table .transaction-edit-row{content-visibility:visible;contain-intrinsic-size:none;padding:16px}.responsive-table .inline-editor-cell{background:0 0;display:block;padding:0!important}.responsive-table .inline-editor-cell:before{display:none}.inline-select,.inline-tag-picker,.inline-tag-picker summary,.inline-tag-options{width:100%;max-width:none}.responsive-table .table-action:before{display:none}.sticky-action{z-index:20;bottom:calc(82px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--cream) 32%);margin:16px -8px -8px;padding:10px 8px;position:sticky}.sticky-action .btn{width:100%}}.upload-card{margin-bottom:16px}.upload-form{gap:12px;display:grid}.upload-form .filter-actions{margin-top:0}.processing-card{max-width:720px}.loading-bar{background:var(--line);border-radius:99px;height:5px;margin-top:24px;overflow:hidden}.loading-bar:after{content:"";border-radius:inherit;background:var(--green);width:42%;height:100%;animation:1.2s ease-in-out infinite loading-slide;display:block}@keyframes loading-slide{0%{transform:translate(-110%)}to{transform:translate(260%)}}@media (max-width:700px){.dashboard-range-toolbar,.custom-date-range,.timeline-head,.timeline-controls{flex-direction:column;align-items:stretch}.dashboard-range-toolbar,.custom-date-range,.dashboard-range-toolbar .field,.dashboard-range-toolbar .input,.timeline-controls,.period-tabs,.timeline-period-input{width:100%;min-width:0;max-width:100%}.custom-date-range .field{flex:0 auto}.period-tabs button{flex:1;min-width:0}.timeline-chart{height:280px}}@media (max-width:480px){.brand-panel{min-height:36vh;padding:24px}.brand-panel .feature-strip{display:none}.auth-panel{padding:20px 14px 34px}.auth-card{border-radius:19px;padding:24px 20px}.main{padding-inline:14px}.stat,.card{padding:18px}.category-totals-grid{grid-template-columns:1fr}.empty{padding:34px 18px}.page-head{margin-bottom:22px}.nav-mobile a,.nav-mobile>button{padding-inline:1px;font-size:10px}}.landing-page{background:var(--cream);min-height:100vh;overflow:hidden}.landing-nav{justify-content:space-between;align-items:center;max-width:1240px;height:82px;margin:auto;padding:0 30px;display:flex}.landing-wordmark{color:var(--ink);letter-spacing:-.055em;font-size:24px;font-weight:800;text-decoration:none}.landing-wordmark span{color:var(--orange)}.landing-links{align-items:center;gap:30px;display:flex}.landing-links>a{color:var(--muted);font-size:13px;font-weight:650;text-decoration:none}.landing-links>a:hover{color:var(--ink)}.landing-login-link{border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:10px;padding:10px 16px;font-size:13px;font-weight:750}.landing-login-link:hover{border-color:var(--green);color:var(--green)}.landing-menu{color:var(--ink);background:0 0;border:0;display:none}.landing-hero{grid-template-columns:minmax(0,.96fr) minmax(420px,.84fr);align-items:center;gap:42px;max-width:1240px;margin:0 auto;padding:78px 30px 116px;display:grid}.landing-hero-copy{z-index:1;position:relative}.landing-eyebrow{align-items:center;gap:9px;display:flex}.eyebrow-dot{background:var(--orange);border-radius:50%;width:8px;height:8px;display:inline-block}.landing-hero h1{letter-spacing:-.075em;max-width:720px;margin:20px 0 26px;font-size:clamp(48px,6.1vw,82px);line-height:.96}.landing-hero h1 em{color:var(--green);font-style:normal}.landing-lead{max-width:530px;color:var(--muted);margin:0;font-size:18px;line-height:1.65}.landing-actions{align-items:center;gap:25px;margin-top:34px;display:flex}.landing-primary{border-radius:12px;padding:14px 19px}.landing-secondary{color:var(--ink);font-size:13px;font-weight:750;text-decoration:none}.landing-secondary span{color:var(--green);margin-left:5px;font-size:18px}.landing-trust{color:var(--muted);align-items:center;gap:8px;margin-top:32px;font-size:12px;display:flex}.landing-trust svg{color:var(--green)}.landing-trust i{background:#b9c1bb;border-radius:50%;width:4px;height:4px;margin:0 4px}.hero-visual{place-items:center;min-height:510px;display:grid;position:relative}.hero-visual:before{content:"";background:var(--lime);opacity:.9;border-radius:50%;width:460px;height:460px;position:absolute}.hero-orbit{border:1px solid #176b4d2b;border-radius:50%;position:absolute}.orbit-one{width:530px;height:300px;transform:rotate(-28deg)}.orbit-two{width:410px;height:410px}.dashboard-preview{background:var(--paper);border:1px solid #14231d1c;border-radius:18px;width:min(400px,88%);position:relative;overflow:hidden;transform:rotate(4deg);box-shadow:0 28px 55px #14231d29}.preview-top{border-bottom:1px solid var(--line);background:#fcfaf5;align-items:center;gap:5px;height:37px;padding:0 14px;display:flex}.preview-top small{color:var(--muted);margin-left:auto;font-size:9px;font-weight:800}.preview-dot{background:#d8d4c9;border-radius:50%;width:6px;height:6px}.preview-dot:first-child{background:var(--orange)}.preview-content{padding:26px 25px 24px}.preview-content h3{letter-spacing:-.05em;margin:5px 0 20px;font-size:22px}.preview-stat{justify-content:space-between;align-items:end;display:flex}.preview-stat strong{letter-spacing:-.07em;font-size:30px}.preview-stat span{color:var(--muted);font-size:10px}.preview-stat b{color:var(--green)}.preview-chart{border-bottom:1px solid var(--line);align-items:end;gap:9px;height:112px;margin:23px 0 18px;padding-bottom:1px;display:flex}.preview-chart span{background:#c8d9ce;border-radius:5px 5px 0 0;flex:1}.preview-chart span.active{background:var(--green)}.preview-row{border-top:1px solid #eeece5;justify-content:space-between;align-items:center;margin-top:11px;padding:12px 0 0;font-size:11px;display:flex}.preview-row span{align-items:center;gap:8px;display:flex}.preview-row strong{font-size:12px}.preview-icon{border-radius:7px;place-items:center;width:24px;height:24px;font-style:normal;font-weight:800;display:grid}.preview-icon.lime{color:#61730f;background:#edf6b9}.preview-icon.orange{color:#bd4f25;background:#fde3d7}.landing-section{max-width:1240px;margin:0 auto;padding:100px 30px}.feature-section{border-top:1px solid var(--line);grid-template-columns:.75fr 1.25fr;gap:70px;display:grid}.section-intro h2{letter-spacing:-.07em;margin:15px 0 0;font-size:clamp(36px,4vw,56px);line-height:1}.section-intro h2 span{color:var(--green)}.feature-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.landing-feature{border-top:2px solid var(--ink);padding:24px 0;position:relative}.feature-icon{border-radius:12px;place-items:center;width:44px;height:44px;margin-bottom:34px;display:grid}.feature-icon-0{color:var(--green);background:#dcefdc}.feature-icon-1{background:var(--lime);color:#536414}.feature-icon-2{color:var(--orange);background:#fde0d2}.feature-number{color:#9ca7a0;font-size:11px;font-weight:800;position:absolute;top:30px;right:0}.landing-feature h3{letter-spacing:-.03em;margin:0 0 10px;font-size:17px;line-height:1.2}.landing-feature p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.pricing-section{background:var(--green);color:#fff;grid-template-columns:minmax(250px,.8fr) minmax(500px,1.2fr);gap:70px;max-width:none;padding-left:max(30px,50vw - 590px);padding-right:max(30px,50vw - 590px);display:grid}.pricing-intro .eyebrow,.pricing-intro h2 span{color:var(--lime)}.pricing-intro>p:last-child{color:#c9dfd2;margin-top:25px;font-size:14px;line-height:1.6}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.price-card{color:var(--ink);background:#fffdf8;border-radius:18px;flex-direction:column;padding:29px;display:flex;position:relative}.price-card.featured{background:var(--lime)}.popular-badge{color:#536414;letter-spacing:.09em;font-size:10px;font-weight:850;position:absolute;top:22px;right:22px}.price-card-head h3{letter-spacing:-.05em;margin:0 0 8px;font-size:23px}.price-card-head p{color:var(--muted);max-width:180px;min-height:35px;margin:0;font-size:12px;line-height:1.45}.price{align-items:baseline;gap:5px;margin:27px 0 24px;display:flex}.price strong{letter-spacing:-.07em;font-size:42px}.price span{color:var(--muted);font-size:12px}.price-card ul{flex:1;gap:12px;margin:0 0 28px;padding:0;list-style:none;display:grid}.price-card li{align-items:center;gap:8px;font-size:12px;display:flex}.price-card li svg{color:var(--green)}.price-card .btn{width:100%;font-size:12px}.btn-lime{background:var(--ink);color:var(--lime)}.landing-footer{align-items:center;gap:22px;max-width:1240px;margin:auto;padding:38px 30px;display:flex}.landing-footer p{color:var(--muted);margin:0 auto 0 0;font-size:12px}.landing-footer .text-btn{align-items:center;gap:7px;display:flex}.auth-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#14231d94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.auth-modal{width:min(460px,100%);max-height:calc(100vh - 40px);position:relative;overflow:auto}.auth-modal .auth-card{box-shadow:0 25px 80px #00000038}.modal-close{z-index:2;border:1px solid var(--line);background:var(--paper);width:35px;height:35px;color:var(--muted);border-radius:50%;place-items:center;display:grid;position:absolute;top:15px;right:15px}.modal-close:hover{color:var(--ink)}@media (max-width:900px){.landing-hero{grid-template-columns:1fr;padding-top:48px;padding-bottom:75px}.landing-hero-copy{text-align:center}.landing-eyebrow,.landing-actions,.landing-trust{justify-content:center}.landing-lead{margin-inline:auto}.hero-visual{min-height:440px}.feature-section,.pricing-section{grid-template-columns:1fr;gap:40px}.pricing-section{padding-left:30px;padding-right:30px}.pricing-intro{text-align:center}.pricing-intro .eyebrow{justify-content:center}.pricing-intro>p:last-child{margin-top:18px}.landing-footer{padding-bottom:100px}}@media (max-width:600px){.landing-nav{height:70px;padding:0 20px}.landing-links{z-index:10;background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:stretch;gap:4px;padding:12px;display:none;position:absolute;top:70px;left:14px;right:14px;box-shadow:0 15px 35px #14231d1f}.landing-links.open{display:flex}.landing-links>a,.landing-login-link{text-align:left;padding:12px}.landing-menu{display:block}.landing-hero{padding:40px 20px 55px}.landing-hero h1{font-size:clamp(44px,13vw,64px)}.landing-lead{font-size:16px}.landing-actions{flex-direction:column;align-items:stretch;gap:17px}.landing-trust{flex-wrap:wrap}.hero-visual{min-height:340px}.hero-visual:before{width:300px;height:300px}.dashboard-preview{width:94%}.orbit-one{width:360px;height:220px}.orbit-two{width:300px;height:300px}.landing-section{padding:70px 20px}.feature-section{gap:38px}.feature-grid,.pricing-grid{grid-template-columns:1fr}.pricing-section{padding-left:20px;padding-right:20px}.landing-footer{flex-wrap:wrap;align-items:flex-start;padding:30px 20px 90px}.landing-footer p{order:3;width:100%;margin-top:6px}.price-card{padding:25px}}.subscription-page{gap:18px;display:grid}.subscription-hero{justify-content:space-between;align-items:center;gap:24px;display:flex}.subscription-hero h2{letter-spacing:-.04em;margin:5px 0 8px;font-size:26px}.plan-pill{background:#e9eee9;border-radius:999px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;font-weight:800;display:inline-flex}.plan-pill.pro{background:var(--lime);color:#405014}.subscription-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:18px;display:flex}.subscription-usage{letter-spacing:-.04em;font-size:24px}.feature-list{gap:12px;margin-top:18px;display:grid}.feature-row{align-items:center;gap:9px;font-size:13px;display:flex}.feature-row svg{color:var(--green);flex:none}.subscription-request{gap:18px;display:grid}.subscription-request h2{margin:5px 0 8px}.request-form{gap:10px;max-width:680px;display:grid}.request-form .field{margin-top:0}.request-form .btn{justify-self:start;margin-top:6px}.request-pending{background:#fff8df;border-radius:12px;padding:15px}.request-pending p{margin:9px 0 0;font-size:13px}.admin-request-list{gap:10px;display:grid}.admin-request{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;display:flex}.admin-request:hover,.admin-request.selected{border-color:var(--green);box-shadow:0 0 0 2px #176b4d14}.admin-request p{margin:4px 0 0;font-size:12px}.admin-request-meta{color:var(--muted);justify-items:end;gap:8px;font-size:12px;display:grid}.admin-editor{margin-top:18px}.admin-editor .editor-title{align-items:flex-start}.admin-message{color:var(--muted);white-space:pre-wrap;background:#f9f7f1;border-radius:11px;margin:0 0 16px;padding:13px 15px;font-size:13px}.admin-subscriptions .toolbar{margin-top:18px}.admin-subscriptions .toolbar .input{flex:1;min-width:220px}@media (max-width:700px){.subscription-hero{flex-direction:column;align-items:flex-start}.subscription-grid{grid-template-columns:1fr}.admin-request{flex-direction:column;align-items:flex-start}.admin-request-meta{justify-items:start}.request-form .btn{width:100%}}.admin-plan-settings{margin-bottom:18px}.plan-settings-help{font-size:13px;line-height:1.55}.plan-settings-list{gap:12px;margin-top:18px;display:grid}.plan-settings-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:14px 0;display:flex}.plan-settings-row>div:first-child{gap:4px;display:grid}.plan-settings-row>div:first-child span{font-size:12px}.plan-limit-fields{align-items:flex-end;gap:10px;display:flex}.plan-limit-fields label{color:var(--muted);gap:6px;font-size:11px;font-weight:750;display:grid}.plan-limit-fields .input{width:115px;padding:9px 10px}.plan-limit-fields .btn{min-height:40px;padding:9px 12px}@media (max-width:700px){.plan-settings-row{flex-direction:column;align-items:stretch}.plan-limit-fields{flex-wrap:wrap;align-items:stretch}.plan-limit-fields label{flex:1}.plan-limit-fields .input,.plan-limit-fields .btn{width:100%}}
