:root{color-scheme:light;--radius: 8px;--bg: #fafafa;--card: #ffffff;--surface-subtle: #f4f4f5;--text: #09090b;--muted: #71717a;--border: #e4e4e7;--danger: #dc2626;--ok: #16a34a;--ok-text: #166534;--danger-text: #b91c1c;--muted-strong: #52525b;--accent-on-tint: #a8480f;--shadow: 0 1px 3px rgba(9, 9, 11, .07), 0 8px 24px rgba(9, 9, 11, .06);--scrim: rgba(9, 9, 11, .45);--accent: #cc5818;--accent-hover: #a8480f;--accent-text: #b84f16;--accent-fill: #b84f16;--accent-contrast: #ffffff}:root[data-theme=dark]{color-scheme:dark;--bg: #09090b;--card: #18181b;--surface-subtle: #27272a;--text: #fafafa;--muted: #a1a1aa;--border: #27272a;--danger: #f87171;--danger-text: #f87171;--ok-text: #4ade80;--muted-strong: #a1a1aa;--accent-on-tint: #fb923c;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);--accent-text: #fb923c}@media(prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--bg: #09090b;--card: #18181b;--surface-subtle: #27272a;--text: #fafafa;--muted: #a1a1aa;--border: #27272a;--danger: #f87171;--danger-text: #f87171;--ok-text: #4ade80;--muted-strong: #a1a1aa;--accent-on-tint: #fb923c;--shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35);--accent-text: #fb923c}}:root[data-accent=blue]{--accent: #2563eb;--accent-fill: #2563eb;--accent-hover: #1d4ed8;--accent-text: #2563eb}:root[data-accent=blue][data-theme=dark]{--accent-text: #60a5fa}@media(prefers-color-scheme:dark){:root[data-accent=blue][data-theme=system]{--accent-text: #60a5fa}}:root[data-accent=violet]{--accent: #7c3aed;--accent-fill: #7c3aed;--accent-hover: #6d28d9;--accent-text: #7c3aed}:root[data-accent=violet][data-theme=dark]{--accent-text: #a78bfa}@media(prefers-color-scheme:dark){:root[data-accent=violet][data-theme=system]{--accent-text: #a78bfa}}:root[data-accent=teal]{--accent: #0f766e;--accent-fill: #0f766e;--accent-hover: #115e59;--accent-text: #0f766e}:root[data-accent=teal][data-theme=dark]{--accent-text: #2dd4bf}@media(prefers-color-scheme:dark){:root[data-accent=teal][data-theme=system]{--accent-text: #2dd4bf}}:root[data-accent=green]{--accent: #15803d;--accent-fill: #15803d;--accent-hover: #166534;--accent-text: #15803d}:root[data-accent=green][data-theme=dark]{--accent-text: #4ade80}@media(prefers-color-scheme:dark){:root[data-accent=green][data-theme=system]{--accent-text: #4ade80}}:root[data-accent=rose]{--accent: #e11d48;--accent-fill: #e11d48;--accent-hover: #be123c;--accent-text: #e11d48}:root[data-accent=rose][data-theme=dark]{--accent-text: #fb7185}@media(prefers-color-scheme:dark){:root[data-accent=rose][data-theme=system]{--accent-text: #fb7185}}:root[data-accent=indigo]{--accent: #4f46e5;--accent-fill: #4f46e5;--accent-hover: #4338ca;--accent-text: #4f46e5}:root[data-accent=indigo][data-theme=dark]{--accent-text: #818cf8}@media(prefers-color-scheme:dark){:root[data-accent=indigo][data-theme=system]{--accent-text: #818cf8}}*{box-sizing:border-box}.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);padding:.5rem 1rem;font-weight:600}.skip-link:focus{left:.5rem;top:.5rem}#app:focus{outline:none}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0 0 .35rem;line-height:1.25}h2{font-size:1.25rem}h3{font-size:.875rem;text-transform:uppercase;letter-spacing:.04em;margin-top:1rem}p{margin:.35rem 0}a{color:var(--accent-text)}a:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.brand{color:var(--text);font-weight:800;font-size:1.6rem;letter-spacing:-.02em}.brand span{color:var(--accent-text)}.muted{color:var(--muted);font-weight:400}.lede{font-size:1.125rem}.fineprint{font-size:.75rem;color:var(--muted);margin-top:1rem}.error{color:var(--danger);font-size:.875rem;margin:.5rem 0 0}.wizard,.page{max-width:34rem;margin:0 auto;padding:calc(1.5rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) calc(3rem + env(safe-area-inset-bottom)) calc(1rem + env(safe-area-inset-left))}.page,.page--dash{max-width:40rem}.dash-body{display:flex;flex-direction:column;gap:1rem}.dash-body>.card{margin-bottom:0}.snap-row{display:grid;gap:1rem;grid-template-columns:1fr;align-items:start}.snap-row>.card{margin-bottom:0;display:flex;flex-direction:column}.dash-cols{display:grid;gap:1rem;grid-template-columns:1fr}.dash-col{display:flex;flex-direction:column;gap:1rem;min-width:0}.dash-col>.card{margin-bottom:0}@media(min-width:900px){.page--dash{max-width:76rem}.snap-row{grid-template-columns:2fr 1fr;align-items:stretch}.dash-cols{align-items:start}.dash-body[data-layout=focused] .dash-cols{grid-template-columns:1.6fr 1fr}.dash-body[data-layout=workspace] .dash-cols{grid-template-columns:1.1fr 1fr}}.app-header{padding:.25rem 0 1rem}.wizard-card,.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1rem}.wizard-card.center{text-align:center}.stack{display:flex;flex-direction:column;gap:.75rem;margin:1.5rem 0 .5rem}.progress{display:flex;gap:.5rem;justify-content:center;padding:0 0 1rem}.dot{width:8px;height:8px;border-radius:50%;background:var(--border)}.dot.is-done{background:var(--muted)}.dot.is-current{background:var(--accent)}.btn{font:inherit;border:1px solid transparent;border-radius:8px;padding:.5rem 1rem;cursor:pointer;background:none;color:inherit}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--accent-fill);color:var(--accent-contrast);font-weight:600}.btn.primary:hover{background:var(--accent-hover)}.btn.secondary{border-color:var(--accent-text);color:var(--accent-text);font-weight:600}.banner .btn.secondary,.closeout-banner .btn.secondary{border-color:var(--accent-on-tint);color:var(--accent-on-tint)}.btn.secondary:hover{background:color-mix(in srgb,var(--accent) 10%,transparent)}.btn.ghost{border-color:var(--border)}.btn.ghost:hover{border-color:var(--muted)}.btn.link{color:var(--muted);text-decoration:underline;padding:.5rem}.btn.big{padding:.75rem 1.5rem;font-size:1rem}.btn.icon{padding:.375rem .5rem;min-height:24px;color:var(--muted);font-size:.875rem}.btn.icon:hover{color:var(--danger)}.wizard-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;gap:.5rem}.wizard-nav-right{display:flex;align-items:center;gap:.5rem}input,select,textarea{font:inherit;color:inherit;background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.field{display:block;margin:1rem 0 0}.field span{display:block;font-size:.875rem;color:var(--muted);margin-bottom:.25rem}.field.slim{max-width:14rem}.opening-save{margin-top:1rem}.radio-cards{display:flex;gap:.5rem;margin:.75rem 0}.radio-card{flex:1;text-align:center;border:1px solid var(--border);border-radius:8px;padding:.75rem .5rem;cursor:pointer;font-weight:500}.radio-card input{position:absolute;opacity:0;width:0;height:0}.radio-card.is-selected{border-color:var(--accent);color:var(--accent-text);background:color-mix(in srgb,var(--accent) 8%,transparent)}.radio-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.add-form{display:flex;gap:.5rem;margin-top:1rem}.add-form.stacked{flex-direction:column}.add-form.stacked>.btn{width:100%;justify-content:center}.add-form.stacked>.field{margin-top:0}.add-form-row{display:flex;gap:.5rem}.add-form-row>input,.add-form-row>select{flex:1;min-width:0}.add-form-row input[name$=Amount]{flex:0 0 8rem}.add-form.inline{flex-wrap:wrap;align-items:flex-end}.add-form.inline>.ff{display:flex;flex-direction:column;flex:1 1 8rem;min-width:7rem;margin:0}.add-form.inline>.ff>span{font-size:.75rem;color:var(--muted);margin-bottom:.25rem}.add-form.inline>.ff>input,.add-form.inline>.ff>select{width:100%}.add-form.inline>.btn{flex:0 0 auto}@media(min-width:601px){.add-form.inline>.ff.amt{flex:0 0 8rem}}@media(max-width:600px){.add-form.inline{flex-direction:column;flex-wrap:nowrap;align-items:stretch}.add-form.inline>.ff,.add-form.inline>.btn{flex:0 0 auto;width:100%;min-width:0}}.btn.block{width:100%;justify-content:center}.scroll-list{max-height:15rem;overflow-y:auto}.pay-body,.schedule-form{margin-top:.75rem}.schedule-form .wizard-nav-right{justify-content:flex-end;margin-top:1rem}.choice{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;cursor:pointer;color:var(--text);font-size:.875rem}.choice input{width:auto}.item-list{list-style:none;margin:.75rem 0 0;padding:0}.item-row{display:flex;align-items:center;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--border)}.item-row:last-child{border-bottom:none}.item-row.editing{display:block}.item-row.editing .add-form{margin-top:0}.item-name{flex:1;min-width:0;overflow-wrap:anywhere}.item-name small{display:block;font-size:.75rem}.item-amount{font-variant-numeric:tabular-nums;font-weight:600}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin:1.25rem 0}.stat-grid div{background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:.75rem}.stat-grid dt{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat-grid dd{margin:.15rem 0 0;font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums}.banner-actions{display:flex;gap:.5rem;flex-wrap:wrap}.banner{display:flex;align-items:center;justify-content:space-between;gap:.5rem .75rem;flex-wrap:wrap;background:color-mix(in srgb,var(--accent) 12%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--border));border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.card-head h2{margin:0}.card-foot{margin-top:1rem}.small{font-size:.875rem}.c-ok{color:var(--ok-text)}.c-danger{color:var(--danger-text)}.c-accent-text{color:var(--accent-text)}.snap-split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:1.25rem;align-items:stretch;margin-top:.75rem}.hero{border-radius:var(--radius);border:1px solid transparent;padding:1.25rem 1.1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.25rem}.hero-ok{background:color-mix(in srgb,var(--ok) 12%,var(--card));border-color:color-mix(in srgb,var(--ok) 32%,var(--border))}.hero-bad{background:color-mix(in srgb,var(--danger) 12%,var(--card));border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.hero-icon{width:2.1rem;height:2.1rem}.hero-icon svg{width:100%;height:100%}.hero-ok .hero-icon,.hero-ok .hero-head{color:var(--ok-text)}.hero-bad .hero-icon,.hero-bad .hero-head{color:var(--danger-text)}.hero-head{font-weight:700;font-size:1rem}.hero-value{font-size:2rem;font-weight:700;font-variant-numeric:tabular-nums;margin:.1rem 0}.hero-ok .hero-value{color:var(--ok-text)}.hero-bad .hero-value{color:var(--danger-text)}.hero-sub{font-size:.875rem;color:var(--muted);max-width:20rem}.hero-ok .hero-sub,.hero-bad .hero-sub{color:var(--muted-strong)}.hero-pill{margin-top:.6rem;font-size:.75rem;font-weight:600;background:color-mix(in srgb,var(--text) 8%,transparent);border-radius:999px;padding:.3rem .8rem}.metrics{margin:0;display:flex;flex-direction:column;justify-content:center}.metric-row{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--border)}.metric-row dt{color:var(--text);font-size:.875rem}.metric-row dt small{display:block;color:var(--muted);font-size:.75rem}.metric-row dd{margin:0;font-weight:700;font-size:1.125rem;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-row.snap-total{border-top:1px solid var(--border);border-bottom:none;margin-top:.2rem}.metric-bar{padding-top:.7rem}.metric-bar-head{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.3rem}.metric-bar-head span:last-child{font-weight:700;font-variant-numeric:tabular-nums}.snap-banner{display:flex;align-items:center;gap:.5rem;margin:.5rem 0 .25rem;border-radius:8px;padding:.55rem .75rem;font-weight:600;font-size:.875rem}.snap-banner-icon{width:1.1rem;height:1.1rem;flex:none;display:inline-flex}.snap-banner-icon svg{width:100%;height:100%}.snap-banner.ok{color:var(--ok-text);background:color-mix(in srgb,var(--ok) 12%,var(--card));border:1px solid color-mix(in srgb,var(--ok) 30%,var(--border))}.snap-banner.bad{color:var(--danger-text);background:color-mix(in srgb,var(--danger) 12%,var(--card));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border))}.snap-foot{margin-top:auto;padding-top:.6rem;font-size:.875rem;text-align:center}.snap-foot strong{color:var(--text)}@media(max-width:560px){.snap-split{grid-template-columns:1fr}}.snap-extra{border-top:1px solid var(--border);margin-top:1rem;padding-top:.75rem}.snap-extra-head{display:flex;justify-content:space-between;align-items:baseline;font-size:.875rem;font-weight:600;margin-bottom:.25rem}.txn-list{list-style:none;margin:.5rem 0 0;padding:0}.txn{padding:.5rem 0;border-bottom:1px solid var(--border)}.txn:last-child{border-bottom:none}.txn-main{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.txn-name{overflow-wrap:anywhere}.txn-amt{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.txn-sub{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.75rem;margin-top:.1rem;min-height:1.1rem}.txn-sub .btn.icon{font-size:.75rem;padding:.25rem}.dd-metrics{display:flex;flex-direction:column;gap:.35rem;margin:.75rem 0}.dd-metric{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;background:var(--surface-subtle);border:1px solid var(--border);border-radius:8px;padding:.5rem .75rem}.dd-metric-label{font-size:.75rem;color:var(--muted-strong)}.dd-metric-val{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.btn-row{display:flex;gap:.5rem}.btn-row .btn{flex:1;justify-content:center}.check-group+.check-group{margin-top:.25rem}.check-group-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-top:1rem;padding-bottom:.35rem;border-bottom:1px solid var(--border)}.check-group-label{font-size:.875rem;font-weight:600}.check-group-hint{font-size:.75rem;font-weight:400;color:var(--muted)}.check-group-sub{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.check-group .check-list{margin-top:.25rem}.check-list{list-style:none;margin:1rem 0 .5rem;padding:0}.check-row{display:flex;align-items:center;gap:.7rem;padding:.55rem 0;border-bottom:1px solid var(--border)}.check-row:last-child{border-bottom:none}.check-toggle{flex:none;width:24px;height:24px;padding:0;cursor:pointer;border:2px solid var(--border);border-radius:6px;background:var(--surface-subtle);display:inline-flex;align-items:center;justify-content:center;color:var(--accent-contrast);font-size:.875rem;line-height:1}.check-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.check-toggle.is-preview{cursor:default;opacity:.5}.check-toggle.is-locked{cursor:default}.wizard-card .banner-preview{margin-top:1rem}.preview-lock{color:var(--accent-text);font-weight:600;font-size:.875rem;margin:0 0 .75rem}.wizard-help-link{background:none;border:0;padding:0;margin:.1rem 0 .75rem;cursor:pointer;color:var(--accent-text);font-weight:600;font-size:.875rem;font-family:inherit;display:inline-flex;align-items:center;gap:.15rem}.wizard-help-link:hover{text-decoration:underline}.wizard-help-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.card.is-readonly .add-form,.card.is-readonly .goal-actions,.card.is-readonly [data-action=delete-spend],.card.is-readonly [data-action=delete-piggy]{display:none}.snapshot-this.is-preview{position:relative}.snapshot-this.is-preview .snap-ghost{opacity:.35;filter:grayscale(.4);pointer-events:none;user-select:none}.snap-veil{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;background:color-mix(in srgb,var(--card) 45%,transparent);border-radius:var(--radius)}.snap-veil-inner{max-width:24rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.snap-veil-inner .hero-icon{width:2rem;height:2rem;color:var(--accent-text)}.snap-veil-title{font-weight:700;font-size:1.125rem}.check-row.is-ticked .check-toggle{background:var(--accent);border-color:var(--accent)}.check-name{flex:1;min-width:0;overflow-wrap:anywhere}.check-name small{display:block;font-size:.75rem;color:var(--muted)}.check-row.is-ticked .check-name{color:var(--muted)}.check-progress{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.check-amt{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.progress-bar{height:6px;border-radius:3px;background:var(--surface-subtle);border:1px solid var(--border);overflow:hidden;margin:.75rem 0 .35rem}.progress-bar span{display:block;height:100%;background:var(--accent)}.archived-note{color:var(--muted);font-size:.875rem}.lowpoint{font-size:.875rem;border-radius:8px;padding:.6rem .75rem;margin-top:.5rem}.lowpoint.ok{background:color-mix(in srgb,var(--accent) 8%,var(--card));border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border))}.lowpoint.warn{background:color-mix(in srgb,var(--danger) 10%,var(--card));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));color:var(--danger-text)}.lowpoint strong{color:inherit}.closeout-banner{background:color-mix(in srgb,var(--accent) 10%,var(--card));border-color:color-mix(in srgb,var(--accent) 35%,var(--border))}.closeout-banner p{margin:.5rem 0 0}.closeout-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.dd-behind{font-size:.875rem;border-radius:8px;padding:.6rem .75rem;margin-top:.5rem;background:color-mix(in srgb,var(--danger) 10%,var(--card));border:1px solid color-mix(in srgb,var(--danger) 30%,var(--border));color:var(--danger)}.dd-behind strong{color:inherit}.surplus-pending{font-size:.875rem;border-radius:8px;padding:.6rem .75rem;margin-top:.5rem;background:color-mix(in srgb,var(--muted) 8%,var(--card));border:1px solid var(--border);color:var(--muted)}.bills-move{margin-top:1rem}.bills-move h3{margin:0 0 .5rem;font-size:.875rem}.charge-list{list-style:none;margin:.5rem 0 0;padding:0}.charge-row{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.charge-row:last-child{border-bottom:none}.charge-row>span:first-child{flex:1;min-width:0;overflow-wrap:anywhere}.charge-amt{font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap}.tag{display:inline-block;margin-left:.4rem;font-size:.75rem;font-weight:600;color:var(--muted);background:var(--surface-subtle);border:1px solid var(--border);border-radius:999px;padding:.05rem .45rem;vertical-align:middle}.reference{padding:0}.reference>summary{list-style:none;cursor:pointer;padding:1.25rem 1.5rem;display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.reference>summary::-webkit-details-marker{display:none}.reference>summary h2{margin:0}.reference>summary:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius)}.reference[open]>summary{border-bottom:1px solid var(--border)}.reference>:not(summary){margin-left:1.5rem;margin-right:1.5rem}.reference>:last-child{margin-bottom:1.25rem}.balance-box{border-radius:var(--radius);padding:.9rem 1.1rem;margin:.75rem 0;border:1px solid var(--border);background:var(--surface-subtle)}.balance-box.ok{background:color-mix(in srgb,var(--accent) 8%,var(--card));border-color:color-mix(in srgb,var(--accent) 25%,var(--border))}.balance-box.bad{background:color-mix(in srgb,var(--danger) 10%,var(--card));border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.balance-label{font-size:.75rem;color:var(--muted-strong);text-transform:uppercase;letter-spacing:.04em}.balance-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;margin:.1rem 0}.balance-box.bad .balance-value{color:var(--danger)}.balance-sub{font-size:.75rem;color:var(--muted-strong)}.goals-panel{margin:.75rem 0}.goals-panel>summary{cursor:pointer;list-style:none}.goals-panel>summary::-webkit-details-marker{display:none}.goals-panel>summary h3{display:inline}.goal-list{list-style:none;margin:.5rem 0;padding:0}.goal-row{padding:.5rem 0;border-bottom:1px solid var(--border)}.goal-row:last-child{border-bottom:none}.goal-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.goal-name{font-weight:600}.goal-actions{display:flex;gap:.25rem;margin-top:.25rem}.health{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:.5rem 0 1rem}.health-score{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;min-width:5rem;text-align:center}.health-body{flex:1;min-width:12rem}.health-label{font-weight:700}.health.tone-good .health-score,.health.tone-good .health-label,.health.tone-ok .health-score,.health.tone-ok .health-label{color:var(--ok-text)}.health.tone-tight .health-score,.health.tone-tight .health-label{color:var(--accent-text)}.health.tone-bad .health-score,.health.tone-bad .health-label{color:var(--danger)}.cat-slice{margin-bottom:.6rem}.cat-slice-head{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:.2rem}.analytics-body{max-width:640px}.surplus-chart{width:100%;height:auto}.dash-header,.settings-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.settings-header{padding-bottom:.5rem}.brand-wrap .brand{margin:0}.lic-line{margin:0;font-size:.75rem;color:var(--muted)}.app-footer{margin-top:2rem;padding:1rem 0 .5rem;text-align:center}.app-footer p{margin:0 0 .25rem;font-size:.75rem;color:var(--muted)}.app-footer p:last-child{margin-bottom:0}.app-footer a{color:inherit;display:inline-block;padding:.3125rem .25rem;margin:-.3125rem -.25rem}.beta-tag{display:inline-block;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-text);border:1px solid var(--accent-text);border-radius:var(--radius);padding:0 .375rem;line-height:1.4;vertical-align:.05em}.wipe-confirm{border:1px solid var(--danger);border-radius:var(--radius);padding:.75rem 1rem;margin-top:.75rem}.wipe-confirm p{margin:0 0 .75rem}.fb-overlay{position:fixed;inset:0;background:var(--scrim);z-index:70}.fb-dialog{position:fixed;z-index:71;left:50%;top:50%;transform:translate(-50%,-50%);width:min(28rem,calc(100vw - 2rem));max-height:calc(100vh - 2rem);overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.fb-dialog h2{margin:0 0 .25rem;font-size:1.25rem}.fb-dialog textarea{width:100%;resize:vertical}.fb-dialog .btn-row{margin-top:1rem}.fb-fab{position:fixed;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.625rem .875rem;background:var(--card);color:var(--muted);border:1px solid var(--border);border-radius:999px;box-shadow:var(--shadow);font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:color .15s,border-color .15s}.fb-fab:hover{color:var(--accent-text);border-color:var(--accent-text)}.fb-fab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:700px){.app-footer{padding-bottom:4.5rem}}.screen-title{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0}.back-btn{text-decoration:none}.seg{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.seg-btn{font:inherit;padding:.5rem 1rem;background:var(--card);color:var(--text);border:none;border-right:1px solid var(--border);cursor:pointer}.seg-btn:last-child{border-right:none}.seg-btn.is-on{background:var(--accent-fill);color:var(--accent-contrast);font-weight:600}.seg-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.swatches{display:flex;flex-wrap:wrap;gap:.6rem}.swatch{width:2.1rem;height:2.1rem;padding:0;border-radius:50%;border:2px solid var(--border);background:var(--card);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.swatch-dot{width:1.35rem;height:1.35rem;border-radius:50%;background:var(--sw)}.swatch.is-on{border-color:var(--text)}.swatch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-stack{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start;margin:.75rem 0}.btn.danger{border-color:var(--danger);color:var(--danger);font-weight:600;margin-top:.5rem}.btn.danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.toast-container{position:fixed;left:50%;bottom:calc(1.25rem + env(safe-area-inset-bottom));transform:translate(-50%);display:flex;flex-direction:column;gap:.5rem;z-index:50;width:min(26rem,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#18181b;color:#fafafa;border:1px solid #3f3f46;border-radius:8px;padding:.7rem .9rem;box-shadow:0 8px 24px #00000059;font-size:.875rem}.toast-msg{overflow-wrap:anywhere;flex:1 1 auto}.toast-undo{font:inherit;font-weight:700;cursor:pointer;white-space:nowrap;background:none;border:none;color:#fb923c;padding:.15rem .35rem;border-radius:6px}.toast-undo:focus-visible{outline:2px solid #fb923c;outline-offset:2px}.toast-close{flex:none;cursor:pointer;background:none;border:none;color:#a1a1aa;font-size:1.25rem;line-height:1;padding:0 .25rem;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;min-width:1.75rem;min-height:1.75rem}.toast-close:hover{color:#fafafa}.toast-close:focus-visible{outline:2px solid #fb923c;outline-offset:2px}.toast-link{font:inherit;cursor:pointer;white-space:nowrap;background:none;border:none;color:#d4d4d8;text-decoration:underline;text-underline-offset:2px;padding:.15rem .35rem;border-radius:6px}.toast-link:hover{color:#fafafa}.toast-link:focus-visible{outline:2px solid #fb923c;outline-offset:2px}.head-actions{display:flex;align-items:center;gap:.5rem}.help-btn{font:inherit;font-weight:700;font-size:.875rem;width:2rem;height:2rem;padding:0;flex:none;border:1px solid var(--border);border-radius:50%;background:var(--card);color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.help-btn:hover{color:var(--accent-text);border-color:var(--muted)}.help-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.help-overlay{position:fixed;inset:0;background:var(--scrim);z-index:60}.help-panel{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(28rem,100vw);background:var(--card);border-left:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column}.help-head{display:flex;align-items:center;gap:.5rem;padding:calc(.75rem + env(safe-area-inset-top)) calc(1rem + env(safe-area-inset-right)) .75rem 1rem;border-bottom:1px solid var(--border);flex:none}.help-head h2{flex:1;margin:0;font-size:1.125rem;min-width:0;overflow-wrap:anywhere}.help-back{white-space:nowrap;flex:none;padding:.25rem .5rem}.help-close{flex:none;font-size:1rem}.help-close:hover{color:var(--text)}.help-body{overflow-y:auto;padding:.5rem calc(1.25rem + env(safe-area-inset-right)) calc(2rem + env(safe-area-inset-bottom)) 1.25rem;overscroll-behavior:contain}.help-topics{list-style:none;margin:0;padding:0}.help-topics li{border-bottom:1px solid var(--border)}.help-topics li:last-child{border-bottom:none}.help-topic-btn{font:inherit;display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.75rem .25rem;text-align:left;background:none;border:none;color:var(--text);cursor:pointer}.help-topic-btn span{color:var(--muted)}.help-topic-btn:hover,.help-topic-btn:hover span{color:var(--accent-text)}.help-topic-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:6px}.help-feedback{border-top:2px solid var(--border);margin-top:.75rem;padding-top:.25rem}a.help-topic-btn{text-decoration:none;box-sizing:border-box}.help-topic-body{font-size:.875rem}.help-topic-body p{margin:.6rem 0}.help-topic-body h4{font-size:.875rem;margin:1.25rem 0 .25rem}.help-topic-body ul,.help-topic-body ol{margin:.5rem 0;padding-left:1.25rem}.help-topic-body li{margin:.35rem 0}.help-shot{margin:.75rem 0}.help-shot img{display:block;width:100%;height:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.help-shot .shot-dark{display:none}:root[data-theme=dark] .help-shot .shot-light{display:none}:root[data-theme=dark] .help-shot .shot-dark{display:block}@media(prefers-color-scheme:dark){:root[data-theme=system] .help-shot .shot-light{display:none}:root[data-theme=system] .help-shot .shot-dark{display:block}}.help-shot figcaption{margin-top:.35rem;color:var(--muted);font-size:.75rem}.help-shot.shot-failed{display:none}.help-shot a.shot-link{display:block}.help-shot a.shot-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}.help-shot a.shot-link.shot-dark{display:none}:root[data-theme=dark] .help-shot a.shot-link.shot-light{display:none}:root[data-theme=dark] .help-shot a.shot-link.shot-dark{display:block}@media(prefers-color-scheme:dark){:root[data-theme=system] .help-shot a.shot-link.shot-light{display:none}:root[data-theme=system] .help-shot a.shot-link.shot-dark{display:block}}.shot-lightbox{position:fixed;inset:0;z-index:80;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:1rem}.shot-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:8px;background:var(--bg)}.shot-lightbox-close{position:absolute;top:calc(.75rem + env(safe-area-inset-top));right:calc(.75rem + env(safe-area-inset-right));background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:999px;width:2.5rem;height:2.5rem;font-size:1rem;cursor:pointer}.shot-lightbox-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.log-list{list-style:none;margin:.5rem 0 0;padding:0}.log-row{display:flex;justify-content:space-between;gap:.75rem;padding:.35rem 0;border-bottom:1px solid var(--border);font-size:.875rem}.log-row:last-child{border-bottom:none}.log-row .muted{white-space:nowrap}@media(max-width:480px){.radio-cards{flex-direction:column}.add-form,.add-form-row{flex-wrap:wrap}.hero-value{font-size:1.75rem}.add-form-row select,.add-form-row input{max-width:none}}.app-footer .social-links{display:flex;justify-content:center;align-items:center;gap:.9rem;margin:.5rem 0 0}.app-footer .social-links a{display:inline-flex;padding:.375rem;margin:0;opacity:.85;transition:opacity .15s ease}.app-footer .social-links a:hover,.app-footer .social-links a:focus-visible{opacity:1}.app-footer .social-links svg{display:block;width:20px;height:20px;fill:currentColor}.ref-code-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin:.75rem 0}.ref-code{font-size:1.25rem;font-weight:700;letter-spacing:.12em;padding:.35rem .7rem;border:1px dashed var(--accent-text);border-radius:.5rem;background:var(--surface-subtle);color:var(--accent-text)}.ref-claim,.ref-claim .btn-row{margin-top:.75rem}
