@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700;750&display=swap";:root{--mw-button-ink:#fff;font-synthesis:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--mw-page:#fff;--mw-surface:#fff;--mw-subtle:#f7f7fa;--mw-hover:#f2f2f7;--mw-ink:#20212b;--mw-muted:#6d707f;--mw-faint:#9295a2;--mw-line:#e8e9ef;--mw-accent:#6356d8;--mw-accent-hover:#5043bd;--mw-accent-soft:#eeebff;--mw-green:#27826b;--mw-green-soft:#eaf5f0;--mw-amber:#9a641b;--mw-amber-soft:#fcf3e6;--mw-red:#b7404d;--mw-red-soft:#fff0f1;--mw-shadow:0 16px 64px #1d1c3220;background:var(--mw-page);color:var(--mw-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}:root[data-theme=dark]{--mw-button-ink:#1c153e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--mw-page:#131418;--mw-surface:#1b1c22;--mw-subtle:#1d1e25;--mw-hover:#252630;--mw-ink:#eeedf5;--mw-muted:#a5a6b6;--mw-faint:#777a8e;--mw-line:#2b2d38;--mw-accent:#a397ff;--mw-accent-hover:#b7acff;--mw-accent-soft:#2b254b;--mw-green:#69cbb0;--mw-green-soft:#1c332d;--mw-amber:#eac184;--mw-amber-soft:#342b20;--mw-red:#f28c98;--mw-red-soft:#382329;--mw-shadow:0 16px 64px #0005}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.48}button{transition:background .15s,color .15s,border-color .15s}button svg{flex-shrink:0}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--mw-accent);outline-offset:4px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--mw-accent);outline-offset:2px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}fieldset{border:0;min-width:0;margin:0;padding:0}svg{flex-shrink:0}kbd{border:1px solid var(--mw-line);min-width:20px;height:20px;color:var(--mw-muted);background:var(--mw-surface);border-radius:4px;place-items:center;font-family:inherit;font-size:11px;font-weight:400;display:inline-grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.muted{color:var(--mw-muted)}.skip-link{background:var(--mw-ink);color:var(--mw-page);z-index:100;border-radius:6px;padding:12px 18px;position:fixed;top:-80px;left:20px}.skip-link:focus{top:10px}.app-header{border-bottom:1px solid var(--mw-line);background:var(--mw-page);height:76px}.header-inner{align-items:center;gap:25px;max-width:1328px;height:100%;margin:auto;padding:0 44px;display:flex}.brand{letter-spacing:-.9px;color:var(--mw-ink);align-items:center;gap:10px;font-size:21px;font-weight:750;display:inline-flex}.brand-mark{color:var(--mw-ink)}.brand-period{color:var(--mw-accent);margin-left:-10px}.header-divider,.account-divider{background:var(--mw-line);width:1px;height:22px}.workspace-label{color:var(--mw-muted);font-size:12px}.header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.currency-badge{letter-spacing:.5px;color:var(--mw-muted);margin-right:14px;font-size:10px;font-weight:550}.icon-button{width:34px;height:34px;color:var(--mw-muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.icon-button:hover:not(:disabled){background:var(--mw-hover);color:var(--mw-ink)}.account-divider{margin:0 8px}.avatar{color:#6957a5;background:#ece7fc;border:1px solid #d7cff8;border-radius:50%;width:32px;height:32px;font-size:12px;font-weight:650}.account-control{align-items:center;display:flex}.planner{outline:none;max-width:1328px;margin:auto;padding:46px 44px 0}.demo-banner{color:var(--mw-muted);align-items:center;gap:10px;margin:-18px 0 30px;font-size:11px;display:flex}.demo-badge{text-transform:uppercase;letter-spacing:.7px;border:1px solid var(--mw-line);border-radius:4px;padding:3px 6px;font-size:9px;font-weight:600}.month-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:38px;display:flex}.eyebrow{color:var(--mw-muted);letter-spacing:1.7px;margin-bottom:11px;font-size:10px;font-weight:600}.month-title{align-items:center;gap:13px;display:flex}h1{letter-spacing:-1.65px;font-size:36px;font-weight:600;line-height:1.25}.month-jump{width:32px;height:32px;color:var(--mw-muted);border-radius:6px;place-items:center;display:grid;position:relative;overflow:hidden}.month-jump:hover{background:var(--mw-hover)}.month-jump:focus-within{outline:2px solid var(--mw-accent)}.month-jump input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.month-jump input::-webkit-calendar-picker-indicator{cursor:pointer;width:auto;height:auto;position:absolute;inset:0}.page-description{color:var(--mw-muted);margin-top:10px;font-size:12px}.month-actions{align-items:center;gap:14px;padding-top:20px;display:flex}.month-navigation{align-items:center;gap:2px;display:flex}.today-button{color:var(--mw-muted);background:0 0;border:0;padding:9px 7px;font-size:11px}.today-button:hover{color:var(--mw-ink)}.primary,.secondary,.danger{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:9px;min-height:39px;padding:10px 15px;font-size:12px;font-weight:550;display:inline-flex}.primary{background:var(--mw-accent);color:#fff;box-shadow:0 1px 2px #1c135514}.primary:hover:not(:disabled){background:var(--mw-accent-hover)}[data-theme=dark] .primary{color:#1c153e}.primary kbd{color:inherit;background:#ffffff15;border-color:#ffffff25;min-width:18px;height:18px;margin-left:6px;font-size:10px}[data-theme=dark] .primary kbd{background:#1c153e10;border-color:#1c153e25}.secondary{background:var(--mw-surface);border-color:var(--mw-line);color:var(--mw-ink)}.secondary:hover:not(:disabled){background:var(--mw-hover)}.danger{background:var(--mw-red);color:#fff}.danger:hover:not(:disabled){filter:brightness(.9)}.text-button{color:var(--mw-muted);background:0 0;border:0;align-items:center;gap:7px;padding:5px 0;font-size:11px;font-weight:500;display:inline-flex}.text-button:hover:not(:disabled){color:var(--mw-accent)}.monthly-summary{border-top:1px solid var(--mw-line);border-bottom:1px solid var(--mw-line);margin-bottom:36px;padding:29px 0 21px}.summary-values{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.metric{border-right:1px solid var(--mw-line);min-width:0;padding:0 27px}.metric:first-child{padding-left:0}.metric:last-child{border:0;padding-right:0}.metric>span{color:var(--mw-muted);align-items:center;gap:7px;min-height:20px;font-size:11px;display:flex}.metric>strong{letter-spacing:-1.2px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:11px 0 8px;font-size:28px;font-weight:550;line-height:1.3;display:block}.metric small{color:var(--mw-muted);font-size:10px;line-height:1.5}.metric-dot{border-radius:50%;width:6px;height:6px}.paid-dot{background:var(--mw-green)}.remaining-dot{background:var(--mw-accent)}.remaining-metric>strong{color:var(--mw-accent)}.budget-metric .over-budget{color:var(--mw-red)}.inline-edit{width:23px;height:23px;color:var(--mw-muted);background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;margin:-2px 0;padding:0;display:inline-flex}.inline-edit:hover{background:var(--mw-hover);color:var(--mw-accent)}.budget-setup{color:var(--mw-muted);letter-spacing:-.6px;background:0 0;border:0;align-items:center;gap:7px;min-height:36px;padding:2px 0;font-size:23px;font-weight:500;display:flex}.budget-setup:hover{color:var(--mw-accent)}.payment-progress{align-items:center;gap:16px;margin-top:25px;display:flex}.progress-track{background:var(--mw-hover);border-radius:4px;flex:1;height:4px;overflow:hidden}.progress-track>span{background:var(--mw-accent);border-radius:4px;height:100%;transition:width .25s;display:block}.payment-progress>span{color:var(--mw-muted);white-space:nowrap;font-size:10px}.payment-progress strong{color:var(--mw-ink);font-weight:550}.list-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.list-title,.list-actions{align-items:center;gap:10px;display:flex}h2{letter-spacing:-.4px;font-size:17px;font-weight:600}.count-badge{border:1px solid var(--mw-line);min-width:23px;height:21px;color:var(--mw-muted);font-variant-numeric:tabular-nums;border-radius:5px;place-items:center;padding:0 6px;font-size:10px;display:grid}.list-actions{gap:20px}.overdue-button{background:var(--mw-amber-soft);color:var(--mw-amber);border:0;border-radius:4px;align-items:center;gap:5px;padding:5px 7px;font-size:10px;font-weight:550;display:flex}.list-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.view-tabs{align-items:center;gap:3px;display:flex}.view-tabs>button{color:var(--mw-muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:7px;padding:9px 11px;font-size:11px;display:flex}.view-tabs>button:hover{background:var(--mw-subtle)}.view-tabs>button[aria-pressed=true]{background:var(--mw-subtle);border-color:var(--mw-line);color:var(--mw-ink);font-weight:550}.view-tabs>button[aria-pressed=true] svg{color:var(--mw-accent)}.search-and-filter{align-items:center;gap:10px;display:flex}.search-field{border:1px solid var(--mw-line);min-height:35px;color:var(--mw-muted);background:var(--mw-page);border-radius:6px;align-items:center;gap:8px;width:228px;padding:0 10px;display:flex}.search-field:focus-within{outline:2px solid var(--mw-accent);outline-offset:1px}.search-field input{width:100%;min-width:0;color:var(--mw-ink);background:0 0;border:0;outline:none;padding:8px 0;font-size:11px}.search-field input::placeholder{color:var(--mw-muted)}.search-field .icon-button{flex-shrink:0;width:20px;height:22px}.search-field kbd{background:var(--mw-subtle);min-width:17px;height:19px;font-size:10px}.filter-toggle{border:1px solid var(--mw-line);background:var(--mw-page);min-height:35px;color:var(--mw-muted);border-radius:6px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;display:flex}.filter-toggle:hover,.filter-toggle.active{background:var(--mw-subtle);color:var(--mw-ink)}.filter-count{background:var(--mw-accent-soft);min-width:16px;height:16px;color:var(--mw-accent);border-radius:4px;place-items:center;padding:0 3px;font-size:9px;display:grid}.filter-row{background:var(--mw-subtle);border-radius:7px;align-items:flex-end;gap:18px;margin-bottom:18px;padding:18px 20px;display:flex}.filter-row label{color:var(--mw-muted);flex-direction:column;flex:1;gap:7px;min-width:0;font-size:10px;display:flex}.filter-row select{border:1px solid var(--mw-line);background:var(--mw-surface);width:100%;min-height:36px;color:var(--mw-ink);border-radius:5px;padding:7px 10px;font-size:12px}.filter-row .text-button{flex-shrink:0;padding:10px 0}.active-filter-summary{color:var(--mw-muted);justify-content:space-between;align-items:center;gap:10px;padding:0 0 14px;font-size:11px;display:flex}.saving-label{color:var(--mw-muted);align-items:center;gap:5px;font-size:10px;display:inline-flex}.expense-table{border-collapse:collapse;text-align:left;table-layout:fixed;width:100%}.expense-table th{color:var(--mw-muted);background:var(--mw-subtle);border-top:1px solid var(--mw-line);border-bottom:1px solid var(--mw-line);padding:12px 16px;font-size:10px;font-weight:450}.column-sort{width:100%;min-height:30px;color:inherit;font:inherit;text-align:inherit;background:0 0;border:0;border-radius:3px;justify-content:flex-start;align-items:center;gap:6px;margin:-8px 0;padding:4px 0;display:inline-flex}.column-sort svg{color:var(--mw-faint)}.column-sort:hover,th[aria-sort] .column-sort,th[aria-sort] .column-sort svg{color:var(--mw-accent)}.expense-table th:nth-child(4) .column-sort,.expense-table th:nth-child(5) .column-sort,.expense-table th:nth-child(6) .column-sort{justify-content:flex-end}.expense-table th:first-child{border-radius:5px 0 0 5px;width:27%}.expense-table th:nth-child(2){width:13%}.expense-table th:nth-child(3){width:10%}.expense-table th:nth-child(4),.expense-table th:nth-child(5),.expense-table th:nth-child(6){text-align:right;width:14%}.expense-table th:last-child{border-radius:0 5px 5px 0;width:8%}.expense-table td{border-bottom:1px solid var(--mw-line);vertical-align:middle;padding:8px 16px;font-size:12px}.expense-table tbody tr:hover{background:var(--mw-subtle)}.expense-identity{align-items:center;gap:10px;min-width:0;display:flex}.expense-identity>div{min-width:0}.expense-icon{background:color-mix(in srgb, var(--mw-category-color) 9%, var(--mw-page));width:30px;height:30px;color:var(--mw-category-color);border:1px solid color-mix(in srgb, var(--mw-category-color) 12%, var(--mw-page));border-radius:7px;flex-shrink:0;place-items:center;display:grid}.expense-icon svg{width:16px;height:16px}.expense-identity strong{overflow-wrap:anywhere;font-size:13px;font-weight:500;line-height:1.5;display:block}.expense-type{color:var(--mw-muted);align-items:center;gap:5px;margin-top:1px;font-size:10px;display:flex}.expense-note{color:var(--mw-muted);overflow-wrap:anywhere;margin-top:5px;font-size:11px;line-height:1.55}.category-label{overflow-wrap:anywhere;min-width:0;color:var(--mw-muted);align-items:center;gap:6px;font-size:11px;display:flex}.category-label i{border-radius:50%;flex-shrink:0;width:5px;height:5px}.date-cell>span{color:var(--mw-muted);white-space:nowrap;font-size:11px}.overdue-label{color:var(--mw-amber);margin-top:5px;font-size:9px;display:block}.amount-cell{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.2px;font-weight:550;font-size:12px!important}.payment-cell{text-align:right}.payment-button{background:var(--mw-surface);min-width:91px;min-height:32px;color:var(--mw-muted);border:1px solid var(--mw-line);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:6px 10px;font-size:10px;font-weight:500;display:inline-flex}.payment-button:hover:not(:disabled){background:var(--mw-accent-soft);color:var(--mw-accent);border-color:var(--mw-accent)}.payment-button.paid{background:var(--mw-green-soft);color:var(--mw-green);border-color:#0000}.payment-button.paid:hover:not(:disabled){border-color:var(--mw-green)}.payment-button:disabled{opacity:.75}.expense-actions{justify-content:flex-end;gap:2px;display:flex}.edit-button{width:29px;height:30px}.edit-button:hover:not(:disabled){color:var(--mw-accent);background:var(--mw-accent-soft)}.action-cell{text-align:right;padding-left:0!important;padding-right:8px!important}.remove-button{width:29px;height:30px;color:var(--mw-faint)}.remove-button:hover:not(:disabled){background:var(--mw-red-soft);color:var(--mw-red)}.row-paid .expense-icon{background:var(--mw-subtle);border-color:var(--mw-line);color:var(--mw-muted)}.list-footer{color:var(--mw-muted);justify-content:space-between;align-items:center;gap:12px;padding:18px 16px;font-size:10px;display:flex}.list-footer strong{color:var(--mw-ink);margin-left:5px;font-weight:500}.spending-breakdown{border-top:1px solid var(--mw-line);border-bottom:1px solid var(--mw-line);margin-top:22px}.spending-breakdown summary{cursor:pointer;color:var(--mw-muted);justify-content:space-between;align-items:center;gap:14px;padding:22px 0;list-style:none;display:flex}.spending-breakdown summary::-webkit-details-marker{display:none}.breakdown-title{color:var(--mw-ink);align-items:center;gap:10px;font-size:12px;font-weight:500;display:flex}.breakdown-title>.muted{margin-left:8px;font-size:10px;font-weight:400}.spending-breakdown[open] summary>svg{transform:rotate(180deg)}.breakdown-content{grid-template-columns:1fr 2fr;gap:80px;padding:10px 0 30px;display:grid}.breakdown-intro h3{letter-spacing:-.5px;margin-bottom:10px;font-size:18px;font-weight:550}.breakdown-intro p{max-width:230px;color:var(--mw-muted);font-size:12px;line-height:1.7}.breakdown-intro>strong{letter-spacing:-.7px;margin-top:22px;font-size:25px;font-weight:550;display:block}.category-bars{grid-template-columns:1fr 1fr;gap:22px 36px;display:grid}.category-bar>div:first-child{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;font-size:11px;display:flex}.category-bar>div:first-child>span{overflow-wrap:anywhere;min-width:0}.category-bar strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px;font-weight:500}.category-bar small{color:var(--mw-muted);text-align:right;min-width:33px;margin-left:8px;font-size:9px;font-weight:400;display:inline-block}.category-track{background:var(--mw-hover);border-radius:3px;height:4px;overflow:hidden}.category-track>span{border-radius:3px;height:100%;display:block}.app-footer{color:var(--mw-muted);justify-content:space-between;align-items:center;gap:20px;padding:28px 0 32px;font-size:10px;display:flex}.app-footer>span:last-child>span{color:var(--mw-faint);margin:0 9px}.empty-state,.initial-state{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:60px 20px;display:flex}.initial-state{min-height:380px;color:var(--mw-muted);justify-content:center}.empty-state{border-top:1px solid var(--mw-line);border-bottom:1px solid var(--mw-line)}.empty-state h3{letter-spacing:-.35px;font-size:17px;font-weight:550}.empty-state p,.initial-state p{color:var(--mw-muted);max-width:320px;font-size:12px;line-height:1.7}.empty-state .secondary,.empty-state .primary{margin-top:5px}.empty-icon{background:var(--mw-subtle);width:48px;height:48px;color:var(--mw-muted);border:1px solid var(--mw-line);border-radius:12px;place-items:center;margin-bottom:3px;display:grid}.error-banner{border:1px solid color-mix(in srgb, var(--mw-red) 25%, var(--mw-page));background:var(--mw-red-soft);color:var(--mw-red);border-radius:7px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:25px;padding:14px 16px;font-size:12px;line-height:1.6;display:flex}.error-banner button{color:var(--mw-red);flex-shrink:0}.toast{background:var(--mw-surface);border:1px solid var(--mw-line);width:max-content;max-width:calc(100vw - 32px);box-shadow:var(--mw-shadow);z-index:20;border-radius:9px;align-items:center;gap:11px;padding:10px 12px 10px 15px;font-size:12px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast-check{background:var(--mw-green-soft);width:23px;height:23px;color:var(--mw-green);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.toast>.icon-button{width:25px;height:25px;margin-left:12px}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}dialog{border:1px solid var(--mw-line);background:var(--mw-surface);width:470px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);color:var(--mw-ink);box-shadow:var(--mw-shadow);border-radius:14px;padding:27px;overflow:hidden auto}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#11121b65}.dialog-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.dialog-heading h2{letter-spacing:-.7px;font-size:21px}.dialog-heading .icon-button{margin-right:-5px}.form-intro{color:var(--mw-muted);margin-bottom:23px;font-size:12px;line-height:1.8}.form-intro strong{color:var(--mw-ink);font-weight:600}dialog form label{flex-direction:column;gap:8px;min-width:0;margin-bottom:18px;font-size:12px;font-weight:500;display:flex}dialog form input,dialog form select,dialog form textarea{background:var(--mw-page);width:100%;min-width:0;min-height:42px;color:var(--mw-ink);border:1px solid var(--mw-line);border-radius:6px;padding:10px 11px;font-size:13px;font-weight:400}dialog form input::placeholder,dialog form textarea::placeholder{color:var(--mw-faint)}dialog form textarea{resize:vertical;line-height:1.6}.form-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.type-picker{background:var(--mw-subtle);border-radius:7px;gap:4px;margin-bottom:23px;padding:4px;display:flex}.type-picker>button{color:var(--mw-muted);background:0 0;border:1px solid #0000;border-radius:5px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:12px;font-weight:500;display:flex}.type-picker>button.chosen{background:var(--mw-surface);border-color:var(--mw-line);color:var(--mw-ink);box-shadow:0 1px 3px #00000007}.type-picker>button.chosen svg{color:var(--mw-accent)}.field-hint{color:var(--mw-muted);margin:-7px 0 19px;font-size:10px;line-height:1.6}.optional{color:var(--mw-muted);font-weight:400}.form-submit{width:100%;min-height:43px;margin-top:3px;font-size:12px}.form-error{background:var(--mw-red-soft);color:var(--mw-red);border-radius:6px;margin:14px 0;padding:12px;font-size:12px;line-height:1.65}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:26px;display:flex}.help-content{flex-direction:column;gap:22px;margin-top:22px;display:flex}.help-content>div{gap:14px;display:flex}.help-content svg{color:var(--mw-accent);margin-top:3px}.help-content p{color:var(--mw-muted);font-size:12px;line-height:1.8}.help-content strong{color:var(--mw-ink);margin-bottom:3px;font-size:13px;font-weight:550;display:block}.help-content .shortcut-help{border-top:1px solid var(--mw-line);color:var(--mw-muted);flex-wrap:wrap;align-items:center;gap:7px;padding-top:20px;font-size:10px;display:flex}.shortcut-help kbd:not(:first-child){margin-left:10px}.auth-shell{background:var(--mw-page);min-height:100dvh}.auth-header{justify-content:space-between;align-items:center;padding:28px 40px;display:flex}.auth-content{grid-template-columns:1fr 1fr;align-items:center;gap:90px;max-width:1020px;min-height:calc(100dvh - 100px);margin:auto;padding:40px 30px 90px;display:grid}.auth-copy .eyebrow{margin-bottom:25px}.auth-copy h1{letter-spacing:-2.5px;font-size:52px;font-weight:550;line-height:1.12}.auth-copy h1>span{color:var(--mw-accent)}.auth-copy>p{color:var(--mw-muted);max-width:350px;margin-top:25px;font-size:14px;line-height:1.9}.auth-features{color:var(--mw-muted);flex-direction:column;gap:17px;margin:33px 0 0;font-size:12px;display:flex}.auth-features>span{align-items:center;gap:10px;display:flex}.auth-features svg{color:var(--mw-accent)}.auth-form{justify-content:center;min-width:0;display:flex}.demo-entry{border:1px solid var(--mw-line);background:var(--mw-subtle);border-radius:12px;width:100%;max-width:390px;padding:30px}.demo-entry>svg{color:var(--mw-accent);margin-bottom:22px}.demo-entry h2{letter-spacing:-.6px;margin-bottom:12px;font-size:21px}.demo-entry p{color:var(--mw-muted);margin-bottom:23px;font-size:12px;line-height:1.8}.demo-entry .primary{width:100%;min-height:43px}.demo-entry small{color:var(--mw-muted);margin-top:20px;font-size:10px;line-height:1.8;display:block}.auth-loading{min-height:60vh;color:var(--mw-muted);justify-content:center;align-items:center;gap:12px;display:flex}@media (width>=851px){.expense-table td{padding-top:5px;padding-bottom:5px}.expense-icon{border-radius:5px;width:24px;height:24px}.expense-identity strong{display:inline}.expense-type{vertical-align:middle;margin:0 0 0 8px;display:inline-flex}.payment-button{min-height:28px;padding-top:4px;padding-bottom:4px}.edit-button,.remove-button{height:28px}}@media (width>=1500px){.planner{padding-top:58px}.month-heading{margin-bottom:43px}.metric>strong{font-size:31px}}@media (width<=1100px){.header-inner{padding:0 30px}.planner{padding:36px 30px 0}.metric{padding:0 20px}.metric>strong{letter-spacing:-.8px;font-size:24px}.budget-setup{font-size:20px}.month-actions{gap:10px}.primary kbd{display:none}.search-field{width:185px}.expense-table td,.expense-table th{padding-left:12px;padding-right:12px}.expense-table th:first-child{width:24%}.expense-table th:nth-child(2){width:12%}.expense-table th:nth-child(3){width:10%}.expense-table th:nth-child(4),.expense-table th:nth-child(5){width:15%}.expense-table th:last-child{width:10%}.breakdown-content{gap:40px}.category-bars{gap:22px}.auth-content{gap:40px}.auth-copy h1{font-size:43px}}@media (width<=850px){.expense-actions{flex-direction:column;align-items:flex-end}.month-heading{align-items:flex-start}.month-actions{flex-direction:column-reverse;align-items:flex-end;gap:10px;padding-top:0}h1{font-size:32px}.summary-values{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 0}.metric:nth-child(2){border:0}.metric:nth-child(3){padding-left:0}.metric:nth-child(2n){padding-left:30px}.metric>strong{font-size:29px}.monthly-summary{margin-bottom:30px;padding:25px 0 20px}.list-toolbar{flex-wrap:wrap;gap:15px}.search-and-filter{width:100%}.search-field{flex:1;width:auto}.category-cell,.expense-table th:nth-child(2){display:none}.expense-table th:first-child{width:28%}.expense-table th:nth-child(3){width:12%}.expense-table th:nth-child(4),.expense-table th:nth-child(5){width:16%}.expense-table th:nth-child(6){width:18%}.expense-table th:last-child{width:10%}.expense-identity strong{font-size:12px}.breakdown-content{grid-template-columns:1fr;gap:25px}.breakdown-intro>strong{display:none}.breakdown-intro p{max-width:none}.category-bars{gap:24px 35px}.auth-content{grid-template-columns:1fr;gap:35px;max-width:450px;padding-top:20px}.auth-copy h1{font-size:40px}.auth-copy>.eyebrow{margin-bottom:18px}.auth-copy>p{margin-top:18px}.auth-features{display:none}.auth-header{padding:23px 26px}.auth-form{justify-content:start}.auth-copy{text-align:center}.auth-copy>p,.demo-entry{max-width:none}}@media (width<=600px){body{min-width:320px}.app-header{height:65px}.header-inner{gap:0;padding:0 20px}.brand{gap:8px;font-size:20px}.brand-mark{width:27px;height:27px}.header-divider,.workspace-label,.currency-badge{display:none}.header-actions{gap:3px}.account-divider{height:18px;margin:0 9px}.icon-button{min-width:36px;min-height:36px}.planner{padding:30px 20px 0}.demo-banner{gap:7px;margin:-10px 0 25px;font-size:9px;line-height:1.6}.demo-badge{font-size:8px}.month-heading{margin-bottom:25px;display:block}.eyebrow{letter-spacing:1.4px;margin-bottom:10px;font-size:9px}.month-title{gap:9px}h1{letter-spacing:-1.3px;font-size:31px}.month-jump{width:30px;height:30px}.page-description{margin-top:9px;font-size:11px;line-height:1.7}.month-actions{flex-direction:row;justify-content:space-between;align-items:center;gap:10px;margin-top:22px}.month-navigation{margin-left:-8px}.today-button{padding-left:3px;padding-right:3px;font-size:10px}.primary{min-height:39px;padding:10px 12px;font-size:11px}.summary-values{gap:25px 0}.metric{padding:0 15px}.metric:nth-child(2n){padding-left:22px;padding-right:0}.metric>span{font-size:10px}.metric>strong{letter-spacing:-.9px;margin:8px 0 5px;font-size:clamp(18px,5.5vw,27px)}.metric small{font-size:9px}.metric-dot{width:5px;height:5px}.budget-setup{letter-spacing:-.4px;min-height:28px;font-size:19px}.budget-setup svg{width:15px}.payment-progress{gap:12px;margin-top:22px}.payment-progress>span{font-size:9px}.monthly-summary{margin-bottom:29px}.list-heading{gap:9px;margin-bottom:20px}.list-title{gap:7px}h2{font-size:16px}.list-actions{gap:9px}.export-button{gap:0;padding:8px;font-size:0}.overdue-button{padding:5px;font-size:9px}.saving-label{gap:0;font-size:0}.view-tabs{gap:3px;width:100%}.view-tabs>button{flex:1;justify-content:center;gap:5px;padding:10px 6px;font-size:10px}.view-tabs svg{width:14px}.list-toolbar{gap:13px;margin-bottom:16px}.search-and-filter{gap:8px}.search-field{min-height:40px;padding:0 10px}.search-field input{padding:9px 0;font-size:16px}.search-field input::placeholder{font-size:11px}.search-field kbd{display:none}.search-field .icon-button{min-width:23px;min-height:28px}.filter-toggle{min-height:40px;padding:8px 10px;font-size:11px}.filter-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:15px;display:grid}.filter-row label{font-size:10px}.filter-row select{min-height:40px;padding:8px;font-size:16px}.filter-row .sort-field,.filter-row .text-button{grid-column:1/-1}.filter-row .text-button{justify-content:center;font-size:11px}.active-filter-summary,.active-filter-summary .text-button{font-size:10px}.expense-table,.expense-table tbody{display:block}.expense-table thead{display:none}.expense-table tbody{border-top:1px solid var(--mw-line)}.expense-table tr{border-bottom:1px solid var(--mw-line);grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:6px;padding:9px 0;display:grid}.expense-table td{border:0;padding:0!important}.name-cell{grid-area:1/1}.expense-identity{align-items:flex-start;gap:10px}.expense-icon{border-radius:7px;width:28px;height:28px}.expense-icon svg{width:16px}.expense-identity strong{font-size:12px;line-height:1.5}.expense-type{margin-top:3px;font-size:9px}.expense-type svg{width:11px}.expense-note{max-width:190px;font-size:10px}.category-cell{display:none}.expense-table .date-cell{grid-area:2/1;align-items:center;gap:6px;display:flex;padding-left:38px!important}.date-cell>span{font-size:9px}.date-cell>span:before{content:"Due "}.overdue-label{margin-top:0;font-size:8px}.amount-cell{grid-area:1/2;align-self:start;padding-top:3px!important;font-size:11px!important}.actual-cell{grid-area:2/2}.amount-cell:before{content:"Plan ";color:var(--mw-muted);font-weight:400}.actual-amount:before{content:"Actual ";color:var(--mw-muted);font-weight:400}.payment-cell{grid-area:3/2}.action-cell{grid-area:1/3/4/4}.payment-button{gap:6px;min-width:87px;min-height:36px;padding:7px 9px;font-size:10px}.edit-button,.remove-button{width:26px;min-width:26px;min-height:32px;margin-left:-2px}.remove-button svg{width:15px}.list-footer{padding:17px 0;font-size:9px}.list-footer strong{margin-left:3px}.spending-breakdown{margin-top:10px}.spending-breakdown summary{padding:19px 0}.breakdown-title{gap:8px;font-size:11px}.breakdown-title>.muted{margin-left:3px;font-size:9px}.breakdown-content{gap:24px;padding-bottom:25px}.breakdown-intro h3{font-size:16px}.breakdown-intro p{font-size:11px}.category-bars{grid-template-columns:1fr;gap:21px}.category-bar>div:first-child,.category-bar strong{font-size:12px}.app-footer{align-items:flex-start;padding:25px 0 30px;font-size:9px;line-height:1.7}.app-footer>span:last-child{text-align:right;max-width:170px}.app-footer>span:last-child>span{margin:0 4px}.empty-state{padding:44px 12px}.empty-state p{font-size:11px}.empty-state h3{font-size:16px}.toast{gap:8px;padding:9px 10px;font-size:11px;bottom:16px}.toast>.icon-button{min-width:28px;min-height:28px;margin-left:5px}.error-banner{gap:12px;padding:12px;font-size:11px}.initial-state{min-height:350px}.initial-state h2{font-size:16px}dialog{border-radius:12px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:23px}.dialog-heading h2{font-size:20px}.form-intro{font-size:12px}.form-row{gap:12px}dialog form input,dialog form select,dialog form textarea{font-size:16px}.type-picker>button{font-size:12px}.form-submit{min-height:43px;font-size:12px}.auth-header{padding:22px 23px}.auth-content{gap:30px;min-height:0;padding:15px 23px 50px}.auth-copy h1{letter-spacing:-1.5px;font-size:37px}.auth-copy>p{font-size:12px;line-height:1.9}.demo-entry{padding:25px}.demo-entry .primary{font-size:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.actual-cell{text-align:right;white-space:nowrap}.actual-amount{color:var(--mw-accent);font:inherit;font-variant-numeric:tabular-nums;text-underline-offset:4px;background:0 0;border:0;padding:3px 0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.actual-amount:hover{text-decoration-style:solid}.clear-payment{margin:14px auto 0}.plan-comparison{color:var(--mw-muted);flex-wrap:wrap;gap:6px;margin:18px 0 0;font-size:12px;display:flex}.plan-comparison strong{color:var(--mw-text)}.plan-comparison>span{margin-left:auto}.over-plan{color:var(--mw-amber)}
