:root{--clr-background:#fcfcfc;--clr-surface:#fff;--clr-surface-alt:#e7f0f4;--clr-surface-hover:#dceaf0;--clr-text-primary:#17252c;--clr-text-secondary:#52646e;--clr-text-muted:#71838e;--clr-primary:#187c3a;--clr-primary-hover:#12662f;--clr-primary-rgb:24, 124, 58;--clr-primary-glow:#187c3a2e;--clr-primary-subtle:#d8f5e1;--clr-on-primary:#fff;--clr-success:#187c3a;--clr-success-rgb:24, 124, 58;--clr-success-glow:#187c3a29;--clr-success-subtle:#d7f5e0;--clr-on-success:#fff;--clr-danger:#c8433b;--clr-danger-rgb:200, 67, 59;--clr-danger-glow:#c8433b29;--clr-danger-subtle:#fbe3e1;--clr-on-danger:#fff;--clr-warning:#a96809;--clr-warning-rgb:169, 104, 9;--clr-warning-glow:#a9680929;--clr-warning-subtle:#fff0d2;--clr-on-warning:#fff;--clr-border:#cadbe2;--clr-field-bg:#eef5f7;--clr-field-bg-focus:#fff;--clr-overlay:#0c19238a;--clr-table-stripe:#52646e0d;--clr-table-hover:#218e4217;--clr-on-surface:#fff;--shadow-control:0 2px 4px #0f25301f;--shadow-floating:0 4px 16px #0f253029;--shadow-modal:0 20px 25px -5px #0f253029, 0 10px 10px -5px #0f253014;--field-inset-shadow:inset 0 1px 2px #00000012;--glass-bg:#fffffff0;--glass-border:#ffffffe0;--glass-shadow:0 4px 30px #0f253012;--clr-chart-1:#218e42;--clr-chart-2:#167c8e;--clr-chart-3:#bc7918;--clr-chart-4:#c84c45;--clr-chart-5:#6f61b5;--clr-chart-6:#b44e86;--clr-chart-7:#2b9a81;--clr-chart-8:#be6335;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--page-sticky-header-offset:calc(5rem + var(--spacing-md));--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Outfit", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1)}@media (width<=768px){:root{--page-sticky-header-offset:calc(5rem + var(--spacing-md) + env(safe-area-inset-top,0px))}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--clr-background:#181818;--clr-surface:#202020;--clr-surface-alt:#2a2a2a;--clr-surface-hover:#353535;--clr-text-primary:#f5f5f5;--clr-text-secondary:#cbcbcb;--clr-text-muted:#9e9e9e;--clr-primary:#35c65a;--clr-primary-hover:#58d979;--clr-primary-rgb:53, 198, 90;--clr-primary-glow:#35c65a38;--clr-primary-subtle:#143d22;--clr-on-primary:#08230f;--clr-success:#48d271;--clr-success-rgb:72, 210, 113;--clr-success-glow:#48d27133;--clr-success-subtle:#143d22;--clr-on-success:#08230f;--clr-danger:#ff8a80;--clr-danger-rgb:255, 138, 128;--clr-danger-glow:#ff8a8033;--clr-danger-subtle:#48231f;--clr-on-danger:#35120f;--clr-warning:#ffc45c;--clr-warning-rgb:255, 196, 92;--clr-warning-glow:#ffc45c33;--clr-warning-subtle:#4a3712;--clr-on-warning:#302000;--clr-border:#404040;--clr-field-bg:#141414;--clr-field-bg-focus:#242424;--clr-overlay:#000000b8;--clr-table-stripe:#ffffff0b;--clr-table-hover:#35c65a24;--clr-on-surface:#f5f5f5;--shadow-control:0 2px 4px #00000052;--shadow-floating:0 4px 16px #0006;--shadow-modal:0 20px 25px -5px #0000007a, 0 10px 10px -5px #00000047;--field-inset-shadow:inset 0 1px 2px #00000047;--glass-bg:#202020f0;--glass-border:#52525299;--glass-shadow:0 8px 32px #0006;--clr-chart-1:#35c65a;--clr-chart-2:#41b8d0;--clr-chart-3:#ffc45c;--clr-chart-4:#ff8a80;--clr-chart-5:#afa0ff;--clr-chart-6:#f18dbb;--clr-chart-7:#41c7a7;--clr-chart-8:#ffad76}*{box-sizing:border-box}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--clr-text-primary);background-color:var(--clr-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-normal), color var(--transition-normal);margin:0;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--clr-text-primary);margin:0;font-weight:600;line-height:1.2}:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}h1{margin-bottom:var(--spacing-sm);font-size:2rem}@media (width<=768px){body{-webkit-user-select:none;user-select:none}input,textarea,[contenteditable=true]{-webkit-user-select:text;user-select:text}h1{font-size:1.5rem}}p{margin:0}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-0{margin-bottom:0}.mt-auto{margin-top:auto}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-0{margin-top:0}.page-section-stack{gap:var(--spacing-lg);flex-direction:column;display:flex}.page-section-stack>.filter-type-tabs,.page-section-stack>.filter-tabs-panel,.page-section-stack>.period-summary-cards,.page-section-stack>.category-summary-cards,.page-section-stack>.settings-status,.page-section-stack>.settings-import-progress{margin-bottom:0}.p-0{padding:0!important}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.px-0{padding-left:0;padding-right:0}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.py-0{padding-top:0;padding-bottom:0}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.w-full{width:100%}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.text-danger{color:var(--clr-danger)}.text-warning{color:var(--clr-warning)}.text-success{color:var(--clr-success)}.text-primary{color:var(--clr-primary)}.text-secondary{color:var(--clr-text-secondary)}.text-muted{color:var(--clr-text-muted)}.font-bold{font-weight:700}.font-semibold{font-weight:600}.font-medium{font-weight:500}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-xl);padding:var(--spacing-lg)}.hover-glow{transition:opacity var(--transition-fast)}.hover-glow:active{opacity:.6}.btn{font-family:var(--font-sans);color:var(--clr-primary);cursor:pointer;background-color:#0000;border:none;border-radius:10px;justify-content:center;align-items:center;padding:10px 16px;font-size:16px;font-weight:600;transition:opacity .2s,background-color .2s;display:inline-flex}.btn-lg{border-radius:12px;padding:14px 20px;font-size:17px}.btn-primary{background-color:var(--clr-primary);color:var(--clr-on-primary)}.btn-success{background:var(--clr-success);color:var(--clr-on-success)}.btn-danger{background-color:var(--clr-danger);color:var(--clr-on-danger)}.btn-secondary{border:1px solid var(--clr-border);background-color:var(--clr-surface-alt);color:var(--clr-text-primary)}.btn-alt-bg{background-color:var(--clr-surface-alt);color:var(--clr-text-primary)}@media (hover:hover){.btn-secondary:hover,.btn-alt-bg:hover{background-color:var(--clr-surface)}.btn-primary:hover{background-color:var(--clr-primary-hover)}}.btn-primary:active,.btn-danger:active{opacity:.6}.form-group{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-direction:column;display:flex}.form-label{font-size:var(--text-sm);color:var(--clr-text-secondary);align-items:center;gap:8px;font-weight:500;display:flex}.form-input,.form-select{border:1px solid var(--clr-border);background:var(--clr-surface-alt);width:100%;height:46px;color:var(--clr-text-primary);font-family:var(--font-sans);font-size:var(--text-base);box-sizing:border-box;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);appearance:none;border-radius:10px;outline:none;margin:0;padding:0 16px;line-height:44px}.form-select{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-position:right 16px center;background-repeat:no-repeat;background-size:16px;padding-left:12px;padding-right:40px}.form-input:focus,.form-select:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px var(--clr-primary-glow);background-color:var(--clr-surface)}.form-input::placeholder{color:var(--clr-text-muted)}.modal-content .form-input,.modal-content .form-select,.filter-search-input.form-input{border-color:var(--clr-border);border-radius:var(--radius-sm);background-color:var(--clr-field-bg);box-shadow:var(--field-inset-shadow)}.modal-content .form-input:focus,.modal-content .form-select:focus{border-color:var(--clr-primary);background-color:var(--clr-field-bg-focus);box-shadow:var(--field-inset-shadow), 0 0 0 3px var(--clr-primary-glow)}.filter-search-input.form-input:focus{border-color:var(--clr-primary);background-color:var(--clr-surface);box-shadow:var(--field-inset-shadow), 0 0 0 3px var(--clr-primary-glow)}.form-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.form-row>:only-child{grid-column:1/-1}@media (width<=640px){.form-row{grid-template-columns:1fr;gap:0}}@media (width<=768px){.hide-on-mobile{display:none!important}}.recharts-wrapper:focus,.recharts-wrapper :focus{outline:none}.recharts-wrapper:focus-visible,.recharts-wrapper :focus-visible{outline:revert}@media (width>=769px){.hide-on-desktop{display:none!important}}.fab{bottom:calc(100px + env(safe-area-inset-bottom,0px));right:var(--spacing-md);border-radius:var(--radius-full);width:56px;height:56px;box-shadow:var(--shadow-floating);z-index:100;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;display:flex;position:fixed;padding:0!important}@media (width<=768px){.glass-panel{padding:var(--spacing-md)}}.filter-tabs-container{margin-bottom:var(--spacing-md);gap:8px;display:flex}.filter-type-tabs{margin-bottom:var(--spacing-lg)}.filter-tab-btn{white-space:nowrap;font-size:var(--text-base);justify-content:center;align-items:center;gap:8px;display:flex}@media (width<=768px){.filter-tabs-container{flex-wrap:wrap;padding-bottom:4px}.filter-tab-btn{flex:1;min-width:90px;padding-left:8px;padding-right:8px;font-size:13px}}.data-table{border-collapse:collapse;text-align:left;width:100%;min-width:500px}.data-table thead tr{background:var(--clr-surface);border-bottom:1px solid var(--clr-border)}.data-table tbody tr{border-bottom:1px solid var(--clr-border);transition:background-color var(--transition-fast)}.data-table tbody tr:nth-child(2n){background-color:var(--clr-table-stripe)}.data-table tbody tr:hover{background-color:var(--clr-table-hover)}.data-table th{padding:18px var(--spacing-md)}.data-table td{padding:var(--spacing-md)}.data-table .col-desc{width:auto}.data-table .col-amount{width:150px}.data-table .td-amount-expense{color:var(--clr-danger);font-weight:600}.badge-installments{background:var(--clr-primary-glow);color:var(--clr-primary);white-space:nowrap;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px}.btn-action{border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast);background:0 0;border:0;padding:8px}.btn-action.primary{color:var(--clr-primary)}.btn-action.danger{color:var(--clr-danger)}.btn-action.success{color:var(--clr-success)}.btn-action.warning{color:var(--clr-warning)}.btn-action:hover,.btn-action:active,.btn-action.primary:hover,.btn-action.primary:active{background:var(--clr-primary-glow)}.btn-action.danger:hover,.btn-action.danger:active{background:var(--clr-danger-glow)}.btn-action.success:hover,.btn-action.success:active{background:var(--clr-success-glow)}.btn-action.warning:hover,.btn-action.warning:active{background:var(--clr-warning-glow)}@media (prefers-reduced-motion:reduce){.btn-action{transition:none}}.invoice-header-title{color:var(--clr-text-primary);align-items:center;gap:8px;margin:0;font-size:1.125rem;line-height:1;display:flex}.invoice-header-total{white-space:nowrap;align-items:center;font-size:1.25rem;font-weight:700;line-height:1;display:flex}.invoice-details-panel{overflow:hidden;padding:0!important}.invoice-header-panel{background:var(--clr-surface);color:var(--clr-text-primary);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--clr-border);justify-content:space-between;align-items:center;display:flex}.invoice-icon{width:20px;height:20px;color:var(--clr-primary)}.td-flex-center{align-items:center;gap:8px;display:flex}.icon-secondary-shrink{color:var(--clr-text-secondary);flex-shrink:0}@media (width<=768px){.invoice-header-title{gap:6px;font-size:.95rem}.invoice-header-total{font-size:1.05rem}.invoice-icon{width:16px;height:16px}.invoice-header-panel{padding:var(--spacing-md)}}.pull-to-refresh{top:calc(env(safe-area-inset-top,0px) + var(--spacing-sm));z-index:60;align-items:center;gap:var(--spacing-xs);max-width:calc(100vw - (2 * var(--spacing-md)));padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--clr-border);border-radius:var(--radius-full);background:var(--clr-surface);color:var(--clr-text-secondary);box-shadow:var(--glass-shadow);font-size:var(--text-sm);opacity:var(--pull-progress);transform:translate(-50%, calc(var(--pull-distance) - 100% - var(--spacing-sm)));transition:opacity var(--transition-fast), color var(--transition-fast);pointer-events:none;font-weight:600;display:flex;position:fixed;left:50%}.pull-to-refresh.is-refreshing{color:var(--clr-primary)}.pull-to-refresh.is-refreshing svg{animation:.8s linear infinite pull-to-refresh-spin}@keyframes pull-to-refresh-spin{to{transform:rotate(360deg)}}@media (width>=769px){.pull-to-refresh{display:none}}@media (prefers-reduced-motion:reduce){.pull-to-refresh{transition:none}.pull-to-refresh.is-refreshing svg{animation:none}}.toast-viewport{z-index:2000;bottom:var(--spacing-md);right:var(--spacing-md);width:min(24rem, calc(100vw - (2 * var(--spacing-md))));pointer-events:none;position:fixed}.toast{align-items:center;gap:var(--spacing-sm);min-height:3.5rem;padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-md);color:var(--clr-text-primary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;animation:toast-enter var(--transition-normal) both;grid-template-columns:auto 1fr auto;display:grid;position:relative;overflow:hidden}.toast-rail{width:var(--spacing-xs);background:currentColor;position:absolute;inset:0 auto 0 0}.toast-success .toast-icon,.toast-success .toast-rail{color:var(--clr-success)}.toast-error .toast-icon,.toast-error .toast-rail{color:var(--clr-danger)}.toast-message{font-size:var(--text-sm);font-weight:600;line-height:1.35}.toast-close{width:2.25rem;height:2.25rem;color:var(--clr-text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.toast-close:hover{color:var(--clr-text-primary);background:var(--clr-surface-alt)}@keyframes toast-enter{0%{opacity:0;transform:translate3d(0, var(--spacing-md), 0) scale(.98)}to{opacity:1;transform:translate(0,0)scale(1)}}@media (width<=768px){.toast-viewport{top:calc(var(--spacing-md) + env(safe-area-inset-top,0px));bottom:auto;left:50%;right:auto;transform:translate(-50%)}@keyframes toast-enter{0%{opacity:0;transform:translate3d(0, calc(-1 * var(--spacing-md)), 0) scale(.98)}}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.finance-load-error{align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--clr-danger);border-radius:var(--radius-lg);background:var(--clr-surface);color:var(--clr-danger);display:flex}.finance-load-error-copy{gap:var(--spacing-xs);color:var(--clr-text-primary);flex-direction:column;flex:1;display:flex}.finance-load-error-copy span{color:var(--clr-text-secondary);font-size:var(--text-sm)}.finance-load-error-retry{align-items:center;gap:var(--spacing-xs);flex-shrink:0;display:inline-flex}@media (width<=768px){.finance-load-error{flex-wrap:wrap;align-items:flex-start}.finance-load-error-copy{min-width:0}.finance-load-error-retry{justify-content:center;width:100%}}.confirmation-modal-description{color:var(--clr-text-secondary);margin:0;line-height:1.5}.modal-overlay{background:var(--clr-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;padding:var(--spacing-md);overscroll-behavior:none;justify-content:center;align-items:center;animation:.25s ease-out modal-overlay-enter;display:flex;position:fixed;inset:0}.modal-overlay.is-closing{pointer-events:none;animation:.15s ease-in forwards modal-overlay-exit}.modal-content{background:var(--clr-background);border:1px solid var(--clr-border);border-radius:var(--radius-xl);width:100%;min-width:0;max-width:500px;max-height:90vh;box-shadow:var(--shadow-modal);flex-direction:column;animation:.25s cubic-bezier(.16,1,.3,1) modal-slide-up;display:flex}.modal-overlay.is-closing .modal-content{animation:.15s cubic-bezier(.4,0,1,1) forwards modal-slide-down}.modal-header{padding:var(--spacing-lg);border-bottom:1px solid var(--clr-border);justify-content:space-between;align-items:center;display:flex}.modal-header h3{min-width:0;font-size:var(--text-lg);color:var(--clr-text-primary);overflow-wrap:anywhere;margin:0;line-height:1.25}.modal-close{color:var(--clr-text-secondary);cursor:pointer;border-radius:var(--radius-full);width:44px;height:44px;transition:background-color var(--transition-fast), color var(--transition-fast), opacity var(--transition-fast);touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.modal-close:hover{background:var(--clr-surface-alt);color:var(--clr-text-primary)}.modal-close:active{background:var(--clr-surface-alt);opacity:.65}.modal-body{padding:var(--spacing-lg);overscroll-behavior:contain;min-width:0;overflow:hidden auto}.modal-body>*{min-width:0;max-width:100%}.modal-actions{gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.modal-actions>.btn{flex:1 1 0;min-width:0;min-height:44px}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes modal-slide-down{to{opacity:0;transform:translateY(20px)scale(.97)}}@keyframes modal-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes modal-overlay-exit{0%{opacity:1}to{opacity:0}}@media (width<=768px){.modal-overlay{align-items:flex-end;padding:0}.modal-content{width:100vw;max-width:100%;max-height:85vh;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0;animation-name:modal-bottom-sheet-enter;animation-timing-function:cubic-bezier(.16,1,.3,1)}.modal-header{padding:var(--spacing-sm) var(--spacing-md)}.modal-overlay.is-closing .modal-content{animation-name:modal-bottom-sheet-exit}}@keyframes modal-bottom-sheet-enter{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes modal-bottom-sheet-exit{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.modal-overlay,.modal-content{animation:none}}@media (width>=769px){.modal-content{max-width:900px}}.layout-container{background-color:var(--clr-background);min-height:100vh;display:flex}.sidebar{background:var(--clr-surface);border-right:1px solid var(--clr-border);width:320px;padding:var(--spacing-xl) 0;z-index:45;flex-direction:column;height:100vh;display:flex;position:sticky;top:0;overflow:visible}.sidebar.collapsed{width:88px}.sidebar-header{padding:0 var(--spacing-md);margin-bottom:var(--spacing-lg);align-items:center;gap:var(--spacing-sm);display:flex}.sidebar-brand-lockup{justify-content:center;align-items:center;width:100%;display:flex}.sidebar-logo{width:100%;font-family:var(--font-display);letter-spacing:-.03em;color:var(--clr-primary);align-items:center;min-width:0;font-size:1.4rem;font-weight:800;display:flex;position:relative}.sidebar-logo-mark{flex-shrink:0;justify-content:center;align-items:center;width:56px;display:inline-flex}.sidebar-logo-label{white-space:nowrap;position:absolute;left:50%;transform:translate(-50%)}.sidebar-collapse-btn{width:100%;min-height:46px;color:var(--clr-text-secondary);cursor:pointer;align-items:center;gap:var(--spacing-md);transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:flex-start;padding:12px 16px;font-family:inherit;font-size:.95rem;font-weight:500;display:inline-flex}.sidebar-collapse-btn:hover{color:var(--clr-text-primary);background:var(--clr-surface-alt);transform:translate(4px)}.sidebar.collapsed .sidebar-brand-lockup{width:56px}.sidebar.collapsed .sidebar-logo-label,.sidebar.collapsed .sidebar-user-info,.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .sidebar-collapse-btn{justify-content:center;width:56px;margin-inline:auto;padding:0;transform:none}.sidebar.collapsed .sidebar-user-card{justify-content:center;width:56px}.sidebar.collapsed .nav-item{grid-template-columns:56px;justify-content:center;gap:0;width:56px;padding-inline:0}.sidebar.collapsed .nav-item[data-collapsed-label]{overflow:visible}.sidebar.collapsed .nav-item[data-collapsed-label]:after{z-index:60;left:calc(100% + var(--spacing-sm));padding:var(--spacing-xs) var(--spacing-sm);color:var(--clr-text-primary);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);content:attr(data-collapsed-label);font-size:var(--text-sm);opacity:0;pointer-events:none;transition:opacity var(--transition-fast), transform var(--transition-fast);white-space:nowrap;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.sidebar.collapsed .nav-item[data-collapsed-label]:hover:after,.sidebar.collapsed .nav-item[data-collapsed-label]:focus-visible:after{opacity:1;transform:translate(var(--spacing-xs), -50%)}.sidebar.collapsed .nav-item:hover{transform:none}.nav-links{padding:0 var(--spacing-md);flex-direction:column;gap:6px;display:flex}.nav-item{align-items:center;gap:var(--spacing-md);height:46px;min-height:46px;color:var(--clr-text-secondary);transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);border-radius:12px;padding:12px 16px;font-size:.95rem;font-weight:500;line-height:1.2;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar .nav-item{grid-template-columns:56px minmax(0,1fr);column-gap:0;padding-inline:0;display:grid}.sidebar .nav-item>svg{flex-shrink:0;justify-self:center}.nav-item:hover{background-color:var(--clr-surface-alt);color:var(--clr-text-primary);transform:translate(4px)}.nav-item.active{background-color:var(--clr-surface-alt);color:var(--clr-primary);font-weight:600}.nav-item.active:before{content:"";background-color:var(--clr-primary);width:4px;height:70%;box-shadow:2px 0 8px rgba(var(--clr-primary-rgb), .4);border-radius:0 4px 4px 0;position:absolute;top:15%;left:0}.nav-item svg{transition:transform .3s}.nav-item:hover svg{transform:scale(1.1)}.main-content{height:100vh;padding:var(--spacing-xl);overscroll-behavior-x:none;flex-direction:column;flex:1;padding-bottom:100px;display:flex;overflow-y:auto}.bottom-nav{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--clr-border);padding:var(--spacing-sm) var(--spacing-md);padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom,0));z-index:50;display:none;position:fixed;bottom:0;left:0;right:0}.bottom-nav-inner{align-items:center;display:flex}.bottom-nav-item{color:var(--clr-text-secondary);font-size:var(--text-xs);padding:var(--spacing-sm);border-radius:var(--radius-md);touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:4px;min-height:48px;font-weight:500;text-decoration:none;display:flex}.bottom-nav-item.active{color:var(--clr-primary);background:var(--clr-primary-glow);font-weight:600}.bottom-nav-more{cursor:pointer;background:0 0;border:0;font-family:inherit}.more-menu-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.more-menu-link{align-items:center;gap:var(--spacing-md);min-height:48px;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);color:var(--clr-text-primary);touch-action:manipulation;font-weight:600;text-decoration:none;display:flex}.more-menu-link:hover,.more-menu-link:focus-visible{background:var(--clr-surface-alt);color:var(--clr-primary)}@media (width<=768px){.layout-container{overscroll-behavior-x:none;flex-direction:column}.mobile-header{display:flex!important}.sidebar{display:none}.bottom-nav{display:block}.main-content{height:auto;padding:var(--spacing-md);padding-bottom:170px;overflow-y:visible}}@media (prefers-reduced-motion:reduce){.sidebar-collapse-btn,.nav-item{transition:none}}.mobile-drawer{pointer-events:none;z-index:1000;display:flex;position:fixed;inset:0}.mobile-drawer.open{pointer-events:auto}.mobile-drawer-overlay{background:0 0;transition:background .3s;position:absolute;inset:0}.mobile-drawer.open .mobile-drawer-overlay{background:var(--clr-overlay)}.mobile-drawer-content{background:var(--clr-surface);width:280px;max-width:80vw;height:100%;padding:var(--spacing-xl) var(--spacing-md);box-shadow:var(--shadow-floating);flex-direction:column;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex;position:relative;transform:translate(-100%)}.mobile-drawer.open .mobile-drawer-content{transform:translate(0)}.mobile-header{padding:var(--spacing-md);background:var(--clr-background);justify-content:center;align-items:center}@media (width<=768px){.mobile-header{z-index:40;padding-top:calc(var(--spacing-md) + env(safe-area-inset-top,0px));position:sticky;top:0}}.mobile-header-btn{color:var(--clr-primary);border-radius:var(--radius-full);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:flex}.mobile-header-btn:active{background:var(--clr-primary-glow)}.avatar-icon-small{background:var(--clr-surface-alt);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.sidebar-user-card{align-items:center;gap:var(--spacing-sm);height:56px;min-height:56px;padding:var(--spacing-sm);margin:0 var(--spacing-md) var(--spacing-lg);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:12px;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.sidebar-user-card:hover{border-color:var(--clr-primary);box-shadow:0 4px 12px rgba(var(--clr-primary-rgb), .08);transform:translateY(-1px)}.avatar-wrapper{background:var(--clr-primary-glow);color:var(--clr-primary);border:2px solid var(--clr-surface);width:38px;height:38px;box-shadow:0 0 0 1px var(--clr-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.avatar-icon-svg{stroke-width:2.5px;color:var(--clr-primary)}.sidebar-user-info{flex-direction:column;flex:1;display:flex;overflow:hidden}.sidebar-user-email{color:var(--clr-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.75rem;overflow:hidden}.mobile-header-brand{align-items:center;gap:var(--spacing-xs);color:var(--clr-primary);display:flex}.mobile-header-brand svg{flex-shrink:0}.mobile-header-title{font-family:var(--font-display);color:var(--clr-primary);letter-spacing:-.02em;white-space:nowrap;font-size:1.1rem;font-weight:600}.mobile-header-placeholder{width:44px}.drawer-header{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;display:flex}.drawer-header>.flex{flex:1;min-width:0}.avatar-icon-large{background:var(--clr-primary-glow);color:var(--clr-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.drawer-user-name{color:var(--clr-text-primary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:1.2rem;font-weight:600;overflow:hidden}.drawer-close-btn{color:var(--clr-text-secondary);cursor:pointer;margin-left:var(--spacing-sm);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:8px;transition:color .2s,background-color .2s,transform .2s;display:flex}.drawer-close-btn:hover{color:var(--clr-text-primary);background:var(--clr-surface-alt);transform:scale(1.05)}.drawer-nav-group{margin-top:var(--spacing-xl);flex-direction:column;gap:8px;display:flex}.drawer-footer{border-top:1px solid var(--clr-border);padding-top:var(--spacing-md)}.sidebar-user-name{color:var(--clr-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;line-height:1.2;overflow:hidden}.sidebar-footer{padding:0 var(--spacing-md) var(--spacing-lg);flex-direction:column;gap:6px;margin-top:auto;display:flex}.filter-tabs-panel{margin-bottom:0;padding:0}.filter-tab-btn-active{background:var(--clr-primary);color:var(--clr-on-primary)}.filter-tab-btn-active-success{background:var(--clr-success);color:var(--clr-on-success)}.filter-tab-btn-active-danger{background:var(--clr-danger);color:var(--clr-on-danger)}.filter-tab-btn-inactive{background:var(--clr-surface-alt);color:var(--clr-text-secondary)}.filter-active-labels{margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:8px;display:flex}.filter-active-label{color:var(--clr-text-secondary);background:var(--clr-surface-alt);white-space:nowrap;border-radius:16px;align-items:center;gap:6px;padding:4px 12px;font-size:.8rem;font-weight:500;display:flex}.filter-search-control{flex:1;min-width:0;position:relative}.filter-search-row{align-items:center;gap:var(--spacing-sm);display:flex}.filter-search-icon{top:50%;left:var(--spacing-md);z-index:1;color:var(--clr-text-secondary);pointer-events:none;position:absolute;transform:translateY(-50%)}.filter-search-input.form-input{padding-left:calc(var(--spacing-xl) + var(--spacing-sm));border-radius:var(--radius-full)}.filter-search-input.form-input:hover:not(:focus){border-color:var(--clr-text-muted)}.filter-action-btn{background:var(--clr-surface-alt);color:var(--clr-primary);border-radius:var(--radius-full);flex:0 0 46px;width:46px;height:46px;padding:0}.action-menu{z-index:1;display:inline-flex;position:relative}.action-menu:has(.action-menu-content){z-index:2}.action-menu-trigger{width:2.5rem;height:2.5rem;color:var(--clr-text-secondary);justify-content:center;align-items:center;padding:0;display:inline-flex}.action-menu-content{z-index:20;top:calc(100% + var(--spacing-xs));min-width:10rem;padding:var(--spacing-xs);border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--glass-bg);box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;position:absolute;right:0}.action-menu-content.opens-above{top:auto;bottom:calc(100% + var(--spacing-xs))}.action-menu-item{align-items:center;gap:var(--spacing-sm);width:100%;min-height:2.5rem;padding:0 var(--spacing-sm);border-radius:var(--radius-sm);color:var(--clr-text-primary);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.action-menu-item:hover,.action-menu-item:focus-visible{background:var(--clr-surface-alt)}.action-menu-item.is-success{color:var(--clr-success)}.action-menu-item.is-warning{color:var(--clr-warning)}.action-menu-item.is-danger{color:var(--clr-danger)}.mobile-entry-row{gap:var(--spacing-md);width:100%;min-height:4.5rem;padding:var(--spacing-md);border:0;border-bottom:1px solid var(--clr-border);color:var(--clr-text-primary);font:inherit;text-align:left;cursor:pointer;transition:transform var(--transition-fast), background-color var(--transition-fast);background:0 0;grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid;transform:scale(1)}.mobile-entry-meta{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);color:var(--clr-text-secondary);font-size:var(--text-xs);font-weight:500;display:inline-flex}@media (width>=769px){.desktop-entry-row{cursor:default;grid-template-columns:auto minmax(0,1fr) auto;transition:none;position:relative}.desktop-entry-row:has(.action-menu-content){z-index:2}.desktop-entry-row:active{background:0 0;transform:none}.mobile-entry-amount{font-size:var(--text-base)}.mobile-entry-title-line{align-items:flex-start}.mobile-entry-details{flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.mobile-entry-amount-group{align-items:flex-end;gap:var(--spacing-xs);flex-direction:column;display:flex}.desktop-entry-category,.desktop-entry-payment{align-items:center;gap:var(--spacing-xs);color:var(--clr-text-secondary);font-size:var(--text-xs);font-weight:500;display:inline-flex}.desktop-entry-category{margin-top:var(--spacing-xs)}.desktop-entry-payment svg{width:16px;height:16px}.desktop-entry-actions{width:2.5rem;height:2.5rem;color:var(--clr-text-secondary);justify-content:center;align-items:center;padding:0;display:inline-flex}}.modal-action-btn>:last-child{min-width:0}.modal-action-desc{color:var(--clr-text-secondary);overflow-wrap:anywhere;margin:0;font-size:.875rem}@media (prefers-reduced-motion:reduce){.mobile-entry-row,.mobile-entry-row:active{transition:none;transform:none}}.list-empty-state{padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;flex-direction:column;align-items:center;display:flex}.list-empty-state h3{font-size:var(--text-lg);text-wrap:balance}.list-empty-state p{max-width:30rem;margin-top:var(--spacing-xs);color:var(--clr-text-secondary);font-size:var(--text-sm);text-wrap:pretty}.list-empty-state-action{margin-top:var(--spacing-md);color:var(--clr-primary)}.date-input-wrapper{align-items:center;width:100%;display:flex;position:relative}.date-input-field{width:100%;padding-right:44px!important}.date-input-picker-wrapper{justify-content:center;align-items:center;width:44px;height:44px;display:flex;position:absolute;top:50%;right:2px;transform:translateY(-50%)}.date-input-icon{color:var(--clr-text-secondary);pointer-events:none}.date-input-native-picker{opacity:0;cursor:pointer;touch-action:manipulation;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;top:0;left:0}.custom-select-container{width:100%;position:relative}.custom-select-trigger{text-align:left;width:100%;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.custom-select-trigger.is-open{border-color:var(--clr-primary);box-shadow:var(--field-inset-shadow), 0 0 0 3px var(--clr-primary-glow);background:var(--clr-field-bg-focus)}.custom-select-selected{align-items:center;gap:10px;display:flex;overflow:hidden}.custom-select-value{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex;overflow:hidden}.custom-select-placeholder{color:var(--clr-text-muted)}.custom-select-icon{color:var(--clr-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.custom-select-label{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.custom-select-arrow{color:var(--clr-text-secondary);flex-shrink:0;margin-left:8px;transition:transform .2s}.custom-select-arrow.open{transform:rotate(180deg)}.custom-select-dropdown{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);will-change:transform, backdrop-filter;border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);z-index:50;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;transform:translateZ(0)}.custom-select-search-wrapper{border-bottom:1px solid var(--clr-border);background:var(--clr-surface);align-items:center;gap:8px;padding:12px;display:flex}.custom-select-search-icon{color:var(--clr-text-secondary)}.custom-select-search-input{width:100%;color:var(--clr-text-primary);background:0 0;border:none;outline:none;font-family:inherit;font-size:.9rem}.custom-select-search-input::placeholder{color:var(--clr-text-muted)}.custom-select-options{overscroll-behavior:contain;flex-direction:column;gap:4px;max-height:250px;padding:8px;display:flex;overflow-y:auto}.custom-select-options::-webkit-scrollbar{width:6px}.custom-select-options::-webkit-scrollbar-track{background:0 0}.custom-select-options::-webkit-scrollbar-thumb{background-color:var(--clr-border);border-radius:10px}.custom-select-option{text-align:left;cursor:pointer;border-radius:var(--radius-sm);width:100%;color:var(--clr-text-primary);background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:.95rem;transition:color .2s,background-color .2s;display:flex}.custom-select-option>span:last-child{overflow-wrap:anywhere;min-width:0}.custom-select-option:hover{background-color:var(--clr-surface-alt)}.custom-select-option:focus-visible{outline:2px solid var(--clr-primary);outline-offset:1px}.custom-select-option.selected{background-color:var(--clr-primary-glow);color:var(--clr-primary)}.custom-select-option.selected .custom-select-icon{color:var(--clr-primary)}.custom-select-no-results{text-align:center;color:var(--clr-text-secondary);padding:16px;font-size:.9rem}@media (width<=768px){.custom-select-dropdown{width:90vw!important;max-height:80vh!important;box-shadow:0 0 0 100vw var(--clr-overlay), var(--glass-shadow)!important;position:fixed!important;top:50%!important;bottom:auto!important;left:50%!important;transform:translate(-50%,-50%)!important}}.form-type-btn{flex:1}.form-type-btn-expense-active{background:var(--clr-danger);color:var(--clr-on-danger)}.form-type-btn-income-active{background:var(--clr-success);color:var(--clr-on-success)}.form-type-btn-inactive{background:var(--clr-surface-alt);color:var(--clr-text-primary)}.form-submit-btn{width:100%;margin-top:8px}.form-field-error{margin-top:var(--spacing-xs);color:var(--clr-danger);font-size:var(--text-sm);line-height:1.35;display:block}.form-wizard-header{margin-bottom:var(--spacing-md)}.form-wizard-heading{justify-content:space-between;align-items:center;gap:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--clr-border);display:flex}.form-wizard-heading-copy{min-width:0}.form-wizard-step-label{color:var(--clr-text-secondary);font-size:var(--text-xs);font-weight:600;display:block}.form-wizard-step-title{margin-top:var(--spacing-xs);font-size:var(--text-lg);overflow-wrap:anywhere}.form-wizard-progress{gap:var(--spacing-xs);flex-shrink:0;grid-template-columns:repeat(2,1.5rem);display:grid}.form-wizard-progress>span{height:var(--spacing-xs);border-radius:var(--radius-full);background:var(--clr-surface-alt)}.form-wizard-progress>.is-complete{background:var(--clr-primary)}.form-wizard-summary{margin-top:var(--spacing-md)}.form-wizard-summary-main{justify-content:space-between;align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.form-wizard-summary-main strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.form-wizard-type-badge{padding:2px var(--spacing-sm);border-radius:var(--radius-full);font-size:var(--text-xs);flex-shrink:0;font-weight:600}.form-wizard-type-badge.is-expense{color:var(--clr-danger);background:var(--clr-danger-glow)}.form-wizard-type-badge.is-income{color:var(--clr-success);background:var(--clr-success-glow)}.form-wizard-summary-meta{margin-top:var(--spacing-xs);color:var(--clr-text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;display:block}.form-wizard-actions{margin-top:var(--spacing-lg)}@media (width<=768px){.form-wizard-actions{bottom:calc(-1 * var(--spacing-lg));z-index:5;margin-right:calc(-1 * var(--spacing-lg));margin-bottom:calc(-1 * var(--spacing-lg));margin-left:calc(-1 * var(--spacing-lg));padding:var(--spacing-md) var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--clr-border);background:var(--clr-background);position:sticky}}.form-checkbox-label{cursor:pointer;align-items:center;gap:8px;margin-bottom:16px;font-size:.875rem;display:flex}.form-switch-label{align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--clr-text-primary);font-size:var(--text-sm);cursor:pointer;font-weight:500;display:inline-flex}.form-switch-control{appearance:none;background-color:var(--clr-surface-alt);border:1px solid var(--clr-border);cursor:pointer;border-radius:12px;outline:none;flex-shrink:0;width:44px;height:24px;margin:0;transition:background-color .3s ease-in-out,border-color .3s ease-in-out;position:relative}.form-switch-control:after{background-color:var(--clr-on-surface);width:20px;height:20px;box-shadow:var(--shadow-control);content:"";border-radius:50%;transition:transform .3s cubic-bezier(.2,.85,.32,1.2);position:absolute;top:1px;left:2px}.form-switch-control:checked{background-color:var(--clr-primary);border-color:var(--clr-primary)}.form-switch-control:checked:after{transform:translate(19px)}.form-switch-control:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}.desktop-wizard-layout{grid-template-columns:1.3fr 1fr;align-items:stretch;gap:32px;display:grid}.step1-column,.step2-column{flex-direction:column;min-width:0;height:100%;display:flex}.step2-column{background:var(--clr-surface-alt);border:1px solid var(--clr-border);border-radius:12px;padding:20px}.page-header-main{justify-content:space-between;align-items:center;gap:var(--spacing-lg);display:flex}.page-header-title-group,.page-header-back-action{align-items:center;display:flex}.page-header-title-group{gap:var(--spacing-md);min-width:0}.page-header-title-group h1{margin:0}.page-header-back-action{gap:var(--spacing-xs);color:var(--clr-primary);background:0 0;flex-shrink:0;padding:0;font-size:1.1rem;font-weight:500}.page-header-primary-action{flex-shrink:0;align-items:center;display:flex}.page-header-actions,.page-header-contextual-actions,.page-header-contextual-action,.page-header-period-navigation{align-items:center;display:flex}.page-header-period-navigation{background:var(--clr-surface-alt);border-radius:10px;overflow:hidden}.page-header-period-navigation .page-header-contextual-action,.page-header-period-step{background:0 0;border-radius:0}.page-header-period-step{padding:0 var(--spacing-sm);color:var(--clr-primary);align-self:stretch}.page-header-period-step:first-child{border-right:1px solid var(--clr-border)}.page-header-period-step:last-child{border-left:1px solid var(--clr-border)}.page-header-actions{gap:var(--spacing-sm);flex-shrink:0}.page-header-contextual-actions{gap:var(--spacing-sm)}.page-header-contextual-action{gap:var(--spacing-xs);color:var(--clr-primary);background:var(--clr-surface-alt)}.page-header-contextual-action-icon{justify-content:center;width:40px;height:40px;padding:0}.page-header-description{margin-top:var(--spacing-xs)}.page-header-spacing{height:var(--spacing-xl);flex:none}@media (width>=769px){.page-header-main{z-index:30;margin:0 calc(-1 * var(--spacing-xl));padding:var(--spacing-sm) var(--spacing-xl);background:var(--clr-background);position:sticky;top:0}.page-header-main:before{height:var(--spacing-xl);background:var(--clr-background);content:"";pointer-events:none;position:absolute;bottom:100%;left:0;right:0}}@media (width<=768px){.page-header-description-compact-mobile{display:none}.page-header-spacing-compact-mobile{height:var(--spacing-lg)}.page-back-header{z-index:40;margin-top:calc(-1 * var(--spacing-md));margin-right:calc(-1 * var(--spacing-md));margin-left:calc(-1 * var(--spacing-md));padding:calc(var(--spacing-md) + env(safe-area-inset-top,0px)) var(--spacing-md) var(--spacing-md);background:var(--clr-background);position:sticky;top:0}}.period-summary-cards{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.period-summary-cards.period-summary-cards-planning,.period-summary-cards.period-summary-cards-forecast{grid-template-columns:repeat(3,minmax(0,1fr))}.period-summary-cards .summary-card{padding:var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;display:flex}.period-summary-cards .period-summary-link{color:inherit;text-decoration:none;position:relative}.period-summary-cards .period-summary-link .summary-card-header{padding-right:var(--spacing-lg)}.period-summary-cards .summary-card>.summary-card-navigation-arrow{top:calc(var(--spacing-lg) + (40px - 20px) / 2);right:var(--spacing-lg);color:var(--clr-text-secondary);position:absolute}.period-summary-cards .summary-card-header{align-items:center;gap:12px;display:flex}.period-summary-cards .summary-card-title{color:var(--clr-text-secondary);font-size:.875rem;font-weight:500;line-height:1.2}.period-summary-cards .summary-card-icon-wrapper{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.period-summary-cards .summary-card-icon-wrapper.success{background:var(--clr-success-subtle)}.period-summary-cards .summary-card-icon-wrapper.danger{background:var(--clr-danger-subtle)}.period-summary-cards .summary-card-icon-wrapper.recurring,.period-summary-cards .summary-card-icon-wrapper.balance{color:var(--clr-primary);background:var(--clr-primary-subtle)}.period-summary-cards .summary-card-value{font-family:var(--font-display);color:var(--clr-text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.75rem;font-weight:700}.period-summary-cards-forecast .forecast-balance-card{grid-column:auto}.forecast-balance-caption{color:var(--clr-text-secondary);font-size:var(--text-sm)}.period-summary-cards .summary-card-value.value-success{color:var(--clr-success)}.period-summary-cards .summary-card-value.value-danger{color:var(--clr-danger)}@media (width<=768px){.period-summary-cards{gap:var(--spacing-md)}.period-summary-cards.period-summary-cards-planning{grid-template-columns:repeat(2,minmax(0,1fr))}.period-summary-cards-planning .summary-card:nth-child(3){min-height:auto;padding:var(--spacing-sm) var(--spacing-md);flex-direction:row;grid-column:1/-1;align-items:center}.period-summary-cards-planning .summary-card:nth-child(3) .summary-card-header{text-align:left;flex-direction:row;flex:1}.period-summary-cards-planning .summary-card:nth-child(3) .summary-card-title,.period-summary-cards-planning .summary-card:nth-child(3) .summary-card-value{text-align:left}.period-summary-cards-planning .summary-card:nth-child(3) .summary-card-value{width:auto;margin:0 var(--spacing-xl) 0 0;font-size:var(--text-xl)}.period-summary-cards.period-summary-cards-forecast{grid-template-columns:repeat(2,minmax(0,1fr))}.period-summary-cards .summary-card{padding:var(--spacing-md) var(--spacing-sm);container-type:inline-size}.period-summary-cards .summary-card-icon-wrapper{width:32px;height:32px}.period-summary-cards .summary-card-header{text-align:center;flex-direction:column;gap:6px;width:100%}.period-summary-cards .summary-card-title{text-align:center;font-size:.75rem;line-height:1.15}.period-summary-cards .summary-card-header svg{width:16px;height:16px}.period-summary-cards .summary-card-value{text-align:center;overflow-wrap:anywhere;width:100%;margin-top:auto;font-size:clamp(.85rem,11cqw,1.2rem)}.period-summary-cards-forecast .forecast-balance-card{min-height:auto;padding:var(--spacing-md);grid-column:1/-1;align-items:flex-start}.period-summary-cards-forecast .forecast-balance-card .summary-card-header{text-align:left;flex-direction:row}.period-summary-cards-forecast .forecast-balance-card .summary-card-value{width:auto;margin-top:var(--spacing-xs);font-size:var(--text-2xl);text-align:left}.period-summary-cards .period-summary-link .summary-card-header{padding-right:0}.period-summary-cards .summary-card>.summary-card-navigation-arrow{top:var(--spacing-sm);right:var(--spacing-sm);width:1rem;height:1rem}}.period-context{min-width:0}.period-context-action,.period-context-navigation{align-items:center;width:100%;min-width:0;display:flex}.period-context-action{justify-content:center;gap:var(--spacing-xs);color:var(--clr-primary);background:var(--clr-surface-alt);flex:1}.period-context-navigation{background:var(--clr-surface-alt);border-radius:10px;overflow:hidden}.period-context-navigation .period-context-action,.period-context-step{background:0 0;border-radius:0;align-self:stretch}.period-context-step{padding:0 var(--spacing-md);color:var(--clr-primary)}.period-context-step:first-child{border-right:1px solid var(--clr-border)}.period-context-step:last-child{border-left:1px solid var(--clr-border)}.period-context-action span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (width>=769px){.period-context{display:none}}.finance-skeleton{gap:var(--spacing-lg);flex-direction:column;display:flex}.finance-skeleton .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}.finance-skeleton-block{background:var(--clr-surface-alt);border-radius:var(--radius-sm);min-width:20px;min-height:10px;animation:1.4s ease-in-out infinite alternate finance-skeleton-pulse;display:block}.finance-skeleton-controls{align-items:center;gap:var(--spacing-sm);min-height:58px;padding:var(--spacing-sm);display:flex}.finance-skeleton-controls-bare{min-height:38px;padding:0}.finance-skeleton-pill{border-radius:var(--radius-md);width:120px;height:38px}.finance-skeleton-period{min-height:56px;padding:var(--spacing-sm) 0 var(--spacing-md);border-bottom:1px solid var(--clr-border);justify-content:space-between;align-items:center;display:flex}.finance-skeleton-caption{width:84px;height:11px;margin-bottom:var(--spacing-sm)}.finance-skeleton-period-value{width:180px;height:22px}.finance-skeleton-button{border-radius:var(--radius-md);width:42px;height:42px}.finance-skeleton-summary{gap:var(--spacing-md);display:grid}.finance-skeleton-summary-2{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-skeleton-summary-3{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-skeleton-summary-4{grid-template-columns:repeat(4,minmax(0,1fr))}.finance-skeleton-dashboard-summary{gap:var(--spacing-md);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.finance-skeleton-dashboard-secondary{display:contents}.finance-skeleton-card{min-height:126px}.finance-skeleton-card-heading{align-items:center;gap:var(--spacing-sm);display:flex}.finance-skeleton-icon{border-radius:var(--radius-full);flex-shrink:0;width:40px;height:40px}.finance-skeleton-label{width:42%;height:14px}.finance-skeleton-value{width:68%;height:30px;margin-top:var(--spacing-md)}.finance-skeleton-chart{min-height:330px}.finance-skeleton-chart.is-compact{min-height:225px}.finance-skeleton-chart-title{width:30%;height:18px;margin-bottom:var(--spacing-lg)}.finance-skeleton-chart-plot{justify-content:space-around;align-items:end;gap:var(--spacing-sm);border-bottom:1px solid var(--clr-border);height:230px;display:flex}.finance-skeleton-chart.is-compact .finance-skeleton-chart-plot{height:145px}.finance-skeleton-chart-bar{border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:9%;height:45%}.finance-skeleton-chart-bar:nth-child(2n){height:72%}.finance-skeleton-chart-bar:nth-child(3n){height:58%}.finance-skeleton-two-column,.finance-skeleton-category-grid,.finance-skeleton-ledgers{gap:var(--spacing-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.finance-skeleton-category-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr)}.finance-skeleton-row{align-items:center;gap:var(--spacing-md);min-height:72px;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--clr-border);display:flex}.finance-skeleton-row:last-child{border-bottom:0}.finance-skeleton-row-icon{border-radius:var(--radius-md);flex-shrink:0;width:36px;height:36px}.finance-skeleton-row-copy{gap:var(--spacing-sm);flex-direction:column;flex:1;display:flex}.finance-skeleton-row-title{width:48%;height:14px}.finance-skeleton-row-meta{width:28%;height:11px}.finance-skeleton-row-amount{width:92px;height:18px}.finance-skeleton-metrics{flex-direction:column;min-height:225px;display:flex}.finance-skeleton-metric-rows{justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-md) 0;flex-direction:column;flex:1;display:flex}.finance-skeleton-metric-row,.finance-skeleton-metric-label{align-items:center;display:flex}.finance-skeleton-metric-row{justify-content:space-between;gap:var(--spacing-md)}.finance-skeleton-metric-label{gap:var(--spacing-sm);flex:1}.finance-skeleton-metric-label .finance-skeleton-row-title{width:42%}.finance-skeleton-metric-row:nth-child(3){padding-top:var(--spacing-md);border-top:1px solid var(--clr-border)}.finance-skeleton-metric-footer{width:72%;height:12px;margin:var(--spacing-md) auto 0}.finance-skeleton-invoice-header{padding:var(--spacing-lg);border-bottom:1px solid var(--clr-border);justify-content:space-between;display:flex}.finance-skeleton-invoice-header .finance-skeleton-value{width:140px;margin:0}.finance-skeleton-reconciliation{min-height:250px}.finance-skeleton-equation{gap:var(--spacing-lg);margin:var(--spacing-xl) 0;grid-template-columns:repeat(3,1fr);display:grid}.finance-skeleton-equation .finance-skeleton-block{height:54px}.finance-skeleton-rail{border-radius:var(--radius-full);width:100%;height:10px}@keyframes finance-skeleton-pulse{0%{opacity:.45}to{opacity:.9}}@media (width<=768px){.finance-skeleton{gap:var(--spacing-lg)}.finance-skeleton-summary-3,.finance-skeleton-summary-4{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-skeleton-planned .finance-skeleton-summary-3{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-skeleton-dashboard-summary{gap:var(--spacing-sm);grid-template-columns:1fr}.finance-skeleton-dashboard-secondary{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.finance-skeleton-card{min-height:112px;padding:12px 8px}.finance-skeleton-card-heading{flex-direction:column}.finance-skeleton-icon{width:32px;height:32px}.finance-skeleton-label{width:64%}.finance-skeleton-card .finance-skeleton-value{width:78%;height:22px;margin:var(--spacing-sm) auto 0}.finance-skeleton-dashboard-compact{min-height:60px;padding:var(--spacing-md);border:0;border-bottom:1px solid var(--clr-border);box-shadow:none;background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.finance-skeleton-dashboard-compact:last-child{border-bottom:0}.finance-skeleton-dashboard-compact .finance-skeleton-card-heading{flex-direction:row}.finance-skeleton-dashboard-compact .finance-skeleton-value{width:72px;margin:0}.finance-skeleton-controls{overflow:hidden}.finance-skeleton-pill{min-width:92px}.finance-skeleton-two-column,.finance-skeleton-category-grid,.finance-skeleton-ledgers{grid-template-columns:1fr}.finance-skeleton-chart{min-height:270px}.finance-skeleton-chart-plot{height:175px}.finance-skeleton-row{padding:var(--spacing-md)}.finance-skeleton-row-amount{width:72px}.finance-skeleton-equation{gap:var(--spacing-sm)}}@media (prefers-reduced-motion:reduce){.finance-skeleton-block{opacity:.7;animation:none}}.transaction-list-container{overflow:visible}.lazy-load-sentinel{min-height:3.5rem;padding:var(--spacing-sm) var(--spacing-md);color:var(--clr-text-secondary);font-size:var(--text-sm);justify-content:center;align-items:center;display:flex}.lazy-load-sentinel>span{align-items:center;gap:var(--spacing-xs);display:inline-flex}.lazy-load-spinner{animation:lazy-load-spin var(--transition-slow) linear infinite}@keyframes lazy-load-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.lazy-load-spinner{animation:none}}.summary-cards-container{gap:var(--spacing-md);grid-template-columns:repeat(4,1fr);display:grid}.summary-card{padding:var(--spacing-lg);gap:var(--spacing-sm);transition:transform var(--transition-fast), box-shadow var(--transition-fast);color:inherit;flex-direction:column;text-decoration:none;display:flex;position:relative}.summary-card-secondary-group{display:contents}.summary-card>.summary-card-navigation-arrow{top:var(--spacing-lg);right:var(--spacing-lg);color:var(--clr-text-secondary);position:absolute}.summary-card-navigable .summary-card-header{padding-right:var(--spacing-lg)}.summary-card.hover-lift:hover{transform:translateY(-2px);box-shadow:0 12px 24px -10px #0000001a}.summary-card-header{align-items:center;gap:12px;display:flex}.summary-card-title{color:var(--clr-text-secondary);font-size:.875rem;font-weight:500;line-height:1.2}.summary-card-icon-wrapper{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.summary-card-icon-wrapper.primary{background:var(--clr-primary-subtle)}.summary-card-icon-wrapper.success{background:var(--clr-success-subtle)}.summary-card-icon-wrapper.danger{background:var(--clr-danger-subtle)}.summary-card-icon-wrapper.warning{background:var(--clr-warning-subtle)}.summary-card-icon-wrapper.secondary{background:var(--clr-surface-alt)}.summary-card-value{font-family:var(--font-display);color:var(--clr-text-primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.75rem;font-weight:700}.summary-card-value.value-success{color:var(--clr-success)}.summary-card-value.value-danger{color:var(--clr-danger)}.summary-card-value.value-warning{color:var(--clr-warning)}@media (width<=1024px){.summary-cards-container{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.summary-cards-container{gap:var(--spacing-md);grid-template-columns:1fr}.summary-cards-container .summary-card{padding:var(--spacing-md)}.summary-cards-container .summary-card-icon-wrapper{width:32px;height:32px}.summary-cards-container .summary-card-header svg{width:16px;height:16px}.summary-cards-container .summary-card-balance .summary-card-value{font-size:1.5rem}.summary-cards-container .summary-card-compact{align-items:center;gap:var(--spacing-md);min-height:3.75rem;padding-right:calc(var(--spacing-xl) + var(--spacing-md));grid-template-columns:minmax(0,1fr) auto;display:grid}.summary-cards-container .summary-card-secondary-group{flex-direction:column;gap:0;padding:0;display:flex;overflow:hidden}.summary-cards-container .summary-card-secondary-group .summary-card-compact{border:0;border-bottom:1px solid var(--clr-border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0}.summary-cards-container .summary-card-secondary-group .summary-card-compact:last-child{border-bottom:0}.summary-cards-container .summary-card-secondary-group .summary-card-compact:active{background:var(--clr-surface-alt)}.summary-cards-container .summary-card-compact .summary-card-header{min-width:0;padding-right:0}.summary-cards-container .summary-card-compact .summary-card-title{font-size:var(--text-sm)}.summary-cards-container .summary-card-compact .summary-card-value{font-size:var(--text-base);text-align:right;white-space:nowrap;margin-top:0}.summary-cards-container .summary-card>.summary-card-navigation-arrow{top:50%;right:var(--spacing-sm);width:1rem;height:1rem;transform:translateY(-50%)}.summary-cards-container .summary-card-balance>.summary-card-navigation-arrow{top:var(--spacing-md);right:var(--spacing-md);transform:none}}.chart-panel{padding:var(--spacing-xl)}.chart-header-title{color:var(--clr-text-primary);margin:0}.chart-container{width:100%;height:260px}.chart-table-wrapper{transition:grid-template-rows var(--transition-normal);grid-template-rows:0fr;display:grid}.chart-table-wrapper.expanded{grid-template-rows:1fr}.chart-table-inner{opacity:0;visibility:hidden;transition:opacity var(--transition-normal), visibility var(--transition-normal);overflow:hidden}.chart-table-wrapper.expanded .chart-table-inner{opacity:1;visibility:visible;padding-top:var(--spacing-md)}.chart-table-container{margin-top:0;overflow-x:auto}.chart-table{min-width:auto}.chart-table-month{font-weight:500}.chart-table-mobile-summary{margin-top:4px;font-size:.75rem}.chart-table-income{text-align:right;color:var(--clr-success);font-weight:600}.chart-table-expense{text-align:right;color:var(--clr-danger);font-weight:600}.chart-table-balance{text-align:right;font-weight:600}.chart-table-toggle-container{margin-top:var(--spacing-lg);border-top:1px dashed var(--clr-border);padding-top:var(--spacing-md);justify-content:center;display:flex}.chart-table-toggle{align-items:center;gap:var(--spacing-sm);color:var(--clr-text-secondary);padding:var(--spacing-sm) var(--spacing-md);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:20px;font-size:.875rem;font-weight:500;transition:background-color .2s,border-color .2s,color .2s,transform .2s;display:flex}.chart-table-toggle:hover{color:var(--clr-text-primary);border-color:var(--clr-text-secondary);transform:translateY(-1px)}@media (width<=768px){.chart-table-wrapper{margin-inline:calc(-1 * var(--spacing-xl))}}.pie-chart-container{justify-content:center;align-items:center;gap:var(--spacing-lg);width:100%;display:flex}.pie-chart-panel-expanded{padding-inline:var(--spacing-lg)}.pie-chart-panel-expanded .pie-chart-container{gap:var(--spacing-xl)}.pie-chart-panel-expanded .pie-chart-graphic{flex:1.25}.pie-chart-panel-expanded .pie-legend-item{margin-bottom:var(--spacing-md)}.pie-chart-panel-expanded .pie-legend-item:last-child{margin-bottom:0}.pie-chart-header{gap:var(--spacing-md)}.pie-chart-header .chart-header-title{min-width:0}.pie-chart-header-meta{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:flex}.pie-chart-graphic,.pie-legend-wrapper{flex:1;min-width:0}.pie-tooltip{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--clr-border);box-shadow:var(--shadow-control)}.pie-tooltip-label{color:var(--clr-text-primary);margin-bottom:2px;font-weight:500}.pie-tooltip-value{font-size:1.125rem;font-weight:600}.pie-tooltip-percent{color:var(--clr-text-secondary);font-size:.75rem}.pie-legend{margin:0;padding:0;list-style:none}.pie-legend-item{margin-bottom:calc(var(--spacing-sm) + var(--spacing-xs));align-items:center;font-size:.875rem;display:flex}.pie-category-icon{width:18px;height:18px;margin-right:var(--spacing-sm);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.pie-category-icon svg{width:18px;height:18px}.pie-tooltip .pie-category-icon{margin-right:0}.pie-legend-text{color:var(--clr-text-secondary);margin-right:var(--spacing-md);white-space:nowrap;text-overflow:ellipsis;flex-grow:1;max-width:100px;overflow:hidden}.pie-legend-value{color:var(--clr-text-primary);font-weight:500}@media (width<=768px){.pie-chart-panel-expanded{padding-inline:var(--spacing-md)}.pie-chart-container{flex-direction:column;gap:0}.pie-chart-graphic{margin:-16px 0}.pie-chart-graphic,.pie-legend-wrapper{width:100%}.pie-legend-text{max-width:none}.pie-chart-panel-expanded .pie-legend-wrapper{display:none}.pie-chart-panel-expanded .pie-chart-graphic{margin:calc(-1 * var(--spacing-lg)) 0}}.dashboard-metrics-grid{gap:var(--spacing-xl);grid-template-columns:1fr;display:grid}@media (width>=1024px){.dashboard-metrics-grid{grid-template-columns:1fr 1fr}}.metrics-summary-content{gap:var(--spacing-lg);padding:var(--spacing-md) 0;flex-direction:column;flex-grow:1;justify-content:center;display:flex}.metric-row{justify-content:space-between;align-items:center;display:flex}.metric-label{align-items:center;gap:var(--spacing-sm);color:var(--clr-text-secondary);font-weight:500;display:flex}.metric-value{font-size:1.125rem;font-weight:600}.metric-divider{background-color:var(--clr-border);height:1px;margin:var(--spacing-sm) 0}.metric-total .metric-label{color:var(--clr-text-primary);font-size:1.125rem;font-weight:600}.metric-total .metric-value{font-size:1.5rem;font-weight:700}.metric-footer{text-align:center;margin-top:var(--spacing-md);opacity:.8;font-size:.875rem}.category-details-link{color:var(--clr-primary);align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm);flex-shrink:0;font-weight:500;text-decoration:none;display:inline-flex}.dashboard-link{color:var(--clr-primary);opacity:.9;align-items:center;font-size:1rem;font-weight:500;text-decoration:none;display:flex}.dashboard-header{margin-bottom:var(--spacing-xl);justify-content:space-between;align-items:center;display:flex}.dashboard-widget.animate-fade-in{animation-delay:.1s}.dashboard-main .chart-panel{padding:var(--spacing-lg)}.dashboard-modal-grid{gap:16px;display:grid}.dashboard-modal-btn{text-align:left;cursor:pointer;border:none;align-items:center;gap:16px;width:100%;padding:16px;display:flex}.dashboard-icon-bg{border-radius:50%;padding:12px}.dashboard-icon-bg.primary{background:var(--clr-primary);color:var(--clr-on-primary)}.dashboard-icon-bg.warning{background:var(--clr-warning);color:var(--clr-on-warning)}.dashboard-modal-title{color:var(--clr-text-primary);margin:0;font-size:1.1rem}.dashboard-modal-desc{color:var(--clr-text-secondary);margin:0;font-size:.875rem}@media (width<=768px){.dashboard-main .chart-table-wrapper{margin-inline:calc(-1 * var(--spacing-lg))}}.mobile-entry-list{gap:var(--spacing-lg);padding:var(--spacing-md) 0;flex-direction:column;display:flex;overflow:visible}.mobile-entry-day-label{padding:0 var(--spacing-md) var(--spacing-sm);color:var(--clr-text-secondary);font-family:var(--font-display);font-size:var(--text-sm);text-transform:lowercase;margin:0;font-weight:600}.mobile-entry-day-items{flex-direction:column;display:flex}.mobile-entry-row{align-items:center;gap:var(--spacing-md);width:100%;min-height:4.5rem;padding:var(--spacing-md);border:0;border-bottom:1px solid var(--clr-border);color:var(--clr-text-primary);font:inherit;text-align:left;cursor:pointer;transition:transform var(--transition-fast), background-color var(--transition-fast);background:0 0;grid-template-columns:auto minmax(0,1fr);display:grid;transform:scale(1)}.mobile-entry-row:last-child{border-bottom:0}.mobile-entry-row:active{background:var(--clr-surface-alt);transform:scale(1.015)}.mobile-entry-category-icon{border-radius:var(--radius-full);background:var(--clr-surface-alt);width:2.5rem;height:2.5rem;color:var(--clr-text-secondary);justify-content:center;align-items:center;display:inline-flex}.mobile-entry-content{min-width:0;display:block}.mobile-entry-title-line{justify-content:space-between;align-items:baseline;gap:var(--spacing-sm);min-width:0;display:flex}.mobile-entry-details{cursor:text;-webkit-user-select:text;user-select:text;flex:auto;min-width:0}.mobile-entry-title{max-width:100%;color:var(--clr-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:600;display:block;overflow:hidden}.recurrence-indicator{margin-inline:var(--spacing-xs);color:var(--clr-text-secondary);flex-shrink:0}.mobile-entry-amount-group{text-align:end;cursor:text;-webkit-user-select:text;user-select:text;flex:none;min-width:max-content}.mobile-entry-amount{font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;font-weight:600;display:block}.mobile-entry-meta{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);color:var(--clr-text-secondary);font-size:var(--text-xs);flex-wrap:wrap;font-weight:500;display:flex}.mobile-entry-meta>span{display:inline-flex}.mobile-entry-meta svg{width:16px;height:16px}.mobile-entry-action-hint{align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);color:var(--clr-warning);flex-basis:100%}.mobile-entry-detail{align-items:center;gap:var(--spacing-xs);color:var(--clr-text-muted);font-weight:400;display:inline-flex}.mobile-entry-amount.is-income{color:var(--clr-success)}.mobile-entry-amount.is-expense{color:var(--clr-danger)}@media (width>=769px){.desktop-entry-row{cursor:default;grid-template-columns:auto minmax(0,1fr) auto;transition:none;position:relative}.desktop-entry-row:has(.action-menu-content){z-index:2}.desktop-entry-row:active{background:0 0;transform:none}.mobile-entry-amount{font-size:var(--text-base)}.mobile-entry-title-line{align-items:flex-start}.mobile-entry-details{flex-direction:column;flex:1;align-items:flex-start;min-width:0;display:flex}.mobile-entry-amount-group{align-items:flex-end;gap:var(--spacing-xs);flex-direction:column;display:flex}.desktop-entry-category,.desktop-entry-payment{align-items:center;gap:var(--spacing-xs);color:var(--clr-text-secondary);font-size:var(--text-xs);font-weight:500;display:inline-flex}.desktop-entry-category{margin-top:var(--spacing-xs)}.desktop-entry-payment svg{width:16px;height:16px}.desktop-entry-actions{width:2.5rem;height:2.5rem;color:var(--clr-text-secondary);justify-content:center;align-items:center;padding:0;display:inline-flex}}.modal-grid{gap:16px;display:grid}.modal-action-btn{text-align:left;cursor:pointer;border:none;align-items:center;gap:16px;width:100%;padding:16px;display:flex}.icon-circle{background:var(--clr-surface-alt);color:var(--clr-text-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:12px;display:flex}.icon-circle.success{background:var(--clr-success);color:var(--clr-on-success)}.icon-circle.warning{background:var(--clr-warning);color:var(--clr-on-warning)}.icon-circle.primary{background:var(--clr-primary);color:var(--clr-on-primary)}.icon-circle.danger{background:var(--clr-danger);color:var(--clr-on-danger)}.modal-action-title{color:var(--clr-text-primary);margin:0;font-size:1rem}.modal-action-desc{color:var(--clr-text-secondary);margin:0;font-size:.875rem}.plan-reference{color:var(--clr-text-muted);font-size:var(--text-xs);white-space:nowrap;font-weight:500}@media (prefers-reduced-motion:reduce){.mobile-entry-row,.mobile-entry-row:active{transition:none;transform:none}}.mr-sm{margin-right:8px}.delete-modal-content{margin-bottom:24px}.delete-modal-text{color:var(--clr-text-primary)}.delete-modal-subtext{color:var(--clr-text-secondary);margin-top:8px;font-size:.875rem}.planned-expense-list-container{overflow:visible}.credit-card-tooltip-title{margin:0 0 8px}.credit-card-tooltip-value{margin:0}.credit-card-chart-title{margin-top:0;font-size:1.125rem}.credit-card-scroll-wrapper{padding-bottom:8px;overflow-x:auto}.credit-card-chart-container{min-width:600px;height:160px}.credit-card-interactive{cursor:pointer}.credit-card-interactive:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}.credit-card-label{cursor:pointer;-webkit-user-select:none;user-select:none}.credit-card-badge-current{margin-left:4px;padding:2px 6px}.credit-card-empty-state{padding:var(--spacing-2xl) var(--spacing-lg)}.credit-card-table-wrapper{overflow:hidden}.credit-card-table{table-layout:fixed;min-width:auto}.credit-card-table .col-desc{width:48%}.credit-card-col-category{width:22%}.credit-card-col-date{width:12%}.credit-card-table th,.credit-card-table td{padding:var(--spacing-md) var(--spacing-lg)}.credit-card-table tbody tr{transition:background-color var(--transition-fast)}.credit-card-table tbody tr:hover{background:var(--clr-surface-alt)}.credit-card-item-main{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.credit-card-category-icon{border-radius:var(--radius-full);width:2.5rem;height:2.5rem;color:var(--clr-text-secondary);background:var(--clr-surface-alt);flex:0 0 2.5rem;justify-content:center;align-items:center;display:inline-flex}.credit-card-item-copy{flex-direction:column;min-width:0;display:flex}.credit-card-item-heading{align-items:center;gap:var(--spacing-xs);min-width:0;display:flex}.credit-card-item-heading>strong{color:var(--clr-text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.credit-card-item-mobile-meta{display:none}.credit-card-installment-context{padding:0 var(--spacing-xs);border-radius:var(--radius-full);color:var(--clr-text-secondary);font-size:var(--text-xs);background:var(--clr-surface-alt);flex-shrink:0;font-weight:500;line-height:1.5}.credit-card-category-cell,.credit-card-date-cell{color:var(--clr-text-secondary);font-size:var(--text-sm)}.credit-card-date-cell{white-space:nowrap}.credit-card-amount-cell{font-family:var(--font-display);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}@media (width<=768px){.credit-card-table thead{display:none}.credit-card-table,.credit-card-table tbody,.credit-card-table tr,.credit-card-table td{width:100%;display:block}.credit-card-table tbody tr{gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--clr-border);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid;position:relative}.credit-card-table tbody tr:last-child{border-bottom:0}.credit-card-table tbody tr:hover{background:0 0}.credit-card-table td{border:0;padding:0}.credit-card-item-heading>strong{font-size:var(--text-sm);font-weight:600}.credit-card-item-mobile-meta{gap:var(--spacing-xs);margin-top:var(--spacing-xs);color:var(--clr-text-secondary);font-size:var(--text-xs);flex-wrap:wrap;line-height:1.3;display:flex}.credit-card-category-cell,.credit-card-date-cell{display:none!important}.credit-card-amount-cell{color:var(--clr-text-primary);font-size:var(--text-sm);align-self:start}}@media (prefers-reduced-motion:reduce){.credit-card-table tbody tr{transition:none}}.settings-status{border-radius:var(--radius-md)}.settings-status.error{background:var(--clr-danger);color:var(--clr-on-danger)}.settings-status.success{background:var(--clr-success);color:var(--clr-on-success)}.settings-panel{overflow:hidden}.settings-item{border-bottom:1px solid var(--clr-border);cursor:pointer;padding:var(--spacing-md) var(--spacing-sm);transition:background .2s}.settings-preferences-item{align-items:center;gap:var(--spacing-md);justify-content:space-between;display:flex}.settings-preference-copy{min-width:0}.settings-select{flex:none;max-width:148px}@media (width>=769px){.settings-item{padding:var(--spacing-md) var(--spacing-lg)}}.settings-item.no-border{border-bottom:none}.settings-icon-wrapper{width:36px;height:36px;color:var(--clr-text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.settings-icon-wrapper.alt{background:var(--clr-surface-alt)}.settings-icon-wrapper.primary{background:var(--clr-primary-subtle);color:var(--clr-primary)}.settings-icon-wrapper.success{background:var(--clr-success-subtle);color:var(--clr-success)}.settings-icon-wrapper.danger{background:var(--clr-danger-subtle);color:var(--clr-danger)}.settings-item-title{font-size:1.1rem}.settings-item-desc{font-size:.85rem}@media (width<=480px){.settings-preferences-item{flex-direction:column;align-items:stretch}.settings-select{width:100%;max-width:none}}.data-settings-file-input{display:none}.data-settings-action{width:100%;color:inherit;font:inherit;text-align:left;touch-action:manipulation;background:0 0;border-top:0;border-left:0;border-right:0}.data-settings-action:hover{background:var(--clr-surface-alt)}.settings-import-progress{gap:var(--spacing-xs);color:var(--clr-text-secondary);font-size:var(--text-sm);flex-direction:column;display:flex}.settings-import-progress-copy{justify-content:space-between;gap:var(--spacing-md);display:flex}.settings-import-progress progress{width:100%;accent-color:var(--clr-primary)}.auth-container{background-color:var(--clr-background);min-height:100vh;display:flex}.auth-hero{background:var(--clr-surface);border-right:1px solid var(--clr-border);flex:1;display:none;position:relative;overflow:hidden}.auth-hero-content{z-index:10;flex-direction:column;justify-content:center;max-width:600px;height:100%;padding:4rem;display:flex;position:relative}.auth-logo{color:var(--clr-primary);font-family:var(--font-display);align-items:center;gap:12px;margin-bottom:auto;font-size:1.5rem;font-weight:700;display:inline-flex}.auth-headline{color:var(--clr-text-primary);letter-spacing:-.02em;margin-bottom:1.5rem;font-size:3.5rem;line-height:1.1}.auth-subheadline{color:var(--clr-text-secondary);margin-bottom:auto;font-size:1.25rem;line-height:1.6}.auth-hero-background{z-index:1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.glow-orb{filter:blur(80px);opacity:.15;border-radius:50%;animation:15s ease-in-out infinite alternate float-orb;position:absolute}.orb-1{background:var(--clr-primary);width:400px;height:400px;top:-10%;left:-10%}.orb-2{background:var(--clr-success);width:500px;height:500px;animation-delay:-5s;bottom:-20%;right:-10%}@keyframes float-orb{0%{transform:translate(0)scale(1)}to{transform:translate(10%,10%)scale(1.2)}}.auth-form-wrapper{padding:var(--spacing-xl);z-index:2;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.auth-form-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid var(--clr-border);border-radius:24px;width:100%;max-width:440px;padding:3rem 2.5rem;box-shadow:0 24px 48px #0000000d}.auth-form-title{color:var(--clr-text-primary);letter-spacing:-.02em;margin-bottom:.5rem;font-size:2rem}.auth-form-subtitle{color:var(--clr-text-secondary);margin-bottom:2rem;font-size:1rem}.auth-input-wrapper{margin-bottom:1.25rem;position:relative}.auth-input-icon{color:var(--clr-text-secondary);pointer-events:none;transition:color .3s;position:absolute;top:50%;left:16px;transform:translateY(-50%)}.auth-input{background:var(--clr-background);border:1px solid var(--clr-border);width:100%;color:var(--clr-text-primary);border-radius:12px;padding:16px 16px 16px 48px;font-size:1rem;transition:background-color .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}.auth-input:focus{border-color:var(--clr-primary);box-shadow:0 0 0 4px var(--clr-primary-glow);background:var(--clr-surface);outline:none}.auth-input:focus+.auth-input-icon{color:var(--clr-primary)}.auth-submit-btn{background:linear-gradient(135deg, var(--clr-primary) 0%, var(--clr-primary-hover) 100%);width:100%;color:var(--clr-on-primary);cursor:pointer;box-shadow:0 8px 16px var(--clr-primary-glow);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;margin-top:1rem;padding:16px;font-size:1.1rem;font-weight:600;transition:box-shadow .3s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1);display:flex}.auth-submit-btn:hover{box-shadow:0 12px 24px var(--clr-primary-glow);transform:translateY(-2px)}.auth-submit-btn:active{transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.auth-switch-text{text-align:center;color:var(--clr-text-secondary);margin-top:2rem;font-size:.95rem}.auth-link{color:var(--clr-primary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-weight:600}.auth-link:hover{text-decoration:underline}.mobile-only-logo{color:var(--clr-primary);justify-content:center;align-items:center;gap:12px;margin-bottom:2rem;font-size:1.5rem;font-weight:700;display:none}@media (width>=1024px){.auth-hero{display:block}}@media (width<=1023px){.auth-form-container{padding:2.5rem 2rem}.mobile-only-logo{display:flex}}.auth-alert-error{background:var(--clr-danger);color:var(--clr-on-danger);box-shadow:0 4px 12px var(--clr-danger-glow);border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:24px;padding:14px;font-size:.95rem;display:flex}.auth-alert-success{background:var(--clr-success);color:var(--clr-on-success);box-shadow:0 4px 12px var(--clr-success-glow);border-radius:12px;align-items:flex-start;gap:12px;margin-bottom:24px;padding:14px;font-size:.95rem;display:flex}.auth-alert-icon{flex-shrink:0;margin-top:2px}.auth-forgot-password-wrapper{justify-content:flex-end;margin-bottom:1rem;display:flex}.auth-forgot-password-link{font-size:.85rem}.forecast-page{padding-bottom:var(--spacing-xl)}.forecast-scenario-panel{justify-content:space-between;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-lg);display:flex}.forecast-scenario-heading{min-width:0}.forecast-scenario-heading h2{font-size:var(--text-lg);margin:0}.forecast-scenario-heading p{margin:var(--spacing-xs) 0 0;color:var(--clr-text-secondary);font-size:var(--text-sm)}.forecast-scenario-options{gap:var(--spacing-sm);flex:0 0 560px;grid-template-columns:repeat(2,minmax(240px,1fr));display:grid}.forecast-scenario-option{justify-content:flex-start;align-items:center;gap:var(--spacing-sm);min-height:48px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--clr-border);border-radius:var(--radius-lg);background:var(--clr-surface-alt);cursor:pointer;font-size:var(--text-sm);color:var(--clr-text-primary);font-weight:500;display:flex}.forecast-scenario-option:has(input:checked){border-color:var(--clr-primary);background:var(--clr-primary-glow)}.forecast-scenario-option-copy{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.forecast-scenario-option-copy span{white-space:nowrap}.forecast-scenario-option-copy svg{flex-shrink:0}.forecast-chart-section{min-width:0}@media (width>=769px) and (width<=1180px){.forecast-scenario-panel{align-items:stretch;gap:var(--spacing-md);flex-direction:column}.forecast-scenario-options{flex-basis:auto;width:100%}}@media (width<=768px){.forecast-scenario-panel{align-items:stretch;gap:var(--spacing-md);padding:var(--spacing-md);flex-direction:column}.forecast-scenario-options{gap:var(--spacing-sm);flex-basis:auto;grid-template-columns:1fr}.forecast-scenario-option{min-height:48px}.forecast-scenario-option-copy span{white-space:normal}}.profile-page-container{padding-bottom:var(--spacing-2xl)}.profile-sections-container{gap:var(--spacing-xl);flex-direction:column;display:flex}.profile-section{padding:var(--spacing-xl);border-radius:var(--radius-xl)}.profile-section-header{align-items:flex-start;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);display:flex}.profile-section-icon{background:var(--clr-primary-glow);color:var(--clr-primary);border-radius:var(--radius-lg);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.profile-section-icon.alt{background:var(--clr-surface-alt);color:var(--clr-text-primary);border:1px solid var(--clr-border)}.profile-section-title{color:var(--clr-text-primary);margin:0 0 4px;font-size:1.1rem;font-weight:600}.profile-section-desc{color:var(--clr-text-secondary);margin:0;font-size:.85rem}.profile-form-grid{gap:var(--spacing-lg);grid-template-columns:1fr;display:grid}@media (width>=640px){.profile-form-grid{grid-template-columns:1fr 1fr}}.form-group{gap:var(--spacing-xs);flex-direction:column;display:flex}.form-group label{color:var(--clr-text-primary);font-size:.9rem;font-weight:500}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{color:var(--clr-text-secondary);pointer-events:none;position:absolute;left:14px}.input-with-icon .form-input{width:100%;padding-left:44px}.input-hint{color:var(--clr-text-secondary);margin-top:4px;font-size:.75rem}.profile-actions{justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--clr-border);display:flex}.profile-save-btn{min-width:160px}.settings-status{padding:var(--spacing-md);border-radius:var(--radius-md);align-items:center;font-weight:500;display:flex}.settings-status.success{background:rgba(var(--clr-success-rgb), .1);color:var(--clr-success);border:1px solid rgba(var(--clr-success-rgb), .2)}.settings-status.error{background:rgba(var(--clr-danger-rgb), .1);color:var(--clr-danger);border:1px solid rgba(var(--clr-danger-rgb), .2)}@media (width<=768px){.profile-section{padding:var(--spacing-md)}.profile-actions{flex-direction:column-reverse}.profile-actions .btn{justify-content:center;width:100%}}.profile-processing{justify-content:center;align-items:center;gap:var(--spacing-lg);min-height:300px;color:var(--clr-text-secondary);flex-direction:column;font-size:1rem;display:flex}.profile-email-sent-card{padding:var(--spacing-2xl);border-radius:var(--radius-xl);text-align:center;align-items:center;gap:var(--spacing-md);max-width:520px;margin:var(--spacing-2xl) auto 0;flex-direction:column;display:flex}.profile-email-sent-icon{color:var(--clr-primary);margin-bottom:var(--spacing-sm)}.profile-email-sent-card h2{color:var(--clr-text-primary);margin:0;font-size:1.4rem;font-weight:700}.profile-email-sent-card p{color:var(--clr-text-secondary);margin:0;line-height:1.6}.profile-email-sent-hint{opacity:.7;font-size:.85rem}.profile-email-sent-actions{gap:var(--spacing-md);margin-top:var(--spacing-md);flex-wrap:wrap;justify-content:center;display:flex}.profile-email-status{align-items:center;gap:var(--spacing-sm);margin-top:4px;font-size:.85rem;display:flex}.profile-email-verified{color:var(--clr-success);margin-top:4px;font-size:.85rem;display:block}.profile-email-hint{color:var(--clr-text-secondary);margin-top:4px;font-size:.8rem;font-style:italic;display:block}.profile-inline-link{cursor:pointer;font-weight:500;font-size:inherit;color:var(--clr-primary);transition:opacity var(--transition-fast);background:0 0;border:none;padding:0}.profile-inline-link:hover{opacity:.8}.profile-inline-link:disabled{opacity:.5;cursor:default}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.wizard-overlay{background:var(--clr-overlay);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wizard-content{background:var(--clr-background);border:1px solid var(--clr-border);border-radius:var(--radius-xl);flex-direction:column;width:100%;max-width:450px;min-height:500px;display:flex;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.wizard-body{padding:var(--spacing-xl);text-align:center;flex:1;justify-content:center;align-items:center;display:flex}.wizard-slide{flex-direction:column;align-items:center;width:100%;display:flex}.wizard-icon-wrapper{background:var(--clr-surface-alt);width:120px;height:120px;margin-bottom:var(--spacing-xl);box-shadow:0 0 40px var(--clr-primary-glow);border-radius:50%;justify-content:center;align-items:center;display:flex}.wizard-slide h2{margin-bottom:var(--spacing-md);color:var(--clr-text-primary);font-size:1.75rem}.wizard-slide p{color:var(--clr-text-secondary);font-size:1.125rem;line-height:1.6}.wizard-footer{padding:var(--spacing-xl);border-top:1px solid var(--clr-border);align-items:center;gap:var(--spacing-lg);flex-direction:column;display:flex}.wizard-progress{gap:8px;display:flex}.wizard-dot{background:var(--clr-border);width:10px;height:10px;transition:background-color var(--transition-normal), transform var(--transition-normal);border-radius:50%}.wizard-dot.active{background:var(--clr-primary);transform:scale(1.3)}@media (width<=768px){.wizard-overlay{padding:0}.wizard-content{border:none;border-radius:0;max-width:100%;height:100vh;min-height:100vh}.wizard-body{padding:var(--spacing-lg)}}.wizard-emoji{font-size:3rem}.wizard-form{width:100%;margin-top:var(--spacing-lg)}.wizard-form-group{text-align:left}.wizard-form-input{padding:16px;font-size:1.25rem}.wizard-btn-primary{width:100%;padding:16px;font-size:1.125rem}.wizard-btn-primary-form{width:100%;margin-top:16px;padding:16px;font-size:1.125rem}.wizard-btn-primary-icon{margin-left:8px}.wizard-btn-secondary{width:100%;color:var(--clr-text-secondary);background:0 0;border:none;margin-top:8px;padding:16px;font-size:1rem}.privacy-page{padding-bottom:var(--spacing-2xl);animation:.3s ease-out fadeIn}.unauth-padding{padding:var(--spacing-xl);max-width:1024px;margin:0 auto}@media (width<=768px){.unauth-padding{padding:var(--spacing-md)}}.privacy-content{padding:var(--spacing-xl)}.privacy-icon-wrapper{margin-bottom:var(--spacing-md);justify-content:center;display:flex}.privacy-last-updated{text-align:center;color:var(--clr-text-secondary);margin-bottom:var(--spacing-2xl);font-size:.875rem}.privacy-content section{margin-bottom:var(--spacing-xl)}.privacy-content h2{margin-bottom:var(--spacing-md);color:var(--clr-text-primary);border-bottom:1px solid var(--clr-border);padding-bottom:var(--spacing-sm);font-size:1.25rem}.privacy-content p{color:var(--clr-text-secondary);margin-bottom:var(--spacing-md);line-height:1.6}.privacy-content ul{color:var(--clr-text-secondary);padding-left:var(--spacing-lg);margin-bottom:var(--spacing-md);line-height:1.6}.privacy-content li{margin-bottom:var(--spacing-sm)}@media (width<=768px){.privacy-content{padding:var(--spacing-lg)}}.category-summary-cards{gap:var(--spacing-md);grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;display:grid}.category-ranking-cards{display:contents}.category-summary-card{gap:var(--spacing-sm);min-width:0;padding:var(--spacing-lg);flex-direction:column;display:flex}.category-summary-card-link{color:inherit;text-decoration:none;position:relative}.category-summary-card-link .category-summary-card-header{padding-right:calc(20px + var(--spacing-sm))}.category-summary-card-chevron{top:var(--spacing-lg);right:var(--spacing-lg);color:var(--clr-text-secondary);position:absolute}.category-summary-card-header{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.category-ranking-cards .category-summary-card-header{justify-content:flex-start;padding-right:0}.category-ranking-cards .category-summary-card{text-align:left;align-items:flex-start}.category-summary-card-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.category-summary-card-icon.danger{color:var(--clr-danger);background:color-mix(in srgb, var(--clr-danger) 15%, transparent)}.category-summary-card-icon.category{background:var(--clr-surface-alt)}.category-summary-card-title{min-width:0;color:var(--clr-text-secondary);font-size:var(--text-sm);overflow-wrap:anywhere;font-weight:500;line-height:1.2}.category-summary-card-ranking-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-summary-card-value{align-items:baseline;gap:var(--spacing-sm);max-width:100%;color:var(--clr-text-primary);font-family:var(--font-display);font-size:var(--text-xl);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.2;display:flex;overflow:hidden}.category-summary-card-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.category-summary-card-value.value-danger{color:var(--clr-danger)}.category-summary-card-detail{align-items:center;gap:var(--spacing-sm);color:var(--clr-text-secondary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500;display:flex}.category-ranking-cards .category-summary-card-detail{justify-content:flex-start}.category-summary-card-share{align-items:center;gap:var(--spacing-sm);display:inline-flex}.category-summary-card-share:before{content:"";background:currentColor;border-radius:50%;width:3px;height:3px}.category-summary-card-rank{color:var(--clr-primary);font-family:var(--font-display);font-size:var(--text-xs);letter-spacing:.02em;font-weight:700}@media (width<=768px){.category-summary-cards{gap:var(--spacing-md);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.category-summary-cards>.total{grid-column:1/-1}.category-ranking-cards{min-width:0;display:contents}.category-ranking-cards .category-summary-card{text-align:center;align-items:center;width:100%;min-width:0}.category-summary-card{padding:var(--spacing-md)}.category-summary-card-link{padding-right:var(--spacing-md)}.category-summary-card-chevron{top:var(--spacing-sm);right:var(--spacing-sm);width:1rem;height:1rem}.category-summary-card-icon{width:36px;height:36px}.category-summary-card-value{font-size:var(--text-lg)}.category-ranking-cards .category-summary-card{min-height:128px}.category-ranking-cards .category-summary-card-header{justify-content:center;align-items:center;padding-right:0;display:flex}.category-summary-card-ranking-title{display:none}.category-summary-card-detail{gap:var(--spacing-xs);font-size:var(--text-xs);margin-top:auto}.category-ranking-cards .category-summary-card-detail{justify-content:center}.category-summary-card-share{gap:var(--spacing-xs)}}.category-expenses-page{padding-bottom:var(--spacing-xl)}.category-expenses-grid{gap:var(--spacing-lg);grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:start;display:grid}.category-expenses-breakdown{min-width:0}.category-expenses-section-title{font-size:var(--text-lg);margin:0}.category-expenses-breakdown-link{justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);color:inherit;text-decoration:none;display:flex}.category-expenses-breakdown-link>svg{color:var(--clr-text-secondary);flex-shrink:0}.category-expenses-list{margin:0;padding:0;list-style:none}.category-expenses-item{align-items:center;gap:var(--spacing-md);padding:calc(var(--spacing-sm) + var(--spacing-xs)) 0;border-bottom:1px solid var(--clr-border);display:flex}.category-expenses-item:last-child{border-bottom:0}.category-expenses-item-icon{border-radius:var(--radius-md);background:var(--clr-surface-alt);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.category-expenses-item-copy{flex-direction:column;flex:1;min-width:0;display:flex}.category-expenses-item-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.category-expenses-item-percent{color:var(--clr-text-secondary);font-size:var(--text-xs)}.category-expenses-item-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;font-weight:600}.category-expenses-empty{justify-content:center;align-items:center;gap:var(--spacing-md);min-height:280px;color:var(--clr-text-secondary);text-align:center;flex-direction:column;display:flex}.category-expenses-mode-options{gap:var(--spacing-sm);display:flex}.category-expenses-filter-error{color:var(--clr-danger);font-size:var(--text-sm);margin-top:var(--spacing-sm)}@media (width<=768px){.category-expenses-grid{gap:var(--spacing-xl);grid-template-columns:1fr}.category-expenses-breakdown{padding:var(--spacing-md)}}.not-found-page{width:100%;padding:var(--spacing-xl);flex:1;justify-content:center;align-items:center;display:flex}.not-found-panel{text-align:center;width:min(100%,560px);padding:var(--spacing-2xl);flex-direction:column;align-items:center;display:flex}.not-found-ledger{align-items:center;gap:var(--spacing-md);width:100%;margin-bottom:var(--spacing-lg);color:var(--clr-text-muted);grid-template-columns:1fr auto 1fr;display:grid}.not-found-ledger-line{border-top:1px dashed var(--clr-border)}.not-found-code{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.2em;font-weight:600}.not-found-icon{width:56px;height:56px;margin-bottom:var(--spacing-md);border-radius:var(--radius-lg);color:var(--clr-primary);background:var(--clr-primary-glow);justify-content:center;align-items:center;display:inline-flex}.not-found-eyebrow{margin-bottom:var(--spacing-xs);color:var(--clr-primary);font-size:var(--text-sm);font-weight:600}.not-found-title{margin-bottom:var(--spacing-sm);font-size:var(--text-3xl)}.not-found-description{max-width:42ch;margin-bottom:var(--spacing-xl);color:var(--clr-text-secondary)}.not-found-action{justify-content:center;align-items:center;gap:var(--spacing-sm);text-decoration:none;display:inline-flex}@media (width<=768px){.not-found-page{padding:0}.not-found-panel{padding:var(--spacing-xl) var(--spacing-lg)}.not-found-title{font-size:var(--text-2xl)}}.expense-ledger-row{gap:var(--spacing-sm);padding:calc(var(--spacing-sm) + var(--spacing-xs)) var(--spacing-lg);border-bottom:1px solid var(--clr-border);grid-template-columns:max-content minmax(0,1fr) auto;align-items:center;display:grid}.expense-ledger-row.has-actions{grid-template-columns:max-content minmax(0,1fr) auto auto}.expense-ledger-row:has(.action-menu-content){z-index:2;position:relative}.expense-ledger-row:last-child{border-bottom:0}.expense-ledger-date{color:var(--clr-text-secondary);font-size:var(--text-xs);text-transform:capitalize;white-space:nowrap;font-weight:600}.expense-ledger-copy{gap:var(--spacing-xs);min-width:0;flex-direction:column;padding-inline-start:var(--spacing-sm);display:flex}.expense-ledger-copy span{color:var(--clr-text-secondary);font-size:var(--text-xs)}.expense-ledger-item-meta,.expense-ledger-meta,.expense-ledger-method-meta,.expense-ledger-category-meta{align-items:center;min-width:0;display:inline-flex}.expense-ledger-item-meta,.expense-ledger-meta{gap:var(--spacing-xs)}.expense-ledger-item-meta{color:var(--clr-text-secondary);font-size:var(--text-xs);white-space:nowrap;overflow:hidden}.expense-ledger-method-meta,.expense-ledger-category-meta,.expense-ledger-recurrence-meta{gap:var(--spacing-xs)}.expense-ledger-method-icon,.expense-ledger-category-icon,.expense-ledger-recurrence-icon{flex-shrink:0;justify-content:center;align-items:center;width:1rem;height:1rem;line-height:0;display:inline-flex}.expense-ledger-method-icon svg,.expense-ledger-category-icon svg,.expense-ledger-recurrence-icon svg{width:1rem;height:1rem}.expense-ledger-recurrence-meta{align-items:center;display:inline-flex}.expense-ledger-recurrence-verbose{display:none}.expense-ledger-recurring-details{align-items:center;gap:var(--spacing-xs);display:inline-flex}.expense-ledger-item-name{align-items:baseline;gap:var(--spacing-xs);min-width:0;display:inline-flex}.expense-ledger-copy .expense-ledger-item-description{color:var(--clr-text-primary)}.expense-ledger-plan-reference{color:var(--clr-text-muted);font-size:var(--text-xs);white-space:nowrap;flex-shrink:0;font-weight:500}.expense-ledger-copy>strong,.expense-ledger-item-meta>span:not(.expense-ledger-method-icon){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expense-ledger-amount{font-family:var(--font-display);white-space:nowrap}.expense-ledger-actions{width:2.5rem;height:2.5rem;color:var(--clr-text-secondary);justify-content:center;align-items:center;padding:0;display:inline-flex}.expense-ledger-actions:hover,.expense-ledger-actions:active{background:var(--clr-surface-alt)}@media (width<=1279px){.expense-ledger-meta-recurring{flex-direction:column;align-items:flex-start}.expense-ledger-recurrence-compact,.expense-ledger-recurrence-separator{display:none}.expense-ledger-recurrence-verbose{display:inline}.expense-ledger-row.has-actions{grid-template-columns:max-content minmax(0,1fr) auto;grid-template-areas:"date name action""recurrence recurrence amount""details details details"}.expense-ledger-row.has-actions .expense-ledger-date{grid-area:date}.expense-ledger-row.has-actions .expense-ledger-copy,.expense-ledger-row.has-actions .expense-ledger-item-meta,.expense-ledger-row.has-actions .expense-ledger-meta-recurring{display:contents}.expense-ledger-row.has-actions .expense-ledger-item-name{grid-area:name;padding-inline-start:var(--spacing-sm);overflow:hidden}.expense-ledger-row.has-actions .expense-ledger-recurrence-meta{grid-area:recurrence}.expense-ledger-row.has-actions .expense-ledger-recurring-details{grid-area:details}.expense-ledger-row.has-actions .expense-ledger-amount{grid-area:amount}.expense-ledger-row.has-actions .expense-ledger-actions{grid-area:action;justify-self:end}}@media (width<=768px){.expense-ledger-row{padding:var(--spacing-md);grid-template-columns:max-content minmax(0,1fr) auto;grid-template-areas:"date copy amount""meta meta meta"}.expense-ledger-date{grid-area:date}.expense-ledger-copy{padding-inline-start:0;display:contents}.expense-ledger-item-name{grid-area:copy;overflow:hidden}.expense-ledger-item-meta{white-space:normal;flex-wrap:wrap;grid-area:meta;overflow:visible}.expense-ledger-item-meta>span:not(.expense-ledger-method-icon){white-space:nowrap;overflow:visible}.expense-ledger-amount{grid-area:amount}.expense-ledger-actions{margin-block:calc(var(--spacing-xs) * -1);grid-area:action;justify-self:end}}.expense-ledger{scroll-margin-top:var(--page-sticky-header-offset);padding:0;position:relative;overflow:hidden}.expense-ledger:before{z-index:2;width:var(--spacing-xs);background:var(--clr-primary);content:"";position:absolute;top:0;bottom:0;left:0}.expense-ledger-receipts:before,.expense-ledger-oneTimeIncome:before,.expense-ledger-confirmedIncome:before,.expense-ledger-recurringIncome:before{background:var(--clr-success)}.expense-ledger-credit:before,.expense-ledger-planned:before{background:var(--clr-warning)}.expense-ledger-recurring:before{background:var(--clr-danger)}.expense-ledger-category:before{background:var(--expense-group-color)}.expense-ledger-header{justify-content:space-between;align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--clr-border);text-align:left;background:0 0;display:flex;position:relative}.expense-ledger-toggle{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;position:absolute;inset:0}.expense-ledger-heading{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.expense-ledger-heading p{margin-top:var(--spacing-xs);color:var(--clr-text-secondary);font-size:var(--text-xs)}.expense-ledger-icon{flex-shrink:0;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;display:inline-flex;color:var(--clr-text-secondary)!important}.expense-ledger-summary{align-items:center;gap:var(--spacing-sm);flex-shrink:0;display:inline-flex}.expense-ledger-summary>strong{font-family:var(--font-display);font-size:var(--text-base);flex-shrink:0;color:var(--clr-text-primary)!important}.expense-ledger-chevron{color:var(--clr-text-muted);flex-shrink:0;display:none}.expense-ledger-content{opacity:1;grid-template-rows:1fr;display:grid}.expense-ledger.is-collapsible .expense-ledger-header{cursor:pointer}.expense-ledger.is-collapsible .expense-ledger-chevron{transition:transform var(--transition-normal);display:block}.expense-ledger.is-collapsible .expense-ledger-header:has(.expense-ledger-toggle[aria-expanded=true]) .expense-ledger-chevron{transform:rotate(180deg)}.expense-ledger.is-collapsible .expense-ledger-content{transition:grid-template-rows var(--transition-normal), opacity var(--transition-fast)}.expense-ledger.is-collapsible .expense-ledger-content.is-collapsed{opacity:0;grid-template-rows:0fr}.expense-ledger-content-inner{min-height:0;overflow:hidden}@media (width<=768px){section.expense-ledger{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;overflow:visible}.expense-ledger:before{top:var(--spacing-md);border-radius:0 var(--radius-full) var(--radius-full) 0;height:1.5rem;bottom:auto}.expense-ledger-header{gap:var(--spacing-sm);padding:var(--spacing-md) 0 var(--spacing-md) var(--spacing-md);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;display:grid}.expense-ledger-heading,.expense-ledger-heading>div{min-width:0}.expense-ledger-heading h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.expense-ledger-heading p,.expense-ledger-icon{display:none}.expense-ledger-summary{justify-self:end}.expense-ledger-summary>strong{white-space:nowrap;line-height:1.2}.expense-ledger-header:has(.expense-ledger-toggle:active){background:var(--clr-surface-alt)}.expense-ledger-chevron{transition:transform var(--transition-normal);display:block}.expense-ledger-header:has(.expense-ledger-toggle[aria-expanded=true]) .expense-ledger-chevron{transform:rotate(180deg)}.expense-ledger-content{transition:grid-template-rows var(--transition-normal), opacity var(--transition-fast)}.expense-ledger-content.is-collapsed{opacity:0;grid-template-rows:0fr}}@media (prefers-reduced-motion:reduce){.expense-ledger-content,.expense-ledger-chevron{transition:none}}.expense-reconciliation{gap:var(--spacing-lg);grid-template-columns:minmax(14rem,.8fr) minmax(20rem,1.2fr);align-items:center;display:grid;overflow:hidden}.expense-reconciliation-total{gap:var(--spacing-xs);flex-direction:column;display:flex}.expense-reconciliation-total>span{color:var(--clr-text-secondary);font-size:var(--text-sm);font-weight:600}.expense-reconciliation-total>strong{color:var(--clr-danger);font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2rem,3vw,3rem);line-height:1}.expense-reconciliation-income .expense-reconciliation-total>strong,.expense-reconciliation-income .expense-equation-result strong{color:var(--clr-success)}.expense-reconciliation-total p,.expense-ledger-heading p,.expense-breakdown-empty p{color:var(--clr-text-secondary);font-size:var(--text-sm)}.expense-equation{gap:var(--spacing-sm);grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;display:grid}.expense-equation.expense-equation-single{grid-template-columns:1fr}.expense-category-composition{gap:var(--spacing-sm) var(--spacing-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.expense-category-composition-item{grid-template-columns:var(--spacing-sm) minmax(0, 1fr) auto;gap:var(--spacing-sm);color:var(--clr-text-secondary);font-size:var(--text-sm);align-items:center;display:grid}.expense-category-composition-item strong{color:var(--clr-text-primary);font-family:var(--font-display)}.expense-category-composition-dot{width:var(--spacing-sm);height:var(--spacing-sm);border-radius:var(--radius-full)}.expense-equation-term{gap:var(--spacing-xs);min-width:0;border-inline-start:var(--spacing-xs) solid var(--clr-primary);flex-direction:column;padding-inline-start:var(--spacing-md);display:flex}.expense-equation-term span{color:var(--clr-text-secondary);font-size:var(--text-xs)}.expense-equation-term strong{color:var(--clr-text-primary);font-family:var(--font-display);font-size:var(--text-base)}.expense-composition-rail{width:100%;height:var(--spacing-xs);border-radius:var(--radius-full);background:var(--clr-surface-alt);grid-column:1/-1;display:flex;overflow:hidden}.expense-composition-rail span{min-width:0;transition:width var(--transition-normal)}.expense-ledgers{gap:var(--spacing-lg);grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}.expense-ledgers-categories{column-count:3;column-gap:var(--spacing-lg);display:block}.expense-ledgers-categories>.expense-ledger{width:100%;margin-bottom:var(--spacing-lg);break-inside:avoid}.expense-ledgers:has(>:only-child){grid-template-columns:minmax(0,1fr)}.expense-ledger-heading{gap:var(--spacing-sm);min-width:0;display:flex}.expense-ledger-heading h2{font-size:var(--text-lg);line-height:1.2}.expense-ledger-heading p{margin-top:var(--spacing-xs)}.expense-ledger-icon{border-radius:var(--radius-full);background:var(--clr-surface-alt);flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;display:inline-flex}.expense-ledger-list{margin-block:0;padding-inline-start:0;list-style:none}.expense-ledger-empty{padding:var(--spacing-xl) var(--spacing-lg);color:var(--clr-text-secondary);text-align:center}.expense-breakdown-empty{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-2xl);color:var(--clr-text-secondary);text-align:center;flex-direction:column;display:flex}.expense-breakdown-empty h2{color:var(--clr-text-primary);font-size:var(--text-xl)}@media (width<=1200px){.expense-ledgers-categories{column-count:2}}@media (width<=900px){.expense-reconciliation{grid-template-columns:1fr;align-items:start}.expense-composition-rail{grid-column:1}.expense-ledgers{grid-template-columns:1fr}.expense-ledgers-categories{column-count:1}.expense-category-composition{grid-template-columns:1fr}}@media (width<=768px){.expense-reconciliation{gap:var(--spacing-lg)}.expense-equation{gap:var(--spacing-sm);grid-template-columns:1fr auto 1fr}.expense-equation>svg:nth-of-type(2){display:none}.expense-equation-result{padding-top:var(--spacing-sm);border-top:1px solid var(--clr-border);grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.expense-composition-rail span,.expense-ledger-content,.expense-ledger-chevron{transition:none}}.expense-breakdown-page .expense-ledger-header{padding:var(--spacing-md) var(--spacing-lg);align-items:center}.expense-breakdown-page .expense-ledger-heading{align-items:center}.expense-breakdown-page .expense-ledger-heading h2{font-size:var(--text-base)}.expense-breakdown-page .expense-ledger-heading p{font-size:var(--text-xs)}.expense-breakdown-page .expense-ledger-icon{background:0 0;border-radius:0;width:1.5rem;height:1.5rem;color:var(--clr-text-secondary)!important}.expense-breakdown-page .expense-ledger-summary>strong{font-size:var(--text-base);color:var(--clr-text-primary)!important}@media (width<=768px){.expense-reconciliation{gap:var(--spacing-md);padding:var(--spacing-md) 0;border:0;border-block:1px solid var(--clr-border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;grid-template-columns:1fr}.expense-reconciliation-total>strong{font-size:2rem}.expense-reconciliation-total p{margin-top:0}.expense-equation{grid-template-columns:repeat(2,minmax(0,1fr))}.expense-breakdown-page section.expense-ledger{box-shadow:none;background:0 0;border:0;border-radius:0}.expense-breakdown-page .expense-ledger-header{padding:var(--spacing-md) 0 var(--spacing-md) var(--spacing-md);grid-template-columns:minmax(0,1fr) auto}.expense-breakdown-page .expense-ledger-heading{display:flex}.expense-breakdown-page .expense-ledger-heading p,.expense-breakdown-page .expense-ledger-icon{display:none}}.recurring-plan-action-grid{gap:var(--spacing-md);display:grid}.recurring-plan-action{width:100%;padding:var(--spacing-md);align-items:center;gap:var(--spacing-md);color:var(--clr-text-primary);text-align:start;cursor:pointer;border:0;display:flex}.recurring-plan-action-icon{border-radius:var(--radius-full);width:3rem;height:3rem;color:var(--clr-on-primary);background:var(--clr-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.recurring-plan-action-icon.danger{background:var(--clr-danger);color:var(--clr-on-danger)}.recurring-plan-action>span:last-child{display:grid}.recurring-plan-action strong{font-size:var(--text-base)}.recurring-plan-action small{color:var(--clr-text-secondary);font-size:var(--text-sm)}.recurring-plan-delete-copy{margin-bottom:var(--spacing-lg)}.recurring-plan-delete-copy p{color:var(--clr-text-primary);margin:0}.recurring-plan-delete-copy small{margin-top:var(--spacing-sm);color:var(--clr-text-secondary);font-size:var(--text-sm);display:block}.simulators-grid{gap:var(--spacing-md);flex-direction:column;width:100%;display:flex}.simulator-card{padding:var(--spacing-md);align-items:center;gap:var(--spacing-md);color:inherit;cursor:pointer;text-decoration:none;transition:transform .2s,background-color .2s,box-shadow .2s;display:flex}.simulator-card:hover,.simulator-card:focus-visible{background-color:var(--clr-surface-alt);box-shadow:var(--shadow-sm);outline:none;transform:translateY(-2px)}.simulator-card-icon{border-radius:var(--radius-full);background-color:var(--clr-surface-alt);width:48px;height:48px;color:var(--clr-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.simulator-card-content{gap:var(--spacing-xs);flex-direction:column;flex:1;min-width:0;display:flex}.simulator-card-content h3{font-family:var(--font-heading);color:var(--clr-text);margin:0;font-size:1.125rem;font-weight:500}.simulator-card-content p{color:var(--clr-text-muted);margin:0;font-size:.875rem;line-height:1.4}@media (width<=768px){.simulator-card{min-height:calc(48px + (var(--spacing-md) * 2))}.simulator-card-content p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.simulator-card-action{opacity:1}}.simulator-card-action{color:var(--clr-text-muted);opacity:.5;justify-content:center;align-items:center;transition:opacity .2s,transform .2s;display:flex}.simulator-card:hover .simulator-card-action,.simulator-card:focus-visible .simulator-card-action{opacity:1;transform:translate(4px)}@media (width>=769px){.simulators-grid{gap:var(--spacing-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.simulator-card{text-align:center;padding:var(--spacing-lg);flex-direction:column;align-items:center}.simulator-card-icon{width:64px;height:64px;margin-bottom:var(--spacing-sm)}.simulator-card-icon svg{width:32px;height:32px}.simulator-card-action{display:none}}.compare-grid{gap:var(--spacing-lg);flex-direction:column;width:100%;display:flex}.compare-simulator-page .form-panel{padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;display:flex}.compare-simulator-page .form-panel .form-group{margin-bottom:0}.compare-simulator-page .result-panel{padding:var(--spacing-md);flex-direction:column;display:flex}.compare-simulator-page .result-panel:has(.result-content){gap:var(--spacing-lg)}.compare-simulator-page h3{font-size:1.125rem}.compare-simulator-page .form-input{border-radius:var(--radius-sm);background-color:var(--clr-field-bg);box-shadow:var(--field-inset-shadow)}.compare-simulator-page .form-input:focus{border-color:var(--clr-primary);background-color:var(--clr-field-bg-focus);box-shadow:var(--field-inset-shadow), 0 0 0 3px var(--clr-primary-glow)}.compare-simulator-page .form-help{font-size:var(--text-xs);color:var(--clr-text-muted);margin:0}.compare-simulator-page .empty-result{justify-content:center;align-items:center;gap:var(--spacing-md);color:var(--clr-text-muted);text-align:center;padding:var(--spacing-2xl) 0;flex-direction:column;flex:1;display:flex}.compare-simulator-page .empty-result svg{opacity:.3}.compare-simulator-page .result-content{gap:var(--spacing-xl);animation:slide-up var(--transition-normal);flex-direction:column;display:flex}@keyframes slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.compare-simulator-page .result-content,.goals-simulator-page .result-content{animation:none}}.compare-simulator-page .recommendation-card{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);border-radius:var(--radius-lg);align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex;position:relative;overflow:hidden}.compare-simulator-page .recommendation-card:before{content:"";opacity:.1;z-index:0;position:absolute;inset:0}.compare-simulator-page .recommendation-card>*{z-index:1}.compare-simulator-page .recommendation-card.cash:before{background-color:var(--clr-success)}.compare-simulator-page .recommendation-card.installments:before{background-color:var(--clr-primary)}.compare-simulator-page .recommendation-card.cash{border:1px solid var(--clr-success-glow);box-shadow:0 8px 32px var(--clr-success-glow)}.compare-simulator-page .recommendation-card.installments{border:1px solid var(--clr-primary-glow);box-shadow:0 8px 32px var(--clr-primary-glow)}.compare-simulator-page .recommendation-card.cash .rec-icon,.compare-simulator-page .recommendation-card.cash h4{color:var(--clr-success)}.compare-simulator-page .recommendation-card.installments .rec-icon,.compare-simulator-page .recommendation-card.installments h4{color:var(--clr-primary)}.compare-simulator-page .recommendation-card h4{font-size:var(--text-lg);margin:0;font-weight:500}.compare-simulator-page .recommendation-card p{font-size:var(--text-sm);color:var(--clr-text-primary);margin:0}.compare-simulator-page .recommendation-card .diff-amount{font-family:var(--font-display);font-size:var(--text-4xl);margin-top:var(--spacing-sm);font-weight:600;display:block}.compare-simulator-page .breakdown{gap:var(--spacing-md);flex-direction:column;display:flex}.compare-simulator-page .breakdown-item{font-size:var(--text-sm);padding-bottom:var(--spacing-sm);border-bottom:1px dashed var(--clr-border);justify-content:space-between;align-items:center;display:flex}.compare-simulator-page .breakdown-item span{overflow-wrap:anywhere;min-width:0;color:var(--clr-text-secondary);flex:1}.compare-simulator-page .breakdown-item strong{margin-left:var(--spacing-md);color:var(--clr-text-primary);font-family:var(--font-display);font-weight:500;font-size:var(--text-base);flex:none}@media (width<=768px){.compare-simulator-page .result-panel{min-height:0}.compare-simulator-page .empty-result{padding:var(--spacing-xl) 0}.compare-simulator-page .result-content{gap:var(--spacing-lg)}.compare-simulator-page .recommendation-card{padding:var(--spacing-md)}.compare-simulator-page .recommendation-card .diff-amount{font-size:var(--text-3xl)}}.compare-simulator-page .disclaimer{font-size:var(--text-xs);color:var(--clr-text-muted);text-align:center;margin:0;line-height:1.5}@media (width>=769px){.compare-grid{flex-direction:row;align-items:stretch}.compare-simulator-page .form-panel{padding:var(--spacing-lg);flex:5}.compare-simulator-page .result-panel{padding:var(--spacing-lg);top:calc(var(--page-sticky-header-offset) + var(--spacing-lg));flex:7;position:sticky}}.goals-simulator-page .goals-grid{gap:var(--spacing-lg);flex-direction:column;width:100%;display:flex}.goals-simulator-page .form-panel{padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;display:flex}.goals-simulator-page .form-panel .form-group{margin-bottom:0}.goals-simulator-page .result-panel{min-height:450px;padding:var(--spacing-md);flex-direction:column;display:flex}.goals-simulator-page .result-panel:has(.result-content){gap:var(--spacing-lg)}.goals-simulator-page h3{font-size:1.125rem}.goals-simulator-page .form-input{border-radius:var(--radius-sm);background-color:var(--clr-field-bg);box-shadow:var(--field-inset-shadow)}.goals-simulator-page .form-input:focus{border-color:var(--clr-primary);background-color:var(--clr-field-bg-focus);box-shadow:var(--field-inset-shadow), 0 0 0 3px var(--clr-primary-glow)}.goals-simulator-page .mode-selector{gap:var(--spacing-sm);display:flex}.goals-simulator-page .goals-mode-active{background-color:var(--clr-primary);color:var(--clr-on-primary);box-shadow:0 2px 4px var(--clr-primary-glow)}.goals-simulator-page .empty-result{justify-content:center;align-items:center;gap:var(--spacing-md);color:var(--clr-text-muted);text-align:center;padding:var(--spacing-2xl) 0;flex-direction:column;flex:1;display:flex}.goals-simulator-page .empty-result svg{opacity:.3}.goals-simulator-page .result-content{gap:var(--spacing-xl);animation:slide-up var(--transition-normal);flex-direction:column;display:flex}.goals-simulator-page .hero-card{text-align:center;padding:var(--spacing-2xl) var(--spacing-xl);border-radius:var(--radius-lg);background-color:var(--clr-primary-glow);border:1px solid var(--clr-primary-glow);box-shadow:0 8px 32px var(--clr-primary-glow);flex-direction:column;align-items:center;display:flex}.goals-simulator-page .hero-card .hero-icon{color:var(--clr-primary);margin-bottom:var(--spacing-sm)}.goals-simulator-page .hero-card p{font-size:var(--text-sm);color:var(--clr-text-primary);margin:0}.goals-simulator-page .hero-card .hero-amount{font-family:var(--font-display);font-size:var(--text-4xl);color:var(--clr-primary);margin-top:var(--spacing-sm);font-weight:600;display:block}.goals-simulator-page .breakdown{gap:var(--spacing-md);flex-direction:column;display:flex}.goals-simulator-page .breakdown-item{font-size:var(--text-sm);padding-bottom:var(--spacing-sm);border-bottom:1px dashed var(--clr-border);justify-content:space-between;align-items:center;display:flex}.goals-simulator-page .breakdown-item span{overflow-wrap:anywhere;min-width:0;color:var(--clr-text-secondary);flex:1}.goals-simulator-page .breakdown-item strong{margin-left:var(--spacing-md);color:var(--clr-text-primary);font-family:var(--font-display);font-weight:500;font-size:var(--text-base);flex:none}@media (width<=768px){.goals-simulator-page .result-panel{min-height:0}.goals-simulator-page .empty-result{padding:var(--spacing-xl) 0}.goals-simulator-page .result-content{gap:var(--spacing-lg)}.goals-simulator-page .hero-card{padding:var(--spacing-md)}.goals-simulator-page .hero-card .hero-amount{font-size:var(--text-3xl)}}.goals-simulator-page .disclaimer{font-size:var(--text-xs);color:var(--clr-text-muted);text-align:center;margin:0;line-height:1.5}@media (width>=769px){.goals-simulator-page .goals-grid{flex-direction:row;align-items:stretch}.goals-simulator-page .form-panel{padding:var(--spacing-lg);flex:5}.goals-simulator-page .result-panel{padding:var(--spacing-lg);top:calc(var(--page-sticky-header-offset) + var(--spacing-lg));flex:7;position:sticky}}.cashflow-simulator-page{flex-direction:column;width:100%;display:flex}.cashflow-simulator-page .cashflow-grid{gap:var(--spacing-lg);flex-direction:column;width:100%;display:flex}.cashflow-simulator-page .form-panel{gap:var(--spacing-md);padding:var(--spacing-md);flex-direction:column;display:flex}.cashflow-simulator-page .form-panel .form-group{margin-bottom:0}.cashflow-simulator-page .form-input{border-radius:var(--radius-sm);background-color:var(--clr-field-bg);box-shadow:var(--field-inset-shadow)}.cashflow-simulator-page .form-input:focus{border-color:var(--clr-primary);background-color:var(--clr-field-bg-focus);box-shadow:var(--field-inset-shadow), 0 0 0 3px var(--clr-primary-glow)}.cashflow-simulator-page .form-header{align-items:center;gap:var(--spacing-sm);margin-bottom:0;display:flex}.cashflow-simulator-page .form-header h3{font-size:var(--text-lg);margin:0}.cashflow-simulator-page .info-box{align-items:flex-start;gap:var(--spacing-sm);display:flex}.cashflow-simulator-page .info-box svg{flex:none;margin-top:.125rem}.cashflow-simulator-page .info-box p{flex:1;margin:0}.cashflow-simulator-page .result-panel{min-height:450px;padding:var(--spacing-md);flex-direction:column;display:flex}.cashflow-simulator-page .result-panel:has(.chart-container){gap:var(--spacing-lg)}.cashflow-simulator-page .result-panel h3{margin:0 0 var(--spacing-md);font-size:var(--text-lg)}.cashflow-simulator-page .empty-result{color:var(--clr-text-muted);text-align:center;justify-content:center;align-items:center;gap:var(--spacing-md);opacity:.5;flex-direction:column;flex:1;display:flex}.cashflow-simulator-page .empty-result p{max-width:250px;margin:0}.cashflow-simulator-page .chart-container{flex-direction:column;flex:1;display:flex}.cashflow-simulator-page .verdict-card{background-color:var(--clr-surface-alt);border-radius:var(--radius-lg);padding:var(--spacing-md);gap:var(--spacing-sm);flex-direction:column;display:flex}.cashflow-simulator-page .verdict-header h4{font-size:var(--text-sm);color:var(--clr-text-muted);margin:0;font-weight:500}.cashflow-simulator-page .verdict-stats{gap:var(--spacing-xs);flex-direction:column;display:flex}.cashflow-simulator-page .stat{justify-content:space-between;align-items:center;font-size:1.125rem;display:flex}.cashflow-simulator-page .stat-label{color:var(--clr-text)}.cashflow-simulator-page .stat-value{font-family:var(--font-display);font-weight:500}.cashflow-simulator-page .text-success{color:var(--clr-success)}.cashflow-simulator-page .text-danger{color:var(--clr-danger)}@media (width>=769px){.cashflow-simulator-page .cashflow-grid{flex-direction:row;align-items:stretch}.cashflow-simulator-page .form-panel{padding:var(--spacing-lg);flex:5}.cashflow-simulator-page .result-panel{padding:var(--spacing-lg);top:calc(var(--page-sticky-header-offset) + var(--spacing-lg));flex:7;position:sticky}.cashflow-simulator-page .verdict-stats{gap:var(--spacing-xl);flex-direction:row}.cashflow-simulator-page .stat{flex-direction:column;flex:1;align-items:flex-start;gap:4px}.cashflow-simulator-page .stat-value{font-size:1.5rem}}@media (width<=768px){.cashflow-simulator-page .result-panel{min-height:0}.cashflow-simulator-page .empty-result{padding:var(--spacing-xl) 0}.cashflow-simulator-page .chart-container{gap:var(--spacing-md)}.cashflow-simulator-page .verdict-card{padding:var(--spacing-md);margin-top:0}}.dashboard-grid{gap:var(--spacing-xl);grid-template-columns:1fr;display:grid}@media (width>=1024px){.dashboard-grid{grid-template-columns:2fr 1fr;align-items:start}.dashboard-card.wide{grid-column:1/2}}.dashboard-card{flex-direction:column;display:flex}
