:root{color-scheme:light;--bg-top: #e8f0ea;--bg-bottom: #f7f4ef;--ink: #1c2a22;--muted: #5a6b60;--ok: #1f7a45;--bad: #a33b2d;--accent: #2f5d45;--accent-hover: #244836;--line: rgba(28, 42, 34, .12);--panel: rgba(255, 255, 255, .72);--panel-solid: #fbfaf7;--focus-ring: 2px solid rgba(47, 93, 69, .45);--focus-ring-offset: 2px;--focus-ring-invalid: 2px solid rgba(163, 59, 45, .45);font-family:Iowan Old Style,Palatino Linotype,Palatino,Book Antiqua,Georgia,serif;line-height:1.5;font-weight:400;color:var(--ink);background:radial-gradient(1200px 600px at 10% -10%,#cfe0d4 0%,transparent 60%),linear-gradient(165deg,var(--bg-top),var(--bg-bottom));font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-padding-bottom:2rem}body{margin:0;min-height:100vh}#root{min-height:100vh}button,input,select,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a:focus-visible,button:focus-visible,summary:focus-visible,.nav-link:focus-visible,.nav-group-trigger:focus-visible,.nav-toggle:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.page{max-width:40rem;margin:0 auto;padding:4rem 1.5rem 5.5rem;animation:rise .7s ease-out both}.auth-page{max-width:28rem}.hero{margin-bottom:2.5rem}.brand{margin:0 0 .75rem;font-size:clamp(2.4rem,6vw,3.4rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;animation:fade .9s ease-out .1s both}h1{margin:0 0 .5rem;font-size:1.15rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.lede{margin:0;color:var(--muted);max-width:32rem}.muted{color:var(--muted)}.small{font-size:.9rem}.mono{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.9rem}.money-amount{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.panel,.card{padding:1.25rem;background:var(--panel);border:1px solid var(--line)}.form-panel{border-top:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1.25rem;display:grid;gap:1rem;animation:fade .8s ease-out .2s both}.form-panel.nested{border:1px solid var(--line);border-top:1px solid var(--line)}.card-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.card-list>li{padding:.9rem 1rem;background:var(--panel);border:1px solid var(--line);display:grid;gap:.5rem}.plain-list{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.plain-list>li{padding:.35rem 0;border-bottom:1px solid var(--line)}.plain-list>li:last-child{border-bottom:none}.field,.stack-form>label,label.field{display:grid;gap:.35rem}.field>span,.field>:first-child:not(input):not(select):not(textarea):not(.field-error),.stack-form>label{color:var(--muted);font-size:.95rem}.field.grow{flex:1;min-width:12rem}.field.invalid>span,.field:has(:invalid:not(:focus):not(:placeholder-shown))>span,.field:has([aria-invalid=true])>span{color:var(--bad)}.checkbox-row,.field.checkbox-field{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.checkbox-row{color:var(--ink);font-size:.95rem;cursor:pointer}.stack-form>label.checkbox-row{color:var(--ink)}.checkbox-row input[type=checkbox],.checkbox-field input[type=checkbox]{width:auto;margin:0;padding:0;flex-shrink:0}.stack-form{display:grid;gap:.85rem}.stack-form>button{justify-self:start}fieldset{margin:0;padding:0;border:none;display:grid;gap:.85rem;min-width:0}legend{padding:0;margin:0 0 .35rem;font-weight:600;color:var(--ink)}input,select,textarea{width:100%;padding:.65rem .75rem;border:1px solid var(--line);background:var(--panel-solid);color:var(--ink);border-radius:2px;transition:border-color .15s ease,box-shadow .15s ease}textarea{min-height:5.5rem;resize:vertical;line-height:1.45}input:hover:not(:disabled):not([readonly]),select:hover:not(:disabled):not([readonly]),textarea:hover:not(:disabled):not([readonly]){border-color:#1c2a2247}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:var(--focus-ring);outline-offset:1px;border-color:#2f5d4573}input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed;background:#fbfaf7b3}input:invalid:not(:focus):not(:placeholder-shown),select:invalid:not(:focus),textarea:invalid:not(:focus):not(:placeholder-shown),input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],.is-invalid{border-color:#a33b2d8c;box-shadow:0 0 0 1px #a33b2d2e}input[aria-invalid=true]:focus-visible,select[aria-invalid=true]:focus-visible,textarea[aria-invalid=true]:focus-visible,.is-invalid:focus-visible{outline:var(--focus-ring-invalid);outline-offset:1px}.field-error{margin:0;color:var(--bad);font-size:.85rem;line-height:1.35}.alert,.form-error,.form-notice,.form-success,.error,.notice{margin:0;padding:.75rem .9rem;border:1px solid var(--line);border-radius:2px;line-height:1.4}.form-feedback-label{font-weight:600}p.form-error:not(:has(.form-feedback-label)):before,p.error:not(:has(.form-feedback-label)):before,p.alert:not(.alert-success):not(.alert-info):not(:has(.form-feedback-label)):before{content:"Error: ";font-weight:600}p.form-success:not(:has(.form-feedback-label)):before,p.alert-success:not(:has(.form-feedback-label)):before{content:"Success: ";font-weight:600}p.form-notice:not(:has(.form-feedback-label)):before,p.notice:not(:has(.form-feedback-label)):before{content:"Notice: ";font-weight:600}p.alert-info:not(:has(.form-feedback-label)):before{content:"Info: ";font-weight:600}.alert,.form-error,.error{border-color:#a33b2d40;background:#a33b2d14;color:var(--bad)}.form-notice,.notice,.form-success,.alert-success{border-color:#1f7a4540;background:#1f7a4514;color:var(--ok)}.alert-info{border-color:#2f5d4538;background:#2f5d4512;color:var(--accent)}.alert.small,.form-error.small,.error.small,.form-notice.small,.notice.small,.form-success.small{padding:.45rem .65rem;font-size:.9rem}.form-status{display:grid;gap:.5rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.65rem 1.1rem;border:1px solid transparent;border-radius:2px;cursor:pointer;background:transparent;color:var(--ink);transition:background .15s ease,border-color .15s ease,color .15s ease,filter .15s ease}.btn:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.btn:disabled,.btn[aria-disabled=true],.btn.loading{opacity:.55;cursor:not-allowed}.btn.loading{position:relative;pointer-events:none}.btn.primary{background:var(--accent);color:#f7faf7}.btn.primary:hover:not(:disabled):not(.loading){background:var(--accent-hover)}.btn.secondary{border-color:var(--line);background:var(--panel-solid);color:var(--ink)}.btn.secondary:hover:not(:disabled):not(.loading){background:#1c2a220d;border-color:#1c2a2238}.btn.ghost{border-color:var(--line);background:transparent}.btn.ghost:hover:not(:disabled):not(.loading){background:#1c2a220a}.btn.danger,.btn.destructive{color:var(--bad)}.btn.danger:hover:not(:disabled):not(.loading),.btn.destructive:hover:not(:disabled):not(.loading){background:#a33b2d14}.btn.danger.solid,.btn.destructive.solid,.confirm-dialog-actions .btn.danger,.confirm-dialog-actions .btn.destructive{background:var(--bad);color:#fff;border-color:transparent}.btn.danger.solid:hover:not(:disabled):not(.loading),.btn.destructive.solid:hover:not(:disabled):not(.loading),.confirm-dialog-actions .btn.danger:hover:not(:disabled),.confirm-dialog-actions .btn.destructive:hover:not(:disabled){filter:brightness(.92);background:var(--bad)}.btn-row,.button-row,.action-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.button-row>button:not(.btn):not(.linkish),.action-row>button:not(.btn):not(.linkish),.stack-form>button:not(.btn):not(.linkish),fieldset>button:not(.btn):not(.linkish){display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.65rem 1.1rem;border:1px solid var(--line);border-radius:2px;background:var(--panel-solid);color:var(--ink);cursor:pointer}.button-row>button:not(.btn):not(.linkish):hover:not(:disabled),.action-row>button:not(.btn):not(.linkish):hover:not(:disabled),.stack-form>button:not(.btn):not(.linkish):hover:not(:disabled),fieldset>button:not(.btn):not(.linkish):hover:not(:disabled){background:#1c2a220d}.button-row>button:not(.btn):not(.linkish):focus-visible,.action-row>button:not(.btn):not(.linkish):focus-visible,.stack-form>button:not(.btn):not(.linkish):focus-visible,fieldset>button:not(.btn):not(.linkish):focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.button-row>button:not(.btn):not(.linkish):disabled,.action-row>button:not(.btn):not(.linkish):disabled,.stack-form>button:not(.btn):not(.linkish):disabled,fieldset>button:not(.btn):not(.linkish):disabled{opacity:.55;cursor:not-allowed}.linkish{border:none;background:none;padding:0;color:var(--accent);text-decoration:underline;cursor:pointer}.linkish:hover:not(:disabled){color:var(--accent-hover)}.linkish:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}.linkish:disabled{opacity:.55;cursor:not-allowed}.auth-alt{margin:1.25rem 0 0;color:var(--muted);font-size:.95rem}.data-table{width:100%;border-collapse:collapse;font-size:.95rem}.data-table th,.data-table td{padding:.65rem .75rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.data-table th{color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:#ffffff73}.data-table tbody tr:hover{background:#2f5d450a}.data-table .num,.data-table td.money,.data-table th.money{text-align:right;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums}.data-table caption{caption-side:top;text-align:left;margin-bottom:.5rem;color:var(--muted);font-size:.9rem}.table-scroll{position:relative;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:1px solid var(--line);background:linear-gradient(to right,var(--panel-solid),transparent) 0 0 / 1.25rem 100% local,linear-gradient(to left,var(--panel-solid),transparent) 100% 0 / 1.25rem 100% local,linear-gradient(to right,rgba(28,42,34,.08),transparent) 0 0 / .65rem 100% scroll,linear-gradient(to left,rgba(28,42,34,.08),transparent) 100% 0 / .65rem 100% scroll,var(--panel);background-repeat:no-repeat}.table-scroll>.data-table{margin:0;min-width:36rem;background:transparent}.table-scroll>.data-table th,.table-scroll>.data-table td{white-space:nowrap}.table-scroll>.data-table td:nth-child(2),.table-scroll>.data-table th:nth-child(2){white-space:normal;min-width:8rem}.table-scroll[data-scroll-hint]:before{content:attr(data-scroll-hint);display:none;position:sticky;left:0;z-index:2;padding:.4rem .75rem;color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.02em;background:#ffffffeb;border-bottom:1px solid var(--line)}@media(max-width:960px){.table-scroll[data-scroll-hint]:before{display:block}}.data-table.sticky-first th:first-child,.data-table.sticky-first td:first-child{position:sticky;left:0;z-index:1;background:var(--panel-solid);box-shadow:1px 0 0 var(--line)}.data-table.sticky-first thead th:first-child{background:#fffffff5;z-index:2}@media(max-width:640px){.table-scroll:has(>.data-table.cards-mobile){overflow:visible;border:none;background:transparent}.table-scroll:has(>.data-table.cards-mobile)[data-scroll-hint]:before{display:none}.table-scroll>.data-table.cards-mobile{min-width:0;width:100%}.data-table.cards-mobile,.data-table.cards-mobile thead,.data-table.cards-mobile tbody,.data-table.cards-mobile tr,.data-table.cards-mobile th,.data-table.cards-mobile td{display:block;width:100%}.data-table.cards-mobile thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.data-table.cards-mobile tbody{display:grid;gap:.75rem}.data-table.cards-mobile tr{margin:0;padding:.75rem .9rem;border:1px solid var(--line);background:var(--panel)}.data-table.cards-mobile tbody tr:hover{background:var(--panel)}.data-table.cards-mobile td{display:grid;grid-template-columns:minmax(6.5rem,36%) minmax(0,1fr);gap:.35rem .75rem;align-items:baseline;padding:.35rem 0;border-bottom:none;white-space:normal}.data-table.cards-mobile td+td{border-top:1px solid rgba(28,42,34,.06)}.data-table.cards-mobile td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.data-table.cards-mobile td.money,.data-table.cards-mobile .num{text-align:right;justify-items:stretch}.data-table.cards-mobile.sticky-first th:first-child,.data-table.cards-mobile.sticky-first td:first-child{position:static;box-shadow:none;background:transparent}}.loading-state,.empty-state{margin:0;padding:1rem .25rem;color:var(--muted)}.loading-state{display:inline-flex;align-items:center;gap:.55rem}.loading-state:before{content:"";width:.7rem;height:.7rem;border:2px solid rgba(47,93,69,.25);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@media(prefers-reduced-motion:reduce){.loading-state:before{animation:none;border-color:var(--accent);opacity:.7}}.empty-state{border:1px dashed var(--line);padding:1.25rem 1rem;text-align:center;background:#ffffff59}.empty-state-copy{margin:0}.empty-state-actions{margin-top:.85rem;justify-content:center}@keyframes spin{to{transform:rotate(360deg)}}.shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr}.shell-top{position:relative;z-index:50;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--line);background:#ffffff8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fade .5s ease-out both}.shell-brand-block{min-width:0}.shell-brand{margin:0;font-size:clamp(1.6rem,4vw,2.1rem);font-weight:700;letter-spacing:-.02em;line-height:1.1}.shell-user{margin:.2rem 0 0;color:var(--muted);font-size:.95rem}.shell-current{margin:.15rem 0 0;font-size:.8rem;font-weight:600;color:var(--ink)}.shell-household{margin:.2rem 0 0;font-size:.85rem;color:var(--muted)}.shell-household-switcher{display:block;margin:.25rem 0 0}.shell-household-switcher select{max-width:14rem;font-size:.85rem;padding:.25rem .45rem}.assistant-proposals{display:grid;gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none}.assistant-proposal-card{border:1px solid var(--line);background:var(--panel-solid);padding:.85rem 1rem}.assistant-proposal-card p{margin:0 0 .65rem}.assistant-proposal-card .btn-row{margin:0}.net-worth-accounts{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}.net-worth-account-row{border:1px solid var(--line);padding:.75rem .9rem;display:grid;gap:.5rem}.net-worth-account-row header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.35rem 1rem}.net-worth-account-row .nw-meta{font-size:.85rem;color:var(--muted)}.net-worth-account-row .nw-controls{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:end}.nav-toggle{display:none;border:1px solid var(--line);background:var(--panel-solid);padding:.45rem .85rem;cursor:pointer}.shell-nav{display:flex;flex-wrap:wrap;gap:.35rem .75rem;align-items:center}.nav-link{border:none;background:transparent;padding:.4rem .55rem;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;text-decoration:none}.nav-link:hover{color:var(--ink)}.nav-link.active{color:var(--ink);border-bottom-color:var(--accent)}.nav-link.logout{margin-left:.5rem;color:var(--ink)}.nav-group{position:relative}.nav-group-trigger{border:none;background:transparent;padding:.4rem .55rem;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;display:inline-flex;align-items:center;gap:.35rem}.nav-group-trigger:hover,.nav-group-trigger.open{color:var(--ink)}.nav-group-trigger.active{color:var(--ink);border-bottom-color:var(--accent)}.nav-group-trigger:after{content:"";width:.35rem;height:.35rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-1px);opacity:.7}.nav-group-menu{display:none;position:absolute;top:calc(100% + .35rem);left:0;min-width:11.5rem;padding:.35rem;background:var(--panel-solid);border:1px solid var(--line);box-shadow:0 10px 28px #1c2a221f;z-index:40}.nav-group.open .nav-group-menu{display:grid;gap:.1rem}.nav-group-menu .nav-link{text-align:left;width:100%;border-bottom:none;border-left:2px solid transparent;padding:.5rem .65rem}.nav-group-menu .nav-link.active{border-left-color:var(--accent);border-bottom-color:transparent;background:#2f5d450f}.nav-group-label{display:none;margin:.75rem 0 .15rem;padding:0 .25rem;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.shell-main{width:min(72rem,100%);margin:0 auto;padding:2rem 1.5rem 5.5rem;animation:rise .55s ease-out both}.confirm-dialog-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1.25rem}.confirm-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#1c2a2266;cursor:pointer;animation:fade .2s ease-out both}.confirm-dialog-panel{position:relative;z-index:1;width:min(26rem,100%);max-height:min(90vh,32rem);overflow:auto;padding:1.25rem 1.35rem 1.35rem;background:var(--panel-solid);border:1px solid var(--line);box-shadow:0 16px 48px #1c2a222e;animation:rise .22s ease-out both}.confirm-dialog-panel:focus{outline:none}.confirm-dialog-panel h3{margin:0 0 .75rem;font-size:1.15rem;line-height:1.25}.confirm-dialog-body p{margin:0 0 .65rem;line-height:1.45}.confirm-dialog-details{margin:0 0 .25rem;white-space:pre-wrap}.confirm-dialog-actions{margin-top:1.15rem;justify-content:flex-end}.slide-over-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;display:flex;justify-content:flex-end}.slide-over-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;padding:0;background:#1c2a2247;cursor:pointer;animation:fade .2s ease-out both}.slide-over-panel{position:relative;z-index:1;width:min(28rem,100%);height:100%;display:flex;flex-direction:column;background:var(--panel-solid);border-left:1px solid var(--line);box-shadow:-12px 0 40px #1c2a221f;animation:slide-in .25s ease-out both}.slide-over-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.15rem 1.25rem;border-bottom:1px solid var(--line)}.slide-over-head h3{margin:0;font-size:1.15rem;line-height:1.25}.slide-over-close{flex-shrink:0;padding:.35rem .65rem}.slide-over-body{flex:1;overflow:auto;padding:1.15rem 1.25rem 3.5rem}.slide-over-body .detail-panel{padding:0;border:none;background:transparent}.slide-over-body .inline-form.stacked{margin-top:.75rem}@keyframes slide-in{0%{opacity:0;transform:translate(1.25rem)}to{opacity:1;transform:translate(0)}}.membership-summary{margin:0 0 1rem}.stack{display:grid;gap:1.25rem}.stack.narrow{max-width:28rem}.section-head h2{margin:0 0 .35rem;font-size:1.35rem}.section-head p{margin:0;color:var(--muted)}.section-head h3,.detail-panel h3{margin:0 0 .35rem;font-size:1.2rem}.detail-panel h4{margin:1.25rem 0 .5rem;font-size:1rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.inline-form{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end}.inline-form.stacked{flex-direction:column;align-items:stretch;margin-top:.5rem;padding-top:1rem;border-top:1px solid var(--line)}.household-list,.member-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.household-item{width:100%;display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.85rem .25rem;min-height:2.75rem;border:none;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer;color:inherit}.household-item:hover,.household-item.active{background:#2f5d450f}.household-name{font-weight:600}.household-role{color:var(--muted);font-size:.9rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.detail-panel{padding:1.25rem;background:var(--panel);border:1px solid var(--line)}.planning-result-dl{margin:0;display:grid;gap:.85rem}.planning-result-dl>div{display:grid;gap:.25rem}.planning-result-dl dt{margin:0;font-weight:600;color:var(--ink);font-size:.95rem}.planning-result-dl dd{margin:0;color:var(--ink);line-height:1.45}.planning-assumption-list{margin:0;padding-left:1.15rem;display:grid;gap:.2rem}.planning-money-disclaimer{margin-top:1rem}.assumption-hint{margin:0;color:var(--muted);font-size:.85rem;line-height:1.35}.member-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:center;padding:.85rem 0;border-bottom:1px solid var(--line)}.member-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.member-actions select{width:auto;min-width:9rem}.account-list .account-item{align-items:flex-start}.account-item-main{display:grid;gap:.25rem;min-width:0}.account-meta{display:flex;flex-wrap:wrap;gap:.35rem .65rem}.account-tag{color:var(--muted);font-size:.85rem;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace}.account-balance{flex-shrink:0;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;margin-left:auto}.account-summary{margin-top:1rem}.simplefin-account-list{margin-top:.5rem}.simplefin-account-item{display:grid;gap:.75rem;padding:.85rem 0;border-bottom:1px solid var(--line)}.simplefin-account-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;align-items:flex-start}.simplefin-account-balances{display:grid;gap:.15rem;justify-items:end;text-align:right}.simplefin-account-actions{display:grid;gap:.75rem}.simplefin-action-form{display:grid;gap:.75rem;padding:.75rem;border:1px solid var(--line);background:var(--panel-solid)}.simplefin-subheading{margin:1.25rem 0 .5rem;font-size:.95rem;font-weight:600}.simplefin-sync-run-list{margin-top:.25rem}.simplefin-sync-run-item{display:grid;gap:.35rem;padding:.75rem 0;border-bottom:1px solid var(--line)}.simplefin-sync-run-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.5rem;align-items:center}.section-head.compact{margin-bottom:0}.section-head.compact h3{margin:0}.section-head.compact p{margin:.35rem 0 0}.filters-panel h3,.bulk-panel h3,.suggestion-panel h3{margin:0;font-size:1rem}.suggestion-panel{display:grid;gap:.75rem}.suggestion-list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.suggestion-row{display:grid;gap:.5rem;padding:.65rem 0;border-top:1px solid var(--line)}.suggestion-row:first-child{border-top:none;padding-top:0}.suggestion-main{display:grid;gap:.15rem}.suggestion-meta{margin:.15rem 0 0;font-size:.92rem}.suggestion-actions{flex-wrap:wrap}.suggestion-change{align-items:end}.suggestion-detail{display:grid;gap:.35rem;margin-top:.35rem}.txn-suggestion-inline{color:var(--accent, #0b6e4f);font-style:italic}.checkbox-field span{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.95rem}.checklist{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.checklist label{display:inline-flex;align-items:center;gap:.5rem;cursor:pointer}.checklist input[type=checkbox]{width:auto;flex-shrink:0;margin:0;padding:0;border:none;background:transparent;border-radius:0}.txn-page{gap:1.5rem}.txn-workspace-toolbar{display:grid;gap:.5rem}.txn-workspace-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .65rem}.txn-selection-hint{margin:0}.txn-advanced-ops{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--line)}.txn-advanced-ops summary{cursor:pointer;font-weight:600;color:var(--ink);list-style-position:outside}.txn-advanced-ops-body{display:grid;gap:.65rem;margin-top:.75rem}.txn-register{display:grid;gap:.75rem;min-width:0}.txn-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem}.txn-count,.txn-group-toggle{margin:0}.txn-table-scroll{position:relative;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border:1px solid var(--line);background:linear-gradient(to right,var(--panel-solid),transparent) 0 0 / 1.25rem 100% local,linear-gradient(to left,var(--panel-solid),transparent) 100% 0 / 1.25rem 100% local,linear-gradient(to right,rgba(28,42,34,.08),transparent) 0 0 / .65rem 100% scroll,linear-gradient(to left,rgba(28,42,34,.08),transparent) 100% 0 / .65rem 100% scroll,var(--panel);background-repeat:no-repeat}.txn-table-scroll[data-scroll-hint]:before{content:attr(data-scroll-hint);display:none;position:sticky;left:0;z-index:3;padding:.4rem .75rem;color:var(--muted);font-size:.8rem;font-weight:600;letter-spacing:.02em;background:#ffffffeb;border-bottom:1px solid var(--line)}.txn-table-pane{min-width:52rem}.txn-register-grouped .txn-table-pane{min-width:42rem}.txn-row-button{display:grid;grid-template-columns:6.5rem minmax(10rem,1.6fr) minmax(7rem,1fr) minmax(6.5rem,.9fr) 6.5rem 7.5rem;gap:.75rem 1rem;align-items:center;min-width:0}.txn-table-head{display:grid;grid-template-columns:2.5rem 6.5rem minmax(10rem,1.6fr) minmax(7rem,1fr) minmax(6.5rem,.9fr) 6.5rem 7.5rem;gap:.75rem 1rem;align-items:center;padding:.55rem .5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff73;position:sticky;top:0;z-index:2}.txn-register-grouped .txn-row-button{grid-template-columns:6.5rem minmax(10rem,1.8fr) minmax(6.5rem,.9fr) 6.5rem 7.5rem}.txn-register-grouped .txn-table-head{grid-template-columns:2.5rem 6.5rem minmax(10rem,1.8fr) minmax(6.5rem,.9fr) 6.5rem 7.5rem}.txn-register-grouped .txn-col-account{display:none}.txn-table-list{list-style:none;margin:0;padding:0}.txn-table-row{display:grid;grid-template-columns:2.5rem 1fr;gap:.5rem;align-items:stretch;border-bottom:1px solid var(--line);min-width:0}.txn-col-check{display:flex;align-items:center;justify-content:center;padding-left:.15rem;position:sticky;left:0;z-index:1;background:var(--panel-solid);box-shadow:1px 0 0 var(--line)}.txn-table-head .txn-col-check{background:#fffffff5;z-index:2}.txn-checkbox{margin:0;flex-shrink:0;width:1.15rem;height:1.15rem;min-width:1.15rem;min-height:1.15rem}.txn-row-button{grid-column:2;width:100%;border:none;background:transparent;text-align:left;cursor:pointer;color:inherit;padding:.75rem .5rem .75rem 0;font:inherit}.txn-row-button:hover,.txn-row-button.active{background:#2f5d450f}.txn-col-payee{display:grid;gap:.2rem;min-width:0}.txn-col-payee .household-name{overflow-wrap:anywhere}.txn-row-meta{gap:.3rem .5rem}.txn-col-account,.txn-col-category{overflow-wrap:anywhere;font-size:.95rem}.txn-col-date{position:sticky;left:2.5rem;z-index:1;background:var(--panel-solid);box-shadow:1px 0 0 var(--line);padding-right:.35rem;margin-right:-.35rem}.txn-table-head .txn-col-date,.txn-table-head .txn-sort-btn.txn-col-date{position:sticky;left:2.5rem;z-index:2;background:#fffffff5;box-shadow:1px 0 0 var(--line)}.txn-row-button:hover .txn-col-date,.txn-row-button.active .txn-col-date{background:#f3f6f3}.txn-col-amount{text-align:right;justify-self:end}.txn-sort-btn{display:inline-flex;align-items:center;gap:.2rem;border:none;background:transparent;padding:.45rem .15rem;margin:0;min-height:2.5rem;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-align:left}.txn-sort-btn:hover,.txn-sort-btn.active{color:var(--ink)}.txn-sort-btn.txn-col-amount{justify-self:end;text-align:right}.txn-sort-indicator{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.75rem;opacity:.45}.txn-sort-btn.active .txn-sort-indicator{opacity:1;color:var(--accent)}.txn-sort-spacer{min-width:0}.txn-status{font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.8rem;color:var(--muted)}.txn-status-cleared,.txn-status-reconciled{color:var(--ok)}.txn-status-pending{color:#8a6a28}.txn-amount{flex-shrink:0;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.95rem;font-weight:600}.txn-amount.inflow{color:var(--ok)}.txn-amount.outflow{color:var(--ink)}.txn-groups{display:grid;gap:1.25rem}.txn-account-group{border:1px solid var(--line);background:var(--panel);min-width:0}.txn-group-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.25rem;padding:.85rem 1rem;border-bottom:1px solid var(--line);background:#ffffff80}.txn-group-title{display:flex;align-items:center;gap:.75rem;min-width:0}.txn-group-title h3{margin:0;font-size:1.05rem}.txn-group-title p{margin:.15rem 0 0}.txn-account-group .txn-table-list{padding:0 .5rem .25rem}.txn-account-group .txn-table-row:last-child{border-bottom:none}.splits-panel{display:grid;gap:.75rem}.split-list{margin:0;padding-left:1.1rem}.split-list li{margin:.15rem 0}@media(max-width:960px){.txn-table-scroll[data-scroll-hint]:before{display:block}}@media(max-width:640px){.txn-toolbar{align-items:flex-start;flex-direction:column}.txn-workspace-actions{flex-direction:column;align-items:stretch}.txn-workspace-actions .btn{width:100%;justify-content:center;min-height:2.75rem}.txn-table-scroll{overflow:visible;border:none;background:transparent}.txn-table-scroll[data-scroll-hint]:before{display:none}.txn-table-pane,.txn-register-grouped .txn-table-pane{min-width:0}.txn-table-head{display:none}.txn-table-row{grid-template-columns:2.75rem 1fr;gap:.45rem;border:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:.55rem;padding:.15rem .35rem .15rem 0;background:var(--panel)}.txn-table-list .txn-table-row:last-child{margin-bottom:0}.txn-col-check{position:static;box-shadow:none;background:transparent;min-height:2.75rem}.txn-checkbox{width:1.25rem;height:1.25rem;min-width:1.25rem;min-height:1.25rem}.txn-row-button,.txn-register-grouped .txn-row-button{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"date amount" "payee amount" "account status" "category category";gap:.2rem .75rem;align-items:start;padding:.65rem .5rem .7rem 0}.txn-col-date{grid-area:date;font-size:.85rem;position:static;box-shadow:none;background:transparent;padding-right:0;margin-right:0}.txn-row-button:hover .txn-col-date,.txn-row-button.active .txn-col-date{background:transparent}.txn-col-payee{grid-area:payee}.txn-col-amount{grid-area:amount;align-self:start;padding-top:.1rem}.txn-col-account,.txn-register-grouped .txn-col-account{display:block;grid-area:account;font-size:.85rem}.txn-register-grouped .txn-col-account{display:none}.txn-col-category{display:block;grid-area:category;font-size:.85rem}.txn-col-status{display:block;grid-area:status;justify-self:end;text-align:right}.txn-col-payee .txn-row-meta{display:flex}.txn-account-group{border:none;background:transparent}.txn-account-group .txn-table-list{padding:0}.txn-group-head{padding:.75rem .15rem;border:none;border-bottom:1px solid var(--line);background:transparent}}.category-list,.rule-list,.rule-preview-list{border-top:1px solid var(--line)}.category-item,.rule-item{width:100%}.rule-row{display:flex;align-items:stretch;gap:.5rem;border-bottom:1px solid var(--line)}.rule-item{flex:1;border-bottom:none}.rule-toggle{align-self:center;flex-shrink:0;margin-right:.25rem}.rule-preview-item{padding:.85rem .25rem;border-bottom:1px solid var(--line)}.rule-explanation{margin:.35rem 0 0}.budget-month-bar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem 0 .75rem;border-bottom:1px solid var(--line)}.budget-month-label{margin:0;font-weight:600;letter-spacing:.01em}.budget-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--line)}.budget-summary>div p{margin:.15rem 0 0}.budget-list{margin-top:.5rem}.budget-list .household-item>span:last-child{flex-shrink:0;text-align:right;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-variant-numeric:tabular-nums;font-weight:600;margin-left:auto}.budget-list .household-item>span:first-child{min-width:0;padding-right:.5rem}.budget-income-events .household-item .txn-amount,.budget-income-events .household-item .mono{text-align:right;margin-left:auto;flex-shrink:0}.budget-cat-name{font-weight:600}.budget-over-tag,.budget-manual-tag,.txn-amount.budget-over{color:var(--bad)}.budget-manual-tag{color:var(--accent, #2a6f7c);font-size:.85em}.budget-income-events{margin:1rem 0}.budget-income-events .section-title{margin:0 0 .5rem;font-size:1rem}.budget-paycheck-group{display:block;align-items:stretch}.budget-paycheck-group-body{display:grid;gap:.55rem;width:100%}.budget-paycheck-group-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem}.budget-paycheck-distribution{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}.budget-paycheck-distribution li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.35rem .5rem;border-left:2px solid rgba(47,93,69,.35);background:#2f5d450d}.budget-paycheck-distribution li>span:first-child{flex:1 1 8rem;min-width:0}.budget-paycheck-distribution .mono{margin-left:auto}.household-item.static{cursor:default}.budget-detail-stats{margin-bottom:1rem}.budget-activity{margin:0 0 1.15rem}.budget-activity h4{margin:0 0 .45rem;font-size:.95rem}.budget-activity .table-scroll{margin:.4rem 0 .65rem}.budget-activity-table select{width:100%;max-width:12rem}.budget-target-summary{margin:.75rem 0 1rem;padding:.75rem .9rem;border:1px solid var(--line);background:#ffffff73;display:grid;gap:.35rem}.budget-target-summary p{margin:0}@media(max-width:720px){.budget-summary{grid-template-columns:1fr 1fr}.budget-summary>div p,.budget-summary .mono{text-align:right}.btn-row .btn,.button-row .btn,.button-row>button:not(.linkish),.budget-month-bar .btn{min-height:2.75rem;padding-left:1rem;padding-right:1rem}.budget-month-bar{gap:.65rem}.member-actions .btn,.member-actions button{min-height:2.75rem}}@media(max-width:520px){.budget-summary{grid-template-columns:1fr}.account-list .account-item,.budget-list .household-item{align-items:flex-start;gap:.65rem}.account-balance,.budget-list .household-item>span:last-child{padding-top:.1rem}}.status{border-top:1px solid var(--line);background:var(--panel);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:1.25rem 1.25rem .5rem;animation:fade .8s ease-out .25s both}dl{margin:0}dl>div{display:grid;grid-template-columns:11rem 1fr;gap:.75rem;padding:.65rem 0;border-bottom:1px solid var(--line)}dt{margin:0;color:var(--muted);font-size:.95rem}dd{margin:0;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:.95rem}.ok{color:var(--ok)}.bad{color:var(--bad)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}.page,.brand,.form-panel,.shell-top,.shell-main,.confirm-dialog-backdrop,.confirm-dialog-panel,.slide-over-backdrop,.slide-over-panel{animation:none!important}}@media(max-width:720px){.nav-toggle{display:inline-flex}.shell-nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:.15rem}.shell-nav.open{display:flex}.nav-group{display:contents}.nav-group-trigger{display:none}.nav-group-menu,.nav-group.open .nav-group-menu{display:contents;position:static;min-width:0;padding:0;border:none;box-shadow:none;background:transparent}.nav-group-label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:.75rem 0 .15rem}.nav-group.current .nav-group-label{color:var(--ink)}.nav-link,.nav-link.logout{margin-left:0;text-align:left;border-bottom:none;padding:.65rem .25rem;border-left:2px solid transparent}.nav-link.active{border-left-color:var(--accent);border-bottom-color:transparent}}@media(max-width:520px){.page{padding:2.5rem 1.15rem 4.5rem}.shell-main{padding:1.5rem 1.15rem 4.5rem}dl>div{grid-template-columns:1fr;gap:.2rem}.member-row{flex-direction:column;align-items:stretch}.member-actions{justify-content:space-between}}.code-block{overflow:auto;max-height:20rem;padding:.75rem;font-size:.8rem;background:color-mix(in srgb,Canvas 92%,CanvasText 8%);border-radius:.35rem}.dash-grid{display:grid;gap:1rem}.dash-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.dash-kpi{padding:.9rem 1rem;background:var(--panel);border:1px solid var(--line);display:grid;gap:.2rem}.dash-kpi .label{margin:0;color:var(--muted);font-size:.85rem}.dash-kpi .value{margin:0;font-family:IBM Plex Mono,SFMono-Regular,Consolas,monospace;font-size:1.15rem;font-weight:600}.dash-kpi .value.negative,.value.negative{color:var(--bad)}.dash-kpi .value.positive,.value.positive{color:var(--ok)}.dash-action{padding:1rem 1.15rem;background:#2f5d4514;border:1px solid rgba(47,93,69,.2)}.dash-action p{margin:.25rem 0 0}.dash-queue{padding:1rem 1.1rem;background:var(--panel);border:1px solid var(--line);display:grid;gap:.75rem}.dash-queue-head h3{margin:0;font-size:1rem}.dash-queue-head p{margin:.2rem 0 0}.dash-queue-list{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.dash-queue-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem;padding:.7rem 0;border-top:1px solid var(--line)}.dash-queue-item:first-child{border-top:none;padding-top:0}.dash-queue-main{display:grid;gap:.15rem;min-width:0;flex:1 1 14rem}.dash-queue-label{margin:0;font-weight:600}.dash-queue-cta{flex-shrink:0;text-decoration:none}.dash-severity{display:inline-block;width:fit-content;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.dash-severity.severity-attention{color:var(--bad)}.dash-severity.severity-upcoming{color:var(--accent)}.dash-severity.severity-ok{color:var(--ok)}.dash-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.dash-list-head h3{margin:0}a.btn{text-decoration:none}.dash-charts{display:grid;grid-template-columns:1.4fr 1fr;gap:.75rem}.dash-chart-card{padding:1rem 1.1rem;background:var(--panel);border:1px solid var(--line);display:grid;gap:.75rem}.dash-chart-card h3{margin:0;font-size:1rem}.report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem 1.25rem;margin:0}.report-summary>div{display:grid;gap:.2rem}.report-summary dt{margin:0;font-size:.8rem;color:var(--muted);text-transform:capitalize}.report-summary dd{margin:0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:1.05rem}.form-row{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.form-row>.field{flex:1 1 10rem;min-width:0}.dash-chart-empty{margin:0;min-height:8rem;display:grid;place-items:center;color:var(--muted);font-size:.95rem}.dash-chart-svg{width:100%;height:auto;display:block}.chart-summary{margin:0;color:var(--muted);font-size:.9rem;line-height:1.4}.chart-summary strong{color:var(--ink);font-weight:600}.dash-two-col{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.dash-list-card{padding:1rem 1.1rem;background:var(--panel);border:1px solid var(--line)}.dash-list-card h3{margin:0 0 .5rem;font-size:1rem}.dash-list-card ul{margin:0;padding-left:1.1rem}.dash-list-card li{margin:.25rem 0}.dash-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;justify-content:space-between}@media(max-width:720px){.dash-kpis{grid-template-columns:1fr 1fr}.dash-charts,.dash-two-col{grid-template-columns:1fr}}@media(max-width:520px){.dash-kpis{grid-template-columns:1fr}.slide-over-panel{width:100%}}
