@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.2o7k1_w7_w7bj.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.12jnqtfk91av5.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-sans-latin-500-normal.2f4st7_5x_v78.woff2)format("woff2"),url(../media/dm-sans-latin-500-normal.366wxi7rk3-vz.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.32n_x70livn_1.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.2tavyc8arpb_3.woff)format("woff")}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(../media/dm-sans-latin-700-normal.0lo5o3yaiuo13.woff2)format("woff2"),url(../media/dm-sans-latin-700-normal.3frjp6l305o-t.woff)format("woff")}
:root{--bg:#fff;--ink:#141d19;--muted:#738079;--line:#e5eae7;--green:#164d39;--green-light:#eaf3ed;--red:#c54748;--radius:11px;--sidebar:224px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:DM Sans,Arial,sans-serif;font-size:14px;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #77b794}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{letter-spacing:-1.1px;font-size:30px;font-weight:700;line-height:1.25}h2{letter-spacing:-.4px;font-size:17px;font-weight:650}h3{font-size:16px;font-weight:600}small{font-size:11px}svg{flex-shrink:0}input:not([type=checkbox]):not([type=color]),select,textarea{min-height:42px;color:var(--ink);background:#fff;border:1px solid #dfe6e1;border-radius:7px;max-width:100%;padding:9px 12px}input[type=checkbox]{width:17px;height:17px;accent-color:var(--green)}input[type=color]{border:1px solid var(--line);background:#fff;border-radius:7px;width:100%;height:42px;padding:5px}textarea{resize:vertical}select{padding-right:25px}input::placeholder{color:#8a958e}label{cursor:pointer}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}thead{background:#f8faf8}th{color:#66736b;white-space:nowrap;padding:11px 12px;font-weight:500}td{vertical-align:middle;border-bottom:1px solid #edf0ed;padding:13px 12px}tr:last-child td{border-bottom:0}td strong{font-weight:500}td small{color:var(--muted);margin-top:3px;display:block}.number{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.muted{color:var(--muted)}.positive{color:#176044}.negative{color:var(--red)}.transfer-amount{color:#587587}.hint{color:var(--muted);font-size:12px;line-height:1.6}.button{border:1px solid var(--green);background:var(--green);color:#fff;white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 15px;font-size:12px;font-weight:550;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.button:hover:not(:disabled){background:#0e3e2c;border-color:#0e3e2c}.button.secondary{border-color:var(--line);color:var(--ink);background:#fff}.button.secondary:hover:not(:disabled){background:#f3f7f4;border-color:#c5d4ca}.button.small{min-height:34px;padding:6px 11px}.text-button{color:var(--green);white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:6px 0;font-size:12px;font-weight:550;display:inline-flex}.text-button:hover{text-decoration:underline}.text-button.danger{color:var(--red)}.icon-button{color:#718177;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:31px;height:31px;display:inline-flex}.icon-button:hover{color:var(--green);background:#edf3ef}.icon-button.outlined{border:1px solid var(--line);width:36px;height:36px}.app-shell{min-height:100vh}.sidebar{width:var(--sidebar);border-right:1px solid var(--line);z-index:20;background:#fcfdfc;flex-direction:column;padding:32px 19px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--green);letter-spacing:-1.4px;align-items:center;gap:9px;font-size:27px;font-weight:700;line-height:1;text-decoration:none;display:inline-flex}.brand-dot{margin-left:-8px}.brand-mark{background:var(--green);color:#fff;letter-spacing:-3px;border-radius:60% 35%;justify-content:center;align-items:center;width:28px;height:30px;padding-right:4px;font-size:23px;font-style:italic;font-weight:700;display:inline-flex}.sidebar>.brand{margin:2px 14px 40px}.sidebar nav{flex-direction:column;gap:8px;display:flex}.nav-item{text-align:left;color:#4b5850;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;width:100%;min-height:43px;padding:11px 13px;font-size:12px;font-weight:450;display:flex}.nav-item:hover{background:#f0f5f1}.nav-item.selected{color:var(--green);background:#e8f2eb;font-weight:600}.sidebar-bottom{margin-top:auto;padding-top:35px}.analyst-nav{text-align:left;width:100%;color:var(--green);background:#edf4ef;border:0;border-radius:8px;align-items:center;gap:8px;padding:12px 10px;display:flex}.analyst-nav span{flex:1;font-size:11px;font-weight:600}.analyst-nav small{color:#6a8273;margin-top:3px;font-size:9px;font-weight:400;display:block}.profile{border-top:1px solid var(--line);align-items:center;gap:9px;margin:24px 4px 0;padding-top:20px;display:flex}.avatar{width:32px;height:32px;color:var(--green);background:#e9eeeb;border-radius:50%;justify-content:center;align-items:center;display:flex}.profile strong{font-size:10px;font-weight:550}.profile small{color:var(--muted);font-size:9px;display:block}.main{margin-left:var(--sidebar);max-width:1640px;padding:0 38px 28px}.utility-row{border-bottom:1px solid #eff2ef;justify-content:space-between;align-items:center;height:70px;margin-bottom:30px;display:flex}.workspace-label{color:#829087;font-size:11px}.utility-actions{align-items:center;gap:21px;display:flex}.save-state{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.save-state i{background:#64997a;border-radius:50%;width:5px;height:5px}.save-state.is-saving i{background:#d3a459}.locale-toggle{border:1px solid var(--line);background:#fff;border-radius:6px;min-width:34px;min-height:30px;padding:5px 9px;font-size:10px;font-weight:600}.page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.page-header p{color:var(--muted);margin-top:7px;font-size:14px}.header-actions{align-items:center;gap:10px;display:flex}.header-actions input{min-width:140px;max-width:165px;font-size:11px;min-height:42px!important}.demo-banner{color:#425b4d;background:#f0f5f2;border:1px solid #e7efea;border-radius:8px;align-items:flex-start;gap:9px;margin-bottom:24px;padding:11px 14px;font-size:11px;display:flex}.demo-banner svg{margin-top:2px}.demo-banner strong{font-weight:550}.demo-banner span{color:#7b897f;margin-top:2px;font-size:10px;display:block}.status-banner{color:var(--green);background:#f0f7f2;border:1px solid #d4e9d9;border-radius:8px;align-items:center;gap:10px;margin-bottom:20px;padding:10px 14px;font-size:12px;display:flex}.status-banner span{flex:1}.status-banner.error{color:#aa403d;background:#fff3f2;border-color:#efd5d1}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px;display:grid}.metric{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:21px 20px}.metric-label{color:#3f4a43;align-items:center;gap:10px;margin-bottom:10px;font-size:11px;display:flex}.metric-label svg{color:var(--green)}.metric-expense .metric-label svg{color:var(--red)}.metric>strong{letter-spacing:-.8px;font-variant-numeric:tabular-nums;font-size:27px;font-weight:600;line-height:1.3}.metric p{color:#89928c;margin-top:11px;font-size:10px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;margin-bottom:22px;padding:22px}.section-head{justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;display:flex}.section-head p{color:var(--muted);margin-top:5px;font-size:12px}.chart{width:100%;overflow:hidden}.chart svg{width:100%;height:auto;min-height:160px;display:block}.chart text{fill:#7b887f;font:11px DM Sans,Arial,sans-serif}.chart-footnote{color:#93a097;padding-top:12px;font-size:10px}.overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:22px;display:grid}.category-bars{flex-direction:column;gap:18px;padding:3px 0 10px;display:flex}.category-row{grid-template-columns:minmax(95px,1.2fr) auto 30px minmax(40px,1fr);align-items:center;gap:13px;font-size:11px;display:grid}.category-name{align-items:center;gap:8px;min-width:0;display:flex}.category-name i,.category-label i{border-radius:50%;flex-shrink:0;width:7px;height:7px}.category-row strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.bar-track{background:#eef1ee;border-radius:2px;height:7px;overflow:hidden}.bar-track>div{background:var(--green);border-radius:2px;max-width:100%;height:100%;transition:width .25s}.category-label{align-items:center;gap:7px;font-size:11px;display:inline-flex}.recent-panel{padding:22px 18px}.recent-panel .section-head{margin-bottom:17px;padding:0 4px}.compact{font-size:10px}.compact th{padding:8px 7px;font-size:9px}.compact td{padding:11px 7px}.compact .category-label,.compact .date-cell{font-size:9px}.compact .amount{font-size:10px}.compact td:nth-child(2){min-width:110px}.table-scroll{width:100%;overflow:auto}.amount{font-weight:500}.date-cell{color:#7a887f;white-space:nowrap;font-size:11px}.match-label{font-size:9px;color:#5d8e71!important}.row-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:3px;display:flex}.history-bars{border-bottom:1px solid var(--line);grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:16px;height:173px;margin:9px 0 11px;display:grid}.history-month{flex-direction:column;align-items:center;gap:10px;height:100%;display:flex}.history-month>span{color:var(--muted);font-size:10px}.history-pair{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:135px;display:flex}.history-pair div{background:#226445;border-radius:3px 3px 0 0;width:18px}.history-pair div:nth-child(2){background:#aec6b8}.legend{color:var(--muted);justify-content:center;gap:19px;margin:16px 0 2px;font-size:10px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend i{background:#226445;border-radius:2px;width:7px;height:7px}.legend .expense-legend{background:#aec6b8}.chart-details{color:var(--muted);margin-top:18px;font-size:11px}.chart-details summary{cursor:pointer;padding:8px 0;display:list-item}.chart-details table{margin-top:10px}.transaction-toolbar{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.transaction-toolbar select{font-size:11px}.search-field{border:1px solid var(--line);color:#8c988f;border-radius:7px;flex:1;align-items:center;gap:8px;min-width:180px;padding:0 10px;display:flex}.search-field input{outline-offset:0;width:100%;min-width:100px;border:0!important;padding:9px 0!important}.list-caption{color:var(--muted);padding:20px 0 14px;font-size:10px}.forecast-controls{flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:30px;display:flex}.forecast-controls .field{flex:1;min-width:130px;margin:0}.forecast-controls .range-buttons{gap:7px;padding-bottom:4px;display:flex}.forecast-title{border-top:1px solid var(--line);padding-top:25px}.forecast-ending{letter-spacing:-.5px;white-space:nowrap;font-size:22px}.forecast-ending small{text-align:right;color:var(--muted);letter-spacing:0;font-size:10px;font-weight:400;display:block}.daily-table{max-height:420px}.daily-table thead{position:sticky;top:0}.account-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.account-card-top{justify-content:space-between;align-items:center;margin-bottom:25px;display:flex}.account-symbol{color:var(--green);background:#eef5f0;border-radius:12px;justify-content:center;align-items:center;width:47px;height:47px;display:flex}.account-card h2{margin-bottom:4px}.account-card p{font-size:12px}.account-value{letter-spacing:-.9px;margin-top:18px;font-size:29px;font-weight:550;display:block}.account-note{color:var(--muted);border-top:1px solid var(--line);margin-top:20px;padding-top:14px;font-size:10px}.net-worth-strip{background:#f3f7f4;border:1px solid #e4ece6;border-radius:10px;justify-content:space-between;align-items:center;gap:35px;margin-bottom:25px;padding:24px 28px;display:flex}.net-worth-strip span{color:var(--muted);font-size:11px;display:block}.net-worth-strip strong{letter-spacing:-.5px;font-size:23px;font-weight:550}.budget-list{margin-top:25px}.budget-item{margin-bottom:21px}.budget-item>div:first-child{justify-content:space-between;align-items:center;font-size:12px;display:flex}.budget-item p{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:11px;display:flex}.bar-track .over-budget{background:#c16a60}.goal-item{border-bottom:1px solid var(--line);padding:18px 0}.goal-item:last-of-type{border:0}.goal-item>div:first-child{justify-content:space-between;align-items:center;display:flex}.goal-item h3{font-size:13px}.goal-item>strong{margin:6px 0 14px;font-size:23px;font-weight:550;display:block}.goal-item .hint{margin-top:9px}.settings-section>p{max-width:760px;font-size:13px;line-height:1.7}.settings-section>.field{max-width:320px;margin-bottom:26px}.settings-section h3{margin-bottom:10px;font-size:14px}.settings-buttons{flex-wrap:wrap;gap:10px;margin-top:22px;margin-bottom:20px;display:flex}.signout{margin-top:20px;display:flex}.category-settings{grid-template-columns:1fr 1fr;gap:0 35px;display:grid}.category-settings>div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:12px 0;font-size:10px;display:flex}.category-settings .category-label{flex:1}.empty{text-align:center;max-width:480px;margin:auto;padding:38px 20px}.empty-icon{color:var(--green);background:#f1f6f2;border-radius:15px;justify-content:center;align-items:center;width:60px;height:60px;margin-bottom:20px;display:inline-flex}.empty h3{margin-bottom:8px}.empty p{color:var(--muted);max-width:350px;margin:0 auto 20px;font-size:12px;line-height:1.7}.quiet-empty{color:#8b978f;padding:30px 7px;font-size:12px;line-height:1.7}.app-footer{color:#93a096;justify-content:space-between;align-items:center;padding:12px 0 4px;font-size:10px;display:flex}.mobile-top,.mobile-nav{display:none}.modal{border:1px solid var(--line);width:min(520px,100% - 30px);max-height:90dvh;color:var(--ink);background:#fff;border-radius:14px;padding:0;box-shadow:0 24px 110px #10251b25}.modal-wide{width:min(980px,100% - 30px)}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#14251d60}.modal-head{border-bottom:1px solid var(--line);z-index:2;background:#fff;justify-content:space-between;align-items:center;gap:15px;padding:21px 24px;display:flex;position:sticky;top:0}.modal-head h2{font-size:17px}.editor-form{padding:23px 24px}.field{flex-direction:column;gap:7px;min-width:0;margin-bottom:17px;display:flex}.field>span{color:#5a6b60;font-size:11px;font-weight:500}.field input,.field select,.field textarea{width:100%}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:10px;margin-top:22px;padding-top:20px;display:flex}.form-error{color:#ae413b;background:#fff3f2;border:1px solid #f1d7d2;border-radius:7px;margin-top:15px;padding:11px 13px;font-size:12px}.editor-form>.hint{margin-top:8px}.editor-form>p{line-height:1.7}.import-steps{color:#9aa49d;gap:30px;margin-bottom:25px;font-size:11px;display:flex}.import-steps .active{color:var(--green);font-weight:600}.file-drop{color:var(--green);text-align:center;background:#fafcfb;border:1px dashed #a9c3b3;border-radius:10px;flex-direction:column;align-items:center;gap:13px;margin:25px 0;padding:50px 25px;display:flex;position:relative}.file-drop strong{font-size:14px;font-weight:550}.file-drop span{color:var(--muted);font-size:11px}.file-drop input{width:100%;max-width:280px;margin-top:7px;font-size:11px}.file-name{color:var(--green);background:#eff6f1;border-radius:6px;padding:10px 12px;font-size:12px;margin-bottom:20px!important}.import-mapping{margin-top:20px}.import-summary{color:var(--muted);background:#f4f7f4;border-radius:7px;flex-wrap:wrap;align-items:center;gap:22px;margin-bottom:16px;padding:13px 16px;font-size:11px;display:flex}.import-summary strong{color:var(--green);font-size:13px}.import-table{max-height:450px;margin-top:20px}.import-table th{z-index:1;background:#f8faf8;position:sticky;top:0}.import-table td{min-width:90px;font-size:11px}.import-table td:nth-child(2){min-width:170px}.import-table select{max-width:180px;min-height:33px;padding:6px 8px;font-size:10px}.stack-controls{flex-direction:column;gap:5px;display:flex}.row-disabled{opacity:.55;background:#fafbfa}.check-label{flex-wrap:wrap;align-items:center;gap:6px;font-size:10px;display:flex}.check-label small{padding-left:23px}.analyst-intro{align-items:center;gap:15px;margin-bottom:20px;display:flex}.analyst-icon{width:56px;height:56px;color:var(--green);background:#e9f3ed;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.analyst-intro h3{letter-spacing:-.4px;margin-bottom:4px;font-size:18px}.analyst-intro p{color:var(--muted);font-size:12px}.analysis-result{border:1px solid var(--line);border-radius:9px;margin:22px 0;padding:20px}.analysis-source{color:var(--green);margin-bottom:15px;font-size:10px;font-weight:600;display:block}.analysis-text{white-space:pre-wrap;font-size:13px;line-height:1.85}.more-menu{padding:18px}.skip-link{z-index:1000;border:2px solid var(--green);background:#fff;border-radius:6px;padding:12px 18px;position:fixed;top:-100px;left:15px}.skip-link:focus{top:15px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-page{background:#f8fbf9;justify-content:center;align-items:center;min-height:100dvh;padding:30px;display:flex}.auth-card{border:1px solid var(--line);background:#fff;border-radius:15px;width:100%;max-width:470px;padding:42px;box-shadow:0 15px 60px #173e2910}.auth-card .brand{margin-bottom:35px}.auth-card h1{margin-bottom:15px;font-size:31px}.auth-card p{color:var(--muted);margin-bottom:20px;font-size:13px;line-height:1.75}.auth-card .button{width:100%;margin-top:8px}.auth-card .hint{margin-top:20px;font-size:11px}.auth-error{color:var(--red)!important}@media (min-width:1600px){.main{padding-left:48px;padding-right:48px}.metric>strong{font-size:32px}.category-row{font-size:12px}.compact{font-size:11px}.compact th,.compact .category-label{font-size:10px}}@media (max-width:1250px){:root{--sidebar:195px}.sidebar{padding-left:13px;padding-right:13px}.main{padding-left:25px;padding-right:25px}.metric{padding:18px 14px}.metric>strong{font-size:23px}.metric-label{gap:7px;font-size:10px}.page-header{align-items:flex-start}.page-header h1{font-size:26px}.header-actions{gap:7px}.header-actions .button{padding-left:10px;padding-right:10px;font-size:11px}.header-actions input{min-width:126px;max-width:140px}.overview-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}.panel{padding:19px}.category-row{grid-template-columns:minmax(90px,1fr) auto 25px;gap:9px}.category-row .bar-track{grid-column:1/-1;height:5px;margin-top:-8px}.category-bars{gap:18px}.account-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.brand{font-size:25px}.sidebar .brand{margin-left:10px}.sidebar-bottom .analyst-nav small{display:none}.profile strong{font-size:9px}.profile small{font-size:8px}.transaction-toolbar .button{flex:1}}@media (max-width:1000px){:root{--sidebar:180px}.main{padding-left:21px;padding-right:21px}.sidebar{padding:28px 10px 18px}.nav-item{gap:9px;padding-left:10px;font-size:11px}.overview-grid{grid-template-columns:1fr}.category-row{grid-template-columns:minmax(100px,1fr) auto 35px minmax(80px,1.1fr);gap:15px}.category-row .bar-track{grid-column:auto;height:7px;margin-top:0}.page-header{flex-direction:column;gap:18px}.header-actions{justify-content:flex-end;width:100%}.metrics{gap:10px}.metric{padding:16px 12px}.metric>strong{font-size:21px}.metric-label{flex-direction:column;align-items:flex-start;gap:7px}.metric p{font-size:9px}.net-worth-strip{flex-wrap:wrap;gap:18px}.history-bars{gap:10px}.category-settings{grid-template-columns:1fr}}@media (max-width:760px){:root{--sidebar:0px}.sidebar{display:none}.main{margin:0;padding:0 20px 100px}.mobile-top{justify-content:space-between;align-items:center;height:78px;display:flex}.mobile-top .brand{font-size:25px}.mobile-top .brand-mark{width:25px;height:27px;font-size:21px}.utility-row{border:0;height:35px;margin-bottom:19px;display:none}.workspace-label,.desktop-locale{display:none}.page-header{align-items:stretch;gap:17px;margin-bottom:18px}.page-header h1{letter-spacing:-.9px;font-size:26px}.page-header p{margin-top:5px;font-size:12px}.header-actions{justify-content:space-between;gap:10px}.header-actions input{flex:1;max-width:none;font-size:11px}.header-actions .button{padding:10px 14px;font-size:11px}.demo-banner{gap:9px;margin-bottom:18px;padding:10px 12px;font-size:10px}.demo-banner strong{font-size:10px}.demo-banner span{font-size:9px;line-height:1.5}.metrics{grid-template-columns:1fr 1fr;gap:11px;margin-bottom:18px}.metric{padding:16px 15px}.metric-label{flex-direction:row;align-items:center;gap:8px;margin-bottom:9px;font-size:10px}.metric-label svg{width:18px;height:18px}.metric>strong{letter-spacing:-.8px;font-size:25px}.metric p{margin-top:8px;font-size:9px}.panel{border-radius:9px;margin-bottom:18px;padding:18px 16px}.section-head{align-items:flex-start;gap:12px;margin-bottom:18px}.section-head h2{letter-spacing:-.3px;font-size:15px}.section-head p{font-size:10px;line-height:1.6}.section-head .text-button{padding-top:1px;font-size:10px}.section-head .text-button svg{width:13px}.section-head .button{min-height:35px;padding:7px 10px;font-size:10px}.chart{width:calc(100% + 16px);margin-left:-9px}.chart svg{min-height:150px}.chart-footnote{padding-top:7px;font-size:8px;line-height:1.6}.overview-grid{flex-direction:column;gap:0;display:flex}.recent-panel{order:-1}.compact .category-label{font-size:8px}.compact{font-size:10px}.compact th{padding:8px 5px;font-size:8px}.compact td{padding:12px 5px}.compact .date-cell{font-size:8px}.compact .amount{font-size:10px}.compact td:nth-child(2){min-width:100px}.category-bars{gap:20px;padding-top:8px}.category-row{grid-template-columns:minmax(90px,1fr) auto 30px minmax(35px,.7fr);gap:9px;font-size:10px}.history-bars{gap:7px;height:155px}.history-pair{gap:3px;height:120px}.history-pair div{width:11px}.history-month>span{font-size:8px}.legend{font-size:9px}.transaction-toolbar{gap:10px}.search-field{flex-basis:100%}.transaction-toolbar select{flex:1;min-width:110px}.transaction-toolbar .button{flex:1}.transaction-table:not(.compact){min-width:700px}.forecast-controls{gap:10px}.forecast-controls .field{min-width:120px}.forecast-controls .field>span{font-size:10px}.forecast-controls .field input,.forecast-controls .field select{font-size:11px}.range-buttons{width:100%}.forecast-ending{font-size:18px}.forecast-ending small{font-size:8px}.forecast-title .section-head p{font-size:10px}.account-grid{grid-template-columns:1fr;gap:0}.account-card{padding:20px}.account-card-top{margin-bottom:20px}.net-worth-strip{align-items:flex-start;gap:23px;padding:20px}.net-worth-strip>div{width:100%}.net-worth-strip strong{font-size:25px}.net-worth-strip .button{width:100%}.app-footer{gap:15px;padding-top:10px;font-size:8px}.mobile-nav{z-index:25;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:7px 6px calc(8px + env(safe-area-inset-bottom));background:#ffffffed;justify-content:space-around;min-height:66px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:#8b978f;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-width:54px;min-height:44px;padding:3px 6px;font-size:9px;display:flex}.mobile-nav button.selected{color:var(--green);font-weight:600}.mobile-nav button.selected svg{stroke-width:2px}.modal{border-radius:11px;width:calc(100% - 20px);max-height:91dvh}.modal-head{padding:17px 18px}.modal-head h2{font-size:15px}.editor-form{padding:20px 18px}.editor-form input,.editor-form select,.editor-form textarea{font-size:16px}.editor-form .import-table select{font-size:12px}.form-grid{gap:11px}.form-actions{gap:9px}.form-actions .button{flex:1;font-size:11px}.import-steps{gap:25px;font-size:10px}.import-summary{gap:10px;font-size:10px}.file-drop{padding:28px 16px}.file-drop input{font-size:10px}.import-mapping{grid-template-columns:1fr}.analyst-intro{gap:11px}.analyst-intro h3{font-size:16px}.analyst-intro p{font-size:11px}.analysis-result{padding:16px}.analysis-text,.settings-section>p{font-size:12px}.settings-buttons{flex-direction:column}.category-settings>div{gap:8px;font-size:9px}.status-banner{font-size:11px}.empty{padding:30px 8px}.empty h3{font-size:15px}.empty p{font-size:11px}.auth-card{padding:30px 25px}.auth-card h1{font-size:28px}}@media (max-width:380px){.main{padding-left:14px;padding-right:14px}.page-header h1{font-size:24px}.metric{padding:14px 12px}.metric>strong{font-size:22px}.metric-label{font-size:9px}.compact th:nth-child(3),.compact td:nth-child(3){display:none}.category-row{grid-template-columns:minmax(90px,1fr) auto 26px}.category-row .bar-track{grid-column:1/-1}.form-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation-duration:.01ms!important}}.backup-restore{max-width:480px;margin:24px 0}.overdue-list>div{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.overdue-list>div>span{flex:1;min-width:150px}.overdue-list small{color:var(--muted);margin-top:5px;display:block}.report-metrics{margin-top:24px}.report-metrics .metric{box-shadow:none}.report-metrics strong{font-size:24px}@media (max-width:760px){.chart text{font-size:24px}.chart svg{min-height:130px}}@media print{.sidebar,.mobile-nav,.mobile-top,.utility-row,.header-actions,.demo-banner,.app-footer,.settings-buttons,.skip-link{display:none!important}.main{margin:0!important;padding:0!important}.panel{box-shadow:none;break-inside:avoid;border:0}body{background:#fff!important}.metrics{grid-template-columns:repeat(4,1fr)}table{font-size:11px}button,input,select{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.year-calendar .page-heading h2{margin-top:0}.calendar-controls{flex-wrap:wrap;gap:20px;margin:24px 0 16px;display:flex}.calendar-controls .field{min-width:160px}.calendar-month-control,.calendar-mobile{display:none}.calendar-legend,.year-calendar>p{color:var(--muted);font-size:13px;line-height:1.6}.calendar-desktop{border:1px solid #e3e8e3;border-radius:12px;max-height:75vh;overflow:auto}.calendar-year-table{border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums;width:max-content;min-width:100%}.calendar-year-table caption{text-align:left;padding:14px}.calendar-year-table th,.calendar-year-table td{border-bottom:1px solid #e3e8e3;border-right:1px solid #e3e8e3;padding:12px}.calendar-year-table thead th{z-index:2;text-transform:capitalize;background:#edf3ee;min-width:155px;position:sticky;top:0}.calendar-year-table thead th:first-child{min-width:45px}.calendar-year-table tbody th{z-index:1;background:#f5f7f3;position:sticky;left:0}.calendar-year-table th small{margin-top:6px;font-size:10px;font-weight:400;display:block}.calendar-day-values{text-align:right;gap:5px;font-size:12px;display:grid}.calendar-day-values span:first-of-type{color:#247150}.calendar-day-values span:nth-of-type(2){color:#996346}.calendar-status{color:#68766d;font-size:9px}.calendar-forecast{background:#faf5e8}.calendar-no-day{text-align:center;background:#f1f3f0}.calendar-warning{background:#faf5e8;border-radius:8px;padding:12px}@media (max-width:700px){.calendar-desktop{display:none}.calendar-mobile,.calendar-month-control{display:block}.calendar-controls{gap:12px}.calendar-controls>*{flex:1;min-width:120px}.calendar-mobile h2{text-transform:capitalize}.calendar-mobile-days{gap:12px;display:grid}.calendar-mobile-day{border:1px solid #e3e8e3;border-radius:12px;padding:14px}.calendar-mobile-day header{justify-content:space-between;gap:8px;display:flex}.calendar-mobile-day dl{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:0;display:grid}.calendar-mobile-day dl>div:last-child{border-top:1px solid #e3e8e3;grid-column:1/-1;padding-top:10px}.calendar-mobile-day dt{color:#68766d;font-size:11px}.calendar-mobile-day dd{margin:4px 0 0;font-size:14px}}.calendar-controls .field,.calendar-month-control{min-width:0}.calendar-controls select{width:100%;min-width:0}@media (max-width:700px){.calendar-controls>.field,.calendar-controls>.calendar-month-control{flex:100%;width:100%}}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.report-grid .panel{min-width:0;margin-bottom:0}.report-grid+.report-grid{margin-top:22px}.report-three{grid-template-columns:repeat(3,minmax(0,1fr))}.report-three+.report-average-note{margin:12px 0 24px}.report-grid+.panel{margin-top:22px}.report-category-controls{flex-wrap:wrap;gap:12px;margin-bottom:10px;display:flex}.report-category-controls>.field{flex:1;min-width:140px}.report-category-controls select{width:100%}.report-chart-scroll{overflow-x:auto}.report-trend-svg{min-width:340px;display:block}.report-chart-legend{color:var(--muted);flex-wrap:wrap;gap:10px 18px;margin-bottom:10px;font-size:11px;line-height:1.7;display:flex}.report-chart-legend>span{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.report-chart-legend i{border-radius:2px;width:10px;height:10px;display:inline-block}.report-chart-legend .report-average-key{border-top:2px dashed #806b9c;border-radius:0;width:20px;height:0}.report-highlight{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:14px;font-size:13px;display:flex}.report-donut-layout{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.report-donut-svg{flex:0 0 180px;width:180px;height:180px;margin:auto}.report-donut-legend{flex:1;min-width:210px;margin:0;padding:0;list-style:none}.report-donut-legend li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:10px;padding:8px 0;font-size:11px;display:grid}.report-category-label{overflow-wrap:anywhere;align-items:baseline;gap:7px;display:flex}.report-category-label i{border-radius:50%;flex:0 0 8px;width:8px;height:8px}.report-donut-totals{flex-wrap:wrap;justify-content:space-between;gap:10px;padding:14px 0;font-size:13px;display:flex}.report-donut-totals small{width:100%;color:var(--muted)}.report-refund-note{background:#faf5e8;border-radius:8px;margin-top:10px;padding:10px 14px;font-size:12px;line-height:1.6}.report-refund-note ul{padding-left:18px}.report-table-caption{text-align:left;padding:8px 0}.report-contribution-list p{justify-content:space-between;gap:12px;font-size:12px;display:flex}@media (max-width:1250px){.report-three{grid-template-columns:1fr}}@media (max-width:800px){.report-grid{grid-template-columns:1fr;gap:16px}.report-grid+.report-grid{margin-top:16px}.report-chart-legend{font-size:11px}.report-donut-legend{flex-basis:100%;width:100%;min-width:0}.report-donut-legend li{font-size:12px}.report-highlight{flex-wrap:wrap}}@media print{.report-grid,.report-three{display:block}.report-grid .panel{break-inside:avoid;margin-bottom:20px}.report-chart-scroll{overflow:visible}.report-trend-svg{min-width:0}.report-chart details>*{display:block}.report-category-controls{display:none}}.report-trend-svg{min-width:0}.bank-context{max-width:28rem;color:var(--muted);white-space:normal;overflow-wrap:anywhere;margin-top:5px;font-size:12px;line-height:1.5;display:block}.bank-context-details p{overflow-wrap:anywhere;line-height:1.6}.refund-category-list{white-space:normal;overflow-wrap:anywhere;max-width:280px}.refund-splits{border:1px solid var(--line);border-radius:10px;gap:12px;padding:14px;display:grid}.refund-allocation-row{grid-template-columns:minmax(0,1fr) minmax(90px,140px) auto;align-items:end;gap:10px;display:grid}.analyst-chat{flex-direction:column;gap:12px;height:min(680px,100dvh - 180px);min-height:360px;padding:20px 24px;display:flex}.chat-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.chat-toolbar label{flex:1;gap:6px;min-width:150px;font-size:12px;display:grid}.chat-toolbar select{width:100%}.chat-details{color:var(--muted);font-size:11px}.chat-details summary{cursor:pointer;padding:5px 0}.chat-details[open]{max-height:140px;overflow:auto}.chat-details p+p{margin-top:7px}.chat-history{overscroll-behavior:contain;border:1px solid var(--line);background:#f7faf8;border-radius:10px;flex:1;min-height:100px;padding:14px;overflow-y:auto}.chat-message{border:1px solid var(--line);overflow-wrap:anywhere;background:#fff;border-radius:10px;max-width:95%;margin-bottom:14px;padding:12px 14px}.chat-user{background:#e6f1eb;margin-left:auto}.chat-source{color:var(--green);margin-bottom:7px;font-size:11px;display:block}.chat-message-body{line-height:1.65}.chat-message-body p+p,.chat-message-body h4+p,.chat-message-body ul,.chat-message-body ol{margin-top:9px}.chat-message-body ul,.chat-message-body ol{padding-left:20px}.chat-message-body code{white-space:pre-wrap}.chat-composer{flex-shrink:0;gap:7px;display:grid}.chat-composer label{font-size:12px;font-weight:600}.chat-composer textarea{width:100%;min-height:76px;max-height:130px}.chat-composer small{color:var(--muted)}.chat-suggestions{flex-wrap:wrap;gap:7px;display:flex}.chat-suggestions .button{white-space:normal;text-align:left;min-height:34px;padding:7px 10px;font-size:11px}.chat-error{color:var(--red);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}@media (max-width:600px){.analyst-chat{height:calc(100dvh - 190px)}.chat-toolbar{gap:8px}.chat-toolbar label{min-width:120px}.chat-toolbar .button{padding:8px 10px;font-size:11px}.chat-history{padding:10px}.chat-message{max-width:100%;padding:10px}.chat-composer textarea{min-height:64px}.chat-suggestions{gap:5px}.chat-suggestions .button{flex:45%}.refund-allocation-row{grid-template-columns:minmax(0,1fr) 90px auto;gap:6px}}
