html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}:root{color-scheme:light dark;--ff-background: #f5f7fb;--ff-foreground: #111827;--ff-surface: #ffffff;--ff-surface-muted: #f3f4f6;--ff-border: rgba(15, 23, 42, .1);--ff-muted: #6b7280;--ff-sidebar: #ffffff;--ff-sidebar-text: #111827;--ff-sidebar-border: rgba(15, 23, 42, .08);--ff-shadow: 0 10px 30px rgba(15, 23, 42, .06)}*{box-sizing:border-box}body{background:var(--ff-background);margin:0;min-width:320px}.theme-root{background:var(--ff-background);color:var(--ff-foreground);min-height:100vh}.theme-root.dark{--ff-background: #141414;--ff-foreground: rgba(255, 255, 255, .92);--ff-surface: #1f1f1f;--ff-surface-muted: #262626;--ff-border: #303030;--ff-muted: rgba(255, 255, 255, .62);--ff-sidebar: #1f1f1f;--ff-sidebar-text: rgba(255, 255, 255, .92);--ff-sidebar-border: #303030;--ff-shadow: none}.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}.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:#1890ff;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 .2s ease}.app-header{align-items:center;background:var(--ff-surface);border-bottom:1px solid var(--ff-border);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;min-height:280px;padding:24px}.link-button{background:transparent;border:0;color:#1677ff;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}.theme-preview{background:#f5f7fb;border:1px solid #d9e1f2;border-radius:8px;color:#1f2937;padding:16px;width:min(100%,420px)}.theme-preview-dark{background:#141414;border-color:#303030;color:#f5f5f5}.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%}.two-column{align-items:start;display:grid;gap:24px;grid-template-columns:minmax(0,1fr) minmax(320px,420px)}.setup-panel{border-left:3px solid #1890ff;padding-left:20px;width:100%}.setup-panel h2{font-size:20px;margin-top:0}.section-heading{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.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;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:8px;padding:0}.mobile-action{display:none}.mobile-navigation .ant-drawer-body{background:var(--ff-sidebar)}.centered-state{align-items:center;display:flex;justify-content:center;min-height:320px}.accounts-mobile-list,.transactions-mobile-list,.dashboard-recent-mobile{display:none}.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,.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}.account-card,.transaction-card{border:1px solid var(--ff-border);border-radius:6px;display:flex;flex-direction:column;gap:12px;padding:14px}.account-card-header,.account-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}.account-card-balance,.transaction-card-amount{font-size:20px;font-weight:700;line-height:1.2}.transaction-card-meta,.transaction-details-split{color:var(--ff-muted);display:flex;flex-direction:column;gap:4px}.account-card-actions,.transaction-card-actions{border-top:1px solid var(--ff-border);padding-top:10px}.transaction-filters,.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-metrics{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-metric{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;min-height:104px;padding:16px}.dashboard-metric-value{font-size:24px;font-weight:700;line-height:1.2;margin-top:10px;overflow-wrap:anywhere}.dashboard-metric-income{border-left:3px solid #389e0d}.dashboard-metric-expense{border-left:3px solid #cf1322}.dashboard-grid{display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-panel{background:var(--ff-surface);border:1px solid var(--ff-border);border-radius:6px;padding:16px}.dashboard-panel h3.ant-typography{font-size:18px;margin-top: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}}@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;padding:0 12px}.app-content{padding:12px 8px}.content-surface{padding:16px}.two-column,.section-heading{display:flex;flex-direction:column}.two-column{gap:8px}.section-heading{gap:12px}.invite-link-input{max-width:100%}.desktop-action,.stage-tag,.user-trigger span{display:none}.mobile-action{display:inline-flex}.household-title{max-width:42vw;overflow:hidden;text-overflow:ellipsis}.accounts-table,.transactions-table,.categories-table,.dashboard-recent-table,.csv-import-table,.audit-table{display:none}.accounts-mobile-list,.transactions-mobile-list,.categories-mobile-list,.dashboard-recent-mobile,.csv-import-mobile-list,.audit-mobile-list{display:flex;flex-direction:column;gap:12px}.dashboard-date-range,.dashboard-metrics,.dashboard-grid,.csv-import-totals{grid-template-columns:1fr}.account-card-header,.account-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}}
