:root{color-scheme:light;--ff-bg-default: #f8fafc;--ff-bg-surface: #ffffff;--ff-bg-subtle: #f1f5f9;--ff-bg-elevated: #ffffff;--ff-text-primary: #0f172a;--ff-text-secondary: #475569;--ff-text-muted: #64748b;--ff-border-default: #e2e8f0;--ff-accent-primary: #2563eb;--ff-accent-info: #0ea5e9;--ff-accent-success: #047857;--ff-accent-warning: #b45309;--ff-accent-danger: #b91c1c;--ff-primary-soft: rgba(37, 99, 235, .1);--ff-info-soft: rgba(14, 165, 233, .1);--ff-success-soft: rgba(4, 120, 87, .11);--ff-danger-soft: rgba(185, 28, 28, .1);--ff-warning-soft: rgba(180, 83, 9, .12);--ff-font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;--ff-font-size-xs: 12px;--ff-font-size-sm: 14px;--ff-font-size-md: 16px;--ff-font-size-lg: 20px;--ff-font-size-xl: 24px;--ff-font-size-2xl: 32px;--ff-space-1: 4px;--ff-space-2: 8px;--ff-space-3: 12px;--ff-space-4: 16px;--ff-space-6: 24px;--ff-space-8: 32px;--ff-space-10: 40px;--ff-space-12: 48px;--ff-radius-sm: 8px;--ff-radius-md: 12px;--ff-radius-lg: 16px;--ff-radius-xl: 20px;--ff-duration-fast: .12s;--ff-duration-base: .16s;--ff-duration-enter: .18s;--ff-duration-drawer: .22s;--ff-ease-standard: cubic-bezier(.2, 0, 0, 1);--ff-shadow-subtle: 0 8px 24px rgba(15, 23, 42, .06);--ff-hover-shadow-subtle: 0 8px 22px rgba(15, 23, 42, .08);--ff-row-hover: rgba(37, 99, 235, .06);--ff-background: var(--ff-bg-default);--ff-foreground: var(--ff-text-primary);--ff-surface: var(--ff-bg-surface);--ff-surface-muted: var(--ff-bg-subtle);--ff-surface-raised: var(--ff-bg-elevated);--ff-border: var(--ff-border-default);--ff-muted: var(--ff-text-muted);--ff-sidebar: var(--ff-bg-surface);--ff-sidebar-text: var(--ff-text-primary);--ff-sidebar-border: var(--ff-border-default);--ff-shadow: var(--ff-shadow-subtle);--ff-hover-shadow: var(--ff-hover-shadow-subtle)}*{box-sizing:border-box}body{background:var(--ff-background);color:var(--ff-foreground);font-family:var(--ff-font-family);margin:0;min-width:320px}html.ff-theme-dark,html.ff-theme-dark body,html.ff-theme-dark #root{background:#0b1220;color:#e5f0ff}.theme-root{background:var(--ff-background);color-scheme:light;color:var(--ff-foreground);min-height:100vh}html.ff-theme-dark,body.ff-theme-dark,.theme-root.dark{color-scheme:dark;--ff-bg-default: #0b1220;--ff-bg-surface: #111827;--ff-bg-subtle: #172033;--ff-bg-elevated: #172033;--ff-text-primary: #e5f0ff;--ff-text-secondary: #cbd5e1;--ff-text-muted: #94a3b8;--ff-border-default: rgba(255, 255, 255, .1);--ff-accent-primary: #0ea5e9;--ff-accent-info: #38bdf8;--ff-accent-success: #22c55e;--ff-accent-warning: #f59e0b;--ff-accent-danger: #fb7185;--ff-primary-soft: rgba(14, 165, 233, .16);--ff-info-soft: rgba(56, 189, 248, .14);--ff-success-soft: rgba(34, 197, 94, .16);--ff-danger-soft: rgba(251, 113, 133, .16);--ff-warning-soft: rgba(245, 158, 11, .18);--ff-shadow: none;--ff-hover-shadow: none;--ff-row-hover: rgba(14, 165, 233, .12);--ff-background: var(--ff-bg-default);--ff-foreground: var(--ff-text-primary);--ff-surface: var(--ff-bg-surface);--ff-surface-muted: var(--ff-bg-subtle);--ff-surface-raised: var(--ff-bg-elevated);--ff-border: var(--ff-border-default);--ff-muted: var(--ff-text-muted);--ff-sidebar: var(--ff-bg-surface);--ff-sidebar-text: var(--ff-text-primary);--ff-sidebar-border: var(--ff-border-default)}.auth-page{align-items:center;background:var(--ff-background);display:flex;justify-content:center;min-height:100vh;padding:32px 16px;position:relative}.auth-theme-action{position:absolute;right:24px;top:20px}.auth-panel{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;box-shadow:var(--ff-shadow);max-width:420px;padding:32px;width:100%}.auth-subtitle{margin-bottom:28px}.auth-oidc-button{margin-bottom:4px}.form-alert{margin-bottom:16px}.app-shell{background:var(--ff-background);min-height:100vh}.app-sidebar{background:var(--ff-sidebar)!important;border-right:1px solid var(--ff-sidebar-border);bottom:0;height:100vh;left:0;overflow:auto;position:fixed!important;top:0;z-index:20}.sidebar-brand{align-items:center;border-bottom:1px solid var(--ff-sidebar-border);color:var(--ff-sidebar-text);display:flex;font-size:18px;font-weight:600;gap:10px;height:64px;justify-content:center;padding:0 16px;white-space:nowrap}.sidebar-brand-icon{color:var(--ff-accent-primary);font-size:20px}.app-menu{background:transparent;border-inline-end:0;padding:10px 8px}.app-main{background:var(--ff-background);min-height:100vh;transition:margin-left var(--ff-duration-drawer) var(--ff-ease-standard)}.app-header{align-items:center;background:var(--ff-surface);border-bottom:1px solid var(--ff-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;gap:16px;height:64px;justify-content:space-between;padding:0 16px;position:sticky;top:0;z-index:10}.app-content{background:var(--ff-background);padding:24px 16px}.content-surface{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;margin:0 auto;max-width:1440px;min-height:280px;padding:24px}.content-surface:focus-within{border-color:var(--ff-accent-primary)}.link-button{background:transparent;border:0;color:var(--ff-accent-primary);cursor:pointer;font:inherit;padding:0}.settings-card{max-width:720px;width:100%}.settings-tabs{max-width:760px;width:100%}.settings-descriptions{margin-bottom:16px}.billing-settings-card{max-width:880px}.billing-plan-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));width:100%}.billing-plan-card{background:var(--ff-surface-raised);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:12px;min-height:220px;padding:14px}.billing-plan-card-active{border-color:var(--ff-accent-primary)}.billing-plan-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.billing-plan-price{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.billing-plan-copy{flex:1;margin-bottom:0}.theme-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#0f172a;padding:16px;width:min(100%,420px)}.theme-preview-dark{background:#0b1220;border-color:#ffffff1a;color:#e5f0ff}.theme-preview-header,.theme-preview-row{align-items:center;display:flex;justify-content:space-between;gap:16px}.theme-preview-header{border-bottom:1px solid currentColor;margin-bottom:12px;opacity:.9;padding-bottom:8px}.theme-preview-row+.theme-preview-row{margin-top:8px}.workspace-stack{width:100%}.workspace-stack.ant-space-vertical{row-gap:20px}.two-column{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(320px,420px)}.setup-panel{border-left:3px solid var(--ff-accent-primary);padding-left:20px;width:100%}.setup-panel h2{font-size:20px;margin-top:0}.section-heading{align-items:flex-start;display:flex;gap:24px;justify-content:space-between}.section-heading>div{min-width:0}.section-title-with-help{align-items:center;display:inline-flex;gap:8px;min-width:0}.section-title-with-help>.ant-typography{margin:0}.section-title-with-help>h1.ant-typography,.section-title-with-help>h2.ant-typography,.section-title-with-help>h3.ant-typography{margin:0}.section-help-button{color:var(--ff-muted);flex:0 0 auto;margin-top:0}.section-heading .section-title-with-help{margin-bottom:16px}.section-heading h1.ant-typography{line-height:1.12;margin-bottom:16px}.section-heading .section-title-with-help>h1.ant-typography{margin-bottom:0}.section-heading .ant-typography{max-width:760px}.full-width{width:100%}.invite-result{border-top:1px solid var(--ff-border);display:flex;flex-direction:column;gap:10px;margin-top:24px;padding-top:20px}.invite-link-input{max-width:calc(100% - 128px)}.invite-panel{max-width:520px}.household-title{white-space:nowrap}.user-trigger{align-items:center;background:transparent;border:0;border-radius:6px;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:8px;min-height:40px;padding:4px 8px;transition:background var(--ff-duration-base) var(--ff-ease-standard),color var(--ff-duration-base) var(--ff-ease-standard)}.user-trigger:hover,.user-trigger:focus-visible{background:var(--ff-surface-muted);outline:none}.app-menu .ant-menu-item{transition:background var(--ff-duration-base) var(--ff-ease-standard),color var(--ff-duration-base) var(--ff-ease-standard)}.mobile-action{display:none}.mobile-navigation-root .ant-drawer-body,.mobile-navigation .ant-drawer-body{background:var(--ff-sidebar)}.mobile-navigation-root .ant-drawer-content,.mobile-navigation-root .ant-drawer-header,.mobile-navigation .ant-drawer-content,.mobile-navigation .ant-drawer-header{background:var(--ff-sidebar);border-color:var(--ff-sidebar-border);color:var(--ff-sidebar-text)}.mobile-navigation-root .ant-drawer-close,.mobile-navigation .ant-drawer-close{color:var(--ff-sidebar-text)}.mobile-navigation-root .app-menu,.mobile-navigation .app-menu{background:transparent}.mobile-navigation-root .ant-drawer-content-wrapper{max-width:86vw}.mobile-navigation-root-dark .ant-drawer-content,.mobile-navigation-root-dark .ant-drawer-header,.mobile-navigation-root-dark .ant-drawer-body{background:var(--ff-bg-surface);border-color:var(--ff-border);color:var(--ff-foreground)}.mobile-navigation-root-dark .sidebar-brand{border-bottom-color:var(--ff-border);color:var(--ff-foreground)}.mobile-navigation-root-dark .ant-drawer-close{color:var(--ff-foreground)}.mobile-navigation-root-dark .app-menu{background:transparent}.mobile-navigation-root-dark .app-menu.ant-menu-dark,.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-sub{background:transparent;color:var(--ff-text-secondary)}.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item,.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item .ant-menu-item-icon,.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item .ant-menu-title-content{color:var(--ff-text-secondary)}.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item:hover,.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item:hover .ant-menu-item-icon,.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item:hover .ant-menu-title-content{color:var(--ff-foreground)}.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item-selected,.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item-selected .ant-menu-item-icon,.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item-selected .ant-menu-title-content{background:var(--ff-accent-primary);color:var(--ff-bg-surface)}.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item-disabled,.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item-disabled .ant-menu-item-icon,.mobile-navigation-root-dark .app-menu.ant-menu-dark .ant-menu-item-disabled .ant-menu-title-content{color:var(--ff-text-muted)!important}.centered-state{align-items:center;display:flex;justify-content:center;min-height:320px}.accounts-mobile-list,.funds-mobile-list,.loans-mobile-list,.transactions-mobile-list,.dashboard-recent-mobile,.agenda-mobile-list,.recurring-rules-mobile-list,.scheduled-payments-mobile-list{display:none}.compact-details{display:grid;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.compact-details div{min-width:0}.compact-details dt{color:var(--ff-muted);font-size:12px}.compact-details dd{font-weight:600;margin:2px 0 0;overflow-wrap:anywhere}.agenda-card,.scheduled-payment-card{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:12px}.agenda-card-header,.scheduled-payment-card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.agenda-card-header>div,.scheduled-payment-card-header>div{display:flex;flex-direction:column;min-width:0}.scheduled-payment-card-amount{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}.agenda-card-actions .ant-space,.scheduled-payment-card-actions .ant-space{row-gap:4px!important}.csv-import-totals{display:grid;gap:12px;grid-template-columns:repeat(5,minmax(0,1fr))}.csv-import-totals .ant-statistic{border:1px solid var(--ff-border);border-radius:6px;padding:14px}.csv-import-mobile-list{display:none}.reports-mode-switch{max-width:max-content}.reports-toolbar{align-items:end;background:var(--ff-surface-raised);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-wrap:wrap;gap:12px;padding:14px}.reports-toolbar label{display:flex;flex-direction:column;gap:6px;min-width:180px}.reports-toolbar .ant-input,.reports-toolbar .ant-picker{min-height:40px;width:100%}.reports-metrics{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.reports-metric{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:8px;min-height:86px;padding:14px}.reports-metric strong{font-size:20px;font-variant-numeric:tabular-nums;line-height:1.15;overflow-wrap:anywhere}.reports-metric-income{border-left:3px solid var(--ff-accent-success)}.reports-metric-expense{border-left:3px solid var(--ff-accent-danger)}.reports-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr))}.reports-payment-mobile-list{display:none}.reports-file-details{display:grid;gap:8px 14px;grid-template-columns:max-content minmax(0,1fr);margin:0}.reports-file-details dt{color:var(--ff-muted)}.reports-file-details dd{margin:0;overflow-wrap:anywhere}.audit-mobile-list{display:none}.csv-import-card{border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:14px}.csv-import-card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.csv-import-card-details{display:grid;gap:6px 12px;grid-template-columns:minmax(92px,auto) minmax(0,1fr);margin:0}.csv-import-card-details dt{color:var(--ff-muted)}.csv-import-card-details dd{margin:0;overflow-wrap:anywhere}.categories-mobile-list{display:none}.category-title{min-width:0}.category-title .ant-typography{overflow-wrap:anywhere}.category-order-handle{color:var(--ff-muted);font-size:12px;min-width:28px}.category-swatch{border:1px solid var(--ff-border);border-radius:999px;display:inline-block;height:16px;width:16px}.entity-line{align-items:center;display:inline-flex;gap:8px;max-width:100%;min-width:0;vertical-align:middle}.entity-line>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.entity-icon,.category-icon-badge{align-items:center;border-radius:6px;display:inline-flex;flex:0 0 auto;height:24px;justify-content:center;width:24px}.entity-icon-account{background:var(--ff-primary-soft);color:var(--ff-accent-primary)}.entity-icon-category,.category-icon-badge{background:var(--ff-warning-soft);border:1px solid var(--ff-accent-warning);color:var(--ff-accent-warning)}.entity-line-flow{flex-wrap:wrap;row-gap:4px}.entity-flow-arrow{color:var(--ff-muted);flex:0 0 auto;font-size:12px}.account-card{border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:14px}.account-card:hover,.fund-card:hover,.loan-card:hover,.transaction-card:hover,.audit-card:hover,.category-card:hover,.category-child-card:hover{border-color:var(--ff-accent-primary);box-shadow:var(--ff-hover-shadow)}.fund-metrics,.loan-metrics{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.fund-metric,.loan-metric{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;min-height:96px;padding:14px}.fund-card,.loan-card,.transaction-card{border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:14px}.account-card,.fund-card,.loan-card,.transaction-card,.audit-card,.category-card,.category-child-card,.dashboard-panel,.dashboard-v2-panel,.dashboard-metric{transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.account-card-header,.account-card-meta,.fund-card-header,.fund-card-meta,.loan-card-header,.loan-card-meta,.transaction-card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.account-card-header>div{display:flex;flex-direction:column;min-width:0}.fund-card-header>div,.loan-card-header>div{display:flex;flex-direction:column;min-width:0}.account-card-balance,.fund-card-balance,.loan-card-balance{font-size:20px;font-weight:700;line-height:1.2}.transaction-card-amount{font-size:20px;font-weight:700;line-height:1.2;white-space:nowrap}.transaction-card-meta,.transaction-details-split{color:var(--ff-muted);display:flex;flex-direction:column;gap:4px}.account-card-actions,.fund-card-actions,.loan-card-actions,.transaction-card-actions{border-top:1px solid var(--ff-border);padding-top:10px}.transaction-filters{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.filters-toolbar{display:flex;flex-wrap:wrap;gap:8px}.category-picker-trigger{justify-content:flex-start;overflow:hidden;text-align:left;text-overflow:ellipsis}.audit-filters{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.audit-card{border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:14px}.audit-card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.audit-card-header>div{display:flex;flex-direction:column;min-width:0}.audit-card-meta{color:var(--ff-muted);display:flex;flex-direction:column;gap:4px;overflow-wrap:anywhere}.audit-card-actions{border-top:1px solid var(--ff-border);padding-top:10px}.audit-value-block{width:100%}.audit-value-list{border:1px solid var(--ff-border);border-radius:6px;margin:0;overflow:hidden}.audit-value-list>div{display:grid;gap:12px;grid-template-columns:minmax(120px,.4fr) minmax(0,1fr);padding:10px 12px}.audit-value-list>div+div{border-top:1px solid var(--ff-border)}.audit-value-list dt{color:var(--ff-muted)}.audit-value-list dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.audit-json{background:var(--ff-surface-muted);border:1px solid var(--ff-border);border-radius:6px;margin:0;overflow:auto;padding:12px;white-space:pre-wrap}.dashboard-date-range{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(180px,240px));max-width:520px}.dashboard-periods{max-width:100%}.dashboard-grouping-filter{display:flex;flex-direction:column;gap:6px;width:max-content}.dashboard-command-center{background:var(--ff-surface-raised);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:18px}.dashboard-command-main{display:flex;flex-direction:column;gap:10px;min-width:0}.dashboard-refresh-strip{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.dashboard-refresh-strip .ant-tag{margin-inline-end:0;max-width:100%;white-space:normal}.dashboard-refresh-strip .ant-btn{min-height:36px}.dashboard-action-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.dashboard-action-row .ant-btn{min-height:32px}.dashboard-metrics{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-metric{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;justify-content:space-between;min-height:104px;padding:18px}.dashboard-metric:hover,.dashboard-panel:hover,.dashboard-v2-panel:hover{border-color:var(--ff-accent-primary);box-shadow:var(--ff-hover-shadow)}.dashboard-metric-value{font-size:24px;font-weight:700;line-height:1.2;margin-top:10px;overflow-wrap:anywhere}.dashboard-metric-income{background:linear-gradient(180deg,var(--ff-success-soft),transparent 72%);border-left:3px solid var(--ff-accent-success)}.dashboard-metric-expense{background:linear-gradient(180deg,var(--ff-danger-soft),transparent 72%);border-left:3px solid var(--ff-accent-danger)}.dashboard-focus-grid{align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);min-width:0}.dashboard-recent-panel{grid-column:1 / -1}.dashboard-grid{display:grid;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.dashboard-panel{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;max-width:100%;min-width:0;padding:18px}.dashboard-focus-grid>*,.dashboard-grid>*,.dashboard-v2-grid>*{min-width:0}.dashboard-panel-heading{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.dashboard-panel-heading h3.ant-typography{margin:0}.dashboard-panel-heading .ant-btn{padding-inline-end:0;white-space:nowrap}.dashboard-panel h3.ant-typography{font-size:18px;margin-top:0}.dashboard-breakdown-share{display:flex;flex-direction:column;gap:7px;min-width:160px}.dashboard-breakdown-share-label{align-items:center;display:flex;gap:10px;justify-content:space-between;min-width:0}.dashboard-breakdown-share-label .ant-typography:first-child{min-width:0;overflow-wrap:anywhere}.dashboard-breakdown-share-label .ant-typography:last-child{font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-breakdown-share-track{background:var(--ff-danger-soft);border-radius:999px;height:7px;overflow:hidden;width:100%}.dashboard-breakdown-share-track span{background:var(--ff-accent-danger);border-radius:inherit;display:block;height:100%;min-width:2px}.dashboard-account-health{display:flex;flex-direction:column;min-height:100%}.dashboard-account-stats{display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.dashboard-inline-stat{align-items:baseline;display:flex;gap:6px;min-width:0}.dashboard-inline-stat strong{font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-balance-lines{border-block:1px solid var(--ff-border);display:grid;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 14px;padding:12px 0}.dashboard-balance-lines div{min-width:0}.dashboard-balance-lines div+div{border-left:1px solid var(--ff-border);padding-left:14px}.dashboard-balance-lines dt{color:var(--ff-muted);font-size:12px}.dashboard-balance-lines dd{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;margin:4px 0 0;overflow-wrap:anywhere}.dashboard-account-list{display:flex;flex-direction:column;gap:8px}.dashboard-account-row{align-items:center;background:var(--ff-surface-muted);border:1px solid var(--ff-border);border-radius:6px;display:flex;gap:12px;justify-content:space-between;min-height:42px;padding:9px 10px}.dashboard-account-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-payment-row-main{align-items:baseline;display:flex;gap:4px}.dashboard-payment-row-main .ant-typography{min-width:0}.dashboard-account-row .entity-line{overflow:hidden}.dashboard-account-row .entity-line>span:last-child{white-space:nowrap}.dashboard-account-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-recent-table .ant-table{width:100%}.dashboard-recent-table .ant-table-cell{white-space:nowrap}.dashboard-recent-table .ant-table-cell:nth-child(3){white-space:normal}.dashboard-v2-title.ant-typography{font-size:20px;margin:0}.dashboard-v2-grid{display:grid;gap:18px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-v2-panel{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;min-height:220px;overflow:hidden;padding:18px}.dashboard-v2-panel-wide{grid-column:span 2}.dashboard-v2-panel-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.dashboard-v2-panel-heading h3.ant-typography{font-size:16px;margin:0}.dashboard-chart{align-items:center;color:var(--ff-muted);display:flex;height:210px;justify-content:center;min-width:0;width:100%}.dashboard-chart canvas{max-width:100%}.dashboard-widget-insight{background:var(--ff-surface-muted);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:10px 12px}.dashboard-widget-insight strong{font-size:18px;line-height:1.2;overflow-wrap:anywhere}.dashboard-widget-insight-positive{border-left:3px solid var(--ff-accent-success)}.dashboard-widget-insight-negative{border-left:3px solid var(--ff-accent-danger)}.dashboard-chart-list{display:flex;flex-direction:column;gap:8px;margin-top:-4px}.dashboard-chart-list>div{display:flex;flex-direction:column;gap:6px;min-width:0}.dashboard-chart-list-main{align-items:center;display:flex;gap:10px;justify-content:space-between;min-width:0}.dashboard-chart-list-main .entity-line{min-width:0}.dashboard-chart-list-main .entity-line>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-chart-list-main strong{font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-chart-list-track{background:var(--ff-primary-soft);border-radius:999px;height:6px;overflow:hidden}.dashboard-chart-list-track span{background:var(--ff-accent-primary);border-radius:inherit;display:block;height:100%;min-width:2px}.dashboard-ratio{align-items:center;display:flex;gap:16px}.dashboard-widget-facts{display:flex;flex-direction:column;gap:10px;margin:0}.dashboard-widget-facts dt{color:var(--ff-muted);font-size:12px}.dashboard-widget-facts dd{font-weight:600;margin:0;overflow-wrap:anywhere}.dashboard-agenda-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}.dashboard-mini-stat{background:var(--ff-surface-muted);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:6px;min-height:72px;padding:10px}.dashboard-mini-stat strong{font-size:22px;line-height:1.1}.dashboard-mini-stat-danger{border-left:3px solid var(--ff-accent-danger)}.dashboard-mini-stat-warning{border-left:3px solid var(--ff-accent-warning)}.dashboard-contribution-list,.dashboard-comparison-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.dashboard-contribution-list>div{align-items:center;background:var(--ff-surface-muted);border:1px solid var(--ff-border);border-radius:6px;display:grid;gap:8px;grid-template-columns:minmax(0,1.2fr) repeat(3,max-content);min-width:0;padding:9px 10px}.dashboard-contribution-list .ant-typography{min-width:0;overflow-wrap:anywhere}.dashboard-contribution-list span,.dashboard-contribution-list strong{font-variant-numeric:tabular-nums;white-space:nowrap}.dashboard-comparison-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-comparison-card{background:var(--ff-surface-muted);border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px}.dashboard-comparison-card strong{font-size:18px;line-height:1.15;overflow-wrap:anywhere}.dashboard-comparison-card span{color:var(--ff-muted);font-variant-numeric:tabular-nums}.dashboard-comparison-card-positive{border-left:3px solid var(--ff-accent-success)}.dashboard-comparison-card-negative{border-left:3px solid var(--ff-accent-danger)}.dashboard-fund-row{display:grid;gap:8px;grid-template-columns:minmax(0,.8fr) minmax(120px,1fr)}.dashboard-fund-row>div{display:flex;flex-direction:column;min-width:0}.nowrap{white-space:nowrap}.money-cell{font-variant-numeric:tabular-nums;white-space:nowrap}.ant-table-wrapper .ant-table-thead>tr>th{background:var(--ff-surface-muted);color:var(--ff-foreground);font-weight:600}.ant-table-wrapper .ant-table-tbody>tr>td{background:var(--ff-surface);color:var(--ff-foreground);vertical-align:middle}.ant-table-wrapper .ant-table-tbody>tr:hover>td{background:var(--ff-row-hover)!important}.transactions-table .table-actions{column-gap:16px!important;display:grid!important;grid-template-columns:auto auto;row-gap:4px!important}.transactions-table .table-actions .ant-space-item:last-child{grid-column:1 / -1}.transactions-table .table-actions .ant-btn{height:24px;padding:0}.transaction-split-row{align-items:start;display:grid;gap:8px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(120px,.7fr) auto}.transaction-details-splits{margin-top:20px;width:100%}.transaction-details-split{border:1px solid var(--ff-border);border-radius:6px;padding:12px}.category-card,.category-child-card{border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:10px;padding:14px}.category-child-card{background:var(--ff-surface-muted)}.category-card-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between}.category-card-children{display:flex;flex-direction:column;gap:8px;padding-left:16px}@media(max-width:1023px){.app-sidebar{display:none}.app-header{left:0}.dashboard-command-center,.dashboard-focus-grid,.reports-grid{grid-template-columns:1fr}.dashboard-v2-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.auth-theme-action{right:16px;top:14px}.auth-page{align-items:stretch;flex-direction:column;justify-content:center;padding:72px 16px 24px}.auth-panel{box-shadow:none;padding:24px}.app-header{gap:8px;height:60px;padding:0 10px}.app-content{padding:10px 8px}.content-surface{border-radius:6px;min-height:calc(100vh - 80px);padding:14px}.two-column,.section-heading{display:flex;flex-direction:column}.two-column{gap:8px}.section-heading{gap:14px}.section-heading h1.ant-typography{font-size:30px;margin-bottom:14px}.section-heading .ant-typography,.invite-link-input{max-width:100%}.desktop-action,.stage-tag,.user-trigger span{display:none}.mobile-action{display:inline-flex;flex:0 0 auto}.household-title{font-size:12px;max-width:44vw;overflow:hidden;text-overflow:ellipsis}.app-header .ant-space{min-width:0}.mobile-navigation-root .ant-drawer-content-wrapper{width:min(86vw,300px)!important}.mobile-navigation-root .sidebar-brand,.mobile-navigation .sidebar-brand{justify-content:flex-start}.ant-drawer:not(.mobile-navigation-root) .ant-drawer-content-wrapper{max-width:100vw;width:100vw!important}.ant-drawer-right:not(.mobile-navigation-root) .ant-drawer-content-wrapper{left:0!important;right:0!important;max-width:100vw!important;width:100vw!important}.ant-drawer:not(.mobile-navigation-root) .ant-drawer-header{padding:14px 16px}.ant-drawer:not(.mobile-navigation-root) .ant-drawer-body{overflow-x:hidden;padding:18px 16px}.accounts-table,.funds-table,.loans-table,.transactions-table,.categories-table,.dashboard-recent-table,.agenda-table,.recurring-rules-table,.scheduled-payments-table,.csv-import-table,.reports-payment-table,.audit-table{display:none}.accounts-mobile-list{display:flex;flex-direction:column;gap:10px}.funds-mobile-list,.loans-mobile-list,.transactions-mobile-list,.categories-mobile-list,.dashboard-recent-mobile,.agenda-mobile-list,.recurring-rules-mobile-list,.scheduled-payments-mobile-list{display:flex;flex-direction:column;gap:12px}.compact-details{grid-template-columns:1fr}.csv-import-mobile-list,.reports-payment-mobile-list,.audit-mobile-list{display:flex;flex-direction:column;gap:12px}.dashboard-date-range,.dashboard-metrics,.reports-metrics,.dashboard-grid,.dashboard-v2-grid,.dashboard-account-stats,.dashboard-balance-lines,.fund-metrics,.loan-metrics,.csv-import-totals{grid-template-columns:1fr}.dashboard-command-center{gap:14px;padding:14px}.dashboard-action-row{display:flex;flex-wrap:wrap}.dashboard-action-row .ant-btn-primary{flex:1 1 100%;justify-content:center}.dashboard-action-row .ant-btn:not(.ant-btn-primary){flex:1 1 calc(50% - 4px);min-width:132px}.dashboard-periods{overflow-x:auto;padding-bottom:2px;width:100%}.dashboard-grouping-filter{width:100%}.dashboard-periods .ant-segmented-group{width:max-content}.reports-mode-switch,.reports-toolbar .ant-segmented{overflow-x:auto;max-width:100%}.reports-mode-switch .ant-segmented-group,.reports-toolbar .ant-segmented-group{width:max-content}.reports-toolbar{align-items:stretch;padding:12px}.reports-toolbar label,.reports-toolbar .ant-btn{width:100%}.dashboard-metric{min-height:92px;padding:14px}.dashboard-metric-value{font-size:22px}.dashboard-v2-panel,.dashboard-panel{min-height:auto;padding:14px}.dashboard-panel-heading{align-items:flex-start;flex-direction:column}.dashboard-panel-heading .ant-btn{padding-inline-start:0}.dashboard-balance-lines{gap:8px;padding:10px 0}.dashboard-balance-lines div+div{border-left:0;border-top:1px solid var(--ff-border);padding-left:0;padding-top:8px}.dashboard-v2-panel-heading{align-items:center}.dashboard-chart{height:150px}.dashboard-chart-list-main{align-items:flex-start;flex-direction:column;gap:4px}.dashboard-chart-list-main .entity-line>span:last-child{white-space:normal}.dashboard-chart-list-main strong{white-space:normal}.dashboard-contribution-list>div{align-items:flex-start;gap:4px;grid-template-columns:1fr}.dashboard-contribution-list span,.dashboard-contribution-list strong{white-space:normal}.dashboard-comparison-list{grid-template-columns:1fr}.dashboard-ratio .ant-progress{align-self:center}.dashboard-v2-panel-wide{grid-column:auto}.dashboard-ratio{align-items:flex-start;flex-direction:column}.dashboard-fund-row{grid-template-columns:1fr}.account-card,.fund-card,.loan-card,.transaction-card,.audit-card,.category-card,.category-child-card{padding:12px}.account-card-actions .ant-space,.transaction-card-actions .ant-space{width:100%;white-space:normal}.account-card-actions .ant-btn,.transaction-card-actions .ant-btn{padding-inline:0}.account-card-header,.account-card-meta,.fund-card-header,.fund-card-meta,.loan-card-header,.loan-card-meta,.transaction-card-header,.audit-card-header,.category-card-header{flex-wrap:wrap}.transaction-split-row,.audit-value-list>div{grid-template-columns:1fr}.category-card-children{padding-left:0}}.account-picker-trigger,.category-picker-trigger{justify-content:flex-start;min-height:40px;overflow:hidden;text-align:left;text-overflow:ellipsis}.picker-list{display:grid;gap:8px;max-height:min(56vh,520px);overflow-y:auto;padding-right:2px}.picker-row{align-items:center;background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;color:inherit;cursor:pointer;display:grid;gap:12px;grid-template-columns:minmax(0,1fr) auto;min-height:56px;padding:10px 12px;text-align:left;width:100%}.picker-row span{display:grid;gap:2px;min-width:0}.picker-row-selected{border-color:var(--ff-accent-primary);box-shadow:0 0 0 2px var(--ff-primary-soft)}.picker-modal-root,.picker-modal-root .ant-modal-mask{z-index:1300!important}.picker-modal-root .ant-modal-wrap{z-index:1301!important}.picker-modal-root .ant-modal{max-width:calc(100vw - 24px)}.picker-modal-root .ant-modal-content{background:var(--ff-surface)}.picker-modal-root .ant-modal-body{overflow-x:hidden}.picker-modal-root .ant-tree{background:var(--ff-surface-muted);border:1px solid var(--ff-border);border-radius:6px;color:inherit;max-height:min(42vh,360px);overflow:auto;padding:8px}.picker-modal-root .ant-tree .ant-tree-node-content-wrapper{color:inherit;min-width:0}.picker-modal-root .ant-tree .ant-tree-node-content-wrapper:hover,.picker-modal-root .ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected{background:var(--ff-primary-soft)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.ant-skeleton,.ant-skeleton *,.ant-skeleton:after,.ant-skeleton *:after{animation:none!important}}.ant-modal,.ant-drawer-content-wrapper{max-width:calc(100vw - 16px)}.ant-modal-content,.ant-drawer-body{overflow-x:hidden}@media(max-width:640px){.ant-modal{margin:8px auto;max-width:calc(100vw - 16px)}.ant-drawer-content-wrapper{left:0!important;right:0!important;max-width:100vw!important;width:min(100vw,560px)!important}.picker-row{grid-template-columns:minmax(0,1fr)}textarea,textarea.ant-input{resize:none}}
