:root{--bg:#edebe7;--sidebar:#fff;--surface:#fff;--sunken:#f4f2ef;--border:#e7e4df;--border-strong:#d8d4cd;--text:#17161a;--text-soft:#56534e;--muted:#8a857d;--solid:#1c1b1f;--solid-text:#fff;--good-bg:#e6f4ec;--good-fg:#1a7f43;--warn-bg:#fbf0dc;--warn-fg:#92640f;--bad-bg:#fbeae3;--bad-fg:#b1441d;--info-bg:#e9eefb;--info-fg:#2f5bd0;--neutral-bg:#f1efec;--neutral-fg:#6d6961;--ground-ink:#3c322616;--radius:12px;--radius-sm:8px;--sans:ui-sans-serif, -apple-system, "Segoe UI", Inter, system-ui, sans-serif;--serif:ui-serif, "New York", "Iowan Old Style", Charter, "Palatino Linotype", Palatino, Georgia, serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#131316;--sidebar:#1a1a1e;--surface:#1e1e23;--sunken:#191a1d;--border:#2c2c33;--border-strong:#3a3a43;--text:#f0eeea;--text-soft:#b8b4ad;--muted:#8b867e;--solid:#f0eeea;--solid-text:#17161a;--good-bg:#16301f;--good-fg:#6ec894;--warn-bg:#33280f;--warn-fg:#ddb35f;--bad-bg:#381d14;--bad-fg:#e69277;--info-bg:#1a2340;--info-fg:#8ba7f0;--neutral-bg:#26262c;--neutral-fg:#a09b93;--ground-ink:#f0ece40f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}.shell{grid-template-columns:258px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--sidebar);border-right:1px solid var(--border);flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;align-items:center;gap:.55rem;padding:1.15rem 1.1rem;font-size:.95rem;font-weight:600;display:flex}.brand .mark{color:var(--muted);display:flex}.brand .light{color:var(--muted);font-weight:400}.nav{flex:1;padding:0 .6rem 1rem;overflow-y:auto}.nav-section{letter-spacing:.09em;text-transform:uppercase;text-align:left;width:100%;color:var(--muted);background:0 0;border:none;border-radius:0;align-items:center;gap:.35rem;padding:1.1rem .5rem .4rem;font-size:.66rem;font-weight:600;display:flex}.nav-section:hover:not(:disabled){color:var(--text-soft);border-color:#0000}.nav-section .chevron{color:var(--muted);display:inline-flex}.nav-section.holds-current,.nav-section.holds-current .chevron{color:var(--text)}.nav-item{border-radius:var(--radius-sm);width:100%;color:var(--text-soft);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:.6rem;margin-bottom:1px;padding:.5rem .55rem;display:flex}.nav-item:hover{background:var(--sunken);color:var(--text)}.nav-item.active{background:var(--surface);border-color:var(--border);color:var(--text);font-weight:500;box-shadow:0 1px 2px #0000000a}.nav-item .icon{color:var(--muted);flex:none}.nav-item.active .icon{color:var(--text)}.nav-item.nested{border-left-color:var(--border);border-top-left-radius:0;border-bottom-left-radius:0;width:calc(100% - .85rem);margin-left:.85rem;padding-left:.7rem}.nav-item.nested .label{color:var(--text-soft)}.nested-cell{position:relative;padding-left:1.6rem!important}.nested-cell:before{content:"";border-top:1px solid var(--border);width:.45rem;position:absolute;top:50%;left:.75rem}.nav-item .label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.nav-item .trailing{font-family:var(--mono);color:var(--muted);font-size:.68rem}.sidebar-foot{border-top:1px solid var(--border);color:var(--muted);align-items:center;gap:.6rem;padding:.75rem .9rem;font-size:.78rem;display:flex}.avatar{background:var(--neutral-bg);width:28px;height:28px;color:var(--neutral-fg);letter-spacing:.02em;border-radius:50%;flex:none;place-items:center;font-size:.68rem;font-weight:600;display:grid}.content{background:var(--sunken);isolation:isolate;flex-direction:column;min-width:0;display:flex;position:relative}.content:before{content:"";z-index:-1;pointer-events:none;background:var(--ground-ink);position:absolute;inset:0;-webkit-mask:url(/assets/ground-B3yKKN1R.svg) 0 0/520px 520px;mask:url(/assets/ground-B3yKKN1R.svg) 0 0/520px 520px}.content{--topbar-height:3.9rem}.topbar{min-height:var(--topbar-height);border-bottom:1px solid var(--border);background:var(--sidebar);z-index:20;align-items:center;gap:1rem;padding:.85rem 1.5rem;display:flex;position:sticky;top:0}.crumbs{color:var(--muted);align-items:center;gap:.5rem;min-width:0;font-size:.8rem;display:flex}.crumbs .here{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.topbar-spacer{flex:1}.page{width:100%;max-width:1180px;padding:1.6rem 1.5rem 4rem}.eyebrow{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.35rem;font-size:.68rem;font-weight:600}.page h1{font-family:var(--serif);letter-spacing:-.005em;margin:0;font-size:1.85rem;font-weight:600}.lede{color:var(--muted);margin:.35rem 0 0;font-size:.88rem}.page-head{align-items:flex-start;gap:1rem;margin-bottom:1.4rem;display:flex}.page-head>div:first-child{flex:1;min-width:0}.stats{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.9rem;margin-bottom:1.1rem;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem 1.1rem 1.05rem}.stat-head{align-items:center;gap:.55rem;margin-bottom:.85rem;display:flex}.stat-icon{border:1px solid var(--border);width:26px;height:26px;color:var(--muted);border-radius:7px;flex:none;place-items:center;display:grid}.stat-label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-soft);font-size:.66rem;font-weight:600}.stat-chart{margin:.6rem 0 .2rem}.month-bars{align-items:flex-end;gap:3px;height:130px;display:flex;position:relative}.month-bars .month-col{flex-direction:column;flex:1 1 0;justify-content:flex-end;gap:2px;min-width:0;height:100%;display:flex}.month-bars .col-stack{--band:color-mix(in srgb, currentColor 85%, transparent);border-radius:4px;flex-direction:column;display:flex;overflow:hidden}.month-bars .col-stack.ghosted{--band:color-mix(in srgb, currentColor 16%, transparent)}.month-bars .seg{background:var(--band);box-shadow:inset 0 -1px 0 var(--surface);position:relative}.month-bars .seg:last-child{box-shadow:none}.month-bars .seg-hatched{background:repeating-linear-gradient(45deg, var(--band) 0 1.5px, transparent 1.5px 4px)}.month-bars .seg-unmarked{background:color-mix(in srgb, var(--band) 55%, transparent)}.month-bars .seg-fill{background:color-mix(in srgb, currentColor 85%, transparent);position:absolute;bottom:0;left:0;right:0}.month-bars .seg-hatched .seg-fill{background:repeating-linear-gradient(45deg, color-mix(in srgb, currentColor 85%, transparent) 0 1.5px, transparent 1.5px 4px)}.month-bars .col-over{background:var(--bad-fg);opacity:.9;border-radius:4px 4px 0 0}.month-hover{z-index:5;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);pointer-events:none;padding:.5rem .6rem;font-size:.72rem;line-height:1.35;position:absolute;bottom:calc(100% + .4rem);left:0;right:0;box-shadow:0 8px 24px #00000024}.month-hover .hover-month{color:var(--text);margin-bottom:.3rem;font-weight:600}.month-hover .hover-line{justify-content:space-between;gap:.8rem;display:flex}.month-hover .hover-line.strong{color:var(--text);font-weight:600}.month-hover .hover-note{color:var(--muted);margin-bottom:.15rem;font-size:.68rem}.month-hover .hover-parts{color:var(--muted);margin:0 0 .3rem .6rem}.month-hover .hover-parts>div{justify-content:space-between;gap:.8rem;display:flex}.month-bars .month-col{border-radius:4px;outline:none}.month-bars .month-col.hovered,.month-bars .month-col:focus-visible{background:color-mix(in srgb, currentColor 10%, transparent)}.month-bars .month-col.from-history{color:var(--muted)}.month-bars .month-col.from-history .col-over,.month-bars.rate .month-col.from-history .rate-bar.negative{background:currentColor}.month-bars .bar-average{border-top:1px dashed var(--muted);pointer-events:none;z-index:1;position:absolute;left:0;right:0}.month-bars.rate,.month-bars.rate .month-col{position:relative}.month-bars.rate .rate-bar{opacity:.85;background:currentColor;border-radius:3px 3px 0 0;min-height:1px;position:absolute;left:0;right:0}.month-bars.rate .rate-bar.negative{background:var(--bad-fg);opacity:.8;border-radius:0 0 3px 3px}.month-bars .rate-zero{background:var(--border-strong);height:1px;position:absolute;left:0;right:0}.stat-value{font-family:var(--mono);letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:600}.stat-note{color:var(--muted);margin-top:.35rem;font-size:.78rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.1rem}.card-head{border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:.9rem 1.1rem;display:flex}.card-title{font-size:.86rem;font-weight:600}button.card-head{border:1px solid #0000;border-bottom-color:var(--border);width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border-radius:0;gap:.55rem}button.card-head:hover:not(:disabled){background:var(--sunken);border-color:#0000;border-bottom-color:var(--border)}button.card-head:last-child,button.card-head:last-child:hover{border-bottom-color:#0000}.card-head .chevron{color:var(--muted);display:inline-flex}.card-body{padding:1.1rem}.card-foot{border-top:1px solid var(--border);font-family:var(--mono);color:var(--muted);justify-content:space-between;align-items:center;padding:.7rem 1.1rem;font-size:.75rem;display:flex}.scroll-x{overflow-x:auto}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:.7rem 1.1rem;font-size:.75rem;font-weight:500}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.72rem 1.1rem}tbody tr:last-child td{border-bottom:none}tbody tr.clickable{cursor:pointer}tbody tr.clickable:hover{background:var(--sunken)}.numeric{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.86em}td.mono,th.mono{white-space:nowrap}.counterparty{text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.strong{font-weight:600}.muted,.from-history{color:var(--muted)}.positive{color:var(--good-fg)}.negative{color:var(--text)}.description{max-width:20rem;color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.pill{background:var(--neutral-bg);color:var(--neutral-fg);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;padding:.13rem .5rem .13rem .42rem;font-size:.72rem;font-weight:500;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;flex:none;width:5px;height:5px}.pill.good{background:var(--good-bg);color:var(--good-fg)}.pill.warn{background:var(--warn-bg);color:var(--warn-fg)}.pill.bad{background:var(--bad-bg);color:var(--bad-fg)}.pill.info{background:var(--info-bg);color:var(--info-fg)}.pill.person:before{display:none}.counterparty .pill{vertical-align:baseline;margin-left:.45rem}.add-menu.anchored{flex:none;position:relative}.menu-pop{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:15rem;padding:.25rem;position:absolute;top:calc(100% + .4rem);right:0;box-shadow:0 8px 24px #0000001a}.menu-item{border-radius:var(--radius-sm);width:100%;color:var(--text-soft);text-align:left;white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:.6rem;padding:.5rem .55rem;display:flex}.menu-item:hover{background:var(--sunken);color:var(--text);border-color:#0000}.menu-item .icon{color:var(--muted);flex:none}.menu-inline .nav-item{font-size:.82rem}button{font:inherit;cursor:pointer;border:1px solid var(--border-strong);background:var(--surface);color:var(--text);border-radius:999px;padding:.42rem .85rem}button:hover:not(:disabled){border-color:var(--muted)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--solid);border-color:var(--solid);color:var(--solid-text);font-weight:500}button.primary:hover:not(:disabled){opacity:.88}button.ghost{color:var(--text-soft);background:0 0;border-color:#0000;padding:.35rem .6rem}button.ghost:hover:not(:disabled){background:var(--sunken);color:var(--text);border-color:#0000}button.danger{color:var(--bad-fg)}button.small{padding:.28rem .65rem;font-size:.8rem}input,select{font:inherit;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);min-width:0;padding:.45rem .6rem}input:focus,select:focus{outline:2px solid var(--text);outline-offset:-1px}input.invalid{border-color:var(--bad-fg)}input[type=file]{border:1px dashed var(--border-strong);background:var(--sunken);cursor:pointer;width:100%;padding:.7rem}.field{flex-direction:column;gap:.32rem;min-width:0;display:flex}.field label{color:var(--text-soft);font-size:.75rem;font-weight:500}.hint{color:var(--muted);font-size:.76rem}.error{color:var(--bad-fg);font-size:.8rem}.ok{color:var(--good-fg);font-size:.85rem}.filters{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:.75rem;padding:.85rem 1.1rem;display:flex}.filters .field{flex:none}.filters .field input{width:10.5rem}.filters .field select{width:12rem}.filters button{margin-left:auto}.filters .toggle.among{margin-left:0}.filters button~button{margin-left:.5rem}.filters .field.trailing{margin-left:auto}.filters.compact{gap:.6rem}.filters.compact .field select,.filters.compact .field input{width:auto;padding:.32rem .45rem;font-size:.8rem}.info-hint{vertical-align:-.15em;margin-left:.3rem;display:inline-flex;position:relative}.info-hint .info-trigger{color:var(--muted);cursor:help;background:0 0;border:none;border-radius:50%;padding:0;display:inline-flex}.info-hint .info-trigger:hover,.info-hint .info-trigger:focus-visible{color:var(--text);background:0 0}.info-hint .info-pop{z-index:30;letter-spacing:normal;text-transform:none;width:24rem;color:var(--text-soft);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .7rem;font-size:.78rem;font-weight:400;line-height:1.45;display:none;position:absolute;top:calc(100% + .35rem);left:-.5rem;box-shadow:0 8px 24px #0000001a}.card-head .info-hint .info-pop{left:auto;right:-.5rem}.info-hint:hover .info-pop,.info-hint:focus-within .info-pop{display:block}.filters .field.trailing .info-pop{left:auto;right:-.5rem}@media (width<=32rem){.info-hint .info-pop,.filters .field.trailing .info-pop{width:auto;position:fixed;top:auto;left:1rem;right:1rem}}.scenario-note{max-width:46rem;color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.search{border:1px solid var(--border-strong);color:var(--muted);background:var(--surface);border-radius:999px;align-items:center;gap:.5rem;min-width:260px;padding:.35rem .7rem;display:flex}.search input{color:var(--text);background:0 0;border:none;flex:1;padding:0}.search input:focus{outline:none}.search kbd{font-family:var(--mono);color:var(--muted);border:1px solid var(--border);border-radius:4px;padding:0 .25rem;font-size:.68rem}.dropzone{padding:1.1rem}.preview-meta{border-bottom:1px solid var(--border);color:var(--text-soft);flex-wrap:wrap;gap:.5rem 1.4rem;padding:.9rem 1.1rem;font-size:.83rem;display:flex}.preview-meta b{color:var(--text);font-weight:600}.notice{border-bottom:1px solid var(--border);margin:0;padding:.7rem 1.1rem;font-size:.84rem}.notice.bad{background:var(--bad-bg);color:var(--bad-fg)}.notice.warn{background:var(--warn-bg);color:var(--warn-fg)}.notice.info{background:var(--sunken);color:var(--text-soft)}.preview-actions{border-top:1px solid var(--border);gap:.5rem;padding:.9rem 1.1rem;display:flex}.issues{border-bottom:1px solid var(--border);padding:.7rem 1.1rem;font-size:.83rem}.issues ul{color:var(--text-soft);margin:.45rem 0 0;padding-left:1.1rem}dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);width:min(520px,100vw - 2rem);padding:0}dialog::backdrop{background:#00000059}.dialog-head{padding:1rem 1.2rem .6rem}.dialog-head h2{margin:0;font-size:1.05rem;font-weight:600}.dialog-body{gap:.85rem;padding:.6rem 1.2rem 1rem;display:grid}.dialog-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:.5rem;padding:.9rem 1.2rem;display:flex}.two-up{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.empty{text-align:center;color:var(--muted);padding:2.5rem 1.1rem}@media (width<=767px){.search{min-width:0}}.pager{align-items:center;gap:.5rem;display:flex}.pager .sep{font-variant-numeric:tabular-nums;text-align:center;min-width:3.5rem}.page-size{align-items:center;gap:.4rem;margin-right:.35rem;display:flex}.page-size select{font-family:var(--mono);border-radius:6px;padding:.15rem .3rem;font-size:.75rem}tbody tr.internal td{color:var(--muted)}tbody tr.internal .strong{font-weight:400}tbody tr.internal .positive{color:var(--muted)}.toggle.on{background:var(--solid);border-color:var(--solid);color:var(--solid-text)}.stat-action{margin-left:auto}th .pill{text-transform:none;margin-left:.4rem;font-weight:400}.anchor-list{border:1px solid var(--border);border-radius:var(--radius-sm);gap:.4rem;padding:.5rem .7rem;display:grid}.anchor-row{align-items:center;gap:.55rem;font-size:.85rem;display:flex}.anchor-row>:last-child{margin-left:auto}.settings-menu{flex:none;position:relative}.settings-trigger{align-items:center;gap:.4rem;padding:.32rem .7rem;display:inline-flex}.settings-pop{min-width:13.5rem}.menu-heading{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0;padding:.4rem .55rem .25rem;font-size:.68rem;font-weight:600}.menu-rule{border:0;border-top:1px solid var(--border);height:0;margin:.25rem .55rem}.menu-note{max-width:13.5rem;color:var(--muted);margin:0;padding:.1rem .55rem .4rem;font-size:.72rem;line-height:1.35}.menu-item .mark{width:14px;color:var(--text);margin-left:auto;display:inline-flex}.switch{background:var(--border-strong);border-radius:999px;flex:none;align-items:center;width:1.9rem;height:1.05rem;margin-left:auto;padding:2px;display:inline-flex}.switch[data-on=true]{background:var(--solid)}.switch .knob{background:var(--surface);border-radius:50%;width:.85rem;height:.85rem}.switch[data-on=true] .knob{background:var(--solid-text);margin-left:auto}.scope{border-left:1px solid var(--border);gap:.3rem;margin-left:.3rem;padding-left:.9rem;display:flex;overflow-x:auto}.scope button{white-space:nowrap}.held-by{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0 0;display:flex}.anchor-row.check{cursor:pointer;-webkit-user-select:none;user-select:none}.anchor-row.check input{accent-color:var(--solid)}td .pill+.pill{margin-left:.3rem}.suggested{flex-wrap:wrap;gap:.35rem;margin:.6rem 0 1rem;display:flex}.category-cell select{background:0 0;border-color:#0000;max-width:12rem;padding:.2rem .35rem;font-size:.82rem}.category-cell select:hover{border-color:var(--border-strong);background:var(--surface)}.category-cell select.manual{border-color:var(--border-strong);background:var(--surface);font-weight:500}.description{max-width:16rem}.balance-chart{width:100%;height:auto;color:var(--text);touch-action:none;display:block}.chart-grid{stroke:var(--border);stroke-width:1px}.chart-grid.zero{stroke:var(--border-strong)}.chart-label{fill:var(--muted);font-family:var(--mono);font-size:15px}.chart-line{fill:none;stroke:var(--text);stroke-width:1.6px;stroke-linejoin:round;stroke-linecap:round}.chart-guide{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.chart-dot{fill:var(--surface);stroke:var(--text);stroke-width:2px}.chart-line.secondary{stroke:var(--muted);stroke-dasharray:6 4}.chart-dot.secondary{stroke:var(--muted);stroke-dasharray:2 2}.chart-band{stroke:none;pointer-events:none}.chart-line-label,.chart-band-label{stroke:var(--surface);stroke-width:4px;paint-order:stroke;font-weight:600}.bar-column{width:30%;min-width:6rem}.bar{background:var(--neutral-bg);border-radius:999px;height:7px;display:block;overflow:hidden}.bar-fill{background:var(--text-soft);border-radius:999px;height:100%;display:block}.bar-fill.income{background:var(--good-fg)}.sticky-column{background:var(--surface);z-index:1;position:sticky;left:0}thead .sticky-column{background:var(--surface)}tfoot td{border-top:1px solid var(--border-strong);font-variant-numeric:tabular-nums;padding:.72rem 1.1rem}.spending-table.folded tfoot td{border-top:none}.spending-table{table-layout:fixed}.period-header{top:var(--topbar-height);z-index:4;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1.1rem;position:sticky}.period-header .scroll-x{scrollbar-width:none}.period-header .scroll-x::-webkit-scrollbar{display:none}.spending-table .col-category{width:15rem}.spending-table .col-period{width:8rem}.spending-table .col-total{width:9rem}.spending-table .col-share{width:5rem}.spending-table td.sticky-column{text-overflow:ellipsis;overflow:hidden}.spending-table tr.band-head td,.spending-table tr.band-head td.sticky-column{background:var(--sunken);border-top:1px solid var(--border);padding-top:.55rem;padding-bottom:.55rem}.spending-table tbody:first-of-type tr.band-head td{border-top:none}.spending-table tr.band-head button{width:100%;color:var(--muted);font:inherit;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:.45rem;padding:0;display:flex}.spending-table tr.band-head button:hover:not(:disabled){color:var(--text);border-color:#0000}.spending-table tr.band-head .chevron{display:inline-flex}.spending-table tr.band-head .band-title{letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;font-size:.66rem}.spending-table tr.band-head .hint{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.counterparty-pick{max-width:11rem;color:var(--muted);background:0 0;border-color:#0000;padding:.15rem .3rem;font-size:.82rem}.counterparty-pick:hover{border-color:var(--border-strong);background:var(--surface);color:var(--text)}tbody+tbody tr.group-row th,tbody+tbody tr.group-row td{padding-top:1.1rem}tr.group-row th,tr.group-row td{border-bottom:1px solid var(--border);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:left;white-space:nowrap;background:0 0;font-size:.68rem;font-weight:600}tr.group-row td{font-family:var(--mono);letter-spacing:0;text-transform:none;text-align:right;font-size:.72rem}.timeline tbody+tbody tr.day th,.timeline tbody+tbody tr.day td{padding-top:1.1rem}.timeline tr.day th,.timeline tr.day td{border-bottom:1px solid var(--border);letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:left;white-space:nowrap;background:0 0;font-size:.68rem;font-weight:600}.timeline tr.day td{font-family:var(--mono);letter-spacing:0;text-transform:none;text-align:right;font-size:.7rem}.drawer{z-index:40;background:var(--surface);border-left:1px solid var(--border);flex-direction:column;width:min(26rem,92vw);display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 32px #0000001a}.drawer-head{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:.6rem;padding:.85rem 1.1rem;display:flex;position:sticky;top:0}.drawer-body{padding:1.1rem}.drawer-amount{flex-direction:column;gap:.15rem;margin-bottom:1.1rem;display:flex}.drawer-amount .numeric{font-family:var(--mono);font-size:1.5rem;font-weight:500}.facts{flex-direction:column;gap:.7rem;margin:0;display:flex}.fact dt{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem;font-size:.66rem;font-weight:600}.fact dd{margin:0;font-size:.86rem}.drawer-section{border-top:1px solid var(--border);margin-top:1.3rem;padding-top:.9rem}.drawer-section h3,.drawer-section summary{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);cursor:pointer;margin:0 0 .5rem;font-size:.66rem;font-weight:600}.wrapped{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.84rem;line-height:1.5}.facts.raw .fact dd{font-size:.76rem}tbody tr.selected td{background:var(--sunken)}.who{opacity:.55;gap:.2rem;display:inline-flex}.who.set{opacity:1}.who-editor{flex-flow:column wrap;align-items:stretch;gap:.35rem;margin-bottom:.5rem;display:flex}.who-option{cursor:pointer;align-items:center;gap:.35rem;font-size:.86rem;display:inline-flex}.who-option .who-share{color:var(--text-soft);margin-left:auto}.who-purpose{border-top:1px solid var(--border);flex-direction:column;gap:.35rem;margin:.6rem 0 .5rem;padding-top:.6rem;display:flex}.who-purpose-head{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:.72rem}.who-purpose .who-option{cursor:default;padding-left:calc(13px + .35rem)}.parts-summary{flex-direction:column;gap:.4rem;margin:0 0 .6rem;padding:0;list-style:none;display:flex}.parts-summary li{flex-wrap:wrap;align-items:baseline;gap:.5rem;font-size:.84rem;display:flex}.parts-editor{flex-direction:column;gap:.7rem;display:flex}.part-row{border-bottom:1px dashed var(--border);grid-template-columns:5.5rem 1fr auto;align-items:center;gap:.4rem;padding-bottom:.6rem;display:grid}.part-row .part-note{grid-column:1/-1}.drawer-actions{gap:.5rem;margin-top:.6rem;display:flex}.card-body+.card-body{border-top:1px solid var(--border)}.tablist{flex-wrap:wrap;align-items:flex-end;gap:1.15rem;display:flex}.nav-link{color:var(--text-soft);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:.8rem .1rem;font-weight:500}.nav-link:hover:not(:disabled){border-color:#0000;border-bottom-color:var(--border-strong);color:var(--text)}.nav-link.on,.nav-link.on:hover:not(:disabled){border-color:#0000;border-bottom-color:var(--solid);color:var(--text);font-weight:700}.card-head.section-nav{border-bottom-color:#0000;flex-wrap:wrap;gap:1.15rem;padding:0 1.1rem}.card-head.tab-head{align-items:baseline;padding:0 1.1rem}.mortgage-heading{align-items:baseline;gap:.6rem;margin:1.8rem 0 .7rem;display:flex}.mortgage-figures{flex-wrap:wrap;gap:1.4rem;padding:.9rem 1.1rem 1.1rem;display:flex}.mortgage-figure{flex-direction:column;gap:.25rem;display:flex}.figure-label{color:var(--muted);font-size:.72rem}.figure-value{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:600}.networth-chart{width:100%;height:auto;color:var(--text);touch-action:none;display:block}:root{--nw-cash:var(--good-fg);--nw-investments:var(--info-fg);--nw-pensions:color-mix(in srgb, var(--info-fg) 40%, var(--neutral-fg));--nw-warranties:var(--warn-fg);--nw-property:var(--neutral-fg);--nw-between:color-mix(in srgb, var(--good-fg) 45%, var(--neutral-fg));--nw-mortgages:var(--bad-fg);--nw-cards:color-mix(in srgb, var(--bad-fg) 70%, var(--neutral-fg));--nw-debt:var(--bad-fg)}.nw-c-cash{--nw-hue:var(--nw-cash)}.nw-c-investments{--nw-hue:var(--nw-investments)}.nw-c-pensions{--nw-hue:var(--nw-pensions)}.nw-c-warranties{--nw-hue:var(--nw-warranties)}.nw-c-property{--nw-hue:var(--nw-property)}.nw-c-between{--nw-hue:var(--nw-between)}.nw-c-mortgages{--nw-hue:var(--nw-mortgages)}.nw-c-cards{--nw-hue:var(--nw-cards)}[class*=nw-c-]{fill:color-mix(in srgb, var(--nw-hue) 60%, var(--surface))}.nw-bar.from-history{fill:color-mix(in srgb, var(--nw-hue) 35%, var(--surface))}.nw-grid{stroke:var(--border-strong);stroke-width:1px;stroke-dasharray:1 4}.nw-grid.zero{stroke:var(--border-strong);stroke-dasharray:none}.nw-tick{fill:var(--muted);font-family:var(--mono);font-size:12px}.nw-bar{stroke:var(--surface);stroke-width:1px;pointer-events:none}.nw-col{fill:#0000;outline:none}.nw-col:focus-visible{stroke:var(--border-strong);stroke-width:1px}.nw-highlight{fill:var(--neutral-bg);pointer-events:none}.nw-debt{fill:none;stroke:var(--nw-debt);stroke-width:1.8px;stroke-dasharray:5 4;stroke-linejoin:round;pointer-events:none}.nw-debt-dot{fill:var(--nw-debt);pointer-events:none}.nw-figure.nw-debt-figure{fill:var(--nw-debt)}.card-note{margin:0;padding:0 1.1rem 1rem}.card-notice{margin:0 1.1rem 1.1rem}.nw-figure{font-family:var(--mono);fill:var(--text);stroke:var(--surface);stroke-width:2.5px;paint-order:stroke;pointer-events:none;font-size:9.5px;font-weight:600}.nw-legend{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.4rem 1.1rem;padding-top:.5rem;font-size:.78rem;display:flex}.nw-legend>span{align-items:center;gap:.4rem;display:inline-flex}.nw-legend svg{color:var(--text);display:block;overflow:visible}.nw-bars{position:relative}.month-hover.nw-hover{width:15rem;margin:0 .4rem;inset:.4rem auto auto}.nw-hover .nw-hover-name{align-items:center;gap:.35rem;display:inline-flex}.snapshot-group{border-top:1px solid var(--border);flex-direction:column;gap:.4rem;padding:.75rem 1.1rem;display:flex}.snapshot-group:first-of-type{border-top:none}.snapshot-row{align-items:baseline;gap:.6rem;display:flex}.snapshot-row .snapshot-class{min-width:8rem}.snapshot-row .numeric{margin-left:auto}.snapshot-row .snapshot-note{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;max-width:16rem;overflow:hidden}.amount-split{flex-direction:row-reverse;justify-content:space-between;gap:.3rem;display:flex}.amount-split>:first-child{order:1}.networth-table .col-period{width:9rem}.eyebrow-back{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);background:0 0;border:none;border-radius:0;align-items:center;gap:.25rem;margin:0 0 .35rem -.15rem;padding:0;font-size:.68rem;font-weight:600;display:inline-flex}.eyebrow-back:hover:not(:disabled){color:var(--text);border-color:#0000}.head-actions{gap:.5rem;display:flex}.row-link{font:inherit;color:inherit;text-align:left;background:0 0;border:none;border-radius:0;padding:0}.row-link:hover:not(:disabled){border-color:#0000;text-decoration:underline}.template-links{gap:.75rem;display:flex}.history-sheet{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding:.85rem 0;display:flex}.history-sheet:first-of-type{border-top:none}.history-sheet-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.filters.bare{border-bottom:none;padding:0}.split-policy{border-top:1px solid var(--border);margin-top:1.25rem;padding-top:1rem}.split-policy-title{margin:0 0 .5rem}.split-policy-lede{margin:0 0 .75rem}.split-modes{gap:1rem;margin-bottom:.75rem;display:flex}.split-mode{align-items:center;gap:.35rem;display:flex}.split-row{margin-bottom:.75rem}.split-kept{margin-top:.5rem}.split-sources-lede{margin:0 0 .5rem}.split-sources{flex-direction:column;gap:.35rem;display:flex}.split-source{align-items:center;gap:.4rem;display:flex}.row-actions{gap:.35rem;margin-left:auto;display:flex}.perf-chart{margin:auto 0 .2rem;position:relative}.perf-chart-svg{width:100%;height:auto;color:var(--text);touch-action:none;display:block}.perf-zero{stroke:var(--border-strong);stroke-width:1px;pointer-events:none}.perf-ref{fill:none;stroke:var(--muted);stroke-width:1px;pointer-events:none}.perf-ref.target{stroke-dasharray:2 2.5}.perf-ref.warning{stroke-dasharray:1 3.5}.perf-ref-label{font-family:var(--mono);fill:var(--muted);stroke:var(--surface);stroke-width:2.5px;paint-order:stroke;pointer-events:none;font-size:9.5px;font-weight:600}.perf-path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linejoin:round;stroke-linecap:round;pointer-events:none}.perf-path.partial{stroke-dasharray:5 4}.perf-dot{fill:currentColor;stroke:none;pointer-events:none}.perf-dot.lone{stroke:var(--surface);stroke-width:1.5px;paint-order:stroke}.perf-dot.latest{stroke:var(--surface);stroke-width:2px;paint-order:stroke}.perf-dot.offscale{fill:var(--muted)}.perf-offscale-mark{fill:var(--muted);pointer-events:none}.perf-axis{font-family:var(--mono);fill:var(--muted);pointer-events:none;font-size:9.5px}.perf-highlight{fill:var(--neutral-bg);pointer-events:none}.perf-hit{fill:#0000;outline:none}.perf-hit:focus-visible{stroke:var(--border-strong);stroke-width:1px}.month-hover.perf-hover{width:12rem;max-width:70%;margin:0 .4rem;inset:.4rem auto auto}:root{--perf-good:#1a7f43;--perf-watch:#92640f;--perf-poor:#b1441d}:root[data-theme=dark]{--perf-good:#6ec894;--perf-watch:#ddb35f;--perf-poor:#e69277}.perf-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:.9rem;margin-bottom:1.1rem;display:grid}.perf-grid .card{flex-direction:column;margin-bottom:0;display:flex}.perf-band{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0 0 .6rem;font-size:.68rem;font-weight:600}.perf-body{flex-direction:column;flex:1;gap:.35rem;display:flex}.perf-kpi{text-align:left;letter-spacing:-.01em;font-size:2rem;font-weight:600;line-height:1.15}.perf-kpi.perf-good{color:var(--perf-good)}.perf-kpi.perf-watch{color:var(--perf-watch)}.perf-kpi.perf-poor{color:var(--perf-poor)}.perf-kpi.perf-unknown{color:var(--muted)}.perf-kpi-period{color:var(--muted);margin:-.2rem 0 0;font-size:.72rem}.perf-measure{color:var(--muted);margin:0 0 .6rem;font-size:.78rem}.perf-thresholds{flex:none;position:relative}.perf-threshold-trigger{color:var(--text-soft);white-space:nowrap;align-items:center;gap:.4rem;font-size:.74rem;display:inline-flex}.perf-default-mark{font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--neutral-fg);background:var(--neutral-bg);border-radius:999px;padding:.08rem .38rem;font-size:.62rem;font-weight:600}.perf-pop{white-space:normal;flex-direction:column;gap:.6rem;min-width:13rem;padding:.75rem;display:flex}.perf-pop input{width:100%}.perf-pop-actions{gap:.5rem;display:flex}.perf-hover{min-width:0;display:block}.perf-hover-line{color:var(--text-soft);justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.perf-hover-line.strong{color:var(--text);font-weight:600}.perf-hover-note{color:var(--muted);margin-top:.15rem;font-size:.68rem}.perf-static-label{color:var(--text-soft);font-size:.75rem;font-weight:500;display:block}.perf-static{color:var(--text);padding:.42rem 0;font-size:.8rem}.perf-grid{grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr))}.perf-basis{gap:.15rem;margin:.1rem 0 .7rem;display:flex}.perf-basis .toggle,.perf-basis .toggle.on{color:var(--muted);background:0 0;border-color:#0000;padding:.12rem .42rem;font-size:.7rem}.perf-basis .toggle.on{background:var(--sunken);color:var(--text-soft)}.perf-basis .toggle:hover:not(:disabled){color:var(--text-soft);border-color:#0000}.auth-boot{background:var(--bg);min-height:100vh}.auth-shell{background:var(--bg);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{width:100%;max-width:380px}.auth-card-body{flex-direction:column;gap:1rem;padding:1.9rem 1.7rem 2rem;display:flex}.auth-card-body h1{font-family:var(--serif);letter-spacing:-.005em;margin:0;font-size:1.85rem;font-weight:600}.auth-card-body .eyebrow{margin-bottom:0}.auth-card-body .lede{margin:-.4rem 0 0}.auth-primary{justify-content:center;width:100%;padding:.62rem 1rem;display:flex}.auth-link{color:var(--muted);align-self:center;font-size:.82rem;text-decoration:none}.auth-link:hover{color:var(--text);text-decoration:underline}.recovery-codes{background:var(--sunken);border:1px solid var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(2,1fr);gap:.55rem .7rem;padding:.95rem 1rem;display:grid}.recovery-codes span{text-align:center;letter-spacing:.02em;font-size:.92rem}.recovery-confirm{color:var(--text-soft);align-items:center;gap:.55rem;font-size:.85rem;display:flex}.recovery-confirm input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--solid)}.level-picker{flex-direction:column;gap:.45rem;margin-bottom:.7rem;display:flex}.level-option{align-items:center;gap:.45rem;font-size:.86rem;display:flex}.level-received{margin:0}.member-error,.passkey-error{margin:0;padding:.85rem 1.1rem 0}.member-actions{white-space:nowrap;justify-content:flex-end;gap:.4rem;display:flex}.member-reveal-row td{background:var(--sunken);padding-top:0;padding-bottom:.85rem}.link-reveal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:.55rem;padding:.6rem .7rem;display:flex}.link-reveal-field{background:0 0;border:none;flex:1;min-width:0;padding:0;font-size:.82rem}.passkey-add{align-items:flex-end;gap:.7rem;display:flex}.passkey-add .field{flex:1}.passkey-rename{align-items:center;gap:.4rem;display:flex}.passkey-rename input{flex:1;min-width:0}.passkey-last-note{padding:0 1.1rem .9rem}.audit-more{justify-content:center}.confirm-inline{align-items:center;gap:.35rem;display:inline-flex}.member-reset-note{margin:.2rem 0 0}.sharing-note{margin:0 0 .9rem}.sidebar-foot-text{gap:.1rem;min-width:0;display:grid}.sidebar-foot-name{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-foot-link{color:var(--muted);text-align:left;background:0 0;border:none;border-radius:0;justify-self:start;padding:0;font-size:.76rem}.sidebar-foot-link:hover:not(:disabled){color:var(--text);text-decoration:underline}.backup-section{gap:.5rem;display:grid}.backup-section+.backup-section{border-top:1px solid var(--border);padding-top:.85rem}.backup-section h3{margin:0;font-size:.85rem;font-weight:600}.backup-section p{margin:0}.backup-compare{border-collapse:collapse;width:100%;font-size:.8rem}.backup-compare th,.backup-compare td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.3rem .4rem}.backup-compare thead th{color:var(--muted);font-size:.72rem;font-weight:500}.backup-compare tbody th{color:var(--text-soft);white-space:nowrap;font-weight:500}.backup-compare td.numeric{text-align:right}.menu-toggle,.menu-close{width:2.25rem;height:2.25rem;color:var(--text-soft);background:0 0;border-color:#0000;flex:none;place-items:center;padding:0;display:none}.menu-toggle:hover:not(:disabled),.menu-close:hover:not(:disabled){border-color:var(--border);color:var(--text)}.sidebar-foot .avatar{font:inherit;border:none;padding:0;font-size:.68rem;font-weight:600}.sidebar-foot .avatar:hover:not(:disabled){color:var(--text)}.rail-accounts{display:none}.rail-accounts-pop{z-index:45;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:19rem;max-height:calc(100dvh - 1rem);padding:.35rem;position:fixed;left:calc(64px + .4rem);overflow-y:auto;box-shadow:0 8px 24px #00000024}.rail-accounts-head{letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin:0;padding:.45rem .55rem .35rem;font-size:.66rem;font-weight:600}@media (width>=768px) and (width<=1199px){.shell{grid-template-columns:64px 1fr}.sidebar{z-index:30}.sidebar .brand{justify-content:center;padding-inline:0}.sidebar .brand-name,.sidebar .nav-item:not(.rail-accounts-pop *) .trailing,.sidebar-foot-text,.accounts-full{display:none}.rail-accounts{display:block}.sidebar .nav{scrollbar-width:none;padding-inline:.5rem}.sidebar .nav-item:not(.rail-accounts-pop *){justify-content:center;padding:.55rem 0}.sidebar .nav-item:not(.rail-accounts-pop *) .label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sidebar .nav-section{border-top:1px solid var(--border);pointer-events:none;height:0;margin:.6rem 0;padding:0;overflow:hidden}.sidebar .nav [id^=section-][hidden]{display:block}.sidebar-foot{justify-content:center;padding-inline:0}}@media (width<=767px){.shell{grid-template-columns:1fr}.sidebar{display:none}.shell.menu-open .sidebar{z-index:50;border-right:none;height:100dvh;display:flex;position:fixed;inset:0}html.menu-open,html.menu-open body{overflow:hidden}.menu-toggle,.menu-close{display:grid}.menu-close{margin-left:auto}.sidebar .brand{padding-block:.7rem}.sidebar .nav-item{padding-block:.7rem;font-size:.95rem}.sidebar .nav-item .trailing{font-size:.78rem}.topbar{gap:.5rem;padding-inline:.75rem}.topbar .crumbs{display:none}.topbar .scope{margin-left:0;padding-left:.5rem}.topbar{flex-wrap:wrap}.topbar .search{flex:1 0 100%;order:10}.settings-trigger>span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{padding-inline:.9rem}}
