.dashboard-v2{max-width:1180px}.dashboard-hero{align-items:end;margin-bottom:28px}.dashboard-welcome{color:#718078;margin:8px 0 0}.dashboard-refresh{align-items:center;gap:8px;margin:0;display:inline-flex}.dashboard-stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.analytics-stat-grid{grid-template-columns:repeat(3,1fr)}.dashboard-stat,.dashboard-panel{background:#fff;border:1px solid #dce6dd;border-radius:12px}.dashboard-stat{align-items:center;gap:14px;padding:20px;display:flex}.dashboard-stat-icon{border-radius:11px;place-items:center;width:42px;height:42px;display:grid}.dashboard-stat p,.dashboard-stat strong{margin:0;display:block}.dashboard-stat p{color:#718078;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem;font-weight:800}.dashboard-stat strong{color:#173523;margin-top:5px;font-size:1.35rem}.dashboard-stat.balance .dashboard-stat-icon{color:#126b4d;background:#d7eee0}.dashboard-stat.income .dashboard-stat-icon{color:#2470a8;background:#dcecf8}.dashboard-stat.expense .dashboard-stat-icon{color:#b65a38;background:#fae5dc}.dashboard-stat.budget .dashboard-stat-icon{color:#936517;background:#f8edcf}.dashboard-stat.remaining .dashboard-stat-icon{color:#2470a8;background:#dcecf8}.dashboard-stat.usage .dashboard-stat-icon{color:#7b6cae;background:#eeeafd}.dashboard-main-grid,.dashboard-secondary-grid{grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);gap:18px;margin-bottom:18px;display:grid}.dashboard-secondary-grid{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr)}.dashboard-panel{padding:22px}.analytics-chart-grid,.analytics-lower-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:18px;display:grid}.chart-panel{min-width:0}.analytics-empty{color:#849188;text-align:center;place-content:center;justify-items:center;gap:9px;min-height:280px;display:grid}.analytics-empty p{margin:0;font-size:.84rem}.dashboard-empty-panel{color:#126b4d;align-items:center;gap:16px;margin-bottom:18px;display:flex}.dashboard-empty-panel h2{color:#173523;margin:0 0 5px;font-size:1rem}.dashboard-empty-panel p{color:#718078;margin:0;font-size:.84rem}.empty-actions{align-items:center;gap:9px;margin-left:auto;display:flex}.empty-actions .primary-button,.empty-actions .secondary-button{white-space:nowrap;align-items:center;gap:7px;margin:0;display:inline-flex}.comparison-values{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.comparison-values span,.comparison-values strong{display:block}.comparison-values span{color:#849188;font-size:.75rem}.comparison-values strong{color:#173523;margin-top:5px;font-size:.95rem}.comparison-bar{background:#edf2ed;border-radius:8px;height:13px;margin:24px 0 10px;overflow:hidden}.comparison-spent{border-radius:inherit;background:#d8754d;height:100%;display:block}.insight-message{color:#126b4d;background:#edf7f0;border-radius:10px;align-items:center;gap:12px;min-height:96px;padding:18px;display:flex}.insight-message p{color:#315542;margin:0;font-size:.9rem;line-height:1.5}.insight-warning{color:#b65a38;background:#fff0e9}.insight-warning p{color:#764534}.recent-empty{min-height:120px}.recent-empty .empty-actions{margin:0}.dashboard-panel-heading{color:#6f8175;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.dashboard-panel-heading h2{color:#173523;margin:3px 0 0;font-size:1.12rem}.dashboard-panel-heading .eyebrow{margin:0}.text-link{color:#126b4d;white-space:nowrap;align-items:center;gap:5px;font-size:.8rem;font-weight:800;text-decoration:none;display:inline-flex}.dashboard-transactions{gap:2px;display:grid}.dashboard-transaction{border-bottom:1px solid #edf2ed;align-items:center;gap:12px;padding:12px 0;display:flex}.dashboard-transaction:last-child{border-bottom:0}.transaction-badge{border-radius:10px;flex:none;place-items:center;width:34px;height:34px;display:grid}.transaction-badge.transaction-income{color:#2470a8;background:#dcecf8}.transaction-badge.transaction-expense{color:#b65a38;background:#fae5dc}.transaction-copy{flex:1;min-width:0}.transaction-copy strong,.transaction-copy span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.transaction-copy strong{color:#173523;font-size:.9rem}.transaction-copy span,.monthly-summary span,.budget-amounts span{color:#849188;font-size:.76rem}.monthly-summary{grid-template-columns:1fr 1fr;gap:18px 14px;display:grid}.monthly-summary span,.monthly-summary strong,.budget-amounts span,.budget-amounts strong{display:block}.monthly-summary strong{color:#173523;margin-top:6px;font-size:1.08rem}.category-list{gap:17px;display:grid}.category-row>div:first-child,.budget-amounts,.budget-meta{justify-content:space-between;align-items:center;gap:12px;display:flex}.category-row span{color:#51635a;font-size:.84rem}.category-row strong{color:#173523;font-size:.85rem}.category-track,.budget-track{background:#edf2ed;border-radius:8px;height:7px;margin-top:8px;overflow:hidden}.category-track span,.budget-track span{border-radius:inherit;background:#2a9b70;height:100%;display:block}.budget-track{height:11px;margin:22px 0 9px}.budget-track span{background:#d8754d}.budget-meta{color:#718078;font-size:.78rem}.budget-meta strong{color:#b65a38}.panel-note{color:#849188;margin:18px 0 0;font-size:.8rem}.quick-panel{margin-bottom:20px}.quick-actions{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.quick-action{color:#173523;border:1px solid #dce6dd;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;padding:13px 14px;font-size:.82rem;font-weight:800;text-decoration:none;display:flex}.quick-action span{align-items:center;gap:8px;display:flex}.quick-action span svg{color:#126b4d}.quick-action:hover{background:#f4faf5;border-color:#9bc9ae}.dashboard-panel .data-state{background:0 0;border:0;min-height:150px;padding:12px}@media (width<=900px){.dashboard-stat-grid,.analytics-stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-main-grid,.dashboard-secondary-grid,.analytics-chart-grid,.analytics-lower-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.dashboard-stat-grid,.analytics-stat-grid,.quick-actions{grid-template-columns:1fr}.dashboard-stat{padding:16px}.dashboard-panel{padding:18px 16px}.dashboard-hero{align-items:stretch}.dashboard-refresh{justify-content:center}.dashboard-transaction{gap:9px}.dashboard-transaction>strong{font-size:.8rem}.dashboard-welcome{line-height:1.45}.dashboard-empty-panel{flex-wrap:wrap;align-items:flex-start}.dashboard-empty-panel>div:nth-child(2){flex:1;min-width:200px}.dashboard-empty-panel .empty-actions{width:100%;margin-left:0}.empty-actions .primary-button,.empty-actions .secondary-button{flex:1;justify-content:center}.comparison-values strong{font-size:.85rem}}@media (prefers-color-scheme:dark){.dashboard-stat,.dashboard-panel{background:#1d3026;border-color:#345341}.dashboard-stat strong,.dashboard-panel-heading h2,.transaction-copy strong,.monthly-summary strong,.category-row strong,.quick-action,.dashboard-empty-panel h2,.comparison-values strong{color:#eff8f1}.dashboard-welcome,.dashboard-stat p,.transaction-copy span,.monthly-summary span,.budget-amounts span,.panel-note,.dashboard-empty-panel p,.comparison-values span{color:#9ab1a1}.dashboard-transaction,.quick-action{border-color:#345341}.quick-action:hover{background:#243d2d}.insight-message{background:#203d2c}.insight-message p{color:#c3dfcb}.insight-warning{background:#493126}.insight-warning p{color:#f0c2ad}}.budget-status,.dashboard-status{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;width:fit-content;margin:0;padding:4px 8px;font-weight:800;display:inline-flex;font-size:.66rem!important}.status-on_track{color:#19704f;background:#d7eee0}.status-warning{color:#936517;background:#f8edcf}.status-exceeded{color:#b65a38;background:#fae5dc}.dashboard-status{vertical-align:middle;margin-left:7px}.budget-card-heading>.budget-status{margin-left:auto}.budget-card-heading .budget-card-actions{margin-left:0}@media (prefers-color-scheme:dark){.status-on_track{color:#a9e2c2;background:#244735}.status-warning{color:#f2d58c;background:#4e4124}.status-exceeded{color:#f0b29b;background:#4b2e25}}.records-page{max-width:1180px;margin:auto}.records-heading-actions{align-items:center;gap:10px;display:flex}.record-type-picker{color:#173523;background:#fff;border:1px solid #d3ded5;border-radius:8px;min-height:40px;padding:0 30px 0 12px}.record-summary-grid{grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;display:grid}.record-summary-grid>div{background:#fff;border:1px solid #dce6dd;border-radius:12px;padding:17px 19px}.record-summary-grid span,.record-summary-grid strong{display:block}.record-summary-grid span{color:#718078;text-transform:uppercase;font-size:.75rem;font-weight:800}.record-summary-grid strong{color:#173523;margin-top:5px;font-size:1.2rem}.record-type{align-items:center;gap:8px;display:inline-flex}.record-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.expense-dot{background:#d8754d}.income-dot{background:#2a9b70}.row-actions{justify-content:flex-end;gap:2px;display:flex}.records-page .toolbar{margin-bottom:18px}.records-page .table-wrap{overflow-x:auto}.records-page table{min-width:720px}.records-page td{vertical-align:middle}.records-page .amount-cell{white-space:nowrap}.records-page .modal-backdrop{z-index:10}@media (width<=700px){.records-heading-actions{flex-direction:column;align-items:stretch}.records-heading-actions .add-button{justify-content:center}.record-type-picker{width:100%}.record-summary-grid{grid-template-columns:1fr 1fr}.record-summary-grid>div:first-child{grid-column:1/-1}.records-page table{min-width:0}.records-page .row-actions{justify-content:flex-end}.records-page .toolbar{margin-bottom:14px}}@media (prefers-color-scheme:dark){.record-summary-grid>div,.record-type-picker{color:#eff8f1;background:#1d3026;border-color:#345341}.record-summary-grid strong{color:#eff8f1}.record-summary-grid span{color:#9ab1a1}}.budgets-page{max-width:1180px;margin:auto}.budgets-heading{align-items:end}.budget-intro{color:#718078;margin:8px 0 0}.budgets-heading .primary-button{align-items:center;gap:8px;display:inline-flex}.budget-filters{gap:12px;margin:22px 0;display:flex}.budget-filters label{color:#718078;text-transform:uppercase;gap:6px;font-size:.74rem;font-weight:800;display:grid}.budget-filters select{color:#173523;background:#fff;border:1px solid #d3ded5;border-radius:8px;min-width:160px;padding:11px 32px 11px 12px}.budget-summary-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;display:grid}.budget-summary-grid>div{-moz-column-gap:10px;background:#fff;border:1px solid #dce6dd;border-radius:12px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:18px;display:grid}.budget-summary-grid svg{color:#126b4d;grid-row:span 2}.budget-summary-grid span{color:#718078;font-size:.76rem;font-weight:800}.budget-summary-grid strong{color:#173523;font-size:1.15rem}.budget-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.budget-card-v2{background:#fff;border:1px solid #dce6dd;border-radius:12px;padding:21px}.budget-card-v2.over-budget{border-color:#e4aa97}.budget-card-heading{align-items:center;gap:11px;display:flex}.budget-category-icon{color:#126b4d;background:#d7eee0;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.budget-card-heading h3{color:#173523;margin:0;font-size:1rem}.budget-card-heading span{color:#849188;margin-top:3px;font-size:.75rem;display:block}.budget-card-actions{gap:2px;margin-left:auto;display:flex}.danger-icon{color:#b65a38}.budget-values{grid-template-columns:repeat(3,1fr);gap:14px;margin:23px 0 20px;display:grid}.budget-values span,.budget-values strong{display:block}.budget-values span{color:#849188;font-size:.75rem}.budget-values strong{color:#173523;margin-top:5px;font-size:.96rem}.budget-progress-track{background:#edf2ed;border-radius:8px;height:10px;overflow:hidden}.budget-progress-track span{border-radius:inherit;background:#2a9b70;height:100%;display:block}.over-budget .budget-progress-track span{background:#d8754d}.budget-progress-meta{color:#718078;justify-content:space-between;gap:12px;margin-top:9px;font-size:.76rem;display:flex}.budget-progress-meta strong{font-weight:800}.budgets-page>.data-state{min-height:280px}.budgets-page .modal-backdrop{z-index:10}.budget-modal{background:#fff;border-radius:13px;width:min(100% - 32px,500px);padding:25px;box-shadow:0 22px 60px #07170e2b}.budget-form{gap:16px;display:grid}.budget-form .modal-actions{margin-top:4px}.budget-modal .field select,.budget-modal .field input{color:#173523;background:#fbfdfb;border:1px solid #d3ded5;border-radius:8px;outline:0;width:100%;padding:11px 12px}.budget-modal .field select:focus,.budget-modal .field input:focus{border-color:#17815c;box-shadow:0 0 0 3px #17815c1c}.budget-modal .secondary-button{margin:0}@media (width<=900px){.budget-summary-grid{grid-template-columns:repeat(2,1fr)}.budget-card-grid{grid-template-columns:1fr}}@media (width<=560px){.budgets-heading{align-items:stretch}.budgets-heading .primary-button{justify-content:center}.budget-filters{grid-template-columns:1fr 1fr;display:grid}.budget-filters select{width:100%;min-width:0}.budget-summary-grid{grid-template-columns:1fr 1fr}.budget-summary-grid>div{padding:14px 11px}.budget-summary-grid strong{font-size:1rem}.budget-values{gap:8px}.budget-values strong{font-size:.83rem}.budget-card-v2{padding:17px}}@media (prefers-color-scheme:dark){.budget-summary-grid>div,.budget-card-v2,.budget-modal,.budget-filters select,.budget-modal .field select,.budget-modal .field input{color:#eff8f1;background:#1d3026;border-color:#345341}.budget-summary-grid strong,.budget-card-heading h3,.budget-values strong{color:#eff8f1}.budget-intro,.budget-summary-grid span,.budget-card-heading span,.budget-values span,.budget-progress-meta{color:#9ab1a1}.budget-modal .field select,.budget-modal .field input{background:#17271e}.budget-card-v2.over-budget{border-color:#875644}}.reports-page{max-width:1180px;margin:auto}.reports-intro{color:#718078;margin:8px 0 0}.reports-link{align-items:center;gap:7px;margin:0;text-decoration:none;display:inline-flex}.report-summary{grid-template-columns:repeat(3,1fr);gap:14px;margin:22px 0;display:grid}.report-summary>div,.report-panel{background:#fff;border:1px solid #dce6dd;border-radius:12px}.report-summary>div{-moz-column-gap:10px;grid-template-columns:auto 1fr;align-items:center;column-gap:10px;padding:19px;display:grid}.report-summary svg{color:#126b4d;grid-row:span 3}.report-summary span,.report-summary strong,.report-summary small{display:block}.report-summary span{color:#718078;text-transform:uppercase;font-size:.75rem;font-weight:800}.report-summary strong{color:#173523;margin-top:5px;font-size:1.18rem}.report-summary small{color:#849188;margin-top:4px;font-size:.75rem}.report-grid{grid-template-columns:.8fr 1.2fr;gap:18px;display:grid}.report-panel{padding:22px}.report-heading{color:#718078;justify-content:space-between;gap:14px;margin-bottom:18px;display:flex}.report-heading h2{color:#173523;margin:3px 0 0;font-size:1.1rem}.report-heading .eyebrow{margin:0}.report-list{gap:13px;display:grid}.report-list-row,.trend-row{align-items:center;gap:12px;display:grid}.report-list-row{color:#51635a;border-bottom:1px solid #edf2ed;grid-template-columns:1fr auto;padding-bottom:12px;font-size:.86rem}.report-list-row strong{color:#173523}.trend-table{gap:2px;display:grid}.trend-row{border-bottom:1px solid #edf2ed;grid-template-columns:1fr 1fr 1fr;padding:11px 0;font-size:.84rem}.trend-row:last-child{border-bottom:0}.trend-row strong{text-align:right}.trend-header{color:#849188;text-transform:uppercase;font-size:.72rem;font-weight:800}.report-empty{color:#849188;text-align:center;place-items:center;min-height:130px;font-size:.84rem;display:grid}.report-footnote{color:#849188;margin:18px 0;font-size:.8rem}.report-footnote a{color:#126b4d;font-weight:800;text-decoration:none}@media (width<=760px){.report-summary,.report-grid{grid-template-columns:1fr}.reports-page .page-heading{align-items:stretch}.reports-link{justify-content:center}}@media (prefers-color-scheme:dark){.report-summary>div,.report-panel{background:#1d3026;border-color:#345341}.reports-intro,.report-summary span,.report-summary small,.report-heading,.report-list-row,.trend-header,.report-empty,.report-footnote{color:#9ab1a1}.report-summary strong,.report-heading h2,.report-list-row strong{color:#eff8f1}.report-list-row,.trend-row{border-color:#345341}}.report-controls{background:#fff;border:1px solid #dce6dd;border-radius:12px;justify-content:space-between;align-items:end;gap:18px;margin:22px 0;padding:18px;display:flex}.report-controls>div{flex-wrap:wrap;gap:12px;display:flex}.report-controls label{color:#718078;text-transform:uppercase;gap:6px;font-size:.74rem;font-weight:800;display:grid}.report-controls select,.report-controls input{color:#173523;background:#fbfdfb;border:1px solid #d3ded5;border-radius:8px;min-width:160px;padding:10px 12px}.report-generate{white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.report-error{color:#8c4028;background:#fff0e9;border:1px solid #e4aa97;border-radius:8px;margin:16px 0;padding:12px 14px;font-size:.84rem}.report-export-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.report-export-actions .secondary-button{align-items:center;gap:6px;margin:0;display:inline-flex}.report-table-wrap{overflow-x:auto}.report-table-wrap table{border-collapse:collapse;width:100%;min-width:680px}.report-table-wrap th,.report-table-wrap td{text-align:left;border-bottom:1px solid #edf2ed;padding:12px 10px;font-size:.83rem}.report-table-wrap th{color:#849188;text-transform:uppercase;font-size:.7rem}.report-table-wrap td{color:#51635a}.report-table-wrap .amount-cell{text-align:right;white-space:nowrap}.budget-report{margin-top:18px}.budget-report-list{gap:10px;display:grid}.budget-report-row{color:#51635a;border-bottom:1px solid #edf2ed;justify-content:space-between;gap:12px;padding:11px 0;font-size:.84rem;display:flex}.budget-report-row strong{color:#173523;text-align:right}.reports-page .report-empty{color:#849188;place-items:center;min-height:150px;display:grid}@media (width<=800px){.report-controls{flex-direction:column;align-items:stretch}.report-generate{justify-content:center}.report-export-actions{justify-content:flex-start}.budget-report-row{flex-direction:column}.budget-report-row strong{text-align:left}}@media (width<=560px){.report-controls>div{grid-template-columns:1fr 1fr;display:grid}.report-controls label:first-child{grid-column:1/-1}.report-controls select,.report-controls input{width:100%;min-width:0}.report-export-actions{grid-template-columns:1fr;display:grid}.report-export-actions .secondary-button{justify-content:center}.report-table-wrap table{min-width:0}.report-table-wrap thead{display:none}.report-table-wrap table,.report-table-wrap tbody,.report-table-wrap tr,.report-table-wrap td{display:block}.report-table-wrap tbody{gap:10px;display:grid}.report-table-wrap tr{border:1px solid #dce6dd;border-radius:9px;padding:12px}.report-table-wrap td{text-align:right;border:0;justify-content:space-between;gap:12px;padding:6px 0;display:flex}.report-table-wrap td:before{color:#849188;text-align:left;text-transform:uppercase;font-size:.68rem;font-weight:800}.report-table-wrap td:first-child:before{content:"Date"}.report-table-wrap td:nth-child(2):before{content:"Type"}.report-table-wrap td:nth-child(3):before{content:"Category/source"}.report-table-wrap td:nth-child(4):before{content:"Description"}.report-table-wrap td:nth-child(5):before{content:"Amount"}}@media (prefers-color-scheme:dark){.report-controls,.report-controls select,.report-controls input,.report-table-wrap tr{color:#eff8f1;background:#1d3026;border-color:#345341}.report-controls label,.report-table-wrap th,.report-table-wrap td,.budget-report-row{color:#9ab1a1}.report-table-wrap th,.report-table-wrap td,.budget-report-row{border-color:#345341}.budget-report-row strong{color:#eff8f1}.report-error{color:#f0c2ad;background:#493126;border-color:#875644}}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.table{display:table}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color:#17211b;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;background:#f5f7f2;font-family:DM Sans,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 80% -10%,#d9efe1 0,#0000 34%),#f5f7f2;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.auth-shell{background:linear-gradient(135deg,#f5f7f2 0%,#e9f3eb 100%);place-items:center;min-height:100vh;padding:32px 20px;display:grid;position:relative}.auth-shell:before{content:"";opacity:.35;pointer-events:none;background-image:linear-gradient(#d3e4d8 1px,#0000 1px),linear-gradient(90deg,#d3e4d8 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}.auth-brand,.auth-card,.auth-caption{z-index:1;position:relative}.auth-brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:1.2rem;font-weight:800;display:flex;position:absolute;top:34px;left:42px}.brand-mark{color:#fff;background:#126b4d;border-radius:10px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 6px 16px #126b4d30}.auth-card{background:#fff;border:1px solid #dce6dd;border-radius:16px;width:min(100%,470px);padding:42px;animation:.45s ease-out both rise;box-shadow:0 24px 60px #45605218}.eyebrow{color:#17815c;text-transform:uppercase;letter-spacing:.15em;margin:0 0 10px;font-size:.72rem;font-weight:800}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:28px;font-size:clamp(2rem,4vw,2.55rem);line-height:1.08}.auth-form{gap:18px;display:grid}.field{color:#47564d;gap:7px;font-size:.82rem;font-weight:700;display:grid}.field input{color:#17211b;background:#fbfdfb;border:1px solid #d3ded5;border-radius:8px;outline:none;width:100%;padding:12px 13px;transition:border-color .2s,box-shadow .2s}.field input:focus{border-color:#17815c;box-shadow:0 0 0 3px #17815c1c}.field input::placeholder{color:#a7b2aa;font-weight:400}.field small{color:#b33b3b}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.primary-button{color:#fff;background:#126b4d;border:0;border-radius:8px;justify-content:center;align-items:center;gap:9px;min-height:46px;margin-top:4px;font-weight:800;transition:transform .2s,background .2s;display:flex}.primary-button:hover:not(:disabled){background:#0e573f;transform:translateY(-1px)}.primary-button:disabled{opacity:.65;cursor:wait}.form-alert,.success-alert{border-radius:8px;align-items:center;gap:8px;padding:11px 13px;font-size:.82rem;display:flex}.form-alert{color:#943939;background:#fff0ef;border:1px solid #f1ceca}.success-alert{color:#126b4d;background:#e9f7ee;border:1px solid #bde1c8}.auth-footer{color:#718078;text-align:center;border-top:1px solid #e9eee9;margin-top:26px;padding-top:22px;font-size:.87rem}.auth-footer a{color:#126b4d;align-items:center;gap:4px;font-weight:800;text-decoration:none;display:inline-flex}.auth-caption{color:#779080;font-size:.82rem;position:absolute;bottom:30px}.app-shell{min-height:100vh;display:flex}.sidebar{color:#c1d9cc;background:#123a2c;flex-direction:column;flex:0 0 248px;width:248px;padding:26px 16px 20px;display:flex}.sidebar-brand{color:#fff;align-items:center;gap:10px;padding:0 12px 34px;font-size:1.15rem;font-weight:800;display:flex}.sidebar-brand .brand-mark{background:#2a9b70}.sidebar nav{gap:5px;display:grid}.sidebar nav a,.logout-button{color:inherit;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:12px;padding:11px 12px;font-size:.87rem;font-weight:650;text-decoration:none;display:flex}.sidebar nav a:hover,.sidebar nav a.active{color:#fff;background:#ffffff17}.logout-button{width:100%;margin-top:auto}.logout-button:hover{color:#fff;background:#ffffff17}.main-area{flex:1;min-width:0}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb8;border-bottom:1px solid #dde6df;justify-content:space-between;align-items:center;height:76px;padding:0 38px;display:flex}.topbar-title{color:#65746b;font-size:.83rem;font-weight:700}.topbar-user{color:#25342b;align-items:center;gap:10px;font-size:.84rem;font-weight:700;display:flex}.notification-button,.icon-button{color:inherit;background:0 0;border:0;place-items:center;display:grid;position:relative}.notification-button span{background:#d8754d;border-radius:50%;width:6px;height:6px;position:absolute;top:0;right:0}.avatar{color:#126b4d;background:#d7eee0;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.page-content{padding:42px 5%}.dashboard-page{max-width:1050px;margin:auto}.welcome-panel{color:#fff;background:linear-gradient(115deg,#126b4d,#20845e);border-radius:14px;justify-content:space-between;align-items:center;padding:38px;display:flex;box-shadow:0 18px 32px #126b4d25}.welcome-panel .eyebrow{color:#b8ead0}.welcome-panel h1{margin-bottom:10px}.welcome-panel p:last-child{color:#d5f2e1;margin-bottom:0}.welcome-icon,.empty-icon{border-radius:12px;place-items:center;display:grid}.welcome-icon{color:#b8ead0;background:#ffffff1a;width:64px;height:64px}.empty-state,.placeholder-page{text-align:center;background:#ffffff85;border:1px dashed #cbd9ce;border-radius:12px;margin-top:24px;padding:68px 24px}.empty-icon{color:#17815c;background:#e2f2e7;width:46px;height:46px;margin:0 auto 16px}.empty-state h2{font-size:1.2rem}.empty-state p,.placeholder-page p:last-child{color:#738178;margin-bottom:0}.placeholder-page{max-width:800px;margin:20px auto}.placeholder-page h1{margin-bottom:12px}.mobile-only,.sidebar-overlay{display:none}.page-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:28px;display:flex}.page-heading h1{margin-bottom:0}.add-button{flex:none;min-height:42px;padding:0 16px}.toolbar{background:#ffffffb8;border:1px solid #dce6dd;border-radius:10px;flex-wrap:wrap;gap:10px;margin-bottom:20px;padding:14px;display:flex}.toolbar select,.toolbar input,.month-picker select,.record-form select{color:#47564d;background:#fff;border:1px solid #d3ded5;border-radius:7px;outline:none;min-height:38px;padding:0 11px}.search-box{color:#809087;background:#fff;border:1px solid #d3ded5;border-radius:7px;flex:1;align-items:center;gap:8px;min-width:220px;padding:0 11px;display:flex}.search-box input{background:0 0;border:0;outline:0;width:100%;min-height:36px}.table-wrap{background:#fff;border:1px solid #dce6dd;border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:720px}th,td{text-align:left;border-bottom:1px solid #edf1ed;padding:15px 17px;font-size:.82rem}th{color:#829087;text-transform:uppercase;letter-spacing:.08em;font-size:.7rem}tbody tr:last-child td{border-bottom:0}td{color:#425248}.amount-cell{text-align:right;font-weight:800}.type-badge{border-radius:5px;align-items:center;gap:5px;padding:5px 8px;font-size:.72rem;font-weight:800;display:inline-flex}.expense-badge{color:#a14d37;background:#fff0ea}.income-badge{color:#17734f;background:#e6f6eb}.muted{color:#a0aaa3}.row-actions{gap:3px;display:flex}.row-actions .icon-button{color:#718078;border-radius:6px;padding:7px}.row-actions .icon-button:hover{color:#126b4d;background:#edf7f0}.row-actions .delete-button:hover{color:#b33b3b;background:#fff0ef}.data-state{color:#7b8b80;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:250px;display:flex}.data-state h2,.data-state p{margin:0}.error-state{color:#a14d37}.compact-button{min-height:38px;padding:0 14px}.page-notice{margin:-12px 0 18px}.modal-backdrop{z-index:10;background:#07170e80;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.record-modal{background:#fff;border-radius:14px;width:min(100%,520px);max-height:92vh;padding:28px;animation:.2s ease-out both rise;overflow:auto;box-shadow:0 24px 70px #07170e40}.modal-heading,.modal-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.modal-heading h2{margin:0 0 22px;font-size:1.4rem}.record-form{gap:16px;display:grid}.modal-actions{justify-content:end;margin-top:8px}.modal-actions .secondary-button{margin:0}.dashboard-heading{align-items:center}.month-picker{color:#718078;gap:5px;font-size:.72rem;font-weight:800;display:grid}.stat-grid{grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:24px;display:grid}.stat-card{background:#fff;border:1px solid #dce6dd;border-radius:10px;padding:18px}.stat-icon{color:#126b4d;background:#e4f3e8;border-radius:8px;place-items:center;width:34px;height:34px;margin-bottom:18px;display:grid}.stat-card p{color:#75847a;margin-bottom:7px;font-size:.74rem;font-weight:700}.stat-card strong{color:#1c2b22;letter-spacing:-.04em;font-size:1.3rem;display:block}.stat-card small{color:#829087;margin-top:7px;font-size:.7rem;display:block}.expense-card .stat-icon{color:#b95f42;background:#fff0e9}.budget-card .stat-icon{color:#b2782e;background:#fff4d9}.chart-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.content-card{background:#fff;border:1px solid #dce6dd;border-radius:10px;min-width:0;padding:22px}.card-heading{color:#738178;justify-content:space-between;align-items:start;display:flex}.card-heading h2{color:#24342a;margin:0 0 12px;font-size:1.05rem}.chart-empty{color:#8a978e;place-items:center;min-height:260px;font-size:.85rem;display:grid}.recent-card{margin-top:18px}.recent-list{display:grid}.recent-row{border-bottom:1px solid #edf1ed;align-items:center;gap:12px;padding:13px 0;display:flex}.recent-row:last-child{border-bottom:0}.transaction-icon{border-radius:50%;place-items:center;width:32px;height:32px;font-weight:800;display:grid}.transaction-expense{color:#a14d37;background:#fff0ea}.transaction-income{color:#17734f;background:#e6f6eb}.recent-description{flex:1;gap:3px;min-width:0;display:grid}.recent-description strong{color:#334239;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-description span{color:#849188;font-size:.72rem}.negative-value{color:#b95f42}.positive-value{color:#17734f}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=700px){.auth-brand{top:22px;left:20px}.auth-card{margin-top:42px;padding:30px 22px}.auth-caption{display:none}.field-row{grid-template-columns:1fr;gap:18px}.sidebar{z-index:5;transition:transform .25s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar-open{transform:translate(0)}.sidebar-overlay{z-index:4;background:#07170e99;border:0;display:block;position:fixed;inset:0}.mobile-only{display:grid}.sidebar-brand .mobile-only{color:#fff;margin-left:auto}.topbar{gap:12px;height:66px;padding:0 18px}.topbar-title{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.user-name,.topbar-user>svg{display:none}.page-content{padding:24px 18px}.welcome-panel{padding:26px 22px}.welcome-icon{display:none}}.profile-page{max-width:760px;margin:auto}.profile-card{background:#fff;border:1px solid #dce6dd;border-radius:12px;align-items:center;gap:18px;padding:26px;display:flex}.profile-avatar{color:#126b4d;background:#d7eee0;border-radius:50%;place-items:center;width:58px;height:58px;display:grid}.profile-card h2{margin:0 0 7px;font-size:1.15rem}.profile-card p{color:#718078;align-items:center;gap:7px;margin:0;display:flex}.secondary-button{color:#126b4d;background:#fff;border:1px solid #cbd9ce;border-radius:8px;margin-top:20px;padding:10px 16px;font-weight:800}.secondary-button:hover{background:#edf7f0}@media (prefers-color-scheme:dark){:root{color:#e5efe8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#102019}body{background:radial-gradient(circle at 80% -10%,#234b38 0,#0000 34%),#102019}.auth-shell{background:linear-gradient(135deg,#102019,#172d22)}.auth-shell:before{background-image:linear-gradient(#2c4b3b 1px,#0000 1px),linear-gradient(90deg,#2c4b3b 1px,#0000 1px)}.auth-card,.profile-card{background:#1d3026;border-color:#345341}.field{color:#c0d2c5}.field input{color:#eff8f1;background:#17271e;border-color:#3b5a47}.field input::placeholder{color:#718d7b}.auth-footer{color:#9ab1a1;border-color:#345341}.topbar{background:#17271ecc;border-color:#2e4738}.topbar-title,.profile-card p,.empty-state p,.placeholder-page p:last-child{color:#9ab1a1}.topbar-user{color:#e5efe8}.empty-state,.placeholder-page{background:#17271e85;border-color:#3b5a47}.profile-card h2{color:#eff8f1}.secondary-button{color:#a9e2c2;background:#1d3026;border-color:#3b5a47}}@media (width<=700px){.page-heading,.dashboard-heading{flex-direction:column;align-items:stretch}.add-button{align-self:stretch}.toolbar{grid-template-columns:1fr 1fr;display:grid}.search-box{grid-column:1/-1;min-width:0}.toolbar select,.toolbar input{width:100%;min-width:0}.table-wrap{background:0 0;border:0;overflow:visible}table{min-width:0;display:block}thead{display:none}tbody,tr,td{display:block}tbody{gap:10px;display:grid}tr{background:#fff;border:1px solid #dce6dd;border-radius:10px;padding:15px}td{text-align:right;border:0;justify-content:space-between;gap:16px;padding:6px 0;display:flex}td:before{content:attr(data-label);color:#849188;text-align:left;text-transform:uppercase;font-size:.7rem;font-weight:800}td.amount-cell{text-align:right}td:last-child{justify-content:flex-end}td:last-child:before{display:none}}@media (prefers-color-scheme:dark){.toolbar,.content-card,.stat-card,.search-box,.toolbar select,.toolbar input,.month-picker select{color:#dcebe0;background:#1d3026;border-color:#345341}.stat-card strong,.card-heading h2,.recent-description strong{color:#eff8f1}.toolbar input::-moz-placeholder{color:#9ab1a1}.stat-card p,.card-heading,.month-picker,.toolbar input::placeholder{color:#9ab1a1}.record-modal{background:#1d3026}.record-modal h2{color:#eff8f1}.record-form select{color:#eff8f1;background:#17271e;border-color:#3b5a47}tr{background:#1d3026;border-color:#345341}td{color:#c4d5c9;border-color:#345341}}.notification-wrapper,.topbar-user{position:relative}.profile-trigger{color:inherit;font-weight:inherit;background:0 0;border:0;align-items:center;gap:10px;padding:0;display:flex}.topbar-dropdown{z-index:10;color:#25342b;background:#fff;border:1px solid #dce6dd;border-radius:10px;width:250px;padding:16px;animation:.18s ease-out both rise;position:absolute;top:calc(100% + 14px);right:0;box-shadow:0 14px 30px #45605224}.notification-dropdown{right:-12px}.dropdown-heading{border-bottom:1px solid #edf1ed;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.dropdown-heading span,.dropdown-email{color:#718078;font-size:.75rem;font-weight:500}.dropdown-empty{color:#718078;margin:18px 0;font-size:.82rem}.topbar-dropdown a,.topbar-dropdown button{color:#126b4d;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:9px 0;font-size:.82rem;font-weight:800;text-decoration:none;display:flex}.profile-dropdown{gap:5px;display:grid}.profile-dropdown>strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-dropdown .dropdown-email{margin-bottom:7px}.profile-dropdown button{text-align:left}@media (prefers-color-scheme:dark){.topbar-dropdown{color:#eff8f1;background:#1d3026;border-color:#345341}.dropdown-heading{border-color:#345341}.dropdown-heading span,.dropdown-email,.dropdown-empty{color:#9ab1a1}}
