:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#281a35;font-synthesis:none;text-rendering:optimizelegibility;--app-background:#faf8fc;--surface:#fff;--surface-muted:#f2ecf7;--border:#e3dbe9;--text:#281a35;--text-muted:#74677e;--brand:#4b2a68;--brand-light:#eee5f7;--accent:#8051a2;--focus:#d29a3b;--shadow:0 1rem 3rem #4b2a681f;background:#ece7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:#ece7f2;min-block-size:100%}body{background:#ece7f2;min-block-size:100dvh;min-inline-size:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.app-shell{background:var(--app-background);flex-direction:column;min-block-size:100dvh;max-inline-size:30rem;margin-inline:auto;display:flex;position:relative;overflow:clip}.app-header{padding:max(1rem, env(safe-area-inset-top)) 1rem .8rem;justify-content:space-between;align-items:center;gap:1rem;display:flex}.brand{color:var(--text);letter-spacing:-.02em;align-items:center;gap:.6rem;font-size:1rem;font-weight:800;text-decoration:none;display:inline-flex}.brand img{display:block}.header-actions{align-items:center;gap:.65rem;display:flex}.app-version{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:.72rem}.icon-button{border:1px solid var(--border);block-size:2.35rem;inline-size:2.35rem;color:var(--brand);background:color-mix(in srgb, var(--surface) 84%, transparent);cursor:pointer;border-radius:50%;place-items:center;display:inline-grid}.icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;block-size:1.15rem;inline-size:1.15rem}.page-menu-slot:empty{display:none}.page-menu{position:relative}.page-menu-list{z-index:60;border:1px solid var(--border);background:var(--surface);max-block-size:calc(100dvh - 5rem);min-inline-size:15rem;box-shadow:var(--shadow);border-radius:.9rem;padding:6px 0;position:absolute;inset-block-start:calc(100% + 6px);inset-inline-end:0;overflow-y:auto}.page-menu-group+.page-menu-group,.page-menu-group+.page-menu-item,.page-menu-item+.page-menu-group{border-block-start:1px solid var(--border);margin-block-start:6px;padding-block-start:6px}.page-menu-heading{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;margin:0;padding:4px 16px 2px 44px;font-size:11px;font-weight:800}.page-menu-item{min-block-size:2.75rem;inline-size:100%;color:var(--text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 16px 0 12px;font-size:15px;font-weight:600;display:flex}.page-menu-item:hover,.page-menu-item:focus-visible{background:var(--surface-muted);outline:none}.page-menu-item:disabled{color:var(--text-muted);cursor:default}.page-menu-check{color:#2e8b57;flex:none;place-items:center;block-size:24px;inline-size:24px;display:grid}.page-menu-check svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px;block-size:20px;inline-size:20px}.page-content{padding:1.5rem 1rem calc(11rem + env(safe-area-inset-bottom));flex:1}.page-view{max-inline-size:42rem;margin-inline:auto}.page-heading{margin-block-end:1.5rem}.page-heading h1{color:var(--text);letter-spacing:-.08em;margin:0 0 .55rem;font-size:clamp(2.7rem,14vw,4.5rem);line-height:.95}.page-heading p:last-child{max-inline-size:34rem;color:var(--text-muted);margin:0;font-size:1rem;line-height:1.55}.eyebrow{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:850}.list-card,.settings-list{border:1px solid var(--border);background:color-mix(in srgb, var(--surface) 88%, transparent);box-shadow:var(--shadow);border-radius:1.35rem}.section-count,.empty-state,.settings-row-copy small{color:var(--text-muted);font-size:.82rem}.list-card,.settings-list{padding:1.15rem}.section-heading{justify-content:space-between;align-items:center;gap:1rem;margin-block-end:.65rem;display:flex}.section-heading h2{letter-spacing:-.02em;margin:0;font-size:1.05rem}.section-count{background:var(--surface-muted);border-radius:50%;place-items:center;block-size:1.5rem;min-inline-size:1.5rem;font-size:.72rem;font-weight:750;display:inline-grid}.empty-state{margin:0;line-height:1.55}.primary-button{color:#fff;background:var(--brand);cursor:pointer;border:0;border-radius:.9rem;inline-size:100%;margin-block-start:1rem;padding:.85rem 1rem;font-weight:750}.primary-button:hover{background:#633b82}.page-status{min-block-size:1.3rem;color:var(--accent);margin:.8rem 0 0;font-size:.82rem}.settings-list{gap:.7rem;display:grid}.settings-row{inline-size:100%;color:var(--text);cursor:pointer;text-align:start;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:.8rem;padding:.65rem 0;display:grid}.settings-row+.settings-row{border-block-start:1px solid var(--border);padding-block-start:1rem}.settings-row-icon{block-size:2.25rem;inline-size:2.25rem;color:var(--accent);background:var(--brand-light);border-radius:.8rem;place-items:center;display:inline-grid}.settings-row-icon svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;block-size:1.1rem;inline-size:1.1rem}.settings-row-copy{gap:.2rem;display:grid}.settings-row-copy strong{font-size:.9rem}.settings-row-chevron{color:var(--text-muted);font-size:1.5rem;line-height:1}.bottom-nav{z-index:10;inline-size:min(100%,30rem);padding:.55rem .45rem max(.55rem, env(safe-area-inset-bottom));border-block-start:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:color-mix(in srgb, var(--surface) 90%, transparent);-webkit-backdrop-filter:blur(1rem);backdrop-filter:blur(1rem);grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;inset-block-end:0;inset-inline:50%;transform:translate(-50%);box-shadow:0 -.5rem 2rem #4b2a681a}.bottom-nav a{color:var(--text-muted);border-radius:.85rem;justify-items:center;gap:.25rem;padding:.4rem .2rem;font-size:.68rem;font-weight:750;text-decoration:none;display:grid}.bottom-nav a:hover,.bottom-nav a.active{color:var(--brand);background:var(--brand-light)}.bottom-nav svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;block-size:1.35rem;inline-size:1.35rem}.loading-message,.error-page{color:var(--text-muted);text-align:center}.error-page{padding-block:4rem}@media (width>=30.01rem){body{padding-block:1rem}.app-shell{border-radius:2rem;min-block-size:calc(100dvh - 2rem);box-shadow:0 1.5rem 4rem #4b2a6829}.bottom-nav{border-block-end:1px solid color-mix(in srgb, var(--border) 80%, transparent);border-radius:0 0 2rem 2rem;inset-block-end:1rem}}.stack{gap:.8rem;display:grid}.form{gap:.75rem;display:grid}.form-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.5rem;display:grid}.field{color:var(--text-muted);gap:.3rem;font-size:.78rem;font-weight:700;display:grid}.field input,.field select{border:1px solid var(--border);min-block-size:2.6rem;inline-size:100%;color:var(--text);background:var(--surface);font:inherit;border-radius:.75rem;padding:.55rem .7rem;font-size:1rem;font-weight:500}.field input:focus-visible,.field select:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.segmented{background:var(--surface-muted);border-radius:.85rem;grid-auto-columns:1fr;grid-auto-flow:column;gap:.35rem;padding:.25rem;display:grid}.segmented label{min-block-size:2.3rem;color:var(--text-muted);cursor:pointer;border-radius:.65rem;place-items:center;font-size:.85rem;font-weight:750;display:grid}.segmented input{opacity:0;position:absolute}.segmented label:has(input:checked){color:var(--brand);background:var(--surface);box-shadow:0 .15rem .5rem #4b2a681f}.segmented label:has(input:focus-visible){outline:3px solid var(--focus)}.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:not-allowed}.form .primary-button,.form-row .primary-button{margin-block-start:0}.form-row .primary-button,.form-row .secondary-button{min-block-size:2.6rem;inline-size:auto;padding-inline:1rem}.secondary-button{border:1px solid var(--border);color:var(--brand);background:var(--brand-light);cursor:pointer;border-radius:.9rem;padding:.65rem 1rem;font-weight:750}.text-button{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:.3rem 0;font-size:.82rem;font-weight:750}.text-button.danger{color:#b3261e}.button-row{flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.error-message{color:#b3261e;margin:0;font-size:.82rem;font-weight:650}.notice{color:var(--text);background:var(--brand-light);border-radius:.9rem;margin:0;padding:.75rem .9rem;font-size:.88rem;line-height:1.5}.notice a{color:var(--brand);font-weight:750}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.money.negative,.short{color:#b3261e}.month-nav{align-items:center;gap:.5rem;display:flex}.month-nav a{block-size:1.8rem;inline-size:1.8rem;color:var(--brand);background:var(--brand-light);border-radius:50%;place-items:center;font-size:1.1rem;text-decoration:none;display:inline-grid}.item-list{margin:0;padding:0;list-style:none;display:grid}.item-list>li+li{border-block-start:1px solid var(--border)}.item,.review-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem .75rem;padding:.75rem 0;display:grid}.item-title{text-overflow:ellipsis;white-space:nowrap;font-weight:750;overflow:hidden}.item-detail{color:var(--text-muted);font-size:.78rem}.cover-card{border:2px solid var(--focus);background:#fff8ec;border-radius:1.1rem;gap:.75rem;padding:1rem;display:grid}.cover-card h3{margin:0;font-size:1rem}.cover-card ol{gap:.5rem;margin:0;padding-inline-start:1.2rem;font-size:.88rem;display:grid}.choice{align-items:center;gap:.5rem;font-size:.88rem;display:flex}.cover-step{color:var(--text-muted);margin:0;font-size:.78rem;font-weight:700}.split{border:1px solid var(--border);background:var(--surface-muted);border-radius:.9rem;gap:.5rem;margin:0;padding:.75rem;display:grid}.split legend{color:var(--text-muted);padding-inline:.3rem;font-size:.78rem;font-weight:700}.split-line{grid-template-columns:minmax(0,1fr) 6.5rem 2rem;align-items:center;gap:.4rem;display:grid}.split-line select,.split-line input{border:1px solid var(--border);min-block-size:2.6rem;inline-size:100%;min-inline-size:0;color:var(--text);background:var(--surface);font:inherit;border-radius:.75rem;padding:.55rem .6rem;font-size:1rem}.split-line input{text-align:end}.split-line select:focus-visible,.split-line input:focus-visible{outline:3px solid var(--focus);outline-offset:1px}.split-remove{font-size:1.3rem;line-height:1}.split-remove:disabled{opacity:.35;cursor:not-allowed}.split-footer{justify-content:space-between;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.split-left{color:#8a5a00;font-weight:700}.split-done{color:var(--text-muted);font-weight:700}.csv-example{color:var(--text);background:var(--surface-muted);border-radius:.9rem;margin:.75rem 0;padding:.75rem .9rem;font-size:.82rem;line-height:1.5;overflow-x:auto}.error-text{color:#b3261e}.field input[type=file]{padding-block:.55rem}.unused-toggle{text-align:center;margin:0}.import-columns,.import-skipped{border:1px solid var(--border);border-radius:.9rem;padding:.75rem .9rem}.import-columns>summary,.import-skipped>summary{cursor:pointer;color:var(--brand);font-weight:700}.import-columns[open]>summary,.import-skipped[open]>summary{margin-block-end:.75rem}.fab{z-index:11;color:#fff;background:var(--brand);cursor:pointer;border:0;border-radius:50%;place-items:center;block-size:3.5rem;inline-size:3.5rem;display:grid;position:fixed;inset-block-end:calc(5.75rem + env(safe-area-inset-bottom));inset-inline-end:max(1rem,50% - 14rem);box-shadow:0 .6rem 1.5rem #4b2a6859}.fab:hover{background:var(--accent)}.fab svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:2.2px;block-size:1.6rem;inline-size:1.6rem}.sheet{max-block-size:calc(100dvh - 2rem);inline-size:min(100% - 2rem,28rem);color:var(--text);background:var(--surface);box-shadow:var(--shadow);border:0;border-radius:1.25rem;padding:1.1rem;overflow-y:auto}.sheet::backdrop{background:#281a3573}@media (width>=30.01rem){.fab{inset-block-end:6.75rem}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.notice.compact{margin:0;padding:.55rem .75rem;font-size:.8rem;line-height:1.45}.item-button{inline-size:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0}.item-button:hover{background:var(--surface-muted)}.item-button .item-detail{grid-column:1/-1}.badge-uncategorized{color:#6b4500;background:#ffe2a8;border-radius:.4rem;padding:.05rem .4rem;font-weight:700}.sheet-delete{justify-self:center;margin-block-start:.25rem}.page-content{padding-inline:.5rem}.list-card,.settings-list{padding-inline:.85rem}.review-item{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem;display:grid}:root{--bb-purple:#4b2a68;--bb-purple-tint:#f3eef8;--bb-purple-line:#e4dcee;--bb-row-line:#f0ebf5;--bb-ink:#1e1a24;--bb-ink-2:#3a3342;--bb-muted:#6a6175;--bb-muted-zero:#9a90a6;--bb-grey-cell:#efeef1;--bb-grey-label:#5e5866;--bb-over:#a3470a;--bb-over-bg:#fcebdd}.budget-page{color:var(--bb-ink);font-variant-numeric:tabular-nums;margin:-1.5rem -.5rem 0;display:grid}.budget-page>.notice,.budget-page>.unused-toggle{margin:.6rem 1rem 0}.budget-month{color:#fff;background:var(--bb-purple);letter-spacing:.12em;text-transform:uppercase;justify-content:space-between;padding:6px 12px 0;font-size:14px;font-weight:800}.budget-month a{color:#fff;background:0 0;block-size:2.75rem;inline-size:2.75rem;font-size:1.4rem}.assign-wrap{z-index:5;padding:max(8px, env(safe-area-inset-top)) 16px 8px;background:var(--app-background);position:sticky;inset-block-start:0}.assign-card{color:#fff;background:#1f7a45;border-radius:.875rem;box-shadow:0 4px 14px #145a3233}.assign-card.over{background:#b3261e;box-shadow:0 4px 14px #7814142e}.assign-card button{border-radius:inherit;inline-size:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:14px 20px;font-weight:800;display:flex}.assign-card button:hover{background:#ffffff14}.assign-label{letter-spacing:.08em;text-transform:uppercase;font-size:14px}.assign-card .money{color:inherit;white-space:nowrap;font-size:26px;line-height:1.1}.group-heading{border-block:1px solid var(--bb-purple-line);background:var(--bb-purple-tint);align-items:center;gap:4px;padding:0 2px 0 4px;display:flex}.group-heading h2{min-inline-size:0;font-size:inherit;flex:1;margin:0}.group-toggle{min-block-size:2.75rem;inline-size:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:0 4px 0 6px;display:flex}.group-toggle svg{fill:none;block-size:16px;inline-size:16px;stroke:var(--bb-purple);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;flex:none;transition:transform .15s}.budget-group.collapsed .group-toggle svg{transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){.group-toggle svg{transition:none}}.group-name{color:var(--bb-purple);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:800}.group-summary{color:var(--bb-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;overflow:hidden}.group-total{color:var(--bb-purple);white-space:nowrap;font-size:15px;font-weight:800}.add-envelope-button{block-size:2.75rem;inline-size:2.75rem;color:var(--bb-purple);cursor:pointer;background:0 0;border:0;font-size:1.25rem;font-weight:700}.group-add,.group-empty{border-block-end:1px solid var(--bb-row-line);background:var(--surface);padding:.5rem 1rem}.group-empty{margin:0;font-size:.8rem}.envelope-list{margin:0;padding:0;list-style:none}.envelope{border-block-end:1px solid var(--bb-row-line);background:var(--surface);gap:6px;padding:8px 16px;display:grid}.envelope-head{align-items:center;gap:8px;display:flex}.envelope-top{inline-size:100%;min-inline-size:0;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:8px;padding:0;display:flex}.envelope-icon{flex:none}.envelope-title{flex-wrap:wrap;flex:1;align-items:center;gap:4px 8px;min-inline-size:0;display:flex}.envelope-name{overflow-wrap:anywhere;font-size:15px;font-weight:400;line-height:1.2}.envelope.unused .envelope-name{color:var(--bb-muted)}.envelope.unused small{font-weight:400}.envelope-left{margin-inline-start:2px}.envelope-remaining{white-space:nowrap;font-size:20px;font-weight:800;line-height:1.1}button.envelope-left{color:inherit;font:inherit;text-align:end;cursor:pointer;background:0 0;border:0;border-radius:8px;margin-block:-4px;margin-inline-end:-6px;padding:4px 6px}button.envelope-left:hover,button.envelope-left:focus-visible{background:#f3edf9}.envelope-left.zero .envelope-remaining{color:var(--bb-muted-zero)}.saved-chip{color:#6e5a85;background:var(--bb-purple-tint);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.saved-chip.sparkle{color:#fff;background:var(--bb-purple);gap:5px;margin:3px 6px 3px 2px;padding:4px 12px 4px 8px;font-size:13px;font-weight:800;position:relative;box-shadow:0 0 0 2px #e6d8f5,0 2px 6px #4b2a6840}.saved-chip .sp{position:absolute}.saved-chip .sp1{inset-block-start:-7px;inset-inline-end:-5px}.saved-chip .sp2{inset-block-start:-6px;inset-inline-end:12px}.saved-chip .sp3{inset-block-end:-5px;inset-inline-end:-7px}.saved-chip .sp4{inset-block-end:-5px;inset-inline-start:4px}.saved-chip .sp5{inset-block-start:-5px;inset-inline-start:-3px}.saved-chip .sp6{inset-block-start:9px;inset-inline-end:3px}.saved-chip .star{animation:1.2s ease-in-out chip-twinkle}@keyframes chip-twinkle{50%{opacity:.5;transform:scale(.75)rotate(20deg)}}@media (prefers-reduced-motion:reduce){.saved-chip .star{animation:none}}.envelope-cells{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.envelope-cells.two{grid-template-columns:repeat(2,minmax(0,1fr))}.cell{color:var(--bb-ink-2);font:inherit;text-align:start;background:0 0;border:0;border-radius:7px;flex-direction:column;justify-content:center;padding:3px 8px;line-height:1.3;display:flex}button.cell,.cell.editing{cursor:pointer;position:relative}button.cell:after{content:"";position:absolute;inset:-5px 0}.cell-label{color:var(--bb-muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.cell .money{white-space:nowrap;font-size:13px;font-weight:700}.cell.planned{color:var(--bb-purple);background:var(--bb-purple-tint)}.cell.planned .cell-label{color:var(--bb-purple)}.cell.planned .money{font-weight:800}.cell.spent{background:var(--bb-grey-cell)}.cell.spent .cell-label{color:var(--bb-grey-label)}.cell.spent.over{background:var(--bb-over-bg)}.cell.spent.over .cell-label,.cell.spent.over .money{color:var(--bb-over)}.cell.debt .money{color:#b3261e}.cell.editing{box-shadow:inset 0 0 0 2px var(--bb-purple)}.cell.editing input{inline-size:100%;min-inline-size:0;color:inherit;font:inherit;background:0 0;border:0;outline:0;padding:0;font-size:13px;font-weight:700}.envelope-extra{color:var(--bb-muted);flex-wrap:wrap;gap:0 .75rem;margin:0;font-size:11px;display:flex}.envelope-extra .money{font-weight:700}.compact-rows .envelope-cells,.compact-rows .envelope-extra{display:none}.sheet.bottom{max-block-size:92dvh;inline-size:min(100%,30rem);max-inline-size:100%;padding:.75rem 1.25rem calc(1.75rem + env(safe-area-inset-bottom));border-radius:1.5rem 1.5rem 0 0;margin:auto auto 0;animation:.2s ease-out sheet-rise}@keyframes sheet-rise{0%{opacity:0;transform:translateY(2rem)}}@media (prefers-reduced-motion:reduce){.sheet.bottom{animation:none}}.envelope-sheet{color:var(--bb-ink);font-variant-numeric:tabular-nums;gap:1.125rem;display:grid}.sheet-handle{background:#d6cde2;border-radius:.2rem;justify-self:center;block-size:.3125rem;inline-size:2.5rem}.sheet-header{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.sheet-header h2{overflow-wrap:anywhere;margin:0;font-size:1.375rem;font-weight:800}.sheet-eyebrow{color:var(--bb-purple);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem;font-weight:800}.sheet-close{block-size:2.75rem;inline-size:2.75rem;color:var(--bb-purple);background:var(--bb-purple-tint);cursor:pointer;border:0;border-radius:50%;flex:none;font-size:1.25rem}.sheet-hero{gap:.125rem;display:grid}.sheet-hero-label{color:var(--bb-muted);font-size:.8125rem}.sheet-hero-amount{letter-spacing:-.02em;font-size:2.875rem;font-weight:800;line-height:1.1}.sheet-hero-amount.zero{color:var(--bb-muted-zero)}.sheet-hero-parts{color:#4b4256;font-size:.8125rem}.sheet-short{margin:-.5rem 0 0;font-size:.875rem;font-weight:700}.plan-line{color:var(--bb-ink-2);background:var(--bb-purple-tint);border-radius:.875rem;justify-content:space-between;align-items:center;gap:.625rem;margin:0;padding:.75rem .875rem;font-size:.875rem;display:flex}.plan-line strong .money,.plan-status{color:var(--bb-purple);font-weight:800}.plan-status{white-space:nowrap;font-size:.8125rem}.plan-line.over{background:var(--bb-over-bg)}.plan-line.over .plan-status,.plan-line.over .plan-status .money{color:var(--bb-over)}.sheet-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.sheet-field{flex-direction:column;gap:.25rem;display:flex}.sheet-field-label{color:var(--bb-muted);font-size:.75rem;font-weight:700}.sheet-field.planned .sheet-field-label{color:var(--bb-purple)}.sheet-field-value{box-sizing:border-box;block-size:2.75rem;inline-size:100%;min-inline-size:0;color:var(--bb-ink);background:var(--surface);font:inherit;border:1px solid #d6cde2;border-radius:.625rem;align-items:center;padding:0 .625rem;font-size:.9375rem;font-weight:700;display:flex}.sheet-field.planned .sheet-field-value{color:var(--bb-purple);border:2px solid #cdb8e6;font-weight:800}div.sheet-field .sheet-field-value{background:#f6f3fa;border-color:#0000}.saved-panel{color:#fff;background:var(--bb-purple);border-radius:1rem;gap:.25rem;padding:.875rem 1rem;display:grid;position:relative}.saved-panel-label{color:#e3d6f2;font-size:.8125rem;font-weight:700}.saved-panel-amount{font-size:1.875rem;font-weight:800;line-height:1.15}.saved-panel p{color:#e3d6f2;margin:0 0 .375rem;font-size:.8125rem}.saved-panel-star{position:absolute;inset-block-start:.625rem;inset-inline-end:.875rem}.saved-panel-star.small{inset-block-start:2rem;inset-inline-end:2.375rem}.saved-panel-move{block-size:2.75rem;color:var(--bb-purple);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:.625rem;font-size:.875rem;font-weight:800}.saved-panel .field{color:#fff}.saved-panel .error-message{color:#ffd2cc}.saved-panel.empty{color:var(--bb-purple);background:var(--bb-purple-tint)}.saved-panel.empty .saved-panel-label,.saved-panel.empty p{color:#6e5a85}.sheet-activity h3{color:var(--bb-muted);margin:0 0 .375rem;font-size:.8125rem;font-weight:700}.sheet-activity ul{margin:0;padding:0;list-style:none}.sheet-activity li{border-block-end:1px solid var(--bb-row-line)}.sheet-activity-row{min-block-size:44px;inline-size:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.5rem 0;font-size:.875rem;display:flex}.sheet-activity-row:hover{background:var(--bb-purple-tint)}.activity-what{min-inline-size:0;display:grid}.activity-what small{color:var(--bb-muted);font-size:.75rem}.sheet-activity-row strong{white-space:nowrap}.sortable-row{background:var(--surface);align-items:center;gap:.25rem;display:flex;position:relative}.sortable-row>:last-child{flex:1;min-inline-size:0}.sortable-row.dragging{z-index:1;box-shadow:var(--shadow);border-radius:.75rem}.drag-handle{block-size:2.75rem;inline-size:2.25rem;color:var(--text-muted);cursor:grab;touch-action:none;background:0 0;border:0;border-radius:.5rem;flex:none;place-items:center;padding:0;display:grid}.drag-handle:hover{color:var(--brand);background:var(--surface-muted)}.sortable-row.dragging .drag-handle{cursor:grabbing}.drag-handle svg{fill:currentColor;block-size:1.25rem;inline-size:1.25rem}.group-envelopes{gap:.25rem;display:grid}.group-envelopes h3{color:var(--bb-muted);margin:0;font-size:.8125rem;font-weight:700}.sheet-header>div{flex:1;min-inline-size:0}.editable-title{align-items:center;gap:.25rem;display:flex}.editable-title.editing{gap:.35rem;display:grid}.title-edit{block-size:2.25rem;inline-size:2.25rem;color:var(--bb-purple);cursor:pointer;background:0 0;border:0;border-radius:50%;flex:none;place-items:center;display:grid}.title-edit:hover{background:var(--bb-purple-tint)}.title-edit svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;block-size:1.1rem;inline-size:1.1rem}.title-input{border:1px solid var(--bb-purple-line);inline-size:100%;color:var(--bb-ink);background:var(--surface);font:inherit;border-radius:.5rem;padding:.15rem .45rem;font-size:1.375rem;font-weight:800}.group-picker,.move-picker{align-items:center;display:inline-flex;position:relative}.group-picker select,.move-picker select{border:1px solid var(--bb-purple-line);background:var(--bb-purple-tint);font:inherit;cursor:pointer;appearance:none;border-radius:999px;padding:.25rem 1.6rem .25rem .65rem}.group-picker>span,.move-picker>span{color:var(--bb-purple);pointer-events:none;font-size:.75rem;position:absolute;inset-inline-end:.6rem}.group-picker select.sheet-eyebrow{color:var(--bb-purple);font-size:.75rem;font-weight:800}.move-picker select{color:var(--bb-purple);font-size:.8rem;font-weight:700}.group-envelope{align-items:center;gap:.5rem;padding-block:.3rem;display:flex}.group-envelope>:first-child{flex:1;min-inline-size:0}.row-name{color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.45rem 0;display:flex}.row-name svg{fill:none;block-size:.95rem;inline-size:.95rem;stroke:var(--bb-muted);stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;flex:none}.title-input.row{font-size:1rem;font-weight:750}.move-status{color:var(--bb-muted);margin:0;font-size:.8rem}.move-status:empty{display:none}.budget-page>.plan-start{border:1px dashed var(--bb-purple);background:var(--bb-purple-tint);color:var(--bb-ink);border-radius:.9rem;gap:.5rem;margin:.6rem 1rem 0;padding:.8rem .9rem;display:grid}.plan-start h2{margin:0;font-size:.95rem;font-weight:800}.plan-start p{margin:0;font-size:.82rem;line-height:1.45}.plan-start-actions{gap:.4rem;display:grid}.plan-start-actions .secondary-button{background:var(--surface)}:root{--bb-day-bg:#faf8fc;--bb-income:#1f6b42;--bb-spend:#b3261e;--bb-checked:#f1e9f9;--bb-bank:#2e8b57;--bb-bank-off:#b9b3c0}.activity-page{color:var(--bb-ink);font-variant-numeric:tabular-nums;margin:-1.5rem -.5rem 0}.activity-page .budget-month{padding:6px 4px;font-size:.875rem}.activity-totals{border-block-end:1px solid var(--bb-purple-line);background:var(--bb-purple-tint);grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;padding:8px 16px;display:grid}.activity-totals div{flex-direction:column;min-inline-size:0;display:flex}.activity-totals dt{color:var(--bb-muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:800}.activity-totals dd{color:var(--bb-ink);white-space:nowrap;margin:0;font-size:12px;font-weight:800}.activity-totals .activity-in{color:var(--bb-income)}.activity-totals .activity-out{color:var(--bb-spend)}.card-debt{color:var(--debt-text,#fff);background:var(--debt-bg,var(--bb-spend));border-radius:.875rem;justify-content:space-between;align-items:center;gap:1rem;margin:12px 16px;padding:14px 20px;font-weight:800;display:flex;box-shadow:0 4px 14px #7814142e}.card-debt-label{letter-spacing:.08em;text-transform:uppercase;font-size:14px}.card-debt .money{color:inherit;font-size:26px;line-height:1.1}.stack>.card-debt{margin-inline:0}.activity-totals .activity-balance-detail{color:var(--bb-muted);white-space:normal;font-size:10px;font-weight:700}.selection-bar{z-index:4;padding:max(6px, env(safe-area-inset-top)) 12px 6px 16px;color:#fff;background:var(--bb-purple);flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex;position:sticky;inset-block-start:0}.selection-summary{flex-direction:column;margin:0 auto 0 0;font-size:11px;line-height:1.25;display:flex}.selection-summary strong{font-size:15px}.selection-action{min-block-size:2.25rem;color:var(--bb-purple);font:inherit;cursor:pointer;background:#fff;border:0;border-radius:999px;padding:0 12px;font-size:13px;font-weight:800}.selection-action.quiet{color:#fff;background:#ffffff29}.selection-action:disabled{opacity:.6}.selection-clear{color:#fff;cursor:pointer;background:0 0;border:0;border-radius:50%;block-size:2.25rem;inline-size:2.25rem;font-size:20px;line-height:1}.selection-bar .error-message{color:#fff;flex-basis:100%;margin:0}.activity-page>.activity-notice,.activity-page>.activity-review{margin:.6rem 1rem}.activity-empty{color:var(--bb-muted);text-align:center;margin:0;padding:2rem 16px}.activity-day-head{border-block-end:1px solid var(--bb-row-line);color:var(--bb-muted);background:var(--bb-day-bg);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;justify-content:space-between;align-items:center;gap:.75rem;padding:6px 16px;font-size:11px;font-weight:800;display:flex}.activity-day-head :is(h2,h3){font-size:inherit;font-weight:inherit;margin:0}.activity-day-head{position:relative}.day-toggle{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.day-toggle:after{content:"";position:absolute;inset:0}.day-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px;block-size:14px;inline-size:14px;transition:transform .15s}.activity-day-head.folded .day-toggle svg{transform:rotate(-90deg)}.activity-rows{margin:0;padding:0;list-style:none}.activity-item{border-block-end:1px solid var(--bb-row-line);background:#fff}.activity-grid{grid-template-columns:22px 16px minmax(0,1fr) minmax(0,1fr) 84px;align-items:center;gap:6px;padding:4px 16px 4px 10px;display:grid}.activity-item.checked{background:var(--bb-checked)}.activity-row{min-block-size:48px}.activity-check{cursor:pointer;align-self:stretch;place-items:center;margin-inline:-6px;display:grid}.activity-check input{block-size:18px;inline-size:18px;accent-color:var(--bb-purple);cursor:pointer;margin:0}.bank-mark{color:var(--bb-bank-off);display:grid}.bank-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;block-size:16px;inline-size:16px}.bank-mark.reconciled{color:var(--bb-bank)}.bank-mark.reconciled svg{fill:currentColor}.activity-who{min-block-size:44px;min-inline-size:0;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;padding:0;display:flex}.activity-payee,.activity-account,.activity-category,.portion-memo,.portion-envelope{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.activity-payee{color:var(--bb-ink);font-size:14px;font-weight:400}.activity-payee.to-review{font-weight:700}.activity-account,.activity-category{color:var(--bb-muted)}.activity-account{font-size:11px}.activity-category{font-size:12px}.activity-amount{color:var(--bb-ink);text-align:end;white-space:nowrap;font-size:14px;font-weight:700}.activity-amount.in{color:var(--bb-income)}.activity-amount.out{color:var(--bb-spend)}.split-pill{min-block-size:32px;color:var(--bb-purple);background:var(--bb-purple-tint);font:inherit;white-space:nowrap;cursor:pointer;border:0;border-radius:999px;justify-self:start;align-items:center;gap:4px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.split-pill svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px;block-size:12px;inline-size:12px;transition:transform .15s}.split-pill[aria-expanded=true] svg{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.split-pill svg{transition:none}}.activity-portions{border-block-start:1px dashed var(--bb-purple-line);background:var(--bb-day-bg);padding:2px 0}.activity-portions[hidden]{display:none}.activity-portion{min-block-size:36px}.portion-memo{color:var(--bb-muted);font-size:12px}.portion-envelope{color:var(--bb-purple);font-size:12px;font-weight:700}.portion-amount{color:var(--bb-ink-2);text-align:end;white-space:nowrap;font-size:13px;font-weight:700}.portion-amount.out{color:var(--bb-spend)}.portion-amount.in{color:var(--bb-income)}:root{--desktop-band:4.25rem;--desktop-gap:.875rem;--env-cols:minmax(9rem, 1fr) repeat(3, 5.75rem) 7rem 2.5rem;--panel-width:clamp(18rem, 27vw, 27rem)}body:has(.app-shell.desktop){padding:0}.app-shell.desktop{min-block-size:100dvh;max-inline-size:none;box-shadow:none;border-radius:0;grid-template-columns:auto minmax(0,1fr);align-items:start;margin:0;display:grid}.app-shell.desktop>.page-content{min-inline-size:0;padding:0 1.5rem 3rem}.desktop .budget-page,.desktop .activity-page{max-inline-size:100rem;margin:0 auto}.desktop .page-view.stack{padding-block-start:2rem}.sidebar{z-index:8;border-inline-end:1px solid var(--border);background:var(--surface);flex-direction:column;gap:.875rem;block-size:100dvh;inline-size:16rem;padding:1rem .75rem;display:flex;position:sticky;inset-block-start:0}.sidebar.collapsed{align-items:center;inline-size:4.5rem;padding-inline:.625rem}.sidebar-brand{gap:.15rem;padding:0 .375rem;display:grid}.sidebar-brand .app-version{padding-inline-start:2.6rem}.sidebar-add{order:1}.sidebar-nav{order:2;gap:.125rem;display:grid}.sidebar-foot{order:3;gap:.5rem;margin-block-start:auto;display:grid}.sidebar-toggle{order:4}.sidebar-nav a,.sidebar-install,.sidebar-toggle{min-block-size:2.625rem;color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:.625rem;align-items:center;gap:.625rem;padding:0 .75rem;font-size:.875rem;font-weight:650;text-decoration:none;display:flex}.sidebar-nav a:hover,.sidebar-install:hover,.sidebar-toggle:hover{color:var(--brand);background:var(--bb-purple-tint)}.sidebar-nav a.active{color:var(--brand);background:var(--brand-light);font-weight:800}.sidebar-install{border:1px solid var(--border);color:var(--brand)}.sidebar svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;flex:none;block-size:1.25rem;inline-size:1.25rem}.sidebar-add{color:#fff;background:var(--brand);min-block-size:2.625rem;font:inherit;cursor:pointer;border:0;border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;font-size:.875rem;font-weight:800;display:flex;box-shadow:0 3px 10px #28144638}.sidebar-add:hover{background:var(--accent)}.sidebar-household{color:var(--text-muted);background:var(--app-background);overflow-wrap:anywhere;border-radius:.625rem;margin:0;padding:.5rem .75rem;font-size:.75rem;line-height:1.35;display:grid}.sidebar-household strong{color:var(--bb-ink-2);font-size:.8125rem}.sidebar.collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar.collapsed .nav-label,.sidebar.collapsed .brand span,.sidebar.collapsed .app-version{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.sidebar.collapsed .sidebar-brand{padding:0}.sidebar.collapsed .sidebar-nav a,.sidebar.collapsed .sidebar-install,.sidebar.collapsed .sidebar-toggle{justify-content:center;inline-size:3rem;padding:0}.sidebar.collapsed .sidebar-add{border-radius:50%;block-size:3rem;inline-size:3rem}.sidebar.collapsed .sidebar-household{display:none}.sidebar-nav{grid-template-columns:minmax(0,1fr);min-block-size:0;overflow:hidden auto}.sidebar-accounts ul{grid-template-columns:minmax(0,1fr);gap:.0625rem;margin:0;padding:0 0 0 .75rem;list-style:none;display:grid}.sidebar-accounts .sidebar-tracking{margin-block-start:1rem;padding-block-start:.75rem;position:relative}.sidebar-accounts .sidebar-tracking:before{border-block-start:1px solid var(--border);content:"";inline-size:50%;position:absolute;inset-block-start:0;inset-inline-start:25%}.sidebar-nav .sidebar-accounts a{border-inline-start:2px solid var(--border);white-space:nowrap;border-radius:0 .5rem .5rem 0;align-items:baseline;gap:.5rem;min-block-size:0;padding:.375rem .5rem .375rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.3;display:flex}.sidebar-account-name{text-overflow:ellipsis;flex:1;min-inline-size:0;overflow:hidden}.sidebar-account-balance{color:var(--bb-ink-2);font-variant-numeric:tabular-nums;flex:none;font-size:.75rem;font-weight:700}.sidebar-account-balance.negative{color:var(--bb-spend)}.sidebar-nav .sidebar-accounts a.active{border-inline-start-color:var(--brand);font-weight:800}.sidebar.collapsed .sidebar-accounts{display:none}.side-panel{inline-size:var(--panel-width);max-block-size:calc(100dvh - var(--desktop-band) - 2 * var(--desktop-gap));border:1px solid var(--border);background:var(--surface);border-radius:.875rem;position:sticky;inset-block-start:calc(var(--desktop-band) + var(--desktop-gap));overflow-y:auto;box-shadow:0 6px 20px #4b2a6814}.side-panel.collapsed{inline-size:3rem;overflow:visible}.side-panel-toggle{z-index:1;block-size:2.5rem;inline-size:2.5rem;color:var(--brand);cursor:pointer;background:0 0;border:0;border-radius:.625rem;place-items:center;margin:.25rem .25rem -2.75rem auto;display:grid;position:sticky;inset-block-start:0}.side-panel.collapsed .side-panel-toggle{margin:.25rem auto}.side-panel-toggle:hover{background:var(--bb-purple-tint)}.side-panel-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;block-size:1.2rem;inline-size:1.2rem}.side-panel-body{padding:1rem 1.125rem 1.25rem}.side-panel .sheet-header{padding-inline-end:2.5rem}.desktop .budget-page>.notice,.desktop .budget-page>.plan-start{margin:var(--desktop-gap) 0 0}.desktop .budget-page>.plan-start{grid-template-columns:minmax(0,1fr) auto;align-items:center}.desktop .budget-page>.plan-start .plan-start-actions{flex-wrap:wrap;grid-area:1/2/span 2;display:flex}.budget-band{z-index:6;min-block-size:var(--desktop-band);background:var(--bb-purple);border-radius:0 0 .875rem .875rem;grid-template-columns:minmax(max-content,1fr) auto minmax(0,1fr);align-items:center;gap:1rem;padding:0 1rem;display:grid;position:sticky;inset-block-start:0}.budget-band .budget-month{background:0 0;gap:.25rem;padding:0}.budget-band .budget-month span{text-align:center;min-inline-size:11.5em}.budget-band .budget-month a:hover{background:#ffffff1f}.budget-band .budget-month{justify-self:start}.budget-band .assign-card{grid-column:2;min-inline-size:22rem}.budget-band .assign-card button{padding-block:9px}.budget-work{padding-block:var(--desktop-gap) 2.5rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.25rem;display:grid}.envelope-table{border:1px solid var(--border);background:var(--surface);border-radius:.875rem;overflow:clip;box-shadow:0 6px 20px #4b2a680f}.envelope-colhead{z-index:4;grid-template-columns:var(--env-cols);border-block-end:1px solid var(--bb-purple-line);block-size:2.125rem;color:var(--bb-muted);background:var(--surface);letter-spacing:.08em;text-transform:uppercase;align-items:center;column-gap:.5rem;padding-inline-start:1rem;font-size:10.5px;font-weight:800;display:grid;position:sticky;inset-block-start:var(--desktop-band)}.envelope-colhead span:not(:first-child){text-align:end;padding-inline-end:8px}.envelope-colhead span:nth-child(5){padding-inline-end:0}.desktop .group-heading{grid-template-columns:var(--env-cols);border-block-start:0;column-gap:.5rem;padding:0 0 0 4px;display:grid}.desktop .group-heading h2{grid-column:1/5}.desktop .group-total{text-align:end;grid-column:5}.desktop .add-envelope-button{border-radius:.5rem;grid-column:6}.desktop .add-envelope-button:hover{background:#e6daf3}.desktop .envelope{grid-template-columns:var(--env-cols);align-items:center;column-gap:.5rem;min-block-size:3.25rem;padding:6px 0 6px 1rem}.desktop .envelope:hover{background:#fbf9fd}.desktop .envelope.selected{box-shadow:inset 4px 0 0 var(--bb-purple);background:#f6f1fb}.desktop .envelope-head{display:contents}.desktop .envelope-top:hover .envelope-name{text-underline-offset:3px;-webkit-text-decoration:underline #cdb8e6;text-decoration:underline #cdb8e6}.desktop .envelope-cells{display:contents}.desktop .envelope-cells .cell{text-align:end;align-items:flex-end;padding:5px 8px}.desktop .envelope-cells:not(.two) .cell-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.desktop .envelope-cells .cell .money,.desktop .envelope-cells .cell.editing input{text-align:end;font-size:13.5px}.desktop button.cell:hover{box-shadow:inset 0 0 0 1px #cdb8e6}.desktop .envelope-cells.two{grid-column:2/5;grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.desktop .envelope-cells.two .cell{flex-direction:row;justify-content:space-between;align-items:baseline;gap:.375rem}.desktop .envelope-left{text-align:end;grid-column:5;margin:0}.desktop button.envelope-left{justify-self:end;padding:4px 8px}.desktop .envelope-remaining{font-size:18px}.desktop .envelope-extra{grid-column:2/6;justify-content:flex-end}.desktop .envelope>.error-message{grid-column:1/-1}.desktop .envelope-table>.unused-toggle{border-block-start:1px solid var(--bb-purple-line);margin:0;padding:.625rem 1rem}.month-summary{gap:1rem;display:grid}.month-summary h2{margin:0;font-size:1.125rem;font-weight:800}.summary-stats{grid-template-columns:1fr 1fr;gap:.5rem;margin:0;display:grid}.summary-stat{background:#f6f3fa;border-radius:.75rem;gap:2px;padding:.625rem .75rem;display:grid}.summary-stat dt{color:var(--bb-muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.summary-stat dd{margin:0;font-size:1.1875rem;font-weight:800}.summary-stat.income dd{color:var(--bb-income,#1f6b42)}.summary-stat.saved{color:#fff;background:var(--bb-purple)}.summary-stat.saved dt{color:#e3d6f2}.watch-list h3{color:var(--bb-muted);margin:0 0 .25rem;font-size:.8125rem;font-weight:700}.watch-list ul{margin:0;padding:0;list-style:none}.watch-list button{border:0;border-block-end:1px solid var(--bb-row-line);min-block-size:2.375rem;inline-size:100%;color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border-radius:.375rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.25rem .375rem;font-size:.875rem;display:flex}.watch-list button:hover{background:var(--bb-purple-tint)}.watch-list strong{color:var(--bb-over);white-space:nowrap}.panel-hint{color:var(--bb-muted);text-align:center;border:1px dashed #cdb8e6;border-radius:.75rem;margin:0;padding:.75rem .875rem;font-size:.8125rem}.panel-edit{gap:.5rem;display:grid}.panel-back{justify-self:start}.activity-band{z-index:6;min-block-size:var(--desktop-band);background:var(--bb-purple);border-radius:0 0 .875rem .875rem;align-items:center;gap:1rem;padding:0 1rem;display:flex;position:sticky;inset-block-start:0}.activity-band .budget-month{background:0 0;gap:.25rem;padding:0}.activity-band .budget-month span{text-align:center;min-inline-size:11.5em}.activity-band .budget-month a:hover{background:#ffffff1f}.desktop .activity-page>.activity-notice{margin:var(--desktop-gap) 0 0}.activity-work{padding-block:var(--desktop-gap) 2.5rem;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1.25rem;display:grid}.activity-table{border:1px solid var(--border);background:var(--surface);border-radius:.875rem;overflow:clip;box-shadow:0 6px 20px #4b2a680f}.desktop :is(.budget-page,.activity-page)>.card-debt{margin:calc(var(--desktop-gap) + 6px) 0}.desktop .activity-grid{grid-template-columns:22px 16px minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr) 7rem;column-gap:.75rem}.desktop .selection-bar{padding-block:6px;inset-block-start:var(--desktop-band)}.desktop .activity-item:hover{background:#fbf9fd}.desktop .activity-item.selected{box-shadow:inset 4px 0 0 var(--bb-purple);background:#f6f1fb}.desktop .activity-item.checked{background:var(--bb-checked)}.desktop .activity-who:hover .activity-payee{text-underline-offset:3px;-webkit-text-decoration:underline #cdb8e6;text-decoration:underline #cdb8e6}.activity-memo{color:var(--bb-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.side-panel .activity-review{box-shadow:none;border:0;padding:0}.side-panel .activity-review .secondary-button{inline-size:100%;margin-block-start:.5rem}.activity-new-row{border-block-end:2px solid var(--bb-purple);background:#fcfafe;padding:.75rem 1rem 1rem}.transaction-form .form-actions{display:contents}.row-layout{flex-wrap:wrap;align-items:flex-end;gap:.625rem .75rem;display:flex}.row-layout>*{flex:9rem;min-inline-size:0}.row-layout .section-heading{flex-basis:100%;margin:0}.row-layout .section-heading h2{font-size:.9375rem}.row-layout .field-direction{flex:0 0 11rem}.row-layout .field-amount{flex:0 0 7rem}.row-layout .field-payee,.row-layout .field-envelope{flex:1.5 11rem}.row-layout .field-date{flex:0 0 9.5rem}.row-layout .split,.row-layout .field-note,.row-layout .error-message{flex-basis:100%}.row-layout .field input,.row-layout .field select{min-block-size:2.375rem;padding-block:.375rem;font-size:.9375rem}.row-layout .form-actions{flex-basis:100%;justify-content:flex-end;gap:.5rem;display:flex}.row-layout .form-actions button{inline-size:auto;margin:0;padding:.55rem 1.25rem}.activity-new-row .cover-card{max-inline-size:36rem}.desktop .settings-page{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1rem;max-inline-size:100rem;margin-inline:auto}.desktop .settings-page>.page-heading,.desktop .settings-page>.settings-wide{grid-column:1/-1}@media (width<=74.99rem){:root{--env-cols:minmax(8rem, 1fr) repeat(3, 5.25rem) 6.25rem 2.25rem}.app-shell.desktop>.page-content{padding-inline:1rem}.budget-work{gap:1rem}.sidebar{align-items:center;inline-size:4.5rem;padding-inline:.625rem}.sidebar .nav-label,.sidebar .brand span,.sidebar .app-version{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.sidebar .sidebar-brand{padding:0}.sidebar .sidebar-nav a,.sidebar .sidebar-install{justify-content:center;inline-size:3rem;padding:0}.sidebar .sidebar-add{border-radius:50%;block-size:3rem;inline-size:3rem}.sidebar .sidebar-household,.sidebar .sidebar-toggle,.sidebar .sidebar-accounts{display:none}.budget-band .assign-card{min-inline-size:0}}.desktop .envelope-name{overflow-wrap:break-word}.account-list{background:var(--surface)}.account-group-heading{min-block-size:2.25rem;padding-inline:16px}.account-group-heading h2{color:var(--bb-purple);letter-spacing:.1em;text-transform:uppercase;font-size:12px;font-weight:800}.account-rows{margin:0;padding:0;list-style:none}.account-row{border-block-end:1px solid var(--bb-row-line);min-block-size:3rem;color:var(--bb-ink);justify-content:space-between;align-items:center;gap:1rem;padding:8px 16px;text-decoration:none;display:flex}.account-row:hover{background:var(--bb-day-bg)}.account-row-name{overflow-wrap:anywhere;flex-direction:column;min-inline-size:0;font-size:15px;font-weight:800;display:flex}.account-row-name small{font-size:12px;font-weight:700}.account-row-balance{font-variant-numeric:tabular-nums;flex:none;font-size:20px;font-weight:800}.account-row-balance.negative{color:var(--bb-spend)}.all-accounts-row{border-block-end:0}.account-list .activity-in{color:var(--bb-income)}.account-list .activity-out{color:var(--bb-spend)}.account-list>.unused-toggle{min-block-size:2.75rem;inline-size:100%;display:block}.account-sticky{z-index:5;position:sticky;inset-block-start:0}.account-sticky .selection-bar{position:static}.account-pane{border-block-end:1px solid var(--bb-purple-line);background:var(--bb-purple-tint);padding:12px 16px}.account-pane-head{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem;align-items:center;gap:10px;margin:-4px -4px 8px;display:grid}.account-pane-head h2{color:var(--bb-purple);overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:800}.account-closed-tag{color:var(--bb-muted);background:var(--surface);vertical-align:middle;border-radius:999px;margin-inline-start:.5rem;padding:1px 8px;font-size:11px}.pane-icon-button{block-size:2.75rem;inline-size:2.75rem;color:var(--bb-purple);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.pane-icon-button:hover{background:#4b2a6814}.pane-back{color:#fff;background:var(--bb-purple);box-shadow:0 2px 6px #4b2a684d}.pane-back:hover{background:#5d3780}.pane-back svg{stroke-width:2.6px;block-size:22px;inline-size:22px}.pane-icon-button svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;block-size:20px;inline-size:20px}.account-figures{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.account-figures.folded{display:block}.account-figures.folded .account-figure{flex-direction:row;justify-content:space-between;align-items:baseline;gap:8px}.account-figure{flex-direction:column;min-inline-size:0;display:flex}.account-figure dt{color:var(--bb-muted);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800}.account-figure dd{color:var(--bb-ink);white-space:nowrap;margin:0;font-size:15px;font-weight:800}.account-figure.in dd{color:var(--bb-income)}.account-figure.out dd{color:var(--bb-spend)}.account-pane .activity-totals{background:0 0;border:0;padding:0}.account-actions{flex-wrap:wrap;gap:8px;margin-block-start:10px;display:flex}.pane-action{border:1px solid var(--bb-purple-line);min-block-size:2.25rem;color:var(--bb-purple);background:var(--surface);font:inherit;cursor:pointer;border-radius:999px;padding:0 14px;font-size:13px;font-weight:800}.activity-month-head{border-block-end:1px solid var(--bb-purple-line);color:var(--bb-purple);background:var(--bb-purple-tint);letter-spacing:.1em;text-transform:uppercase;margin:0;padding:10px 16px 6px;font-size:12px;font-weight:800}.show-more{border:0;border-block-start:1px solid var(--bb-row-line);min-block-size:2.75rem;inline-size:100%;color:var(--bb-purple);background:var(--bb-day-bg);font:inherit;cursor:pointer;font-weight:800;display:block}.show-more:hover{background:var(--bb-purple-tint)}.desktop .account-sticky{inset-block-start:var(--desktop-band)}.envelope-picker,.picker-box{position:relative}.envelope-picker input{inline-size:100%;min-inline-size:0}.picker-box>.picker-detail{pointer-events:none;align-items:center;display:flex;position:absolute;inset-block:0;inset-inline-end:.7rem}.picker-detail{color:var(--text-muted);white-space:nowrap;font-size:.75rem;font-weight:600}.picker-list{z-index:20;border:1px solid var(--border);max-block-size:16rem;color:var(--text);background:var(--surface);box-shadow:var(--shadow);border-radius:.75rem;margin:0;padding:.3rem 0;list-style:none;position:absolute;inset-block-start:calc(100% + 4px);inset-inline:0;overflow-y:auto}.split-envelope .picker-list,.row-layout .picker-list{min-inline-size:16rem}.picker-group{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;padding:.45rem .8rem .2rem;font-size:.7rem;font-weight:800}.picker-option{cursor:pointer;justify-content:space-between;align-items:center;gap:.75rem;min-block-size:2.5rem;padding:.35rem .8rem;font-size:.9rem;font-weight:600;display:flex}.picker-option[aria-selected=true]{background:var(--brand-light)}.picker-option.chosen .picker-name{color:var(--brand);font-weight:800}.picker-option[aria-disabled=true]{color:var(--text-muted);cursor:default;opacity:.6}.picker-empty{color:var(--text-muted);padding:.6rem .8rem;font-size:.85rem}.split-envelope input{border:1px solid var(--border);min-block-size:2.6rem;font:inherit;border-radius:.6rem;padding:.55rem .6rem}.assign-sheet{overflow:visible}.assign-form-note{color:var(--text-muted);margin:0;font-size:.85rem}.assign-form-note .money{color:#1f6b42;font-weight:800}.assign-form-note.over .money{color:#b3261e}.assign-form-actions{flex-direction:column;align-items:center;gap:.35rem;display:flex}.assign-form-actions .text-button{font-size:.95rem}.number-pad{inline-size:min(100%,30rem);max-inline-size:100%;color:var(--text);background:var(--surface);border:0;border-radius:1.25rem 1.25rem 0 0;margin:auto auto 0;padding:0;animation:.15s ease-out sheet-rise;box-shadow:0 -8px 30px #281a3533}.number-pad::backdrop{background:#281a351f}.pad-inner{padding:.6rem .75rem calc(.75rem + env(safe-area-inset-bottom));gap:.5rem;display:grid}.pad-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.pad-title{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.8rem;font-weight:800}.pad-display{background:var(--bb-purple-tint);font-variant-numeric:tabular-nums;border-radius:.75rem;flex-wrap:wrap;justify-content:flex-end;align-items:baseline;gap:.25rem .6rem;margin:0;padding:.5rem .75rem;display:flex}.pad-typed{overflow-wrap:anywhere;font-size:1.5rem;font-weight:800}.pad-result{color:var(--bb-purple);font-size:1.1rem;font-weight:800}.pad-keys{grid-template-columns:repeat(4,1fr);gap:.4rem;display:grid}.pad-key{min-block-size:3.25rem;color:var(--bb-ink);background:var(--bb-grey-cell);font:inherit;cursor:pointer;border:0;border-radius:.75rem;font-size:1.35rem;font-weight:700}.pad-key:active{filter:brightness(.92)}.pad-key.op{color:var(--bb-purple);background:var(--bb-purple-tint);font-size:1.5rem}.pad-key.assign{color:#fff;background:#1f7a45;grid-column:span 2;font-size:1.1rem;font-weight:800}.pad-key.assign:disabled{opacity:.5;cursor:default}.pad-equation{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.pad-field{font:inherit;text-align:start;cursor:pointer;border:0}.pad-field.editing{box-shadow:inset 0 0 0 2px var(--bb-purple)}.update-banner{z-index:40;border:2px solid var(--brand);inline-size:min(100% - 2rem,28rem);color:var(--text);background:var(--surface);border-radius:1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.75rem .85rem .75rem 1rem;display:flex;position:fixed;inset-block-start:max(.75rem, env(safe-area-inset-top));inset-inline-start:50%;transform:translate(-50%);box-shadow:0 .75rem 2rem #281a3559}.update-banner p{flex:12rem;margin:0;font-size:.9rem;font-weight:650;line-height:1.35}.update-banner-actions{gap:.5rem;margin-inline-start:auto;display:flex}.update-banner button{cursor:pointer;border-radius:.7rem;padding:.5rem .9rem;font-weight:750}.update-later{border:1px solid var(--border);color:var(--brand);background:var(--surface)}.update-refresh{color:#fff;background:var(--brand);border:0}.tx-search{border-block-end:1px solid var(--bb-purple-line);background:var(--bb-purple-tint);padding:10px 16px 0}.tx-search-row{align-items:flex-start;gap:8px;display:flex}.tx-search-field{flex:1;min-inline-size:0}.tx-search-box{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:6px;min-block-size:2.75rem;padding:4px 8px 4px 10px;display:flex}.tx-search-box:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-light)}.tx-search-glyph{color:var(--bb-muted);flex:none;display:flex}.tx-search-glyph svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;block-size:18px;inline-size:18px}.tx-search-field input{min-inline-size:7rem;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:.5rem 0}.tx-search-field input::-webkit-search-cancel-button{display:none}.tx-search-chip{color:#fff;background:var(--bb-purple);max-inline-size:100%;font:inherit;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border:0;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex;overflow:hidden}.tx-search-clear{block-size:2rem;inline-size:2rem;color:var(--bb-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;flex:none}.tx-search-clear:hover{background:var(--bb-grey-cell)}.tx-search-text .picker-name{color:var(--brand);font-weight:700}.tx-sort select{border:1px solid var(--border);block-size:2.75rem;max-inline-size:9.5rem;color:var(--text);background:var(--surface);font:inherit;border-radius:.75rem;padding:0 .5rem;font-size:.85rem}.tx-search-summary{color:var(--bb-muted);font-variant-numeric:tabular-nums;margin:0;padding:6px 2px 8px;font-size:13px;font-weight:600}.tx-search-summary:empty{padding:0 0 10px}.activity-portion.match{background:var(--bb-purple-tint)}.activity-portion.match .portion-envelope,.activity-portion.match .portion-memo{color:var(--bb-purple);font-weight:700}.fixed-account{margin:0}.fixed-account strong{color:var(--text);font-size:1rem;font-weight:750}
