:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f131c;--panel:#161b27;--panel-2:#1b2130;--line:#242c3c;--text:#e9edf6;--muted:#8b97ad;--dim:#5f6b80;--gold:#e8b44a;--gold-hover:#f0c565;--on-gold:#0f131c;--good:#4fc1a6;--bad:#f0655a;--on-fill:#0f131cd9;--shadow:none;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans:"Helvetica Neue", Helvetica, Inter, -apple-system, BlinkMacSystemFont, Arial, sans-serif}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f8;--panel:#fff;--panel-2:#e8edf4;--line:#8a94a3;--text:#141b28;--muted:#4a5568;--dim:#667085;--gold:#9a7018;--gold-hover:#825e12;--on-gold:#fff;--good:#187a64;--bad:#c23d34;--on-fill:#0f131ce0;--shadow:0 1px 2px #141b280f}@media (prefers-color-scheme:light){html:not([data-theme=dark]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f8;--panel:#fff;--panel-2:#e8edf4;--line:#8a94a3;--text:#141b28;--muted:#4a5568;--dim:#667085;--gold:#9a7018;--gold-hover:#825e12;--on-gold:#fff;--good:#187a64;--bad:#c23d34;--on-fill:#0f131ce0;--shadow:0 1px 2px #141b280f}}*{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;overflow-x:clip}a{color:inherit}button,a,.chip,.btn,.rowbtn{touch-action:manipulation;-webkit-tap-highlight-color:color-mix(in srgb, var(--gold) 22%, transparent)}button,input,select,textarea{color:inherit;font-family:inherit}::placeholder{color:var(--dim);opacity:1}::selection{background:var(--gold);color:var(--on-gold)}input:-webkit-autofill{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--panel-2) inset;transition:background-color 99999s ease-out}input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--panel-2) inset;transition:background-color 99999s ease-out}input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);caret-color:var(--text);box-shadow:0 0 0 1000px var(--panel-2) inset;transition:background-color 99999s ease-out}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.shell{max-width:1120px;padding:0 max(20px, env(safe-area-inset-right)) calc(72px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));margin:0 auto;position:relative}.skip-link{left:max(12px, env(safe-area-inset-left));top:max(8px, env(safe-area-inset-top));z-index:100;background:var(--gold);color:var(--on-gold);border-radius:3px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;position:absolute;transform:translateY(-180%)}.skip-link:focus{transform:none}#content{scroll-margin-top:12px}#content:focus{outline:none}.app-header{padding:max(16px, env(safe-area-inset-top)) 0 14px;justify-content:space-between;align-items:center;gap:12px;display:flex}.app-header-start{align-items:center;gap:8px;min-width:0;display:flex}.menu-btn{border:1px solid var(--line);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:3px;flex:none;justify-content:center;align-items:center;padding:0;display:none}.nav-drawer-head .menu-btn,.nav-drawer-panel .menu-btn{display:inline-flex}.nav-drawer{width:100%;max-width:none;height:100%;max-height:none;color:var(--text);background:0 0;border:none;margin:0;padding:0}.nav-drawer::backdrop{background:color-mix(in srgb, var(--bg) 55%, black)}.nav-drawer-panel{background:var(--panel);border-right:1px solid var(--line);width:min(320px,86vw);height:100dvh;padding:max(12px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto;box-shadow:8px 0 32px #00000047}.nav-drawer-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px;display:flex}.nav-drawer-links{flex-direction:column;flex:1;gap:4px;display:flex}.nav-drawer-link{min-height:44px;color:var(--muted);border-radius:3px;align-items:center;padding:10px 12px;font-size:15px;text-decoration:none;display:flex}.nav-drawer-link[aria-current=page]{color:var(--text);background:var(--panel-2);box-shadow:inset 2px 0 0 var(--gold)}.nav-drawer-foot{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:16px;padding-top:16px;display:flex}.nav-drawer-foot .btn{width:100%}.nav-drawer-user{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}@media (prefers-reduced-motion:no-preference){.nav-drawer[open] .nav-drawer-panel{animation:.18s ease-out nav-drawer-in}}@keyframes nav-drawer-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.app-nav{border-bottom:1px solid var(--line);align-items:stretch;gap:8px;margin-bottom:22px;display:flex}.app-nav-links{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex:1;min-width:0;display:flex;overflow-x:auto}.app-nav-link{min-height:44px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;flex:none;align-items:center;margin-bottom:-1px;padding:11px 14px;font-size:13.5px;text-decoration:none;display:inline-flex}.app-nav-link[aria-current=page]{color:var(--text);border-bottom-color:var(--gold)}.app-nav-meta{border-left:1px solid var(--line);flex:none;align-items:center;gap:10px;padding-left:8px;display:flex}.app-nav-user{color:var(--dim);text-overflow:ellipsis;white-space:nowrap;max-width:140px;font-size:12px;overflow:hidden}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-mark{border-radius:8px;flex:none;display:block;position:relative;overflow:hidden}.brand-logo{object-fit:contain;width:100%;height:100%;display:block}.brand-logo-light,html[data-theme=light] .brand-logo-dark{display:none}html[data-theme=light] .brand-logo-light{display:block}@media (prefers-color-scheme:light){html:not([data-theme=dark]) .brand-logo-dark{display:none}html:not([data-theme=dark]) .brand-logo-light{display:block}}.brand-name{letter-spacing:-.04em;font-size:17px;font-weight:700}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--dim);font-size:10px}.panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);overflow-wrap:break-word;border-radius:4px;min-width:0;padding:18px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.h-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;overflow-x:auto}.stat-row{flex-wrap:wrap;display:flex}.stat{border-left:1px solid var(--line);flex:140px;min-width:0;padding:12px 16px}.stat:first-child{border-left:none}.stat-value{letter-spacing:-.02em;margin-top:6px;font-size:21px;font-weight:600}.stat-sub{color:var(--muted);margin-top:3px;font-size:11px}.page-title{letter-spacing:-.03em;text-wrap:pretty;margin:0;font-size:24px;font-weight:700}.page-lead{color:var(--muted);text-wrap:pretty;max-width:640px;margin:6px 0 0;font-size:13.5px;line-height:1.55}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.filter-bar{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.hero-num{color:var(--gold);letter-spacing:-.03em;margin:6px 0 2px;font-size:40px;font-weight:700}.btn-icon{justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}.tx-item{content-visibility:auto;contain-intrinsic-size:auto 56px}.tx-detail{padding:4px 0 16px 56px}.tx-descriptor{margin-bottom:12px}.tx-descriptor .field-label,.tx-name-form .field-label{margin-bottom:4px;display:block}.tx-descriptor .mono{color:var(--dim);overflow-wrap:anywhere;font-size:11.5px}.tx-name-form{margin-bottom:12px}.tx-name-form .field{flex:180px;min-width:0}.chips{flex-wrap:wrap;gap:6px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:860px){.grid2{grid-template-columns:1fr}}.rowbtn{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none}.rowbtn:hover{background:var(--panel-2)}.chip{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:3px;align-items:center;max-width:100%;min-height:36px;padding:8px 12px;font-size:11.5px;display:inline-flex}.chip[data-on=true]{background:var(--panel-2);color:var(--text)}.btn{border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:3px;justify-content:center;align-items:center;min-height:36px;padding:8px 13px;font-size:12.5px;display:inline-flex}.btn:hover:not(:disabled){background:var(--panel-2)}.btn:disabled{opacity:.5;cursor:default}.btn-primary{background:var(--gold);border-color:var(--gold);color:var(--on-gold);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--gold-hover);border-color:var(--gold-hover)}.field{background:var(--panel-2);border:1px solid var(--line);color:var(--text);border-radius:3px;max-width:100%;min-height:36px;padding:8px 10px;font-size:13px}.theme-toggle{border:1px solid var(--line);width:44px;height:44px;color:var(--text);cursor:pointer;background:0 0;border-radius:3px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{background:var(--panel-2)}.theme-toggle-moon,html[data-theme=light] .theme-toggle-sun{display:none}html[data-theme=light] .theme-toggle-moon{display:block}@media (prefers-color-scheme:light){html:not([data-theme=dark]) .theme-toggle-sun{display:none}html:not([data-theme=dark]) .theme-toggle-moon{display:block}}.sign-in{min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left));justify-content:center;align-items:center;display:flex;position:relative}.sign-in-form{width:100%;max-width:340px}.sign-in-brand{margin-bottom:28px}.sign-in-brand .brand{flex-direction:column;align-items:flex-start;gap:14px}.sign-in-brand .brand-mark{border-radius:32px}.sign-in-brand .brand-logo-light{transform:scale(1.5)}.sign-in-brand .brand-name{letter-spacing:-.05em;font-size:32px;line-height:1}.field-label{color:var(--muted);font-size:12px}.sign-in .theme-toggle{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));position:absolute}input[type=range]{accent-color:var(--gold);width:100%;height:44px}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}@media (max-width:720px){.shell{padding:0 max(14px, env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left))}.app-header{padding:max(12px, env(safe-area-inset-top)) 0 10px}.menu-btn{display:inline-flex}.app-nav{display:none}.brand-name{font-size:16px}.panel{padding:14px}.page-title{font-size:22px}.hero-num{font-size:32px}.stat-row{grid-template-columns:1fr 1fr;display:grid}.stat{border-left:1px solid var(--line);border-top:1px solid var(--line);flex:none;padding:12px}.stat:first-child{border-left:1px solid var(--line)}.stat:nth-child(odd){border-left:none}.stat:nth-child(-n+2){border-top:none}.chip,.btn{min-height:44px;padding:10px 14px;font-size:13px}.field{width:100%;min-height:44px;font-size:16px}.filter-bar{flex-direction:column;align-items:stretch}.filter-bar .btn,.filter-bar .field{width:100%}.page-head{align-items:stretch}.page-head .actions{width:100%}.page-head .actions>span,.page-head .actions>.btn{flex:auto;min-width:0}.page-head .actions .btn{width:100%}.btn.btn-icon{flex:0 0 44px;width:44px;padding:0}.tx-detail{padding-left:0}.tx-detail .actions{flex-direction:column;align-items:stretch}.tx-detail .field,.tx-detail .btn{width:100%}.budget-line-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.budget-line-cat{flex:100%!important}.budget-line-actual,.budget-line-left{width:auto!important}.budget-line-input{width:96px!important}.account-row{grid-template-columns:1fr auto;align-items:baseline;gap:4px 10px!important;display:grid!important}.account-row-name{grid-column:1/-1;flex:none!important}.account-row-bal{width:auto!important}.sync-row{grid-template-columns:auto auto 1fr;gap:2px 10px!important;display:grid!important}.sync-row-detail{grid-column:1/-1;white-space:normal!important}.import-row{grid-template-columns:1fr auto;align-items:start!important;gap:4px 10px!important;display:grid!important}.import-row-dates,.import-row-stats,.import-row-amount{width:auto!important}.import-row-name{grid-column:1/-1;min-width:0!important}.import-row-stats{grid-column:1}.year-row-label,.year-row-amount{flex:none;width:auto!important}.year-row>:nth-child(2){min-width:0}.dup-row{grid-template-columns:52px 1fr auto;gap:2px 8px!important;display:grid!important}.dup-source{grid-column:2/-1;width:auto!important}.inputs-grid{flex-direction:column;gap:14px!important;display:flex!important}.inputs-grid .field,.inputs-grid input,.inputs-grid select{width:100%!important}.range-picker,.insight-head{flex-direction:column;align-items:stretch!important}.range-picker .field{flex:120px;width:auto;min-width:0}.target-row .field{flex:100px;width:auto;min-width:0}.drop-zone{padding:24px 14px!important}.sign-in{padding-top:max(64px, calc(env(safe-area-inset-top) + 52px));align-items:flex-start}.sign-in-form{max-width:none}.field-label{font-size:14px}}.fp-shell{max-width:1180px}.fp-jump{z-index:3;background:var(--bg);flex-wrap:wrap;gap:6px;margin-bottom:18px;padding:8px 0;display:flex;position:sticky;top:0}.fp-save-status{color:var(--muted);font-size:12px}.fp-save-status[data-status=error]{color:var(--bad)}.fp-save-status[data-status=unsaved]{color:var(--gold)}.fp-section{margin-bottom:16px;scroll-margin-top:56px}.fp-section-title{letter-spacing:-.02em;margin:0 0 14px;font-size:17px;font-weight:650}.fp-hint{color:var(--muted);margin:0 0 14px;font-size:12.5px;line-height:1.5}.fp-field{flex-direction:column;gap:6px;min-width:0;display:flex}.fp-cents{align-items:center;gap:6px;min-width:0;display:flex}.fp-cents>span{color:var(--dim);font-size:14px}.fp-cents .field{text-align:right;flex:1;min-width:0}.fp-person-row{grid-template-columns:minmax(140px,1.2fr) 1fr 1fr;align-items:center;gap:10px;margin-bottom:10px;display:grid}.fp-person-head,.fp-goal-head,.fp-col-name{color:var(--dim);letter-spacing:.04em;text-transform:uppercase;font-size:11.5px;font-weight:600}.fp-col-name{margin-bottom:6px;display:none}.fp-person-cell,.fp-goal-cell{min-width:0}.fp-person-cell .field,.fp-goal-cell .field,.fp-person-cell select,.fp-goal-cell select{width:100%}.fp-person-label{color:var(--muted);font-size:13px;line-height:1.35}.fp-row-grid{align-items:end;gap:10px;margin-bottom:10px;display:grid}.fp-row-grid-2{grid-template-columns:1fr 1fr}.fp-row-grid-3{grid-template-columns:1fr 1fr 1fr}.fp-row-grid-4{grid-template-columns:1fr 1.4fr 1fr auto}.fp-card{border:1px solid var(--line);background:var(--panel-2);border-radius:3px;margin-bottom:10px;padding:12px}.fp-goal{grid-template-columns:110px 70px 1.4fr 90px 120px 110px 110px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.fp-goal-kind{color:var(--muted);font-size:12.5px}.fp-goal-head{margin-bottom:4px}.fp-table-wrap{overflow-x:auto}.fp-textarea{resize:vertical;width:100%;min-height:72px}.fp-suggest{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;font-size:12.5px;display:flex}.fp-fear{grid-template-columns:1fr auto auto;align-items:center;gap:12px;margin-bottom:8px;display:grid}.fp-check{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:inline-flex}.fp-list{color:var(--muted);margin:0 0 16px;padding-left:18px;font-size:13px;line-height:1.55}.fp-list a{color:var(--gold)}@media (max-width:860px){.fp-person-row{grid-template-columns:1fr 1fr;align-items:start}.fp-person-label{color:var(--text);grid-column:1/-1;font-weight:600}.fp-person-head,.fp-goal-head{display:none}.fp-col-name{display:block}.fp-row-grid-2,.fp-row-grid-3,.fp-row-grid-4{grid-template-columns:1fr}.fp-goal{grid-template-columns:1fr 1fr;align-items:start}.fp-goal-kind{color:var(--text);grid-column:1/-1;font-weight:600}.fp-fear{grid-template-columns:1fr auto auto;align-items:center}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
