:root{--motion-modal-duration: .18s;--motion-toast-duration: .18s;--motion-announcement-duration: .18s;--motion-exit-duration: .13s;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){:root{--motion-modal-duration: 1ms;--motion-toast-duration: 1ms;--motion-announcement-duration: 1ms;--motion-exit-duration: 1ms}}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}body{margin:0;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--color-card);cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--color-primary)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.money-input{font-variant-numeric:tabular-nums}.budgets-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.empty-state{background:var(--color-card);padding:var(--spacing-lg);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.muted{color:var(--color-muted);margin-top:.5rem}.budget-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.budget-card{background:var(--color-card);border-radius:var(--radius);padding:var(--spacing-md);box-shadow:var(--shadow-soft);text-decoration:none;color:var(--color-text);transition:transform .15s ease,box-shadow .15s ease}.budget-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card-hover)}.budget-card-content{display:flex;justify-content:space-between;align-items:center}.budget-card h3{margin:0;font-size:1.1rem;font-weight:600}.view-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.9rem;color:var(--color-accent)}.app-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;max-width:100%;min-width:0;border:none;border-radius:var(--radius);cursor:pointer;font:inherit;font-weight:500;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease,opacity .15s ease}.app-button:active{transform:translateY(1px)}.app-button span{overflow:hidden;text-overflow:ellipsis}.app-button.full-width{width:100%}.app-button:disabled{opacity:.6;cursor:not-allowed}.app-button.sm{min-height:32px;padding:0 .75rem;font-size:.875rem}.app-button.md{min-height:38px;padding:0 1rem}.app-button.lg{min-height:44px;padding:0 1.25rem}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;border:none;border-radius:var(--radius);padding:0;cursor:pointer}.icon-button.neutral{color:var(--color-muted)}.icon-button.neutral:hover{color:var(--color-text);background:var(--color-border)}.icon-button.table{width:3.2rem;height:2.5rem}.icon-button.table:hover{background:var(--color-border)}.icon-button.table:active{transform:scale(.85)}.icon-button.action{width:4rem;height:2.75rem}.icon-button.large{width:3.25rem;height:3.25rem}.icon-button.danger:hover{background:var(--color-error-subtle);color:var(--color-error)}.ghost-button{background:transparent;color:var(--color-muted)}.ghost-button:hover{background:var(--color-border);color:var(--color-text)}button:disabled{background-color:var(--color-disabled-bg);color:var(--color-disabled-text);cursor:not-allowed;opacity:.7}button{transition:background .1s}button.table-text-button{height:3rem}.primary-button{background:var(--color-primary);color:var(--color-text-inverse);border:none;padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}.icon-button.table.primary-button{background:transparent;color:var(--color-muted)}.icon-button.table.delete-button{background:transparent;color:var(--color-error)}.icon-button.table.transfer-button{background:transparent;color:var(--color-primary)}.icon-button.table.primary-button:hover{outline:2px var(--color-muted) solid}.icon-button.table.delete-button:hover{outline:2px var(--color-error) solid}.icon-button.table.transfer-button:hover{outline:2px var(--color-primary) solid}.secondary-button{background:var(--color-surface-subtle);color:var(--color-text);border:1px solid var(--color-border);padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}@media(hover:hover){.secondary-button:not(:disabled):hover{background:var(--color-surface-hover)}}.danger-button-light{background:var(--color-error-subtle);color:var(--color-error);border:1px solid color-mix(in srgb,var(--color-error) 35%,var(--color-border));padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}.primary-button-light{background:var(--color-info-subtle);color:var(--color-info);border:1px solid var(--color-primary);padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}@media(hover:hover){.primary-button-light:not(:disabled):hover{background:var(--color-primary);color:var(--color-text-inverse)}}@media(hover:hover){.danger-button-light:not(:disabled):hover{background:var(--color-error);color:var(--color-text-inverse)}}.cancel-button{background:var(--color-cancel);border:none;padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}.muted-danger-button{background:var(--color-disabled-bg);color:var(--color-error);border:none;padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}@media(hover:hover){.muted-danger-button:not(:disabled):hover{background:var(--color-error);color:var(--color-text-inverse)}}.app-button.page-primary-action{flex:0 0 auto}.app-button.page-primary-action span{overflow:visible;text-overflow:clip}.undo-button{background:var(--color-disabled-bg);color:var(--color-cancel);border:none;padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}.undo-button:hover{background:var(--color-cancel);color:var(--color-text-inverse)}.undo-button:disabled:hover{background:var(--color-disabled-bg);color:var(--color-disabled-text)}.delete-button,.danger-button{background:var(--color-error);color:var(--color-text-inverse);border:none;padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}@media(hover:hover){.primary-button:hover,.cancel-button:hover,.delete-button:hover{filter:brightness(.82)}}.primary-button:active,.cancel-button:active,.delete-button:active{transform:translateY(1px) scale(.98)}.primary-button:focus-visible,.cancel-button:focus-visible,.delete-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.small{padding:.4rem .75rem;font-size:.85rem}.action-buttons{display:flex;gap:.5rem}.muted{color:var(--color-muted)}.loading-screen{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;width:100%;min-height:100vh;text-align:center}.loading-spinner{width:3rem;height:3rem;border:4px solid var(--color-border);border-top:4px solid var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.loading-message{color:var(--color-muted);font-size:1rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--modal-padding: 1.5rem}.modal-overlay{position:fixed;inset:0;display:flex;justify-content:center;align-items:center;padding:var(--spacing-lg);background:var(--color-overlay);z-index:1000;animation:modal-overlay-in var(--motion-modal-duration) ease-out}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-overlay-out{0%{opacity:1}to{opacity:0}}@keyframes modal-in{0%{opacity:0}to{opacity:1}}@keyframes modal-out{0%{opacity:1}to{opacity:0}}.modal-sm{width:min(28rem,100%)}.modal-md{width:min(42rem,100%)}.modal-lg{width:min(60rem,100%)}.modal-xl{width:min(75rem,100%)}.recommended-pill{display:inline-block;margin-left:var(--spacing-xs);border-radius:999px;padding:.16rem .46rem;color:var(--color-info);background:var(--color-info-subtle);font-size:.78rem;font-weight:600;vertical-align:middle}.income-source-fund-check-row{flex-direction:column;margin-top:var(--spacing-xs)}.income-source-seasonal-row{flex-basis:100%;flex-direction:column;margin-top:var(--spacing-xs)}.income-source-seasonal-row>.checkbox-input{flex:0 0 auto;width:100%}.income-source-seasonal-reveal{width:100%}.income-source-animated-reveal{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .3s ease}.income-source-animated-reveal.open{grid-template-rows:1fr}.income-source-animated-reveal>.field{min-height:0;opacity:0;transform:translateY(-.25rem);visibility:hidden;transition:opacity .2s ease,transform .3s ease,visibility 0s linear .3s}.income-source-animated-reveal.open>.field{opacity:1;transform:translateY(0);visibility:visible;transition-delay:0s}@media(prefers-reduced-motion:reduce){.income-source-animated-reveal,.income-source-animated-reveal>.field{transition:none}}.money-settings-section h3{margin:0 0 var(--spacing-xs)}.money-settings-section>p{margin-top:0}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.modal-fill{flex:1;min-height:0}.modal{display:flex;flex-direction:column;max-height:calc(100vh - 4rem);background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden;animation:modal-in var(--motion-modal-duration) ease-out}.modal-overlay-exiting{animation:modal-overlay-out var(--motion-exit-duration) ease-in forwards;pointer-events:none}.modal-exiting{animation:modal-out var(--motion-exit-duration) ease-in forwards}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle);flex-shrink:0}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.modal-header-content{display:flex;align-items:center;gap:.5rem;min-width:0}.modal-header-content h2{margin:0}.modal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border);flex-shrink:0}.modal-body{flex:1;min-height:0;display:flex;flex-direction:column;gap:1rem;overflow:auto;padding:var(--spacing-sm) var(--spacing-md)}.modal-scroll{flex:1;min-height:0;overflow-y:auto}.modal-footer{display:flex;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-surface-subtle);flex-shrink:0;align-items:center;gap:.75rem}.modal-footer-danger,.modal-footer-actions{display:flex;align-items:center;gap:.75rem}.modal-footer-actions{flex:1;justify-content:flex-end;flex-wrap:wrap}.modal-footer .cancel-button{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text)}.transaction-save-add-another-mobile{display:none}@media(hover:hover){.modal-footer .cancel-button:not(:disabled):hover{background:var(--color-surface-hover);filter:none}}.field label{font-size:.85rem;font-weight:500;color:var(--color-muted)}.modal>form{display:flex;flex-direction:column;min-height:0;flex:1;overflow:hidden}.field{display:flex;flex-direction:column;gap:.45rem}.field input,.field select,.field textarea{width:100%;padding:.65rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);box-sizing:border-box}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--color-primary)}.recommended-label{margin-left:.35rem;color:var(--color-primary);font-size:.75rem;font-weight:600}.modal-section{margin-top:0;padding-top:1rem;border-top:1px solid var(--color-border)}.modal-section-toggle{display:flex;align-items:center;gap:.75rem;width:100%;padding:.7rem 1rem;margin:0;border:none;border-radius:var(--radius);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:background .5s ease,color .5s ease}.modal-section-toggle:hover{background:var(--color-surface-hover)}.modal-section-toggle:focus{outline:none}.modal-section-toggle:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.modal-section-content{overflow:hidden;display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.modal-section-content.open{grid-template-rows:1fr}.modal-section-inner{display:flex;flex-direction:column;gap:1rem;overflow:hidden;padding-top:0;transition:padding-top .3s ease}.modal-section-content.open .modal-section-inner{padding-top:.75rem}.modal-section-inner .danger-zone{margin-top:0}.modal-section>h3{margin-bottom:1rem}.modal-section:first-child{margin-top:0;padding-top:0;border-top:none}.full-width{grid-column:1 / -1}.form-row{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.form-row .field{flex:1;min-width:220px}.amount-input-row{display:flex;align-items:stretch;gap:.5rem}.amount-input{flex:1}.amount-input .field label{display:none}.percent-input{width:100%}.amount-mode-toggle{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;width:3.5rem;height:2rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-card);cursor:pointer;overflow:hidden}.amount-mode-toggle:focus{outline:none}.amount-mode-toggle:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.amount-mode-toggle .thumb{position:absolute;left:2px;display:flex;align-items:center;justify-content:center;width:calc(50% - 2px);height:calc(100% - 4px);background:var(--color-primary);border-radius:999px;color:#fff;font-size:large;transition:transform .2s ease}.amount-mode-toggle.percent .thumb{transform:translate(100%)}.danger-zone{margin-top:1.5rem;padding:1rem;border:1px solid color-mix(in srgb,var(--color-error) 35%,var(--color-border));border-radius:var(--radius)}.danger-zone h4{margin:0 0 .75rem;color:var(--color-error);font-size:.95rem}.danger-checkbox{display:flex;align-items:center;gap:.5rem;font-weight:500;color:var(--color-error)}.danger-zone small{display:block;margin-top:.5rem;color:var(--color-muted)}.danger-checkbox.disabled{opacity:.65;cursor:not-allowed}.danger-checkbox.disabled input{cursor:not-allowed}.danger-note{margin-top:.5rem;color:var(--color-muted);font-size:.85rem}.paycheck-plan-suggestion-note{margin:var(--spacing-sm) 0 0;color:var(--color-muted);font-size:.85rem}.paycheck-allocation-list{max-height:50vh;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;padding-right:.5rem}.modal-account{background:var(--color-bg);margin-bottom:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md)}.paycheck-allocation-account{background:transparent;margin-bottom:0;border:0;border-radius:0;padding:0}.paycheck-allocation-account h3{margin-top:0}.paycheck-allocation-after{color:var(--color-success);font-weight:600}.paycheck-allocation-after:before{content:" →";color:var(--color-muted);font-weight:400}.paycheck-allocation-row-allocated{background:var(--color-success-subtle)}.paycheck-allocation-add-control{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;min-width:0}.paycheck-allocation-add-control .field{flex:1 1 auto;width:auto;min-width:0;margin:0}.paycheck-allocation-percent{flex:0 0 auto;min-width:3.5rem;color:var(--color-muted);font-size:.85rem;font-variant-numeric:tabular-nums;text-align:right}@media(min-width:601px){.adjustment-account{padding-bottom:var(--spacing-sm)}.adjustment-fund-table tbody tr:last-child td{border-bottom:0!important}.paycheck-allocation-table th:first-child,.paycheck-allocation-table td:first-child{padding-left:var(--spacing-xs)}.paycheck-allocation-table th:last-child,.paycheck-allocation-table td:last-child{padding-right:var(--spacing-xs)}.paycheck-allocation-table td[data-label=Add] input,.adjustment-fund-table .adjustment-input-cell input{text-align:right}.adjustment-input-cell .field{width:min(100%,8.5rem)}}.adjustment-account-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.adjustment-account-left{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);font-size:.9rem}.adjustment-account-left span{color:var(--color-muted)}.adjustment-account-left strong{font-variant-numeric:tabular-nums}.adjustment-account-status{align-items:center;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.adjustment-account-status-copy{display:flex;flex:1 1 16rem;flex-direction:column;gap:.2rem}.adjustment-account-status-copy span,.adjustment-account-status-summary span{color:var(--color-muted)}.adjustment-account-status-summary{display:flex;align-items:center;gap:var(--spacing-sm);white-space:nowrap}.adjustment-suggestion-utilities,.reconcile-account-picker{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.adjustment-utility-button{padding:.4rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);font:inherit;font-size:.85rem;cursor:pointer}.adjustment-utility-button:hover{border-color:var(--color-muted);background:var(--color-surface-subtle)}.adjustment-suggestion-applied{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%}.adjustment-suggestion-applied-label{color:var(--color-muted);font-weight:600}.adjustment-suggestion-summary{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);min-width:0;font-size:.9rem}.adjustment-suggestion-summary span{color:var(--color-muted)}.adjustment-suggestion-summary strong{margin-left:var(--spacing-sm);font-variant-numeric:tabular-nums}.adjustment-even-split-label-mobile{display:none}.reconcile-account-picker{flex-direction:column}.adjustment-fund-table .col-fund{width:48%}.adjustment-fund-table .col-current-after{width:27%}.adjustment-fund-table .col-adjust{width:25%;text-align:right}.adjustment-fund-table{table-layout:fixed;margin-top:var(--spacing-sm)}.adjustment-current-after{text-align:left;white-space:nowrap}.adjustment-input-cell{text-align:right}.adjustment-after{color:var(--color-success);font-weight:600}.adjustment-after:before{content:" →";color:var(--color-muted);font-weight:400}.adjustment-after.is-negative{color:var(--color-error)}.adjustment-input-cell .field{width:min(100%,7.5rem);margin-left:auto}.modal-footer .adjustment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.modal-footer .adjustment-summary .summary-value{overflow:hidden;font-size:1.05rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.adjustment-footer-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);width:100%}.split-transaction-fields{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.split-transaction-header,.split-transaction-actions,.split-transaction-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);flex-wrap:wrap}.split-transaction-header h3,.split-transaction-description{margin:0}.split-transaction-header{flex-wrap:nowrap}.split-transaction-header>.app-button{flex:0 0 auto}.split-transaction-description,.split-amount-input small{color:var(--color-muted);font-size:.85rem}.split-transaction-rows{display:flex;flex-direction:column;gap:var(--spacing-sm)}.split-transaction-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:start;gap:var(--spacing-sm)}.split-amount-input{display:flex;flex-direction:column;gap:.25rem}.split-expression-input-row{display:flex;gap:var(--spacing-sm)}.split-amount-input input,.split-transaction-row select{width:100%;height:2.75rem;padding:.65rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);box-sizing:border-box}.split-expression-input-row input{min-width:0}.split-expression-add,.split-remove-icon{display:none}.split-remove-button{min-height:2.75rem}.split-tax-action{display:flex;align-items:center;gap:.35rem}.split-transaction-summary{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.9rem}.split-transaction-summary.over-assigned{color:var(--color-error)}.field-error{color:var(--color-error)!important}.paycheck-setup-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:var(--spacing-sm)}.paycheck-allocation-actions{min-width:0}.paycheck-allocation-choice-group{display:inline-flex;align-items:center;gap:var(--spacing-sm);max-width:100%}.paycheck-allocation-choice-group .app-button{flex:0 1 auto;min-width:0}.paycheck-allocation-choice-group .cancel-button{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text)}.paycheck-allocation-choice-or{flex:0 0 auto;color:var(--color-muted);font-size:.875rem}.paycheck-setup-summary{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.paycheck-setup-summary span{min-width:0;overflow:hidden;color:var(--color-text);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.paycheck-setup-summary button{flex:0 0 auto;border:0;padding:.35rem .15rem;background:transparent;color:var(--color-primary);font:inherit;font-weight:600;cursor:pointer}.modal-footer .paycheck-allocation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;gap:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.modal-footer .paycheck-allocation-summary .summary-stat{min-width:0}.modal-footer .paycheck-allocation-summary .summary-value{overflow:hidden;font-size:1.05rem;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}.paycheck-left{color:var(--color-info)}.paycheck-footer-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);width:100%}.paycheck-allocation-confirmation-list{display:flex;flex-direction:column;border-top:1px solid var(--color-border)}.paycheck-allocation-confirmation-row{display:flex;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.paycheck-allocation-confirmation-row strong{font-variant-numeric:tabular-nums}.paycheck-allocation-confirmation-note{margin:var(--spacing-md) 0 0;color:var(--color-muted)}@media(max-width:600px){.transaction-save-add-another-desktop{display:none}.transaction-save-add-another-mobile{display:inline}.split-transaction-row{grid-template-columns:minmax(0,1fr) auto}.split-transaction-row select{grid-column:1}.split-remove-button,.split-transaction-assigned{display:none}.split-amount-input{grid-column:1 / -1}.split-remove-icon{display:inline-flex;grid-column:2;grid-row:1;width:2.75rem;height:2.75rem;padding:0;gap:0}.split-remove-icon svg{flex:0 0 1.375rem;width:1.375rem;height:1.375rem;stroke-width:2.25}.split-expression-add{display:inline-flex;width:2.75rem;min-width:2.75rem;height:2.75rem;padding:0;gap:0;justify-content:center}.split-expression-input-row input{flex:1;min-width:0}.paycheck-allocation-table,.paycheck-allocation-table tbody,.paycheck-allocation-table tr,.paycheck-allocation-table td,.adjustment-fund-table,.adjustment-fund-table tbody,.adjustment-fund-table tr,.adjustment-fund-table td{display:block;width:100%}.paycheck-allocation-table thead,.adjustment-fund-table thead{display:none}.paycheck-allocation-table tr,.adjustment-fund-table tr{margin-top:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius)}.modal .funds-table.paycheck-allocation-table tr,.modal .funds-table.adjustment-fund-table tr{margin-top:.35rem;padding:var(--spacing-xs) var(--spacing-sm)}.paycheck-allocation-table td,.adjustment-fund-table td{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:.45rem 0;border:0;text-align:right}.paycheck-allocation-table td:before,.adjustment-fund-table td:before{content:attr(data-label);flex:0 0 42%;color:var(--color-muted);font-size:.8rem;font-weight:600;text-align:left}.paycheck-allocation-table td input,.adjustment-fund-table td input,.adjustment-input-cell .field{width:58%}.modal-account .account-header{align-items:flex-start;flex-direction:column;gap:.35rem}.modal-account .account-header h3{margin-bottom:0}.modal .adjustment-summary-grid{grid-template-columns:1fr;gap:0;margin-bottom:var(--spacing-md)}.modal .adjustment-summary-item{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:.55rem 0;border-top:1px solid var(--color-border)}.modal .adjustment-summary-item>div{min-width:0;text-align:right}.modal .adjustment-bank-balance .field{flex:0 0 50%;width:50%}.modal .adjustment-bank-balance input{width:100%;text-align:right}.modal .adjustment-bank-balance label{flex:1;white-space:nowrap}.modal .modal-account{padding:var(--spacing-sm);padding-top:var(--spacing-xs)}.adjustment-fund-table td[data-label=Fund]{display:block;text-align:left}.adjustment-fund-table td[data-label=Fund],.adjustment-fund-table td[data-label=Balance]{border-bottom:1px solid var(--color-border)!important}.adjustment-fund-table td[data-label=Fund]:before{display:none}.adjustment-fund-table td.adjustment-input-cell:before{flex-basis:35%}.adjustment-fund-table .adjustment-input-cell .field{flex:0 1 58%;width:min(58%,8rem);margin-left:auto}.adjustment-fund-table .adjustment-input-cell input{width:100%;text-align:right}.adjustment-fund-table td.adjustment-current-after{display:block;text-align:right}.adjustment-fund-table td.adjustment-current-after:before{float:left}.modal-footer .adjustment-summary{gap:var(--spacing-xs)}.modal-footer .adjustment-summary .summary-value{font-size:.9rem}.adjustment-footer-actions{gap:var(--spacing-xs)}.adjustment-footer-actions .app-button{flex:1}.adjustment-suggestion-actions{width:100%}.adjustment-suggestion-actions .app-button{flex:1 1 0;justify-content:center;min-width:0;padding-right:.65rem;padding-left:.65rem}.adjustment-suggestion-applied{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center}.adjustment-suggestion-applied-label{white-space:nowrap}.adjustment-change-suggestion-desktop{display:none}.adjustment-change-suggestion-mobile{display:inline}.adjustment-suggestion-summary{justify-content:space-between}.adjustment-suggestion-summary strong{margin-left:0}.adjustment-distribution-suggestions{grid-template-columns:1fr;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.adjustment-suggestion-utilities{width:100%}.adjustment-even-split-label-desktop{display:none}.adjustment-even-split-label-mobile{display:inline}.modal .paycheck-allocation-account{padding:0}.adjustment-fund-table td,.paycheck-allocation-table td{border-bottom:0!important}.paycheck-allocation-table td.paycheck-allocation-fund-cell,.paycheck-allocation-table td[data-label=Balance]{border-bottom:1px solid var(--color-border)!important}.paycheck-allocation-table tr.paycheck-allocation-row-allocated{border-color:var(--color-success)}.paycheck-allocation-table td.paycheck-allocation-fund-cell{display:block;text-align:left}.paycheck-allocation-table td.paycheck-allocation-fund-cell:before{display:none}.paycheck-allocation-table td[data-label=Add]:before{flex-basis:20%}.paycheck-allocation-table td[data-label=Add] .paycheck-allocation-add-control{flex:1 1 auto;width:auto;min-width:0;gap:.2rem}.paycheck-allocation-table td[data-label=Add] .paycheck-allocation-add-control .field{flex:1 1 auto;width:auto;min-width:0}.paycheck-allocation-table td[data-label=Add] .paycheck-allocation-percent{min-width:3rem}.paycheck-allocation-table td[data-label=Add] input{width:100%;text-align:right}.paycheck-allocation-table tr.paycheck-allocation-row-allocated .paycheck-allocation-current{display:none}.paycheck-allocation-after:before{content:none}.paycheck-setup-fields{grid-template-columns:minmax(0,1fr);gap:var(--spacing-xs)}.paycheck-allocation-table td[data-label=Balance],.paycheck-allocation-table td[data-label=Add]{box-sizing:border-box;min-height:1.5rem}.paycheck-allocation-table td[data-label=Add] input{padding-block:.25rem;font:inherit;font-variant-numeric:tabular-nums}.paycheck-allocation-actions{width:100%}.paycheck-allocation-choice-group{display:flex;width:100%;gap:var(--spacing-xs)}.paycheck-allocation-choice-group .app-button{flex:1 1 0;justify-content:center;padding-right:.65rem;padding-left:.65rem}.modal-footer .paycheck-allocation-summary{gap:var(--spacing-xs)}.modal-footer .paycheck-allocation-summary .summary-value{font-size:.9rem}.paycheck-footer-actions{gap:var(--spacing-xs)}.paycheck-footer-actions .app-button{flex:1}}@media(max-width:640px){.modal-overlay{padding:var(--spacing-sm)}.modal{max-height:calc(100vh - 2rem)}.modal-header,.modal-toolbar,.modal-body{padding:1rem}.modal-footer{gap:var(--spacing-xs);padding:var(--spacing-xs)}.modal-footer-danger,.modal-footer-actions{gap:var(--spacing-xs)}.modal-footer .app-button{padding-right:.65rem;padding-left:.65rem}.form-row{flex-direction:column}.form-row .field{min-width:0}}@media(max-width:390px){.modal-footer:has(.transaction-save-add-another) .modal-footer-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.modal-footer:has(.transaction-save-add-another) .app-button{width:100%;justify-content:center}.modal-footer:has(.transaction-save-add-another) .app-button[type=submit]{grid-column:1 / -1}}.page-help-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.page-help-section+.page-help-section{padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.page-help-section h3,.page-help-section h4,.page-help-section p{margin:0}.page-help-section h3{font-size:1rem}.page-help-section h4{font-size:.95rem}.page-help-section p,.page-help-steps{color:var(--color-text)}.page-help-steps{display:flex;flex-direction:column;gap:var(--spacing-xs);margin:0;padding-left:1.25rem}.page-help-questions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.page-help-questions>div{display:flex;flex-direction:column;gap:.25rem}.page-help-tutorials{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.page-help-tutorial-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.page-help-tutorial-subsection{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.page-help-tutorial-subsection h4{margin:0;color:var(--color-muted);font-size:.85rem}.page-help-tutorial-option{display:flex;align-items:center;width:100%;gap:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);cursor:pointer;font:inherit;text-align:left}.page-help-tutorial-option:hover{background:var(--color-surface-hover)}.page-help-tutorial-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.page-help-tutorial-icon{flex:0 0 auto;color:var(--color-primary)}.page-help-tutorial-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:.15rem}.page-help-tutorial-copy small{color:var(--color-text);font-size:.85rem;line-height:1.35}.page-help-tutorial-title{display:flex;align-items:center;flex-wrap:wrap;gap:var(--spacing-xs)}.page-help-tutorial-copy .page-help-tutorial-badge{width:fit-content;padding:.12rem .45rem;border-radius:999px;background:var(--color-info-subtle);color:var(--color-primary);font-size:.72rem;font-weight:700;line-height:1.2}.page-help-tutorial-start{display:inline-flex;align-items:center;flex:0 0 auto;color:var(--color-text);font-size:.85rem;font-weight:600}.page-help-tutorial-start svg{width:1rem;height:1rem}.page-help-contact-support a{align-self:flex-start;color:var(--color-primary);font-weight:600}.page-help-learning-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.page-help-learning-heading>div{display:flex;flex-direction:column;gap:var(--spacing-xs)}.page-help-learning-browse{flex:0 0 auto}.page-help-learning-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.page-help-support-action{margin-right:auto}.page-help-video-player{aspect-ratio:16 / 9;width:100%;background:#000}.page-help-video-player iframe{display:block;width:100%;height:100%;border:0}.page-help-video-description,.page-help-video-disclosure{margin:var(--spacing-md) 0 0;line-height:1.5}.page-help-video-disclosure{margin-top:var(--spacing-xs);color:var(--color-muted);font-size:.85rem}@media(max-width:600px){.page-help-learning-heading{flex-direction:column}}.rdp-root{--rdp-accent-color: blue;--rdp-accent-background-color: #f0f0ff;--rdp-day-height: 44px;--rdp-day-width: 44px;--rdp-day_button-border-radius: 100%;--rdp-day_button-border: 2px solid transparent;--rdp-day_button-height: 42px;--rdp-day_button-width: 42px;--rdp-selected-border: 2px solid var(--rdp-accent-color);--rdp-disabled-opacity: .5;--rdp-outside-opacity: .75;--rdp-today-color: var(--rdp-accent-color);--rdp-dropdown-gap: .5rem;--rdp-months-gap: 2rem;--rdp-nav_button-disabled-opacity: .5;--rdp-nav_button-height: 2.25rem;--rdp-nav_button-width: 2.25rem;--rdp-nav-height: 2.75rem;--rdp-range_middle-background-color: var(--rdp-accent-background-color);--rdp-range_middle-color: inherit;--rdp-range_start-color: white;--rdp-range_start-background: linear-gradient( var(--rdp-gradient-direction), transparent 50%, var(--rdp-range_middle-background-color) 50% );--rdp-range_start-date-background-color: var(--rdp-accent-color);--rdp-range_end-background: linear-gradient( var(--rdp-gradient-direction), var(--rdp-range_middle-background-color) 50%, transparent 50% );--rdp-range_end-color: white;--rdp-range_end-date-background-color: var(--rdp-accent-color);--rdp-week_number-border-radius: 100%;--rdp-week_number-border: 2px solid transparent;--rdp-week_number-height: var(--rdp-day-height);--rdp-week_number-opacity: .75;--rdp-week_number-width: var(--rdp-day-width);--rdp-weeknumber-text-align: center;--rdp-weekday-opacity: .75;--rdp-weekday-padding: .5rem 0rem;--rdp-weekday-text-align: center;--rdp-gradient-direction: 90deg;--rdp-animation_duration: .3s;--rdp-animation_timing: cubic-bezier(.4, 0, .2, 1)}.rdp-root[dir=rtl]{--rdp-gradient-direction: -90deg}.rdp-root[data-broadcast-calendar=true]{--rdp-outside-opacity: unset}.rdp-root{position:relative;box-sizing:border-box}.rdp-root *{box-sizing:border-box}.rdp-day{width:var(--rdp-day-width);height:var(--rdp-day-height);text-align:center}.rdp-day_button{background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;justify-content:center;align-items:center;display:flex;width:var(--rdp-day_button-width);height:var(--rdp-day_button-height);border:var(--rdp-day_button-border);border-radius:var(--rdp-day_button-border-radius)}.rdp-day_button:disabled{cursor:revert}.rdp-caption_label{z-index:1;position:relative;display:inline-flex;align-items:center;white-space:nowrap;border:0}.rdp-dropdown:focus-visible~.rdp-caption_label{outline:5px auto Highlight;outline:5px auto -webkit-focus-ring-color}.rdp-button_next,.rdp-button_previous{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-moz-appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;position:relative;appearance:none;width:var(--rdp-nav_button-width);height:var(--rdp-nav_button-height)}.rdp-button_next:disabled,.rdp-button_next[aria-disabled=true],.rdp-button_previous:disabled,.rdp-button_previous[aria-disabled=true]{cursor:revert;opacity:var(--rdp-nav_button-disabled-opacity)}.rdp-chevron{display:inline-block;fill:var(--rdp-accent-color)}.rdp-root[dir=rtl] .rdp-nav .rdp-chevron{transform:rotate(180deg);transform-origin:50%}.rdp-dropdowns{position:relative;display:inline-flex;align-items:center;gap:var(--rdp-dropdown-gap)}.rdp-dropdown{z-index:2;opacity:0;appearance:none;position:absolute;inset-block-start:0;inset-block-end:0;inset-inline-start:0;width:100%;margin:0;padding:0;cursor:inherit;border:none;line-height:inherit}.rdp-dropdown_root{position:relative;display:inline-flex;align-items:center}.rdp-dropdown_root[data-disabled=true] .rdp-chevron{opacity:var(--rdp-disabled-opacity)}.rdp-month_caption{display:flex;align-content:center;height:var(--rdp-nav-height);font-weight:700;font-size:large}.rdp-root[data-nav-layout=around] .rdp-month,.rdp-root[data-nav-layout=after] .rdp-month{position:relative}.rdp-root[data-nav-layout=around] .rdp-month_caption{justify-content:center;margin-inline-start:var(--rdp-nav_button-width);margin-inline-end:var(--rdp-nav_button-width);position:relative}.rdp-root[data-nav-layout=around] .rdp-button_previous{position:absolute;inset-inline-start:0;top:0;height:var(--rdp-nav-height);display:inline-flex}.rdp-root[data-nav-layout=around] .rdp-button_next{position:absolute;inset-inline-end:0;top:0;height:var(--rdp-nav-height);display:inline-flex;justify-content:center}.rdp-months{position:relative;display:flex;flex-wrap:wrap;gap:var(--rdp-months-gap);max-width:fit-content}.rdp-month_grid{border-collapse:collapse}.rdp-nav{position:absolute;inset-block-start:0;inset-inline-end:0;display:flex;align-items:center;height:var(--rdp-nav-height)}.rdp-weekday{opacity:var(--rdp-weekday-opacity);padding:var(--rdp-weekday-padding);font-weight:500;font-size:smaller;text-align:var(--rdp-weekday-text-align);text-transform:var(--rdp-weekday-text-transform)}.rdp-week_number{opacity:var(--rdp-week_number-opacity);font-weight:400;font-size:small;height:var(--rdp-week_number-height);width:var(--rdp-week_number-width);border:var(--rdp-week_number-border);border-radius:var(--rdp-week_number-border-radius);text-align:var(--rdp-weeknumber-text-align)}.rdp-today:not(.rdp-outside){color:var(--rdp-today-color)}.rdp-selected{font-weight:700;font-size:large}.rdp-selected .rdp-day_button{border:var(--rdp-selected-border)}.rdp-outside{opacity:var(--rdp-outside-opacity)}.rdp-disabled:not(.rdp-selected){opacity:var(--rdp-disabled-opacity)}.rdp-hidden{visibility:hidden;color:var(--rdp-range_start-color)}.rdp-range_start{background:var(--rdp-range_start-background)}.rdp-range_start .rdp-day_button{background-color:var(--rdp-range_start-date-background-color);color:var(--rdp-range_start-color)}.rdp-range_middle{background-color:var(--rdp-range_middle-background-color)}.rdp-range_middle .rdp-day_button{border:unset;border-radius:unset;color:var(--rdp-range_middle-color)}.rdp-range_end{background:var(--rdp-range_end-background);color:var(--rdp-range_end-color)}.rdp-range_end .rdp-day_button{color:var(--rdp-range_start-color);background-color:var(--rdp-range_end-date-background-color)}.rdp-range_start.rdp-range_end{background:revert}.rdp-focusable{cursor:pointer}@keyframes rdp-slide_in_left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes rdp-slide_in_right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes rdp-slide_out_left{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes rdp-slide_out_right{0%{transform:translate(0)}to{transform:translate(100%)}}.rdp-weeks_before_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_before_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-weeks_after_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_enter{animation:rdp-slide_in_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_exit{animation:rdp-slide_out_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_before_enter{animation:rdp-slide_in_right var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-root[dir=rtl] .rdp-weeks_after_exit{animation:rdp-slide_out_left var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}@keyframes rdp-fade_in{0%{opacity:0}to{opacity:1}}@keyframes rdp-fade_out{0%{opacity:1}to{opacity:0}}.rdp-caption_after_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_after_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_enter{animation:rdp-fade_in var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.rdp-caption_before_exit{animation:rdp-fade_out var(--rdp-animation_duration) var(--rdp-animation_timing) forwards}.date-input,.date-time-input{cursor:pointer}.date-picker-field{position:relative;width:100%}.date-picker-field .date-input{padding-right:2.75rem}.date-picker-toggle{position:absolute;top:50%;right:.65rem;display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--color-muted);cursor:pointer;transform:translateY(-50%)}.date-picker-toggle:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.date-picker-toggle:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.date-picker-toggle:disabled{cursor:not-allowed;opacity:.6}.date-picker-popover{position:fixed;z-index:1100;width:20rem;max-width:calc(100vw - 1rem);max-height:calc(100vh - 1rem);padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-soft);color:var(--color-text);overflow:auto}.date-picker-popover .rdp-root{width:100%;--rdp-accent-color: var(--color-primary);--rdp-accent-background-color: var(--color-primary-subtle);--rdp-day-height: 2.25rem;--rdp-day-width: 2.25rem;--rdp-day_button-height: 2rem;--rdp-day_button-width: 2rem;--rdp-day_button-border-radius: var(--radius);--rdp-selected-border: 2px solid var(--color-primary);--rdp-today-color: var(--color-primary);--rdp-nav-height: 2.5rem;--rdp-nav_button-height: 2rem;--rdp-nav_button-width: 2rem;--rdp-weekday-opacity: 1}.date-picker-popover .rdp-month_caption{position:relative;justify-content:flex-start;min-width:100%;padding-right:5rem}.date-picker-popover .rdp-dropdowns{gap:.35rem}.date-picker-popover .rdp-chevron{fill:var(--color-text)}.date-picker-popover .rdp-dropdown_root{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle);color:var(--color-text)}.date-picker-popover .rdp-dropdown_root:first-child{width:8rem}.date-picker-popover .rdp-dropdown_root:last-child{width:5rem}.date-picker-popover .rdp-caption_label{flex:1;display:inline-flex;align-items:center;justify-content:space-between;gap:.35rem;min-width:0;padding:.25rem .45rem;font-size:.9rem}.date-picker-popover .rdp-dropdown{background:transparent!important;box-shadow:none}.date-picker-popover .rdp-dropdown:focus-visible~.rdp-caption_label{outline:none}.date-picker-popover .rdp-dropdown_root:focus-within{background:var(--color-surface-hover);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-info) 35%,transparent)}.date-picker-popover .rdp-nav{top:0;right:0;display:flex;align-items:center;gap:.2rem;padding:.15rem;border-radius:var(--radius);background:var(--color-surface-subtle)}.date-picker-popover .rdp-button_previous,.date-picker-popover .rdp-button_next{position:static;width:1.75rem;height:1.75rem;border-radius:var(--radius);background:transparent;color:var(--color-text)}.date-picker-popover .rdp-button_previous:hover:not(:disabled),.date-picker-popover .rdp-button_next:hover:not(:disabled){background:var(--color-surface-hover)}.date-picker-popover .rdp-nav .rdp-chevron{width:1.1rem;height:1.1rem}.date-picker-popover .rdp-day_button:hover:not(:disabled){background:var(--color-surface-hover)}.date-picker-popover .rdp-day_button:focus-visible,.date-picker-popover .rdp-button_next:focus-visible,.date-picker-popover .rdp-button_previous:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.date-picker-popover .rdp-selected .rdp-day_button{background:var(--color-primary);color:var(--color-text-inverse)}.date-picker-popover .rdp-today:not(.rdp-selected) .rdp-day_button{font-weight:700;color:var(--color-primary)}.date-picker-popover .rdp-disabled .rdp-day_button{color:var(--color-muted)}.date-picker-actions{display:flex;justify-content:flex-end;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.date-picker-clear{padding:.35rem .55rem;border:0;border-radius:var(--radius);background:transparent;color:var(--color-primary);font:inherit;font-size:.85rem;cursor:pointer}.date-picker-clear:hover:not(:disabled){background:var(--color-surface-hover)}.date-picker-clear:disabled{cursor:not-allowed;opacity:.55}.date-picker-clear:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.date-input::-webkit-calendar-picker-indicator,.date-time-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:brightness(0)}:root[data-theme=dark] .date-input::-webkit-calendar-picker-indicator,:root[data-theme=dark] .date-time-input::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1)}@media(prefers-color-scheme:dark){:root[data-theme=system] .date-input::-webkit-calendar-picker-indicator,:root[data-theme=system] .date-time-input::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1)}}.checkbox-input .checkbox-input-label{display:inline-flex;align-items:center;gap:var(--spacing-xs);margin:0;color:var(--color-text);cursor:pointer}.checkbox-input .checkbox-input-control{appearance:none;display:grid;place-content:center;width:1.65rem;height:1.65rem;flex:0 0 1.65rem;margin:0;padding:0;border:1px solid var(--color-border);border-radius:calc(var(--radius) / 2);background:var(--color-card);cursor:pointer}.checkbox-input .checkbox-input-control:after{content:"";position:relative;top:-.04rem;left:.04rem;width:.42rem;height:.75rem;border:solid var(--color-text-inverse);border-width:0 .16rem .16rem 0;transform:rotate(45deg) scale(0);transition:transform .1s ease}.checkbox-input .checkbox-input-control:checked{border-color:var(--color-info);background:var(--color-info)}.checkbox-input .checkbox-input-control:checked:after{transform:rotate(45deg) scale(1)}.checkbox-input .checkbox-input-control:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.checkbox-input .checkbox-input-control:disabled,.checkbox-input .checkbox-input-control:disabled+span{color:var(--color-disabled-text);cursor:not-allowed}.checkbox-input .checkbox-input-control:disabled{border-color:var(--color-disabled-bg);background:var(--color-disabled-bg)}.checkbox-input .checkbox-input-description{display:block;margin:var(--spacing-xs) 0 0 calc(1.35rem + var(--spacing-xs));color:var(--color-muted)}.checkbox-input--danger .checkbox-input-label{color:var(--color-error)}.checkbox-input--danger .checkbox-input-control:checked{border-color:var(--color-error);background:var(--color-error)}.toast-container{position:fixed;right:var(--spacing-md);bottom:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);z-index:1000;pointer-events:none}.toast{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);min-width:320px;max-width:420px;padding:var(--spacing-sm);background:var(--color-card);border-left:4px solid;border-radius:var(--radius);box-shadow:var(--shadow-soft);animation:toast-slide-in var(--motion-toast-duration) ease-out;pointer-events:auto}.toast-content{display:flex;align-items:center;gap:.75rem;flex:1}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-message{color:var(--color-text);line-height:1.4}.toast-close{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-muted);cursor:pointer;padding:.25rem;border-radius:var(--radius);transition:background-color .15s,color .15s}.toast-close:hover{background:var(--color-border);color:var(--color-text)}.toast-success{border-color:var(--color-success)}.toast-success .toast-icon{color:var(--color-success)}.toast-error{border-color:var(--color-error)}.toast-error .toast-icon{color:var(--color-error)}.toast-warning{border-color:var(--color-warning)}.toast-warning .toast-icon{color:var(--color-warning)}.toast-info{border-color:var(--color-primary)}.toast-info .toast-icon{color:var(--color-primary)}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.toast-exiting{animation:toast-slide-out var(--motion-exit-duration) ease-in forwards;pointer-events:none}@keyframes toast-slide-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(16px)}}.budget-onboarding-progress-bar{position:sticky;top:74px;z-index:99;flex:0 0 auto;background:var(--color-card)}.budget-onboarding-progress-bar-content{display:flex;align-items:center;justify-content:space-between;width:min(1400px,100%);margin:0 auto;padding:var(--spacing-xs) var(--spacing-lg);gap:var(--spacing-md);box-sizing:border-box}.budget-setup-progress-details{display:flex;min-width:0;align-items:baseline;gap:var(--spacing-sm)}.budget-setup-progress-track{height:.4rem;flex:1 1 12rem;min-width:4rem;overflow:hidden;border-radius:999px;background:var(--color-border)}.budget-setup-progress-track>span{display:block;height:100%;border-radius:inherit;background:var(--color-accent);transition:width .2s ease}.budget-setup-heading{display:flex;align-items:baseline;gap:var(--spacing-sm)}.budget-setup-progress-details>span{overflow:hidden;color:var(--color-muted);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.weekly-check-in-progress-bar{background:var(--color-surface-subtle)}.weekly-check-in-progress-bar .budget-onboarding-progress-bar-content{display:grid;grid-template-columns:minmax(8.5rem,10rem) minmax(0,1fr) auto;grid-template-areas:"title details actions" "title progress actions";align-items:center;column-gap:var(--spacing-md);row-gap:var(--spacing-xs)}.weekly-check-in-progress-title{grid-area:title}.weekly-check-in-progress-details{display:flex;grid-area:details;min-width:0;align-items:baseline;gap:var(--spacing-sm)}.weekly-check-in-progress-question{color:var(--color-text);font-size:.9rem;font-weight:600;white-space:nowrap}.weekly-check-in-progress-description{min-width:0;color:var(--color-muted);font-size:.9rem}.weekly-check-in-progress-actions{display:flex;grid-area:actions;flex:0 0 auto;gap:var(--spacing-sm)}.weekly-check-in-progress-bar .budget-setup-progress-track{grid-area:progress;width:100%}.setup-completion-message{padding-top:var(--spacing-xs)}.setup-completion-message p{position:relative;margin:0}.setup-completion-message p+p{margin-top:var(--spacing-sm)}.setup-completion-celebration{position:fixed;z-index:1001;inset:0;overflow:hidden;pointer-events:none}.setup-completion-celebration span{position:absolute;top:-1.25rem;left:var(--confetti-left);width:.55rem;height:1rem;border-radius:2px;background:var(--color-accent);animation:setup-completion-confetti-burst 1.5s cubic-bezier(.15,.75,.3,1) var(--confetti-delay) both}.setup-completion-celebration span:nth-child(3n){background:var(--color-success)}.setup-completion-celebration span:nth-child(4n){background:var(--color-primary)}.setup-completion-celebration span:nth-child(5n){background:var(--color-text-inverse)}@keyframes setup-completion-confetti-burst{0%{opacity:0;transform:translate3d(0,-1rem,0) rotate(var(--confetti-rotation))}12%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift),108vh,0) rotate(calc(var(--confetti-rotation) + 540deg))}}.budget-onboarding-progress-bar-content .budget-setup-step-explanation{margin-left:0;padding:.2rem .4rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-primary);font-size:.82rem;font-weight:600;touch-action:manipulation}.budget-onboarding-progress-bar-content .budget-setup-step-explanation:hover,.budget-onboarding-progress-bar-content .budget-setup-step-explanation:focus-visible{cursor:pointer;border-color:var(--color-primary);color:var(--color-primary);background:var(--color-surface-hover);text-decoration:underline}.budget-setup-explanation-video{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.budget-setup-explanation-video p{margin:.25rem 0}.budget-setup-explanation-video .app-button{flex:0 0 auto;text-decoration:none}.budget-setup-continue-needed{border:2px solid var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 35%,transparent),0 0 18px color-mix(in srgb,var(--color-accent) 55%,transparent);animation:budget-setup-continue-pulse 1.4s ease-in-out infinite}@keyframes budget-setup-continue-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,var(--color-accent) 18%,transparent),0 0 24px color-mix(in srgb,var(--color-accent) 70%,transparent)}}@media(max-width:600px){.budget-onboarding-progress-bar{top:0}.budget-onboarding-progress-bar-content{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading continue" "status status" "progress progress";align-items:start;row-gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm)}.budget-setup-progress-details{display:contents}.budget-setup-heading{grid-area:heading;align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.budget-setup-progress-details>span{grid-area:status;white-space:normal}.budget-setup-progress-track{grid-area:progress}.budget-onboarding-progress-bar-content .app-button{grid-area:continue;align-self:stretch;flex:0 0 auto;padding-right:.65rem;padding-left:.65rem}.weekly-check-in-progress-actions{grid-area:continue;align-self:stretch}.weekly-check-in-progress-bar .budget-onboarding-progress-bar-content{grid-template-columns:1fr;grid-template-areas:"title" "details" "progress" "actions"}.weekly-check-in-progress-details{flex-direction:column;align-items:flex-start;gap:.15rem}.weekly-check-in-progress-question{white-space:normal}.weekly-check-in-progress-actions{grid-area:actions;width:100%}.weekly-check-in-progress-actions .app-button{flex:1 1 0;min-width:0}}@media(prefers-reduced-motion:reduce){.setup-completion-celebration{display:none}.budget-setup-continue-needed{animation:none}}.transactions-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.page-title{margin:0;font-size:1.75rem;font-weight:600}.transaction-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.transaction-item{padding:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.transaction-main{display:flex;justify-content:space-between;align-items:center}.transaction-meta{font-size:.85rem;color:var(--color-muted);margin-top:.25rem}.amount{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.amount.expense{color:var(--color-error)}.amount.income{color:var(--color-success)}.amount.transfer{color:var(--color-transfer)}.manage-debt-button{background:var(--color-disabled-bg);color:var(--color-text)}.manage-debt-button:hover{background:var(--color-cancel);color:var(--color-text-inverse)}.transactions-header{align-items:center;margin-bottom:var(--spacing-md)}.transactions-page-header h2{margin:0}.transactions-page-header{min-width:0}.transactions-add-menu{position:relative}.transactions-add-menu-content{position:absolute;top:calc(100% + .4rem);right:0;z-index:100;display:flex;flex-direction:column;min-width:11rem;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-soft)}.transactions-add-menu-content button{padding:.65rem .9rem;border:0;background:transparent;color:var(--color-text);font:inherit;font-size:.95rem;text-align:left;cursor:pointer}.transactions-add-menu-content button:hover{background:var(--color-surface-subtle)}.transactions-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.transactions-month-navigation{display:flex;align-items:center;justify-content:space-between;flex:0 0 13.5rem;gap:var(--spacing-xs)}.transactions-month-navigation strong{width:9rem;text-align:center;white-space:nowrap}.transactions-month-navigation button,.transactions-month-navigation button:disabled{opacity:.45;cursor:not-allowed}.transactions-search{display:flex;flex:1 1 18rem;align-items:center;gap:var(--spacing-xs)}.transactions-search{position:relative}.transactions-search>.search-field{flex:1;--search-clear-color: #1a1a1a}.transactions-search input{flex:1;padding:.6rem;border:1px solid var(--color-border);border-radius:var(--radius)}.transactions-date-range-field{min-width:10rem;margin:0}.transactions-date-range-field select{width:100%;padding:.65rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);font:inherit}.transactions-export-button{flex:0 0 auto;white-space:nowrap}.toolbar-right{display:flex;align-items:center;gap:var(--spacing-xs)}.transactions-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-sm);margin-bottom:var(--spacing-md);color:var(--color-text);font-size:.9rem}.transactions-activity-summary-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--spacing-xs)}.transactions-activity-summary-header h3,.transactions-activity-summary-header span{margin:0}.transactions-activity-summary-header span{color:var(--color-muted);font-size:.82rem}.transactions-summary>div{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.transactions-summary span,.transactions-summary strong{display:block}.transactions-summary span{color:color-mix(in srgb,var(--color-text) 72%,var(--color-muted));font-size:.8rem;font-weight:500}.transactions-summary strong{margin-top:.2rem;font-variant-numeric:tabular-nums}.transactions-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md)}.transactions-pagination>div{display:flex;align-items:center;gap:var(--spacing-sm)}.transactions-pagination label{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.transactions-page .styled-table{table-layout:fixed}.transactions-page .styled-table th:nth-child(1){width:10%}.transactions-page .styled-table th:nth-child(2){width:30%}.transactions-page .styled-table th:nth-child(3){width:14%}.transactions-page .styled-table th:nth-child(4){width:14%}.transactions-page .styled-table th:nth-child(5){width:14%}.transactions-page .styled-table th:nth-child(6){width:18%}.transactions-page .simple-business-transactions th:nth-child(1){width:9%}.transactions-page .simple-business-transactions th:nth-child(2){width:22%}.transactions-page .simple-business-transactions th:nth-child(3){width:13%}.transactions-page .simple-business-transactions th:nth-child(4){width:18%}.transactions-page .simple-business-transactions th:nth-child(5){width:12%}.transactions-page .simple-business-transactions th:nth-child(6){width:11%}.transactions-page .simple-business-transactions th:nth-child(7){width:15%}.transactions-page .styled-table th:nth-child(2),.transactions-page .styled-table td:nth-child(2){overflow-wrap:anywhere}.transactions-page .styled-table th:last-child,.transactions-page .styled-table td:last-child{white-space:nowrap}.transactions-page .styled-table th:last-child{text-align:right}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable-header{display:inline-flex;align-items:center;gap:.35rem}.imported-badge{display:inline-block;margin-left:.4rem;padding:.1rem .38rem;border-radius:999px;background:var(--color-border);color:var(--color-muted);font-size:.72rem}.edited-badge{display:inline-block;margin-left:.4rem;padding:.1rem .38rem;border-radius:999px;background:var(--color-info-soft, var(--color-border));color:var(--color-info, var(--color-text));font-size:.72rem;font-weight:700;vertical-align:middle}.transaction-group-row td{vertical-align:middle}.transaction-group-row-expandable{cursor:pointer}.transaction-date-divider td{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-category-band);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.transactions-page .transaction-undo-button{border:2px solid transparent;background:transparent;color:var(--color-cancel)}@media(hover:hover){.transactions-page .transaction-undo-button:not(:disabled):hover{border-color:var(--color-cancel);background:transparent;color:var(--color-cancel)}}.transactions-page .transaction-undo-button:disabled:hover{border-color:transparent;background:transparent;color:var(--color-disabled-text)}.transactions-page .transaction-undo-button:disabled{background:transparent;color:var(--color-disabled-text)}.transaction-expand-button{display:inline-flex;align-items:center;justify-content:center;gap:.2rem;width:1.8rem;height:1.8rem;margin-right:.35rem;padding:.15rem;border:1px solid var(--color-border);border-radius:var(--radius);background:transparent;color:var(--color-muted);font:inherit;font-size:.8rem;cursor:pointer}.transaction-expand-button svg{width:1rem;height:1rem;transition:transform .15s ease}.transaction-expand-button span{display:none}.transaction-action-cell .action-buttons{justify-content:flex-end;flex-wrap:nowrap;gap:.35rem}.transaction-action-cell .app-button{flex:0 0 auto}.transaction-expand-button[aria-expanded=true] svg{transform:rotate(180deg)}.transaction-mobile-meta-label,.transaction-mobile-group-label{display:none}.transaction-description,.transaction-group-detail{display:block;margin-top:.2rem;color:var(--color-muted);font-size:.82rem}.transaction-description-main,.transaction-description-secondary{min-width:0}.transaction-entry-row{background:var(--color-surface-subtle)}.transaction-entry-row td{color:var(--color-muted);font-size:.9rem}.transaction-entry-marker{margin-right:.45rem;color:var(--color-primary)}@media(max-width:600px){.transactions-page>.card{padding:1rem}.transactions-header{align-items:flex-start}.transactions-header .page-primary-action{display:none}.transactions-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--spacing-sm)}.transactions-month-navigation{grid-column:1 / -1;width:100%;flex-basis:auto;justify-content:space-between}.transactions-search{grid-column:1 / -1;width:100%}.transactions-date-range-field{width:100%;min-width:0}.transactions-export-button,.toolbar-right label{display:none}.transactions-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.transactions-page .styled-table,.transactions-page .styled-table tbody,.transactions-page .styled-table tr,.transactions-page .styled-table td{display:block;width:100%;min-width:0}.transactions-page .styled-table thead{display:none}.transactions-page .styled-table tbody{display:flex;flex-direction:column;gap:var(--spacing-sm)}.transactions-page .styled-table .transaction-group-row,.transactions-page .styled-table .transaction-entry-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card)}.transactions-page .styled-table .transaction-group-row td,.transactions-page .styled-table .transaction-entry-row td{padding:0;border:0}.transaction-group-row td:nth-child(1),.transaction-entry-row td:nth-child(1){grid-column:1;color:var(--color-muted);font-size:.8rem}.transaction-group-row td:nth-child(2),.transaction-entry-row td:nth-child(2){grid-column:1;min-width:0}.transaction-group-row td:nth-child(3),.transaction-entry-row td:nth-child(3){grid-column:1;color:var(--color-muted);font-size:.8rem}.transaction-group-row td:nth-child(4),.transaction-entry-row td:nth-child(4){display:none}.transaction-group-row td:nth-child(5),.transaction-entry-row td:nth-child(5){grid-column:2;grid-row:1 / span 2;align-self:center;text-align:right}.transaction-group-row td:nth-child(6),.transaction-entry-row td:nth-child(6){grid-column:1 / -1;padding-top:.35rem;border-top:1px solid var(--color-border)}.transaction-group-row td:nth-child(6) .app-button,.transaction-entry-row td:nth-child(6) .app-button,.transaction-group-row td:nth-child(6)>button,.transaction-entry-row td:nth-child(6)>button{width:100%}.transaction-group-row .transaction-date-cell,.transaction-entry-row .transaction-date-cell{grid-column:1;color:var(--color-muted);font-size:.8rem}.transaction-group-row .transaction-description-cell,.transaction-entry-row .transaction-description-cell{grid-column:1;min-width:0}.transactions-page .styled-table .transaction-group-row .transaction-description-cell{display:contents}.transaction-group-row .transaction-description-main{grid-column:1;grid-row:2;min-width:0}.transaction-group-row .transaction-description-secondary{grid-column:1;grid-row:4;min-width:0}.transaction-group-row .transaction-fund-cell,.transaction-entry-row .transaction-fund-cell{grid-column:1;color:var(--color-muted);font-size:.8rem}.transaction-mobile-meta-label{display:inline;margin-right:.25rem;font-weight:600}.transaction-desktop-group-label{display:none}.transaction-mobile-group-label{display:inline}.transaction-group-row .transaction-account-cell,.transaction-entry-row .transaction-account-cell{display:none}.transaction-group-row td.transaction-amount-cell,.transaction-entry-row td.transaction-amount-cell{display:block;grid-column:2;grid-row:1 / span 2;width:auto;align-self:center;text-align:right}.transaction-group-row td.transaction-action-cell,.transaction-entry-row td.transaction-action-cell{display:block;grid-column:2;grid-row:3;width:auto;padding:0;border:0;justify-self:end;align-self:center}.transaction-group-row td.transaction-action-cell-with-secondary{grid-row:3 / span 2}.transaction-group-row td.transaction-action-cell .app-button,.transaction-entry-row td.transaction-action-cell .app-button,.transaction-group-row td.transaction-action-cell>button,.transaction-entry-row td.transaction-action-cell>button{width:auto}.transaction-action-cell .action-buttons{width:auto}.transaction-action-cell .transaction-undo-button>span{display:none}.transaction-group-row .transaction-fund-cell,.transaction-entry-row .transaction-fund-cell{grid-row:3}.transaction-description{display:block;margin-top:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.transaction-description-secondary>small{margin-top:0}.transaction-group-row .transaction-fund-cell,.transaction-entry-row .transaction-fund-cell,.transaction-description-secondary,.transaction-description-secondary .transaction-group-detail{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-group-row .transaction-expand-button{margin-right:.25rem;padding:.1rem;border:0}.simple-business-transactions .transaction-group-row td:nth-child(5),.simple-business-transactions .transaction-entry-row td:nth-child(5){display:none}.simple-business-transactions .transaction-group-row td:nth-child(6),.simple-business-transactions .transaction-entry-row td:nth-child(6){grid-column:2;grid-row:1 / span 2;align-self:center;text-align:right}.simple-business-transactions .transaction-group-row td:nth-child(7),.simple-business-transactions .transaction-entry-row td:nth-child(7){grid-column:2;grid-row:3;width:auto;padding:0;border:0;justify-self:end;align-self:center}.simple-business-transactions .transaction-group-row td.transaction-action-cell-with-secondary{grid-row:3 / span 2}.simple-business-transactions .transaction-group-row td:nth-child(7) .app-button,.simple-business-transactions .transaction-entry-row td:nth-child(7) .app-button,.simple-business-transactions .transaction-group-row td:nth-child(7)>button,.simple-business-transactions .transaction-entry-row td:nth-child(7)>button{width:auto}.transaction-entry-row{background:var(--color-surface-subtle)!important}.transaction-date-divider{padding:.15rem 0 0;border:0;background:transparent}.transaction-date-divider td{padding:0!important;border:0!important;background:transparent!important}.transactions-pagination{flex-wrap:wrap;gap:var(--spacing-sm)}.transactions-pagination>span,.transactions-pagination>label,.transactions-pagination>div{width:100%;justify-content:space-between}.transactions-pagination button{flex:1 1 0}}.new-year-prompt{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);border-left:3px solid var(--color-primary)}.new-year-prompt-prepare{border-left-color:var(--color-info)}.new-year-prompt h2,.new-year-prompt p{margin:0}.new-year-prompt h2{font-size:1.05rem}.new-year-prompt p{margin-top:.3rem;color:var(--color-muted)}.new-year-prompt-actions{display:flex;flex:0 0 auto;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-xs)}.new-year-prompt-dismiss{padding:0;border:0;background:transparent;color:var(--color-primary);font:inherit;font-weight:600;cursor:pointer}.new-year-prompt-dismiss:hover{text-decoration:underline}.new-year-prompt-dismiss:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}@media(max-width:600px){.new-year-prompt{align-items:stretch;flex-direction:column}.new-year-prompt-actions{display:grid;grid-template-columns:1fr 1fr}.new-year-prompt-dismiss{grid-column:1 / -1;justify-self:start}}.budget-dashboard-page{display:flex;flex-direction:column;gap:var(--spacing-md)}.dashboard-card-header,.dashboard-fund-row,.dashboard-transaction-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.dashboard-chart-mobile,.dashboard-cash-flow-mobile{display:none}.dashboard-add-transaction{display:inline-flex}.dashboard-page-header h1,.dashboard-card h3,.card .dashboard-card-header h3{margin:0}.dashboard-page-header h1{font-size:1.75rem;font-weight:600}.dashboard-card-header p,.dashboard-fund-row span,.dashboard-transaction-row span{color:var(--color-muted)}.dashboard-fund-list{display:grid;gap:var(--spacing-sm)}.dashboard-fund-card{display:flex;flex-direction:column;gap:.45rem;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.dashboard-fund-card-heading,.dashboard-fund-card-details,.dashboard-fund-card-progress{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.dashboard-fund-card-heading>div,.dashboard-fund-card-details{min-width:0}.dashboard-fund-card-heading>div:first-child,.dashboard-fund-card-heading>div:last-child{display:flex;flex-direction:column}.dashboard-fund-card-heading>div:last-child{align-items:flex-end;text-align:right}.dashboard-fund-card-heading span,.dashboard-fund-card-details,.dashboard-fund-card-details small{color:var(--color-muted);font-size:.8rem}.dashboard-fund-card-details small{white-space:nowrap}.dashboard-fund-card-progress{gap:var(--spacing-xs)}.dashboard-fund-card-progress .fund-spending-track{flex:1;margin:0}.dashboard-fund-card-progress>span{min-width:2.75rem;text-align:right;font-size:.8rem;font-weight:700}.dashboard-fund-card-progress .fund-spending-track{height:.45rem;overflow:hidden;border-radius:999px;background:var(--color-border)}.dashboard-fund-card-progress .fund-spending-track>span{display:block;height:100%;border-radius:inherit;background:var(--color-primary)}.dashboard-fund-card-progress .fund-spending-track.is-overspent>span{background:var(--color-error)}.dashboard-pwa-guide{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.dashboard-pwa-guide span,.dashboard-pwa-guide small{color:var(--color-muted)}.dashboard-pwa-guide button{margin-top:.25rem;padding:.45rem .75rem;color:var(--color-primary);background:transparent;border-color:var(--color-primary)}.dashboard-card-header p{margin:.35rem 0 0;color:var(--color-muted)}.dashboard-page-header .page-header-description{font-size:.875rem;font-weight:600;line-height:1.25}.dashboard-snapshot-grid,.dashboard-financial-grid,.dashboard-grid{display:grid;gap:var(--spacing-md)}.dashboard-summary-section,.dashboard-welcome-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.dashboard-welcome-card.collapsed{gap:0}.dashboard-welcome-header{display:flex;flex-direction:column;gap:var(--spacing-md)}.dashboard-welcome-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);width:100%}.dashboard-welcome-actions{display:flex;flex:0 0 auto;gap:var(--spacing-sm)}.dashboard-show-setup-guide{align-self:flex-start}.dashboard-welcome-card p{margin:0}.budget-dashboard-page .dashboard-welcome-card h2,.budget-dashboard-page .dashboard-weekly-check-in h2,.dashboard-card-header h3{margin:0;font-size:1.25rem;font-weight:600}.dashboard-welcome-card p,.dashboard-welcome-step span{color:var(--color-muted)}.dashboard-welcome-card p{margin-top:.35rem}.dashboard-weekly-check-in{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.dashboard-weekly-check-in.due{border-color:var(--color-accent)}.dashboard-weekly-check-in p{margin:0}.dashboard-weekly-check-in p{margin-top:.35rem;color:var(--color-muted)}.dashboard-weekly-check-in-actions{display:flex;flex:0 0 auto;align-items:center;gap:var(--spacing-sm)}.weekly-check-in-step{display:flex;flex-direction:column;gap:var(--spacing-md)}.weekly-check-in-step h3,.weekly-check-in-step p{margin:0}.weekly-check-in-step p,.weekly-check-in-step small{color:var(--color-muted)}.dashboard-optional-tools,.dashboard-optional-tools details,.dashboard-optional-tool-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.dashboard-optional-tools{padding:var(--spacing-md)}.dashboard-optional-tools h3,.dashboard-optional-tools p{margin:0}.dashboard-optional-tools p{margin-top:.25rem}.dashboard-optional-tools summary{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);cursor:pointer;list-style:none}.dashboard-optional-tools summary::-webkit-details-marker{display:none}.dashboard-optional-tools-chevron{flex:0 0 auto;color:var(--color-muted);transition:transform .2s ease}.dashboard-optional-tools details[open] .dashboard-optional-tools-chevron{transform:rotate(180deg)}.dashboard-optional-tool-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-optional-tool-list button,.dashboard-welcome-step{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;text-align:left}.dashboard-optional-tool-list button{display:flex;flex-direction:column;gap:.2rem;padding:var(--spacing-sm)}.dashboard-optional-tool-list button:hover,.dashboard-welcome-step:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.dashboard-optional-tool-list span{color:var(--color-muted);font-size:.85rem}.dashboard-welcome-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-sm)}.dashboard-welcome-step{display:flex;flex-direction:column;gap:.35rem;padding:var(--spacing-sm)}.dashboard-welcome-step-heading{display:flex;align-items:center;gap:.65rem}.dashboard-welcome-step-heading>svg{flex-shrink:0;color:var(--color-muted)}.dashboard-welcome-step.complete .dashboard-welcome-step-heading>svg,.dashboard-welcome-step.complete span{color:var(--color-success)}.dashboard-summary-section .dashboard-summary-heading{margin:0;color:var(--color-muted);font-size:.85rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.dashboard-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-financial-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric{display:flex;flex-direction:column;gap:.35rem;min-width:0;padding:0 var(--spacing-md)}.dashboard-snapshot-grid .dashboard-metric+.dashboard-metric,.dashboard-financial-grid .dashboard-metric+.dashboard-metric{border-left:1px solid var(--color-border)}.dashboard-snapshot-grid .dashboard-metric:first-child,.dashboard-financial-grid .dashboard-metric:first-child{padding-left:0}.dashboard-snapshot-grid .dashboard-metric:last-child,.dashboard-financial-grid .dashboard-metric:last-child{padding-right:0}.dashboard-metric span{color:var(--color-muted);font-size:.9rem}.dashboard-metric strong{font-size:1.35rem;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-net-worth-metric{color:var(--color-text)}.dashboard-positive{color:var(--color-success)}.dashboard-negative{color:var(--color-error)}.dashboard-transfer{color:var(--color-transfer)}.dashboard-link{flex-shrink:0;border:0;padding:.35rem .15rem;background:transparent;color:var(--color-primary);font:inherit;font-weight:600;cursor:pointer}.dashboard-link:hover{color:var(--color-primary-hover);text-decoration:underline}.dashboard-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.dashboard-card-action{padding:.4rem .65rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.dashboard-card-action:hover{background:var(--color-surface-hover);text-decoration:none}.dashboard-learning-center-title{display:flex;align-items:flex-start;gap:var(--spacing-sm);min-width:0}.dashboard-learning-center-title>svg{flex:0 0 auto;width:1.35rem;height:1.35rem;color:var(--color-primary)}.dashboard-learning-center-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-md)}.dashboard-learning-center-list button{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);min-width:0;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.dashboard-learning-center-list button:hover,.dashboard-learning-center-list button:focus-visible{border-color:var(--color-primary);background:var(--color-surface-hover);outline:none}.dashboard-learning-center-list button>span{display:flex;flex-direction:column;gap:.25rem;min-width:0}.dashboard-learning-center-list small{color:var(--color-muted);line-height:1.35}.dashboard-learning-center-list button>svg{flex:0 0 auto;width:1rem;color:var(--color-primary)}.dashboard-fund-list,.dashboard-transaction-list{display:flex;flex-direction:column;min-width:0;margin-top:var(--spacing-sm)}.dashboard-transaction-list{width:100%;max-width:100%}.dashboard-fund-row,.dashboard-transaction-row{min-width:0;padding:.65rem 0;border-top:1px solid var(--color-border)}.dashboard-transaction-row{width:100%;max-width:100%;overflow:hidden}.dashboard-fund-row>div,.dashboard-transaction-row>div{display:flex;flex:1 1 auto;min-width:0;flex-direction:column;gap:.2rem}.dashboard-transaction-row>div{flex:1 1 0;width:0;max-width:100%;overflow:hidden}.dashboard-fund-remaining{align-items:flex-end;text-align:right}.dashboard-fund-row strong{overflow:hidden;text-overflow:ellipsis}.dashboard-transaction-row>div strong{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-transaction-amount{flex:0 0 auto;overflow:visible;white-space:nowrap}.dashboard-empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem;margin-top:var(--spacing-md);padding:var(--spacing-md);border:1px dashed var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.dashboard-empty-state p{margin:0;color:var(--color-muted)}.dashboard-favorite-fund-options{display:flex;flex-direction:column;gap:var(--spacing-xs)}.dashboard-favorite-fund-option{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.dashboard-favorite-fund-option:hover{background:var(--color-surface-hover)}.dashboard-favorite-fund-option>span{display:flex;flex-direction:column;gap:.15rem}.dashboard-favorite-fund-option small{color:var(--color-muted)}.dashboard-favorite-fund-option svg{color:var(--color-muted)}.dashboard-favorite-fund-option.is-favorite svg{fill:currentColor;color:var(--color-accent)}.dashboard-favorite-fund-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dashboard-chart{margin-top:var(--spacing-sm)}@media(max-width:600px){.dashboard-snapshot-grid,.dashboard-financial-grid,.dashboard-welcome-steps,.dashboard-optional-tool-list{grid-template-columns:1fr}.dashboard-card-header{align-items:flex-start;flex-direction:column}.dashboard-chart-desktop,.dashboard-cash-flow-desktop{display:none}.dashboard-chart-mobile,.dashboard-cash-flow-mobile{display:inline-flex}.dashboard-add-transaction{display:none}.dashboard-chart-mobile{display:block}.dashboard-grid{grid-template-columns:1fr;order:1}.dashboard-monthly-summary{order:2}.dashboard-position-summary{order:3}.dashboard-cash-flow-card{order:4}.dashboard-optional-tools{order:6}.dashboard-learning-center{order:5}.dashboard-learning-center-list{grid-template-columns:1fr}.dashboard-summary-section{gap:.85rem;padding:1rem}.dashboard-welcome-card{padding:1rem}.dashboard-weekly-check-in{align-items:flex-start;flex-direction:column}.dashboard-weekly-check-in-actions{width:100%;justify-content:space-between}.dashboard-welcome-header{gap:.5rem}.dashboard-welcome-title-row{flex-direction:column;gap:.25rem}.dashboard-welcome-actions{align-items:flex-start;gap:var(--spacing-sm)}.dashboard-metric{padding:.15rem 0}.dashboard-metric strong{font-size:1.45rem}.dashboard-snapshot-grid .dashboard-metric+.dashboard-metric,.dashboard-financial-grid .dashboard-metric+.dashboard-metric{padding-top:.85rem;padding-left:0;border-top:1px solid var(--color-border);border-left:0}.dashboard-grid .dashboard-card{padding:1rem}.dashboard-grid .dashboard-card-header{align-items:center;flex-direction:row;gap:var(--spacing-sm)}.dashboard-grid .dashboard-fund-list,.dashboard-grid .dashboard-transaction-list{margin-top:var(--spacing-sm)}}.funds-page{display:flex;flex-direction:column;gap:var(--spacing-sm)}.funds-page>.card{padding:var(--spacing-md)}.accounts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-md)}.account-card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:var(--spacing-md)}.account-title{font-size:1.1rem;margin-bottom:var(--spacing-sm);font-weight:600;display:flex;justify-content:space-between}.account-summary-toggle{position:relative;display:flex;align-items:center;min-width:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.account-summary-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}.account-expand-chevron{flex:0 0 auto;transform:rotate(-90deg);transition:transform .16s ease}.account-expand-chevron.open{transform:rotate(0)}.funds-table{width:100%;border-collapse:collapse}.funds-table th{text-align:left;font-weight:600;font-size:.9rem;color:var(--color-muted);border-bottom:1px solid var(--color-border);padding-bottom:6px}.funds-table td{padding:8px 0;border-bottom:1px solid var(--color-border)}.col-fund{width:40%}.col-current,.col-after,.col-add{width:20%}option.manual-option{border-bottom:1px solid var(--color-border);font-style:italic}.row-allocated{background:color-mix(in srgb,var(--color-accent) 8%,transparent);font-weight:500}.after-positive{color:var(--color-primary);font-weight:600}.alloc-input{width:100%;padding:6px 8px;border-radius:6px;border:1px solid var(--color-border);text-align:right}.summary{margin-top:var(--spacing-md);font-size:.95rem}.error{color:var(--color-error);font-weight:600}.funds-header-actions,.money-section-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border);gap:1rem;flex-wrap:wrap}.money-setup-action,.money-reconcile-action{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text)}.money-setup-action:hover,.money-reconcile-action:hover{background:var(--color-surface-hover)}.funding-check-onboarding .money-reconcile-action{flex:0 0 auto;min-width:10.5rem}.money-allocate-action{margin-right:auto}.money-action-mobile,.credit-cards-action-mobile{display:none}.funds-overview-header>.page-header{align-items:flex-start}.money-add-account-action-mobile,.money-overview-manage-icon{display:none}.fund-creation-options,.fund-creation-expense-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.fund-creation-options button{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.fund-creation-options button:hover,.fund-creation-options button:focus-visible{border-color:var(--color-primary);background:var(--color-surface-hover)}.fund-creation-options span{color:var(--color-muted);font-size:.9rem}.fund-creation-option{flex-direction:row!important;align-items:center!important;gap:var(--spacing-sm)!important}.fund-creation-option>svg{flex:0 0 auto;color:var(--color-primary)}.fund-creation-option>span{display:flex;flex-direction:column;gap:.2rem}.fund-creation-option small{color:var(--color-muted);font-size:.9rem;font-weight:400}.fund-creation-description{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md)}.fund-creation-description p,.fund-creation-flagged-note{margin:0}.field-help{color:var(--color-muted);font-size:.85rem}.fund-creation-selection-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.fund-creation-selection-actions .app-button{flex:0 0 auto}.fund-creation-selection-actions>span,.fund-creation-flagged-note{color:var(--color-muted);font-size:.9rem}.fund-creation-selection-actions span{min-width:0}.fund-creation-flagged-note{padding:var(--spacing-sm);border-left:3px solid var(--color-warning);background:var(--color-surface-subtle)}.fund-creation-flag{display:inline-block;margin-left:var(--spacing-xs);color:var(--color-warning);font-size:.8rem}.fund-creation-category-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--spacing-xs) var(--spacing-sm)}.fund-creation-category-options .checkbox-input-label{font-weight:400}.fund-creation-category-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.fund-creation-category-grid .fund-creation-category-group h3{margin-top:0}.funding-check-section{display:flex;flex-direction:column;gap:var(--spacing-md)}.funding-check-header{align-items:flex-start}.funding-check-header h2{margin:0}.funding-check-header p{margin:var(--spacing-xs) 0 0}.funding-check-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm)}.funding-check-summary>div,.funding-check-buffer{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.funding-check-onboarding{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--color-primary);border-radius:var(--radius);background:var(--color-surface-subtle)}.funding-check-onboarding p{margin:.2rem 0 0;color:var(--color-muted)}.funding-check-summary span,.funding-check-buffer .field label{display:block;color:var(--color-muted);font-size:.8rem}.funding-check-summary strong{display:block;margin-top:.2rem;font-size:1.2rem;font-variant-numeric:tabular-nums}.funding-check-ready,.funding-check-status.ready{color:var(--color-success)}.funding-check-note,.funding-check-empty{margin:0}.funding-check-buffer{display:flex;align-items:end;gap:var(--spacing-sm)}.funding-check-buffer .field{flex:1;margin:0}.funding-check-list{display:flex;flex-direction:column;border-top:1px solid var(--color-border)}.funding-check-fund{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.funding-check-fund h3,.funding-check-fund p{margin:0}.funding-check-fund p{margin-top:.2rem;color:var(--color-muted)}.funding-check-status{flex:0 0 auto;font-size:.82rem;font-weight:700;text-align:right}.funding-check-status.underfunded{color:var(--color-error)}.funding-check-status.overfunded{color:var(--color-success)}.funding-check-status.neutral{color:var(--color-muted)}.funds-filters{display:flex;gap:1.5rem;flex-wrap:wrap}.toggle{display:flex;align-items:center;gap:.5rem;font-size:.95rem;color:var(--color-text)}.account-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.account-header h4{margin:0}.account-remaining{font-weight:600}.adjustment-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.adjustment-summary-item{display:flex;flex-direction:column;gap:.35rem}.adjustment-summary-item label{color:var(--color-muted);font-size:.85rem}.adjustment-bank-balance .field{width:min(100%,9rem)}.adjustment-bill-suggestions{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin:0 0 var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);background:var(--color-surface-subtle)}.adjustment-distribution-suggestions{display:grid;grid-template-columns:minmax(10rem,1fr) auto auto;align-items:center;gap:var(--spacing-sm);margin:0 0 var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.adjustment-bill-suggestions p,.adjustment-distribution-suggestions p{margin:.2rem 0 0;color:var(--color-muted)}.adjustment-suggestion-actions{display:flex;gap:var(--spacing-sm)}.adjustment-suggestion-actions .app-button{justify-content:center;min-width:8.75rem}.adjustment-change-suggestion{flex:0 0 auto;border:0;padding:.35rem .15rem;background:transparent;color:var(--color-primary);font:inherit;font-weight:600;cursor:pointer}.adjustment-change-suggestion:hover{color:var(--color-text);text-decoration:underline}.adjustment-change-suggestion-mobile{display:none}.modal-account h3{margin-bottom:1rem;font-size:1.1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.adjustment-account{background:var(--color-card)}.adjustment-account h3{margin:0;padding:0;border:0}.col-fund{width:30%}.col-current-after{width:20%}.col-current,.col-after{width:15%}.col-add{width:20%}.allocation-summary{flex:1;display:flex;flex-direction:row;gap:2rem;align-items:center}.summary-stat{display:flex;flex-direction:column}.summary-label{font-size:.8rem;color:var(--color-muted)}.summary-value{font-size:1rem;font-weight:700}@media(max-width:600px){.fund-creation-category-options,.fund-creation-category-grid{grid-template-columns:1fr}.fund-creation-selection-actions{align-items:flex-start;flex-direction:column}.funds-overview-header>.page-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--spacing-sm)}.funds-overview-header .page-primary-action{display:none}.money-overview-manage-icon{display:inline-flex;width:2.75rem;height:2.75rem}.funds-table thead{display:none}.funds-table tr{display:block;padding:1rem}.funds-table td{display:flex;justify-content:space-between}}.favorite-fund-button.is-favorite{color:var(--color-accent)}.favorite-fund-button.is-favorite svg{fill:currentColor}.money-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.cash-account-card{width:100%}.account-balance-summary{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:.3rem;color:var(--color-muted);font-size:.88rem}.account-balance-summary b{color:var(--color-text);margin-left:.25rem}.account-balance-mismatch{color:var(--color-error)}.credit-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-xs)}.credit-card-account-reserves{display:flex;flex-wrap:wrap;gap:.35rem var(--spacing-sm);margin-top:var(--spacing-sm);color:var(--color-muted);font-size:.85rem}.credit-card-account-reserves span:first-child{width:100%}.credit-card-selected-reserve,.credit-card-reserve-limit{margin:0 0 var(--spacing-sm)}.fund-cards,.credit-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:var(--spacing-sm)}.credit-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fund-card,.credit-card-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md);background:color-mix(in srgb,var(--color-card) 92%,var(--color-background))}.fund-card-header,.credit-card-card-header,.credit-card-opening-reserve-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm)}.fund-card h3,.credit-card-card h3,.credit-card-opening-reserve h3{margin:0;font-size:1rem}.fund-available-label,.fund-plan-grid span,.credit-card-stats span,.credit-card-covered-total span,.credit-card-payment-summary span{display:block;margin-top:.7rem;color:var(--color-muted);font-size:.78rem}.fund-card>.fund-card-header>div>strong{display:block;margin-top:.1rem;font-size:1.2rem}.fund-plan-grid,.credit-card-stats,.credit-card-payment-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-sm)}.fund-plan-grid strong,.credit-card-stats strong,.credit-card-payment-summary strong{display:block;margin-top:.15rem}.fund-spending-track{height:.42rem;overflow:hidden;margin-top:var(--spacing-md);border-radius:999px;background:var(--color-border)}.fund-spending-track span{display:block;height:100%;border-radius:inherit;background:var(--color-accent)}.fund-negative{color:var(--color-error)}.adjustment-left-positive{color:var(--color-success)}.fund-no-plan{margin:var(--spacing-md) 0 0}.credit-cards-section{margin-top:0}.credit-card-empty{margin:0}.credit-card-card{box-shadow:var(--shadow-soft)}.credit-card-card .credit-card-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:var(--spacing-md)}.credit-card-card .credit-card-actions .app-button{justify-content:center}.credit-card-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-xs)}.credit-card-default-account{margin:var(--spacing-sm) 0 0;color:var(--color-muted);font-size:.82rem}.credit-card-stats{margin-top:var(--spacing-md)}.credit-card-meta{display:flex;justify-content:space-between;gap:var(--spacing-sm);margin-top:var(--spacing-md);color:var(--color-muted);font-size:.82rem}.credit-card-opening-reserve{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-md) 0;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius)}.credit-card-opening-reserve p{margin:.25rem 0 0}.credit-card-add-fund-button{flex:0 0 auto;min-width:7rem}.credit-card-covered-allocation{display:grid;grid-template-columns:minmax(0,1fr) minmax(9rem,.7fr) auto;align-items:end;gap:var(--spacing-sm)}.credit-card-covered-allocation .field{margin:0}.credit-card-covered-total{display:flex;justify-content:space-between;align-items:end;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.credit-card-covered-total span{margin:0}.credit-card-payment-summary{margin-bottom:var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius)}.money-panel{gap:var(--spacing-md)}.money-panel>.section-header{margin-bottom:0}.accounts-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.account-selector{width:min(100%,12rem);margin:0}.accounts-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.cash-account-section{min-width:0}.account-title{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:0}.account-header-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--spacing-md)}.account-header-card{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-left:3px solid var(--color-primary);background:var(--color-surface-subtle);box-shadow:none}.account-header-name{grid-area:name;display:flex;align-items:center;min-width:0;gap:var(--spacing-xs)}.cash-accounts-funds-section .planning-section-header{margin-bottom:0}.account-reorder-actions{justify-content:flex-end;flex-wrap:nowrap}.account-reorder-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm)}.account-balance-action{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.account-balance-action p{margin:var(--spacing-xs) 0 0;font-size:.82rem}.account-header-name>strong{display:block;min-width:0;overflow:hidden;font-size:1.1rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.account-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.25fr);gap:var(--spacing-sm);margin-top:0;cursor:pointer;background:transparent;-webkit-tap-highlight-color:transparent}.account-summary-status{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0}.account-summary-status:empty{display:none}.account-summary-item{min-width:0}.account-summary-item span{display:block;color:var(--color-muted);font-size:.78rem}.account-summary-item strong{display:block;margin-top:.15rem;font-size:1rem;font-variant-numeric:tabular-nums}.account-card-reserve strong{color:var(--color-info)}.account-summary-item .account-card-reserve-label-mobile{display:none}.account-summary-item .account-card-reserve-label-desktop{display:inline}.account-summary-item .account-card-reserve-label .tooltip{display:inline-flex;margin-left:.2rem;vertical-align:text-bottom}.account-overallocated strong{color:var(--color-error)}.fund-table-wrap{margin-top:0;overflow-x:auto}.fund-table thead tr:last-child th{border-top:0;padding-top:.75rem}.fund-table tbody tr:last-child td{border-bottom:0}.account-funds-content{display:grid;grid-template-rows:0fr;visibility:hidden;pointer-events:none;transition:grid-template-rows .3s ease,visibility 0s linear .3s}.account-funds-content.open{grid-template-rows:1fr;visibility:visible;pointer-events:auto;transition:grid-template-rows .3s ease,visibility 0s linear 0s}.account-funds-content-inner{min-height:0;overflow:hidden}@media(prefers-reduced-motion:reduce){.account-expand-chevron,.account-funds-content,.account-funds-content.open{transition:none}}.fund-table{min-width:58rem;table-layout:fixed}.fund-table th:nth-child(1),.fund-table td:nth-child(1){width:5%}.fund-table th:nth-child(2),.fund-table td:nth-child(2){width:24%}.fund-table th:nth-child(3),.fund-table td:nth-child(3){width:13%}.fund-table th:nth-child(4),.fund-table td:nth-child(4){width:26%}.fund-table th:nth-child(5),.fund-table td:nth-child(5){width:12%}.funding-status-bubble{display:inline-block;padding:.2rem .4rem;border-radius:999px;color:var(--color-muted);background:var(--color-surface-subtle);font-size:.75rem;font-weight:700;white-space:nowrap}.fund-name-with-status{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.funding-status-tooltip{margin-left:0}.funding-status-bubble.underfunded{color:var(--color-error)}.funding-status-bubble.overfunded,.funding-status-bubble.ready,.funding-status-bubble.next_bill_after_pay{color:var(--color-success)}.fund-table th{color:var(--color-muted);font-size:.8rem;white-space:nowrap}.fund-table td{vertical-align:middle}.fund-name,.fund-amount{font-variant-numeric:tabular-nums}.fund-name{display:block}.fund-name-button{padding:0;border:0;background:transparent;color:var(--color-text);font:inherit;font-weight:700;text-align:left;cursor:pointer}.fund-name-button:hover,.fund-name-button:focus-visible{color:var(--color-primary);text-decoration:underline}.fund-original-name,.fund-cell-detail{display:block;margin-top:.05rem;color:var(--color-muted);font-size:.78rem}.fund-amount{font-weight:700;white-space:nowrap}.fund-available-positive,.fund-remaining-positive{color:var(--color-success)}.fund-overspent{color:var(--color-error)}.fund-row-overspent{background:color-mix(in srgb,var(--color-error) 6%,transparent)}.fund-progress-cell{display:flex;align-items:center;gap:var(--spacing-xs)}.fund-plan-summary{display:flex;justify-content:space-between;gap:var(--spacing-sm);font-size:.82rem}.fund-plan-summary strong{font-variant-numeric:tabular-nums}.fund-plan-spending .fund-progress-cell{margin-top:.35rem}.fund-progress-cell .fund-spending-track{flex:1;margin-top:0}.fund-progress-percent{min-width:2.75rem;font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.fund-spending-track.is-overspent span{background:var(--color-error)}.fund-mobile-list{display:none}.fund-actions-cell .action-buttons{justify-content:flex-end;flex-wrap:nowrap}.fund-action-account{margin:0;color:var(--color-muted)}.fund-action-summary{display:flex;flex-direction:column;gap:.35rem;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.fund-action-summary>span,.fund-action-summary small,.fund-action-progress>span{color:var(--color-muted);font-size:.85rem}.fund-action-summary>strong{font-size:1.5rem;font-variant-numeric:tabular-nums}.fund-action-progress{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.fund-action-progress .fund-spending-track{flex:1;margin:0}.fund-action-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.account-action-description{margin:0;color:var(--color-muted)}.account-action-buttons{display:flex;flex-direction:column;gap:var(--spacing-sm)}.account-mobile-settings{display:none}.account-desktop-actions{align-self:center}.fund-action-secondary{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text)}.fund-action-secondary:hover{background:var(--color-surface-hover)}@media(max-width:600px){.cash-accounts-funds-section{gap:var(--spacing-sm);padding-top:var(--spacing-sm)}.account-title,.credit-card-card-header,.credit-card-opening-reserve-header{flex-direction:column}.fund-plan-grid,.credit-card-payment-summary,.credit-card-grid{grid-template-columns:1fr}.credit-card-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.credit-card-header-actions .app-button{justify-content:center}.credit-card-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-card-stats>div:last-child:nth-child(3){grid-column:1 / -1}.fund-plan-grid span,.credit-card-stats span,.credit-card-payment-summary span{margin-top:.35rem}.credit-card-covered-allocation{grid-template-columns:1fr}.account-title{gap:var(--spacing-xs)}.account-header-top{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--spacing-sm)}.accounts-list{gap:var(--spacing-xs)}.account-header-card{padding:var(--spacing-xs) var(--spacing-sm)}.account-header-card:not(.is-expanded) .account-available-to-spend{display:none}.account-desktop-actions{display:none}.account-mobile-settings{display:inline-flex;width:2.5rem;height:2.5rem;margin-top:-.35rem}.money-add-account-action-desktop{display:none}.money-add-account-action-mobile{display:inline}.accounts-header-actions{display:grid;grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:var(--spacing-xs)}.accounts-header-actions .account-selector{width:100%}.accounts-header-actions .money-add-account-action{justify-self:stretch}.accounts-header-actions .app-button{width:100%;justify-content:center}.accounts-header-actions>.money-add-account-action:only-child{grid-column:1 / -1}.cash-accounts-funds-section .planning-section-header{display:flex;flex-direction:column;gap:0;margin-bottom:0}.cash-accounts-funds-section .accounts-header-actions{margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.account-summary-item .account-card-reserve-label-desktop{display:none}.account-summary-item .account-card-reserve-label-mobile{display:inline}.funds-page>.card{padding:var(--spacing-sm)}.funding-check-header,.funding-check-fund,.funding-check-buffer,.funding-check-onboarding,.adjustment-bill-suggestions{align-items:stretch;flex-direction:column}.adjustment-distribution-suggestions{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-xs);padding:var(--spacing-sm)}.adjustment-suggestion-summary,.adjustment-suggestion-applied{grid-column:1 / -1}.adjustment-suggestion-actions,.adjustment-suggestion-utilities{display:contents}.adjustment-suggestion-actions .app-button,.adjustment-utility-button{min-width:0;width:100%}.funding-check-onboarding .money-reconcile-action{width:100%}.funding-check-summary{grid-template-columns:1fr}.funding-check-status{text-align:left}.account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.account-summary-status{grid-column:auto}.fund-table-wrap{display:none}.fund-mobile-list{display:flex;flex-direction:column;margin-top:0}.fund-mobile-card{display:grid;grid-template-columns:minmax(0,1fr) 6.75rem auto;grid-template-areas:"main amount chevron" "details details chevron" "progress progress chevron";align-items:center;gap:.35rem;width:100%;padding:var(--spacing-xs) 0;border:0;border-top:1px solid var(--color-border);background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.fund-mobile-card:first-child{border-top:0}.fund-mobile-card:hover{background:var(--color-surface-subtle)}.fund-mobile-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius)}.fund-mobile-card-main,.fund-mobile-card-amount{display:flex;flex-direction:column;min-width:0}.fund-mobile-card-main{grid-area:main;gap:.25rem}.fund-mobile-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;min-width:0}.fund-mobile-card-title>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fund-mobile-card-main>span,.fund-mobile-card-amount>span,.fund-mobile-card-details>span{color:var(--color-muted);font-size:.78rem}.fund-mobile-card-amount{grid-area:amount;align-items:flex-end;margin-right:.1rem;text-align:right}.fund-mobile-card-amount>strong{font-size:1.1rem;font-variant-numeric:tabular-nums;white-space:nowrap}.fund-mobile-card-amount>span{max-width:6.75rem;line-height:1.15}.fund-mobile-card-details{grid-area:details;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--spacing-sm)}.fund-mobile-card-details>small{color:var(--color-muted);font-size:.78rem;white-space:nowrap;text-align:right}.fund-mobile-progress{grid-area:progress;display:flex;align-items:center;gap:var(--spacing-xs);margin-top:.1rem}.fund-mobile-progress .fund-spending-track{flex:1;margin-top:0}.fund-mobile-progress>span{min-width:2.75rem;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:right}.fund-mobile-card>svg{grid-area:chevron;align-self:center;color:var(--color-muted)}.fund-table,.fund-table tbody,.fund-table tr,.fund-table td{display:block;width:100%;min-width:0}.fund-table thead{display:none}.fund-table{margin-top:var(--spacing-sm)}.fund-table tr{margin-top:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius)}.fund-table td{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:.45rem 0;border:0;text-align:right}.fund-table td:before{content:attr(data-label);flex:0 0 42%;color:var(--color-muted);font-size:.8rem;font-weight:600;text-align:left}.fund-table tr{position:relative}.fund-table td.fund-favorite-cell{position:absolute;top:.35rem;left:.35rem;display:block;width:auto;padding:0}.fund-table td.fund-favorite-cell:before{display:none}.fund-table td.fund-name-cell{order:1;align-items:flex-start;padding-left:2.6rem}.fund-table td.fund-name-cell:before{display:none}.fund-table td:nth-child(3){order:5}.fund-table td:nth-child(4){order:6}.fund-table td:nth-child(5){order:7}.fund-table td:nth-child(6){order:3}.fund-table td:nth-child(7){order:2;padding-top:var(--spacing-sm)}.fund-table td:nth-child(7) .fund-amount{font-size:1.15rem}.fund-table td:nth-child(8){order:4}.fund-table td.fund-actions-cell{order:8;padding-top:var(--spacing-sm)}.fund-table td>.fund-cell-value,.fund-table td.fund-name-cell>*{width:58%;text-align:right}.fund-mobile-card-title .funding-status-bubble{color:var(--color-muted)}.fund-mobile-card-title .funding-status-bubble.underfunded{color:var(--color-error)}.fund-mobile-card-title .funding-status-bubble.overfunded,.fund-mobile-card-title .funding-status-bubble.ready,.fund-mobile-card-title .funding-status-bubble.next_bill_after_pay{color:var(--color-success)}.fund-progress-cell,.fund-actions-cell .action-buttons{width:58%}.funds-header-actions{align-items:stretch;gap:var(--spacing-xs);flex-wrap:nowrap}.funds-header-actions .app-button{flex:1 1 0;min-width:0;padding-right:var(--spacing-xs);padding-left:var(--spacing-xs);font-size:.85rem}.money-allocate-action{margin-right:0}.money-action-desktop{display:none}.money-action-mobile{display:inline}.credit-cards-action-desktop{display:none}.credit-cards-action-mobile{display:inline}}.fund-category-row td{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-category-band);color:var(--color-muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.fund-mobile-category{margin:var(--spacing-xs) 0 var(--spacing-xs);color:var(--color-muted);font-size:.82rem;font-weight:700;text-transform:uppercase}.fund-mobile-card-amount small{display:block;margin-top:var(--spacing-xs);color:var(--color-muted);font-size:.72rem;font-weight:400;white-space:nowrap}.password-field{display:flex;flex-direction:column;gap:.45rem}.password-input-control{position:relative;display:flex}.password-input-control input{width:100%;padding-right:3rem}.login-form .password-input-control input,.settings-form-grid .password-input-control input{padding-right:3rem}.password-visibility-toggle,.login-form .password-visibility-toggle{position:absolute;top:50%;right:.3rem;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;transform:translateY(-50%);border:0;border-radius:999px;background:transparent;color:var(--color-muted)}.password-visibility-toggle:hover,.login-form .password-visibility-toggle:hover{background:var(--color-surface-hover);color:var(--color-text)}.password-visibility-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.password-strength-header{display:flex;justify-content:space-between;gap:var(--spacing-sm);color:var(--color-muted);font-size:.8rem}.password-strength-header strong{color:var(--color-text)}.password-strength-track{height:.35rem;overflow:hidden;border-radius:999px;background:var(--color-border)}.password-strength-fill{display:block;height:100%;border-radius:inherit;background:var(--color-error);transition:width .15s ease,background .15s ease}.password-strength-0{width:0}.password-strength-1{width:25%;background:var(--color-warning)}.password-strength-2{width:50%;background:var(--color-warning)}.password-strength-3{width:75%;background:var(--color-info)}.password-strength-4{width:100%;background:var(--color-success)}.password-strength p{margin:0;color:var(--color-muted);font-size:.8rem;line-height:1.35}.login-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 60px);padding:var(--spacing-lg)}.login-card{background:var(--color-card);padding:var(--spacing-lg);width:100%;max-width:480px;border-radius:var(--radius);box-shadow:var(--shadow-soft)}.auth-intro{text-align:center}.auth-eyebrow{margin:0 0 .5rem;color:var(--color-info);font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.login-title{margin:0;font-size:1.7rem;font-weight:600}.auth-description{margin:.65rem 0 0;color:var(--color-muted);line-height:1.5}.auth-provider-options{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);width:100%;margin-top:var(--spacing-md)}.auth-google-button{width:min(400px,100%);max-width:100%}.auth-google-button>div,.auth-google-button iframe{width:100%!important;max-width:100%!important}.auth-email-button,.auth-method-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);width:360px;max-width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:transparent;color:var(--color-text);font-size:1rem;font-weight:500;cursor:pointer}.auth-email-button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-surface-subtle)}.auth-method-disclosure{width:auto;padding:.35rem .5rem;border-color:transparent;color:var(--color-info);font-size:.9rem;font-weight:600}.auth-method-disclosure:hover:not(:disabled){border-color:transparent;background:transparent;color:var(--color-primary)}.auth-email-button:disabled,.auth-provider-disabled{cursor:not-allowed;opacity:.55}.auth-provider-disabled{pointer-events:none}.auth-email-form{margin-top:var(--spacing-md)}.auth-method-link{width:auto;align-self:center;padding:0;border:0;color:var(--color-info);font-size:.9rem;font-weight:600}.auth-method-link:hover{color:var(--color-primary)}.auth-legal-consent{margin-top:var(--spacing-md)}.auth-divider{display:flex;align-items:center;gap:var(--spacing-sm);width:min(400px,100%);margin:var(--spacing-xs) 0;color:var(--color-muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.auth-divider:before,.auth-divider:after{flex:1;height:1px;background:var(--color-border);content:""}.auth-divider span{padding:0 .25rem;background:var(--color-card)}.login-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.login-form input{padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:1rem;background:var(--color-card);color:var(--color-text)}.login-form input:focus{outline:none;border-color:var(--color-primary)}.login-form button{padding:.75rem;background:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius);font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s ease}.login-form button:hover{background:var(--color-primary-hover)}.error-text{color:var(--color-error);font-size:.9rem;text-align:center}.auth-link{margin-top:1rem;text-align:center}.auth-message{margin:0;color:var(--color-muted);line-height:1.5;text-align:center}.auth-link-compact{margin-top:0}.auth-link a{font-weight:600;color:var(--color-info)}.auth-link a:hover{color:var(--color-primary)}@media(max-width:480px){.login-container{align-items:flex-start;padding:var(--spacing-md)}.login-card{padding:var(--spacing-md)}.login-title{font-size:1.45rem}}.announcements-container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg)}.announcement-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin-top:var(--spacing-sm);padding:.75rem var(--spacing-sm);background:var(--color-card);border:1px solid var(--color-border);border-left:3px solid var(--color-info);border-radius:var(--radius);box-shadow:var(--shadow-soft);animation:announcement-banner-in var(--motion-announcement-duration) ease-out}.announcement-banner-exiting{pointer-events:none;animation:announcement-banner-out var(--motion-exit-duration) ease-in forwards}@keyframes announcement-banner-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes announcement-banner-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}.announcement-banner-content,.announcement-banner-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.announcement-banner-content{min-width:0}.announcement-banner-icon{flex-shrink:0;color:var(--color-info)}.announcement-banner h2,.announcement-banner p{margin:0}.announcement-banner h2{font-size:.95rem}.announcement-banner p{margin-top:.2rem;line-height:1.4}.announcement-banner-action,.announcement-banner-close{border:none;border-radius:var(--radius);cursor:pointer;font:inherit}.announcement-banner-action{padding:.4rem .7rem;background:var(--color-primary);color:var(--color-text-inverse);white-space:nowrap}.announcement-banner-close{display:inline-flex;align-items:center;justify-content:center;padding:.25rem;background:transparent;color:var(--color-muted)}.announcement-banner-action:hover{filter:brightness(.9)}.announcement-banner-close:hover{background:var(--color-border);color:var(--color-text)}.account-notice-warning{border-left-color:var(--color-warning)}.account-notice-error{border-left-color:var(--color-error)}@media(max-width:600px){.announcements-container{padding:0 var(--spacing-sm)}.announcement-banner,.announcement-banner-actions{align-items:flex-start}}.tutorial-layer{position:fixed;inset:0;z-index:1000;pointer-events:auto}.tutorial-layer-interactive{pointer-events:none}.tutorial-interaction-blocker{position:fixed;pointer-events:auto}.tutorial-layer:before{content:"";position:absolute;inset:0;background:transparent}.tutorial-spotlight{position:fixed;border:3px solid var(--color-accent);border-radius:calc(var(--radius) + 4px);box-shadow:0 0 0 9999px #0a141e8f;animation:tutorial-pulse 1.5s ease-in-out infinite;pointer-events:none}.tutorial-spotlight-nonblocking{box-shadow:none}.tutorial-card{position:fixed;right:max(var(--spacing-lg),env(safe-area-inset-right));bottom:max(var(--spacing-lg),env(safe-area-inset-bottom));width:min(25rem,calc(100vw - 2 * var(--spacing-md)));padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-lg);pointer-events:auto}.tutorial-card h2,.tutorial-card p{margin:0}.tutorial-card h2{margin-top:var(--spacing-xs);font-size:1.2rem}.tutorial-card>p:not(.tutorial-progress){margin-top:var(--spacing-sm);color:var(--color-muted);line-height:1.5}.tutorial-video-action{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.tutorial-video-action>svg{flex:0 0 1.2rem;width:1.2rem;color:var(--color-primary)}.tutorial-video-link{min-width:0;padding:.25rem 0;text-align:left}.tutorial-video-player{width:100%;aspect-ratio:16 / 9;background:#000}.tutorial-video-player iframe{display:block;width:100%;height:100%;border:0}.tutorial-video-description,.tutorial-video-disclosure{margin:var(--spacing-sm) 0 0;line-height:1.5}.tutorial-video-description{color:var(--color-text)}.tutorial-video-disclosure{color:var(--color-muted);font-size:.85rem}.tutorial-progress{color:var(--color-accent);font-size:.85rem;font-weight:700}.tutorial-action-needed{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);color:var(--color-accent);font-size:.85rem;font-weight:700}.tutorial-actions{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.tutorial-actions button{min-height:2.5rem}@keyframes tutorial-pulse{50%{border-color:var(--color-success);transform:scale(1.01)}}@media(min-width:601px)and (max-height:800px){.tutorial-card{width:min(21rem,calc(100vw - 2 * var(--spacing-md)));max-height:calc(100vh - 2 * var(--spacing-md));padding:var(--spacing-sm);overflow-y:auto}.tutorial-card h2{font-size:1.05rem}.tutorial-card>p:not(.tutorial-progress){margin-top:var(--spacing-xs);line-height:1.35}.tutorial-actions{margin-top:var(--spacing-sm)}.tutorial-actions button{min-height:2.25rem}.tutorial-action-needed{top:var(--spacing-sm);right:var(--spacing-sm)}}@media(max-width:600px){.tutorial-card{right:var(--spacing-sm);bottom:max(var(--spacing-sm),env(safe-area-inset-bottom));left:var(--spacing-sm);width:auto;padding:var(--spacing-sm)}.tutorial-card-top{top:max(var(--spacing-sm),env(safe-area-inset-top));bottom:auto}.tutorial-card>p:not(.tutorial-progress){margin-top:var(--spacing-xs)}.tutorial-action-needed{top:var(--spacing-sm);right:var(--spacing-sm)}.tutorial-actions{grid-template-columns:1fr auto auto;margin-top:var(--spacing-md)}.tutorial-actions>span{display:none}}.app-root{min-height:100vh;display:flex;flex-direction:column}.app-root.budget-setup-root>.desktop-navbar{display:none}.app-content{flex:1;padding:var(--spacing-lg)}.content-container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--spacing-lg);box-sizing:border-box}@media(max-width:900px){.content-container{padding:0 var(--spacing-sm)}}@media(max-width:600px){.app-content{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}}@media(max-width:600px){.content-container{padding:0}.app-content{padding:.75rem .75rem calc(4.5rem + var(--spacing-xs) + env(safe-area-inset-bottom))}}.admin-layout{display:grid;grid-template-columns:minmax(20rem,22rem) minmax(0,1fr);gap:var(--spacing-lg);align-items:start;flex:1;padding:var(--spacing-lg)}.admin-sidebar{position:sticky;top:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;padding:var(--spacing-md)}.admin-sidebar-heading h2,.admin-sidebar-heading p{margin:0}.admin-sidebar-heading h2{margin-top:.25rem;font-size:1.25rem}.admin-sidebar-heading p{margin-top:.5rem;color:var(--color-muted);font-size:.9rem;line-height:1.45}.admin-sidebar-eyebrow{color:var(--color-primary);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-nav{display:flex;flex-direction:column;gap:.35rem}.admin-nav-link,.admin-back-link{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.7rem .75rem;border-radius:var(--radius);color:var(--color-text);font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.admin-nav-link:hover,.admin-back-link:hover{background:var(--color-surface-hover)}.admin-nav-link.active{background:var(--color-primary);box-shadow:var(--shadow-soft);color:var(--color-text-inverse)}.admin-nav-link svg,.admin-back-link svg{flex:0 0 1.25rem;width:1.25rem;height:1.25rem}.admin-sidebar-footer{margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.admin-content{display:flex;flex-direction:column;gap:var(--spacing-lg);min-width:0}@media(max-width:900px){.admin-layout{grid-template-columns:1fr;padding:var(--spacing-md)}.admin-sidebar{position:static}.admin-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.admin-nav-link{justify-content:center}.admin-sidebar-footer{margin-top:0}}@media(max-width:600px){.admin-layout{padding:var(--spacing-sm)}.admin-nav{grid-template-columns:1fr}.admin-nav-link{justify-content:flex-start}}.settings-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.settings-card{background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:var(--spacing-lg)}.settings-card h3{margin:0 0 var(--spacing-md)}.settings-card h4{margin:0 0 var(--spacing-sm);font-size:1rem}.settings-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-sm)}.settings-form-grid input,.settings-form-grid select{padding:.65rem .8rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text)}.settings-actions{display:flex;justify-content:flex-end;margin-top:var(--spacing-md)}.settings-field-action-row{display:flex;align-items:flex-end;gap:var(--spacing-md)}.settings-field-action-row>.settings-form-grid{flex:1;min-width:0}.settings-inline-actions{flex:0 0 auto;margin-top:0}.settings-card-action-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.settings-card-action-row p{flex:1;min-width:0;margin:0}.settings-card-action-row>button{flex:0 0 auto}.settings-form-error{margin:var(--spacing-sm) 0 0;color:var(--color-error);font-size:.85rem}.settings-danger-zone{border:1px solid color-mix(in srgb,var(--color-error) 35%,var(--color-border))}.settings-danger-zone h3{color:var(--color-error)}.settings-danger-action{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.settings-danger-action h4,.settings-danger-action p{margin:0}.settings-danger-action p{color:var(--color-muted);margin-top:.35rem}.settings-billing h4,.settings-billing p{margin:0}.support-page .page-header{margin-bottom:0}.support-request-form>.field{margin-top:var(--spacing-sm)}.support-intro,.support-muted,.support-thread-header p,.support-closed-notice{color:var(--color-muted);line-height:1.5}.support-history-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.support-history-layout{display:grid;grid-template-columns:minmax(15rem,.85fr) minmax(0,1.5fr);gap:var(--spacing-md);min-height:24rem}.support-ticket-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:38rem;overflow-y:auto}.support-ticket-list-item{display:flex;flex-direction:column;gap:.35rem;width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);cursor:pointer;font:inherit;text-align:left}.support-ticket-list-item:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.support-ticket-list-item.selected,.support-ticket-list-item:focus,.support-ticket-list-item:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);outline:none}.support-ticket-list-heading{display:flex;align-items:flex-start;justify-content:space-between;min-width:0;gap:var(--spacing-xs)}.support-ticket-list-heading>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.support-ticket-list-item small{color:var(--color-muted)}.support-thread{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;padding-left:var(--spacing-md);border-left:1px solid var(--color-border)}.support-thread-header h4,.support-thread-header p{margin:0}.support-thread-header p{margin-top:.25rem}.support-status{display:inline-flex;flex:0 0 auto;width:fit-content;padding:.15rem .45rem;border-radius:999px;font-size:.75rem;font-weight:700}.support-status-waiting_on_support{background:var(--color-warning-subtle);color:var(--color-status-warning)}.support-status-waiting_on_customer{background:var(--color-info-subtle);color:var(--color-info)}.support-status-closed{background:var(--color-surface-hover);color:var(--color-muted)}.support-message-list{display:flex;flex-direction:column;gap:var(--spacing-xs);min-height:12rem;max-height:27rem;overflow-y:auto;padding:var(--spacing-xs);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.support-message{display:flex;flex-direction:column;max-width:85%;gap:.25rem;padding:var(--spacing-sm);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-soft)}.support-message.from-user{align-self:flex-end;background:var(--color-info-subtle)}.support-message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.support-message small{color:var(--color-muted)}.support-reply-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.support-reply-form textarea,.support-request-form textarea{min-height:8rem;resize:vertical}.support-closed-notice{margin:0;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.settings-billing p{color:var(--color-muted);line-height:1.5}.settings-billing-actions{justify-content:flex-start}.settings-subscription-dialog-copy,.settings-subscription-dialog-status{margin:0;color:var(--color-muted);line-height:1.5}.settings-subscription-dialog-status{color:var(--color-primary);font-weight:600}.settings-subscription-options{display:grid;gap:var(--spacing-sm)}.settings-subscription-option{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.settings-subscription-option:hover:not(:disabled),.settings-subscription-option:focus-visible{border-color:var(--color-primary);background:var(--color-surface-hover);box-shadow:var(--shadow-soft);outline:none}.settings-subscription-option:disabled{cursor:wait;opacity:.7}.settings-subscription-option strong,.settings-subscription-option small{display:block}.settings-subscription-option small{margin-top:.2rem;color:var(--color-muted)}.settings-subscription-option-price{color:var(--color-primary);font-size:1.1rem;font-weight:700;white-space:nowrap}.settings-subscription-option-price span{margin-left:.15rem;color:var(--color-muted);font-size:.85rem;font-weight:500}.settings-muted{margin-top:var(--spacing-sm)!important}@media(max-width:600px){.settings-page{gap:var(--spacing-md)}.settings-card{padding:1rem}.settings-form-grid{grid-template-columns:1fr}.settings-actions,.settings-actions .primary-button,.settings-actions .secondary-button,.settings-actions .danger-button{width:100%}.settings-field-action-row,.settings-card-action-row{align-items:stretch;flex-direction:column}.settings-field-action-row .settings-actions{width:100%}.settings-field-action-row>button{width:100%}.settings-card-action-row>button{width:100%}.settings-subscription-options{width:100%}.settings-danger-action{align-items:flex-start;flex-direction:column}.settings-danger-action .danger-button{width:100%}.support-history-layout{grid-template-columns:1fr;min-height:0}.support-ticket-list{max-height:22rem}.support-thread{padding-top:var(--spacing-md);padding-left:0;border-top:1px solid var(--color-border);border-left:0}.support-reply-form .app-button{width:100%}}.sessions-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.sessions-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.session-card{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-card);border-radius:var(--radius);box-shadow:var(--shadow-soft)}.session-card>div{min-width:0;max-width:100%}.session-card>div>p:first-of-type{overflow-wrap:anywhere}.session-card h3,.session-card p{margin:0}.session-card p+p{margin-top:.4rem}.session-card.current{border:1px solid color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}@media(max-width:600px){.sessions-page{gap:var(--spacing-md)}.sessions-page .page-header,.session-card{align-items:flex-start;flex-direction:column}.sessions-page .page-header .secondary-button,.sessions-page .page-header .danger-button-light,.session-card>.secondary-button,.session-card>.danger-button,.session-card>.danger-button-light{width:100%}.session-card{padding:1rem}}.debts-page,.debts-overview-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.debts-action-mobile,.debt-record-payment-mobile{display:none}.debts-summary-grid,.debt-stat-grid,.debt-planner-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md)}.debts-summary-metric,.debt-stat-grid>div,.debt-planner-stat{display:flex;flex-direction:column;gap:.35rem}.debts-summary-metric span,.debt-stat-grid span,.debt-planner-stat span,.debt-type-label{color:var(--color-muted);font-size:.85rem}.debts-summary-metric strong{font-size:1.25rem}.debt-tracker-notice,.debt-payment-notice,.debt-balance-adjustment-notice{margin:0;padding:var(--spacing-sm);border-left:3px solid var(--color-warning);border-radius:var(--radius);background:color-mix(in srgb,var(--color-warning) 10%,var(--color-card));color:var(--color-text);font-size:.9rem}.debts-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.7fr);gap:var(--spacing-md);align-items:start}.debts-list-card,.debt-detail-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.debts-list-header{align-items:flex-start;flex-direction:column;gap:0}.debts-sort-field{min-width:190px;margin:0}.debts-sort-select-mobile{display:none}.debt-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.debt-list-item{display:flex;justify-content:space-between;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.debt-list-item:hover,.debt-list-item.selected{border-color:var(--color-transfer);background:color-mix(in srgb,var(--color-transfer) 8%,var(--color-card))}.debt-list-item-main,.debt-list-item-balance{display:flex;flex-direction:column;gap:.2rem;min-width:0}.debt-list-item-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.debt-list-item-main small,.debt-list-item-balance small,.debt-history-row small{color:var(--color-muted);font-size:.8rem}.debt-list-item-balance{align-items:flex-end;flex-shrink:0}.debt-list-order{color:var(--color-transfer);font-size:.78rem;font-weight:600}.debt-detail-header h2,.debt-section-heading h3,.debt-empty-state h2{margin:.2rem 0 0}.debt-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));padding:var(--spacing-sm) 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.debt-stat-grid strong{font-size:1.05rem}.debt-progress-section{display:flex;flex-direction:column;gap:.4rem}.debt-progress-label{display:flex;justify-content:space-between;gap:var(--spacing-sm);font-size:.9rem}.debt-progress-track{height:.55rem;overflow:hidden;border-radius:999px;background:var(--color-surface-subtle)}.debt-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--color-transfer);transition:width .2s ease}.debt-detail-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.debt-update-balance-button{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text)}.debt-update-balance-button:hover:not(:disabled){background:var(--color-surface-hover);filter:none}.debt-planner-section,.debt-history-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.debt-section-heading p{margin:.25rem 0 0}.debt-history-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.debt-history-heading>div{min-width:0}.debt-history-heading .debt-update-balance-button{flex-shrink:0}.debt-planner-inputs{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.debt-planner-inputs .field{margin:0}.debt-planner-stat{min-height:100%;justify-content:flex-end;padding-bottom:.25rem}.debt-planner-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md)}.debt-planner-warning{margin:0;padding:var(--spacing-sm);border-left:3px solid var(--color-warning);border-radius:var(--radius);background:color-mix(in srgb,var(--color-warning) 10%,var(--color-card));color:var(--color-text)}.debt-payment-validation{margin:0;color:var(--color-error);font-size:.9rem}.debt-payment-allocation{display:block;color:var(--color-text)}.debt-payoff-chart{min-width:0;padding-top:var(--spacing-xs)}.debt-history-list{display:flex;flex-direction:column;border-top:1px solid var(--color-border)}.debt-history-row{display:flex;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.debt-history-row>div:first-child,.debt-history-amount{display:flex;flex-direction:column;gap:.2rem}.debt-history-amount{align-items:flex-end;flex-shrink:0}.debt-decrease{color:var(--color-transfer)}.debt-increase{color:var(--color-error)}.debt-empty-state{padding:var(--spacing-lg) 0;text-align:center}@media(max-width:1100px){.debts-layout{grid-template-columns:1fr}.debt-planner-inputs,.debt-planner-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.debts-summary-grid,.debt-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.debt-planner-inputs,.debt-planner-results{grid-template-columns:1fr}.debts-overview-card,.debts-list-card,.debt-detail-card{padding:1rem}.debts-list-card{gap:var(--spacing-sm)}.debts-overview-card .action-buttons{align-items:flex-start}.debts-action-desktop{display:none}.debts-action-mobile{display:inline}.debt-record-payment-desktop{display:none}.debt-record-payment-mobile{display:inline}.debts-summary-metric:last-child{grid-column:1 / -1}.debts-list-header,.debt-detail-header{align-items:stretch;flex-direction:column}.debts-list-header{align-items:flex-start;flex-direction:row;justify-content:space-between}.debts-sort-field{min-width:190px;width:auto}.debts-sort-select-desktop{display:none}.debts-sort-select-mobile{display:block}.debt-detail-header .action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.debt-detail-header .action-buttons .app-button:last-child{grid-column:auto}.debt-detail-actions .app-button{flex:1 1 0}.debt-history-row{flex-direction:column;gap:var(--spacing-sm)}.debt-history-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;row-gap:0}.debt-history-heading>div{display:contents}.debt-history-heading h3{grid-column:1}.debt-history-heading p{grid-column:1 / -1}.debt-history-payment-amount{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.debt-payoff-chart .recharts-responsive-container{height:220px!important;max-width:100%}.debt-detail-card{scroll-margin-top:var(--spacing-md)}}.investments-page,.investments-overview-card,.investments-list-card,.investment-detail-card,.investment-planner,.investment-retirement,.investment-history{display:flex;flex-direction:column;gap:var(--spacing-md)}.investment-list-item,.investment-history-row{display:flex;justify-content:space-between;gap:var(--spacing-md);align-items:center}.investments-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.7fr);gap:var(--spacing-md);align-items:start}.investment-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.investment-list-item{padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.investment-list-item:hover,.investment-list-item.selected{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 8%,var(--color-card))}.investment-list-item div,.investment-history-row div,.investment-balance{display:flex;flex-direction:column;gap:.25rem}.investment-list-item span,.investment-type-label,.investment-balance span,.investment-inputs label,.retirement-grid span{font-size:.85rem;color:var(--color-muted)}.investment-balance{padding:var(--spacing-md) 0;border-block:1px solid var(--color-border)}.investment-balance strong,.investment-result strong{font-size:1.6rem;color:var(--color-success)}.investment-planner,.investment-retirement,.investment-history{padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.investment-planner h3,.investment-retirement h3,.investment-history h3{margin:0}.investment-inputs,.retirement-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-sm)}.investment-inputs .field{margin:0}.investment-result{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.3rem;padding:var(--spacing-md);border-radius:var(--radius);background:color-mix(in srgb,var(--color-success) 10%,var(--color-card))}.investment-result small,.retirement-grid small,.investment-history-row small{color:var(--color-muted)}.retirement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.retirement-grid>div{display:flex;flex-direction:column;gap:.35rem;padding:var(--spacing-sm);background:var(--color-surface-subtle);border-radius:var(--radius)}.retirement-grid strong{font-size:1.2rem;color:var(--color-success)}.investment-history-row{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.investment-increase{color:var(--color-success)}.investment-decrease{color:var(--color-error)}@media(max-width:1100px){.investments-layout{grid-template-columns:1fr}.investment-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.investments-overview-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}.investments-overview-card>.action-buttons{grid-column:2;grid-row:1;align-items:flex-start}.investment-inputs,.retirement-grid{grid-template-columns:1fr}}.investment-balance{padding:0;border:0}.investments-list-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-sm)}.investments-sort-field{min-width:170px;margin:0}@media(max-width:600px){.investments-page>.card,.investments-layout>.card{padding:1rem}.investments-overview-card .page-primary-action{width:auto}.investments-list-header,.investment-detail-card>.section-header{align-items:stretch;flex-direction:column}.investments-list-header{align-items:flex-start;flex-direction:row;justify-content:space-between}.investments-sort-field{width:auto;min-width:170px}.investment-list-item{align-items:flex-start}.investment-detail-card>.section-header>.action-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.investment-detail-card>.section-header>.action-buttons .app-button:nth-child(2){grid-column:1 / -1;order:-1}.investment-balance .dashboard-link{align-self:flex-start}.investment-result{align-items:flex-start;text-align:left}.investment-planner .recharts-responsive-container{height:220px!important;max-width:100%}.investment-history-row{align-items:flex-start}.investment-detail-card{scroll-margin-top:var(--spacing-md)}}.investments-overview-header>.page-header,.investments-overview-header .action-buttons{align-items:flex-start}.investments-action-mobile{display:none}@media(max-width:600px){.investments-overview-card{display:flex;flex-direction:column;align-items:stretch}.investments-action-desktop{display:none}.investments-action-mobile{display:inline}}.bills-page,.bills-overview-card,.bills-list-card,.bills-list,.bill-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.bill-card-header>div:first-child{min-width:0}.bills-action-mobile{display:none}.bills-summary-grid,.bill-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-md)}.bills-summary-metric,.bill-details-grid>div{display:flex;flex-direction:column;gap:var(--spacing-xs)}.bills-summary-metric span,.bill-details-grid span,.bill-details-grid small,.bill-due-status{color:var(--color-muted);font-size:.85rem}.bills-summary-metric strong{font-size:1.25rem}.bills-overdue,.bill-due-status.overdue{color:var(--color-error)}.bills-list{gap:var(--spacing-sm)}.bill-card{gap:.3rem;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.bill-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md)}.bill-card-header h3{margin:.2rem 0 0}.bill-card-actions{display:flex;align-items:flex-start;align-self:flex-start;flex-wrap:wrap;justify-content:flex-end;gap:var(--spacing-xs)}.bill-details-grid{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.bill-details-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-notes{margin:0;color:var(--color-muted);white-space:pre-wrap;overflow-wrap:anywhere}.bills-empty-state{padding:var(--spacing-lg) 0;text-align:center}.bills-empty-state h3{margin:0}.bill-card-actions .app-button{padding:.35rem .55rem;font-size:.85rem}.bill-mobile-summary{display:none}.bill-creation-review-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.fund-creation-category-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.fund-creation-category-group h3{margin:var(--spacing-sm) 0 0;font-size:.9rem}.bill-creation-category-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}.bill-creation-category-grid .fund-creation-category-group h3{margin-top:0}.bill-creation-recommend-action:not(:disabled),.bill-creation-recommend-action:not(:disabled)>span,.bill-creation-recommend-action:not(:disabled)>svg{color:var(--color-text)}.bill-creation-review-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.bill-card.just-marked-paid{animation:bill-card-paid-highlight .65s ease-out}.bill-card.is-leaving{pointer-events:none;animation:bill-card-paid-exit .18s ease-in forwards}@keyframes bill-card-paid-highlight{0%{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,var(--color-surface-subtle))}to{border-color:var(--color-border);background:var(--color-surface-subtle)}}@keyframes bill-card-paid-exit{to{opacity:0;transform:translateY(-.4rem)}}.bill-creation-review-card-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--spacing-sm);row-gap:var(--spacing-xs);width:100%;padding:var(--spacing-sm) var(--spacing-md);border:0;background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.bill-creation-review-card-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-creation-review-card-status,.bill-creation-review-card-summary>svg{color:var(--color-muted);font-size:.85rem}.bill-creation-review-card-status.needs-details{color:var(--color-warning)}.bill-creation-review-card.expanded .bill-creation-review-card-summary>svg{transform:rotate(180deg)}.bill-creation-review-card-fields{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md) var(--spacing-md)}.bill-creation-review-card-fields .form-row{gap:var(--spacing-xs)}.bill-creation-remove-action{align-self:flex-end;margin-top:var(--spacing-sm);padding:0 .65rem;border:1px solid currentColor;background:transparent}.bill-creation-review-card .field{gap:var(--spacing-xs)}.bill-creation-review-amount-field{flex:1;min-width:220px}.bill-creation-review-amount-field .bill-creation-review-amount-input-tooltip{display:none}.bill-creation-review-card-header{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-sm)}.bill-creation-review-card-header span,.bill-creation-progress small{color:var(--color-muted);font-size:.85rem}.bill-creation-progress{display:flex;flex-direction:column;gap:var(--spacing-xs)}.bill-creation-progress span{font-weight:600}.bill-creation-footer-actions{display:flex;gap:var(--spacing-xs);margin-left:auto}@media(prefers-reduced-motion:reduce){.bill-card.just-marked-paid,.bill-card.is-leaving{animation:none}}@media(max-width:600px){.bill-creation-fund-selection .fund-creation-selection-actions{align-items:flex-start;flex-direction:column}.bills-overview-card,.bills-list-card{padding:1rem}.bills-overview-card .action-buttons{align-items:flex-start}.bills-action-desktop{display:none}.bills-action-mobile{display:inline}.bills-summary-grid,.bill-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bills-summary-metric:last-child{grid-column:1 / -1}.bill-card-header{display:none}.bill-card{gap:var(--spacing-sm);padding:0}.bill-mobile-summary{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.35rem;width:100%;padding:var(--spacing-sm);border:0;background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.bill-mobile-summary>div:first-child,.bill-mobile-summary-amount{display:flex;flex-direction:column;gap:.2rem;min-width:0}.bill-mobile-summary>div:first-child strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bill-mobile-summary-amount{align-items:flex-end;color:var(--color-muted);font-size:.78rem;text-align:right}.bill-mobile-summary-amount strong{color:var(--color-text);font-size:.95rem;white-space:nowrap}.bill-mobile-summary>svg{color:var(--color-muted)}.bill-mobile-summary[aria-expanded=true]>svg{transform:rotate(180deg)}.bill-details-grid,.bill-notes,.bill-card-actions{display:none}.bill-card.expanded .bill-details-grid{display:grid;margin:0 var(--spacing-md);padding:var(--spacing-sm) 0 var(--spacing-xs)}.bill-card.expanded .bill-notes{display:block;margin:0 var(--spacing-md) var(--spacing-sm)}.bill-card.expanded .bill-card-header{display:block}.bill-card.expanded .bill-card-header>div:first-child{display:none}.bill-card.expanded .bill-card-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);padding:0 var(--spacing-md)}.bill-card.expanded .bill-card-actions .app-button{width:auto}.bill-creation-review-card-header{align-items:flex-start;flex-direction:column;gap:var(--spacing-xs)}.bill-creation-category-grid{grid-template-columns:1fr}.bill-creation-review-card-summary{grid-template-columns:minmax(0,1fr) auto}.bill-creation-review-card-status{grid-column:1}.bill-creation-review-card-summary>svg{grid-column:2;grid-row:1 / span 2}.bill-creation-review-card-fields .field{position:relative;gap:0;padding-top:.4rem}.bill-creation-review-card-fields .field>label{position:absolute;z-index:1;top:.4rem;left:.55rem;padding:0 .25rem;background:var(--color-surface-subtle);font-size:.75rem;line-height:1;transform:translateY(-50%)}.bill-creation-review-card-fields .field>input,.bill-creation-review-card-fields .field>select,.bill-creation-review-card-fields .field>textarea{padding:.7rem .7rem .6rem}.bill-creation-review-amount-field{position:relative;min-width:0}.bill-creation-review-amount-field .bill-creation-review-amount-label-tooltip{display:none}.bill-creation-review-amount-field .bill-creation-review-amount-input-tooltip{display:inline-flex;position:absolute;z-index:1;top:calc(50% + .2rem);right:.7rem;transform:translateY(-50%)}.bill-creation-review-amount-field .field>input{padding-right:2.5rem}.bill-creation-progress{width:100%}.bill-creation-footer-actions{width:100%;margin-left:0}.bill-creation-footer-actions .app-button{flex:1 1 0}}.maintenance-gate{display:grid;min-height:100vh;place-items:center;padding:var(--spacing-lg)}.maintenance-gate-card{display:flex;flex-direction:column;gap:var(--spacing-md);width:min(100%,34rem);padding:clamp(1.5rem,5vw,3rem);text-align:center}.maintenance-gate-card h1,.maintenance-gate-card p{margin:0}.maintenance-gate-eyebrow{color:var(--color-primary);font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.maintenance-gate-reason{color:var(--color-muted)}.maintenance-gate-times{display:flex;flex-direction:column;gap:.35rem}.maintenance-gate-times p{margin:0}.maintenance-gate-card button{align-self:center}:root{--color-primary: #2d58cc;--color-primary-subtle: #edf2ff;--color-primary-hover: #162036;--color-accent: #f3b241;--color-bg: #fff8ef;--color-card: #ffffff;--color-surface-subtle: #fafafa;--color-surface-hover: #f3f4f6;--color-category-band: #edf2ff;--color-setup-guide-surface: #fff4e3;--color-text: #1a1a1a;--color-text-inverse: #ffffff;--color-muted: #6b7280;--color-border: #d9e1ea;--color-overlay: rgb(0 0 0 / .45);--color-disabled-bg: #e0e0e0;--color-disabled-text: #9e9e9e;--color-error: #b91c1c;--color-error-subtle: #fee2e2;--color-success: #1b9d4b;--color-success-subtle: #dcfce7;--color-warning: #d97706;--color-warning-subtle: #fef3c7;--color-info: #2164cf;--color-info-subtle: #dbeafe;--color-transfer: #2164cf;--color-status-success: #166534;--color-status-warning: #92400e;--color-status-error: #991b1b;--color-cancel: #da5e5e;--shadow-card-hover: 0 6px 16px rgb(0 0 0 / .08);--color-chart-unallocated: #d1d5db;--radius: 8px;--shadow-soft: 0 4px 12px rgb(0 0 0 / .05);--shadow-elevated: 0 10px 30px rgb(0 0 0 / .25);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem}html{box-sizing:border-box}.search-field{position:relative}.search-field .search-input{width:100%;padding-inline-end:2.5rem}.search-field .search-input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search-field .search-clear{position:absolute;top:50%;right:.65rem;display:inline-flex;align-items:center;justify-content:center;padding:.25rem;border:0;border-radius:var(--radius);background:transparent;color:var(--search-clear-color, var(--color-text));cursor:pointer;transform:translateY(-50%)}.search-field .search-clear:hover{background:color-mix(in srgb,var(--search-clear-color, var(--color-text)) 10%,transparent)}.search-field .search-clear:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.search-field .search-clear svg{color:inherit}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:var(--color-bg);color:var(--color-text)}.card{background:var(--color-card);padding:var(--spacing-lg);border-radius:var(--radius);box-shadow:var(--shadow-soft)}@media(max-width:600px){.card{padding:1.25rem}}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-sm);min-width:0}.page-header>:first-child{min-width:0}.page-header-with-description{display:flex;flex-direction:column;gap:var(--spacing-xs)}.page-header-description,.page-header-description.muted{margin:var(--spacing-xs) 0 0;color:var(--color-muted)}.page-header-with-description .page-header-description{margin:0}.card h2,.card h3,.card h4{margin-top:0;margin-bottom:1rem}.page-header h1,.page-header h2{margin:0;font-size:1.75rem;font-weight:600}.styled-table{width:100%;border-collapse:collapse;margin-top:var(--spacing-sm)}.styled-table th{text-align:left;padding:.75rem;border-bottom:1px solid var(--color-border);font-weight:600}.styled-table td{padding:.75rem;border-bottom:1px solid var(--color-border)}.styled-table tr:last-child th{border-top:2px solid var(--color-border);padding-top:1rem;font-size:1rem}.tooltip{display:inline-flex;align-items:center;justify-content:center;margin-left:.25rem;padding:0;border:0;border-radius:0;background:transparent;color:var(--color-muted);cursor:help}.tooltip svg{width:18px;height:18px}.tooltip-popup{position:fixed;z-index:1100;width:min(280px,calc(100vw - 2rem));padding:.75rem 1rem;background:var(--color-surface-subtle);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);font-size:.85rem;line-height:1.4;pointer-events:auto}.tooltip-popup:before{content:"";position:absolute;left:0;right:0;height:12px}.tooltip-popup-above:before{top:100%}.tooltip-popup-below:before{bottom:100%}.tooltip-popup:after{content:"";position:absolute;left:var(--tooltip-arrow-left);transform:translate(-50%);border-width:10px 14px;border-style:solid}.tooltip-popup-above:after{top:100%;border-color:var(--color-surface-subtle) transparent transparent transparent}.tooltip-popup-below:after{bottom:100%;border-color:transparent transparent var(--color-surface-subtle) transparent}.dropdown-button{display:flex;align-items:center;gap:.5rem}.dropdown-button span{display:inline-flex;align-items:center}.dropdown-button svg{display:block;flex-shrink:0}.dropdown-button>span:first-of-type{position:relative;top:-1px}.dropdown-chevron{flex-shrink:0;transition:transform .2s ease}.dropdown-chevron.open{transform:rotate(180deg)}.budget-category-count{color:var(--color-muted);font-weight:400}.budget-category-summary{margin-left:auto;color:var(--color-muted);font-weight:400}.budget-item-percent{display:inline;margin-left:var(--spacing-sm)}:root[data-theme=dark]{--color-bg: #16191f;--color-card: #242a33;--color-surface-subtle: #2a313c;--color-surface-hover: #333c49;--color-category-band: #2a313c;--color-setup-guide-surface: #332d23;--color-text: #f4f6f9;--color-text-inverse: #ffffff;--color-muted: #b0b8c5;--color-border: #3b4350;--color-primary-hover: #4b639a;--color-overlay: rgb(0 0 0 / .6);--color-disabled-bg: #3b4350;--color-disabled-text: #8e99a8;--color-error: #f87171;--color-error-subtle: #4b252b;--color-success: #4ade80;--color-success-subtle: #1f3d2b;--color-warning: #fbbf24;--color-warning-subtle: #4a3b1c;--color-info: #60a5fa;--color-info-subtle: #203a5c;--color-transfer: #93c5fd;--color-status-success: #4ade80;--color-status-warning: #fbbf24;--color-status-error: #f87171;--color-chart-unallocated: #6b7280;--shadow-soft: 0 4px 12px rgb(0 0 0 / .25);--shadow-elevated: 0 10px 30px rgb(0 0 0 / .45);--shadow-card-hover: 0 6px 16px rgb(0 0 0 / .35)}@media(prefers-color-scheme:dark){:root[data-theme=system]{--color-bg: #16191f;--color-card: #242a33;--color-surface-subtle: #2a313c;--color-surface-hover: #333c49;--color-category-band: #2a313c;--color-setup-guide-surface: #332d23;--color-text: #f4f6f9;--color-text-inverse: #ffffff;--color-muted: #b0b8c5;--color-border: #3b4350;--color-primary-hover: #4b639a;--color-overlay: rgb(0 0 0 / .6);--color-disabled-bg: #3b4350;--color-disabled-text: #8e99a8;--color-error: #f87171;--color-error-subtle: #4b252b;--color-success: #4ade80;--color-success-subtle: #1f3d2b;--color-warning: #fbbf24;--color-warning-subtle: #4a3b1c;--color-info: #60a5fa;--color-info-subtle: #203a5c;--color-transfer: #93c5fd;--color-status-success: #4ade80;--color-status-warning: #fbbf24;--color-status-error: #f87171;--color-chart-unallocated: #6b7280;--shadow-soft: 0 4px 12px rgb(0 0 0 / .25);--shadow-elevated: 0 10px 30px rgb(0 0 0 / .45);--shadow-card-hover: 0 6px 16px rgb(0 0 0 / .35)}}.brand-bar,nav{background-color:var(--color-primary);color:var(--color-text-inverse);padding:var(--spacing-sm) var(--spacing-lg)}.brand-inner{max-width:none;margin:0}.brand-title,nav{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:.5px}.navbar{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:var(--spacing-sm) var(--spacing-lg);color:var(--color-text-inverse)}.navbar-main-links{display:flex;align-items:center;flex:1;flex-wrap:wrap;gap:1rem;min-width:0}.navbar-links{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;min-width:0}.navbar-links,.navbar-links a{color:var(--color-text-inverse);text-decoration:none;white-space:nowrap}.navbar-links:hover,.navbar-links a:hover{color:var(--color-text-inverse)}.navbar-links.active{box-shadow:inset 0 -2px 0 var(--color-accent);font-weight:700}.navbar-section-menu{position:relative}.navbar-section-trigger,.navbar-help-button{border:0;background:transparent;font:inherit;cursor:pointer}.navbar-section-trigger{display:inline-flex;align-items:center;gap:.25rem;padding:0}.navbar-section-trigger svg{width:.9rem;height:.9rem}.navbar-section-dropdown{position:absolute;top:calc(100% + .65rem);left:-.75rem;z-index:101;display:flex;flex-direction:column;min-width:11rem;padding:.5rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-elevated)}.navbar-section-dropdown a{padding:.65rem .75rem;border-radius:10px;color:var(--color-text);text-decoration:none}.navbar-section-dropdown a:hover,.navbar-section-dropdown a.active{background:var(--color-surface-hover);color:var(--color-primary)}.navbar-help-button{display:inline-flex;align-items:center;gap:.35rem;margin-left:auto;padding:.5rem;color:var(--color-text-inverse)}.navbar-help-button:hover,.navbar-help-button:focus-visible{color:var(--color-text-inverse);text-decoration:underline}.navbar-help-button svg{width:1.1rem;height:1.1rem}.navbar-learning-center-link{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem;color:var(--color-text-inverse);text-decoration:none;white-space:nowrap}.navbar-learning-center-link:hover,.navbar-learning-center-link:focus-visible{color:var(--color-text-inverse)}.navbar-learning-center-link.active{box-shadow:inset 0 -2px 0 var(--color-accent);font-weight:700}.navbar-learning-center-link svg{width:1.1rem;height:1.1rem}.navbar-logout{flex-shrink:0;background:var(--color-muted);color:var(--color-text-inverse);border:none;padding:.5rem .9rem;border-radius:var(--radius);cursor:pointer}@media(max-width:768px){.navbar{flex-direction:column;align-items:stretch}.navbar-links{justify-content:center}.navbar-logout{width:100%}}.navbar-user-menu{position:relative;margin-left:auto}.navbar-help-button+.navbar-user-menu{margin-left:0}.navbar-avatar-button{display:flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border-radius:999px;border:none;background:var(--color-card);color:var(--color-text);cursor:pointer;font-size:1rem;font-weight:600;line-height:1}.navbar-dropdown{position:absolute;top:52px;right:0;width:240px;padding:.5rem;border-radius:16px;background:var(--color-card);border:1px solid var(--color-border);color:var(--color-text);box-shadow:var(--shadow-elevated);display:flex;flex-direction:column;gap:.25rem;z-index:1000}.navbar-email{padding:.75rem;font-size:.9rem;word-break:break-word;border-bottom:1px solid var(--color-border)}.navbar-theme-toggle{display:flex;align-items:center;gap:.65rem;width:100%;padding:.75rem;border:none;border-radius:10px;background:transparent;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.navbar-theme-toggle:hover:not(:disabled){background:var(--color-surface-hover)}.navbar-theme-toggle:disabled{cursor:wait;opacity:.7}.navbar-theme-toggle-track{position:relative;display:inline-flex;align-items:center;justify-content:space-between;width:3.25rem;height:1.75rem;padding:.2rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-subtle);color:var(--color-muted);flex-shrink:0}.navbar-theme-toggle-thumb{position:absolute;top:50%;left:.2rem;right:auto;width:1.2rem;height:1.2rem;border-radius:50%;background:var(--color-primary);transform:translateY(-50%);transition:left .5s ease,background .5s ease}.navbar-theme-toggle:not(.dark) .navbar-theme-toggle-thumb{background:var(--color-accent)}.navbar-theme-toggle.dark .navbar-theme-toggle-thumb{left:calc(100% - 1.4rem)}@media(prefers-reduced-motion:reduce){.navbar-theme-toggle-thumb{transition:none}}.navbar-theme-toggle-track svg{position:absolute;top:50%;z-index:1;transform:translateY(-50%)}.navbar-theme-toggle-track svg:first-child{left:calc(.2rem + .1625rem);color:var(--color-accent)}.navbar-theme-toggle-track svg:last-of-type{right:calc(.2rem + .1625rem)}.navbar-theme-toggle:not(.dark) .navbar-theme-toggle-track svg:first-child,.navbar-theme-toggle.dark .navbar-theme-toggle-track svg:last-of-type{color:var(--color-text-inverse)}.navbar-dropdown-item{display:flex;align-items:center;gap:.65rem;padding:.75rem;border:none;background:transparent;color:var(--color-text);font:inherit;text-align:left;border-radius:10px;cursor:pointer}.navbar-dropdown-item>svg{flex:0 0 auto;width:1.25rem;height:1.25rem}.navbar-dropdown-item:hover{background:var(--color-surface-hover)}.navbar-dropdown-item.logout{color:var(--color-error)}.navbar-admin-dashboard{display:flex;align-items:center;gap:.5rem}.mobile-navbar{display:none}@media(max-width:600px){.desktop-navbar.budget-navbar{display:none}.app-root>.mobile-navbar{position:fixed;inset:auto 0 0;z-index:100;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;min-height:4.5rem;padding:0 0 env(safe-area-inset-bottom);margin:0;background:var(--color-card);border-top:1px solid var(--color-border);box-shadow:var(--shadow-elevated)}.app-root>.mobile-navbar.mobile-navbar-global{grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-navbar-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-width:0;overflow:hidden;padding:.4rem .1rem;border:none;background:transparent;color:var(--color-text);font:inherit;font-size:.67rem;font-weight:500;line-height:1.1;letter-spacing:0;text-align:center;text-decoration:none;cursor:pointer}.mobile-navbar-link span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-navbar-link svg{width:1.4rem;height:1.4rem}.mobile-navbar-add-button{align-self:center;justify-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;width:3.35rem;height:3.35rem;padding:0;border:none;border-radius:999px;background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-soft);font:inherit;cursor:pointer}.mobile-navbar-add{position:relative;align-self:stretch;display:flex;align-items:center;justify-content:center}.mobile-navbar-add-menu{position:absolute;bottom:calc(100% + .65rem);left:50%;z-index:101;display:flex;flex-direction:column;width:max-content;min-width:11rem;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);box-shadow:var(--shadow-elevated);transform:translate(-50%)}.mobile-navbar-add-menu button{padding:.75rem .9rem;border:0;background:transparent;color:var(--color-text);font:inherit;text-align:left}.mobile-navbar-add-menu button:hover,.mobile-navbar-add-menu button:focus-visible{background:var(--color-surface-hover)}.mobile-navbar-add-button svg{width:1.5rem;height:1.5rem;stroke-width:2.5}.mobile-navbar-add-button:hover,.mobile-navbar-add-button:focus-visible{background:var(--color-primary-hover)}.mobile-navbar-add-button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.mobile-navbar-add-button:disabled{cursor:wait;opacity:.7}.mobile-navbar-link:hover,.mobile-navbar-link:focus-visible{background:var(--color-surface-hover);color:var(--color-primary)}.mobile-navbar-link.active{color:var(--color-primary);font-weight:700}.mobile-navbar-link.active svg{stroke-width:2.5}.mobile-navbar-more{position:relative;min-width:0}.mobile-navbar-more-button{width:100%;height:100%}.mobile-more-menu{position:absolute;right:var(--spacing-sm);bottom:calc(100% + var(--spacing-sm));display:flex;flex-direction:column;gap:.25rem;width:min(16rem,calc(100vw - (var(--spacing-sm) * 2)));max-height:calc(100dvh - 5.5rem);padding:.5rem;overflow-y:auto;overscroll-behavior:contain;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-elevated)}.mobile-more-menu a,.mobile-more-menu button{display:flex;align-items:center;gap:.65rem;width:100%;padding:.75rem;border:none;border-radius:10px;background:transparent;color:var(--color-text);font:inherit;text-align:left;text-decoration:none;cursor:pointer}.mobile-more-menu a svg,.mobile-more-menu button>svg{flex:0 0 auto;width:1rem;height:1rem}.mobile-more-menu-section{display:flex;flex-direction:column;gap:.25rem}.mobile-more-menu-section+.mobile-more-menu-section{margin-top:.25rem;padding-top:.5rem;border-top:1px solid var(--color-border)}.mobile-more-menu-label{padding:.1rem .75rem;color:var(--color-muted);font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.mobile-more-menu .mobile-more-theme-toggle{justify-content:space-between;padding:.75rem}.mobile-more-menu .mobile-more-theme-toggle .navbar-theme-toggle-track{margin-left:auto}.mobile-more-menu a:hover,.mobile-more-menu a:focus-visible,.mobile-more-menu button:hover:not(:disabled),.mobile-more-menu button:focus-visible{background:var(--color-surface-hover)}.mobile-more-menu-logout{color:var(--color-error)!important}.navbar-user-menu{margin-left:0}.navbar-dropdown{width:min(240px,100%)}}
