:root{color-scheme:light;--bp-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--bp-color-bg: #f7f5f1;--bp-color-surface: #fffdfa;--bp-color-surface-muted: #eeebe4;--bp-color-text: #1f2523;--bp-color-text-muted: #68726d;--bp-color-border: #d9d5cb;--bp-color-primary: #315c48;--bp-color-primary-strong: #224333;--bp-color-primary-soft: #dce8df;--bp-color-accent: #8b5e34;--bp-color-info: #365f7c;--bp-color-warning: #9a6b1f;--bp-color-danger: #9b3d35;--bp-color-focus: #2d7a5b;--bp-space-1: .25rem;--bp-space-2: .5rem;--bp-space-3: .75rem;--bp-space-4: 1rem;--bp-space-5: 1.25rem;--bp-space-6: 1.5rem;--bp-space-8: 2rem;--bp-space-10: 2.5rem;--bp-space-12: 3rem;--bp-space-16: 4rem;--bp-radius-sm: .375rem;--bp-radius-md: .5rem;--bp-radius-lg: .75rem;--bp-shadow-sm: 0 1px 2px rgb(31 37 35 / .08);--bp-shadow-md: 0 10px 30px rgb(31 37 35 / .1);--bp-text-xs: .75rem;--bp-text-sm: .875rem;--bp-text-base: 1rem;--bp-text-lg: 1.125rem;--bp-text-xl: 1.375rem;--bp-text-2xl: 1.75rem;--bp-text-3xl: 2.25rem;--bp-breakpoint-sm: 40rem;--bp-breakpoint-md: 48rem;--bp-breakpoint-lg: 64rem;--bp-breakpoint-xl: 80rem}*{box-sizing:border-box}html{min-height:100%;background:var(--bp-color-bg);color:var(--bp-color-text);font-family:var(--bp-font-sans)}body{min-height:100vh;margin:0;background:var(--bp-color-bg)}button,input,select,textarea{font:inherit}a{color:inherit}.bp-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--bp-space-2);min-height:2.5rem;padding:0 var(--bp-space-4);border:1px solid transparent;border-radius:var(--bp-radius-md);cursor:pointer;font-size:var(--bp-text-sm);font-weight:700;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.bp-button:focus-visible,.bp-input:focus-visible,.bp-select:focus-visible,select:not([multiple]):focus-visible{outline:2px solid var(--bp-color-focus);outline-offset:2px}.bp-button--sm{min-height:2.125rem;padding:0 var(--bp-space-3)}.bp-button--primary{background:var(--bp-color-primary);color:#fff}.bp-button--primary:hover{background:var(--bp-color-primary-strong)}.bp-button--secondary{border-color:var(--bp-color-border);background:var(--bp-color-surface);color:var(--bp-color-text)}.bp-button--secondary:hover{border-color:var(--bp-color-primary);background:var(--bp-color-surface-muted)}.bp-button--ghost{background:transparent;color:var(--bp-color-primary-strong)}.bp-button--ghost:hover{background:var(--bp-color-primary-soft)}.bp-button--danger{border-color:color-mix(in srgb,var(--bp-color-danger) 32%,var(--bp-color-border));background:var(--bp-color-surface);color:var(--bp-color-danger)}.bp-button--danger:hover{border-color:var(--bp-color-danger);background:color-mix(in srgb,var(--bp-color-danger) 10%,var(--bp-color-surface))}.bp-button:hover:not(:disabled),.bp-button:focus-visible:not(:disabled){box-shadow:var(--bp-shadow-sm)}.bp-button:hover:not(:disabled){transform:translateY(-1px)}.bp-button:active:not(:disabled){transform:translateY(0);box-shadow:none}.bp-button:disabled,.bp-button[aria-disabled=true]{cursor:not-allowed;opacity:.52}.bp-button[aria-busy=true]{cursor:wait}button:not(.bp-button){min-height:2.75rem;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,background-color .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}button:not(.bp-button):hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--bp-shadow-sm)}button:not(.bp-button):active:not(:disabled){transform:translateY(0);box-shadow:none}button:not(.bp-button):focus-visible{outline:2px solid var(--bp-color-focus);outline-offset:2px}button:not(.bp-button):disabled{cursor:not-allowed;opacity:.52}@media(prefers-reduced-motion:reduce){.bp-button,button:not(.bp-button){transition:none}.bp-button:hover:not(:disabled),button:not(.bp-button):hover:not(:disabled){transform:none}}.bp-input,.bp-select,select:not([multiple]){appearance:none;width:100%;min-height:2.75rem;padding:0 2.5rem 0 var(--bp-space-3);border:1px solid var(--bp-color-border);border-radius:var(--bp-radius-md);background:var(--bp-color-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m4 6 4 4 4-4' stroke='%2368726d' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right var(--bp-space-3) center;background-repeat:no-repeat;background-size:1rem;color:var(--bp-color-text);cursor:pointer;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease}.bp-select:hover,select:not([multiple]):hover{border-color:var(--bp-color-primary);background:var(--bp-color-surface-muted)}.bp-select:focus-visible,select:not([multiple]):focus-visible{border-color:var(--bp-color-focus);box-shadow:var(--bp-shadow-sm)}.bp-select:disabled,select:not([multiple]):disabled{cursor:not-allowed;opacity:.58}option{padding:var(--bp-space-2) var(--bp-space-3);background:var(--bp-color-surface);color:var(--bp-color-text)}@media(prefers-reduced-motion:reduce){.bp-select,select:not([multiple]){transition:none}}.bp-input::placeholder{color:var(--bp-color-text-muted)}html input[type=date]{min-height:2.75rem;padding:0 var(--bp-space-3);border:1px solid var(--bp-color-border);border-radius:var(--bp-radius-md);background:var(--bp-color-surface);color:var(--bp-color-text);color-scheme:light}html input[type=date]::-webkit-calendar-picker-indicator{padding:var(--bp-space-1);cursor:pointer;opacity:.75}html input[type=date]:focus-visible{outline:2px solid var(--bp-color-focus);outline-offset:2px}html,body{overflow-x:hidden}button,input,select,textarea{max-width:100%}@media(max-width:52rem){.shell__topbar,.shell__content{min-width:0}.shell__topbar>div:first-child{min-width:0}.shell__topbar strong{overflow-wrap:anywhere}.shell__filters{min-width:0}.shell__month input,.shell__quick-add,.shell__sign-out{min-height:2.75rem}.shell__sidebar{padding-bottom:calc(var(--bp-space-2) + env(safe-area-inset-bottom))}.shell__nav-link{min-height:2.75rem;display:inline-flex;align-items:center}:where(.accounts-page__header-actions,.calendar-page__header-actions,.dashboard__header-actions,.settings-page__header-actions){width:100%;justify-content:flex-start}}:where(.budgets-page,.bills-page,.recurring-page,.subscriptions-page,.goals-page,.alerts-container,.imports-page,.comparison-page,.analytics-charts){width:min(72rem,100%);min-width:0;margin:0 auto;padding:var(--bp-space-8) var(--bp-space-5)}:where(.budgets-header,.bills-page>header,.recurring-page>header,.subscriptions-page>header,.goals-header,.alerts-header,.imports-header,.comparison-header,.analytics-charts__header){display:flex;align-items:flex-start;justify-content:space-between;gap:var(--bp-space-4);flex-wrap:wrap}:where(.accounts-page__header,.calendar-page__header,.dashboard__header,.net-worth-page__header,.reports-header,.settings-page__header){display:flex;align-items:flex-start;justify-content:space-between;gap:var(--bp-space-5);flex-wrap:wrap}:where(.accounts-page__header-actions,.calendar-page__header-actions,.dashboard__header-actions,.settings-page__header-actions){display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--bp-space-2)}:where(.accounts-page__card,.settings-page__card,.dashboard__panel,.net-worth-page__card,.report-section,.calendar-page__panel){border-radius:var(--bp-radius-md)}.planning-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:var(--bp-space-5);background:#0f172a7a}.planning-modal{width:min(42rem,100%);max-height:min(90vh,52rem);overflow:auto;padding:var(--bp-space-6);border:1px solid var(--bp-color-border);border-radius:var(--bp-radius-md);background:var(--bp-color-surface);box-shadow:0 1.5rem 4rem #0f172a3d}@media(max-width:40rem){.planning-modal-backdrop{align-items:end;padding:0}.planning-modal{max-height:94vh;border-radius:var(--bp-radius-md) var(--bp-radius-md) 0 0;padding:var(--bp-space-5) var(--bp-space-4)}}:where(.content-grid,.budget-content,.alerts-content,.overview-section,.analytics-chart-grid,.expense-kind-grid){min-width:0}:where(.content-grid){display:grid;grid-template-columns:minmax(0,1.4fr) minmax(16rem,.6fr);gap:var(--bp-space-5)}:where(.overall-metrics,.overview-metrics,.expense-kind-grid,.metric-grid,.goal-metrics){display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--bp-space-4)}:where(.form-row,.form-grid,.mapping-form){min-width:0}:where(.preview-table-wrap,.report-table-wrap,.table-wrap){max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}:where(table){max-width:100%}.budget-editor{display:flex;align-items:flex-end;flex-wrap:wrap;gap:var(--bp-space-4);margin-bottom:var(--bp-space-6);padding:var(--bp-space-4);border:1px solid var(--bp-color-border);border-radius:var(--bp-radius-md);background:var(--bp-color-surface)}.budget-editor label{display:grid;min-width:min(18rem,100%);gap:var(--bp-space-2);color:var(--bp-color-text-muted);font-size:var(--bp-text-sm);font-weight:700}.budget-editor input{min-height:2.75rem;padding:0 var(--bp-space-3);border:1px solid var(--bp-color-border);border-radius:var(--bp-radius-sm);background:var(--bp-color-surface);color:var(--bp-color-text)}.budget-editor__actions{display:flex;flex-wrap:wrap;gap:var(--bp-space-2)}.budgets-page .btn-primary,.budgets-page .btn-secondary{min-height:2.75rem;padding:0 var(--bp-space-4);border:1px solid transparent;border-radius:var(--bp-radius-sm);cursor:pointer;font:inherit;font-weight:700}.page-status,.page-error{margin:0 0 var(--bp-space-4);padding:var(--bp-space-3) var(--bp-space-4);border-radius:var(--bp-radius-sm);font-size:var(--bp-text-sm)}.page-status{background:var(--bp-color-surface-muted);color:var(--bp-color-text-muted)}.page-error{border:1px solid var(--bp-color-danger);background:color-mix(in srgb,var(--bp-color-danger) 8%,var(--bp-color-surface));color:var(--bp-color-danger);font-weight:700}.budgets-page .btn-primary{background:var(--bp-color-primary);color:var(--bp-color-on-primary, #fff)}.budgets-page .btn-secondary{border-color:var(--bp-color-border);background:var(--bp-color-surface);color:var(--bp-color-text)}@media(max-width:40rem){.shell{padding-bottom:4.75rem}.shell__topbar{align-items:stretch;padding:var(--bp-space-3) var(--bp-space-4)}.shell__filters{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:var(--bp-space-2)}.shell__filters app-segmented-control{grid-column:1/-1;min-width:0}.shell__filters .segmented{width:100%}.shell__filters .segmented__option{flex:1 1 auto;min-width:0;padding-inline:var(--bp-space-2)}.shell__month{min-width:0}.shell__quick-add,.shell__sign-out{padding-inline:var(--bp-space-3);white-space:nowrap}:where(.budgets-page,.bills-page,.recurring-page,.subscriptions-page,.goals-page,.alerts-container,.imports-page,.comparison-page,.analytics-charts){padding:var(--bp-space-6) var(--bp-space-4)!important}:where(.budgets-header,.bills-page>header,.recurring-page>header,.subscriptions-page>header,.goals-header,.alerts-header,.imports-header,.comparison-header,.analytics-charts__header){display:grid}:where(.content-grid){grid-template-columns:1fr!important}:where(.overall-metrics,.overview-metrics,.expense-kind-grid,.metric-grid,.goal-metrics){grid-template-columns:repeat(2,minmax(0,1fr))!important}:where(.form-row,.form-grid,.mapping-form){grid-template-columns:1fr!important}:where(.form-section,.goal-form,.contribution-form,.step-card,.overall-budget-section){padding:var(--bp-space-4)!important}:where(.line-header,.upcoming-item,.budget-line-card .line-header){align-items:flex-start;flex-wrap:wrap;gap:var(--bp-space-2)}:where(.line-amounts,.upcoming-item .amount){white-space:nowrap}:where(.budgets-page,.bills-page,.recurring-page,.subscriptions-page,.goals-page,.alerts-container,.imports-page,.comparison-page,.analytics-charts,.dashboard,.accounts-page,.transactions-page,.calendar-page,.net-worth-page,.reports-page,.settings-page){overflow-wrap:anywhere}:where(.bill-header,.rule-header,.sub-header,.alert-header-row,.goal-card-header,.goal-amounts,.budget-line-card .line-header,.net-worth-page__list li,.settings-page__member-row,.settings-page__account-row,.settings-page__alert-row){min-width:0;align-items:flex-start;row-gap:var(--bp-space-2)}:where(.bill-header>*,.rule-header>*,.sub-header>*,.alert-header-row>*,.goal-card-header>*,.goal-amounts>*,.budget-line-card .line-header>*,.net-worth-page__list li>*,.settings-page__member-row>*,.settings-page__account-row>*,.settings-page__alert-row>*){min-width:0;max-width:100%;overflow-wrap:anywhere}:where(.bill-header .amount,.rule-header .amount,.sub-header .amount,.alert-date){white-space:normal;text-align:left}:where(.goal-actions,.bill-actions,.rule-actions,.sub-actions,.export-actions){width:100%;max-width:100%}:where(.goal-actions button,.bill-actions button,.rule-actions button,.sub-actions button){min-height:2.75rem}:where(.net-worth-page__trend-value,.accounts-page__history-item small){white-space:normal!important;text-align:center;overflow-wrap:anywhere}:where(.settings-page__member-input,.settings-page__threshold-input input){width:min(100%,16rem)}.settings-page__member-add{align-items:stretch;flex-direction:column}.settings-page__member-add .settings-page__action{width:100%}.budget-editor{align-items:stretch;flex-direction:column}.budget-editor label,.budget-editor__actions,.budget-editor__actions button{width:100%}.budget-editor__actions{flex-direction:column}:where(.form-actions,.goal-actions,.bill-actions,.rule-actions,.sub-actions){display:flex;flex-wrap:wrap;gap:var(--bp-space-2)}:where(.step-card,.form-section,.list-section,.upcoming-container,.overall-budget-section){min-width:0;max-width:100%}:where(.bill-header,.rule-header,.sub-header,.alert-header-row){flex-wrap:wrap;gap:var(--bp-space-2)}}@media(max-width:22rem){:where(.overall-metrics,.overview-metrics,.expense-kind-grid,.metric-grid,.goal-metrics){grid-template-columns:1fr}.shell__filters{grid-template-columns:1fr}.shell__filters app-segmented-control{grid-column:auto}}.transactions-page__row-actions{position:relative;grid-column:3;grid-row:1;align-self:center;color:var(--bp-color-text-muted);font-size:var(--bp-text-sm)}.transactions-page__row-actions summary{min-height:2.25rem;padding:0 var(--bp-space-3);border:1px solid var(--bp-color-border);border-radius:var(--bp-radius-sm);background:var(--bp-color-surface);color:var(--bp-color-text);font-weight:700;line-height:2.125rem;cursor:pointer;list-style:none}.transactions-page__row-actions summary::-webkit-details-marker{display:none}.transactions-page__row-action-menu{position:absolute;right:0;z-index:2;display:grid;min-width:8.5rem;padding:var(--bp-space-2);border:1px solid var(--bp-color-border);border-radius:var(--bp-radius-sm);background:var(--bp-color-surface);box-shadow:var(--bp-shadow-md)}.transactions-page__row-button{width:100%;justify-content:flex-start}
