:root{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}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}.budgets-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.page-header{display:flex;justify-content:space-between;align-items:center}.page-header h2{margin:0;font-size:1.75rem;font-weight:600}.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)}:root{--modal-padding: 1.5rem}@media(max-width:640px){.modal-overlay{padding:var(--spacing-sm)}.modal{max-height:calc(100vh - 2rem)}.modal-header,.modal-toolbar,.modal-body,.modal-footer{padding:1rem}.form-row{flex-direction:column}.form-row .field{min-width:0}}.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 .18s ease}@media(max-width:640px){.modal-overlay{padding:var(--spacing-sm)}}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0}to{opacity:1}}.modal-sm{width:min(28rem,100%)}.modal-md{width:min(42rem,100%)}.modal-lg{width:min(60rem,100%)}.modal-xl{width:min(75rem,100%)}.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 .18s ease}.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:1.5rem}.modal-scroll{flex:1;min-height:0;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--color-border);background:var(--color-surface-subtle);flex-shrink:0;flex-wrap:wrap}.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)}.modal-section{margin-top:1rem;padding-top:1rem;margin-top:2rem;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-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{overflow:hidden;padding-top:.75rem}.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 .thumb{position:absolute;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);background:var(--color-primary);border-radius:999px;font-size:large;transition:transform .2s ease}.amount-mode-toggle.percent .thumb{transform:translate(100%)}.danger-zone{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.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-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);padding-top:var(--spacing-xs)}.adjustment-account-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.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-header p{margin:0}.split-transaction-header p,.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-amount-input input,.split-transaction-row select{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}.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}@media(max-width:640px){.split-transaction-row{grid-template-columns:1fr}}.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}.secondary-button{background:var(--color-error);color:var(--color-text-inverse);border:none;padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}.cancel-button{background:var(--color-cancel);border:none;padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}.delete-confirm-button{background:var(--color-disabled-bg);color:var(--color-error);border:none;padding:.6rem 1rem;border-radius:var(--radius);cursor:pointer}.delete-confirm-button:hover{background:var(--color-error);color:var(--color-text-inverse)}.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}.primary-button:hover,.cancel-button:hover,.delete-button:hover{filter:brightness(.9)}.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)}.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 .2s 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)}}.date-input{cursor:pointer}.date-input::-webkit-calendar-picker-indicator{cursor:pointer;filter:brightness(0)}:root[data-theme=dark] .date-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{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.1rem;height:1.1rem;margin: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:"";width:.3rem;height:.55rem;border:solid var(--color-text-inverse);border-width:0 .14rem .14rem 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.1rem + 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)}.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{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.transactions-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.transactions-search{display:flex;flex:1 1 18rem;align-items:center;gap:var(--spacing-xs)}.transactions-search input{flex:1;padding:.6rem;border:1px solid var(--color-border);border-radius:var(--radius)}.transactions-date-range{min-width:10rem}.toolbar-right{display:flex;align-items:center;gap:var(--spacing-xs)}.transactions-summary{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);color:var(--color-muted);font-size:.9rem}.transactions-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md)}.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:32%}.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:16%}.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}.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}.transaction-group-row td{vertical-align:middle}.transaction-date-divider td{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-surface-subtle);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.transaction-expand-button{margin-right:.5rem;padding:.15rem .4rem;border:1px solid var(--color-border);border-radius:var(--radius);background:transparent;color:var(--color-muted);font:inherit;font-size:.8rem;cursor:pointer}.transaction-description,.transaction-group-detail{display:block;margin-top:.2rem;color:var(--color-muted);font-size:.82rem}.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)}.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)}}.budget-dashboard-page{display:flex;flex-direction:column;gap:var(--spacing-md)}.dashboard-overview-card,.dashboard-card-header,.dashboard-fund-row,.dashboard-transaction-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.dashboard-overview-card h2,.dashboard-card h3{margin:0}.dashboard-eyebrow,.dashboard-subtitle,.dashboard-card-header p,.dashboard-fund-row span,.dashboard-transaction-row span{color:var(--color-muted)}.dashboard-eyebrow{margin:0 0 .35rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.dashboard-subtitle,.dashboard-card-header p{margin:.35rem 0 0}.dashboard-snapshot-grid,.dashboard-grid{display:grid;gap:var(--spacing-md)}.dashboard-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metric{display:flex;flex-direction:column;gap:.35rem}.dashboard-metric span{color:var(--color-muted);font-size:.9rem}.dashboard-metric strong{font-size:1.35rem}.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-fund-list,.dashboard-transaction-list{display:flex;flex-direction:column;margin-top:var(--spacing-sm)}.dashboard-fund-row,.dashboard-transaction-row{padding:.8rem 0;border-top:1px solid var(--color-border)}.dashboard-fund-row>div,.dashboard-transaction-row>div{display:flex;min-width:0;flex-direction:column;gap:.2rem}.dashboard-fund-remaining{align-items:flex-end;text-align:right}.dashboard-fund-row strong,.dashboard-transaction-row strong{overflow:hidden;text-overflow:ellipsis}.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-chart{margin-top:var(--spacing-sm)}@media(max-width:800px){.dashboard-snapshot-grid,.dashboard-grid{grid-template-columns:1fr}.dashboard-overview-card,.dashboard-card-header{align-items:flex-start;flex-direction:column}}.budget-details-page{width:100%;padding:0;box-sizing:border-box;display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-title{margin:0;font-size:1.75rem;font-weight:600}.danger-zone-header{padding-bottom:0;margin-bottom:0}.settings-action-row{display:flex;align-items:center;justify-content:space-between;padding-top:0;margin:.5rem 0;gap:2rem;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.settings-action-content{display:flex;flex-direction:column;gap:.25rem}.settings-action-title{font-weight:600}.settings-action-description{font-size:.875rem;color:var(--color-muted)}.settings-action-controls{display:flex;align-items:center;gap:.75rem}.section-header{display:flex;align-items:center;justify-content:space-between}.amount-secondary{font-size:.85rem;color:var(--color-muted)}.amount-primary{font-weight:600}.budget-overview-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-overview-manage-icon{display:none}.budget-overview-divider{height:1px;background:var(--color-border)}.budget-summary-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--spacing-md)}.budget-summary-metric{display:flex;flex-direction:column;gap:.35rem;min-width:0}.budget-summary-metric span{color:var(--color-muted);font-size:.85rem}.budget-summary-metric strong{font-size:1.25rem}.budget-main{grid-area:main;display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-layout{display:grid;grid-template-areas:"main sidebar";grid-template-columns:minmax(0,1fr) 290px;gap:var(--spacing-sm);align-items:start}.budget-sidebar{grid-area:sidebar;position:sticky;top:calc(74px + var(--spacing-md));display:flex;flex-direction:column;gap:var(--spacing-lg)}.budget-health-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.budget-health-card-mobile,.budget-health-mobile-summary-actions,.budget-health-mobile-chevron{display:none}.budget-health-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm)}.budget-health-header h3,.budget-health-header p{margin:0}.budget-health-header p,.budget-health-step-description{color:var(--color-muted);font-size:.85rem}.budget-health-progress{flex-shrink:0;padding:.2rem .5rem;border-radius:999px;background:var(--color-surface-subtle);color:var(--color-muted);font-size:.8rem;font-weight:600}.budget-health-steps{display:flex;flex-direction:column}.budget-health-step{display:flex;align-items:center;gap:.65rem;padding:.75rem 0;border-top:1px solid var(--color-border)}.budget-health-step>svg{flex-shrink:0;color:var(--color-muted)}.budget-health-step.complete>svg{color:var(--color-success)}.budget-health-step-content{min-width:0;flex:1}.budget-health-step-label{font-weight:600}.budget-health-step.complete .budget-health-step-description{color:var(--color-success)}.budget-available-card{display:flex;flex-direction:column;gap:.35rem}.budget-available-card span{color:var(--color-muted);font-size:.85rem}.budget-available-card strong{color:var(--color-success);font-size:1.5rem}.budget-available-card strong.negative{color:var(--color-error)}.income-sources-table,.budget-items-table,.tax-adjustments-table{table-layout:fixed}.income-sources-table th:nth-child(1),.income-sources-table td:nth-child(1){width:40%}.income-sources-table th:nth-child(2),.income-sources-table td:nth-child(2){width:42%}.budget-items-table th:nth-child(1),.budget-items-table td:nth-child(1){width:34%}.budget-items-table th:nth-child(2),.budget-items-table td:nth-child(2){width:31%}.budget-items-table th:nth-child(3),.budget-items-table td:nth-child(3){width:19%}.tax-adjustments-table td:nth-child(1){width:64%}.tax-adjustments-table td:nth-child(2){width:20%}.income-sources-table th:last-child,.budget-items-table th:last-child,.tax-adjustments-table td:last-child{width:16%}.income-sources-table td:last-child,.budget-items-table td:last-child,.tax-adjustments-table td:last-child{white-space:nowrap;text-align:right}.actions-column-header{text-align:right!important}.actions-column-header span{display:inline-block;width:6.9rem;text-align:left}.income-sources-table td:last-child .action-buttons,.budget-items-table td:last-child .action-buttons,.tax-adjustments-table td:last-child .action-buttons{justify-content:flex-end}.income-sources-mobile-list,.budget-items-mobile-list,.budget-items-action-mobile{display:none}.budget-planning-modal-delete{margin-right:auto}.dropdown-button{width:100%;display:flex;justify-content:flex-start;align-items:center;background:transparent;border:none;color:var(--color-text);font-size:1rem;font-weight:600;padding:.75rem 0;cursor:pointer}.dropdown-content{padding-bottom:1rem}.budget-version-dropdown-container{position:relative;display:inline-block}.budget-version-dropdown{display:inline-flex;align-items:center;gap:.35rem;height:2rem;padding:0 .75rem;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:.95rem;font-weight:500;cursor:pointer}.budget-version-dropdown:hover{background:var(--color-surface-subtle)}.budget-version-dropdown-menu{position:absolute;top:calc(100% + .4rem);left:0;min-width:160px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);overflow:hidden;z-index:100}.budget-version-dropdown-item{width:100%;display:flex;justify-content:space-between;align-items:center;padding:.65rem .9rem;border:none;background:transparent;font-size:.95rem;color:var(--color-text);cursor:pointer}.budget-version-dropdown-item:hover{background:var(--color-surface-subtle)}.budget-version-dropdown-item.selected{font-weight:600}.budget-version-dropdown-divider{height:1px;background:var(--color-border);margin:.25rem 0}.budget-version-dropdown-item.add-year{justify-content:flex-start;gap:.5rem}.budget-version-dropdown svg{transition:transform .15s ease}.budget-version-dropdown svg.open{transform:rotate(180deg)}.budget-category-dropdown{width:100%;justify-content:space-between}.budget-category-dropdown-container{display:block;width:100%}.budget-category-dropdown-container .budget-version-dropdown-menu{width:100%}.budget-title{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem}.budget-title h2{margin:0}.budget-items-toolbar{display:flex;align-items:center;gap:1rem;margin-top:.5rem;flex-wrap:wrap}.budget-items-view-toggle,.budget-items-group-toggle{display:flex;gap:.5rem}.budget-items-group-toggle button{flex:1;padding:.45rem .9rem;border:1px solid transparent;border-radius:calc(var(--radius) - .2rem);background:transparent;color:var(--color-muted);font:inherit;font-weight:600;cursor:pointer}.budget-items-group-toggle button:hover,.budget-items-group-toggle button:focus-visible{background:var(--color-surface-hover);color:var(--color-text)}.budget-items-group-toggle button.primary-button{background:var(--color-primary);color:var(--color-text-inverse)}.budget-items-group-toggle{padding:.25rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.budget-chart-drilldown{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.budget-chart-drilldown button{border:none;background:transparent;color:var(--color-primary);font:inherit;font-weight:600;cursor:pointer}.budget-chart-breakdown,.budget-chart-selected-summary{display:none}.budget-pie-chart-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(13rem,.75fr);align-items:center;gap:var(--spacing-md)}.budget-chart-legend{display:flex;flex-direction:column;gap:.25rem}.budget-chart-legend-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.5rem;width:100%;padding:.45rem 0;border:none;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);font:inherit;text-align:left}.budget-chart-legend-row:not(:disabled){cursor:pointer}.budget-chart-legend-row:disabled{color:var(--color-muted)}.budget-chart-legend-row small{min-width:3rem;color:var(--color-muted);text-align:right}@media(max-width:900px){.budget-pie-chart-layout{grid-template-columns:1fr}.budget-chart-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--spacing-md)}}.budget-chart-placeholder{height:420px;display:flex;align-items:center;justify-content:center;color:var(--color-muted);border:2px dashed var(--color-border);border-radius:var(--radius);margin-top:var(--spacing-md)}.chart-tooltip{min-width:160px;padding:.75rem .9rem;background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);display:flex;flex-direction:column;gap:.35rem}.chart-tooltip strong{font-size:.95rem;font-weight:600}.chart-tooltip .amount{font-size:1rem;font-weight:600}.chart-tooltip .muted{font-size:.85rem;color:var(--color-muted)}.recharts-sector{cursor:pointer}.recharts-sector:focus{outline:none}.recharts-sector:focus-visible{outline:none}.category-modal-card{overflow:hidden}.category-modal-card form{display:flex;flex-direction:column;min-height:0}.category-editor-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.category-row-actions{display:flex;align-items:center;gap:.5rem;justify-content:flex-end}.category-actions-cell{width:1%;white-space:nowrap}.category-list{max-height:18rem;overflow-y:auto}.category-table{margin-top:var(--spacing-md)}.category-editor-input{min-width:0;width:100%;box-sizing:border-box;padding:.6rem .75rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:.95rem;background:var(--color-card);color:var(--color-text)}.category-create-button{flex-shrink:0}.category-editor-input:focus{outline:none;border-color:var(--color-primary)}.budget-category-row td{padding:0;background:var(--color-surface-subtle)}.budget-category-toggle{display:flex;align-items:center;width:100%;gap:.75rem;margin:0;padding:.7rem 1rem;border-radius:var(--radius);background:transparent;color:var(--color-text);text-align:left;cursor:pointer;transition:background .18s ease,color .18s ease}.budget-category-toggle:hover{background:var(--color-surface-hover)}.budget-category-info{display:flex;flex-direction:column;flex:1;min-width:0}.budget-category-name{font-size:.95rem;font-weight:600;line-height:1.2}.budget-category-meta{margin-top:.15rem;color:var(--color-muted);font-size:.82rem;font-weight:400}.dropdown-header{display:flex;align-items:center;gap:.5rem}.dropdown-button{flex:1;display:flex;align-items:center;justify-content:flex-start}.budget-category-toggle:focus{outline:none}.budget-category-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media(max-width:1200px){.budget-layout{grid-template-columns:1fr;grid-template-areas:"sidebar" "main"}.budget-sidebar{position:static}.quick-actions{display:none}}@media(max-width:500px){.budget-main>.card,.budget-overview-card,.budget-sidebar>.card{padding:1.25rem}.planning-mobile-card{padding:.75rem}.budget-overview-card .section-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:var(--spacing-sm)}.budget-title h2{font-size:1.4rem;line-height:1.2}.budget-overview-card .app-button{display:none}.budget-overview-manage-icon{display:inline-flex;width:2.75rem;height:2.75rem}.budget-summary-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.budget-summary-metric:nth-child(5):last-child{grid-column:1 / -1}.budget-health-card-desktop,.budget-available-card{display:none}.budget-health-card-mobile{display:block}.budget-health-mobile-summary-actions{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0}.budget-health-mobile-chevron{display:block;transition:transform .15s ease}.budget-health-card-mobile[open] .budget-health-mobile-chevron{transform:rotate(180deg)}.budget-health-card-mobile summary{cursor:pointer;list-style:none}.budget-health-card-mobile summary::-webkit-details-marker{display:none}.budget-health-card-mobile .budget-health-steps{margin-top:var(--spacing-md)}.income-sources-table,.budget-items-table{display:none}.income-sources-mobile-list,.budget-items-mobile-list,.budget-items-mobile-group-items{display:flex;flex-direction:column;gap:var(--spacing-sm)}.budget-items-mobile-list{gap:var(--spacing-md)}.budget-items-mobile-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.planning-mobile-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--spacing-sm);width:100%;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}.planning-mobile-card:hover{background:var(--color-surface-hover)}.planning-mobile-card:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.planning-mobile-card>div:first-child,.planning-mobile-card-amount{display:flex;flex-direction:column;gap:.2rem;min-width:0}.planning-mobile-card>div:first-child strong{overflow-wrap:anywhere}.planning-mobile-card-amount{align-items:flex-end;color:var(--color-muted);font-size:.8rem;text-align:right}.planning-mobile-card-amount strong{color:var(--color-text);font-size:.95rem}.planning-mobile-card-meta{color:var(--color-muted);font-size:.78rem}.planning-mobile-card>svg{color:var(--color-muted)}.budget-items-section>.section-header{flex-direction:column;align-items:stretch;gap:.5rem}.budget-items-section>.section-header>.action-buttons{justify-content:space-between}.budget-items-toolbar{align-items:stretch;gap:var(--spacing-sm)}.budget-items-view-toggle{align-self:center;gap:.25rem;padding:.25rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-subtle)}.budget-items-view-toggle .icon-button{width:2.75rem;height:2.5rem;border-radius:999px}.budget-items-view-toggle .icon-button.primary-button:hover{background:var(--color-primary)}.budget-items-view-toggle .icon-button:nth-child(2) svg{width:1.45rem;height:1.45rem}.budget-items-group-toggle{width:100%}.budget-pie-chart-layout{display:block}.budget-chart-legend{display:none}.budget-chart-selected-summary{display:flex;align-items:center;gap:.65rem;min-height:3.75rem;margin-top:var(--spacing-sm);padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle);color:var(--color-muted)}.budget-chart-selected-summary>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}.budget-chart-selected-summary>div>span,.budget-chart-selected-summary small{color:var(--color-muted);font-size:.8rem}.budget-chart-selected-summary strong{color:var(--color-text)}.budget-chart-breakdown{display:flex;flex-direction:column;gap:.4rem;margin-top:var(--spacing-sm)}.budget-chart-breakdown-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem;width:100%;padding:.75rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);font:inherit;text-align:left;box-shadow:0 2px 4px #0000000f}.budget-chart-breakdown-row:not(:disabled){cursor:pointer}.budget-chart-breakdown-row.selected{border-color:var(--color-primary);background:var(--color-surface-subtle);box-shadow:0 3px 7px #374d7f29}.budget-chart-breakdown-color{width:.75rem;height:.75rem;border-radius:999px}.budget-items-action-desktop{display:none}.budget-items-action-mobile{display:inline}}.tax-summary-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1rem}.tax-summary-card{border:1px solid var(--color-border);border-radius:10px;padding:1rem;background:var(--color-card)}.tax-summary-label{font-size:.8rem;color:var(--color-muted);margin-bottom:.4rem}.tax-summary-value{font-size:1.5rem;font-weight:700}.tax-summary-value.positive{color:var(--color-success)}.tax-summary-value.negative{color:var(--color-warning)}.tax-planner-edit-icon,.tax-adjustments-add-label,.tax-adjustments-mobile-list{display:none}.tax-planner-header{align-items:flex-start;margin-bottom:.5rem}.tax-planner-header h2{margin-bottom:.2rem}.tax-planner-header p{margin:0;color:var(--color-muted);font-size:.85rem}@media(max-width:500px){.tax-planner-header{align-items:center}.tax-planner-header h2,.tax-planner-header p{margin:0}.tax-planner-header p{margin-top:.2rem;font-size:.8rem}.tax-planner-edit-button,.tax-adjustments-add-icon{display:none}.tax-planner-edit-icon{display:inline-flex;width:2.25rem;height:2.25rem}.tax-summary-grid{grid-template-columns:1fr;gap:0;margin-bottom:var(--spacing-sm);border:1px solid var(--color-border);border-radius:10px}.tax-summary-card{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .75rem;border:0;border-bottom:1px solid var(--color-border);border-radius:0;background:transparent}.tax-summary-card:last-child{border-bottom:0}.tax-summary-card:first-child{border-top-left-radius:9px;border-top-right-radius:9px}.tax-summary-card:last-child{border-bottom-right-radius:9px;border-bottom-left-radius:9px}.tax-summary-card-primary{background:var(--color-surface-subtle)}.tax-summary-label{margin:0}.tax-summary-value{flex-shrink:0;font-size:1.2rem;text-align:right}.tax-summary-card-primary .tax-summary-value{font-size:1.3rem}.tax-adjustments-add-label{display:inline-flex}.tax-adjustments-table{display:none}.tax-adjustments-mobile-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.tax-plan-table,.tax-plan-table tbody,.tax-plan-table tr,.tax-plan-table td{display:block;width:100%!important}.tax-plan-table tbody>tr:first-child{display:none}.tax-plan-table tr:not(.budget-category-row){margin-top:var(--spacing-sm);padding:.75rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-card)}.tax-plan-table tr:not(.budget-category-row) td{padding:.3rem 0;border:0}.tax-plan-table tr:not(.budget-category-row) td:before{display:block;margin-bottom:.1rem;color:var(--color-muted);font-size:.72rem;font-weight:600}.tax-plan-table tr:not(.budget-category-row) td:nth-child(1):before{content:"Name"}.tax-plan-table tr:not(.budget-category-row) td:nth-child(2):before{content:"Amount"}.tax-plan-table tr:not(.budget-category-row) td:nth-child(3):before{content:"Calculation"}.tax-plan-table tr:not(.budget-category-row) td:nth-child(4):before{content:"Explanation"}.tax-plan-table .budget-category-row{margin-top:var(--spacing-sm)}.tax-plan-table .budget-category-row td{padding:0;border:0;background:transparent}.tax-plan-table .budget-category-toggle{padding:.75rem;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-subtle)}}.tax-plan-table{width:100%;table-layout:fixed;border-collapse:collapse;margin-top:1rem}.tax-plan-table th,.tax-plan-table td{padding:.75rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;min-width:0}.tax-plan-table th{font-weight:600}.tax-plan-table th:nth-child(1),.tax-plan-table td:nth-child(1){width:16%}.tax-plan-table th:nth-child(2),.tax-plan-table td:nth-child(2){width:12%}.tax-plan-table th:nth-child(3),.tax-plan-table td:nth-child(3){width:22%}.tax-plan-table th:nth-child(4),.tax-plan-table td:nth-child(4){width:50%;white-space:normal;word-break:break-word;overflow-wrap:break-word;line-height:1.45}.tax-plan-table .budget-category-row td{padding:0;background:var(--color-surface-subtle)}.tax-plan-table .budget-category-toggle{width:100%}.tax-plan-table .budget-category-info{flex:1}.funds-page{display:flex;flex-direction:column;gap:var(--spacing-sm)}.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}.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{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}.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}.modal-account h3{margin-bottom:1rem;font-size:1.1rem;padding-bottom:.5rem;border-bottom:1px solid var(--color-border)}.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:.25rem}.allocation-summary{display:flex;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:640px){.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)}.accounts-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.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)}.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)}.fund-no-plan{margin:var(--spacing-md) 0 0}.credit-cards-section{margin-top:var(--spacing-sm)}.credit-card-empty{margin:0}.credit-card-card{box-shadow:var(--shadow-soft)}.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-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}.cash-account-section{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md);background:var(--color-card)}.account-title{align-items:flex-start;gap:var(--spacing-md)}.account-title>div:first-child{flex:1}.account-title>div:first-child>strong{display:block;font-size:1.1rem}.account-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.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-overallocated strong{color:var(--color-error)}.fund-table-wrap{overflow-x:auto}.fund-table{min-width:59rem;table-layout:fixed}.fund-table th:nth-child(1),.fund-table td:nth-child(1){width:4%}.fund-table th:nth-child(2),.fund-table td:nth-child(2){width:18%}.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:15%}.fund-table th:nth-child(5),.fund-table td:nth-child(5),.fund-table th:nth-child(6),.fund-table td:nth-child(6){width:11%}.fund-table th:nth-child(7),.fund-table td:nth-child(7){width:17%}.fund-table th:nth-child(8),.fund-table td:nth-child(8){width:11%}.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-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-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-actions-cell .action-buttons{justify-content:flex-end;flex-wrap:nowrap}@media(max-width:640px){.account-title,.credit-card-card-header,.credit-card-opening-reserve-header{flex-direction:column}.fund-plan-grid,.credit-card-stats,.credit-card-payment-summary{grid-template-columns:1fr}.fund-plan-grid span,.credit-card-stats span,.credit-card-payment-summary span{margin-top:.35rem}.credit-card-covered-allocation{grid-template-columns:1fr}.cash-account-section{padding:var(--spacing-sm)}.account-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fund-table-wrap{overflow:visible}.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{align-items:flex-start;padding-left:2.6rem}.fund-table td>.fund-cell-value,.fund-table td.fund-name-cell>*{width:58%;text-align:right}.fund-progress-cell,.fund-actions-cell .action-buttons{width:58%}}.summary-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.reports-page-header h2,.reports-page-header p,.reports-chart-header h3,.reports-chart-header p{margin:0}.reports-page-header p,.reports-chart-header p,.reports-note{color:var(--color-muted);margin-top:var(--spacing-xs)}.reports-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:var(--spacing-lg)}.reports-overview-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.reports-overview-divider{height:1px;background:var(--color-border)}.reports-toolbar,.reports-controls,.reports-filters,.reports-chart-header,.reports-view-toggle,.reports-summary{display:flex;align-items:center;gap:var(--spacing-sm)}.reports-toolbar{justify-content:space-between;flex-wrap:wrap}.reports-controls{flex-wrap:wrap}.reports-preset-button,.reports-view-toggle button,.reports-selector button{border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text);border-radius:var(--radius);font:inherit;cursor:pointer}.reports-preset-button,.reports-view-toggle button{padding:.5rem .75rem}.reports-preset-button:hover,.reports-view-toggle button:hover,.reports-selector button:hover{background:var(--color-surface-hover)}.reports-preset-button:focus-visible,.reports-view-toggle button:focus-visible,.reports-selector button:focus-visible,.reports-filters input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.reports-preset-button.active,.reports-view-toggle button.active,.reports-selector button.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.reports-filters{flex-wrap:wrap}.reports-filters label{display:grid;gap:.25rem;color:var(--color-muted);font-size:.8rem}.reports-filters input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-card);color:var(--color-text);font:inherit;padding:.45rem .6rem}.reports-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--spacing-sm)}.reports-selector button{display:grid;gap:.3rem;min-height:6.25rem;padding:var(--spacing-md);text-align:left}.reports-selector button strong{font-size:1rem}.reports-selector button span{color:var(--color-muted);font-size:.85rem}.reports-selector button.active span{color:var(--color-text-inverse)}.reports-content{min-width:0}.reports-chart-header{justify-content:space-between;flex-wrap:wrap;margin-bottom:var(--spacing-md)}.reports-chart-header>:first-child{margin-right:auto}.reports-summary{align-items:stretch;margin-bottom:var(--spacing-md)}.reports-summary-card{flex:1;display:grid;gap:.35rem;padding:1rem 1.25rem;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-subtle)}.reports-summary-card span{color:var(--color-muted);font-size:.85rem}.reports-summary-card strong{font-size:1.4rem}.reports-chart-card{width:100%;min-height:20rem}.reports-chart-card .recharts-default-tooltip{background:var(--color-card)!important;border-color:var(--color-border)!important;color:var(--color-text)!important}.reports-chart-card .recharts-tooltip-label,.reports-chart-card .recharts-tooltip-item{color:var(--color-text)!important}.reports-fund-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin-bottom:var(--spacing-sm)}.reports-fund-legend-title{color:var(--color-text);font-size:.85rem}.reports-fund-legend-item{display:inline-flex;align-items:center;gap:.4rem;color:var(--color-text);font-size:.85rem}.reports-fund-legend-item i{width:.75rem;height:.75rem;border-radius:999px}.summary-table{width:100%;border-collapse:collapse}.summary-table th,.summary-table td{padding:.75rem;border-bottom:1px solid var(--color-border);text-align:left}.summary-table th{color:var(--color-muted);font-size:.9rem}.summary-table tbody tr:hover{background:var(--color-surface-hover)}.reports-empty{margin:0;padding:var(--spacing-lg) 0;color:var(--color-muted);text-align:center}.reports-positive{color:var(--color-success)}.reports-negative{color:var(--color-error)}@media(max-width:900px){.reports-selector{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:620px){.reports-section{padding:var(--spacing-md)}.reports-summary,.reports-selector{grid-template-columns:1fr;flex-direction:column}.reports-summary-card,.reports-filters label,.reports-filters input,.reports-filters .primary-button{width:100%}.summary-table{min-width:36rem}.reports-content{overflow-x:auto}}.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}.google-login-section{display:flex;flex-direction:column;align-items:center;gap:.55rem;margin-top:var(--spacing-md)}.google-login-note{margin:0;color:var(--color-muted);font-size:.85rem;text-align:center}.auth-divider{display:flex;align-items:center;gap:var(--spacing-sm);margin:var(--spacing-md) 0;color:var(--color-muted);font-size:.85rem}.auth-divider:before,.auth-divider:after{flex:1;height:1px;background:var(--color-border);content:""}.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)}.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}}.app-root{min-height:100vh;display:flex;flex-direction:column}.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:500px){.app-content{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}}@media(max-width:500px){.content-container{padding:0}.app-content{padding:0 .75rem calc(4.5rem + 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}}.admin-dashboard{display:flex;flex-direction:column;gap:var(--spacing-lg)}.admin-dashboard-header h1,.admin-dashboard-header p,.admin-section-heading h2,.admin-section-heading p,.admin-stat-card p{margin:0}.admin-dashboard-header{display:flex;justify-content:space-between;gap:var(--spacing-md)}.admin-dashboard-header h1{margin-top:.25rem;margin-bottom:.5rem}.admin-dashboard-header>div>p:last-child,.admin-section-heading p{color:var(--color-muted)}.admin-dashboard-eyebrow{color:var(--color-primary);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-section-heading{margin-bottom:var(--spacing-sm)}.admin-section-heading h2{font-size:1.1rem}.admin-section-heading p{margin-top:.25rem;font-size:.9rem}.admin-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:var(--spacing-md)}.admin-dashboard-grid-featured{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}.admin-stat-card{display:flex;align-items:flex-start;gap:var(--spacing-sm);min-width:0;padding:var(--spacing-md)}.admin-stat-icon{display:grid;place-items:center;flex:0 0 auto;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--color-surface-hover);color:var(--color-primary)}.admin-stat-icon.success{background:var(--color-success-subtle);color:var(--color-success)}.admin-stat-icon.info{background:var(--color-info-subtle);color:var(--color-info)}.admin-stat-icon.warning{background:var(--color-warning-subtle);color:var(--color-warning)}.admin-stat-label{color:var(--color-muted);font-size:.9rem;font-weight:600}.admin-stat-value{display:block;margin-top:.2rem;color:var(--color-text);font-size:1.75rem;line-height:1.15}.admin-stat-description{margin-top:.35rem!important;color:var(--color-muted);font-size:.8rem;line-height:1.35}.admin-subscriptions-card{overflow-x:auto}.admin-subscriptions-card .styled-table{min-width:52rem}@media(max-width:600px){.admin-dashboard{gap:var(--spacing-md)}.admin-dashboard-grid,.admin-dashboard-grid-featured{grid-template-columns:1fr}}.admin-announcements-card{padding:0}.admin-announcements-empty{margin:0;padding:var(--spacing-lg);color:var(--color-muted)}.admin-announcements-section-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.admin-announcements-section-heading h2,.admin-announcements-section-heading p{margin:0}.admin-announcements-section-heading h2{font-size:1.1rem}.admin-announcements-section-heading p{margin-top:.35rem;color:var(--color-muted);font-size:.9rem}.admin-announcements-table-wrap{overflow-x:auto}.admin-announcements-table{margin:0;min-width:48rem}.admin-announcements-table td{vertical-align:top}.admin-announcements-table th:first-child{width:34%}.admin-announcement-message{display:block;margin-top:.25rem;color:var(--color-muted);line-height:1.4}.admin-announcement-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.announcement-toggle-button{background:var(--color-surface-hover);color:var(--color-text)}.announcement-toggle-button:hover{background:var(--color-primary);color:var(--color-text-inverse)}.announcement-toggle-button.active{background:var(--color-warning-subtle);color:var(--color-status-warning)}.announcement-toggle-button.active:hover{background:var(--color-warning);color:var(--color-text-inverse)}.admin-announcement-status{padding:.15rem .5rem;border-radius:999px;background:var(--color-surface-hover);color:var(--color-muted);font-size:.8rem;font-weight:600}.admin-announcement-status.active{background:var(--color-success-subtle);color:var(--color-success)}.announcement-active-field{display:flex;align-items:center;align-self:end;gap:.5rem;min-height:42px}.admin-announcements-history{border-top:1px solid var(--color-border)}.admin-announcements-history summary{padding:var(--spacing-md);color:var(--color-primary);font-weight:600;cursor:pointer}.admin-announcements-history summary:hover{background:var(--color-surface-hover)}@media(max-width:700px){.admin-dashboard-header{flex-direction:column}.admin-announcements-section-heading{align-items:flex-start;flex-direction:column}}.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-danger-zone{border:1px solid color-mix(in srgb,var(--color-error) 35%,var(--color-border))}.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}.settings-billing p{color:var(--color-muted);line-height:1.5}.settings-billing-actions{justify-content:flex-start}.settings-muted{margin-top:var(--spacing-sm)!important}@media(max-width:640px){.settings-danger-action{align-items:flex-start;flex-direction:column}}.sessions-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.sessions-page .page-header{gap:var(--spacing-sm)}.sessions-page .page-header p{margin:.35rem 0 0}.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 h3,.session-card p{margin:0}.session-card p+p{margin-top:.4rem}@media(max-width:640px){.sessions-page .page-header,.session-card{align-items:flex-start;flex-direction:column}}.data-import-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.data-import-page .page-header{display:flex;justify-content:space-between;gap:var(--spacing-lg)}.data-import-page .page-header h2,.data-import-page .page-header p{margin:0}.data-import-page .page-header p{color:var(--color-muted);margin-top:.4rem;max-width:760px}.import-table-wrap{overflow-x:auto}.import-table-wrap select{max-width:180px}.import-table-wrap .styled-table{table-layout:fixed}.import-table-wrap .styled-table th:nth-child(1){width:13%}.import-table-wrap .styled-table th:nth-child(2){width:19%}.import-table-wrap .styled-table th:nth-child(3){width:12%}.import-table-wrap .styled-table th:nth-child(4){width:18%}.import-table-wrap .styled-table th:nth-child(5){width:18%}.import-table-wrap .styled-table th:nth-child(6){width:12%}.import-table-wrap .styled-table th:nth-child(7){width:8%}.import-table-wrap .styled-table th:nth-child(2),.import-table-wrap .styled-table td:nth-child(2){overflow-wrap:anywhere}.import-amount{font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.import-amount.expense{color:var(--color-error)}.import-amount.income{color:var(--color-success)}.import-review-toolbar,.import-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);margin:var(--spacing-md) 0}.import-review-toolbar{justify-content:flex-end}.import-review-toolbar label{display:flex;align-items:center;gap:var(--spacing-xs)}.import-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.import-list>div{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius)}.import-list span:last-child{display:flex;gap:var(--spacing-xs)}.import-help-text{grid-column:1 / -1;margin:0;color:var(--color-muted)}.import-rule-summary{margin-top:var(--spacing-md);color:var(--color-muted)}.import-rule-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.import-rules-details{margin-top:var(--spacing-sm)}.import-rules-details summary{cursor:pointer;color:var(--color-primary);font-weight:600}.import-rule-list>div{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius)}.import-status{display:inline-block;border-radius:999px;padding:.16rem .46rem;font-size:.78rem;font-weight:600;text-align:center;background:var(--color-border)}.import-status-ready{color:var(--color-status-success);background:var(--color-success-subtle)}.import-status-needs_fund,.import-status-needs_classification{color:var(--color-status-warning);background:var(--color-warning-subtle)}.import-status-invalid{color:var(--color-status-error);background:var(--color-error-subtle)}.import-status-possible_duplicate{color:var(--color-info);background:var(--color-info-subtle)}.import-status-skipped{color:var(--color-muted)}.import-row-needs_fund td,.import-row-needs_classification td{background:color-mix(in srgb,var(--color-warning-subtle) 45%,transparent)}.import-row-invalid td{background:color-mix(in srgb,var(--color-error-subtle) 50%,transparent)}.import-row-possible_duplicate td{background:color-mix(in srgb,var(--color-info-subtle) 45%,transparent)}.completed-import-notice{border:1px solid color-mix(in srgb,var(--color-primary) 35%,var(--color-border))}.completed-import-notice p{color:var(--color-muted)}.debts-page,.debts-overview-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.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}.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}.debts-sort-field{min-width:190px;margin:0}.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-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-planner-inputs{grid-template-columns:minmax(180px,1.1fr) repeat(3,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-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-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{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.debts-summary-grid,.debt-stat-grid,.debt-planner-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.debts-list-header,.debt-detail-header{align-items:stretch}.debts-sort-field{min-width:0;width:100%}}@media(max-width:460px){.debts-summary-grid,.debt-stat-grid,.debt-planner-inputs{grid-template-columns:1fr}.debt-history-row{flex-direction:column}.debt-history-amount{align-items:flex-start}}.investments-page,.investments-list-card,.investment-detail-card,.investment-planner,.investment-retirement,.investment-history{display:flex;flex-direction:column;gap:var(--spacing-md)}.investments-overview-card,.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{align-items:stretch;flex-direction:column}.investment-inputs,.retirement-grid{grid-template-columns:1fr}}.investment-balance{padding:0;border:0}.investments-list-header{align-items:flex-start}.investments-sort-field{min-width:170px;margin:0}:root{--color-primary: #374d7f;--color-primary-hover: #162036;--color-accent: #f3b241;--color-bg: #f4f0e5;--color-card: #ffffff;--color-surface-subtle: #fafafa;--color-surface-hover: #f3f4f6;--color-text: #1a1a1a;--color-text-inverse: #ffffff;--color-muted: #6b7280;--color-border: #e5e7eb;--color-overlay: rgb(0 0 0 / .45);--color-disabled-bg: #e0e0e0;--color-disabled-text: #9e9e9e;--color-error: #b91c1c;--color-error-subtle: #fee2e2;--color-success: #15803d;--color-success-subtle: #dcfce7;--color-warning: #d97706;--color-warning-subtle: #fef3c7;--color-info: #1d4ed8;--color-info-subtle: #dbeafe;--color-transfer: #2563eb;--color-theme-sun: #f59e0b;--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}*,*: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)}.card h2,.card h3,.card h4{margin-top:0;margin-bottom:1rem}.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:hover{background:var(--color-surface-subtle)}.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:none}.tooltip-popup:after{content:"";position:absolute;left:var(--tooltip-arrow-left);transform:translate(-50%);border-width:6px;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-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-theme-sun: #fbbf24;--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-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-theme-sun: #fbbf24;--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-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-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-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:transform .2s ease}.navbar-theme-toggle:not(.dark) .navbar-theme-toggle-thumb{background:var(--color-theme-sun)}.navbar-theme-toggle.dark .navbar-theme-toggle-thumb{right:.2rem;left:auto}.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-theme-sun)}.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{padding:.75rem;border:none;background:transparent;color:var(--color-text);font:inherit;text-align:left;border-radius:10px;cursor:pointer}.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:500px){.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)}.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-link:hover,.mobile-navbar-link:focus-visible{background:var(--color-surface-hover);color:var(--color-primary)}.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)));padding:.5rem;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{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: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%)}}
