@font-face{font-family:Bebas Neue;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bebas-neue-latin-400-normal-9mHNbWWO.woff2) format("woff2"),url(/assets/bebas-neue-latin-400-normal-Bi-ndsyu.woff) format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2) format("woff2"),url(/assets/fredoka-latin-500-normal-BL692wg7.woff) format("woff")}@font-face{font-family:Mali;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/mali-latin-500-normal-B01M-LP6.woff2) format("woff2"),url(/assets/mali-latin-500-normal-Thgqw_9f.woff) format("woff")}@font-face{font-family:Satisfy;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/satisfy-latin-400-normal-CIU_tGU7.woff2) format("woff2"),url(/assets/satisfy-latin-400-normal-ez4YC6jz.woff) format("woff")}@font-face{font-family:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-400-normal-YjDd9tmf.woff2) format("woff2"),url(/assets/special-elite-latin-400-normal-BtSRmyJ6.woff) format("woff")}@font-face{font-family:Grandstander;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/grandstander-latin-500-normal-CN115CDG.woff2) format("woff2"),url(/assets/grandstander-latin-500-normal-DW5-3QoC.woff) format("woff")}@font-face{font-family:Bubblegum Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bubblegum-sans-latin-400-normal-BXy4BlRP.woff2) format("woff2"),url(/assets/bubblegum-sans-latin-400-normal-CE2wf8zX.woff) format("woff")}@font-face{font-family:Chewy;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/chewy-latin-400-normal-BFhrjfYU.woff2) format("woff2"),url(/assets/chewy-latin-400-normal-Bytuav8a.woff) format("woff")}@font-face{font-family:Borel;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/borel-latin-400-normal-DselvD1e.woff2) format("woff2"),url(/assets/borel-latin-400-normal-DX7VmId3.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/playfair-display-latin-500-normal-DIxvyhka.woff2) format("woff2"),url(/assets/playfair-display-latin-500-normal-BScSeVwi.woff) format("woff")}@font-face{font-family:Libre Baskerville;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/libre-baskerville-latin-400-normal-C42RasBZ.woff2) format("woff2"),url(/assets/libre-baskerville-latin-400-normal-BTm3cn9P.woff) format("woff")}@font-face{font-family:Schoolbell;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/schoolbell-latin-400-normal-D_Z2-wWK.woff2) format("woff2"),url(/assets/schoolbell-latin-400-normal-C8qtHTDx.woff) format("woff")}@font-face{font-family:Allura;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/allura-latin-400-normal-4sUZKTf1.woff2) format("woff2"),url(/assets/allura-latin-400-normal-DcxZAN6k.woff) format("woff")}@font-face{font-family:Shadows Into Light;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/shadows-into-light-latin-400-normal-DLUEKdH9.woff2) format("woff2"),url(/assets/shadows-into-light-latin-400-normal-C6MG6Ljx.woff) format("woff")}@font-face{font-family:UnifrakturCook;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/unifrakturcook-latin-700-normal-Hw99rxGi.woff2) format("woff2"),url(/assets/unifrakturcook-latin-700-normal-D9FREbri.woff) format("woff")}.sage-tip{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr) 32px;gap:12px;width:min(440px,100%);box-sizing:border-box;margin:16px 0 20px auto;padding:16px 12px 10px 16px;border:1px solid #d0dbcf;border:1px solid oklch(from #d0dbcf l c var(--haven-style-hue, h));border-radius:8px;background:#fbfaf3;color:#263e35;color:oklch(from #263e35 l c var(--haven-style-hue, h));box-shadow:0 8px 28px #233e3514;animation:sage-arrive .25s ease-out}.sage-avatar{width:56px;height:56px;object-fit:cover;border-radius:50%;border:1px solid #cfbe8e}.sage-byline{color:#536c5c;color:oklch(from #536c5c l c var(--haven-style-hue, h));font-size:.7rem}.sage-copy{min-width:0;overflow-wrap:anywhere}.sage-copy h3{font-family:var(--haven-display-font);font-size:1.12rem;line-height:1.3;margin:3px 0 7px;font-weight:500}.sage-copy p{font-size:.83rem;line-height:1.5;margin:0;color:inherit}.sage-tip [role=status]{color:inherit}.sage-tip .sage-dismiss{background:transparent;color:inherit;min-width:44px;width:44px;height:44px;min-height:44px;padding:0;position:relative;right:8px;top:-8px}.sage-tip .sage-action{min-height:44px;padding:8px 0;justify-content:flex-start;background:transparent;color:#275744;color:oklch(from #275744 l c var(--haven-style-hue, h));font-size:.8rem;gap:8px}.sage-mute{display:flex;align-items:center;gap:8px;min-height:44px;font-size:.68rem;line-height:1.4;color:#536458;color:oklch(from #536458 l c var(--haven-style-hue, h));cursor:pointer}.sage-mute input,.sage-setting-row input{width:18px;height:18px;min-height:18px;flex:0 0 18px;accent-color:#42674d;accent-color:oklch(from #42674d l c var(--haven-style-hue, h))}.sage-tip :focus-visible,.sage-settings :focus-visible{outline:3px solid #8b6e31;outline-offset:3px}.sage-settings{padding-block:18px;border-bottom:1px solid #ccd8cf;border-bottom:1px solid oklch(from #ccd8cf l c var(--haven-style-hue, h))}.sage-setting-row{display:flex;align-items:center;gap:12px;min-height:52px;font-size:.88rem}.sage-setting-row>span{margin-right:auto}.sage-setting-row select{width:auto;max-width:55%;min-height:44px;font-size:.85rem}.sage-setting-row strong{min-width:24px;font-size:.8rem}.retreat-dashboard>.sage-tip{margin-right:20px}@media(min-width:1000px){.retreat-dashboard>.sage-tip{position:fixed;right:20px;bottom:20px;z-index:9;margin:0}.retreat-dashboard:has(>.sage-tip){padding-bottom:230px}}[data-theme=dark] .sage-tip{color:#e4ece1;color:oklch(from #e4ece1 l c var(--haven-style-hue, h));background:#252f28;background:oklch(from #252f28 l c var(--haven-style-hue, h));border-color:#50604e;border-color:oklch(from #50604e l c var(--haven-style-hue, h));box-shadow:0 8px 28px #0003}[data-theme=dark] .sage-tip [role=status]{color:#e4ece1;color:oklch(from #e4ece1 l c var(--haven-style-hue, h))}[data-theme=dark] .sage-byline,[data-theme=dark] .sage-mute{color:#bfccb9;color:oklch(from #bfccb9 l c var(--haven-style-hue, h))}[data-theme=dark] .sage-tip .sage-action{color:#d4dfbd}@keyframes sage-arrive{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:599px){.sage-tip{grid-template-columns:40px minmax(0,1fr) 28px;gap:8px;padding:12px 8px 6px 12px;margin:10px auto}.sage-avatar{width:40px;height:40px}.sage-copy h3{font-size:1rem}.sage-copy p{font-size:.78rem}.retreat-dashboard>.sage-tip{width:calc(100% - 24px);margin:12px}}@media(prefers-reduced-motion:reduce){.sage-tip{animation:none}}.companion-tip-avatar{object-fit:contain;background:#f6f2e6}span.companion-tip-avatar,.first-run-icon,.ask-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#eef4ee;background:oklch(from #eef4ee l c var(--haven-style-hue, h));color:#2f5d4f;color:oklch(from #2f5d4f l c var(--haven-style-hue, h));font-size:1.5rem}.paid-off-prompt{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:8px 0;padding:10px 12px;border:1px solid #b9d8c6;border-radius:10px;background:#edf7f1;color:#24433a}.paid-off-prompt>svg{flex:0 0 auto;color:#2f7a55}.paid-off-prompt>span:first-of-type{display:grid;gap:2px;flex:1 1 200px;min-width:0}.paid-off-prompt small{color:var(--haven-muted, #55655e)}.paid-off-prompt-actions{display:flex;flex-wrap:wrap;gap:8px}.paid-off-prompt-actions button{min-height:44px}.paid-off-prompt.is-compact{margin:4px 0 10px}.resource-list>li>.paid-off-prompt{flex-basis:100%}.close-account-dialog{display:grid;gap:8px;border-block-color:var(--haven-style-line, #bfd0c7)}.close-account-dialog p{margin:0}.close-account-dialog>div{display:grid;gap:8px}.close-account-dialog .form-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}.close-account-dialog .form-actions button{display:inline-flex;align-items:center;gap:6px;min-height:44px}.close-account-balance{padding:8px 10px;border-left:3px solid #b98a3c;border-radius:6px;background:#b98a3c1a}.close-account-blocked{padding:8px 10px;border-left:3px solid #b34a55;border-radius:6px;background:#b34a5514}.close-account-toast button{display:inline-flex;align-items:center;gap:6px}.close-account-message{margin:6px 0}.closed-accounts{display:grid;gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid var(--haven-style-line, #bfd0c7)}.closed-accounts-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.closed-accounts-heading h2{margin:0;font-size:1.1rem}.closed-accounts-note{margin:0;color:var(--haven-muted, #55655e);font-size:.92rem}.closed-accounts>p[role=status]{margin:0}.closed-accounts-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.closed-accounts-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 12px;border:1px dashed var(--haven-style-line, #bfd0c7);border-radius:10px}.closed-accounts-list li>span{display:grid;gap:2px;min-width:0;flex:1 1 180px}.closed-accounts-list strong{overflow-wrap:anywhere}.closed-accounts-list small{color:var(--haven-muted, #55655e)}.closed-accounts-list button{display:inline-flex;align-items:center;gap:6px;min-height:44px}.account-close-action{display:inline-flex;align-items:center;gap:6px}[data-theme=dark] .paid-off-prompt{border-color:#3f6a55;background:#1f3a2c;color:#e3f1e8}[data-theme=dark] .paid-off-prompt>svg{color:#9fd8b5}[data-theme=dark] .paid-off-prompt small,[data-theme=dark] .closed-accounts-note,[data-theme=dark] .closed-accounts-list small{color:#b7c8c0}[data-theme=dark] .close-account-balance{background:#3a3020;color:#f3dfb6;border-left-color:#d9a54c}[data-theme=dark] .close-account-blocked{background:#3a2226;color:#f5c9ce;border-left-color:#e07a85}[data-theme=dark] .closed-accounts,[data-theme=dark] .closed-accounts-list li{border-color:#3f5048}.debt-paid-off .paid-off-prompt{flex-basis:100%}.debt-paid-off .paid-off-prompt span{margin-top:0;color:inherit;font-size:inherit}.debt-paid-off .paid-off-prompt>span:first-of-type{display:grid}.debt-paid-off .paid-off-prompt-actions{display:flex}.debt-paid-off .paid-off-prompt small{font-size:.85rem}.autopay-review button{min-height:44px}.autopay-review li>span:first-child{flex:1 1 14rem}.autopay-review .bill-check-in-actions{flex-wrap:wrap}.payday-refused-notice ul{margin:6px 0;padding-left:20px}.payday-refused-notice .payday-refused-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 0;font-size:.85rem}.payday-refused-notice .payday-refused-note button{display:inline-flex;align-items:center;gap:6px;min-height:40px}.late-deposit{display:grid;gap:8px;width:min(1100px,calc(100% - 24px));margin:16px auto 0;padding:12px 14px;border:1px solid #d9d0b0;border-radius:10px;background:#fbf8ec;color:#3a3524;box-sizing:border-box}.late-deposit h3{display:flex;align-items:center;gap:8px;margin:0;font-size:.95rem}.late-deposit p{margin:0;font-size:.8rem}.late-deposit ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.late-deposit li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid #ebe3c6}.late-deposit li>span:first-child{display:grid;gap:2px;min-width:0}.late-deposit li strong{font-size:.85rem;overflow-wrap:anywhere}.late-deposit li small{color:#675f45;font-size:.75rem}.late-deposit-actions{display:flex;flex-wrap:wrap;gap:6px}.late-deposit-actions button{min-height:44px;padding:6px 14px}.late-deposit-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px;width:100%}.late-deposit-form label{display:grid;gap:4px;min-width:140px;flex:1 1 140px;font-size:.75rem}.late-deposit-form input,.late-deposit-done .link-button{min-height:44px}[data-theme=dark] .late-deposit{background:#29271b;border-color:#58512f;color:#f1ead3}[data-theme=dark] .late-deposit li{border-color:#464029}[data-theme=dark] .late-deposit li small{color:#d8cfae}.payday-banner{width:min(1100px,calc(100% - 24px));margin:16px auto 0;box-sizing:border-box}.payday-banner ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.payday-banner button{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:10px 14px;border:1px solid #b9d3c3;border-radius:10px;background:#eef6f0;color:#1f3a31;font-weight:600;text-align:left}.payday-banner button span{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.payday-banner button:hover{background:#e2efe6}[data-theme=dark] .payday-banner button{background:#1f3129;border-color:#3d5a4b;color:#e6f2ea}[data-theme=dark] .payday-banner button:hover{background:#26392f}.short-paycheck-notice button{border-color:#e0c58f;background:#fbf5e6;color:#4a3a12}.short-paycheck-notice button:hover{background:#f6eed8}.short-paycheck-notice button b{white-space:nowrap;text-decoration:underline;text-underline-offset:2px}[data-theme=dark] .short-paycheck-notice button{background:#2e2817;border-color:#6b5a2c;color:#f3e9cf}[data-theme=dark] .short-paycheck-notice button:hover{background:#352e1b}.faq-settings{display:grid;gap:10px;padding:4px 0 24px}.faq-settings h2{margin:0;font-size:1.15rem}.faq-settings h3{margin:14px 0 4px;font-size:.95rem;color:var(--haven-muted, #55655e);text-transform:uppercase;letter-spacing:.04em}.faq-intro{margin:0;color:var(--haven-muted, #55655e)}.faq-search{display:flex;align-items:center;gap:8px;max-width:560px;padding:0 10px;border:1px solid var(--haven-style-line, #bfd0c7);border-radius:10px;background:#fff}.faq-search input{flex:1;min-width:0;min-height:44px;border:0;background:transparent;font-size:.95rem}.faq-search input:focus{outline:none}.faq-search:focus-within{box-shadow:0 0 0 2px var(--haven-style-accent, #315d54)}.faq-group{display:grid;gap:4px}.faq-entry{border-bottom:1px solid var(--haven-hairline, #e3e7ee)}.faq-entry>summary{display:flex;align-items:center;min-height:44px;padding:6px 0;cursor:pointer;font-weight:700;list-style:none}.faq-entry>summary::-webkit-details-marker{display:none}.faq-entry>summary:before{content:"›";display:inline-block;width:18px;color:var(--haven-style-accent, #315d54);transition:transform .15s}.faq-entry[open]>summary:before{transform:rotate(90deg)}.faq-entry>p{margin:0 0 10px 18px;max-width:70ch;line-height:1.5}.faq-entry>button{margin:0 0 12px 18px}.faq-none{color:var(--haven-muted, #55655e)}[data-theme=dark] .faq-search{background:#1f2a2d;border-color:#3a4a47}[data-theme=dark] .faq-entry{border-color:#34434d}html.is-scroll-locked,html.is-scroll-locked body{overscroll-behavior:none}.phone-sheet-layer{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--vv-height, 100dvh);z-index:80;display:flex;flex-direction:column;justify-content:flex-end}.phone-sheet-scrim{position:absolute;inset:0;background:#162a2257;touch-action:none}.phone-sheet{position:relative;container-type:inline-size;display:flex;flex-direction:column;width:100%;height:100%;max-height:100%;min-height:0;color:#213a31;color:oklch(from #213a31 l c var(--haven-style-hue, h));background:#fbfaf3;background:oklch(from #fbfaf3 l c var(--haven-style-hue, h))}.phone-sheet:focus{outline:none}.phone-sheet-head{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid #e1e8e3;border-bottom:1px solid oklch(from #e1e8e3 l c var(--haven-style-hue, h))}.phone-sheet-head h2{flex:1;min-width:0;margin:0;font:400 1.3rem/1.25 var(--haven-display-font, Georgia, serif);overflow-wrap:anywhere}.phone-sheet-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-block:8px calc(80px + env(safe-area-inset-bottom))}.phone-sheet-body>.entry-form{margin:0;padding:14px 16px 0;border:0;grid-template-columns:minmax(0,1fr)}.phone-sheet-body>.entry-form>*{grid-column:1 / -1}.phone-sheet .entry-form>.form-actions{position:sticky;bottom:0;z-index:2;margin:4px -16px 0;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:inherit;background:#fbfaf3;background:oklch(from #fbfaf3 l c var(--haven-style-hue, h));border-top:1px solid #e1e8e3;border-top:1px solid oklch(from #e1e8e3 l c var(--haven-style-hue, h));box-shadow:0 -6px 14px #162a220f}.phone-sheet .entry-form>.form-actions button{flex:1 1 0;min-height:48px}html.is-keyboard-open .phone-sheet .entry-form>.form-actions{padding-bottom:10px}[data-theme=dark] .phone-sheet,[data-theme=dark] .phone-sheet .entry-form>.form-actions{color:#e8eee8;color:oklch(from #e8eee8 l c var(--haven-style-hue, h));background:#242d27;background:oklch(from #242d27 l c var(--haven-style-hue, h))}[data-theme=dark] .phone-sheet-head,[data-theme=dark] .phone-sheet .entry-form>.form-actions{border-color:#3d4b42}@media(prefers-reduced-motion:no-preference){.phone-sheet{animation:phone-sheet-up .18s ease-out}}@keyframes phone-sheet-up{0%{transform:translateY(24px);opacity:.6}}@media(max-width:719px){html .assistant-scrim{inset:auto 0;top:var(--vv-top, 0px);height:var(--vv-height, 100dvh);overscroll-behavior:contain}html .quick-add-panel{max-height:min(90dvh,calc(var(--vv-height, 100dvh) - 12px));overscroll-behavior:contain}.quick-add-panel .assistant-confirm-actions{position:sticky;bottom:-18px;z-index:2;padding-block:10px 28px;margin-bottom:-18px;background:inherit;background:#fbfaf3;background:oklch(from #fbfaf3 l c var(--haven-style-hue, h));border-top:1px solid #e1e8e3}[data-theme=dark] .quick-add-panel .assistant-confirm-actions{background:#242d27;background:oklch(from #242d27 l c var(--haven-style-hue, h));border-color:#3d4b42}}html .paychecks-sheet-layer{inset:auto 0;top:var(--vv-top, 0px);height:var(--vv-height, 100dvh)}html .paychecks-sheet-slot.is-bottom{max-height:min(90dvh,calc(var(--vv-height, 100dvh) - 12px))}html .paycheck-sheet-bottom{bottom:var(--keyboard-inset, 0px);max-height:min(90dvh,calc(var(--vv-height, 100dvh) - 12px))}.confirm-identity-scrim{overscroll-behavior:contain}.category-hint{display:block;min-height:0;color:var(--retreat-muted, #546962);font-size:.82rem;font-weight:600;line-height:1.35}.category-hint:empty{display:none}.category-combobox{display:grid;gap:6px;min-width:0}.category-combobox>label{font-weight:700}.category-combobox-field{position:relative;display:flex;gap:8px;min-width:0}.category-combobox-field input{box-sizing:border-box;flex:1 1 auto;width:100%;min-width:0;min-height:44px;padding:8px 12px;font:inherit;font-weight:400}.category-combobox-field>button{flex:0 0 auto;min-height:44px}.category-combobox [role=listbox]{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;max-height:min(320px,50vh);margin:0;padding:4px;overflow-y:auto;list-style:none;color:var(--retreat-ink, #18342f);background:var(--retreat-paper, #f7f9f6);border:1px solid var(--haven-style-line, #bfd0c7);border-radius:8px;box-shadow:0 10px 24px #14282229}.category-combobox [role=option]{display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px;border-radius:6px;cursor:pointer;overflow-wrap:anywhere}.category-combobox [role=option][aria-selected=true]{background:var(--haven-style-soft, #e7f0eb)}.category-combobox [role=option][data-create=true]{font-weight:700;color:var(--haven-style-accent, #315d54)}[data-theme=dark] .category-combobox [role=listbox]{background:#1d2723;color:#e6eee9;border-color:#3a4a43}[data-theme=dark] .category-combobox [role=option][aria-selected=true]{background:#2b3a33}[data-theme=dark] .category-combobox [role=option][data-create=true]{color:#a9d3c0}.pricing-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:14px;align-items:stretch}.pricing-card{box-sizing:border-box;display:grid;grid-template-rows:auto auto auto 1fr auto;gap:12px;min-width:0;padding:18px;color:inherit;background:color-mix(in srgb,currentColor 3%,transparent);border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:8px}.pricing-card>header{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pricing-card>header svg{flex:none;opacity:.8}.pricing-card>header :is(h2,h3){margin:0;color:inherit;font-family:var(--haven-display-font);font-size:1.35rem;font-weight:400;line-height:1.2}.pricing-badge{margin-left:auto;padding:3px 9px;color:#17352f;background:#e3eee8;border-radius:999px;font-size:.75rem;font-weight:800;letter-spacing:.02em;white-space:nowrap}.pricing-soon{color:#fff;background:#285c51}.pricing-card .pricing-summary{margin:0;font-weight:700;line-height:1.4}.pricing-prices{display:grid;gap:10px;margin:0}.pricing-price-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;align-items:baseline;padding-top:10px;border-top:1px solid color-mix(in srgb,currentColor 12%,transparent)}.pricing-price-row dt{display:grid;gap:1px;font-weight:700}.pricing-price-row dd{display:grid;justify-items:end;gap:1px;margin:0;text-align:right}.pricing-price-row dd strong{font-size:1.15rem}.pricing-price-row small{opacity:.78;font-size:.78rem;font-weight:500;line-height:1.35}.pricing-features{display:grid;align-content:start;gap:7px;margin:0;padding:0;list-style:none;font-size:.9rem;line-height:1.4}.pricing-features li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;align-items:start;padding:0}.pricing-features svg{margin-top:2px;opacity:.75}.pricing-action{display:grid;gap:8px}.pricing-cta{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;color:#fff;background:#285c51;border:1px solid transparent;border-radius:6px;font:inherit;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}.pricing-cta:focus-visible{outline:3px solid #8070ba;outline-offset:3px}.bank-sync-waitlist{display:grid;gap:8px}.bank-sync-waitlist button{width:100%}.bank-sync-waitlist-status{margin:0;font-weight:700;line-height:1.4}.bank-sync-waitlist-status:empty{display:none}.bank-sync-waitlist [role=alert]{margin:0}.pricing-early-adopter{margin:0;padding:10px 12px;background:color-mix(in srgb,currentColor 5%,transparent);border-radius:6px;line-height:1.4}.plan-subheading{margin:4px 0 0;font-size:1rem}.demo-pricing{display:grid;gap:10px;width:min(1100px,calc(100% - 32px));margin:24px auto 40px}.demo-pricing h2{margin:0;font-family:var(--haven-display-font);font-size:1.5rem;font-weight:400}.demo-pricing>p{margin:0;opacity:.8}.pricing-cta-note{display:block;margin-top:8px;font-size:.82rem;line-height:1.4;color:#5b6b66}.first-run-setup-kicker-label{text-transform:none;letter-spacing:0;font-weight:700}.first-run-setup-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:16px 0 18px;padding:0;list-style:none;counter-reset:none}.first-run-setup-steps li{display:grid;justify-items:start;gap:6px;min-width:0;padding-top:10px;color:var(--retreat-muted);font-size:.78rem;font-weight:700;border-top:6px solid var(--retreat-line);border-radius:3px 3px 0 0}.first-run-setup-steps li[data-complete=true],.first-run-setup-steps li[data-active=true]{border-top-color:var(--haven-style-accent)}.first-run-setup-steps li[data-active=true]{color:var(--retreat-ink)}.first-run-setup-step-dot{display:inline-grid;place-items:center;width:22px;height:22px;font-size:.72rem;color:var(--retreat-muted);background:var(--retreat-line);border-radius:50%}.first-run-setup-steps li[data-complete=true] .first-run-setup-step-dot,.first-run-setup-steps li[data-active=true] .first-run-setup-step-dot{color:#fff;background:var(--haven-style-accent)}.first-run-setup-step-name{overflow-wrap:anywhere;line-height:1.25}@media(max-width:520px){.first-run-setup-step-name{display:none}.first-run-setup-steps li[data-active=true] .first-run-setup-step-name{display:block}}.first-run-setup-form h2:focus,.first-run-setup-done h2:focus{outline:none}.first-run-setup-form h2:focus-visible,.first-run-setup-done h2:focus-visible{outline:2px solid var(--haven-style-accent);outline-offset:4px}.first-run-setup-done h2{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-size:1.2rem}.first-run-setup-form fieldset{display:grid;gap:12px;min-width:0;margin:0;padding:14px;border:1px solid var(--retreat-line);border-radius:8px}.first-run-setup-form legend{display:flex;align-items:center;gap:6px;padding:0 6px;font-weight:800}.first-run-setup-error{margin:0 0 12px;padding:10px 12px;color:#7a2a1f;background:#fbeae6;border-radius:6px}[data-theme=dark] .first-run-setup-error{color:#ffd9d1;background:#4a2620}.first-run-setup-saved{display:flex;align-items:center;gap:8px;margin:0;padding:12px 14px;color:var(--retreat-ink)!important;font-weight:700;background:var(--haven-style-soft);border-radius:8px}[data-theme=dark] .first-run-setup-saved{background:#243129}.first-run-setup-actions button{min-height:44px}.first-run-setup-notice{min-height:0;margin:0;font-weight:700;color:var(--haven-style-accent)!important}.first-run-setup-notice:empty{display:none}.first-run-setup-chips{display:flex;flex-wrap:wrap;gap:8px}.first-run-setup-chips button{min-height:44px;padding:8px 14px;border-radius:999px}.first-run-setup-chips button[aria-pressed=true]{color:#fff;background:var(--haven-style-accent);border-color:var(--haven-style-accent)}.first-run-setup-bill{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;align-items:end;padding:14px;border:1px solid var(--retreat-line);border-radius:8px}.first-run-setup-bill label{display:grid;gap:6px;min-width:0;font-weight:700}.first-run-setup-bill input,.first-run-setup-bill select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px 12px;font-weight:400}.first-run-setup-bill-name{grid-column:1 / -1}.first-run-setup-add{min-height:44px}.first-run-setup-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.first-run-setup-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:2px 10px;padding:10px 12px;background:var(--haven-style-soft);border-radius:8px}.first-run-setup-list li>svg{color:var(--haven-style-accent)}.first-run-setup-list li>span{overflow-wrap:anywhere;font-weight:700}.first-run-setup-list li>small{grid-column:2 / -1;color:var(--retreat-muted)}[data-theme=dark] .first-run-setup-list li{background:#243129}.first-run-setup-list li:has(>button){grid-template-columns:auto minmax(0,1fr) auto 44px}.first-run-setup-list li>small{grid-column:2 / 4}.first-run-setup-list li>button{grid-column:4;grid-row:1 / span 2}.first-run-setup-total{margin:8px 0 0;color:var(--retreat-muted);font-size:.9rem}.first-run-setup-envelopes{display:grid;gap:8px;margin:0;padding:0;list-style:none}.first-run-setup-envelopes li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,150px) 44px;gap:8px;align-items:center}@media(max-width:479px){.first-run-setup-envelopes li{grid-template-columns:minmax(0,1fr) 132px 44px;gap:6px}.first-run-setup-envelopes .first-run-setup-envelope-name{padding-inline:10px}}.first-run-setup-envelopes input{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px 12px;font-weight:400}.first-run-setup-envelope-name{font-weight:700!important;border-radius:999px;background:var(--haven-style-soft);border:1px solid var(--haven-style-line)}[data-theme=dark] .first-run-setup-envelope-name{background:#243129;color:inherit}.first-run-setup-form .first-run-setup-money{position:relative;display:block}.first-run-setup-money>span[aria-hidden=true]:first-child{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--retreat-muted);font-weight:400;pointer-events:none}.first-run-setup-form .first-run-setup-money input{padding-left:24px;padding-right:38px}.first-run-setup-per{position:absolute;right:10px;top:50%;transform:translateY(-50%);color:var(--retreat-muted);font-size:.8rem;font-weight:400;pointer-events:none}.first-run-setup-total{margin:0;color:var(--retreat-muted);font-weight:700}.first-run-setup-form .first-run-setup-aside{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;min-height:44px;font-weight:600}.first-run-setup-form .first-run-setup-aside input{width:22px;margin:0}.first-run-setup-form .first-run-setup-aside>span{padding-top:11px}.first-run-setup-aside small{display:block;margin-top:2px;font-weight:400;color:var(--retreat-muted)}.first-run-setup-goal{padding:12px 14px;border:1px solid var(--retreat-line);border-radius:8px}.first-run-setup-goal[open]{display:grid;gap:12px}.first-run-setup-goal summary{display:flex;align-items:center;gap:8px;min-height:44px;font-weight:700;cursor:pointer}.first-run-setup-recap{display:grid;gap:4px}.flow-orientation{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;margin:0 0 16px;padding:16px 52px 16px 16px;color:var(--retreat-ink, #18342f);background:var(--haven-style-soft, #e7f0eb);border:1px solid var(--haven-style-line, #bfd0c7);border-radius:8px}.flow-orientation h3{margin:2px 0 6px;font-size:1.05rem}.flow-orientation ul{display:grid;gap:6px;margin:0 0 12px;padding-left:18px;line-height:1.45}.flow-orientation>div>button{min-height:44px}.flow-orientation-mark{display:inline-grid;place-items:center;width:36px;height:36px;color:var(--haven-style-accent, #315d54);background:#fff;border-radius:50%}.flow-orientation-close{position:absolute;top:6px;right:6px}[data-theme=dark] .flow-orientation{color:#e6eee9;background:#20302a;border-color:#3a4a43}[data-theme=dark] .flow-orientation-mark{background:#2b3a33;color:#a9d3c0}.first-run-setup-second{margin:4px 0 8px}.first-run-setup-second>summary{display:inline-flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;font-weight:600}.first-run-setup,.trial-ended{box-sizing:border-box;width:min(640px,calc(100% - 32px));margin:24px auto 40px;padding:clamp(18px,4vw,32px);color:var(--retreat-ink);background:var(--retreat-paper);border:1px solid var(--retreat-line);border-radius:8px}.first-run-setup>header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.first-run-setup>header>div{flex:1 1 200px;min-width:0}.first-run-setup h1,.trial-ended h1{margin:2px 0 0;font-family:var(--haven-display-font);font-size:clamp(1.5rem,4vw,2rem);line-height:1.2}.first-run-setup-mark,.trial-ended-mark{display:inline-grid;place-items:center;width:44px;height:44px;color:var(--haven-style-accent);background:var(--haven-style-soft);border-radius:50%}.first-run-setup-kicker{color:var(--retreat-muted);font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.first-run-setup-intro,.first-run-setup-form>p,.trial-ended p{color:var(--retreat-muted);line-height:1.5}.first-run-setup-progress{display:flex;gap:6px;margin:16px 0;padding:0;list-style:none}.first-run-setup-progress li{flex:1;height:6px;background:var(--retreat-line);border-radius:3px}.first-run-setup-progress li[data-complete=true],.first-run-setup-progress li[data-active=true]{background:var(--haven-style-accent)}.first-run-setup-form{display:grid;gap:14px}.first-run-setup-form h2{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-size:1.2rem}.first-run-setup-form>p{margin:0}.first-run-setup-form label{display:grid;gap:6px;font-weight:700}.first-run-setup-form input,.first-run-setup-form select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;padding:8px 12px;font-weight:400}.first-run-setup-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.first-run-setup-skip{min-height:44px;padding:8px 12px}.first-run-setup-done{display:grid;gap:12px;justify-items:start}.first-run-setup-done p,.first-run-setup-done ul{margin:0}.first-run-setup-done ul{padding-left:20px}.first-run-setup-result{display:grid;gap:4px;width:100%;margin-top:16px;padding:18px;background:var(--haven-style-soft);border-radius:8px}.first-run-setup-result span{font-weight:700}.first-run-setup-result strong{font-size:2.2rem}.first-run-setup-result small{color:var(--retreat-muted)}[data-theme=dark] .first-run-setup-result,[data-theme=dark] .first-run-setup-mark,[data-theme=dark] .trial-ended-mark{background:#243129;color:var(--retreat-ink)}.trial-ended{display:grid;gap:14px}.trial-ended h1,.trial-ended p{margin:0}.trial-ended .trial-ended-lede{color:var(--retreat-ink);font-size:1.15rem;font-weight:700}.trial-ended-intervals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.trial-ended-intervals button{display:grid;gap:2px;min-width:0;padding:8px;text-align:center}.trial-ended-intervals small{font-size:.72rem;font-weight:500}.trial-ended-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.trial-ended-plans button{justify-content:flex-start;min-width:0;min-height:64px;text-align:left}.trial-ended-plans button span{display:grid;gap:2px;min-width:0}.trial-ended-plans small{font-size:.8rem;font-weight:500}.trial-ended-fine{font-size:.85rem}.trial-ended-keep{display:flex;flex-wrap:wrap;gap:10px}.trial-ended-export{padding-top:6px;border-top:1px solid var(--retreat-line)}.trial-ended-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:12px 14px;color:#75343e;background:#f9e8eb;border:1px solid #ddb8be;border-radius:6px}.trial-ended-banner span{flex:1 1 240px}.trial-keeps-days{margin:0;font-size:.9rem}@media(max-width:520px){.trial-ended-plans{grid-template-columns:1fr}}.trial-ended{width:min(900px,calc(100% - 32px))}.trial-ended-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px;align-items:start}.trial-ended-basic{display:grid;gap:12px;min-width:0}.trial-ended-basic h2{margin:0;font-family:var(--haven-display-font);font-size:1.35rem;font-weight:400}.trial-ended-basic .trial-ended-plans{grid-template-columns:minmax(0,1fr)}.callout-why,.paycheck-table td .pt-why,.paycheck-table .pt-head-why,.paycheck-leftover .paycheck-leftover-why,.money-tabs .money-tab>.money-tab-why{box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;flex:0 0 44px;margin:-8px;padding:8px;background-clip:content-box;color:var(--pt-accent, #526960);vertical-align:middle}.paycheck-table td .pt-why{margin-left:-4px}.callout{position:fixed;z-index:30;box-sizing:border-box;width:260px;max-width:260px;padding:8px 12px;border:1px solid var(--pt-line, #d8d2cc);border-radius:8px;background:var(--pt-surface, #fff);color:inherit;font-size:.8125rem;font-weight:400;line-height:1.4;text-align:left;white-space:normal;box-shadow:0 6px 20px #0000001f}.callout>span{display:block}.callout .callout-more{display:inline-block;margin-top:4px;font-size:inherit}.callout:before{content:"";position:absolute;left:10px;width:10px;height:10px;background:inherit;border-left:1px solid var(--pt-line, #d8d2cc);border-top:1px solid var(--pt-line, #d8d2cc);transform:rotate(45deg)}.callout[data-placement=below]:before{top:-6px}.callout[data-placement=above]:before{bottom:-6px;transform:rotate(225deg)}.callout.is-wide{width:340px;max-width:340px}.callout ul{margin:6px 0 0;padding:0;list-style:none;display:grid;gap:4px}.ledger-table-tools{position:relative;margin-top:8px;min-width:0}.ledger-match-count{display:block;min-height:18px;margin-bottom:3px;text-align:right;color:#61736a;font-size:.68rem;white-space:nowrap}.ledger-column-headings{overflow:visible;border-top:1px solid var(--haven-hairline, #d8e2dc)}.ledger-column-control{position:relative;min-width:0}.ledger-column-control:last-child{text-align:right}.ledger-column-button{display:inline-flex;align-items:center;gap:4px;width:auto;min-height:32px;padding:4px 2px;border:0;border-radius:3px;color:#65776f;background:transparent;font-size:.65rem;text-transform:uppercase}.ledger-column-control:last-child .ledger-column-button{justify-content:flex-end}.ledger-column-button:hover,.ledger-column-button[aria-expanded=true],.ledger-column-control.filtered .ledger-column-button{color:#1f5748;background:#e8f0eb}.ledger-filter-menu{position:absolute;z-index:20;top:calc(100% + 3px);left:0;width:min(260px,calc(100vw - 32px));padding:8px;color:var(--retreat-ink);background:var(--retreat-paper);border:1px solid #b9cbc0;border-radius:6px;box-shadow:0 10px 26px #18342f2e;text-align:left;text-transform:none}.ledger-column-control:last-child .ledger-filter-menu{right:0;left:auto}.ledger-filter-menu>button{display:flex;align-items:center;gap:8px;width:100%;min-height:38px;padding:7px 8px;color:var(--retreat-ink);background:transparent;border:0;text-align:left;font-size:.78rem}.ledger-filter-menu>button svg:last-child{margin-left:auto}.ledger-filter-menu>button:hover,.ledger-filter-menu>button.active{background:#e8f0eb}.ledger-filter-menu label{display:grid;gap:5px;margin-top:5px;padding-top:8px;border-top:1px solid var(--retreat-line);font-size:.72rem}.ledger-filter-menu label>span{display:flex;align-items:center;gap:6px}.ledger-filter-menu input{width:100%;min-width:0;min-height:38px;padding:6px 8px;border:1px solid #b9cbc0;background:#fff;color:#18342f}.ledger-filter-actions{display:flex;justify-content:space-between;gap:6px;margin-top:8px}.ledger-filter-actions button{min-height:36px;padding:6px 8px;color:var(--retreat-ink);background:transparent;font-size:.72rem}.ledger-filter-actions button:last-child{display:inline-flex;align-items:center;gap:4px}.ledger-table-tools :focus-visible{outline:2px solid #886c37;outline-offset:2px}[data-theme=dark] .ledger-column-headings{border-color:#34434d}[data-theme=dark] .ledger-match-count,[data-theme=dark] .ledger-column-button{color:#b8c8be}[data-theme=dark] .ledger-column-button:hover,[data-theme=dark] .ledger-column-button[aria-expanded=true],[data-theme=dark] .ledger-column-control.filtered .ledger-column-button,[data-theme=dark] .ledger-filter-menu>button:hover,[data-theme=dark] .ledger-filter-menu>button.active{color:#edf1e9;background:#354c3e}[data-theme=dark] .ledger-filter-menu{border-color:#506151;box-shadow:0 10px 26px #0006}@media(max-width:720px){.ledger-column-headings{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:2px!important;padding:2px 0!important}.ledger-column-headings.has-account-column{grid-template-columns:repeat(5,minmax(0,1fr))!important}.ledger-column-headings.account-activity-columns{padding-right:0!important}.ledger-column-button{width:100%;justify-content:center!important;font-size:.58rem}.ledger-column-button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-filter-menu{width:calc(400% + 6px);max-width:none;right:auto}.ledger-column-control:nth-child(1) .ledger-filter-menu{left:0}.ledger-column-control:nth-child(2) .ledger-filter-menu{left:calc(-100% - 2px)}.ledger-column-control:nth-child(3) .ledger-filter-menu{left:calc(-200% - 4px);right:auto}.ledger-column-control:nth-child(4) .ledger-filter-menu{right:0;left:auto}.ledger-column-headings.has-account-column .ledger-filter-menu{width:calc(500% + 8px)}.ledger-column-headings.has-account-column .ledger-column-control:nth-child(2) .ledger-filter-menu{left:calc(-100% - 2px)}.ledger-column-headings.has-account-column .ledger-column-control:nth-child(3) .ledger-filter-menu{left:calc(-200% - 4px);right:auto}.ledger-column-headings.has-account-column .ledger-column-control:nth-child(4) .ledger-filter-menu{left:calc(-300% - 6px);right:auto}.ledger-column-headings.has-account-column .ledger-column-control:nth-child(5) .ledger-filter-menu{right:0;left:auto}}.ledger-filter-choices{display:grid;gap:2px;max-height:min(46vh,320px);margin-bottom:6px;padding-bottom:6px;overflow-y:auto;border-bottom:1px solid var(--retreat-line)}.ledger-filter-choices>span{padding:4px 8px 2px;color:var(--haven-muted, #5d6b66);font-size:.68rem;text-transform:uppercase}.ledger-filter-menu>button,.ledger-filter-choices>button{justify-content:flex-start}.ledger-filter-choices>button{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px;color:var(--retreat-ink);background:transparent;border:0;border-radius:4px;text-align:left;font-size:.86rem;font-weight:600;overflow-wrap:anywhere}.ledger-filter-choices>button svg{margin-left:auto;flex:0 0 auto}.ledger-filter-choices>button:hover,.ledger-filter-choices>button.active{background:#e8f0eb}.ledger-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin:6px 0;padding:8px 10px;background:#eef4ef;border:1px solid #c9d8ce;border-radius:8px;font-size:.82rem}.ledger-active-filters>span{color:var(--retreat-ink);font-weight:700}.ledger-filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 10px;color:#17362f;background:#fff;border:1px solid #9fb7a9;border-radius:999px;font-size:.82rem}.ledger-filter-chip:hover{background:#f4f8f5}.ledger-filter-clear{min-height:44px;font-size:.82rem}[data-theme=dark] .ledger-active-filters{background:#25322b;border-color:#44554a}[data-theme=dark] .ledger-filter-chip{color:#edf1e9;background:#1c2923;border-color:#5b6f61}[data-theme=dark] .ledger-filter-choices>button:hover,[data-theme=dark] .ledger-filter-choices>button.active{color:#edf1e9;background:#2f3d35}.ledger-search{display:flex;align-items:center;gap:8px;margin:4px 0 8px;padding:0 6px 0 10px;min-height:44px;border:1px solid #b9cbc0;border-radius:8px;background:#fff;color:#4f6259}.ledger-search:focus-within{outline:2px solid #886c37;outline-offset:2px}.ledger-search input{flex:1;min-width:0;min-height:40px;padding:6px 0;border:0;outline:0;background:transparent;color:#18342f;font:inherit;font-size:1rem}.ledger-search input::-webkit-search-cancel-button{display:none}.ledger-search .icon-button{width:36px;height:36px;min-height:36px;padding:0}[data-theme=dark] .ledger-search{border-color:#506151;background:#1b2420;color:#b8c8be}[data-theme=dark] .ledger-search input{color:#edf1e9}.ledger-table-tools .ledger-search input:focus-visible{outline:0}.payment-planned-field{grid-column:1 / -1;display:grid;gap:2px}.payment-planned-field .checkbox-label{min-height:44px}.payment-planned-field small{max-width:62ch;font-size:.78rem;line-height:1.45;color:#4a5a53}[data-theme=dark] .payment-planned-field small{color:#c2cec6}@container (min-width: 561px){.ledger-resource.ledger-accounts .resource-list .record-summary,.ledger-resource.ledger-accounts .account-activity-columns{padding-right:236px}}@container (min-width: 561px) and (max-width: 720px){.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row{grid-template-columns:36px minmax(120px,1fr) auto minmax(96px,auto);grid-template-rows:auto auto;gap:2px 10px}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.account-ledger-icon{grid-column:1;grid-row:1 / span 2}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-payee{grid-column:2;grid-row:1}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-category-cell{grid-column:2;grid-row:2;justify-self:start}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-payment-cell{grid-column:3;grid-row:1 / span 2}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-amount{grid-column:4;grid-row:1 / span 2}.ledger-resource.ledger-accounts .ledger-column-headings{display:flex;flex-wrap:wrap;gap:2px 4px;padding-right:0}}.bill-settle-choice{margin:8px 0 12px;padding:10px 12px;border:1px solid var(--line, #d9d4e6);border-radius:10px;display:grid;gap:8px}.bill-settle-choice p{margin:0}.bill-settle-choice .form-actions{flex-wrap:wrap}.ledger-resource.ledger-accounts .record-summary>.flow-payment-cell{font-size:.9rem;color:var(--text-muted, #5b5873);white-space:nowrap}@container (min-width: 721px){.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row,.ledger-resource.ledger-accounts .ledger-table-tools .ledger-column-headings{grid-template-columns:68px minmax(0,1.1fr) minmax(116px,.55fr) minmax(90px,.55fr) minmax(88px,auto)}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-payment-cell{grid-column:3;grid-row:1}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-category-cell{grid-column:4;grid-row:1}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-amount{grid-column:5;grid-row:1}}.ledger-column-static{padding:4px 2px;color:#65776f;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}[data-theme=dark] .ledger-column-static{color:#b8c8be}@container (max-width: 560px){.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-payment-cell{grid-column:2 / -1;grid-row:3;min-width:0;white-space:normal}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-payment-cell:empty{display:none}.ledger-resource.ledger-accounts .resource-list .record-summary.cash-flow-row>.flow-amount{grid-column:3;grid-row:2;align-self:start;min-width:max-content}}@media(max-width:720px){.ledger-column-static{display:none}}.flow-payee>.bill-share-tag{display:inline-block;justify-self:start;width:max-content;max-width:100%;margin-top:2px;padding:1px 7px;border-radius:999px;border:1px solid #b9cec5;background:#eef6f2;color:#28634f;font-size:.7rem;font-weight:700;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-theme=dark] .flow-payee>.bill-share-tag{border-color:#48665c;background:#20352e;color:#8fd4b8}.bills-table-wrap{container:bills / inline-size;width:100%;min-width:0;overflow-x:clip}.bt-phone-sort{display:none;align-items:center;justify-content:flex-end;gap:8px;padding:6px 0;border-top:1px solid var(--haven-hairline, #d8e2dc);border-bottom:1px solid var(--haven-hairline, #d8e2dc);font-size:.78rem;color:#4d5b55}.bt-phone-sort label{display:inline-flex;align-items:center;gap:8px}.bt-phone-sort select{box-sizing:border-box;flex-shrink:0;min-height:44px;min-width:44px;max-width:100%;padding:6px 28px 6px 10px;font-size:.82rem;line-height:20px}[data-theme=dark] .bt-phone-sort{color:#b8c8be}.bills-table-wrap .sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.bills-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:auto;font-size:.78rem;color:var(--haven-style-ink, #24312e)}.bills-table thead th{position:sticky;top:0;z-index:1;padding:4px 6px;border-top:1px solid var(--haven-hairline, #d8e2dc);border-bottom:1px solid var(--haven-hairline, #d8e2dc);background:var(--haven-surface, #f6f6f1);text-align:left;font-weight:600;vertical-align:middle;white-space:nowrap}.bills-table .bt-heading{color:#65776f;font-size:.65rem;text-transform:uppercase;letter-spacing:.02em}.bills-table thead .ledger-column-control{display:block;text-align:left}.bills-table thead .bt-amount .ledger-column-control{text-align:right}.bills-table .ledger-filter-menu{width:min(260px,calc(100vw - 32px))!important;max-width:none}.bills-table thead .ledger-column-button{justify-content:flex-start}.bills-table thead .bt-amount .ledger-column-button{margin-left:auto;display:flex}.bills-table td,.bills-table tbody th{padding:9px 6px;border-bottom:1px solid var(--haven-hairline, #e1e8e4);vertical-align:middle;text-align:left;font-weight:400;min-width:0}.bills-table .bt-select{width:30px;padding-left:2px;padding-right:0}.bills-table .bt-check{display:grid;place-items:center;width:28px;height:28px;margin:0}.bills-table .bt-check input{width:18px;height:18px;margin:0}.bills-table .bt-date{width:64px}.bills-table .bt-past-due{display:block;margin-top:2px;color:#8a4954;font-size:.64rem;font-weight:700}.bills-table .bt-name{min-width:120px}.bills-table .bt-tag{color:#6a7a73;font-size:.68rem}.bills-table .bill-share-tag{display:inline-block;padding:1px 7px;border-radius:999px;border:1px solid #b9cec5;background:#eef6f2;color:#28634f;font-size:.66rem;font-weight:700;line-height:1.5;white-space:nowrap}.bills-table .bt-clip{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bills-table .bt-category-button{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:32px;padding:4px 8px;font-size:.72rem}.bills-table .bt-category-editor{display:grid;grid-template-columns:minmax(80px,1fr) 36px 36px;gap:4px;align-items:start;max-width:320px}.bills-table .bt-category-editor input{width:100%;min-width:0;padding:6px 8px}.bills-table .bt-category-editor label{display:grid;gap:2px;font-size:.68rem}.bills-table .bt-category-editor .icon-button{width:36px;height:36px;min-height:36px;padding:0}.bills-table .bt-amount{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.bills-table .bt-amount strong{font-size:.84rem}.bills-table .bt-sub{display:block;color:#6a7a73;font-size:.64rem}.bills-table .bill-row{cursor:pointer}.bills-table .bt-toggle{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;min-height:44px;margin:-6px 0;padding:4px 0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.bills-table .bt-toggle:focus-visible{outline:2px solid #28634f;outline-offset:2px;border-radius:4px}.bills-table .bt-toggle-text{display:grid;gap:2px;min-width:0}.bills-table .bt-toggle strong{font-size:.82rem;overflow-wrap:anywhere}.bills-table .bt-chevron{flex:0 0 auto;color:#6a7a73;transition:transform .15s}.bills-table .bt-toggle[aria-expanded=true] .bt-chevron{transform:rotate(180deg)}.bills-table .bt-name>.bill-share-tag{margin-top:4px}.bills-table .bt-status-cell{width:116px;white-space:nowrap}.bills-table .bt-word{font-size:.76rem;font-weight:600;color:#4d5b55}.bills-table .bt-word.is-ready,.bills-table .bt-word.is-paid{color:#28634f}.bills-table .bt-word.is-autopay{color:#2d5d7b}.bills-table .bill-row.is-open>*{border-bottom-color:transparent}.bills-table .bill-detail-row>td{padding:2px 6px 12px 36px;border-bottom:1px solid var(--haven-hairline, #e1e8e4)}.bills-table .bt-details{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0}.bills-table .bt-details>div{display:grid;gap:2px;min-width:0}.bills-table .bt-details dt{color:#65776f;font-size:.64rem;text-transform:uppercase;letter-spacing:.02em}.bills-table .bt-details dd{margin:0;min-width:0;color:#34463f;font-size:.76rem}.bills-table .bt-status{display:grid;gap:4px;color:#4d5b55}.bills-table .bt-status-text{display:inline-flex;align-items:center;gap:3px;font-size:.74rem;font-weight:600}.bills-table .bt-status.is-set-aside,.bills-table .bt-status.is-paid{color:#28634f}.bills-table .bt-status.is-planned{color:#2d5d7b}.bills-table .bt-status.is-none{color:#8a4954}.bills-table .bt-meter{display:block;width:100%;max-width:110px;height:5px;border-radius:3px;background:#28634f26;overflow:hidden}.bills-table .bt-meter i{display:block;height:100%;border-radius:3px;background:#28634f;transition:width .3s}.bills-table .is-planned .bt-meter i,.bills-table .is-partial .bt-meter i{background:repeating-linear-gradient(135deg,#3f7fa5 0 4px,#6aa1c2 4px 7px)}.bills-table .bt-from-line{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px}.bills-table .bt-from-names{font-weight:600;color:#34463f}.bills-table .bt-from-word{font-weight:400}.bills-table .bt-paychecks-link{min-height:28px;padding:0 2px;font-size:.74rem;white-space:nowrap}.bills-table .bt-actions{width:46px;padding:2px;text-align:right}.bills-table .bt-menu{position:relative;display:inline-block}.bills-table .bt-menu>summary{box-sizing:border-box;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;cursor:pointer;list-style:none;border-radius:6px;color:#526960}.bills-table .bt-menu>summary::-webkit-details-marker{display:none}.bills-table .bt-menu>summary:hover,.bills-table .bt-menu[open]>summary{background:#789b8726}.bills-table .bt-menu>summary:focus-visible{outline:2px solid #28634f;outline-offset:1px}.bills-table .bt-menu-items{position:absolute;z-index:3;top:46px;right:0;display:grid;gap:4px;min-width:150px;padding:6px;border:1px solid #cad8d0;border-radius:8px;background:#fff;box-shadow:0 8px 22px #263f351f}.bills-table .bt-menu-items>button{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:44px;padding:6px 10px}.bills-table .bill-row.is-selected>*,.bills-table .bill-row.is-selected+.bill-detail-row>td{background:#eef6f2}.bills-table .bill-edit-row>td{padding:8px 6px 14px}.bills-table .bill-edit-row .bill-edit-form{margin:0}.bills-table .bill-row.is-past-due .bt-status-cell{white-space:nowrap}.bills-table .bt-settle{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin-left:10px;padding:4px 10px;font-size:.78rem;vertical-align:middle;white-space:nowrap}@media(pointer:coarse){.bills-table .bt-settle{min-height:44px}}@media(pointer:coarse){.bills-table .bt-paychecks-link,.bills-table .bt-category-button{min-height:44px}.bills-table .bt-category-button{min-width:44px}.bills-table .bt-check{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){.bills-table .bt-meter i,.bills-table .bt-chevron{transition:none}}@container bills (max-width: 639px){.bills-table,.bills-table tbody{display:block}.bills-table thead{display:none}.bt-phone-sort{display:flex}.bills-table .bill-row{display:grid;grid-template-columns:34px 44px minmax(0,1fr) auto 44px;grid-template-areas:"check date name amount menu" "check date name status menu";align-items:center;column-gap:6px;padding:6px 0;border-bottom:1px solid var(--haven-hairline, #e1e8e4)}.bills-table .bill-row.is-open{border-bottom-color:transparent}.bills-table .bill-row>td,.bills-table .bill-row>th{display:block;width:auto;max-width:none;padding:0;border:0;background:transparent}.bills-table .bill-row>.bt-select{grid-area:check}.bills-table .bill-row .bt-check{width:34px;height:34px}.bills-table .bill-row>.bt-date{grid-area:date}.bills-table .bill-row>.bt-name{grid-area:name;min-width:0}.bills-table .bill-row>.bt-amount{grid-area:amount;align-self:end}.bills-table .bill-row>.bt-status-cell{grid-area:status;align-self:start;text-align:right}.bills-table .bill-row>.bt-actions{grid-area:menu}.bills-table .bt-toggle{margin:0}.bills-table .bt-word{font-size:.72rem}.bills-table .bill-detail-row,.bills-table .bill-detail-row>td{display:block}.bills-table .bill-row.has-settle{grid-template-areas:"check date name amount menu" "check date name status menu" "check date settle settle menu"}.bills-table .bill-row.has-settle>.bt-status-cell{display:contents}.bills-table .bill-row.has-settle .bt-word{grid-area:status;align-self:start;justify-self:end}.bills-table .bt-settle{grid-area:settle;justify-self:end;margin:4px 0 0;min-height:44px}.bills-table .bill-detail-row[hidden]{display:none}.bills-table .bill-detail-row>td{padding:0 0 10px 40px}.bills-table .bt-details{gap:8px 16px}.bills-table .bill-row.is-selected{background:#eef6f2}.bills-table .bill-edit-row{display:block}.bills-table .bill-edit-row>td{display:block;padding:4px 0 12px}@media(pointer:coarse){.bills-table .bt-paychecks-link{min-width:44px;min-height:44px}}}@container bills (min-width: 640px) and (max-width: 899px){.bills-table td,.bills-table tbody th{padding-left:4px;padding-right:4px}.bills-table .bt-status-cell{width:104px}}[data-theme=dark] .bills-table{color:#e3ece7}[data-theme=dark] .bills-table .bt-heading,[data-theme=dark] .bills-table .bt-tag,[data-theme=dark] .bills-table .bt-sub,[data-theme=dark] .bills-table .bt-status,[data-theme=dark] .bills-table .bt-word,[data-theme=dark] .bills-table .bt-details dt,[data-theme=dark] .bills-table .bt-chevron{color:#b8c8be}[data-theme=dark] .bills-table .bt-details dd{color:#dce8e2}[data-theme=dark] .bills-table .bt-word.is-ready,[data-theme=dark] .bills-table .bt-word.is-paid{color:#8fd4b8}[data-theme=dark] .bills-table .bt-word.is-autopay{color:#9ccbe8}[data-theme=dark] .bills-table .bt-from-names{color:#dce8e2}[data-theme=dark] .bills-table .bt-status.is-set-aside,[data-theme=dark] .bills-table .bt-status.is-paid{color:#8fd4b8}[data-theme=dark] .bills-table .bt-status.is-planned{color:#9ccbe8}[data-theme=dark] .bills-table .bt-status.is-none,[data-theme=dark] .bills-table .bt-past-due{color:#f0a8b3}[data-theme=dark] .bills-table .bt-meter{background:#8fd4b82e}[data-theme=dark] .bills-table .bt-meter i{background:#8fd4b8}[data-theme=dark] .bills-table .bt-menu>summary{color:#b8c8be}[data-theme=dark] .bills-table .bt-menu-items{background:#202a26;border-color:#46564e}[data-theme=dark] .bills-table .bill-row.is-selected,[data-theme=dark] .bills-table .bill-row.is-selected>*,[data-theme=dark] .bills-table .bill-row.is-selected+.bill-detail-row>td{background:#20352e}[data-theme=dark] .bills-table .bill-share-tag{border-color:#48665c;background:#20352e;color:#8fd4b8}.bills-table .bt-ahead{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:#e8f0eb;color:#28634f;font-size:.72rem;font-weight:600;white-space:nowrap}[data-theme=dark] .bills-table .bt-ahead{background:#2a3a35;color:#9fd0c0}.bills-table .bt-ahead-detail ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}@container bills (max-width: 639px){.bills-table .bt-ahead{display:block;margin:4px 0 0 auto;width:fit-content}}.bills-table .bt-details .bt-edit-detail{flex-basis:100%}.bills-table .bt-details .bt-edit-detail dd{margin:0}.bill-delete-prompt p{margin:0 0 8px;line-height:1.45}.bill-delete-debts{display:grid;gap:10px;margin:0 0 14px;padding:0;list-style:none}.bill-delete-debts li{display:flex;align-items:flex-start;gap:10px}.bill-delete-debts li>svg{flex:none;margin-top:3px;color:#5b6f67}.bill-delete-debts li>div{min-width:0;overflow-wrap:anywhere}.bill-delete-duplicate{padding:8px 10px;border-left:3px solid #c58b2c;border-radius:4px;background:#fff7e8;color:#5b4414}.bill-delete-choices{display:grid;gap:6px;max-width:520px}.bill-delete-choices>button{justify-content:flex-start;min-height:44px;text-align:left;white-space:normal}.bill-delete-choices>small{margin:-2px 0 8px 2px;color:#5d6b66;font-size:.8rem;line-height:1.4}.bill-delete-final>p{font-weight:600}.bill-delete-choices>.danger-text{color:#9b2c35}[data-theme=dark] .bill-delete-choices>.danger-text{color:#f1a3ab}[data-theme=dark] .bill-delete-duplicate{background:#3a3020;color:#f3dfb6;border-left-color:#d9a54c}[data-theme=dark] .bill-delete-choices>small,[data-theme=dark] .bill-delete-debts li>svg{color:#b7c8c0}@media(max-width:479px){.bill-delete-choices{max-width:none}.bill-delete-choices>button{width:100%;justify-content:center;text-align:center}}.bill-done-heading,.resource-list>li.bill-done-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;padding:14px 0 6px;border-bottom:1px solid #c9d6cf}.bill-done-toggle{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 6px;border:0;background:none;color:inherit;font-weight:700;text-decoration:none}.bill-done-toggle svg{transition:transform .15s ease}.bill-done-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.bill-done-heading small{color:#5d6b66;font-size:.78rem}.bill-done-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#e3f1e8;color:#2f6b4a;font-size:.72rem;font-weight:700}[data-theme=dark] .bill-done-heading small{color:#b7c8c0}[data-theme=dark] .bill-done-badge{background:#1f3a2c;color:#9fd8b5}[data-theme=dark] .bill-done-heading,[data-theme=dark] .resource-list>li.bill-done-heading{border-bottom-color:#3f5048}.bill-progress{display:flex;align-items:center;gap:8px;margin:8px 0;font-weight:600}.bill-progress-spinner{width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:bill-progress-spin .8s linear infinite}@keyframes bill-progress-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.bill-progress-spinner{animation:none}}.estimated-taxes-open{justify-self:start}.estimated-taxes{display:grid;gap:10px;margin:0;padding:12px 14px;border:1px solid #d5e0da;border-radius:10px;min-width:0}.estimated-taxes legend{padding:0 4px;font-weight:700}.estimated-taxes p{margin:0;color:#5d6b66;font-size:.85rem}.estimated-taxes label{display:grid;gap:4px}[data-theme=dark] .estimated-taxes{border-color:#3f5048}[data-theme=dark] .estimated-taxes p{color:#b7c8c0}.archived-goals{display:grid;gap:8px;margin-top:8px}.archived-goals>p{margin:0}.archived-goals-toggle{justify-self:start}.archived-goals-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}.archived-goals-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;padding:10px 12px;border:1px dashed var(--haven-style-line, #d7e0db);border-radius:10px}.archived-goals-list li>span{display:grid;gap:2px;min-width:0;flex:1 1 180px}.archived-goals-list strong{overflow-wrap:anywhere}.archived-goals-list small{color:var(--haven-muted, #5d6b66)}.archived-goals-list button{display:inline-flex;align-items:center;gap:6px;min-height:44px}.archived-goals .undo-toast button{display:inline-flex;align-items:center;gap:6px}.envelope-archive-hint{margin:4px 0 0;color:var(--haven-muted, #5d6b66);font-size:.82rem}.envelope-target-start{display:flex;flex-wrap:wrap;gap:4px 16px;margin:8px 0 0;padding:0;border:0}.envelope-target-start legend{padding:0;margin-bottom:2px;font-weight:600;font-size:.85rem}.envelope-target-start label{display:flex;align-items:center;gap:8px;min-height:44px;margin:0;font-weight:400}.envelope-target-start input[type=radio]{flex:none;width:20px;height:20px;min-height:0;margin:0;padding:0}.one-time-payday{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:8px 0 12px}.one-time-payday .one-time-open{display:inline-flex;align-items:center;gap:7px;min-height:44px;max-width:100%;white-space:normal;text-align:left}.one-time-saved{margin:0}.one-time-saved .link-button{min-height:44px}.one-time-payday-form h3{margin:0 0 4px;font-size:1rem}.one-time-names{border:0;margin:0;padding:0;min-width:0}.one-time-names legend{padding:0;margin-bottom:6px;font-weight:600}.one-time-names [role=group]{display:flex;flex-wrap:wrap;gap:8px}.one-time-names button{min-height:44px;min-width:44px;padding:8px 14px}.one-time-names button[aria-pressed=true]{color:#fff;background:#5d5278;border-color:#5d5278}.one-time-payday-form .field-error{color:#9b2c2c}.one-time-payday-form>h3,.one-time-payday-form>.one-time-names,.one-time-payday-form>.form-guidance,.one-time-payday-form>[role=alert]{grid-column:1 / -1}.one-time-payday-form label .field-error{display:block;margin-top:4px;font-weight:400}.one-time-plan{display:grid;gap:12px;min-width:0}.one-time-plan-hint{margin:0}.one-time-group ul{list-style:none;margin:0;padding:0}.one-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;row-gap:2px;min-height:44px;padding:6px 2px 6px 4px;border-bottom:1px solid var(--pc-line)}.one-time-row-name{display:flex;flex-direction:column;min-width:0;color:var(--pc-ink);font-weight:400;overflow-wrap:anywhere}.one-time-row-name small{color:var(--pc-note);font-size:.8125rem;line-height:1.4}.one-time-box{display:inline-flex;align-items:center;gap:4px;color:var(--pc-note)}.one-time-box input{box-sizing:border-box;width:7.5em;min-height:44px;padding:4px 8px;text-align:right;font:inherit;color:var(--pc-ink);background:var(--pc-surface);border:1px solid var(--pc-edge, #7f948a);border-radius:6px}.one-time-box input::placeholder{color:var(--pc-note);opacity:.8}.one-time-box input[aria-busy=true]{border-style:dashed}.one-time-row-hint,.one-time-row-problem{grid-column:1 / -1;font-size:.8125rem;line-height:1.4;color:var(--pc-note)}.one-time-row-hint.is-extra{color:#2f6b4f;font-weight:600}.one-time-row-problem{color:#9b2c2c}.one-time-row.has-problem input{border-color:#9b2c2c}[data-theme=dark] .one-time-row-hint.is-extra{color:#9fd8b8}[data-theme=dark] .one-time-row-problem{color:#f2a7a7}@media(max-width:420px){.one-time-box input{width:6.5em}}.account-reconciliation{flex:0 0 100%;order:3;min-width:0;font-family:var(--haven-interface-font)}.account-reconciliation h3,.account-reconciliation summary,.account-reconciliation label,.account-reconciliation input,.account-reconciliation select,.account-reconciliation button,.account-reconciliation dt,.account-reconciliation dd,.account-reconciliation strong,.account-reconciliation small{font-family:var(--haven-interface-font)}.reconciliation-trigger{padding:5px 9px;min-height:32px;font-family:var(--haven-interface-font);font-size:.78rem}.ledger-accounts .reconciliation-trigger{position:absolute;z-index:1;top:12px;right:76px}.detail-section .ledger-resource.ledger-accounts .record-summary,.detail-section .ledger-resource.ledger-accounts .account-activity-columns{padding-right:236px}.reconciliation-editor{padding:12px 0;border-block:1px solid var(--retreat-line);max-width:760px}.reconciliation-editor header{display:flex;justify-content:space-between;align-items:center;gap:12px}.reconciliation-editor h3{font-size:1rem;margin:0}.reconciliation-inputs{display:grid;grid-template-columns:minmax(110px,1fr) minmax(180px,2fr);gap:10px;margin-top:10px}.reconciliation-inputs label{display:grid;gap:5px;font-size:.8rem;min-width:0}.reconciliation-inputs input,.reconciliation-inputs select{width:100%;min-width:0;border:1px solid var(--retreat-line);color:var(--retreat-ink);background:var(--retreat-paper);padding:8px}.reconciliation-inputs input{font-size:1.4rem;font-variant-numeric:tabular-nums}.reconciliation-note{font-size:.8rem;margin:8px 0}.reconciliation-pending{max-height:220px;overflow:auto}.reconciliation-pending .checkbox-label{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--retreat-line)}.reconciliation-pending span{flex:1;min-width:0;overflow-wrap:anywhere}.reconciliation-pending small{display:block}.reconciliation-pending strong{white-space:nowrap;font-variant-numeric:tabular-nums}.reconciliation-preview{margin:12px 0}.reconciliation-preview>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}.reconciliation-preview dd{margin:0;white-space:nowrap;font-weight:600;font-variant-numeric:tabular-nums}@container (max-width: 560px){.ledger-accounts .reconciliation-trigger{top:9px;width:34px;min-width:34px;height:34px;min-height:34px;padding:6px}.ledger-accounts .reconciliation-trigger span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.detail-section .ledger-resource.ledger-accounts .record-summary{padding-right:0}.ledger-accounts .record-summary .flow-payee{padding-right:114px!important}}@media(max-width:560px){.reconciliation-inputs{grid-template-columns:minmax(0,1fr)}.reconciliation-preview{font-size:.8rem}}.debt-reason{border:0;padding:0;margin:10px 0 0;display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.85rem}.debt-reason legend{font-size:.8rem;margin-bottom:4px;padding:0}.debt-reason .checkbox-label{display:inline-flex;align-items:center;gap:6px;min-height:44px}.debt-balance-as-of{font-size:.78rem;margin:2px 0 0;opacity:.85}.debt-balance-as-of span{font-style:italic}.debt-row-actions .account-reconciliation{order:10}.reconciliation-missing{display:grid;gap:8px;margin-top:8px;padding:10px 12px;border:1px solid var(--line, #d9d4e6);border-radius:10px}.reconciliation-missing p{margin:0}.reconciliation-add{display:grid;gap:8px}.reconciliation-add label{display:grid;gap:4px;font-size:.9rem}.reconciliation-add input{max-width:240px}.reconciliation-adjust summary{cursor:pointer;font-size:.9rem}.reconciliation-adjust p{margin:6px 0;font-size:.9rem}.envelope-metrics.compact.has-carry{grid-template-columns:minmax(110px,1.15fr) repeat(3,minmax(84px,1fr))}.envelope-metrics.compact.has-carry:has(>div:nth-child(5)){grid-template-columns:minmax(110px,1.15fr) repeat(4,minmax(78px,1fr))}@container (max-width: 520px){.envelope-metrics.compact.has-carry,.envelope-metrics.compact.has-carry:has(>div:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}.envelope-metrics.compact.has-carry .envelope-available{grid-column:1 / -1}}@media(max-width:480px){.envelope-metrics.compact.has-carry,.envelope-metrics.compact.has-carry:has(>div:nth-child(5)){grid-template-columns:repeat(3,minmax(0,1fr))}.envelope-metrics.compact.has-carry .envelope-available{grid-column:1 / -1}}@container (max-width: 330px){.envelope-metrics.compact.has-carry,.envelope-metrics.compact.has-carry:has(>div:nth-child(5)){grid-template-columns:repeat(2,minmax(0,1fr))}}.envelope-metrics dd small{display:block;margin-top:2px}.envelope-metrics.compact .envelope-available.is-warning{background:#fff5e3;border-color:#e6c88a}.envelope-metrics .envelope-available.is-warning dt,.envelope-metrics .envelope-available.is-warning dd{color:#7a4f00}.envelope-metrics .envelope-available .envelope-state{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:.7rem;color:#2f6f5e}.envelope-metrics .envelope-available .envelope-state.is-warning{color:#7a4f00}.envelope-metrics .envelope-available .envelope-state.is-over{color:#8e2a36}[data-theme=dark] .envelope-metrics.compact .envelope-available.is-warning{background:#3a3122;border-color:#7d6a46}[data-theme=dark] .envelope-metrics .envelope-available.is-warning dt,[data-theme=dark] .envelope-metrics .envelope-available.is-warning dd,[data-theme=dark] .envelope-metrics .envelope-available .envelope-state.is-warning{color:#f0d48a}.envelope-metrics.compact .envelope-available.is-over{background:#fbeef0;border-color:#e0b3ba}.envelope-metrics .envelope-available.is-over dt,.envelope-metrics .envelope-available.is-over dd{color:#8e2a36}.envelope-over-hint{grid-column:1 / -1;margin:2px 0 0;color:#8e2a36;font-size:.75rem}[data-theme=dark] .envelope-metrics.compact .envelope-available.is-over{background:#3a2227;border-color:#7d4650}[data-theme=dark] .envelope-metrics .envelope-available.is-over dt,[data-theme=dark] .envelope-metrics .envelope-available.is-over dd,[data-theme=dark] .envelope-over-hint{color:#f4b4bc}.resource-list .envelope-widget .savings-goal-body{grid-column:1 / -1;grid-row:2;display:flex;flex-direction:column;gap:8px;min-width:0}.savings-goal-body .envelope-metrics{margin:0}.savings-goal-progress{height:6px;overflow:hidden;border-radius:999px;background:#dbe5df}.savings-goal-progress>span{display:block;height:100%;border-radius:inherit;background:var(--haven-style-accent, #315d54)}.savings-goal-status{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.resource-list .envelope-widget .savings-goal-status .savings-plan-line{flex:1 1 220px;margin:0}.savings-goal-status>button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;font-size:.78rem}.savings-goal-body.is-reached .savings-plan-line{background:#e3f1e7;color:#1f5134;font-weight:600}.savings-goal-body.is-date-passed .savings-plan-line{background:#fbf1df;color:#6b4a12}.resource-list .envelope-widget .savings-goal-body .envelope-month{padding-top:8px}.savings-goal-form{margin:0}[data-theme=dark] .savings-goal-progress{background:#33443d}[data-theme=dark] .savings-goal-body.is-reached .savings-plan-line{background:#213a2b;color:#bfe6cb}[data-theme=dark] .savings-goal-body.is-date-passed .savings-plan-line{background:#3a301d;color:#f1d7a4}.paid-off-date strong,.paid-off-date span{color:#2f6b4a}.record-summary.is-paid-off .flow-amount strong{color:var(--haven-muted, #63746c)}[data-theme=dark] .paid-off-date strong,[data-theme=dark] .paid-off-date span{color:#9fd8b5}.savings-goal-planned{margin:6px 0 0;font-size:.875rem;font-weight:600;color:#2f6b4f}.entry-form .pay-first-field{grid-column:1 / -1;display:grid;gap:2px}.entry-form .pay-first-field .checkbox-label{min-height:44px;gap:8px}.entry-form .pay-first-field .form-guidance{margin:0}.savings-goal-paycheck{margin:6px 0 0;font-size:.875rem;font-weight:600}[data-theme=dark] .savings-goal-planned{color:#9fd8b8}@media(max-width:599px){.envelope-collection.list .envelope-metrics.compact.has-carry>div:not(.envelope-available){display:none}.envelope-collection.list .envelope-metrics.compact.has-carry .envelope-available{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:8px}.envelope-collection.list .envelope-metrics.compact.has-carry .envelope-available dd{margin:0;font-size:1.1rem}.envelope-collection.list .envelope-widget .envelope-month{padding-top:6px}.envelope-collection.list .envelope-quick-actions{flex-wrap:nowrap;margin-bottom:0}.envelope-collection.list .envelope-quick-actions button{flex:1 1 0;min-width:0;padding-inline:6px;justify-content:center;white-space:nowrap}.envelope-collection.list .envelope-quick-actions button:first-child{flex:1 1 0;min-width:0}}.envelope-put-back{display:inline-flex;flex-wrap:wrap;gap:8px;align-items:center;margin-left:4px}.envelope-put-back button{min-height:36px;padding:4px 12px}.envelope-put-back [role=status]{font-size:.85rem}.envelope-collection.list .envelope-quick-actions{flex-wrap:wrap}.envelope-collection.list .envelope-quick-actions .envelope-ahead{flex:1 1 100%;order:9;justify-content:flex-start}.envelope-metrics .envelope-available .envelope-state.is-hold{color:#5f5f55;font-weight:600}[data-theme=dark] .envelope-metrics .envelope-available .envelope-state.is-hold{color:#c9c9bd}.entry-form .bill-autopay-field{min-height:44px;gap:8px}.bill-autopay-field span{line-height:1.35}.bill-autopay-field small{font-weight:400}.bill-schedule-impact{grid-column:1 / -1;margin:2px 0 6px;padding:10px 12px;border:1px solid var(--haven-border, #d8e2dc);border-radius:8px;background:var(--haven-panel, #f6f9f7);font-size:.84rem}[data-theme=dark] .bill-schedule-impact{background:#22302a;border-color:#3b4f45}.bill-schedule-impact.is-worse{background:#fbf1d8;border-color:#e6cf99;color:#6b4a12}[data-theme=dark] .bill-schedule-impact.is-worse{background:#3a3220;border-color:#6a5a34;color:#f3dfae}.bill-schedule-impact p{margin:0}.bill-schedule-impact ul{margin:6px 0 0;padding-left:18px;display:grid;gap:3px}.bill-schedule-impact-hint{margin-top:6px!important;font-weight:600}.entry-form .from-paycheck-field{align-items:flex-start;gap:8px;min-height:44px}.from-paycheck-field input{flex:0 0 auto;min-height:22px;margin-top:2px}.from-paycheck-field>span{display:grid;gap:3px;min-width:0}.from-paycheck-field small{color:var(--haven-muted, #63746c);font-size:.72rem;font-weight:400;line-height:1.4}[data-theme=dark] .from-paycheck-field small{color:#b8c4bd}.activity-form .activity-form-title{grid-column:1 / -1;margin:0;font-size:.95rem}.activity-form-note{grid-column:1 / -1;margin:0;padding:8px 10px;border-radius:8px;background:#eef4f0;background:var(--haven-style-soft, #eef4f0);color:#33424c;font-size:.8rem;line-height:1.4}[data-theme=dark] .activity-form-note{background:#1f2a26;color:#dfe7e3}.activity-form .activity-more{grid-column:1 / -1;min-width:0}.activity-form .activity-more>summary{display:flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;list-style:none;color:#33505f;font-size:.85rem;font-weight:700}.activity-form .activity-more>summary::-webkit-details-marker{display:none}.activity-form .activity-more>summary svg{flex:none;transition:transform .16s ease}.activity-form .activity-more[open]>summary svg{transform:rotate(180deg)}.activity-form .activity-more-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding-top:4px}.activity-form .activity-more-fields>.checkbox-label,.activity-form .activity-more-fields>.activity-form-note,.activity-form .activity-more-fields>.cadence-picker{grid-column:1 / -1}.activity-form .activity-more-fields>.checkbox-label{min-height:44px}.phone-sheet .activity-form .activity-more-fields{grid-template-columns:minmax(0,1fr)}@media(max-width:479px){.activity-form .activity-more-fields{grid-template-columns:minmax(0,1fr)}}[data-theme=dark] .activity-form .activity-more>summary{color:#c7d6de}.money-move{display:inline-flex;align-items:center;gap:4px;color:#33424c}[data-theme=dark] .money-move{color:#d5dde2}.record-summary .flow-category-label.transfer-kind{display:inline-flex;align-items:center;gap:5px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.record-summary .flow-category-label.transfer-kind>svg{flex:none}.record-summary .flow-category-label.transfer-kind>span{min-width:0;overflow:hidden;text-overflow:ellipsis}.record-summary .flow-category-label.transfer-kind>.transfer-kind-short{display:none}@container (max-width: 560px){.record-summary .flow-category-label.transfer-kind{padding:3px 6px}.record-summary .flow-category-label.transfer-kind>svg,.record-summary .flow-category-label.transfer-kind>.transfer-kind-full{display:none}.record-summary .flow-category-label.transfer-kind>.transfer-kind-short{display:inline}}.record-summary.is-transfer .flow-envelope-cell>span{font-size:.72rem;color:#5d6b66}[data-theme=dark] .record-summary.is-transfer .flow-envelope-cell>span{color:#aab8c1}.card-payment-prompt{flex:0 0 100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:6px 0 2px;padding:8px 10px;border:1px solid #c9d8cf;border-radius:8px;background:#f3f8f5;color:#2f3e38;font-size:.8rem;line-height:1.35}.card-payment-prompt>svg{flex:none;color:#4a6a5d}.card-payment-prompt>span{flex:1 1 220px;min-width:0}.card-payment-prompt-actions{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.card-payment-prompt button{min-height:44px}[data-theme=dark] .card-payment-prompt{border-color:#3b4b44;background:#1c2522;color:#e2ebe6}[data-theme=dark] .card-payment-prompt>svg{color:#9cc5b3}.account-history>div>span>small{display:block;margin-top:2px;color:#5d6b66;font-size:.72rem}[data-theme=dark] .account-history>div>span>small{color:#aab8c1}.activity-row-edit{display:none}@container (min-width: 561px){.ledger-resource.ledger-transactions .resource-list>li>.activity-row-edit{display:flex;position:absolute;top:12px;right:76px}.ledger-resource.ledger-transactions .resource-list>li>.activity-row-edit .icon-button{flex-basis:34px;width:34px;min-width:34px;height:34px;min-height:34px;padding:6px}.ledger-resource.ledger-transactions .resource-list>li>.ledger-details>summary{right:114px}.ledger-resource.ledger-transactions .resource-list>li>.record-summary{padding-right:152px}}@media(pointer:coarse){.card-payment-prompt button{min-width:44px}}@container (min-width: 561px) and (max-width: 820px){.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row{grid-template-columns:64px minmax(140px,1fr) minmax(96px,.8fr) minmax(84px,auto);grid-template-rows:auto auto;gap:4px 10px;align-items:center}.ledger-resource.ledger-transactions .resource-list>li>.record-summary.has-envelope-column.cash-flow-row{padding-right:40px}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-date{grid-column:1;grid-row:1 / span 2;align-self:start}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-payee{grid-column:2;grid-row:1}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-account-cell{grid-column:2;grid-row:2;align-self:start}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category-cell{grid-column:3;grid-row:1}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-envelope-cell{grid-column:3;grid-row:2}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-amount{grid-column:4;grid-row:1;align-self:start}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category-editor{grid-column:2 / -1;grid-row:3}.ledger-resource.ledger-transactions .resource-list>li>.ledger-details>summary{right:0}.ledger-resource.ledger-transactions .resource-list>li>.record-actions,.ledger-resource.ledger-transactions .resource-list>li>.activity-row-edit{top:52px}.ledger-resource.ledger-transactions .ledger-column-headings{display:flex;flex-wrap:wrap;gap:2px 4px;padding-right:0}}.overdraft-confirm{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;padding:10px 12px;border-left:4px solid #b78b31;border-radius:6px;background:var(--haven-surface, #fffef9);color:#6d531b}.overdraft-confirm p{margin:0;font-weight:600}.overdraft-confirm div{display:flex;flex-wrap:wrap;gap:8px}[data-theme=dark] .overdraft-confirm{color:#f0d79a}.new-account-inline{grid-column:1 / -1;display:grid;gap:8px;margin-top:6px;padding:12px;border:1px solid var(--haven-border, #d8e2dc);border-radius:8px;background:var(--haven-panel, #f6f9f7)}[data-theme=dark] .new-account-inline{background:#22302a;border-color:#3b4f45}.new-account-inline-title{margin:0;font-size:.9rem;font-weight:700}.new-account-inline-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.new-account-inline-fields label{display:grid;gap:4px;font-size:.82rem;font-weight:600}.new-account-inline-fields input,.new-account-inline-fields select{min-height:40px}.new-account-inline-note{margin:0;color:var(--haven-muted, #5d7468);font-size:.78rem}.new-account-inline-error{margin:0;color:#873f47;font-size:.82rem;font-weight:600}[data-theme=dark] .new-account-inline-error{color:#f2b8bf}.new-account-inline-actions{display:flex;gap:8px;flex-wrap:wrap}@media(max-width:719px){.new-account-inline-fields{grid-template-columns:1fr}.new-account-inline-fields input,.new-account-inline-fields select,.new-account-inline-actions button{min-height:44px;font-size:16px}}.activity-name{overflow-wrap:anywhere}.activity-name{display:inline-flex;align-items:center;max-width:100%;min-width:0}.activity-name-text{min-width:0}.activity-name .activity-name-edit{flex:none}.activity-name .activity-name-edit{display:inline-flex;vertical-align:middle;margin-left:4px;padding:4px;width:28px;height:28px;min-height:28px;background:transparent;border:0}.activity-name .activity-name-edit[hidden]{display:none}.activity-name-editor{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0;margin:4px 0}.activity-name-editor input{flex:1 1 130px;min-width:0;width:100%}.activity-name-editor .icon-button{flex:0 0 36px;width:36px;height:36px;min-height:36px;padding:6px}.activity-name-error{flex-basis:100%;color:var(--retreat-ink)}@media(pointer:coarse){.activity-name .activity-name-edit,.activity-name-editor .icon-button{width:44px;height:44px;min-height:44px}}.ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row{grid-template-columns:68px minmax(0,1fr) auto;grid-template-rows:auto;align-items:start;gap:0 12px;padding-right:48px}.ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row>.flow-date{grid-column:1;grid-row:1}.ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row>.flow-payee{grid-column:2;grid-row:1;min-width:0;min-height:0;padding-right:0;overflow:visible}.ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row>.flow-amount{grid-column:3;grid-row:1;margin:0;align-self:start}.ledger-resource.ledger-transactions .record-summary.activity-row .flow-payee strong.activity-name{display:flex;align-items:flex-start;white-space:normal}.ledger-resource.ledger-transactions .record-summary.activity-row .activity-name-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;white-space:normal;overflow-wrap:anywhere}.ledger-resource.ledger-transactions .record-summary.activity-row .record-context{display:block;margin-top:2px;overflow:hidden;color:var(--haven-muted, #5d6b66);font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.ledger-resource.ledger-transactions .record-summary.activity-row .flow-amount .flow-clear{min-height:32px;margin-top:4px;padding:2px 8px;font-size:.66rem}.ledger-resource.ledger-transactions .resource-list>li>.ledger-details.activity-details>summary{right:0}.activity-row-fields{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.activity-row-category{display:inline-flex;align-items:center;gap:8px;font-size:.78rem}.activity-row-category>span,.activity-row-envelope{color:var(--haven-muted, #5d6b66);font-size:.78rem}.activity-row-envelope{display:inline-flex;align-items:center;gap:8px}.activity-row-envelope select{min-width:0;max-width:220px;min-height:36px}.activity-row-kind{display:inline-flex;align-items:center;gap:6px;margin:0;color:var(--haven-muted, #5d6b66);font-size:.78rem}.ledger-resource.ledger-transactions .record-details-actions{display:flex}.activity-row-fields .flow-category-editor{flex:1 1 100%}.ledger-resource.ledger-transactions .ledger-column-headings.activity-filter-row{display:flex!important;flex-wrap:wrap;grid-template-columns:none!important;gap:2px 4px!important;padding:2px 0 2px 34px!important}.ledger-resource.ledger-transactions .activity-filter-row .ledger-column-control:last-child{text-align:left}.ledger-resource.ledger-transactions .activity-filter-row .ledger-column-button{width:auto;justify-content:flex-start!important}.ledger-resource.ledger-transactions .activity-filter-row .ledger-filter-menu{left:0!important;right:auto!important;width:min(260px,calc(100vw - 32px))!important}.ledger-resource.ledger-transactions .activity-filter-row .ledger-column-control:nth-last-child(-n+2) .ledger-filter-menu{left:auto!important;right:0!important}@media(max-width:479px){.ledger-resource.ledger-transactions .ledger-column-headings.activity-filter-row{flex-wrap:nowrap;justify-content:space-between;gap:0!important;padding-left:0!important}.ledger-resource.ledger-transactions .activity-filter-row .ledger-column-button{min-width:44px;padding-inline:0;gap:2px;justify-content:center!important;font-size:.56rem;letter-spacing:0}.ledger-resource.ledger-transactions .activity-filter-row .ledger-column-button .lucide-list-filter{display:none}}@media(pointer:coarse){.ledger-resource.ledger-transactions .record-summary.activity-row .flow-amount .flow-clear,.activity-row-envelope select,.activity-row-category .flow-category{min-height:44px;min-width:44px}.ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row{padding-right:52px}}@container (max-width: 560px){.ledger-resource.ledger-transactions .activity-filter-row .ledger-column-control[data-field=account],.ledger-resource.ledger-transactions .activity-filter-row .ledger-column-control[data-field=to],.ledger-resource.ledger-transactions .activity-filter-row .ledger-column-control[data-field=category],.ledger-resource.ledger-transactions .activity-filter-row .ledger-column-control[data-field=envelope]{display:none}}@container (max-width: 560px){.ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row{grid-template-columns:44px minmax(0,1fr) auto;column-gap:8px;padding-right:40px}.ledger-resource.ledger-transactions .record-summary.activity-row .flow-date strong{font-size:.76rem}.ledger-resource.ledger-transactions .record-summary.activity-row .flow-date span{font-size:.6rem}.ledger-resource.ledger-transactions .record-summary.activity-row .flow-payee strong,.ledger-resource.ledger-transactions .record-summary.activity-row .flow-amount strong{font-size:.86rem}.activity-row-envelope{flex:1 1 100%}.activity-row-envelope select{flex:1 1 auto;max-width:none}}@container (max-width: 560px){@media(pointer:coarse){.ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row{padding-right:48px}}}[data-theme=dark] .ledger-resource.ledger-transactions .record-summary.activity-row .record-context,[data-theme=dark] .activity-row-category>span,[data-theme=dark] .activity-row-envelope,[data-theme=dark] .activity-row-kind{color:#aab8c1}.ledger-resource.ledger-transactions .record-summary.activity-row .record-memo{display:block;margin-top:1px;overflow:hidden;color:var(--haven-muted, #5d6b64);font-size:.72rem;font-style:italic;text-overflow:ellipsis;white-space:nowrap}[data-activity-layout=table].ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row.is-table{grid-template-columns:68px minmax(0,1.5fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr) minmax(96px,auto);align-items:center;gap:0 12px}[data-activity-layout=table].ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row.is-table>.flow-account{grid-row:1;min-width:0;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}[data-activity-layout=table].ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row.is-table>.flow-from{grid-column:3}[data-activity-layout=table].ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row.is-table>.flow-to{grid-column:4}[data-activity-layout=table].ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row.is-table>.flow-category-col{grid-column:5;grid-row:1;min-width:0}[data-activity-layout=table].ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row.is-table>.flow-envelope-col{grid-column:6;grid-row:1;min-width:0}[data-activity-layout=table].ledger-resource.ledger-transactions .resource-list>li>.record-summary.activity-row.is-table>.flow-amount{grid-column:7;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:8px;align-self:center}[data-activity-layout=table].ledger-resource.ledger-transactions .record-summary.activity-row.is-table .activity-name-text{-webkit-line-clamp:1;line-clamp:1}[data-activity-layout=table].ledger-resource.ledger-transactions .record-summary.activity-row.is-table .record-memo{display:inline;margin:0 0 0 6px}[data-activity-layout=table].ledger-resource.ledger-transactions .record-summary.activity-row.is-table .flow-account .record-context{margin:0;font-size:.78rem;color:inherit}[data-activity-layout=table].ledger-resource.ledger-transactions .record-summary.activity-row.is-table .flow-category-col .flow-category,[data-activity-layout=table].ledger-resource.ledger-transactions .record-summary.activity-row.is-table .flow-envelope-col select{min-height:32px;max-width:100%;font-size:.78rem}[data-activity-layout=table].ledger-resource.ledger-transactions .record-summary.activity-row.is-table .flow-category-col .flow-category{padding:2px 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}[data-activity-layout=table].ledger-resource.ledger-transactions .record-summary.activity-row.is-table .flow-envelope-col select{width:100%;min-width:0;padding:2px 6px}[data-activity-layout=table].ledger-resource.ledger-transactions .record-summary.activity-row.is-table .flow-category-col .flow-category-editor{display:flex;gap:4px;align-items:center}[data-activity-layout=table].ledger-resource.ledger-transactions .record-summary.activity-row.is-table .flow-amount .flow-clear{margin:0;min-height:32px}[data-activity-layout=table].ledger-resource.ledger-transactions .ledger-column-headings.activity-filter-row{display:grid!important;grid-template-columns:68px minmax(0,1.5fr) minmax(0,.9fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1fr) minmax(96px,auto)!important;gap:0 12px!important;padding:2px 48px 2px 34px!important}[data-activity-layout=table].ledger-resource.ledger-transactions .activity-filter-row .ledger-column-control:last-child{text-align:right}[data-activity-layout=table].ledger-resource.ledger-transactions .activity-filter-row .ledger-column-control:last-child .ledger-column-button{justify-content:flex-end!important}[data-activity-layout=table].ledger-resource.ledger-transactions .activity-filter-row .ledger-column-control:last-child .ledger-filter-menu{left:auto!important;right:0!important}.fill-order-preview .fill-order-clears{padding:8px 10px;border:1px dashed var(--haven-style-line, #cbd8d0);border-radius:8px;background:var(--haven-style-soft, #eef4f0);font-size:.88rem}.fill-order-preview .fill-order-after{display:flex;justify-content:space-between;gap:12px;font-size:.9rem}.fill-order-preview .fill-order-after strong{white-space:nowrap}div.section-error[role=alert]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:14px 16px;border:1px solid var(--haven-hairline, #d7e1dc);border-radius:6px;background:var(--haven-surface, #fffef9);color:var(--haven-style-ink, #24433a)}.section-error p{margin:0}.section-error button{min-height:44px}.app-shell>header nav .nav-more-button{display:flex}@media(max-width:719px){.app-shell>header nav .nav-more-item{display:none}.app-shell>header nav button{min-height:44px}}@media(min-width:720px){.app-shell>header nav .nav-more-button{display:none}.nav-more-layer{display:none}}.nav-more-layer{position:fixed;inset:0;z-index:40}.nav-more-veil{position:absolute;inset:0;background:#121e1a61}.nav-more-sheet{position:absolute;left:8px;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));display:grid;gap:6px;padding:12px 12px 14px;border:1px solid var(--haven-style-line, #bfd0c7);border-radius:14px;background:var(--haven-surface, #fffef9);color:var(--haven-style-ink, #24433a);box-shadow:0 -8px 32px #0000002e}.nav-more-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.nav-more-head h2{margin:0;font-size:1rem}.nav-more-sheet ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}.nav-more-sheet li button{display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;min-height:48px;padding:10px 12px;color:inherit;background:transparent;border:0;border-radius:10px;font-size:.95rem;font-weight:600;text-align:left}.nav-more-sheet li button:hover{background:var(--haven-style-soft, #e7f0eb)}.nav-more-sheet li button.active{color:#174f43;background:#e7f0eb}[data-theme=dark] .nav-more-sheet{background:#1c2522;border-color:#37413b;color:#e7edf1}[data-theme=dark] .nav-more-sheet li button:hover,[data-theme=dark] .nav-more-sheet li button.active{color:#ecf5f1;background:#29433f}@media(prefers-reduced-motion:no-preference){.nav-more-sheet{animation:nav-more-rise .16s ease-out}@keyframes nav-more-rise{0%{opacity:0;transform:translateY(12px)}}}@media(max-width:719px){.app-shell>header nav .nav-quick-add{color:#174f43;color:oklch(from #174f43 l c var(--haven-style-hue, h));font-weight:700}.app-shell>header nav .nav-quick-add svg{width:30px;height:30px;margin-top:-4px;padding:5px;border-radius:50%;color:#fff;background:var(--haven-style-accent, #2f6b5c)}[data-theme=dark] .app-shell>header nav .nav-quick-add{color:#ecf5f1}}.auth-landing{--haven-display-font: Georgia, "Times New Roman", serif;--haven-body-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;position:relative;isolation:isolate;min-height:100dvh;display:grid;grid-template-rows:auto auto auto;padding:0;overflow:auto;color:#f8faf4;background-color:#29443a;font-family:var(--haven-body-font)}.auth-landing:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#122e267a,#122e267a),url(/haven/garden-day-1536.webp) center top / cover no-repeat}.auth-hero{min-height:100dvh;display:grid;grid-template-rows:auto 1fr;padding:28px 44px 34px}.auth-brand{width:min(1180px,100%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;font-family:var(--haven-display-font);font-size:1.35rem;font-weight:700}.auth-wordmark{display:inline-flex;align-items:center;gap:10px}.auth-public-nav{position:static;inset:auto;z-index:auto;width:auto;height:auto;display:flex;grid-template-columns:none;gap:22px;padding:0;color:inherit;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none;font-family:var(--haven-body-font);font-size:.76rem;font-weight:700}.auth-public-nav a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}.auth-demo-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-top:18px;padding:12px 16px;color:#173f35;background:#fff9e9;border:1px solid rgb(255 255 255 / 72%);font-weight:800;text-decoration:none}.auth-demo-link:hover{background:#fff}.auth-offer-banner{display:flex;align-items:center;gap:12px;max-width:620px;min-height:48px;margin-top:16px;padding:10px 12px;color:#173f35;background:#fff6d9;border:1px solid #ddc878;border-radius:6px;text-decoration:none;text-shadow:none}.auth-offer-banner:hover{background:#fff9e8;border-color:#c5a94b}.auth-offer-banner:focus-visible{outline:3px solid #fff;outline-offset:3px}.auth-offer-banner strong{font-size:.8rem}.auth-offer-count{flex:0 0 auto;margin-left:auto;font-size:.72rem;font-weight:800}.auth-offer-action{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding-left:12px;border-left:1px solid rgb(23 63 53 / 24%);font-size:.72rem;font-weight:800}.install-hint{display:flex;align-items:center;gap:12px;max-width:920px;margin:22px auto;padding:14px 16px;color:#173f35;background:#eef5f1;border:1px solid #c8d8d1}.install-hint>span{display:grid;place-items:center;width:38px;height:38px;background:#dcece5}.install-hint-copy{display:grid;flex:1;gap:2px}.install-hint small{color:#5d746b}.install-hint-actions{display:flex;gap:10px}.install-hint button{min-height:44px}.install-instructions{flex-basis:100%;margin:4px 0 0 50px;padding:14px 16px;background:#fff;border-left:3px solid #4d7d6d}.install-instructions ol{margin:8px 0;padding-left:22px;color:#405c53}.install-instructions li+li{margin-top:5px}.auth-layout{width:min(1180px,100%);margin:30px auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,430px);align-items:center;gap:72px}.auth-story{max-width:680px;text-shadow:0 2px 18px rgb(8 31 25 / 42%)}.auth-eyebrow,.auth-panel-mark{display:inline-flex;align-items:center;gap:7px;text-transform:uppercase;font-size:.72rem;font-weight:700;letter-spacing:0}.auth-story h1{max-width:680px;margin:14px 0 16px;color:inherit;font-family:var(--haven-display-font);font-size:clamp(1.45rem,2.5vw,1.625rem);font-weight:400;line-height:1.15;letter-spacing:0;overflow-wrap:anywhere}.auth-lede{max-width:620px;margin:0;color:#f8faf4;font-family:var(--haven-display-font);font-size:1.35rem;line-height:1.45}.auth-why{margin-top:34px;padding-top:20px;border-top:1px solid rgb(255 255 255 / 45%)}.auth-why h2{margin:0 0 17px;color:#fffdf5;font-family:var(--haven-display-font);font-size:1.15rem;font-weight:400}.auth-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 26px;margin:0;padding:0;list-style:none}.auth-benefits li{min-width:0;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:9px}.auth-benefits svg{margin-top:2px;color:#d8c17a}.auth-benefits span{display:grid;gap:5px}.auth-benefits strong{font-size:.88rem;line-height:1.35}.auth-benefits small{color:#eef3ec;font-size:.72rem;line-height:1.45}.auth-login-panel{width:100%;padding:28px 30px;color:#17352f;background:#fffcf3e8;border:1px solid rgb(255 255 255 / 88%);border-radius:8px;box-shadow:0 24px 64px #0f231d4d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-panel-mark{color:#6f5a1f}.auth-login-panel h2{margin:15px 0 8px;color:#17352f;font-family:var(--haven-display-font);font-size:2rem;font-weight:400;letter-spacing:0}.auth-login-panel>p{margin:0;color:#4e635b;font-size:.88rem;line-height:1.55}.auth-login-form{display:grid;gap:11px;margin-top:18px}.auth-login-form>label:not(.remember-browser){display:grid;gap:6px;color:#29443b;font-size:.78rem;font-weight:700}.auth-login-form input:not([type=checkbox]){min-width:0;width:100%;height:43px;padding:9px 12px;color:#17352f;background:#fffffce0;border:1px solid #aebfb6;border-radius:6px;font:inherit;font-weight:400}.auth-login-form input:not([type=checkbox]):focus{outline:3px solid rgb(69 112 98 / 28%);border-color:#346858}.auth-login-panel .remember-browser{min-height:44px;cursor:pointer}.auth-login-panel .remember-browser input{outline:none;cursor:pointer}.auth-login-panel .remember-browser input:focus-visible{outline:2px solid #346858;outline-offset:2px}.auth-text-action{justify-self:end;padding:0;color:#285c51;background:transparent;font-size:.76rem;font-weight:700}.auth-text-action:hover{color:#173f36;background:transparent}.auth-paste-action{display:inline-flex;align-items:center;gap:5px}.auth-login-panel .remember-browser{margin:2px 0 0;color:#29443b;background:#f4f7f0c7;border-color:#cad8cf}.auth-login-panel .remember-browser small{color:#60736b}.auth-signin-button{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:10px}.auth-signin-button svg{flex:0 0 auto}.auth-login-panel .auth-error{margin-top:12px;color:#932d36}.auth-login-panel .auth-form-message{margin-top:12px;color:#315f52}.auth-password-help{margin:0;color:#60736b;font-size:.7rem;line-height:1.45}.auth-reset-return{margin-top:18px}.auth-create-account{padding-top:16px;text-align:center}.auth-primary-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;margin-top:22px;padding:12px 22px;color:#173f35;background:#f4d77b;border:1px solid #fff3c4;border-radius:6px;box-shadow:0 10px 28px #081f1947;font-size:1rem;font-weight:800;text-shadow:none}.auth-primary-cta:hover{color:#173f35;background:#ffe39a}.auth-primary-cta:focus-visible{outline:3px solid #fff;outline-offset:3px}.auth-primary-cta svg{flex:0 0 auto}.auth-login-panel .auth-age-check a{color:#285c51;font-weight:700}.auth-create-account button{padding:0;color:#285c51;background:transparent;font-size:inherit;font-weight:700}.auth-create-account button:hover{color:#173f36;background:transparent}.auth-back-action{justify-self:center;display:inline-flex;align-items:center;gap:6px;padding:6px 8px;color:#536a61;background:transparent;font-size:.76rem}.auth-back-action:hover{color:#29443b;background:#e3ebe5b3}.auth-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.auth-signup-form input:not([type=checkbox]){height:44px}.auth-login-form input[aria-invalid=true]{border-color:#932d36}.auth-field{display:grid;gap:6px}.auth-field>label{color:#29443b;font-size:.78rem;font-weight:700}.auth-password-input{position:relative}.auth-login-form .auth-password-input input{padding-right:84px}.auth-password-toggle{position:absolute;top:0;right:0;min-width:76px;height:44px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;color:#285c51;background:transparent;border-radius:0 6px 6px 0;font-size:.76rem;font-weight:700}.auth-password-toggle:hover{color:#173f36;background:#e3ebe5b3}.auth-password-toggle:focus-visible{outline:3px solid rgb(69 112 98 / 45%);outline-offset:-3px}.auth-password-rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 12px;margin:2px 0 0;padding:0;list-style:none;color:#60736b;font-size:.72rem;line-height:1.35}.auth-password-rules li{display:flex;align-items:flex-start;gap:5px}.auth-password-rules svg{flex:0 0 auto;margin-top:1px}.auth-password-rules li[data-met=true]{color:#2c6a4f;font-weight:700}.auth-signup-privacy{display:flex;align-items:flex-start;gap:6px}.auth-signup-privacy svg{flex:0 0 auto;margin-top:2px}.auth-email-echo{color:#17352f;overflow-wrap:anywhere}.auth-signup-existing button{min-height:0;padding:0;color:#285c51;background:transparent;font-size:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px}.auth-signup-existing button:hover{color:#173f36;background:transparent}.auth-create-account button{min-height:44px}.auth-mfa-form input{text-align:center;font-size:1.2rem!important;letter-spacing:.22rem!important}.auth-login-panel .auth-security-note{margin-top:14px;display:flex;align-items:flex-start;gap:8px;color:#65756e;font-size:.72rem}.auth-security-note svg{flex:0 0 auto;color:#477062}.auth-trust{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:44px 72px;padding:72px max(44px,calc((100% - 1180px)/2));color:#17352f;background:#f3f1e8;border-top:1px solid rgb(255 255 255 / 55%)}.auth-trust-copy{max-width:580px}.auth-trust-mark{display:inline-flex;align-items:center;gap:8px;color:#735d24;font-size:.72rem;font-weight:700;text-transform:uppercase}.auth-trust h2{margin:14px 0 18px;color:#17352f;font-family:var(--haven-display-font);font-size:3.15rem;font-weight:400;line-height:1.08;letter-spacing:0}.auth-trust p{margin:0;color:#50665e;font-size:.9rem;line-height:1.7}.auth-trust-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:0;margin:0;padding:0;border-top:1px solid #c9d4cc;list-style:none}.auth-trust-points li{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;min-height:82px;padding:16px 8px;border-bottom:1px solid #c9d4cc;color:#29483f;font-weight:700}.auth-trust-points li:nth-child(odd){padding-right:22px;border-right:1px solid #c9d4cc}.auth-trust-points li:nth-child(2n){padding-left:22px}.auth-trust-points svg{width:22px;color:#7b692e}.auth-safety-note{grid-column:1 / -1;padding-top:22px;border-top:1px solid #c9d4cc;font-size:.76rem!important}.auth-pricing{padding:64px 44px;scroll-margin-top:24px;color:#17352f;background:#fbfaf4;border-top:1px solid #d7dfd9}.auth-pricing-inner{width:min(840px,100%);margin-inline:auto}.auth-pricing h2{margin:12px 0 24px;color:inherit;font-family:var(--haven-display-font);font-size:2rem;font-weight:400;line-height:1.15}.auth-pricing-inner>ul{display:grid;gap:18px;margin:0;padding-left:22px;color:#50665e;font-size:.95rem;line-height:1.6}.auth-pricing-inner>ul>li{padding-left:4px}.auth-pricing .pricing-plans{margin-top:28px}.auth-pricing-inner>p{margin:24px 0 0;color:#29483f}.auth-pricing-details{margin-top:28px;padding-top:22px;border-top:1px solid #d7dfd9}.auth-pricing-details a{display:inline-flex;align-items:center;gap:7px;min-height:44px;color:#285c51;font-weight:800;text-underline-offset:4px}.auth-footer{width:100%;display:flex;justify-content:space-between;gap:20px;padding:22px max(44px,calc((100% - 1180px)/2));color:#eaf0e9;background:#17352f;font-size:.72rem}.auth-footer nav{position:static;inset:auto;z-index:auto;width:auto;height:auto;display:flex;grid-template-columns:none;gap:22px;padding:0;color:inherit;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.auth-footer a{color:inherit;text-decoration-thickness:1px;text-underline-offset:4px}.auth-loading{grid-template-rows:1fr;place-items:center}.auth-loading .auth-progress{padding:28px 36px;color:#17352f;background:#fffcf3e8;border:1px solid rgb(255 255 255 / 88%);border-radius:8px;box-shadow:0 20px 60px #0f231d47;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.auth-loading .auth-progress h1{color:#17352f;font-family:var(--haven-display-font);font-size:clamp(1.45rem,2.5vw,1.625rem);font-weight:400}.auth-loading .auth-progress svg{animation:auth-pulse 1.3s ease-in-out infinite;color:#477062}@keyframes auth-pulse{50%{opacity:.45;transform:scale(.92)}}[data-theme=dark] .auth-landing{background-color:#142521}[data-theme=dark] .auth-landing:before{background-image:linear-gradient(#07181575,#07181575),url(/haven/garden-night-1536.webp)}[data-theme=dark] .auth-login-panel .remember-browser{color:#29443b;background:#f4f7f0c7;border-color:#cad8cf}[data-theme=dark] .auth-login-panel .remember-browser small{color:#60736b}.auth-pricing,.auth-login-panel .remember-browser{color-scheme:light}.auth-pricing-inner>ul a{color:#285c51;font-weight:700;text-underline-offset:3px}.policy-page{--haven-display-font: Georgia, "Times New Roman", serif;--haven-body-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;min-height:100dvh;color:#213a34;background:#f6f4ec;font-family:var(--haven-body-font)}.policy-header{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px max(24px,calc((100% - 1040px)/2));background:#17352f}.policy-brand{display:inline-flex;align-items:center;gap:9px;color:#f8f7f0;font-family:var(--haven-display-font);font-size:1.25rem;font-weight:700;text-decoration:none}.policy-header nav{position:static;inset:auto;z-index:auto;width:auto;height:auto;display:flex;grid-template-columns:none;align-content:initial;align-self:auto;gap:10px;padding:0;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.policy-header nav a{padding:8px 10px;color:#e4ede6;font-size:.78rem;text-decoration:none}.policy-header nav a[aria-current=page]{color:#fff;border-bottom:2px solid #d2b966}.policy-article{width:min(800px,calc(100% - 40px));margin:0 auto;padding:58px 0 76px}.policy-back{display:inline-flex;align-items:center;gap:7px;margin-bottom:42px;color:#48675d;font-size:.78rem;font-weight:700;text-decoration:none}.policy-mark{display:flex;align-items:center;gap:8px;color:#766125;font-size:.72rem;font-weight:700;text-transform:uppercase}.policy-article h1{max-width:720px;margin:15px 0 18px;color:#17352f;font-family:var(--haven-display-font);font-size:clamp(1.45rem,2.5vw,1.625rem);font-weight:400;line-height:1.15;letter-spacing:0}.policy-lede{max-width:680px;margin:0;color:#526860;font-family:var(--haven-display-font);font-size:1.25rem;line-height:1.55}.policy-divider{display:flex;align-items:center;gap:14px;margin:42px 0 12px;color:#846e2e}.policy-divider:after{content:"";height:1px;flex:1;background:#c8d4cc}.policy-article section{padding:25px 0;border-bottom:1px solid #d4ddd6}.policy-article section h2{margin:0 0 9px;color:#213c34;font-family:var(--haven-display-font);font-size:1.28rem;font-weight:400;letter-spacing:0}.policy-article section p{margin:0 0 12px;color:#50645d;font-size:.88rem;line-height:1.72}.policy-article section p:last-child{margin-bottom:0}.policy-article section a{color:#315f52;font-weight:700;text-underline-offset:3px}.policy-caution{margin:30px 0 4px;padding:20px 22px;color:#3e514a;background:#e6ece6;border:1px solid #cbd7ce;border-left:4px solid #6c8c7d;border-radius:5px;font-size:.84rem;line-height:1.65}.policy-caution strong{color:#213a34}.policy-footer{display:flex;justify-content:space-between;gap:20px;padding:24px max(24px,calc((100% - 1040px)/2));color:#dbe5de;background:#17352f;font-size:.72rem}@media(max-width:900px){.auth-landing:before{background-position:62% top}.auth-hero{padding:24px}.auth-layout{grid-template-columns:1fr;gap:34px;margin-block:48px 32px}.auth-story{max-width:680px}.auth-story h1{font-size:clamp(1.45rem,2.5vw,1.625rem)}.auth-why{margin-top:30px}.auth-login-panel{width:min(520px,100%)}.auth-trust{grid-template-columns:1fr;padding:58px 32px}}@media(max-width:600px){.auth-landing:before{background-image:linear-gradient(#122e267a,#122e267a),url(/haven/garden-day-960.webp);background-position:67% top}.auth-hero{min-height:auto;padding:12px 14px 24px}.auth-brand{display:grid;align-items:flex-start;gap:14px}.auth-public-nav{width:100%;flex-wrap:wrap;gap:8px 16px;font-size:.72rem}.install-hint{align-items:flex-start;flex-wrap:wrap;margin:14px}.install-hint-copy{min-width:calc(100% - 54px)}.install-hint-actions{width:100%}.install-hint-actions button{flex:1}.install-instructions{margin-left:0}[data-theme=dark] .auth-landing:before{background-image:linear-gradient(#07181575,#07181575),url(/haven/garden-night-960.webp)}.auth-layout{margin-block:9px 20px;gap:10px}.auth-story{display:contents}.auth-eyebrow{display:none}.auth-story h1{order:2}.auth-lede{order:3}.auth-primary-cta{order:3;width:100%;min-height:46px;margin-top:4px}.auth-offer-banner{order:4}.auth-login-panel{order:5}.auth-demo-link{order:6}.auth-why{order:7}.auth-story h1{margin:3px 0 2px;font-size:1.45rem}.auth-lede{font-size:.94rem;line-height:1.35}.auth-why{margin-top:4px;padding-top:20px}.auth-benefits{grid-template-columns:1fr;gap:14px}.auth-benefits small{font-size:.75rem}.auth-login-panel{padding:14px}.auth-login-panel h2{margin:7px 0 3px;font-size:1.45rem}.auth-login-panel>p{font-size:.78rem;line-height:1.35}.auth-login-form{gap:7px;margin-top:9px}.auth-login-form input:not([type=checkbox]){height:40px}.auth-login-panel .remember-browser{min-height:56px;padding-block:7px}.auth-signin-button{min-height:44px}.auth-signup-form input:not([type=checkbox]){height:44px}.auth-password-rules{gap:2px 10px;font-size:.7rem}.auth-create-account{padding-top:8px}.auth-login-panel .auth-security-note{margin-top:7px}.auth-offer-banner{flex-wrap:wrap;margin-top:4px;padding:10px 12px}.auth-offer-banner strong{flex:1 1 calc(100% - 96px)}.auth-offer-count{margin-left:0}.auth-offer-action{flex-basis:100%;justify-content:flex-end;padding:8px 0 0;border-top:1px solid rgb(23 63 53 / 18%);border-left:0}.auth-trust{gap:36px;padding:48px 20px}.auth-trust h2{font-size:2.35rem}.auth-trust-points{grid-template-columns:1fr}.auth-trust-points li:nth-child(odd),.auth-trust-points li:nth-child(2n){padding-inline:6px;border-right:0}.auth-footer,.policy-footer{flex-direction:column;gap:8px;padding-inline:20px}.auth-pricing{padding:46px 20px;scroll-margin-top:12px}.auth-pricing h2{font-size:1.8rem}.auth-pricing-inner>ul{gap:16px;padding-left:20px;font-size:.9rem}.policy-header{flex-wrap:wrap;gap:4px 16px;min-height:0;padding:12px 20px 8px}.policy-header nav{width:100%;flex-wrap:wrap;gap:0 2px;margin-left:-10px}.policy-article{width:min(100% - 36px,800px);padding-top:38px}.policy-back{margin-bottom:32px}.policy-article h1{font-size:clamp(1.45rem,5.5vw,1.625rem)}}@media(prefers-reduced-motion:reduce){.auth-loading .auth-progress svg{animation:none}}.auth-story .auth-offer-banner{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 8px;width:fit-content;max-width:100%;min-height:36px;margin-top:20px;padding:6px 8px 6px 14px;color:#173f35;background:#fff6d9;border:1px solid #ddc878;border-radius:999px;font-size:.86rem;font-weight:600;text-decoration:none}.auth-story .auth-offer-banner strong{font-size:inherit;font-weight:800}.auth-story .auth-offer-banner .auth-offer-action{padding:4px 10px;border:0;border-radius:999px;background:#173f3517;font-size:.8rem}.auth-story .auth-offer-banner:hover .auth-offer-action{background:#173f3529}.auth-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px}.auth-cta-row .auth-primary-cta{margin-top:0}.auth-cta-row .auth-demo-link{min-height:52px;margin-top:0;padding:12px 20px;color:#fff;background:#081f1961;border:2px solid rgb(255 255 255 / 85%);border-radius:6px}.auth-cta-row .auth-demo-link:hover{color:#fff;background:#081f198c}.auth-cta-row .auth-demo-link:focus-visible{outline:3px solid #fff;outline-offset:3px}.auth-cta-note{margin:10px 0 0;color:#ffffffeb;font-size:.86rem;text-shadow:0 1px 2px rgb(0 0 0 / 45%)}@media(max-width:600px){.auth-story .auth-offer-banner{order:3;justify-content:center;width:100%;margin-top:4px;padding:6px 10px;border-radius:14px;font-size:.8rem;text-align:center}.auth-story .auth-offer-banner strong{flex:0 0 auto}.auth-story .auth-offer-banner .auth-offer-action{flex-basis:auto;justify-content:center;padding:3px 10px;border-top:0}.auth-cta-row{order:4;flex-direction:column;align-items:stretch;gap:8px;margin-top:4px}.auth-cta-row .auth-primary-cta,.auth-cta-row .auth-demo-link{width:100%;justify-content:center;min-height:46px}.auth-cta-note{order:4;margin-top:2px;text-align:center}}.policy-article .analytics-choice{margin-top:18px;padding:16px 18px;background:#eef2ec;border:1px solid #cbd7ce;border-radius:8px}.policy-article .analytics-choice .analytics-choice-label{margin:0 0 10px;color:#213c34;font-size:.95rem;font-weight:700}.policy-article .analytics-choice .analytics-choice-buttons{display:inline-flex;gap:4px;padding:3px;background:#fff;border:1px solid #9fb4a9;border-radius:10px}.policy-article .analytics-choice .analytics-choice-buttons button{min-width:76px;min-height:44px;padding:0 18px;color:#213c34;background:transparent;border:1px solid transparent;border-radius:7px;font-weight:700}.policy-article .analytics-choice .analytics-choice-buttons button[aria-pressed=true]{color:#fff;background:#17352f}.policy-article .analytics-choice .analytics-choice-buttons button:not(:disabled):hover{border-color:#6c8c7d}.policy-article .analytics-choice .analytics-choice-buttons button:focus-visible{outline:3px solid #b8962f;outline-offset:2px}.policy-article .analytics-choice .analytics-choice-buttons button:disabled{opacity:.6;cursor:not-allowed}.policy-article .analytics-choice .analytics-choice-status{margin:10px 0 0;color:#3e514a;font-size:.86rem;line-height:1.6}.early-adopter-details .policy-article section ul{display:grid;gap:8px;margin:0;padding-left:20px;color:#50645d;font-size:.88rem;line-height:1.72}.bingo-view{--bingo-accent: var(--haven-style-accent, #315d54);--bingo-ink: var(--haven-style-ink, #24433a);--bingo-surface: var(--haven-surface, #fffef9);--bingo-soft: var(--haven-style-soft, #e7f0eb);--bingo-line: var(--haven-style-line, #bfd0c7);--bingo-muted: var(--haven-muted, #55655e);--bingo-done: color-mix(in oklab, var(--bingo-accent) 15%, var(--bingo-surface));--bingo-done-line: color-mix(in oklab, var(--bingo-accent) 38%, var(--bingo-surface));--bingo-tile: color-mix(in oklab, var(--bingo-soft) 28%, var(--bingo-surface));--bingo-shadow: 0 1px 2px rgb(20 28 24 / 6%), 0 6px 18px -10px rgb(20 28 24 / 22%);display:grid;gap:14px;padding-bottom:12px;color:var(--bingo-ink);font-family:var(--haven-body-font)}[data-theme=dark] .bingo-view{--bingo-shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 8px 20px -12px rgb(0 0 0 / 60%);--bingo-done: color-mix(in oklab, var(--bingo-accent) 34%, var(--bingo-surface));--bingo-done-line: color-mix(in oklab, var(--haven-accent-text, #9fd0c0) 45%, var(--bingo-surface));--bingo-tile: color-mix(in oklab, var(--bingo-soft) 55%, var(--bingo-surface))}.bingo-view h2,.bingo-view h3,.bingo-view h4{font-family:var(--haven-display-font);color:var(--bingo-ink);letter-spacing:0}.bingo-hero{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px 20px}.bingo-hero h2{margin:4px 0 2px;font-size:clamp(1.7rem,4.6vw,2.5rem);line-height:1.1}.bingo-subtitle{margin:0;color:var(--bingo-muted);font-size:1.02rem}.bingo-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.bingo-view .bingo-primary,.bingo-view .bingo-companion-actions button:not(.secondary),.bingo-view .bingo-confirm-actions button:not(.secondary),.bingo-view .bingo-editor-actions button:not(.secondary),.bingo-view .bingo-view-toggle .active,.bingo-view .bingo-groups .active,.bingo-view .bingo-icon-picker .active,.bingo-offer-bubble .bingo-companion-actions button:not(.secondary){color:#fff;background:linear-gradient(180deg,color-mix(in oklab,var(--bingo-accent, var(--haven-style-accent)) 88%,white),var(--bingo-accent, var(--haven-style-accent)));border-color:color-mix(in oklab,var(--bingo-accent, var(--haven-style-accent)) 80%,black)}.bingo-primary,.bingo-secondary{min-height:46px;padding:10px 20px;border-radius:999px;font-weight:650}.bingo-primary{box-shadow:0 6px 16px -8px color-mix(in oklab,var(--bingo-accent) 70%,transparent)}.bingo-view .secondary{color:var(--bingo-ink);background:var(--bingo-surface);border-color:var(--bingo-line)}.bingo-view button:focus-visible,.bingo-view input:focus-visible,.bingo-offer-bubble button:focus-visible,.bingo-celebration button:focus-visible{outline:3px solid var(--haven-accent-text, var(--bingo-accent));outline-offset:2px}.bingo-reassure{display:inline-flex;align-items:center;gap:10px;max-width:340px;margin:0;padding:12px 16px;border:1px solid var(--bingo-line);border-radius:14px;background:color-mix(in oklab,var(--bingo-soft) 60%,var(--bingo-surface));color:var(--bingo-muted);font-size:.9rem;line-height:1.35}.bingo-reassure svg{flex:none;color:var(--bingo-accent)}[data-theme=dark] .bingo-reassure svg,[data-theme=dark] .bingo-tile-icon{color:var(--haven-accent-text)}.bingo-confirm,.bingo-undo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin:0;padding:12px 16px;border:1px solid var(--bingo-line);border-left:4px solid var(--bingo-accent);border-radius:12px;background:var(--bingo-surface);box-shadow:var(--bingo-shadow)}.bingo-confirm p{margin:4px 0 0;color:var(--bingo-muted);font-size:.92rem}.bingo-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.bingo-error{margin:0;color:#9b2f2f;font-weight:600}[data-theme=dark] .bingo-error{color:#ffb4a8}.bingo-message{margin:0;color:var(--bingo-muted);font-size:.92rem;min-height:0}.bingo-message:empty{display:none}.bingo-link{min-height:0;padding:0;border:0;background:none!important;color:var(--haven-accent-text, var(--bingo-accent));text-decoration:underline;font-weight:600}:root:not([data-theme=dark]) .bingo-link{color:var(--bingo-accent)}.bingo-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;align-items:start}@media(min-width:1000px){.bingo-layout{grid-template-columns:minmax(0,1fr) minmax(250px,300px)}}.bingo-card,.bingo-progress,.bingo-companion{border:1px solid var(--bingo-line);border-radius:18px;background:var(--bingo-surface);box-shadow:var(--bingo-shadow)}.bingo-card{padding:clamp(12px,2.4vw,22px)}.bingo-card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.bingo-card-head h3{margin:0;font-size:clamp(1.35rem,3.6vw,2rem);line-height:1.15}.bingo-month{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--bingo-line);border-radius:12px;background:var(--bingo-surface)}.bingo-month span{min-width:9.5em;text-align:center;font-size:.95rem;font-weight:600}.bingo-month .icon-button{min-width:40px;min-height:40px;border:0;background:transparent}.bingo-month-note,.bingo-draft-note{margin:0 0 10px;color:var(--bingo-muted);font-size:.9rem}.bingo-draft-note{margin:10px 0 0}.bingo-view-toggle{display:flex;justify-content:flex-end;gap:6px;margin-bottom:10px}.bingo-view-toggle button{min-height:44px;padding:4px 14px;border-radius:999px;font-size:.85rem}.bingo-loading{color:var(--bingo-muted)}.bingo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr;gap:clamp(4px,1.6cqi,10px)}.bingo-card{container-type:inline-size}.bingo-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:clamp(76px,17cqi,120px);padding:clamp(6px,1.6cqi,12px) clamp(3px,1.1cqi,10px);color:var(--bingo-ink);background:var(--bingo-tile);border:1px solid var(--bingo-line);border-radius:clamp(8px,2cqi,12px);box-shadow:0 1px 1px #141c180a;font-family:var(--haven-body-font);text-align:center;overflow:hidden;transition:background-color .18s ease,border-color .18s ease,transform .12s ease,box-shadow .18s ease}button.bingo-tile:hover:not(:disabled){border-color:var(--bingo-done-line);box-shadow:var(--bingo-shadow);transform:translateY(-1px)}button.bingo-tile:active:not(:disabled){transform:translateY(0) scale(.98)}button.bingo-tile:disabled{opacity:1;cursor:default}.bingo-tile-icon{flex:none;width:clamp(15px,3.6cqi,22px);height:clamp(15px,3.6cqi,22px);color:var(--bingo-accent);stroke-width:1.6}.bingo-tile-text{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden;font-size:clamp(.62rem,2.3cqi,.9rem);line-height:1.2;max-width:100%;overflow-wrap:break-word}.bingo-tile.done{background:var(--bingo-done);border-color:var(--bingo-done-line)}.bingo-tile.done .bingo-tile-text{font-weight:600}.bingo-tile.in-line{box-shadow:inset 0 0 0 1px var(--bingo-done-line),0 1px 1px #141c180a}.bingo-tile.blank .bingo-tile-text{color:var(--bingo-muted);font-style:italic}.bingo-tile.blank{border-style:dashed}.bingo-check{position:absolute;top:clamp(3px,1.2cqi,8px);right:clamp(3px,1.2cqi,8px);display:grid;place-items:center;width:clamp(15px,3.4cqi,22px);height:clamp(15px,3.4cqi,22px);border-radius:50%;color:#fff;background:var(--bingo-accent);box-shadow:0 0 0 2px var(--bingo-surface)}.bingo-check svg{width:70%;height:70%}.bingo-free{gap:3px;color:#fff;background:linear-gradient(160deg,color-mix(in oklab,var(--bingo-accent) 82%,white),var(--bingo-accent) 55%,color-mix(in oklab,var(--bingo-accent) 72%,black));border-color:color-mix(in oklab,var(--bingo-accent) 70%,black);box-shadow:inset 0 1px #ffffff38,var(--bingo-shadow)}.bingo-free strong{font-family:var(--haven-display-font);font-size:clamp(.78rem,3.4cqi,1.25rem);letter-spacing:.06em}.bingo-free span{font-size:clamp(.55rem,1.9cqi,.78rem);line-height:1.2;opacity:.92}.bingo-free svg{width:clamp(14px,3.6cqi,22px);height:clamp(14px,3.6cqi,22px);fill:currentColor}@media(prefers-reduced-motion:no-preference){.bingo-tile.done .bingo-check{animation:bingo-pop .28s cubic-bezier(.2,.9,.3,1.3)}@keyframes bingo-pop{0%{transform:scale(.4);opacity:0}}}@container (max-width: 420px){.bingo-free span{display:none}.bingo-tile{gap:3px}.bingo-tile-text{-webkit-line-clamp:5}}.bingo-list{display:grid;gap:6px;margin:0;padding:0;list-style:none}.bingo-list label{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px;border:1px solid var(--bingo-line);border-radius:10px;background:var(--bingo-tile);cursor:pointer}.bingo-list li.done label{background:var(--bingo-done);border-color:var(--bingo-done-line)}.bingo-list input{flex:none;width:20px;min-height:20px;height:20px;accent-color:var(--bingo-accent)}.bingo-list svg{flex:none;color:var(--bingo-accent)}[data-theme=dark] .bingo-list svg{color:var(--haven-accent-text)}.bingo-empty{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:20px;align-items:center}.bingo-empty h4{margin:0 0 6px;font-size:1.25rem}.bingo-empty p{margin:0;color:var(--bingo-muted)}.bingo-ghost{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.bingo-ghost span{display:grid;place-items:center;aspect-ratio:1;border:1px dashed var(--bingo-line);border-radius:7px;background:var(--bingo-tile)}.bingo-ghost span.free{color:#fff;background:var(--bingo-accent);border-style:solid}@media(max-width:560px){.bingo-empty{grid-template-columns:1fr}.bingo-ghost{max-width:220px}}.bingo-side{display:grid;gap:14px}@media(min-width:640px)and (max-width:999px){.bingo-side{grid-template-columns:1fr 1fr}}.bingo-companion-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.bingo-companion-actions button{min-height:44px;padding:8px 10px;border-radius:10px;font-weight:600}.bingo-progress{padding:16px}.bingo-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.bingo-progress-head h4{margin:0;font-size:1.1rem}.bingo-progress-head p{margin:0;color:var(--bingo-muted)}.bingo-progress-head strong{color:var(--bingo-ink);font-size:1.3rem}.bingo-bar{height:10px;margin:12px 0;overflow:hidden;border-radius:999px;background:color-mix(in oklab,var(--bingo-soft) 80%,var(--bingo-surface));box-shadow:inset 0 0 0 1px var(--bingo-line)}.bingo-bar span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,color-mix(in oklab,var(--bingo-accent) 75%,white),var(--bingo-accent));transition:width .35s ease}.bingo-progress dl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0}.bingo-progress dl div{padding:8px 10px;border-radius:10px;background:color-mix(in oklab,var(--bingo-soft) 55%,var(--bingo-surface))}.bingo-progress dt{color:var(--bingo-muted);font-size:.8rem}.bingo-progress dd{margin:2px 0 0;font-weight:700;font-size:1.1rem}.bingo-progress-note{margin:10px 0 0;color:var(--bingo-muted);font-size:.88rem}.bingo-editor{display:grid;gap:12px}.bingo-editor-intro{margin:0;color:var(--bingo-muted)}.bingo-editor-starts{display:flex;flex-wrap:wrap;gap:8px}.bingo-reuse{justify-self:start}.bingo-tile.selected{outline:3px solid var(--bingo-accent);outline-offset:1px;background:var(--bingo-done)}[data-theme=dark] .bingo-tile.selected{outline-color:var(--haven-accent-text)}.bingo-square-editor{display:grid;gap:12px;padding:14px;border:1px solid var(--bingo-line);border-radius:14px;background:color-mix(in oklab,var(--bingo-soft) 35%,var(--bingo-surface))}.bingo-field{display:grid;gap:4px;font-weight:600}.bingo-field input{width:100%;padding:10px 12px;border:1px solid var(--bingo-line);background:var(--bingo-surface);color:var(--bingo-ink);font-weight:400}.bingo-field small{justify-self:end;color:var(--bingo-muted);font-weight:400}.bingo-icon-picker{display:flex;flex-wrap:wrap;gap:4px}.bingo-icon-picker button{width:40px;min-width:40px;min-height:40px;padding:0;border-radius:10px}.bingo-square-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bingo-square-tools>span{display:inline-flex;gap:4px}.bingo-square-tools .icon-button{min-width:44px}.bingo-groups{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.bingo-groups button{min-height:44px;padding:4px 14px;border-radius:999px;font-size:.88rem}.bingo-suggestions ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:6px;margin:0;padding:0;list-style:none}.bingo-suggestions li button{justify-content:flex-start;width:100%;min-height:44px;padding:8px 12px;border-radius:10px;text-align:left}.bingo-suggestions li button small{color:var(--bingo-muted)}.bingo-suggestions svg{flex:none;color:var(--bingo-accent)}.bingo-editor-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:8px;padding:10px 0;background:var(--bingo-surface)}.bingo-celebration,.bingo-offer-bubble{--bingo-accent: var(--haven-style-accent, #315d54);--bingo-surface: var(--haven-surface, #fffef9);--bingo-line: var(--haven-style-line, #bfd0c7);display:flex;align-items:center;gap:12px;color:var(--haven-style-ink, #24433a);background:var(--bingo-surface);border:1px solid var(--bingo-line);border-radius:16px;box-shadow:0 18px 40px -16px #141c1873;font-family:var(--haven-body-font)}.bingo-celebration{position:fixed;z-index:60;top:84px;right:20px;width:min(380px,calc(100vw - 32px));padding:14px 14px 14px 18px;overflow:visible}.bingo-celebration>svg{flex:none;color:var(--bingo-accent)}[data-theme=dark] .bingo-celebration>svg{color:var(--haven-accent-text)}.bingo-celebration strong{display:block;font-family:var(--haven-display-font);font-size:1.7rem;line-height:1.1;letter-spacing:.02em}.bingo-celebration p{margin:2px 0 0;color:var(--haven-muted, #55655e)}.bingo-celebration div{flex:1}.bingo-celebration .icon-button{align-self:flex-start;min-width:36px;min-height:36px;padding:0;border:0;background:transparent;color:inherit}.bingo-celebration.full{border-color:color-mix(in oklab,var(--bingo-accent) 45%,var(--bingo-line))}.bingo-confetti{position:absolute;inset:-6px 0 auto;height:0;pointer-events:none}.bingo-confetti i{position:absolute;top:0;width:7px;height:11px;border-radius:2px;opacity:0}.bingo-confetti .tone-0{background:var(--haven-style-accent, #315d54)}.bingo-confetti .tone-1{background:var(--haven-style-highlight, #d7b767)}.bingo-confetti .tone-2{background:color-mix(in oklab,var(--haven-style-accent, #315d54) 45%,white)}.bingo-confetti .tone-3{background:var(--haven-style-line, #bfd0c7)}@media(prefers-reduced-motion:no-preference){.bingo-celebration{animation:bingo-arrive .24s ease-out}.bingo-offer-bubble{animation:bingo-say .28s cubic-bezier(.2,.9,.3,1.2);transform-origin:bottom center}@keyframes bingo-say{0%{opacity:0;transform:scale(.85)}}.bingo-confetti i{animation:bingo-confetti 1.3s cubic-bezier(.2,.7,.4,1) forwards}.bingo-celebration.full .bingo-confetti i{animation-duration:1.8s}@keyframes bingo-arrive{0%{opacity:0;transform:translateY(-8px)}}@keyframes bingo-confetti{0%{opacity:1;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--drift),110px) rotate(var(--turn))}}}@media(prefers-reduced-motion:reduce){.bingo-confetti{display:none}}@media(max-width:719px){.bingo-celebration{top:12px;right:16px;left:16px;width:auto}}.haven-companion-say{position:fixed;z-index:26;width:min(300px,calc(100vw - 16px));pointer-events:auto}.bingo-offer-bubble{position:relative;display:block;padding:14px 14px 12px;border-radius:18px;color:var(--haven-style-ink, #24433a);background:var(--haven-surface, #fffef9);border:1px solid var(--haven-style-line, #bfd0c7);box-shadow:0 18px 40px -16px #141c1873;font-family:var(--haven-body-font)}.bingo-offer-bubble:after{content:"";position:absolute;left:var(--say-tail, 50%);bottom:-8px;width:14px;height:14px;background:inherit;border-right:1px solid var(--haven-style-line, #bfd0c7);border-bottom:1px solid var(--haven-style-line, #bfd0c7);transform:translate(-50%) rotate(45deg)}.say-below .bingo-offer-bubble:after{top:-8px;bottom:auto;transform:translate(-50%) rotate(225deg)}.bingo-offer-bubble p{margin:0 22px 0 0;font-size:.93rem;line-height:1.4}.bingo-offer-bubble .bingo-offer-square{margin-top:6px;color:var(--haven-muted, #55655e);font-size:.88rem}.bingo-offer-bubble .secondary{color:inherit;background:var(--haven-surface, #fffef9);border-color:var(--haven-style-line, #bfd0c7)}.bingo-offer-close{position:absolute;top:4px;right:4px;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;border:0;background:transparent!important;color:var(--haven-muted, #55655e)}.haven-companion-say.is-quiet{width:max-content;max-width:min(260px,calc(100vw - 24px));pointer-events:none}.haven-companion-cheer{position:relative;margin:0;padding:8px 12px;text-align:center;font-size:.9rem;font-weight:600;line-height:1.3;color:var(--haven-style-ink, #24433a);background:var(--haven-surface, #fffef9);border:1px solid var(--haven-style-line, #bfd0c7);border-radius:14px;box-shadow:0 10px 24px -12px #141c1873;font-family:var(--haven-body-font)}.haven-companion-cheer:after{content:"";position:absolute;left:var(--say-tail, 50%);bottom:-7px;width:12px;height:12px;background:inherit;border-right:1px solid var(--haven-style-line, #bfd0c7);border-bottom:1px solid var(--haven-style-line, #bfd0c7);transform:translate(-50%) rotate(45deg)}.say-below .haven-companion-cheer:after{top:-7px;bottom:auto;transform:translate(-50%) rotate(225deg)}@media(prefers-reduced-motion:no-preference){.haven-companion-cheer{animation:bingo-say .28s cubic-bezier(.2,.9,.3,1.2)}}.bingo-tile>*{position:relative;z-index:1}.bingo-tile>.bingo-check{position:absolute;z-index:2}.bingo-tile:before{content:"";position:absolute;inset:0;z-index:0;border-radius:inherit;background:radial-gradient(circle at var(--stamp-x, 50%) var(--stamp-y, 50%),color-mix(in oklab,var(--bingo-accent) 42%,transparent),color-mix(in oklab,var(--bingo-accent) 16%,transparent) 60%,transparent 85%);opacity:0;pointer-events:none}.bingo-tile:after{content:"";position:absolute;inset:-1px;z-index:0;border-radius:inherit;background:linear-gradient(105deg,transparent 20%,color-mix(in oklab,var(--haven-style-highlight, #d7b767) 55%,transparent) 50%,transparent 80%);background-size:250% 100%;opacity:0;pointer-events:none}.bingo-tile.is-sweeping{box-shadow:0 0 0 2px color-mix(in oklab,var(--haven-style-highlight, #d7b767) 70%,transparent),var(--bingo-shadow)}@media(prefers-reduced-motion:no-preference){.bingo-tile.is-stamping:before{animation:bingo-stamp .85s cubic-bezier(.2,.8,.3,1) forwards}@keyframes bingo-stamp{0%{opacity:1;clip-path:circle(0% at var(--stamp-x, 50%) var(--stamp-y, 50%))}55%{opacity:1;clip-path:circle(150% at var(--stamp-x, 50%) var(--stamp-y, 50%))}to{opacity:0;clip-path:circle(150% at var(--stamp-x, 50%) var(--stamp-y, 50%))}}.bingo-tile.is-sweeping:after{animation:bingo-sweep .9s ease-out calc(var(--sweep-order, 0) * .11s) both}@keyframes bingo-sweep{0%{opacity:0;background-position:120% 0}25%{opacity:1}to{opacity:0;background-position:-60% 0}}.bingo-tile.is-sweeping{animation:bingo-lift .5s ease-out calc(var(--sweep-order, 0) * .11s) both}@keyframes bingo-lift{50%{transform:translateY(-3px)}}}.bingo-monthly{margin:4px 0 0;color:var(--bingo-muted);font-size:.88rem}.bingo-card-head h3{display:inline-flex;align-items:center;gap:12px}.bingo-season{display:inline-grid;place-items:center;width:38px;height:38px;flex:none;border-radius:50%;color:var(--bingo-accent);background:color-mix(in oklab,var(--haven-style-highlight, #d7b767) 28%,var(--bingo-surface));box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--haven-style-highlight, #d7b767) 45%,transparent)}[data-theme=dark] .bingo-season{color:var(--haven-accent-text)}.bingo-scene{position:relative;display:flex;align-items:flex-end;min-height:170px;margin:0;overflow:hidden;border:1px solid var(--bingo-line);border-radius:18px;background:linear-gradient(160deg,color-mix(in oklab,var(--bingo-soft) 80%,var(--bingo-surface)),color-mix(in oklab,var(--bingo-accent) 30%,var(--bingo-surface)));background-size:cover;background-position:center;box-shadow:var(--bingo-shadow)}.bingo-scene figcaption{display:grid;gap:2px;width:100%;padding:30px 16px 14px;color:#fff;background:linear-gradient(180deg,transparent,rgb(10 20 16 / 58%));text-shadow:0 1px 2px rgb(0 0 0 / 35%)}.bingo-scene figcaption strong{font-family:var(--haven-display-font);font-size:1.2rem;font-weight:500}.bingo-scene figcaption span{font-size:.82rem;opacity:.92}.bingo-scene-hide{position:absolute;top:8px;right:8px;min-width:36px;min-height:36px;padding:0;border:0;border-radius:50%;color:#fff;background:#0a141059!important}.bingo-scene-show{justify-self:start;min-height:44px!important}:root{--haven-positive: var(--haven-style-accent);--haven-muted: #55655e;--haven-display-font: Georgia, "Times New Roman", serif;--haven-interface-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--haven-body-font: var(--haven-interface-font);--haven-style-accent: #315d54;--haven-style-ink: #24433a;--haven-style-soft: #e7f0eb;--haven-style-line: #bfd0c7;--haven-style-highlight: #d7b767;color:#24352f;color:oklch(from #24352f l c var(--haven-style-hue, h));background:#eef3f0;background:oklch(from #eef3f0 l c var(--haven-style-hue, h));font-family:var(--haven-body-font);font-size:16px;letter-spacing:0}[data-haven-style=lavender]{--haven-style-accent: #68578a;--haven-style-ink: #463b60;--haven-style-soft: #eee9f5;--haven-style-line: #cfc2df;--haven-style-highlight: #b79bd6;--haven-style-hue: 299}[data-haven-style=berry]{--haven-style-accent: #82495d;--haven-style-ink: #573341;--haven-style-soft: #f5e8ed;--haven-style-line: #d9bdc8;--haven-style-highlight: #d59aab;--haven-style-hue: 358}[data-haven-style=minimal]{--haven-style-accent: #3f514b;--haven-style-ink: #263630;--haven-style-soft: #eef1ef;--haven-style-line: #cad1cd;--haven-style-highlight: #a8b4ae}[data-haven-style=playful]{--haven-style-accent: #2f6c70;--haven-style-ink: #274b4e;--haven-style-soft: #e4f2f0;--haven-style-line: #b9d6d3;--haven-style-highlight: #e1b75d;--haven-style-hue: 201}[data-haven-font=modern]{--haven-display-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}[data-haven-font=soft]{--haven-display-font: "Trebuchet MS", ui-sans-serif, system-ui, sans-serif;--haven-body-font: "Trebuchet MS", ui-sans-serif, system-ui, sans-serif}[data-haven-font=editorial]{--haven-display-font: Baskerville, "Iowan Old Style", Georgia, serif;--haven-body-font: Avenir, "Avenir Next", ui-sans-serif, system-ui, sans-serif}[data-haven-font=punk]{--haven-display-font: "Bebas Neue", Impact, sans-serif}[data-haven-font=chic]{--haven-display-font: Satisfy, "Segoe Script", cursive}[data-haven-font=cutesy]{--haven-display-font: Mali, "Comic Sans MS", cursive}[data-haven-font=groovy]{--haven-display-font: Fredoka, "Arial Rounded MT Bold", sans-serif}[data-haven-font=typewriter]{--haven-display-font: "Special Elite", "Courier New", monospace}[data-haven-font=grandstander]{--haven-display-font: Grandstander, "Arial Rounded MT Bold", sans-serif}[data-haven-font=bubblegum]{--haven-display-font: "Bubblegum Sans", "Arial Rounded MT Bold", sans-serif}[data-haven-font=chewy]{--haven-display-font: Chewy, "Arial Rounded MT Bold", sans-serif}[data-haven-font=borel]{--haven-display-font: Borel, "Segoe Script", cursive}[data-haven-font=cormorant]{--haven-display-font: "Cormorant Garamond", Garamond, Georgia, serif}[data-haven-font=playfair]{--haven-display-font: "Playfair Display", Georgia, serif}[data-haven-font=libre]{--haven-display-font: "Libre Baskerville", Baskerville, Georgia, serif}[data-haven-font=schoolbell]{--haven-display-font: Schoolbell, "Comic Sans MS", cursive}[data-haven-font=allura]{--haven-display-font: Allura, "Segoe Script", cursive}[data-haven-font=shadows]{--haven-display-font: "Shadows Into Light", "Segoe Print", cursive}[data-haven-font=unifraktur]{--haven-display-font: UnifrakturCook, Georgia, serif}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit;border-radius:6px}button,input,select{min-height:44px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#174f43;background:oklch(from #174f43 l c var(--haven-style-hue, h));color:#fff;border:1px solid transparent;padding:10px 16px;cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:3px solid #8070ba;outline-offset:3px}.secondary{color:#354b43;color:oklch(from #354b43 l c var(--haven-style-hue, h));background:#edf2ef;background:oklch(from #edf2ef l c var(--haven-style-hue, h));border-color:#dce5df;border-color:oklch(from #dce5df l c var(--haven-style-hue, h))}.icon-button{padding:0;flex:0 0 44px;width:44px;height:44px}h1,h2,h3,p{overflow-wrap:anywhere}h2{font-size:1.05rem;margin:0}p{line-height:1.5}.muted{display:block;color:var(--haven-muted, #63746c);font-size:.87rem;margin:8px 0}.trial-notice{display:grid;gap:3px;margin:0 0 18px;padding:12px 14px;color:#4d542d;background:#faf2cf;border:1px solid #dfcf86;border-radius:6px}.trial-notice span{font-size:.84rem}.trial-notice.urgent{color:#75343e;background:#f9e8eb;border-color:#ddb8be}.plan-settings{display:grid;gap:16px;padding:20px 0;border-bottom:1px solid #d8e1dc;border-bottom:1px solid oklch(from #d8e1dc l c var(--haven-style-hue, h))}.plan-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;color:#6c5722;background:#fbf2cf;border:1px solid #ddca7d;border-radius:6px;font-size:.78rem;font-weight:700}.plan-current{margin:0;color:#52675f;color:oklch(from #52675f l c var(--haven-style-hue, h))}.plan-options,.billing-intervals{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.plan-options button,.billing-intervals button{min-width:0;justify-content:flex-start;text-align:left}.plan-options button span,.billing-intervals button{display:grid;gap:2px}.plan-options small,.billing-intervals small{font-size:.72rem;font-weight:500}.plan-options button.active,.billing-intervals button.active{color:#fff;background:#174f43;background:oklch(from #174f43 l c var(--haven-style-hue, h));border-color:#174f43;border-color:oklch(from #174f43 l c var(--haven-style-hue, h))}.billing-intervals{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-intervals button{position:relative;align-content:start;padding:12px}.billing-intervals button strong{font-size:.78rem}.billing-intervals button small{color:inherit}.renewal-disclosure{margin:0;color:#52675f;color:oklch(from #52675f l c var(--haven-style-hue, h));font-size:.8rem}.renewal-disclosure a{margin-left:5px}.family-garden-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 24px;align-items:center;margin:0 0 20px;padding:18px;color:#26483f;color:oklch(from #26483f l c var(--haven-style-hue, h));background:#edf5ef;background:oklch(from #edf5ef l c var(--haven-style-hue, h));border:1px solid #bfd2c5;border:1px solid oklch(from #bfd2c5 l c var(--haven-style-hue, h));border-radius:8px}.family-garden-heading span,.family-garden-milestone{display:inline-flex;align-items:center;gap:6px;color:#527066;color:oklch(from #527066 l c var(--haven-style-hue, h));font-size:.75rem;font-weight:700;text-transform:uppercase}.family-garden-heading h2{margin:5px 0 3px;font-family:var(--haven-display-font);font-size:1.35rem}.family-garden-heading p{margin:0;color:#516a61;color:oklch(from #516a61 l c var(--haven-style-hue, h))}.family-garden-visitors{display:flex;flex-wrap:wrap;gap:8px}.family-garden-visitors>div{display:flex;align-items:center;gap:8px;min-width:130px;padding:8px 10px;background:#ffffffa8;border:1px solid #d5e3da;border:1px solid oklch(from #d5e3da l c var(--haven-style-hue, h));border-radius:6px}.family-garden-visitors img{width:42px;height:42px;object-fit:contain}.family-garden-visitors span{display:grid;font-size:.8rem}.family-garden-visitors small{color:#657a72;color:oklch(from #657a72 l c var(--haven-style-hue, h))}.family-garden-milestone{grid-column:1 / -1;margin:0;color:#6f5c25;text-transform:none}.family-garden-card>button,.family-garden-card>.muted,.family-garden-card>[role=alert]{grid-column:1 / -1;justify-self:start;margin:0}.family-garden-setting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 16px;align-items:center;padding:14px;background:#f1f6f3;background:oklch(from #f1f6f3 l c var(--haven-style-hue, h));border:1px solid var(--haven-hairline, #d4dfd9);border:1px solid var(--haven-hairline, oklch(from #d4dfd9 l c var(--haven-style-hue, h)));border-radius:6px}.family-garden-setting>span{display:grid;gap:3px}.family-garden-setting small{color:#5d7168;color:oklch(from #5d7168 l c var(--haven-style-hue, h));line-height:1.4}.family-garden-setting [role=alert]{grid-column:1 / -1;margin:0}.toggle-setting{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:700}.auth-create-account small{display:block;margin-top:8px;color:#63746c;font-size:.72rem}.auth-pricing-details{display:flex;align-items:center;gap:20px;flex-wrap:wrap}@media(max-width:520px){.plan-options,.billing-intervals,.family-garden-card,.family-garden-setting{grid-template-columns:1fr}.family-garden-card>*,.family-garden-setting>*{grid-column:1}.family-garden-card>button{width:100%}}.app-shell{min-height:100dvh;padding-bottom:calc(84px + env(safe-area-inset-bottom));background:#eef3f0;background:oklch(from #eef3f0 l c var(--haven-style-hue, h))}.app-shell>header{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:#f7faf7eb;border-bottom:1px solid var(--haven-hairline, #d4dfd9);border-bottom:1px solid var(--haven-hairline, oklch(from #d4dfd9 l c var(--haven-style-hue, h)));gap:12px;-webkit-backdrop-filter:blur(18px) saturate(1.15);backdrop-filter:blur(18px) saturate(1.15)}.app-shell>main{width:min(1160px,100%);min-width:0;padding:24px;margin:0 auto}.app-shell>header nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;padding:8px 6px calc(8px + env(safe-area-inset-bottom));border-top:1px solid #d7e0dc;border-top:1px solid oklch(from #d7e0dc l c var(--haven-style-hue, h));background:#f9fbf9f2;-webkit-backdrop-filter:blur(18px) saturate(1.12);backdrop-filter:blur(18px) saturate(1.12)}.app-shell>header nav button{min-width:0;flex-direction:column;background:transparent;color:#64736d;padding:6px 2px;gap:4px;font-size:.7rem}.app-shell>header nav button.active{color:#174f43;color:oklch(from #174f43 l c var(--haven-style-hue, h));background:#e7f0eb;background:oklch(from #e7f0eb l c var(--haven-style-hue, h))}.dashboard{display:grid;grid-template-columns:minmax(0,1fr);gap:22px}.retreat-ledgers,.retreat-section{min-width:0}.retreat-bill-row .flow-payee,.retreat-bill-row .flow-payee strong{min-width:0;overflow-wrap:anywhere}.hero-panel{padding:28px;color:#fff;background:#174f43;background:oklch(from #174f43 l c var(--haven-style-hue, h));border-radius:8px}.hero-panel p{margin:0}.hero-panel h1{margin:8px 0;font-size:3rem;line-height:1.1}.hero-panel span{font-size:.85rem;color:#c9e3d7;color:oklch(from #c9e3d7 l c var(--haven-style-hue, h))}.weather-section{padding:0 4px 16px;border-bottom:1px solid var(--haven-hairline, #dfe5e1);border-bottom:1px solid var(--haven-hairline, oklch(from #dfe5e1 l c var(--haven-style-hue, h)))}.weather-section p{font-size:.9rem;color:#5d6b67;margin-bottom:0}.panel-head,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.weather{padding:6px 10px;background:#e0ece3;background:oklch(from #e0ece3 l c var(--haven-style-hue, h));border-radius:6px;font-size:.78rem}.weather.storm,.weather.rain{background:#e8e4f0;color:#5e507c}.weather.partly_cloudy{background:#fbefcd;color:#6d602f}.home-columns{display:grid;gap:28px;min-width:0}.home-overview{min-width:0}.home-section{padding:0 0 20px;margin-bottom:20px;border-bottom:1px solid var(--haven-hairline, #dfe5e1);border-bottom:1px solid var(--haven-hairline, oklch(from #dfe5e1 l c var(--haven-style-hue, h)))}.home-section p{font-size:.9rem}.summary-amount{display:block;font-size:1.8rem;margin-top:8px}.mini-row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;font-size:.9rem}.mini-row small{display:block;color:var(--haven-muted, #63746c);margin-top:4px}.haven-home{min-width:0}.haven .section-heading{padding:8px 0 18px}.haven-season{color:#726385;font-size:.8rem}.haven-scene{position:relative;width:100%;height:410px;overflow:hidden;background:#dbe0e9}.haven-scene canvas{width:100%;height:100%;display:block;touch-action:pan-y}.haven-controls{display:flex;justify-content:center;gap:8px;padding:16px 0}.haven-controls button[aria-pressed=true]{background:#ddd9ec;color:#4c3c6b;border-color:#cdc6e0}.haven-loading{min-height:460px;display:grid;place-content:center;color:#536d63;color:oklch(from #536d63 l c var(--haven-style-hue, h));background:#d7e5df;background:oklch(from #d7e5df l c var(--haven-style-hue, h))}.haven-loading span{padding:7px 10px;color:#3f5a50;color:oklch(from #3f5a50 l c var(--haven-style-hue, h));background:#f7faf7b8;border:1px solid #ffffff8f;border-radius:6px;font-size:.72rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.haven-fallback{position:absolute;inset:0;z-index:1;display:grid;place-items:center;color:#496158;color:oklch(from #496158 l c var(--haven-style-hue, h));background:#d7e5df;background:oklch(from #d7e5df l c var(--haven-style-hue, h))}.haven-fallback p{text-align:center;font-size:.85rem}.money-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;border-bottom:1px solid var(--haven-hairline, #dfe5e1);border-bottom:1px solid var(--haven-hairline, oklch(from #dfe5e1 l c var(--haven-style-hue, h)));margin-bottom:10px}.money-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:var(--haven-muted, #63746c);border-radius:0;padding:12px 4px;border-bottom:3px solid transparent}.money-tabs button svg{opacity:.7}.money-tabs button[aria-selected=true]{color:#174f43;color:oklch(from #174f43 l c var(--haven-style-hue, h));border-bottom-color:#174f43;border-bottom-color:oklch(from #174f43 l c var(--haven-style-hue, h));font-weight:600}.money-tab-intro{margin:0 0 12px;color:var(--muted)}.view-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.view-heading h2{font-size:1.15rem}.resource-compact-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;width:100%}.resource-compact-actions>span{color:#61736a;color:oklch(from #61736a l c var(--haven-style-hue, h));font-size:.68rem;white-space:nowrap}.ledger-transactions .resource-compact-actions{flex-wrap:wrap;row-gap:4px}.resource-compact-actions .activity-by-hand{padding:0 6px;font-size:.82rem;white-space:nowrap}.ledger-resource:not(.is-entry-open) .view-heading{margin-bottom:2px}.ledger-resource:not(.is-entry-open) .ledger-table-tools{margin-top:2px}.transaction-import{margin:0 0 12px}.import-toggle{min-height:44px}.import-workspace{margin-top:8px;padding:14px;border:1px solid #cbd8d1;border:1px solid oklch(from #cbd8d1 l c var(--haven-style-hue, h));border-radius:6px;background:#f7faf7;background:oklch(from #f7faf7 l c var(--haven-style-hue, h))}.import-heading{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.import-heading h2{margin:0 0 3px;font-size:1.05rem}.import-heading p,.import-privacy{margin:0 0 10px;color:#5b7068;color:oklch(from #5b7068 l c var(--haven-style-hue, h));font-size:.76rem}.import-sources{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.button-like{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;cursor:pointer}.button-like input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.import-workspace>label{display:grid;gap:4px;max-width:420px}.import-review{display:grid;gap:8px;margin-top:10px}.import-review-more{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}.import-review-more .import-note{margin:0;flex:1 1 240px}.import-row{display:grid;grid-template-columns:96px 132px minmax(160px,1fr) 150px 120px minmax(130px,.6fr);gap:8px;align-items:end;padding:10px 0;border-top:1px solid #d7e2dc;border-top:1px solid oklch(from #d7e2dc l c var(--haven-style-hue, h))}.import-row label{display:grid;gap:3px;min-width:0;font-size:.72rem}.import-row input,.import-row select{min-width:0;min-height:44px}.import-row .import-include{display:flex;align-items:center;gap:6px;min-height:44px}.import-row .import-include input{min-height:0}.import-row small,.import-row .import-warning,.import-row .import-note{grid-column:2 / -1;margin:0;color:#60756c;color:oklch(from #60756c l c var(--haven-style-hue, h))}.import-row.possible-duplicate{border-left:4px solid #b78b31;padding-left:8px}.import-row .import-warning{color:#6d531b}.duplicate-bill-note{margin:10px 0;padding:12px;border-left:4px solid #b78b31;border-radius:6px;background:var(--haven-surface, #fffef9);color:#6d531b}.duplicate-bill-note p{margin:0 0 8px}.duplicate-bill-note .form-actions{margin:0}.import-files{display:grid;gap:10px;margin:10px 0}.import-file{display:grid;gap:8px;padding:12px;border:1px solid var(--haven-hairline, #d7e1dc);border-radius:6px;background:var(--haven-surface, #fffef9);min-width:0}.import-file-heading{display:flex;align-items:center;gap:10px;min-width:0}.import-file-heading strong{min-width:0;overflow-wrap:anywhere}.import-file-heading span{margin-left:auto;color:var(--haven-muted, #5f7069);font-size:.78rem;white-space:nowrap}.import-file>label{display:grid;gap:4px;max-width:420px;font-size:.78rem}.import-file select{min-height:44px;min-width:0}.import-columns summary{cursor:pointer;font-size:.8rem;min-height:32px;display:flex;align-items:center;overflow-wrap:anywhere}.import-column-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:8px}.import-column-grid label{display:grid;gap:3px;font-size:.72rem;min-width:0}.import-file .import-note,.import-file [role=alert]{margin:0;font-size:.76rem}.import-file .import-flip{display:flex;align-items:center;gap:8px;min-height:44px}.import-row .import-source-tag{grid-column:1 / -1;font-weight:700;overflow-wrap:anywhere}.import-row .import-note{font-size:.78rem}.plain-language-help{grid-column:1 / -1;padding:8px 0;font-size:.78rem}.plain-language-help summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:700;color:#315d54;color:oklch(from #315d54 l c var(--haven-style-hue, h))}.plain-language-help dl{display:grid;gap:8px;margin:4px 0 0}.plain-language-help dl>div{display:grid;grid-template-columns:100px 1fr;gap:10px}.plain-language-help dt{font-weight:700}.plain-language-help dd{margin:0}.inline-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media(max-width:760px){.import-workspace{padding:10px}.import-sources{display:grid}.inline-fields,.plain-language-help dl>div{grid-template-columns:1fr;gap:2px}}.entry-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:12px 0;margin:10px 0;border-block:1px solid var(--haven-hairline, #dfe5e1);border-block:1px solid var(--haven-hairline, oklch(from #dfe5e1 l c var(--haven-style-hue, h)))}.entry-form label{display:grid;gap:5px;font-size:.78rem;color:#596b76}.entry-form>label:first-child{grid-column:1 / -1}.entry-form input,.entry-form select,.entry-form textarea{min-width:0;width:100%;border:1px solid #aabbb2;border:1px solid oklch(from #aabbb2 l c var(--haven-style-hue, h));padding:8px 10px;color:#24312e;color:oklch(from #24312e l c var(--haven-style-hue, h));background:#fff}.entry-form .checkbox-label{display:flex;align-items:center}.checkbox-label input{width:22px}.form-actions{display:flex;flex-wrap:wrap;gap:8px;grid-column:1 / -1}.compact-entry .form-actions button{flex:1;justify-content:center;padding:8px 12px}.starter-categories{grid-column:1 / -1;border-block:1px solid var(--haven-hairline, #dfe5e1);border-block:1px solid var(--haven-hairline, oklch(from #dfe5e1 l c var(--haven-style-hue, h)))}.starter-categories summary{min-height:44px;padding:11px 0;cursor:pointer;font-size:.82rem;font-weight:600;color:#3b5160}.starter-categories section{padding:8px 0}.starter-categories section>strong{display:block;margin-bottom:6px;font-size:.75rem;color:#697782}[data-theme=dark] .starter-categories summary{color:#dce8e2}[data-theme=dark] .starter-categories section>strong{color:#b6c4bd}.starter-options{display:flex;flex-wrap:wrap;gap:6px}.starter-options button{min-height:36px;padding:6px 10px;font-size:.78rem}.starter-options button[aria-pressed=true]{color:#fff;background:#5d5278;border-color:#5d5278}.resource-list{padding:0;list-style:none}.resource-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px 10px;align-items:center;padding:14px 0;border-bottom:1px solid var(--haven-hairline, #e2e7e4);border-bottom:1px solid var(--haven-hairline, oklch(from #e2e7e4 l c var(--haven-style-hue, h)))}.resource-list li>div{min-width:0;overflow-wrap:anywhere}.resource-list p{margin:6px 0 0;color:var(--haven-muted, #63746c);font-size:.8rem}.resource-list li>strong{grid-column:2;grid-row:1;font-size:.9rem}.record-actions{grid-column:3;grid-row:1;display:flex;gap:4px}.record-actions .icon-button{min-width:44px}.bill-edit-form{grid-column:1 / -1;width:100%;background:#f7f8fb;padding:12px;border:1px solid var(--haven-hairline, #dce2ed);border-radius:6px}.account-tag{grid-column:1 / 3;grid-row:2;font-size:.78rem;color:#645985}.transaction-account-balance{display:inline-block;margin-left:10px;color:#426256;color:oklch(from #426256 l c var(--haven-style-hue, h));font-variant-numeric:tabular-nums}.activity-balances{margin:12px 0;padding:12px 0;border-block:1px solid var(--haven-hairline, #d4dfd9);border-block:1px solid var(--haven-hairline, oklch(from #d4dfd9 l c var(--haven-style-hue, h)))}.activity-balances h3{margin:0 0 8px;font-size:.78rem;font-weight:500;color:var(--haven-muted, #63746c)}.activity-balances>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:12px 20px}.activity-balance{display:grid;gap:3px;min-width:0;overflow-wrap:anywhere;font-size:.8rem}.activity-balance strong{font-size:.9rem;font-variant-numeric:tabular-nums}.activity-balance small{font-size:.7rem;color:var(--haven-muted, #63746c)}[data-theme=dark] .activity-balances{border-color:#40534a;border-color:oklch(from #40534a l c var(--haven-style-hue, h))}[data-theme=dark] .activity-balances h3,[data-theme=dark] .activity-balance small,[data-theme=dark] .transaction-account-balance{color:#adcbbd;color:oklch(from #adcbbd l c var(--haven-style-hue, h))}.income-destination{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;font-size:.8rem;color:var(--haven-muted, #63746c)}.income-destination label{display:grid;gap:5px}.income-destination select{width:100%;min-width:0;padding:8px;border:1px solid #aabbb2;border:1px solid oklch(from #aabbb2 l c var(--haven-style-hue, h));color:#24312e;color:oklch(from #24312e l c var(--haven-style-hue, h));background:#fff}.delete-button{grid-column:3;grid-row:1;background:transparent;color:#9a4851}.delete-confirmation{padding:18px 0;border-block:2px solid #eed6d8;margin-top:20px}.delete-confirmation h3{margin-top:0}.danger{background:#943e4b}.empty-state{padding:24px 0;color:var(--haven-muted, #63746c)}[role=alert]{color:#932d36}[role=status]{color:#28614d;color:oklch(from #28614d l c var(--haven-style-hue, h))}.settings-list{display:grid;grid-template-columns:1fr auto;gap:24px;margin:0 0 32px}.settings-list dd{margin:0}.settings-list{grid-template-columns:minmax(0,1fr) minmax(0,auto);gap:14px}.settings-list dd,.settings-list dt{overflow-wrap:anywhere}.record-details{grid-column:1 / -1;display:grid;gap:10px}.record-details label{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.record-details select{max-width:100%;background:#fff;color:#24312e;color:oklch(from #24312e l c var(--haven-style-hue, h));border:1px solid #aabbb2;border:1px solid oklch(from #aabbb2 l c var(--haven-style-hue, h));padding:8px}.record-details .settings-list{margin:12px 0;font-size:.85rem}.entry-form .account-kind{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 18px;padding:4px 0 0;border:0;min-width:0}.entry-form .account-kind label{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:44px;font-size:.85rem;color:inherit}.entry-form .account-kind input[type=radio]{flex:none;width:20px;height:20px;min-height:0;margin:0;padding:0}.entry-form fieldset{grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;min-width:0;border:0;padding:0}.entry-form fieldset legend{font-weight:600;padding:0 0 8px}.entry-form fieldset label{display:grid}.top-envelopes{margin-bottom:0}.envelope-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:18px;margin-top:16px}.envelope-grid article{padding:14px 0;border-top:2px solid #a598bb;min-width:0}.envelope-grid h3{font-size:.95rem;margin:0 0 8px}.envelope-grid strong{overflow-wrap:anywhere}.envelope-grid p{color:var(--haven-muted, #63746c)}.money-guide{border-block:1px solid var(--haven-hairline, #dfe5e1);border-block:1px solid var(--haven-hairline, oklch(from #dfe5e1 l c var(--haven-style-hue, h)));padding:8px 0}.money-guide summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}.money-guide summary:focus-visible{outline:3px solid #8070ba}.money-guide p{font-size:.9rem;max-width:75ch}.money-guide .settings-list{max-width:680px;margin:20px 0;font-size:.9rem}.money-guide .settings-list dd small{display:block;max-width:28ch;margin-top:2px;font-size:.8rem}.signin{width:min(420px,100%)}.auth-progress{display:grid;justify-items:center;text-align:center;color:#35534a;color:oklch(from #35534a l c var(--haven-style-hue, h))}.auth-progress h1{margin:10px 0 0}.auth-progress p{margin-top:6px;color:#63746c}.remember-browser{display:flex;align-items:flex-start;gap:10px;margin:20px 0 14px;padding:12px;color:#31463e;color:oklch(from #31463e l c var(--haven-style-hue, h));background:#f7faf7b8;border:1px solid #d6e0da;border:1px solid oklch(from #d6e0da l c var(--haven-style-hue, h));border-radius:6px;cursor:pointer}.remember-browser input{flex:0 0 20px;width:20px;height:20px;margin:1px 0 0;accent-color:#244f59;accent-color:oklch(from #244f59 l c var(--haven-style-hue, h))}.remember-browser span{display:grid;gap:3px}.remember-browser strong{font-size:.84rem}.remember-browser small{color:var(--haven-muted, #63746c);font-size:.72rem;line-height:1.4}@media(min-width:720px){.app-shell{padding-bottom:0;display:grid;grid-template-columns:160px minmax(0,1fr);grid-template-rows:auto 1fr;grid-template-areas:"header header" "navigation content"}.app-shell>header{grid-area:header}.app-shell>main{grid-area:content}.app-shell>header nav{grid-area:navigation;position:sticky;inset:70px auto auto;height:calc(100dvh - 70px);align-self:start;grid-template-columns:1fr;grid-auto-rows:48px;align-content:start;padding:20px 12px;gap:8px;border-top:0;border-right:1px solid var(--haven-hairline, #dfe5e1);border-right:1px solid var(--haven-hairline, oklch(from #dfe5e1 l c var(--haven-style-hue, h)))}.app-shell>header nav button{flex-direction:row;justify-content:start;padding:12px;font-size:.88rem;gap:10px}}@media(min-width:1080px){.home-columns{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}.haven-scene{height:500px}}@media(max-width:479px){.app-shell>main{padding:16px}.entry-form{grid-template-columns:1fr}.entry-form .account-kind{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:8px 18px;padding:4px 0 0;border:0;min-width:0}.entry-form .account-kind label{display:flex;flex-direction:row;align-items:center;gap:8px;min-height:44px;font-size:.85rem;color:inherit}.entry-form fieldset,.income-destination{grid-template-columns:1fr}.hero-panel{padding:22px}.hero-panel h1{font-size:2.65rem}.haven-scene{height:380px}.resource-list li{gap:8px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.app-shell>header{background:#f8faf8eb;border-color:#d6e0da;border-color:oklch(from #d6e0da l c var(--haven-style-hue, h));min-height:76px}header strong{display:block;font-size:.75rem;font-weight:500;color:#74778d;margin-top:3px}.app-shell>main{container-type:inline-size}button{background:#244f59;background:oklch(from #244f59 l c var(--haven-style-hue, h))}.secondary{background:#eef1f6;border-color:#e0e5ee;color:#3b5160}.app-shell>header nav{background:#f9fbf9f2;border-color:#d6e0da;border-color:oklch(from #d6e0da l c var(--haven-style-hue, h))}.app-shell>header nav button.active{background:#e9edf6;color:#304e67}.financial-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;background:#204952;background:oklch(from #204952 l c var(--haven-style-hue, h));color:#fff;border-block:1px solid #49656d;border-block:1px solid oklch(from #49656d l c var(--haven-style-hue, h));overflow:hidden}.hero-panel{background:transparent;border-radius:0;padding:14px 18px;min-width:0}.hero-panel h1{font-family:var(--haven-display-font);font-weight:400;font-size:2.1rem;margin:2px 0;overflow-wrap:anywhere}.hero-panel p{font-size:.78rem;color:#e4eaf0}.hero-panel span{color:#c8d8e1;line-height:1.6;display:block}.hero-amount{display:flex;align-items:baseline;gap:8px 14px;flex-wrap:wrap}.financial-overview .icon-button{color:#e7d7b5;background:transparent}.top-envelopes{padding:14px 18px;border-left:1px solid #ffffff26;border-bottom:0;min-width:0}.top-envelopes h2{font-size:.78rem;font-weight:500;color:#e4eaf0}.top-envelope-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 12px}.top-envelope-summary h3{margin:0;color:#d0dce9;font-size:.75rem;font-weight:500}.top-envelope-summary>strong{font-family:var(--haven-display-font);font-size:1rem;font-weight:400;text-align:right}.top-envelope-summary p{margin:2px 0 0;color:#c8d8e1;font-size:.68rem}.top-bill-reserve{display:flex;justify-content:space-between;gap:8px;margin-top:6px;padding-top:6px;border-top:1px solid #ffffff35;color:#dbe4e8;font-size:.68rem}.top-empty{margin:0;color:#c8d8e1;font-size:.75rem}.envelope-grid{display:flex;grid-template-columns:none;gap:16px;margin:4px 0 0;overflow-x:auto;scrollbar-width:thin}.envelope-grid article{flex:0 0 min(230px,82vw);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:2px 12px;padding:0;border:0}.envelope-grid h3{font-size:.8rem;font-weight:500;color:#d0dce9;margin:0}.envelope-grid strong{font-size:1rem;font-family:var(--haven-display-font);font-weight:400;text-align:right}.envelope-grid p{grid-column:1 / -1;color:#c8d8e1;font-size:.7rem;margin:0}.weather-section{padding:0 0 16px;border-color:#e0e4ee}.weather-section p{color:#63717e;font-size:.85rem}.weather{background:#e7f0ed;background:oklch(from #e7f0ed l c var(--haven-style-hue, h));color:#365c55;color:oklch(from #365c55 l c var(--haven-style-hue, h))}.weather.storm,.weather.rain{background:#eeeaf5;color:#655c81}.home-columns{grid-template-columns:minmax(0,1fr)}.home-section{border-color:#e0e4ee}.home-section h2,.haven h2{font-family:var(--haven-display-font);font-weight:400;font-size:1.3rem}.haven-scene{height:440px;background:#edf0f7}.haven .section-heading{padding:0 0 16px}.haven-season{color:#7c6b89}.haven-controls{gap:6px;flex-wrap:wrap}.haven-controls button[aria-pressed=true]{background:#e8e3f0;color:#655479;border-color:#d8cfdf}.money-guide{border:0;padding:0}.settings-list{font-size:.85rem}.cash-flow-view{min-width:0}.cash-flow-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--haven-hairline, #dce2ed)}.cash-flow-heading{flex-wrap:wrap}.cash-flow-heading>div:first-child{flex:1 1 260px;min-width:0}.cash-flow-heading h2{font-family:var(--haven-display-font);font-size:1.3rem;font-weight:400;margin:0}.cash-flow-heading p{color:var(--haven-muted, #667681);font-size:.78rem;margin:4px 0 0}.cash-flow-heading label{display:grid;gap:4px;color:var(--haven-muted, #667681);font-size:.7rem}.cash-flow-heading input{min-width:0;width:145px;padding:6px 8px;border:1px solid #aab7c3;color:#26373f;background:#fff}.cash-flow-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--haven-hairline, #dce2ed)}.cash-flow-totals>div{min-width:0;padding:14px 10px;border-right:1px solid var(--haven-hairline, #e3e7ee)}.cash-flow-totals>div:first-child{padding-left:0}.cash-flow-totals>div:last-child{padding-right:0;border-right:0}.cash-flow-totals span{display:block;color:var(--haven-muted, #667681);font-size:.72rem;margin-bottom:4px}.cash-flow-totals strong{display:block;font-family:var(--haven-display-font);font-size:1.15rem;font-weight:400;overflow-wrap:anywhere}.cash-flow-totals small{display:block;color:var(--haven-muted, #667681);font-size:.64rem;margin-top:3px}.overview-activity-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--haven-hairline, #dce2ed)}.overview-activity-summary>div{display:flex;align-items:baseline;gap:7px;min-width:0}.overview-activity-summary strong{font-family:var(--haven-display-font);font-size:1.2rem;font-weight:400}.overview-activity-summary span{color:var(--haven-muted, #667681);font-size:.75rem}.overview-activity-summary button{min-height:38px;padding:6px 10px;font-size:.75rem}.money-in{color:#28634f}.money-out{color:#8a4954}.money-net{color:#2e5367}.cash-flow-list-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:18px 0 8px}.cash-flow-list-heading h3{font-size:.9rem;margin:0}.cash-flow-list-heading span{color:var(--haven-muted, #667681);font-size:.72rem;text-align:right}.cash-flow-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--haven-hairline, #e3e7ee)}.cash-flow-list li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;padding:11px 0;border-bottom:1px solid var(--haven-hairline, #e3e7ee)}.flow-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:50%}.flow-icon.inflow{color:#28634f;background:#e6f0ec}.flow-icon.outflow{color:#8a4954;background:#f3e9eb}.cash-flow-list li>div{min-width:0}.cash-flow-list li>div>strong{display:block;font-size:.83rem;overflow-wrap:anywhere}.cash-flow-list li>div>span{display:block;color:#687783;font-size:.7rem;margin-top:3px;overflow-wrap:anywhere}.flow-amount{text-align:right}.flow-amount strong{white-space:nowrap}.flow-amount span{font-size:.66rem!important}.cash-flow-note{color:#687783;font-size:.72rem;margin:12px 0 0}@container (min-width: 560px){.financial-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.top-envelopes{border-top:0;border-left:1px solid #ffffff26}}@container (min-width: 820px){.home-columns{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:32px}.haven-scene{height:510px}}@media(min-width:720px){.app-shell>header nav{top:76px;height:calc(100dvh - 76px)}}@media(max-width:719px){.haven-scene{height:380px}}@media(max-width:479px){.hero-panel,.top-envelopes{padding:10px}.hero-panel h1{font-size:1.7rem}.hero-panel p,.top-envelopes h2{font-size:.7rem}.hero-amount{display:block}.hero-panel span{font-size:.7rem;line-height:1.35}.top-envelope-summary{display:block}.top-envelope-summary>strong{display:block;margin-top:3px;text-align:left}.top-envelope-summary p{display:none}}@media(max-width:359px){.haven-controls{gap:4px}.cash-flow-heading{align-items:stretch;flex-direction:column}.cash-flow-heading input{width:100%}.cash-flow-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-flow-totals>div{padding-inline:6px}.cash-flow-totals>div:nth-child(2){border-right:0}.cash-flow-totals>div:nth-child(-n+2){border-bottom:1px solid var(--haven-hairline, #e3e7ee)}.cash-flow-totals strong{font-size:1rem}}.bill-funding{grid-column:1 / -1;width:100%;min-width:0}.payment-calculator{width:min(100%,720px);border-top:1px solid var(--haven-hairline, #dce2ed);padding-top:12px;display:grid;gap:10px;min-width:0}.payment-calculator h3{margin:0}.payment-calculator select,.payment-calculator input{width:100%;min-width:0}.calculator-amount-label{display:grid;gap:5px;color:var(--haven-muted, #526960);color:var(--haven-muted, oklch(from #526960 l c var(--haven-style-hue, h)));font-size:.74rem}.payment-switch{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px;align-items:center;text-align:center}.payment-switch span{display:block;font-size:.8rem;margin-top:5px;color:#596b76}.payment-calculator .calculator-amount{font-family:var(--haven-display-font);font-size:1.35rem;text-align:left;padding:10px 12px;border:1px solid #a4b4c3;border-radius:5px;background:transparent}.calculator-shortcuts{display:flex;flex-wrap:wrap;gap:6px}.calculator-shortcuts button{flex:1;padding:8px;font-size:.85rem}.calculator-keys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.calculator-keys button{min-height:48px;font-size:1.15rem;justify-content:center;background:#edf1f7;color:#26373f;border:0}.allocation-preview{display:grid;gap:10px;border-block:1px solid var(--haven-hairline, #dce2ed);padding:14px 0;font-size:.85rem}.allocation-preview>div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px 12px}.allocation-preview strong{margin-left:auto}.calculator-confirm{width:100%;justify-content:center}.allocation-entry{display:flex;align-items:center;gap:8px;justify-content:space-between;font-size:.85rem}.allocation-entry span{min-width:0;overflow-wrap:anywhere}.allocated-bills{margin-top:8px;padding-top:7px;border-top:1px solid #ffffff35;font-size:.75rem}.allocated-bills summary{cursor:pointer;min-height:30px;display:flex;align-items:center;justify-content:space-between;gap:10px;overflow-wrap:anywhere}.allocated-bills summary strong{display:inline;flex:0 0 auto;margin:0 0 0 auto;white-space:nowrap}.allocated-bills .mini-row small{color:inherit}.allocated-bills button{white-space:normal}.envelope-month{grid-column:1 / -1;min-width:0;width:100%;border-top:1px solid var(--haven-hairline, #dce2ed);padding-top:14px}.envelope-month .settings-list{font-size:.85rem}body{color:#24352f;color:oklch(from #24352f l c var(--haven-style-hue, h));background:#eef3f0;background:oklch(from #eef3f0 l c var(--haven-style-hue, h))}.header-actions{display:flex;align-items:center;gap:8px}.quick-add-desktop{display:none}.quick-add-compact{display:inline-flex}.collapsible-panel{margin-bottom:12px;border-bottom:1px solid #d8e1dc;border-bottom:1px solid oklch(from #d8e1dc l c var(--haven-style-hue, h))}.collapsible-panel>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:52px;padding:4px 0;cursor:pointer;color:#263b34;color:oklch(from #263b34 l c var(--haven-style-hue, h));font-size:1rem;font-weight:800;list-style:none}.collapsible-panel>summary::-webkit-details-marker{display:none}.collapsible-panel>summary svg{flex:0 0 auto;transition:transform .16s ease}.collapsible-panel[open]>summary svg{transform:rotate(180deg)}.collapsible-panel-body{padding:4px 0 18px}[data-theme=dark] .collapsible-panel{border-bottom-color:#3a4a45}[data-theme=dark] .collapsible-panel>summary{color:#e4eee9;color:oklch(from #e4eee9 l c var(--haven-style-hue, h))}.collapsible-panel .profile-settings>h2,.collapsible-panel .account-security>h2,.collapsible-panel .garden-settings>h2,.collapsible-panel .sage-settings>h2,.collapsible-panel .appearance-settings>h2{display:none}.collapsible-panel .profile-settings,.collapsible-panel .account-security,.collapsible-panel .garden-settings,.collapsible-panel .sage-settings,.collapsible-panel .appearance-settings{margin-bottom:0;padding-bottom:0;border-bottom:0}.early-adopter-plan-message{margin:0;padding:16px;color:#244d43;color:oklch(from #244d43 l c var(--haven-style-hue, h));background:#f4ecc8;border-left:4px solid #b3953e}.early-adopter-plan-message strong{display:block;margin-bottom:3px}.haven-scenery-settings{display:grid;grid-template-columns:minmax(220px,420px) auto;align-items:end;gap:8px 12px;margin-bottom:18px}.haven-scenery-settings label{display:grid;gap:6px}.haven-scenery-settings select{min-height:44px}.haven-scenery-settings .form-actions{display:flex;gap:8px}.haven-scenery-settings p{grid-column:1 / -1;min-height:20px;margin:0;color:var(--haven-muted, #667681);font-size:.72rem}.haven-hero{position:relative;height:300px;overflow:hidden;border:1px solid #b8c9c0;border:1px solid oklch(from #b8c9c0 l c var(--haven-style-hue, h));border-radius:7px;background:#d7e5df;background:oklch(from #d7e5df l c var(--haven-style-hue, h));box-shadow:0 20px 48px #3652471f,0 2px 8px #36524714;isolation:isolate}.haven-hero .haven,.haven-hero .haven-scene{height:100%}.haven-hero .haven{position:static}.haven-hero .haven-scene{background:#d7e5df;background:oklch(from #d7e5df l c var(--haven-style-hue, h))}.haven-hero .haven-loading{position:absolute;inset:0;min-height:0;overflow:hidden}.haven-hero .haven-loading{min-height:0}.haven-hero .haven-season{position:absolute;z-index:4;top:14px;left:122px;padding:6px 9px;color:#2f4b55;color:oklch(from #2f4b55 l c var(--haven-style-hue, h));background:#f6faf7d9;border:1px solid #ffffffa8;border-radius:6px;font-size:.7rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.hero-weather{position:absolute;z-index:4;top:14px;left:14px;box-shadow:0 2px 12px #243b4230}.haven-controls{position:absolute;z-index:5;top:10px;right:10px;display:flex;justify-content:flex-end;gap:5px;padding:0}.haven-controls>.icon-button{color:#2f4650;background:#f7faf7e8;border-color:#ffffffa8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.haven-more-controls{position:absolute;top:50px;right:0;display:flex;gap:5px;padding:5px;background:#f7faf7e8;border:1px solid #ffffffa8;border-radius:6px;box-shadow:0 8px 24px #20333b30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.haven-money-banner{position:absolute;z-index:3;inset:auto auto 14px 14px;width:min(720px,calc(100% - 28px));display:grid;grid-template-columns:minmax(170px,.8fr) minmax(210px,1.2fr);align-items:end;gap:18px;padding:12px 14px;color:#fff;background:#16363a6b;border:1px solid #ffffff70;border-radius:6px;box-shadow:0 14px 34px #17342a24;-webkit-backdrop-filter:blur(16px) saturate(1.16);backdrop-filter:blur(16px) saturate(1.16)}.safe-label{display:flex;align-items:center;gap:5px;color:#dce8eb;color:oklch(from #dce8eb l c var(--haven-style-hue, h));font-size:.72rem}.safe-label .icon-button{width:32px;height:32px;min-height:32px;flex-basis:32px;color:#f0dba9;background:transparent}.safe-today>strong{display:block;margin-top:1px;font-family:var(--haven-display-font);font-size:2rem;font-weight:400;line-height:1}.haven-money-banner small{display:block;margin-top:4px;color:#c7d5da;color:oklch(from #c7d5da l c var(--haven-style-hue, h));font-size:.65rem;line-height:1.35}.safe-period{padding-left:16px;border-left:1px solid #ffffff35}.safe-period>strong{display:block;font-family:var(--haven-display-font);font-size:1.05rem;font-weight:400}.safe-period>span{color:#e7eef0;color:oklch(from #e7eef0 l c var(--haven-style-hue, h));font-size:.72rem}.home-snapshot{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));margin-top:2px;border-block:1px solid var(--haven-hairline, #d4dfd9);border-block:1px solid var(--haven-hairline, oklch(from #d4dfd9 l c var(--haven-style-hue, h)));background:#f8faf77a}.snapshot-item{display:block;min-width:0;min-height:64px;padding:10px 12px;color:#26373f;text-align:left;background:transparent;border:0;border-right:1px solid var(--haven-hairline, #dce2ed);border-radius:0}.snapshot-item:last-child{border-right:0}.snapshot-item span,.snapshot-item small{display:block;color:var(--haven-muted, #667681);font-size:.68rem;overflow-wrap:anywhere}.snapshot-item strong{display:block;margin:2px 0;font-family:var(--haven-display-font);font-size:.95rem;font-weight:400;overflow-wrap:anywhere}.home-columns{display:block}.home-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}.home-section{margin-bottom:0;padding:16px 0}.guide-lede{display:grid;gap:5px;padding:12px 14px;color:#2b4650;color:oklch(from #2b4650 l c var(--haven-style-hue, h));background:#edf2f5;border-left:3px solid #7c6b89}.guide-lede span{color:#596b76;font-size:.82rem;line-height:1.45}.money-guide details{border-top:1px solid var(--haven-hairline, #dce2ed)}.money-guide details summary{min-height:44px;padding:12px 0;cursor:pointer;font-weight:600}.appearance-settings{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--haven-hairline, #dce2ed)}.appearance-settings h2{margin-bottom:10px}.invite-acceptance,.shared-budget-banner{padding:12px 18px;background:#eef6f2;background:oklch(from #eef6f2 l c var(--haven-style-hue, h));border-bottom:1px solid #b9cec5;border-bottom:1px solid oklch(from #b9cec5 l c var(--haven-style-hue, h))}.shared-budget-banner{display:flex;align-items:center;justify-content:space-between;gap:12px}.invite-acceptance{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.invite-acceptance label{display:flex;align-items:center;gap:8px;min-height:44px}.invite-acceptance .invite-your-name{flex-wrap:wrap}.invite-acceptance .invite-your-name input{min-width:0;max-width:100%}.budget-switcher{display:grid;gap:2px;min-width:150px}.budget-switcher span{font-size:.7rem;text-transform:uppercase;font-weight:800}.budget-switcher select{min-height:40px}.appearance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.appearance-options button{min-width:0;padding-inline:8px}.appearance-options button.active{background:#244f59;background:oklch(from #244f59 l c var(--haven-style-hue, h));color:#fff}.haven-appearance-settings{margin-top:20px;padding-top:18px;border-top:1px solid var(--haven-hairline, #dce2ed)}.appearance-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.appearance-heading h3{margin:0;font-family:var(--haven-display-font);font-size:1.05rem;font-weight:500}.appearance-heading p{margin:4px 0 0;color:var(--haven-muted, #667681);font-size:.73rem}.appearance-source,.appearance-day-night{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:12px}.appearance-day-night{grid-template-columns:repeat(2,minmax(0,1fr))}.appearance-source button,.appearance-day-night button{min-width:0;padding-inline:8px}.appearance-source button.active,.appearance-day-night button[aria-selected=true]{color:#fff;background:#315d54;background:oklch(from #315d54 l c var(--haven-style-hue, h));border-color:#315d54;border-color:oklch(from #315d54 l c var(--haven-style-hue, h))}.accent-color-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;color:#40574f;color:oklch(from #40574f l c var(--haven-style-hue, h));font-size:.73rem}.accent-color-choice span{display:flex;align-items:center;gap:9px}.accent-color-choice input{width:52px;height:44px;padding:3px;border:1px solid #9fb3a9;border:1px solid oklch(from #9fb3a9 l c var(--haven-style-hue, h));background:#fff}.accent-color-choice output{color:var(--haven-muted, #667681);font-variant-numeric:tabular-nums}.font-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:5px;margin:14px 0 0;padding:0;border:0}.font-choices legend{grid-column:1 / -1;margin-bottom:2px;color:#40574f;color:oklch(from #40574f l c var(--haven-style-hue, h));font-size:.73rem}.font-more{grid-column:1 / -1}.font-more>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-weight:600}.font-more>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:5px}.font-choices button{min-width:0;min-height:58px;padding-inline:6px;overflow-wrap:anywhere;line-height:1.15}.font-choices button[data-font-choice=haven]{font-family:Georgia,Times New Roman,serif}.font-choices button[data-font-choice=modern]{font-family:Inter,ui-sans-serif,system-ui,sans-serif}.font-choices button[data-font-choice=soft]{font-family:Trebuchet MS,ui-sans-serif,system-ui,sans-serif}.font-choices button[data-font-choice=editorial]{font-family:Baskerville,Iowan Old Style,Georgia,serif}.font-choices button[data-font-choice=punk]{font-family:Bebas Neue,Impact,sans-serif}.font-choices button[data-font-choice=chic]{font-family:Satisfy,Segoe Script,cursive;font-size:1rem}.font-choices button[data-font-choice=cutesy]{font-family:Mali,Comic Sans MS,cursive}.font-choices button[data-font-choice=groovy]{font-family:Fredoka,Arial Rounded MT Bold,sans-serif}.font-choices button[data-font-choice=typewriter]{font-family:Special Elite,Courier New,monospace;font-size:.7rem}.font-choices button[data-font-choice=grandstander]{font-family:Grandstander,Arial Rounded MT Bold,sans-serif;font-size:.68rem}.font-choices button[data-font-choice=bubblegum]{font-family:Bubblegum Sans,Arial Rounded MT Bold,sans-serif}.font-choices button[data-font-choice=chewy]{font-family:Chewy,Arial Rounded MT Bold,sans-serif;font-size:.95rem}.font-choices button[data-font-choice=borel]{font-family:Borel,Segoe Script,cursive;padding-top:13px}.font-choices button[data-font-choice=cormorant]{font-family:Cormorant Garamond,Garamond,Georgia,serif;font-size:.9rem}.font-choices button[data-font-choice=playfair]{font-family:Playfair Display,Georgia,serif;font-size:.78rem}.font-choices button[data-font-choice=libre]{font-family:Libre Baskerville,Baskerville,Georgia,serif;font-size:.7rem}.font-choices button[data-font-choice=schoolbell]{font-family:Schoolbell,Comic Sans MS,cursive;font-size:1rem}.font-choices button[data-font-choice=allura]{font-family:Allura,Segoe Script,cursive;font-size:1.15rem}.font-choices button[data-font-choice=shadows]{font-family:Shadows Into Light,Segoe Print,cursive;font-size:.92rem}.font-choices button[data-font-choice=unifraktur]{font-family:UnifrakturCook,Georgia,serif;font-size:.95rem}.font-choices button.active{color:#fff;background:#315d54;background:oklch(from #315d54 l c var(--haven-style-hue, h));border-color:#315d54;border-color:oklch(from #315d54 l c var(--haven-style-hue, h))}.haven-style-choices{margin:16px 0 0;padding:0;border:0}.haven-style-choices>legend{color:#40574f;color:oklch(from #40574f l c var(--haven-style-hue, h));font-size:.73rem}.haven-style-choices>p{margin:4px 0 9px;color:var(--haven-muted, #667681);font-size:.68rem}.haven-style-choices>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:7px}.haven-style-choices button{display:grid;grid-template-columns:40px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 9px;align-items:center;min-width:0;min-height:66px;padding:9px;color:#334940;color:oklch(from #334940 l c var(--haven-style-hue, h));background:#fbfcfa;background:oklch(from #fbfcfa l c var(--haven-style-hue, h));text-align:left}.haven-style-choices button.active{color:var(--haven-style-ink);background:var(--haven-style-soft);border-color:var(--haven-style-accent);box-shadow:inset 0 0 0 1px var(--haven-style-accent)}.haven-style-choices button strong{font-size:.72rem;overflow-wrap:anywhere}.haven-style-choices button small{color:#697a72;font-size:.58rem;line-height:1.25;overflow-wrap:anywhere}.haven-scene-choices>div{grid-template-columns:repeat(auto-fill,minmax(112px,1fr))}.haven-scene-choices button{grid-template-columns:minmax(0,1fr);grid-template-rows:auto;align-content:start;gap:3px;min-height:0;padding:6px}.haven-scene-choices button img{display:block;width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:4px}.haven-style-swatches{grid-row:1 / 3;display:flex;width:40px;height:40px;overflow:hidden;border:1px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #bdc9c3;box-shadow:0 0 0 1px oklch(from #bdc9c3 l c var(--haven-style-hue, h))}.haven-style-swatches i{flex:1;height:100%}.appearance-day-night button{gap:6px}.appearance-day-night button small{padding:2px 5px;color:currentColor;background:#ffffff2e;border-radius:4px;font-size:.58rem}.haven-background-preview{position:relative;display:grid;place-items:center;width:100%;height:clamp(180px,26vh,300px);margin-top:10px;overflow:hidden;color:#5a6e65;color:oklch(from #5a6e65 l c var(--haven-style-hue, h));background:#e5ece7;background:oklch(from #e5ece7 l c var(--haven-style-hue, h));border:1px solid #cad8d1;border:1px solid oklch(from #cad8d1 l c var(--haven-style-hue, h));border-radius:6px}.haven-background-preview img,.haven-background-preview i{position:absolute;inset:0;width:100%;height:100%}.haven-background-preview img{object-fit:cover}.haven-background-preview i{pointer-events:none}.haven-background-preview span{max-width:280px;padding:14px;text-align:center;font-size:.76rem;line-height:1.45}.background-fallback-note{position:absolute;z-index:2;right:10px;bottom:10px;padding:5px 7px;color:#f7f6ee;background:#122b24bd;border:1px solid rgb(255 255 255 / 34%);border-radius:4px;font-size:.65rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.background-file-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:10px}.button-label{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:9px 14px;color:#fff;background:#244f59;background:oklch(from #244f59 l c var(--haven-style-hue, h));border:1px solid transparent;cursor:pointer}.button-label input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.button-label:focus-within{outline:3px solid #8d79bd;outline-offset:2px}.background-adjustments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 18px;margin-top:16px}.background-adjustments label{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;color:#40574f;color:oklch(from #40574f l c var(--haven-style-hue, h));font-size:.73rem}.background-adjustments output{color:var(--haven-muted, #667681);font-variant-numeric:tabular-nums}.background-adjustments input{grid-column:1 / -1;width:100%;accent-color:#315d54;accent-color:oklch(from #315d54 l c var(--haven-style-hue, h))}.field-error{margin:8px 0 0;color:#943e4b;font-size:.75rem}.field-success{margin:0 0 0 4px;color:#2e6654;font-size:.75rem}@media(max-width:599px){.haven-background-preview{height:190px}}.resource-list{margin:6px 0}.resource-list li{padding:10px 0;gap:5px 8px}.resource-list p{margin-top:3px}.bill-funding{grid-column:1;grid-row:2;width:max-content}.bill-funding.open{grid-column:1 / -1;grid-row:auto;width:100%}.allocate-next{min-height:40px;padding:7px 10px;font-size:.78rem}.payment-calculator{padding-top:10px;gap:10px}.payment-calculator .calculator-amount{padding:10px 4px}.planned-empty{margin:0 0 10px;color:var(--haven-muted, #667681);font-size:.8rem}.planned-flow-list{border-top-color:#d6ddea}@media(max-width:719px){.haven-hero{height:280px}.home-overview{grid-template-columns:1fr}}@media(max-width:479px){.signout-button{width:44px;padding:0;font-size:0}.haven-hero{height:270px}.haven-hero .haven-season{display:none}.haven-money-banner{inset:auto 8px 8px;width:calc(100% - 16px);grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:9px 10px}.safe-today>strong{font-size:1.75rem}.safe-period{padding-left:9px}.safe-period>strong{font-size:.9rem}.safe-period>span{font-size:.65rem}.safe-period small{font-size:.58rem}.home-snapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.snapshot-item{padding-inline:7px}.snapshot-item strong{font-size:.82rem}}[data-theme=dark],[data-theme=dark] body,[data-theme=dark] .app-shell{color:#e7edf1;background:#131c22}[data-theme=dark] .app-shell>header,[data-theme=dark] .app-shell>header nav{color:#e7edf1;background:#182229f2;border-color:#34434d}[data-theme=dark] header span,[data-theme=dark] header strong{color:#d9e4e8;color:oklch(from #d9e4e8 l c var(--haven-style-hue, h))}[data-theme=dark] .secondary,[data-theme=dark] .calculator-keys button{color:#dce7eb;color:oklch(from #dce7eb l c var(--haven-style-hue, h));background:#26343e;border-color:#3a4a55}[data-theme=dark] .app-shell>header nav button{color:#aab8c1}[data-theme=dark] .app-shell>header nav button.active{color:#ecf5f1;color:oklch(from #ecf5f1 l c var(--haven-style-hue, h));background:#29433f;background:oklch(from #29433f l c var(--haven-style-hue, h))}[data-theme=dark] .home-section,[data-theme=dark] .home-snapshot,[data-theme=dark] .snapshot-item,[data-theme=dark] .resource-list li,[data-theme=dark] .cash-flow-list,[data-theme=dark] .cash-flow-list li,[data-theme=dark] .cash-flow-totals,[data-theme=dark] .appearance-settings,[data-theme=dark] .money-guide details{border-color:#34434d}@media(max-width:640px){.haven-scenery-settings{grid-template-columns:1fr}.haven-scenery-settings .form-actions{width:100%}.haven-scenery-settings .form-actions button{flex:1;min-height:44px}.shared-budget-banner{align-items:stretch;flex-direction:column}.budget-switcher{position:absolute;top:58px;left:12px;right:12px;z-index:2}}.demo-page{min-height:100vh;color:#173f35;color:oklch(from #173f35 l c var(--haven-style-hue, h));background:#f7f7f1}.demo-header .policy-brand{color:inherit}.demo-actions,.demo-scenarios{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:16px 24px;max-width:1180px;margin:auto}.demo-actions{padding-block:8px;gap:8px}.demo-actions button{font-size:.78rem;padding:8px 12px}.demo-page .demo-intro{padding-block:20px}.demo-page .demo-intro h1{font-size:1.625rem}.demo-actions button,.demo-scenarios button{display:inline-flex;align-items:center;gap:8px;min-height:44px}.demo-sage{width:100%;color:#18342f;color:oklch(from #18342f l c var(--haven-style-hue, h));background:#f3f7f3;background:oklch(from #f3f7f3 l c var(--haven-style-hue, h));border-bottom:1px solid #d7dfd9;border-bottom:1px solid oklch(from #d7dfd9 l c var(--haven-style-hue, h))}.demo-sage-heading{display:flex;align-items:center;gap:12px;max-width:1180px;margin:auto;padding:18px 24px 10px}.demo-sage-heading>img{width:52px;height:52px;object-fit:cover;border:1px solid #cfbe8e;border-radius:50%}.demo-sage-heading>div:nth-child(2){flex:1;min-width:0}.demo-sage-heading span{color:#567268;color:oklch(from #567268 l c var(--haven-style-hue, h));font-size:.7rem;font-weight:800;text-transform:uppercase}.demo-sage-heading h2{margin:2px 0;font-size:1.1rem}.demo-sage-heading p{margin:0;color:#5f746c;color:oklch(from #5f746c l c var(--haven-style-hue, h));font-size:.76rem}.demo-sage-heading>div:last-child{display:flex;flex-wrap:wrap;gap:8px}.demo-sage-prompts{display:flex;gap:8px;max-width:1180px;margin:auto;padding:8px 24px 14px;overflow-x:auto}.demo-sage-prompts button{flex:0 0 auto;min-height:44px;padding:8px 12px;font-size:.74rem}.demo-sage>.sage-tip{max-width:1132px;margin:4px auto 12px}.demo-scenarios label{display:grid;flex:1;min-width:200px;gap:6px}.demo-scenarios input{width:100%;min-height:44px}.demo-home .retreat-dashboard{width:100%;background:#f7f9f6;background:oklch(from #f7f9f6 l c var(--haven-style-hue, h));--retreat-ink: #18342f;--retreat-muted: #546962;--retreat-line: #d7dfd9}.demo-home .demo-scenarios{width:100%;max-width:none;justify-content:center;color:#18342f;color:oklch(from #18342f l c var(--haven-style-hue, h));background:#e8f1ec;background:oklch(from #e8f1ec l c var(--haven-style-hue, h));border-bottom:1px solid #d7dfd9;border-bottom:1px solid oklch(from #d7dfd9 l c var(--haven-style-hue, h))}.demo-home .demo-scenarios label{flex:0 1 320px;color:#18342f;color:oklch(from #18342f l c var(--haven-style-hue, h))}.demo-home .demo-scenarios input{accent-color:#356f60;accent-color:oklch(from #356f60 l c var(--haven-style-hue, h))}.demo-home .retreat-footer{display:none}.demo-notice{padding:0 24px}.demo-explanation{position:fixed;z-index:100;right:20px;bottom:24px;width:min(380px,calc(100% - 32px));max-height:45dvh;overflow-y:auto;padding:22px;border:1px solid #8da99e;border:1px solid oklch(from #8da99e l c var(--haven-style-hue, h));border-radius:8px;color:#173f35;color:oklch(from #173f35 l c var(--haven-style-hue, h));background:#f4faf7;background:oklch(from #f4faf7 l c var(--haven-style-hue, h));box-shadow:0 8px 32px #142f3433}.demo-explanation>button{float:right;margin:-8px -8px 8px 12px}.demo-explanation h2{color:#173f35;color:oklch(from #173f35 l c var(--haven-style-hue, h));font-size:1.1rem;line-height:1.3}.demo-explanation p{font-size:.9rem;line-height:1.6}.demo-header{position:static;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;height:auto;padding:18px clamp(20px,5vw,72px);color:#173f35;color:oklch(from #173f35 l c var(--haven-style-hue, h));background:#fffef8;border-bottom:1px solid #cad8d2;border-bottom:1px solid oklch(from #cad8d2 l c var(--haven-style-hue, h))}.demo-header nav{position:static;display:flex;gap:20px;width:auto;height:auto;padding:0;background:none;border:0;font-family:var(--haven-body-font)}.demo-header nav a{color:inherit;font-weight:700;text-underline-offset:4px}.demo-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 32px;align-items:end;padding:42px clamp(20px,8vw,140px) 30px;background:#e9f2ee;background:oklch(from #e9f2ee l c var(--haven-style-hue, h));border-bottom:1px solid #bfd1ca;border-bottom:1px solid oklch(from #bfd1ca l c var(--haven-style-hue, h))}.demo-intro>span{grid-column:1 / -1;display:flex;align-items:center;gap:7px;color:#507066;color:oklch(from #507066 l c var(--haven-style-hue, h));font-size:.75rem;font-weight:800;text-transform:uppercase}.demo-intro h1{max-width:780px;margin:0;font:500 1.625rem/1.2 Georgia,serif;letter-spacing:0}.demo-intro p{max-width:760px;margin:6px 0 0;color:#526a61;color:oklch(from #526a61 l c var(--haven-style-hue, h));font-size:1rem;line-height:1.6}.demo-early-offer{display:block;margin-top:5px;color:#285c51;color:oklch(from #285c51 l c var(--haven-style-hue, h));font-size:.78rem;font-weight:800}.demo-intro>a{grid-column:2;grid-row:2 / span 2;display:inline-flex;align-items:center;gap:8px;padding:13px 17px;color:#fff;background:#216351;background:oklch(from #216351 l c var(--haven-style-hue, h));font-weight:800;text-decoration:none}.demo-tabs{max-width:1180px;margin:26px auto 0;padding:0 24px}.demo-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.demo-workspace{max-width:1180px;margin:0 auto;padding:24px 24px 64px}.demo-loading{padding:24px 4px;color:var(--haven-muted, #5f7069)}.guided-tour{position:fixed;inset:0;z-index:120;pointer-events:none}.tour-shade{position:absolute;inset:0;background:#0e1e1970}.tour-spotlight{position:fixed;border:3px solid #f4d47b;border-radius:8px;box-shadow:0 0 0 9999px #0e1e1970,0 0 0 6px #ffffff8c;pointer-events:none}.tour-bubble{position:fixed;width:min(320px,calc(100vw - 24px));min-height:150px;padding:16px;color:#173f35;color:oklch(from #173f35 l c var(--haven-style-hue, h));background:#fffef8;border:1px solid #b9cabf;border:1px solid oklch(from #b9cabf l c var(--haven-style-hue, h));border-radius:8px;box-shadow:0 16px 42px #0a201947;pointer-events:auto}.tour-bubble:not([style]){top:50%;left:50%;transform:translate(-50%,-50%)}.tour-close{position:absolute;top:4px;right:4px;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;color:#36574c;color:oklch(from #36574c l c var(--haven-style-hue, h));background:transparent}.tour-sage{display:flex;align-items:center;gap:8px;padding-right:44px;color:#567268;color:oklch(from #567268 l c var(--haven-style-hue, h));font-size:.7rem;font-weight:800;text-transform:uppercase}.tour-sage img{width:34px;height:34px;object-fit:cover;border-radius:50%}.tour-bubble p{margin:12px 0;font-size:.92rem;line-height:1.5}.tour-bubble>div:last-of-type{display:flex;flex-wrap:wrap;gap:7px}.tour-bubble button{display:inline-flex;align-items:center;gap:5px;min-height:44px}.tour-bubble .tour-skip{margin-left:auto;color:#4d675e;color:oklch(from #4d675e l c var(--haven-style-hue, h));background:transparent}.tour-bubble small{display:block;margin-top:10px;color:var(--haven-muted, #5d7468);color:var(--haven-muted, oklch(from #5d7468 l c var(--haven-style-hue, h)))}.demo-save-note{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;margin-top:16px;color:#36574c;color:oklch(from #36574c l c var(--haven-style-hue, h));background:#e3f0ea;background:oklch(from #e3f0ea l c var(--haven-style-hue, h));border-left:4px solid #4e8b77;border-left:4px solid oklch(from #4e8b77 l c var(--haven-style-hue, h))}.demo-save-note a{color:#174f41;color:oklch(from #174f41 l c var(--haven-style-hue, h));font-weight:800}[data-demo=true] .debt-save{display:none}[data-theme=dark] .demo-page{color:#eef4f1;color:oklch(from #eef4f1 l c var(--haven-style-hue, h));background:#15201c;background:oklch(from #15201c l c var(--haven-style-hue, h))}[data-theme=dark] .demo-header{color:#eef4f1;color:oklch(from #eef4f1 l c var(--haven-style-hue, h));background:#192823;background:oklch(from #192823 l c var(--haven-style-hue, h));border-color:#3c5149;border-color:oklch(from #3c5149 l c var(--haven-style-hue, h))}[data-theme=dark] .demo-intro{background:#20352e;background:oklch(from #20352e l c var(--haven-style-hue, h));border-color:#48665c;border-color:oklch(from #48665c l c var(--haven-style-hue, h))}[data-theme=dark] .demo-intro p,[data-theme=dark] .demo-intro>span{color:#bfcec8;color:oklch(from #bfcec8 l c var(--haven-style-hue, h))}@media(max-width:720px){.demo-header{align-items:flex-start;padding:16px 18px}.demo-header nav{flex-wrap:wrap;justify-content:flex-end;gap:10px 14px;font-size:.72rem}.demo-intro{grid-template-columns:1fr;padding:28px 20px 24px}.demo-intro h1{font-size:2.15rem}.demo-intro>a{grid-column:1;grid-row:auto;width:fit-content}.money-tabs.demo-tabs{display:grid;grid-auto-flow:row;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));overflow:visible;padding:0 12px}.demo-tabs button{min-width:0;padding:11px 6px;font-size:.72rem}.demo-workspace{padding:16px 12px 48px;overflow-x:clip}.demo-save-note{align-items:flex-start;flex-direction:column}.demo-sage-heading{align-items:flex-start;flex-wrap:wrap;padding-inline:14px}.demo-sage-heading>div:last-child{flex:0 0 100%}.demo-sage-heading>div:last-child button{flex:1;min-height:44px}.demo-sage-prompts{padding-inline:14px}.demo-sage>.sage-tip{margin-inline:12px}.tour-bubble{max-height:42dvh;overflow-y:auto}}@media(prefers-reduced-motion:reduce){.tour-bubble,.tour-spotlight{transition:none}}[data-theme=dark] .snapshot-item{color:#e7edf1}[data-theme=dark] .snapshot-item span,[data-theme=dark] .snapshot-item small,[data-theme=dark] .muted,[data-theme=dark] .resource-list p,[data-theme=dark] .cash-flow-heading p,[data-theme=dark] .cash-flow-heading label,[data-theme=dark] .cash-flow-list-heading span,[data-theme=dark] .cash-flow-list li>div>span,[data-theme=dark] .cash-flow-note,[data-theme=dark] .planned-empty{color:#aab8c1}[data-theme=dark] .entry-form input,[data-theme=dark] .entry-form select,[data-theme=dark] .income-destination select,[data-theme=dark] .record-details select,[data-theme=dark] .cash-flow-heading input{color:#edf3f5;color:oklch(from #edf3f5 l c var(--haven-style-hue, h));background:#1b272e;border-color:#50616c}[data-theme=dark] .bill-edit-form,[data-theme=dark] .guide-lede{color:#dce7eb;color:oklch(from #dce7eb l c var(--haven-style-hue, h));background:#202c34;border-color:#3c4b56}[data-theme=dark] .guide-lede span,[data-theme=dark] .entry-form label,[data-theme=dark] .payment-switch span{color:#b2c0c7}[data-theme=dark] .flow-icon.inflow{color:#8fd4b8;background:#203b34}[data-theme=dark] .flow-icon.outflow{color:#efa8b1;background:#402a30}[data-theme=dark] .money-in{color:#8fd4b8}[data-theme=dark] .money-out,[data-theme=dark] [role=alert]{color:#efa8b1}[data-theme=dark] .money-net,[data-theme=dark] [role=status]{color:#9ecbe1}.app-shell,body{background:#e9f0ec;background:oklch(from #e9f0ec l c var(--haven-style-hue, h))}.dashboard{gap:14px}.haven-hero{position:relative;display:block;height:330px;border-color:#a9beb5;border-color:oklch(from #a9beb5 l c var(--haven-style-hue, h));background:#c9ded8;background:oklch(from #c9ded8 l c var(--haven-style-hue, h));box-shadow:0 22px 55px #2f4d4226,0 3px 10px #29463b17}.haven-hero .haven{position:static;height:100%;min-height:0}.haven-hero .haven-scene{height:100%;background:#c9ded8;background:oklch(from #c9ded8 l c var(--haven-style-hue, h))}.haven-money-banner{position:absolute;inset:auto 22px 20px;z-index:3;width:auto;display:grid;grid-template-columns:minmax(170px,.85fr) minmax(140px,1fr) minmax(205px,.9fr);align-items:end;gap:14px;padding:10px 14px;color:#f8fbfa;color:oklch(from #f8fbfa l c var(--haven-style-hue, h));background:#153a382e;border:1px solid #ffffff73;border-radius:6px;box-shadow:0 15px 40px #17342a1f;-webkit-backdrop-filter:blur(5px) saturate(1.15);backdrop-filter:blur(5px) saturate(1.15)}.hero-tree-gap{min-width:0}.safe-today,.safe-period{text-shadow:0 1px 6px #15332f99}.safe-today>strong{font-size:1.85rem}.safe-period{justify-self:end;min-width:190px;padding-left:14px;border-left-color:#fff6}.safe-period>strong{font-size:1.12rem}.haven-hero .haven-season,.hero-weather,.haven-controls>.icon-button{box-shadow:0 5px 18px #253f3730}.home-snapshot{margin:0;overflow:hidden;border:1px solid #ccd9d3;border:1px solid oklch(from #ccd9d3 l c var(--haven-style-hue, h));border-radius:6px;background:#f8faf7ad;box-shadow:0 8px 24px #2b493e0d}.home-overview{gap:12px}.home-section{min-width:0;margin:0;padding:14px;background:#f8faf7b8;border:1px solid #d2ddd7;border:1px solid oklch(from #d2ddd7 l c var(--haven-style-hue, h));border-radius:6px;box-shadow:0 8px 24px #2b493e0c}.home-section h2{font-family:inherit;font-size:.88rem;font-weight:650}.home-section p{margin:5px 0;font-size:.78rem}.home-section .summary-amount{margin-top:6px;font-family:var(--haven-display-font);font-size:1.35rem;font-weight:400}.home-section .muted{margin-block:4px;font-size:.72rem}.home-section .mini-row{padding:8px 0;font-size:.78rem;border-bottom:1px solid #e1e8e4;border-bottom:1px solid oklch(from #e1e8e4 l c var(--haven-style-hue, h))}.home-section .mini-row:last-child{border-bottom:0}.home-section .section-heading{flex-wrap:nowrap}.home-section .section-heading .icon-button{width:36px;height:36px;min-height:36px;flex-basis:36px}.home-overview{align-items:start;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr)}.home-summary-line{display:flex;align-items:center;justify-content:space-between;min-height:48px;padding:10px 12px;gap:10px;color:#26373f;font-size:.8rem;line-height:1.5;text-align:left}.home-summary-line>span{min-width:0;overflow-wrap:anywhere}.home-summary-line>svg{flex:0 0 18px}.home-summary-line .summary-label{font-weight:600}.home-summary-line strong{font-size:.9rem;font-variant-numeric:tabular-nums}.home-summary-line small{font-size:.72rem}.home-upcoming{grid-column:1 / -1}@media(max-width:800px){.home-overview{grid-template-columns:1fr}}.detail-section{scroll-margin-top:92px;margin-top:34px;padding-top:0;border-block:2px solid #b9c9c0;border-block:2px solid oklch(from #b9c9c0 l c var(--haven-style-hue, h));background:#f8faf8a3}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0 14px;border-bottom:1px solid var(--haven-hairline, #d4dfd9);border-bottom:1px solid var(--haven-hairline, oklch(from #d4dfd9 l c var(--haven-style-hue, h)))}.detail-heading span{display:block;color:#66766f;font-size:.72rem}.detail-heading h1{margin:3px 0 0;font-family:var(--haven-display-font);font-size:clamp(1.45rem,2.5vw,1.625rem);font-weight:400}.detail-content{min-width:0;padding:16px 0 26px}.detail-section .resource-view>.view-heading{justify-content:flex-end;margin-bottom:4px}.detail-section .resource-view>.view-heading h2{display:none}[data-theme=dark] .detail-section{color:#e7edf1;background:#18222980;border-color:#43574f;border-color:oklch(from #43574f l c var(--haven-style-hue, h))}[data-theme=dark] .detail-heading{border-color:#34434d}[data-theme=dark] .detail-heading span{color:#aab8c1}@media(max-width:719px){.haven-hero{height:310px}.haven-money-banner{inset:auto 10px 10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px 10px}.hero-tree-gap{display:none}.detail-section{scroll-margin-top:72px;margin-top:26px}}@media(max-width:479px){.haven-hero{height:294px}.haven-money-banner{width:auto}.safe-today>strong{font-size:1.55rem}.safe-period{min-width:0;padding-left:8px}.safe-period>strong{font-size:.9rem}.safe-period small{display:none}.home-overview{grid-template-columns:1fr}.detail-heading{padding-block:13px 11px}.detail-heading h1{font-size:clamp(1.45rem,5.5vw,1.625rem)}.detail-content{padding-top:12px}}[data-theme=dark] .remember-browser,[data-theme=dark] .home-section,[data-theme=dark] .home-snapshot{color:#e7edf1;background:#1d292fbd;border-color:#34434d}[data-theme=dark] .remember-browser small{color:#aab8c1}[data-theme=dark] .haven-appearance-settings{border-color:#34434d}[data-theme=dark] .appearance-heading p,[data-theme=dark] .background-adjustments output{color:#aab9b1;color:oklch(from #aab9b1 l c var(--haven-style-hue, h))}[data-theme=dark] .background-adjustments label,[data-theme=dark] .accent-color-choice{color:#d9e4d9;color:oklch(from #d9e4d9 l c var(--haven-style-hue, h))}[data-theme=dark] .accent-color-choice output{color:#aab9b1;color:oklch(from #aab9b1 l c var(--haven-style-hue, h))}[data-theme=dark] .haven-background-preview{color:#bbc8c0;color:oklch(from #bbc8c0 l c var(--haven-style-hue, h));background:#233129;background:oklch(from #233129 l c var(--haven-style-hue, h));border-color:#43554a;border-color:oklch(from #43554a l c var(--haven-style-hue, h))}html,body,#root,.app-shell{max-width:100%;overflow-x:clip}.app-shell>main,.dashboard,.detail-section,.detail-content,.resource-view,.cash-flow-view,.resource-list{min-width:0;max-width:100%}.detail-section{width:min(100%,940px);margin-inline:auto}.detail-heading,.detail-content{padding-inline:18px}.resource-list{overflow:hidden}.resource-list li{min-width:0;max-width:100%}.resource-list button,.bill-funding,.bill-funding>button{max-width:100%}.bill-funding{width:100%}.cash-flow-view,.payoff-timeline{width:min(100%,860px)}.payday-flow-list,.payoff-list{display:grid}.payday-flow-window,.payoff-row{padding:16px 0;border-bottom:1px solid #dce4df;border-bottom:1px solid oklch(from #dce4df l c var(--haven-style-hue, h))}.payday-flow-window>header{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px}.payday-flow-window h3,.payoff-row h3{margin:0;font-size:.9rem}.payday-flow-window header span,.payoff-row>div>span{display:block;margin-top:3px;color:var(--haven-muted, #63746c);font-size:.7rem}.payday-flow-window header>strong{font-size:.95rem;font-variant-numeric:tabular-nums}.payday-flow-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0;padding:12px 0;border-block:1px solid #e4e9e6;border-block:1px solid oklch(from #e4e9e6 l c var(--haven-style-hue, h))}.payday-flow-totals div{min-width:0}.payday-flow-totals dt{color:var(--haven-muted, #63746c);font-size:.68rem}.payday-flow-totals dd{margin:3px 0 0;font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.payday-bills h4{margin:0 0 5px;color:var(--haven-muted, #63746c);font-size:.68rem;font-weight:500;text-transform:uppercase}.payday-bills ul{margin:0;padding:0;list-style:none}.payday-bills li{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;border-top:1px solid #edf0ee;border-top:1px solid oklch(from #edf0ee l c var(--haven-style-hue, h));font-size:.78rem}.payday-bills li>strong{font-variant-numeric:tabular-nums}.payday-bills p{margin:8px 0 0;color:var(--haven-muted, #63746c);font-size:.75rem}.payoff-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}.payoff-row .bill-funding{grid-column:2;grid-row:1;width:auto}.payoff-row .bill-funding.open{grid-column:1 / -1;grid-row:2;width:100%}[data-theme=dark] .payday-flow-window,[data-theme=dark] .payoff-row,[data-theme=dark] .payday-flow-totals,[data-theme=dark] .payday-bills li{border-color:#34434d}[data-theme=dark] .payday-flow-window header span,[data-theme=dark] .payoff-row>div>span,[data-theme=dark] .payday-flow-totals dt,[data-theme=dark] .payday-bills h4,[data-theme=dark] .payday-bills p{color:#aab8c1}.flow-ledger{min-width:0;border-top:1px solid var(--haven-hairline, #e3e7ee)}.flow-columns,.cash-flow-row{display:grid;grid-template-columns:72px minmax(135px,1.15fr) minmax(86px,.6fr) minmax(120px,.75fr) minmax(88px,auto);gap:10px;align-items:center}.flow-columns{padding:7px 0;color:var(--haven-muted, #75837d);font-size:.65rem;text-transform:uppercase}.flow-columns span:last-child{text-align:right}.cash-flow-list{border-top:0}.cash-flow-list li.cash-flow-row{grid-template-columns:72px minmax(135px,1.15fr) minmax(86px,.6fr) minmax(120px,.75fr) minmax(88px,auto);padding:9px 0}.flow-date{display:grid;align-content:center;min-width:0;color:#566b63;color:oklch(from #566b63 l c var(--haven-style-hue, h));font-variant-numeric:tabular-nums}.flow-date strong{font-size:.78rem;white-space:nowrap}.flow-date span{color:var(--haven-muted, #55655e);font-size:.64rem;margin-top:2px}.flow-payee{min-width:0}.flow-payee>strong{display:block;font-size:.82rem;overflow-wrap:anywhere}.flow-payee>span{display:block;color:var(--haven-muted, #75837d);font-size:.68rem;margin-top:2px}.flow-payee>strong,.activity-name,.account-name-button>strong{font-family:inherit;font-size:.82rem;font-weight:700;line-height:1.25}.flow-account-cell{min-width:0;color:var(--haven-muted, #526960);color:var(--haven-muted, oklch(from #526960 l c var(--haven-style-hue, h)));font-size:.72rem;overflow-wrap:anywhere}.flow-account-cell>span{display:block}.flow-category-cell{min-width:0}.flow-envelope-cell{min-width:0;color:var(--haven-muted, #526960);color:var(--haven-muted, oklch(from #526960 l c var(--haven-style-hue, h)));font-size:.7rem}.flow-envelope-cell select{width:100%;min-width:0;padding:7px 22px 7px 7px;color:#315348;color:oklch(from #315348 l c var(--haven-style-hue, h));background:#f4f7f5;background:oklch(from #f4f7f5 l c var(--haven-style-hue, h));border:1px solid #cfddd5;border:1px solid oklch(from #cfddd5 l c var(--haven-style-hue, h))}.flow-envelope-cell>span{display:block;color:var(--haven-muted, #75837d)}.flow-amount .flow-clear{display:inline-flex;min-height:44px;margin-top:4px;padding:5px 7px;gap:4px;font-size:.68rem;white-space:nowrap}.flow-clear-error{grid-column:1 / -1;margin:0;font-size:.75rem}.flow-category{min-width:0;min-height:34px;max-width:100%;justify-content:flex-start;padding:5px 8px;color:#3d5b50;color:oklch(from #3d5b50 l c var(--haven-style-hue, h));background:#e8f0ec;background:oklch(from #e8f0ec l c var(--haven-style-hue, h));border-color:#d4e1da;border-color:oklch(from #d4e1da l c var(--haven-style-hue, h));font-size:.7rem;overflow-wrap:anywhere;text-align:left}.flow-category.empty{color:#6d7181;background:#f1eff5;border-color:#e1ddea}.flow-category-label{display:inline-block;padding:5px 8px;color:#65736d;background:#eef2f0;background:oklch(from #eef2f0 l c var(--haven-style-hue, h));border-radius:5px;font-size:.7rem}.flow-category-editor{grid-column:2 / -1;display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:7px;align-items:end;padding:8px;background:#f2f6f3;background:oklch(from #f2f6f3 l c var(--haven-style-hue, h));border:1px solid #d7e1dc;border:1px solid oklch(from #d7e1dc l c var(--haven-style-hue, h));border-radius:6px}.flow-category-editor label{display:grid;gap:4px;color:#66766f;font-size:.68rem}.flow-category-editor input{min-width:0;width:100%;padding:8px 10px;color:#24312e;color:oklch(from #24312e l c var(--haven-style-hue, h));background:#fff;border:1px solid #aabbb2;border:1px solid oklch(from #aabbb2 l c var(--haven-style-hue, h))}.flow-category-editor p{grid-column:1 / -1;margin:0;font-size:.72rem}.envelope-layout-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 12px;padding-bottom:10px;border-bottom:1px solid var(--haven-hairline, #d8e2dc);border-bottom:1px solid var(--haven-hairline, oklch(from #d8e2dc l c var(--haven-style-hue, h)))}.envelope-layout-toolbar>span{color:#687970;font-size:.74rem}.envelope-layout-toolbar>div{display:flex;gap:5px}.envelope-layout-toolbar .active{color:#fff;background:#315d54;background:oklch(from #315d54 l c var(--haven-style-hue, h));border-color:#315d54;border-color:oklch(from #315d54 l c var(--haven-style-hue, h))}.envelope-collection{overflow:visible;margin-top:0}.envelope-collection.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));align-items:start;gap:10px}.envelope-collection.list{max-width:760px}.envelope-view{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.envelope-view>*{grid-column:1 / -1}.envelope-view>.view-heading{grid-column:2;grid-row:1;margin:0}.envelope-view>.envelope-layout-toolbar{grid-column:1;grid-row:1;margin:0;padding:0;border:0;justify-content:flex-start}.envelope-view .view-heading button{min-height:44px;padding:8px 10px;font-size:.8rem}.envelope-layout-toolbar .icon-button{width:44px;height:44px;min-height:44px}.envelope-quick-actions,.envelope-secondary-actions{display:flex;flex-wrap:wrap;gap:6px}.envelope-quick-actions{margin-bottom:6px}.envelope-quick-actions button,.envelope-secondary-actions button{min-height:44px;padding:7px 10px;font-size:.75rem}.envelope-quick-actions button:first-child{flex:1}.envelope-secondary-actions{margin:2px 0 8px}@media(min-width:600px){.envelope-quick-actions{justify-content:flex-end}.envelope-quick-actions button:first-child{flex:0 0 auto;min-width:150px}}.resource-list .envelope-widget.drag-over{outline:2px solid #6f9a83;outline:2px solid oklch(from #6f9a83 l c var(--haven-style-hue, h));outline-offset:2px}.envelope-widget .envelope-basket{cursor:grab;width:44px;height:44px}.envelope-widget .envelope-basket:active{cursor:grabbing}@media(max-width:480px){.envelope-layout-toolbar>span{display:none}}.resource-list .envelope-widget{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:6px 9px;padding:10px;overflow:hidden;background:#f7faf8;background:oklch(from #f7faf8 l c var(--haven-style-hue, h));border:1px solid #cfddd5;border:1px solid oklch(from #cfddd5 l c var(--haven-style-hue, h));border-left:4px solid #6f9a83;border-left:4px solid oklch(from #6f9a83 l c var(--haven-style-hue, h));border-radius:7px;box-shadow:0 7px 18px #29463b0d}.resource-list .envelope-widget:nth-child(4n+2){background:#f7f9fc;border-left-color:#7894ac}.resource-list .envelope-widget:nth-child(4n+3){background:#faf8fc;border-left-color:#9683aa}.resource-list .envelope-widget:nth-child(4n){background:#fcf9f5;border-left-color:#b18b6e}.envelope-basket{grid-column:1;grid-row:1;width:34px;height:34px;display:grid;place-items:center;color:#527664;color:oklch(from #527664 l c var(--haven-style-hue, h));background:#e4eee8;background:oklch(from #e4eee8 l c var(--haven-style-hue, h));border-radius:6px}.envelope-widget>div:first-of-type{grid-column:2;grid-row:1}.envelope-identity p{margin:3px 0 0}.envelope-basket .envelope-emoji{font-size:1.3rem;line-height:1}.envelope-record-menu .record-actions:has(.envelope-emoji-picker){flex-wrap:wrap;justify-content:flex-end;width:228px}.envelope-record-menu .envelope-emoji-picker{display:flex;align-items:center;gap:6px;flex-basis:100%;font-size:.85rem}.envelope-emoji-picker select{min-height:44px;font-size:1.1rem}.envelope-metrics{grid-column:1 / -1;grid-row:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:2px 0 0}.envelope-metrics.compact{grid-template-columns:minmax(110px,1.15fr) repeat(2,minmax(90px,1fr))}.envelope-metrics>div{min-width:0;padding:7px 8px;background:#ffffff8f;border:1px solid #dbe5df;border:1px solid oklch(from #dbe5df l c var(--haven-style-hue, h));border-radius:5px}.envelope-metrics.compact .envelope-available{background:#edf5f0;background:oklch(from #edf5f0 l c var(--haven-style-hue, h));border-color:#b9d0c3;border-color:oklch(from #b9d0c3 l c var(--haven-style-hue, h))}.envelope-metrics dt{color:#687970;font-size:.62rem;text-transform:uppercase}.envelope-metrics dd{margin:3px 0 0;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.envelope-metrics dd small{color:#687970;font-size:.66rem;font-weight:500}.envelope-widget .envelope-month{grid-column:1 / -1;grid-row:3;padding-top:8px;border-top-color:#dbe5df;border-top-color:oklch(from #dbe5df l c var(--haven-style-hue, h))}.envelope-widget .record-actions{justify-self:end}.envelope-record-menu{grid-column:3;grid-row:1;position:relative;align-self:start}.envelope-record-menu>summary{display:grid;place-items:center;width:44px;height:44px;cursor:pointer;list-style:none;border-radius:5px;color:var(--haven-muted, #526960);color:var(--haven-muted, oklch(from #526960 l c var(--haven-style-hue, h)))}.envelope-record-menu>summary::-webkit-details-marker{display:none}.envelope-record-menu>summary:hover,.envelope-record-menu[open]>summary{background:#789b8726}.envelope-record-menu .record-actions{position:absolute;z-index:2;top:46px;right:0;display:flex;gap:4px;padding:5px;border:1px solid #cad8d0;border:1px solid oklch(from #cad8d0 l c var(--haven-style-hue, h));border-radius:6px;background:#fff;box-shadow:0 8px 22px #263f351f}.envelope-month .settings-list{margin-bottom:14px}[data-theme=dark] .flow-ledger,[data-theme=dark] .envelope-layout-toolbar{border-color:#34434d}[data-theme=dark] .flow-date,[data-theme=dark] .flow-payee>span,[data-theme=dark] .flow-columns{color:#aab8c1}[data-theme=dark] .flow-category,[data-theme=dark] .flow-category-label{color:#bce0d0;color:oklch(from #bce0d0 l c var(--haven-style-hue, h));background:#203b34;background:oklch(from #203b34 l c var(--haven-style-hue, h));border-color:#315348;border-color:oklch(from #315348 l c var(--haven-style-hue, h))}[data-theme=dark] .flow-category.empty{color:#c7bed5;background:#342e40;border-color:#4b425b}[data-theme=dark] .flow-category-editor{background:#202c34;border-color:#3c4b56}[data-theme=dark] .flow-category-editor input{color:#edf3f5;color:oklch(from #edf3f5 l c var(--haven-style-hue, h));background:#1b272e;border-color:#50616c}[data-theme=dark] .resource-list .envelope-widget{color:#e7edf1;background:#1d2b29;background:oklch(from #1d2b29 l c var(--haven-style-hue, h));border-color:#3b554a;border-color:oklch(from #3b554a l c var(--haven-style-hue, h));border-left-color:#75a38c;border-left-color:oklch(from #75a38c l c var(--haven-style-hue, h))}[data-theme=dark] .resource-list .envelope-widget:nth-child(4n+2){background:#202b33;border-left-color:#7894ac}[data-theme=dark] .resource-list .envelope-widget:nth-child(4n+3){background:#292632;border-left-color:#9683aa}[data-theme=dark] .resource-list .envelope-widget:nth-child(4n){background:#302b27;border-left-color:#b18b6e}[data-theme=dark] .envelope-basket{color:#a8d0bc;color:oklch(from #a8d0bc l c var(--haven-style-hue, h));background:#29443a;background:oklch(from #29443a l c var(--haven-style-hue, h))}[data-theme=dark] .calculator-amount-label{color:#b5c4bd;color:oklch(from #b5c4bd l c var(--haven-style-hue, h))}[data-theme=dark] .envelope-metrics.compact .envelope-available{background:#233a31;background:oklch(from #233a31 l c var(--haven-style-hue, h));border-color:#49695a;border-color:oklch(from #49695a l c var(--haven-style-hue, h))}[data-theme=dark] .envelope-record-menu .record-actions{background:#202a26;background:oklch(from #202a26 l c var(--haven-style-hue, h));border-color:#46564e;border-color:oklch(from #46564e l c var(--haven-style-hue, h))}@media(min-width:720px){.app-shell>main{width:100%;max-width:1160px}}@media(max-width:620px){.detail-heading,.detail-content{padding-inline:0}.detail-section{width:100%}.flow-columns{display:none}.flow-ledger{border-top:0}.cash-flow-list li.cash-flow-row{grid-template-columns:62px minmax(0,1fr) auto;gap:5px 9px;align-items:start}.flow-date{grid-column:1;grid-row:1 / span 3;padding-top:3px}.flow-payee{grid-column:2;grid-row:1}.flow-account-cell{grid-column:2;grid-row:2}.flow-category-cell{grid-column:2;grid-row:3}.flow-amount{grid-column:3;grid-row:1 / span 3;padding-top:2px}.flow-category{min-height:32px}.flow-category-editor{grid-column:1 / -1}.payday-flow-window>header{grid-template-columns:62px minmax(0,1fr)}.payday-flow-window header>strong{grid-column:2}.payday-flow-totals{gap:8px}.payday-bills li{grid-template-columns:62px minmax(0,1fr) auto;gap:7px}.payoff-row{grid-template-columns:minmax(0,1fr)}.payoff-row .bill-funding{grid-column:1;grid-row:2;justify-self:start}.payoff-row .bill-funding.open{grid-row:2}.resource-list li:not(.envelope-widget){grid-template-columns:minmax(0,1fr) auto}.resource-list li:not(.envelope-widget)>strong{grid-column:2}.resource-list li:not(.envelope-widget) .record-actions{grid-column:1 / -1;grid-row:auto;justify-self:end}}@media(max-width:359px){.app-shell>main{padding-inline:12px}.app-shell>header nav{gap:0}.app-shell>header nav button{gap:2px;font-size:.6rem}.cash-flow-list li.cash-flow-row{grid-template-columns:54px minmax(0,1fr) auto}.flow-date strong,.flow-payee>strong{font-size:.74rem}.flow-amount strong{font-size:.75rem}}.brand-button{min-height:44px;padding:0;color:#284b54;background:transparent;border:0;border-radius:0;font-family:var(--haven-display-font);font-size:1.25rem;font-weight:600;white-space:nowrap}.brand-button:hover{color:#174f43}.planner-caption{font-size:.75rem;color:var(--haven-muted, #63746c)}[data-theme=dark] .planner-caption{color:#b2c7bb;color:oklch(from #b2c7bb l c var(--haven-style-hue, h))}.app-shell>header nav{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(44px,1fr);overflow-x:auto;overscroll-behavior-inline:contain}@media(max-width:719px){.app-shell>header{background:#f8faf8;background:oklch(from #f8faf8 l c var(--haven-style-hue, h));-webkit-backdrop-filter:none;backdrop-filter:none}}@media(min-width:720px){.app-shell{display:block;padding-bottom:0}.app-shell>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:70px;padding:calc(10px + env(safe-area-inset-top)) 20px 10px}.app-shell>main{grid-area:auto}.app-shell>header nav{position:static;inset:auto;z-index:auto;grid-area:auto;display:flex;align-items:center;justify-content:flex-start;height:auto;padding:0;gap:4px;overflow:visible;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.app-shell>header nav button{width:auto;min-height:44px;flex-direction:row;justify-content:center;gap:6px;padding:8px 10px;font-size:.78rem;white-space:nowrap}.app-shell>header nav button.active{background:#e9edf6}.app-shell>header nav .quick-add-mobile{display:none}.quick-add-desktop{display:inline-flex;min-height:44px;padding:8px 14px;white-space:nowrap}.quick-add-compact{display:none}[data-theme=dark] .app-shell>header nav{background:transparent;border:0}[data-theme=dark] .brand-button{color:#e1ece8}}@media(min-width:720px)and (max-width:1099px){.app-shell>header{gap:9px;padding-inline:14px}.app-shell>header nav button{width:44px;padding:0}.app-shell>header nav button span,.signout-button{font-size:0}.signout-button{width:44px;padding:0}}@media(min-width:720px){.app-shell>header nav button{flex:0 1 auto;min-width:44px}.app-shell>header nav button svg{flex:0 0 auto}.app-shell>header nav button span{min-width:0;overflow:hidden;text-overflow:ellipsis}}@media(min-width:720px)and (max-width:799px){.app-shell>header nav{gap:2px}.app-shell>header .quick-add-desktop{display:none}.app-shell>header .quick-add-compact{display:inline-flex}}@media(min-width:720px)and (max-width:1099px){.app-shell>header nav button{flex:0 0 44px}}@media(min-width:1100px){.app-shell>header nav{gap:3px}.app-shell>header nav button{gap:5px;padding-inline:9px}}@media(min-width:1100px)and (max-width:1279px){.app-shell>header nav{gap:2px}.app-shell>header nav button{gap:4px;padding-inline:8px}.app-shell>header .quick-add-desktop{display:none}.app-shell>header .quick-add-compact{display:inline-flex}.signout-button{width:44px;padding:0;font-size:0}}.app-shell>main.haven-workspace{width:100%;max-width:1440px;padding:14px}.haven-workspace .hero-weather{top:10px;left:10px;max-width:calc(100% - 164px);min-height:32px;padding:6px 9px;font-size:.72rem;white-space:normal}.haven-workspace .haven-hero .haven-season{top:62px;left:10px;max-width:calc(100% - 20px);font-size:.65rem}.haven-workspace .haven-hero{height:360px}.haven-workspace .haven-hero .haven-scene{height:calc(100% - 94px)}.haven-workspace .haven-money-banner{inset:auto 10px 10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:8px 10px;background:#153a381c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.haven-workspace .hero-tree-gap{display:none}.haven-workspace .safe-period{min-width:0;justify-self:stretch;padding-left:10px}.haven-workspace .safe-period small{display:none}.haven-workspace .safe-today>strong{font-size:1.7rem}.haven-workspace .safe-label{font-size:.7rem}.haven-workspace .home-snapshot{margin:0;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}.haven-workspace .snapshot-item{padding:8px 10px;min-width:0}.haven-workspace .snapshot-item strong{font-size:.9rem}.haven-workspace .home-overview{grid-template-columns:1fr}.haven-workspace.has-detail .detail-section{min-height:0;margin:0;border:0;border-left:1px solid #b9c9c0;border-left:1px solid oklch(from #b9c9c0 l c var(--haven-style-hue, h));padding:0 14px;overflow:auto;overscroll-behavior:contain;animation:workspace-enter .22s ease-out}.haven-workspace .detail-heading{padding:8px 0}.haven-workspace .detail-heading h1{font-size:clamp(1.45rem,2.5vw,1.625rem);margin:0}.haven-workspace .detail-heading>div>span{display:none}.haven-workspace .detail-content{padding-top:10px}@keyframes workspace-enter{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}@media(min-width:1000px){.app-shell>main.haven-workspace.has-detail{display:grid;grid-template-columns:minmax(350px,.85fr) minmax(0,1.35fr);gap:16px;height:calc(100dvh - 76px - env(safe-area-inset-top))}.haven-workspace.has-detail .dashboard{display:flex;flex-direction:column;gap:10px;min-height:0}.haven-workspace.has-detail .haven-hero{flex:0 0 min(360px,44dvh)}.haven-workspace.has-detail .home-snapshot{flex:0 1 auto;max-height:150px;overflow:auto}.haven-workspace.has-detail .home-columns{min-height:0;overflow:auto;margin:0;display:block}}@media(max-width:999px){.app-shell>main.haven-workspace.has-detail{height:calc(100dvh - 76px - env(safe-area-inset-top));display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;padding:8px}.haven-workspace.has-detail .dashboard{display:grid;gap:4px}.haven-workspace.has-detail .haven-hero{height:220px}.haven-workspace.has-detail .haven-hero .haven-scene{height:calc(100% - 75px)}.haven-workspace.has-detail .haven-season,.haven-workspace.has-detail .home-columns{display:none}.haven-workspace.has-detail .home-snapshot{display:flex;overflow:auto;max-height:65px}.haven-workspace.has-detail .snapshot-item{flex:0 0 155px}.haven-workspace.has-detail .snapshot-item small{display:none}.haven-workspace.has-detail .detail-section{border-left:0;border-top:1px solid #b9c9c0;border-top:1px solid oklch(from #b9c9c0 l c var(--haven-style-hue, h));padding:0 6px}}@media(max-width:719px){.app-shell>main.haven-workspace.has-detail{display:block;height:calc(100dvh - 152px - env(safe-area-inset-top) - env(safe-area-inset-bottom));min-height:0;padding:0 10px;overflow:hidden}.haven-workspace.has-detail .detail-section{height:100%;padding:0 4px;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scroll-padding-top:84px}.haven-workspace.has-detail .detail-section :is(input,select,textarea,button,[tabindex]){scroll-margin-top:12px}.haven-workspace.has-detail .detail-heading{position:sticky;top:0;z-index:4;background:#eef3f0;background:oklch(from #eef3f0 l c var(--haven-style-hue, h))}[data-theme=dark] .haven-workspace.has-detail .detail-heading{background:#191e1c;background:oklch(from #191e1c l c var(--haven-style-hue, h))}.haven-workspace .safe-period>span{font-size:.64rem}.haven-workspace .safe-today>strong{font-size:1.35rem}}@media(prefers-reduced-motion:reduce){.haven-workspace.has-detail .detail-section{animation:none}}.ledger-resource{container-type:inline-size}.ledger-resource.ledger-accounts .resource-list>.account-group-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:16px 0 8px;border-bottom:1px solid #aebfb5;border-bottom:1px solid oklch(from #aebfb5 l c var(--haven-style-hue, h))}.account-group-heading h2{font-size:.95rem}.account-group-heading>span{font-size:.8rem;font-variant-numeric:tabular-nums}.account-group-heading small{display:block;max-width:58ch;margin-top:3px;color:#667970;color:oklch(from #667970 l c var(--haven-style-hue, h));font-size:.68rem;font-weight:400}.debt-balance{color:inherit}.credit-payment-note{padding:10px 0;color:var(--haven-muted, #526960);color:var(--haven-muted, oklch(from #526960 l c var(--haven-style-hue, h)));font-size:.8rem}.credit-payment-note p{margin:4px 0}.card-next-month{margin:6px 0 10px;font-size:.85rem}.card-next-month>summary{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--haven-accent-text, #28634f);cursor:pointer}.card-next-month label{display:grid;gap:4px;max-width:220px;margin:4px 0 8px;font-weight:600}.card-next-month dl{display:grid;gap:2px;margin:0 0 6px;max-width:420px}.card-next-month dl>div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid var(--haven-hairline, #e1e8e4)}.card-next-month dt{min-width:0}.card-next-month dd{margin:0;font-weight:700}.card-next-month-note{margin:4px 0 0;color:var(--haven-muted, #64776d);font-size:.78rem}.account-name-button{display:inline;padding:0;min-height:0;color:inherit;background:transparent;text-align:left}.account-history{border-top:1px solid #aebfb5;border-top:1px solid oklch(from #aebfb5 l c var(--haven-style-hue, h))}.account-history>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0}.account-history>div>span{min-width:0;overflow-wrap:anywhere}.account-history>div>strong{white-space:nowrap}.ledger-resource .resource-list{border-top:1px solid var(--haven-hairline, #d8e2dc);border-top:1px solid var(--haven-hairline, oklch(from #d8e2dc l c var(--haven-style-hue, h)))}.ledger-resource .resource-list>li{grid-template-columns:68px minmax(0,1fr) auto;gap:4px 10px;padding:9px 0;align-items:center}.ledger-resource .resource-list>li>.flow-date{grid-column:1;grid-row:1 / 3;align-self:start;padding-top:2px}.ledger-resource .resource-list>li>div:first-child{grid-column:2;grid-row:1;font-size:.82rem}.ledger-resource .resource-list>li>div:first-child>p{font-size:.68rem;margin:3px 0 0}.ledger-resource .resource-list>li>strong{grid-column:3;grid-row:1;text-align:right;font-size:.82rem;font-variant-numeric:tabular-nums}.ledger-resource .account-tag{grid-column:2 / -1;grid-row:2;font-size:.68rem;color:var(--haven-muted, #75837d)}.ledger-resource .transaction-account-balance{display:inline;margin-left:8px}.ledger-resource .record-actions{grid-column:3;grid-row:3;justify-self:end;display:flex;gap:4px}.ledger-resource .record-actions .icon-button{width:44px;height:44px;min-height:44px}.ledger-resource .resource-list>li>.record-details{grid-column:2;grid-row:3;gap:3px;font-size:.68rem}.ledger-resource .record-details label{gap:6px;font-size:.68rem}.ledger-resource .record-details select{min-height:44px;padding:5px 8px;font-size:.72rem;width:auto}.ledger-resource .resource-list>li>.bill-funding{grid-column:2;grid-row:3;margin:0}.ledger-resource .bill-funding .allocate-next{min-height:44px;padding:6px 9px;font-size:.72rem}.ledger-resource .resource-list>li>.bill-funding.open,.ledger-resource .resource-list>li>.bill-edit-form{grid-column:1 / -1;grid-row:auto}.ledger-details{grid-column:2;grid-row:3;min-width:0;font-size:.72rem}.ledger-details>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;color:var(--haven-muted, #526960);color:var(--haven-muted, oklch(from #526960 l c var(--haven-style-hue, h)))}.ledger-details>summary:before{content:"+";margin-right:7px}.ledger-details[open]>summary:before{content:"-"}.ledger-resource .ledger-details[open]{grid-column:1 / -1;grid-row:4}.ledger-resource .ledger-details .record-details{gap:6px;padding-bottom:8px}.ledger-resource.ledger-accounts .resource-list>li{grid-template-columns:minmax(0,1fr) auto}.ledger-resource.ledger-accounts .resource-list>li>div:first-child{grid-column:1}.ledger-resource.ledger-accounts .resource-list>li>strong{grid-column:2}.ledger-resource.ledger-accounts .ledger-details{grid-column:1;grid-row:2}.ledger-resource.ledger-accounts .record-actions{grid-column:2;grid-row:2}.ledger-resource.ledger-accounts .ledger-details[open]{grid-column:1 / -1;grid-row:3}.upcoming-ledger-row{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--haven-hairline, #d8e2dc);border-top:1px solid var(--haven-hairline, oklch(from #d8e2dc l c var(--haven-style-hue, h)))}.upcoming-ledger-row>strong{font-size:.82rem;text-align:right;font-variant-numeric:tabular-nums}[data-theme=dark] .ledger-details>summary,[data-theme=dark] .ledger-resource .account-tag{color:#aab8c1}[data-theme=dark] .ledger-resource .resource-list,[data-theme=dark] .upcoming-ledger-row{border-color:#34434d}@container (max-width: 380px){.ledger-resource .resource-list>li{grid-template-columns:52px minmax(0,1fr) auto;gap:4px 6px}.ledger-resource .resource-list>li>.record-details{grid-column:1 / 3}.ledger-resource .record-details label{flex-wrap:wrap}.ledger-resource .transaction-account-balance{display:block;margin-left:0}}.ledger-resource .resource-list>li{display:flex;flex-wrap:wrap;gap:4px 8px}.ledger-resource .record-summary{flex:0 0 100%;width:100%;min-width:0;display:grid;grid-template-columns:68px minmax(0,1fr) minmax(90px,.65fr) minmax(88px,auto);align-items:center;gap:10px;padding:3px 0}.ledger-resource .record-summary.has-account-column{grid-template-columns:68px minmax(0,1.1fr) minmax(82px,.55fr) minmax(90px,.65fr) minmax(88px,auto)}.ledger-resource .record-summary .flow-payee{min-width:0}.ledger-resource .record-summary .account-tag,.ledger-resource .record-summary .transaction-account-balance{display:block;margin:3px 0 0;font-size:.68rem}.ledger-resource .record-summary .flow-amount{text-align:right}.ledger-resource .record-summary .flow-amount>strong{font-size:.82rem}.ledger-resource .record-summary .flow-amount>span{display:block;margin-top:4px;font-size:.68rem;color:var(--haven-muted, #75837d)}.ledger-resource .record-summary .flow-category{min-height:44px}.ledger-resource .record-summary .flow-category-cell{grid-column:3;grid-row:1}.ledger-resource .record-summary .flow-amount{grid-column:4;grid-row:1}.ledger-resource .record-summary.has-account-column .flow-account-cell{grid-column:3;grid-row:1}.ledger-resource .record-summary.has-account-column .flow-category-cell{grid-column:4;grid-row:1}.ledger-resource .record-summary.has-account-column .flow-amount{grid-column:5;grid-row:1}.ledger-resource .record-summary .flow-category-editor{grid-row:2}.ledger-resource .record-actions{margin-left:auto;order:2}.ledger-resource .ledger-details{flex:1}.ledger-resource .ledger-details[open],.ledger-resource .bill-funding.open,.ledger-resource .bill-edit-form{flex:0 0 100%;order:3}.ledger-resource .bill-funding:not(.open){flex:1}.account-ledger-icon{color:#637d72;color:oklch(from #637d72 l c var(--haven-style-hue, h))}.ledger-bills .account-activity-columns,.ledger-resource.ledger-bills .record-summary.cash-flow-row{padding-right:300px}.ledger-resource.ledger-bills .record-summary.has-account-column,.ledger-bills .account-activity-columns.has-account-column{grid-template-columns:78px minmax(0,1fr) minmax(110px,.7fr) 132px 110px;gap:12px}.ledger-resource.ledger-bills .record-summary .flow-category-cell,.ledger-resource.ledger-bills .record-summary .flow-category{width:100%}.ledger-resource.ledger-bills .bill-funding:not(.open){flex:0 0 100%}.ledger-resource.ledger-bills .bill-funding:not(.open)>.allocate-next{position:absolute;right:76px;top:8px;width:auto;min-width:94px;height:42px;min-height:42px;padding:6px 10px}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .resource-list{margin-top:0;border-top:0}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .resource-list>li{position:relative;padding:9px 0;gap:0}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-summary,.account-activity-columns{grid-template-columns:78px minmax(0,1fr) minmax(90px,.7fr) 132px;gap:12px;padding-right:76px}.account-activity-columns.has-account-column{grid-template-columns:68px minmax(0,1.1fr) minmax(82px,.55fr) minmax(90px,.65fr) minmax(88px,auto);gap:10px}.account-activity-columns.has-account-column.has-envelope-column,.ledger-resource.ledger-transactions .record-summary.has-envelope-column{grid-template-columns:68px minmax(0,1.05fr) minmax(78px,.5fr) minmax(84px,.58fr) minmax(92px,.65fr) minmax(88px,auto)}.ledger-resource .record-summary.has-envelope-column .flow-envelope-cell{grid-column:5;grid-row:1}.ledger-resource .record-summary.has-envelope-column .flow-amount{grid-column:6;grid-row:1}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-summary .flow-amount{display:flex;flex-direction:column;align-items:flex-end}.account-activity-columns{border-top:1px solid var(--haven-hairline, #d8e2dc);border-top:1px solid var(--haven-hairline, oklch(from #d8e2dc l c var(--haven-style-hue, h)))}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-summary .flow-category{min-height:34px}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-summary .transaction-account-balance{display:inline;margin:0}.ledger-transactions .record-summary .account-tag{display:inline}.ledger-transactions .record-summary .transaction-account-balance:before{content:" / "}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-actions{position:absolute;right:0;top:12px;margin:0}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-actions .icon-button{flex-basis:34px;width:34px;min-width:34px;height:34px;min-height:34px;padding:6px}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .ledger-details{flex:0 0 100%}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .ledger-details>summary{position:absolute;right:38px;top:12px;width:34px;height:34px;min-height:34px;justify-content:center;border-radius:4px}.ledger-resource.ledger-transactions .record-summary{padding-right:114px}.ledger-resource.ledger-transactions .ledger-details>summary{right:76px}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .ledger-details>summary:before{content:none}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .ledger-details>summary:hover{background:#789b8726}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .ledger-details[open]>summary svg{transform:rotate(180deg)}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .ledger-details .record-details{padding:12px 0 4px}.ledger-control-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@container (max-width: 560px){.account-activity-columns{display:none}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-summary{grid-template-columns:48px minmax(0,1fr) minmax(70px,auto);padding-right:0;gap:6px}.ledger-resource.ledger-transactions .record-summary.has-envelope-column{grid-template-columns:48px minmax(0,1fr) minmax(70px,auto)}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-summary .flow-payee{padding-right:72px;min-height:34px}.ledger-resource.ledger-transactions .record-summary .flow-payee{padding-right:110px}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-summary .flow-amount{grid-row:2}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-summary .flow-payee{grid-column:2 / -1}.ledger-resource .record-summary.has-account-column .flow-account-cell{grid-column:2;grid-row:2}.ledger-resource .record-summary.has-account-column .flow-category-cell{grid-column:2;grid-row:3}.ledger-resource .record-summary.has-envelope-column .flow-envelope-cell{grid-column:2;grid-row:4}.ledger-resource .record-summary.has-account-column .flow-amount{grid-column:3;grid-row:1 / 5}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-actions{top:9px}.ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .ledger-details>summary{top:9px}.ledger-resource.ledger-bills .record-summary.cash-flow-row{padding-right:0}.ledger-resource.ledger-bills .record-summary .flow-payee{padding-right:214px}.ledger-resource.ledger-bills .bill-funding:not(.open)>.bill-funding-actions{top:5px}.ledger-resource.ledger-bills .bill-funding-actions .allocate-next{min-width:90px}.ledger-resource.ledger-bills .bill-funding-actions .allocate-all{width:42px;min-width:42px;padding:6px;justify-content:center}.ledger-resource.ledger-bills .bill-funding-actions .allocate-all span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}@container (max-width: 390px){.envelope-metrics.compact{grid-template-columns:1fr 1fr}.envelope-metrics.compact .envelope-available{grid-column:1 / -1}}@media(max-width:560px){.account-activity-columns{display:none}}[data-theme=dark],[data-theme=dark] body,[data-theme=dark] .app-shell{color:#edf0e9;background:#141816;background:oklch(from #141816 l c var(--haven-style-hue, h))}[data-theme=dark] .app-shell>header,[data-theme=dark] .app-shell>header nav{background:#191e1cf5;border-color:#37413b;border-color:oklch(from #37413b l c var(--haven-style-hue, h))}[data-theme=dark] .detail-section,[data-theme=dark] .home-section,[data-theme=dark] .home-snapshot{background:#1b211ee6;border-color:#37413b;border-color:oklch(from #37413b l c var(--haven-style-hue, h))}[data-theme=dark] .haven-workspace .haven-hero,[data-theme=dark] .haven-hero .haven-scene,[data-theme=dark] .haven-loading,[data-theme=dark] .haven-fallback{background:#19241f;background:oklch(from #19241f l c var(--haven-style-hue, h));border-color:#3e5045;border-color:oklch(from #3e5045 l c var(--haven-style-hue, h));box-shadow:none}[data-theme=dark] .haven-workspace .haven-money-banner{color:#f2f4ed;background:#101a164a;border-color:#b0c2b52e;box-shadow:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);text-shadow:none}[data-theme=dark] .haven-money-banner .safe-label,[data-theme=dark] .haven-money-banner .safe-period>span,[data-theme=dark] .haven-money-banner small,[data-theme=dark] .haven-money-banner .safe-today>span{color:#c9d5cb;color:oklch(from #c9d5cb l c var(--haven-style-hue, h));text-shadow:none}[data-theme=dark] .haven-money-banner strong{text-shadow:none}[data-theme=dark] .haven-hero .haven-season,[data-theme=dark] .haven-controls>.icon-button,[data-theme=dark] .haven-more-controls{color:#d9e4d9;color:oklch(from #d9e4d9 l c var(--haven-style-hue, h));background:#24342ad9;border-color:#52675870;box-shadow:none}[data-theme=dark] .hero-weather{color:#eddfb4;background:#403e2ce6;border-color:#81754a70;box-shadow:none}[data-theme=dark] .secondary,[data-theme=dark] .calculator-keys button{color:#d9e4d9;color:oklch(from #d9e4d9 l c var(--haven-style-hue, h));background:#29342d;background:oklch(from #29342d l c var(--haven-style-hue, h));border-color:#46564a;border-color:oklch(from #46564a l c var(--haven-style-hue, h))}[data-theme=dark] .record-summary .flow-amount>span{color:#b5c3b9;color:oklch(from #b5c3b9 l c var(--haven-style-hue, h))}[data-theme=dark] .flow-account-cell,[data-theme=dark] .account-group-heading small{color:#b7d1c3;color:oklch(from #b7d1c3 l c var(--haven-style-hue, h))}[data-theme=dark] .flow-envelope-cell select{color:#bce0d0;color:oklch(from #bce0d0 l c var(--haven-style-hue, h));background:#203b34;background:oklch(from #203b34 l c var(--haven-style-hue, h));border-color:#315348;border-color:oklch(from #315348 l c var(--haven-style-hue, h))}[data-theme=dark] .envelope-metrics>div{background:#17231f99;border-color:#3b554a;border-color:oklch(from #3b554a l c var(--haven-style-hue, h))}.period-mode{display:inline-grid;grid-template-columns:repeat(2,minmax(112px,1fr));padding:3px;background:#edf2ef;background:oklch(from #edf2ef l c var(--haven-style-hue, h));border:1px solid var(--haven-hairline, #d5dfd9);border:1px solid var(--haven-hairline, oklch(from #d5dfd9 l c var(--haven-style-hue, h)));border-radius:6px}.period-mode button{min-height:40px;padding:7px 14px;color:#52675e;color:oklch(from #52675e l c var(--haven-style-hue, h));background:transparent;border:0}.period-mode button[aria-checked=true]{color:#fff;background:#315d54;background:oklch(from #315d54 l c var(--haven-style-hue, h));box-shadow:0 1px 4px #1e3d3530}.period-mode button[aria-checked=true]{background:var(--haven-style-accent)}.period-drawer-nav{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:10px 12px;background:#edf3ef;background:oklch(from #edf3ef l c var(--haven-style-hue, h));border-bottom:1px solid var(--haven-hairline, #d5dfd9);border-bottom:1px solid var(--haven-hairline, oklch(from #d5dfd9 l c var(--haven-style-hue, h)))}.period-drawer-nav>div{min-width:0;text-align:center}.period-drawer-nav span,.period-drawer-nav strong{display:block;overflow-wrap:anywhere}.period-drawer-nav span{color:var(--haven-muted, #687a72);font-size:.68rem}.period-drawer-nav strong{margin-top:2px;font-size:.9rem}.period-slide{padding:0 16px 12px;animation:period-slide-in .2s ease-out}@keyframes period-slide-in{0%{opacity:.35;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.month-flow-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:14px 16px;border-bottom:1px solid var(--haven-hairline, #dfe6e1);border-bottom:1px solid var(--haven-hairline, oklch(from #dfe6e1 l c var(--haven-style-hue, h)))}.month-flow-summary div{min-width:0;padding:0 12px;border-right:1px solid var(--haven-hairline, #dfe6e1);border-right:1px solid var(--haven-hairline, oklch(from #dfe6e1 l c var(--haven-style-hue, h)))}.month-flow-summary div:first-child{padding-left:0}.month-flow-summary div:last-child{padding-right:0;border-right:0}.month-flow-summary dt{color:var(--haven-muted, #687a72);font-size:.68rem}.month-flow-summary dd{margin:4px 0 0;font-weight:700;overflow-wrap:anywhere}.month-paychecks{padding:0 16px 12px;animation:period-slide-in .2s ease-out}.payday-flow-window.compact{padding-block:13px}.payday-flow-window.compact .payday-flow-totals{margin-block:10px}.categories-view,.workplace-planner{width:min(100%,940px)}.chart-choice{display:flex;gap:7px}.chart-choice button[aria-pressed=true]{color:#fff;background:#315d54;background:oklch(from #315d54 l c var(--haven-style-hue, h));border-color:#315d54;border-color:oklch(from #315d54 l c var(--haven-style-hue, h))}.category-period{margin:14px 0;border:1px solid var(--haven-hairline, #d5dfd9);border:1px solid var(--haven-hairline, oklch(from #d5dfd9 l c var(--haven-style-hue, h)));border-radius:7px}.category-visual{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);align-items:center;gap:28px;padding:20px;background:#f5f8f6;background:oklch(from #f5f8f6 l c var(--haven-style-hue, h));border:1px solid var(--haven-hairline, #dce5e0);border:1px solid var(--haven-hairline, oklch(from #dce5e0 l c var(--haven-style-hue, h)));border-radius:7px}.category-donut{width:min(230px,70vw);aspect-ratio:1;display:grid;place-items:center;margin:auto;border-radius:50%}.category-donut>div{width:58%;aspect-ratio:1;display:grid;place-content:center;text-align:center;background:#fbfcfa;background:oklch(from #fbfcfa l c var(--haven-style-hue, h));border-radius:50%;box-shadow:0 0 0 1px #fff7}.category-donut strong,.category-donut span{display:block}.category-donut strong{font-family:var(--haven-display-font);font-size:1.1rem}.category-donut span{color:var(--haven-muted, #55655e);font-size:.67rem}.category-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.category-legend button,.category-legend-other{display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:44px;padding:7px 9px;color:inherit;background:transparent;border:1px solid transparent;text-align:left}.category-legend button:hover{background:#eaf1ed;background:oklch(from #eaf1ed l c var(--haven-style-hue, h));border-color:var(--haven-hairline, #d5dfd9);border-color:var(--haven-hairline, oklch(from #d5dfd9 l c var(--haven-style-hue, h)))}.category-legend i,.category-row-summary>span:first-child>i{width:10px;height:10px;border-radius:50%}.category-legend span{min-width:0;font-size:.75rem;overflow-wrap:anywhere}.category-legend strong{font-size:.72rem}.category-bars{display:grid;gap:10px}.category-bars>div{display:grid;grid-template-columns:95px minmax(0,1fr) 72px;align-items:center;gap:8px;font-size:.7rem}.category-bars i{display:block;min-width:3px;height:12px;border-radius:2px}.category-bars strong{text-align:right}.merchant-rules-settings{display:grid;gap:10px;margin:0 0 18px}.merchant-rules-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}.merchant-rule{display:grid;grid-template-columns:minmax(90px,.6fr) minmax(0,1.4fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--haven-hairline, #dce5e0)}.merchant-rule-summary,.merchant-rule-edit{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.merchant-rule-summary>span{margin-right:auto}.merchant-rule-edit label{display:grid;gap:4px;min-width:160px;flex:1}.merchant-rule-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}.merchant-rule-add label{display:grid;gap:4px;font-size:.8rem;color:var(--muted)}@media(max-width:560px){.merchant-rule,.merchant-rule-add{grid-template-columns:1fr}}.spending-trends{margin-top:22px;padding-top:14px;border-top:1px solid var(--haven-hairline, #dce5e0)}.spending-trends h3{margin:0 0 4px}.trend-table-wrap{overflow-x:auto}.trend-table{width:100%;border-collapse:collapse;font-size:.82rem}.trend-table th,.trend-table td{padding:7px 8px;text-align:right;border-top:1px solid var(--haven-hairline, #dce5e0);white-space:nowrap}.trend-table th[scope=row],.trend-table thead th:first-child{text-align:left;font-weight:500}.trend-table .trend-total th,.trend-table .trend-total td{font-weight:600}.trend-change{font-size:.78rem;color:var(--haven-muted, #55655e)}.trend-change.is-up{color:#8a3b2a}.trend-change.is-down{color:#2f6f5e}.trend-bars{list-style:none;margin:0;padding:0;display:grid;gap:14px}.trend-bar-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline;margin-bottom:6px}.trend-bar-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;align-items:end;height:72px}.trend-bar-months span{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;align-items:end;justify-items:center}.trend-bar-months i{display:block;width:70%;background:var(--haven-hairline, #c9d4ce);border-radius:3px 3px 0 0}.trend-bar-months .is-this-month i{background:var(--accent, #2f6f5e)}.trend-bar-months small{font-size:.66rem;color:var(--haven-muted, #55655e);margin-top:3px}.category-list{margin-top:16px;border-top:1px solid var(--haven-hairline, #dce5e0);border-top:1px solid var(--haven-hairline, oklch(from #dce5e0 l c var(--haven-style-hue, h)))}.category-row{border-bottom:1px solid var(--haven-hairline, #dce5e0);border-bottom:1px solid var(--haven-hairline, oklch(from #dce5e0 l c var(--haven-style-hue, h)))}.category-row-summary{width:100%;display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(3,minmax(90px,.7fr));gap:10px;align-items:center;min-height:68px;padding:10px 6px;color:inherit;background:transparent;border:0;text-align:left}.category-row-summary:hover{background:#f5f8f6;background:oklch(from #f5f8f6 l c var(--haven-style-hue, h))}.category-row-summary>span{min-width:0}.category-row-summary>span:first-child{display:grid;grid-template-columns:10px minmax(0,1fr);column-gap:8px;align-items:center}.category-row-summary small{display:block;margin-top:3px;color:var(--haven-muted, #718078);font-size:.65rem}.category-row-summary>span:first-child small{grid-column:2}.category-row-summary strong{display:block;font-size:.78rem;overflow-wrap:anywhere}.category-details{padding:8px 16px 14px 24px;background:#f7f9f8;background:oklch(from #f7f9f8 l c var(--haven-style-hue, h))}.category-details h3{margin:0 0 6px;font-size:.72rem;color:#66776f;text-transform:uppercase}.category-details>div{display:grid;grid-template-columns:70px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;border-top:1px solid #e2e8e4;border-top:1px solid oklch(from #e2e8e4 l c var(--haven-style-hue, h));font-size:.75rem}.category-details span strong,.category-details span small{display:block}.category-details span small{color:var(--haven-muted, #718078);margin-top:2px}.workplace-form{display:grid;gap:18px}.workplace-form>section{padding:16px;background:#f7f9f8;background:oklch(from #f7f9f8 l c var(--haven-style-hue, h));border:1px solid var(--haven-hairline, #dce5e0);border:1px solid var(--haven-hairline, oklch(from #dce5e0 l c var(--haven-style-hue, h)));border-radius:7px}.workplace-form h3{margin:0 0 12px;font-size:.92rem}.workplace-form .entry-form{margin:0;padding:0;border:0}.raise-list{margin-top:14px}.raise-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:.78rem}.raise-heading button{min-height:40px;padding:7px 10px}.raise-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) 44px;gap:8px;align-items:end;margin-top:7px}.raise-row label{display:grid;gap:4px;color:var(--haven-muted, #687870);font-size:.7rem}.take-home-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:12px;background:#dce5e0;background:oklch(from #dce5e0 l c var(--haven-style-hue, h));border:1px solid var(--haven-hairline, #dce5e0);border:1px solid var(--haven-hairline, oklch(from #dce5e0 l c var(--haven-style-hue, h)))}.take-home-summary>div{min-width:0;padding:12px;background:#fbfcfa;background:oklch(from #fbfcfa l c var(--haven-style-hue, h))}.take-home-summary span,.take-home-summary strong{display:block}.take-home-summary span{color:var(--haven-muted, #687870);font-size:.67rem}.take-home-summary strong{margin-top:4px;font-size:.9rem;overflow-wrap:anywhere}.forecast-note{margin:12px 0 0;color:var(--haven-muted, #687870);font-size:.7rem}.earnings-table{border-top:1px solid var(--haven-hairline, #dce5e0);border-top:1px solid var(--haven-hairline, oklch(from #dce5e0 l c var(--haven-style-hue, h)))}.earnings-table>div{display:grid;grid-template-columns:60px minmax(120px,1fr) minmax(90px,.7fr) minmax(90px,.7fr);gap:10px;align-items:center;min-height:42px;border-bottom:1px solid var(--haven-hairline, #dce5e0);border-bottom:1px solid var(--haven-hairline, oklch(from #dce5e0 l c var(--haven-style-hue, h)));font-size:.73rem}.earnings-heading{color:var(--haven-muted, #687870);font-size:.65rem!important;text-transform:uppercase}.workplace-actions{display:flex;align-items:center;gap:12px}.workplace-actions p{margin:0;color:#526f62;color:oklch(from #526f62 l c var(--haven-style-hue, h));font-size:.72rem}[data-theme=dark] .period-mode,[data-theme=dark] .period-drawer-nav,[data-theme=dark] .category-period{background:#243029;background:oklch(from #243029 l c var(--haven-style-hue, h));border-color:#435249;border-color:oklch(from #435249 l c var(--haven-style-hue, h))}[data-theme=dark] .category-visual,[data-theme=dark] .workplace-form>section{background:#1d2521;background:oklch(from #1d2521 l c var(--haven-style-hue, h));border-color:#3c4942;border-color:oklch(from #3c4942 l c var(--haven-style-hue, h))}[data-theme=dark] .month-flow-summary,[data-theme=dark] .month-flow-summary div,[data-theme=dark] .category-list,[data-theme=dark] .category-row,[data-theme=dark] .earnings-table,[data-theme=dark] .earnings-table>div{border-color:#3c4942;border-color:oklch(from #3c4942 l c var(--haven-style-hue, h))}[data-theme=dark] .category-donut>div,[data-theme=dark] .take-home-summary>div{background:#18201c;background:oklch(from #18201c l c var(--haven-style-hue, h))}[data-theme=dark] .category-details{background:#202923;background:oklch(from #202923 l c var(--haven-style-hue, h))}[data-theme=dark] .category-details>div,[data-theme=dark] .take-home-summary{border-color:#3c4942;border-color:oklch(from #3c4942 l c var(--haven-style-hue, h))}[data-theme=dark] .category-legend button:hover,[data-theme=dark] .category-row-summary:hover{background:#253029;background:oklch(from #253029 l c var(--haven-style-hue, h))}[data-theme=dark] .haven-style-choices>legend{color:#d9e4d9;color:oklch(from #d9e4d9 l c var(--haven-style-hue, h))}[data-theme=dark] .haven-style-choices>p,[data-theme=dark] .haven-style-choices button small{color:#aab9b1;color:oklch(from #aab9b1 l c var(--haven-style-hue, h))}[data-theme=dark] .haven-style-choices button{color:#d9e4d9;color:oklch(from #d9e4d9 l c var(--haven-style-hue, h));background:#202a24;background:oklch(from #202a24 l c var(--haven-style-hue, h));border-color:#46564a;border-color:oklch(from #46564a l c var(--haven-style-hue, h))}[data-theme=dark] .haven-style-choices button.active{color:#fff;background:color-mix(in srgb,var(--haven-style-accent) 32%,#202a24);background:color-mix(in srgb,var(--haven-style-accent) 32%,oklch(from #202a24 l c var(--haven-style-hue, h)))}@media(max-width:620px){.period-mode{width:100%}.period-slide,.month-paychecks{padding-inline:10px}.month-flow-summary{grid-template-columns:1fr;padding-block:8px}.month-flow-summary div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-right:0;border-bottom:1px solid var(--haven-hairline, #dfe6e1);border-bottom:1px solid var(--haven-hairline, oklch(from #dfe6e1 l c var(--haven-style-hue, h)))}.month-flow-summary div:last-child{border-bottom:0}.category-visual{grid-template-columns:1fr;padding:14px}.category-legend{grid-template-columns:1fr 1fr}.category-row-summary{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.category-row-summary>span:nth-child(3),.category-row-summary>span:nth-child(4){grid-row:2}.category-row-summary>span:nth-child(4){text-align:right}.category-details{padding-inline:8px}.category-details>div{grid-template-columns:58px minmax(0,1fr) auto;gap:7px}.workplace-form>section{padding:12px}.raise-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px}.take-home-summary{grid-template-columns:1fr}.earnings-table>div{grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;padding-block:8px}.earnings-table>div>:nth-child(2),.earnings-table>div>:nth-child(4){text-align:right}.earnings-heading{display:none!important}.workplace-actions{align-items:stretch;flex-direction:column}}@media print{body *{visibility:hidden}}@container (max-width: 560px){.ledger-resource .record-summary,.ledger-resource.ledger-bills .record-summary.has-account-column{grid-template-columns:54px minmax(0,1fr) auto;gap:6px 8px}.ledger-resource .record-summary .flow-category-cell{grid-column:2;grid-row:2}.ledger-resource .record-summary .flow-amount{grid-column:3;grid-row:1 / 3}.ledger-resource .record-summary .flow-category-editor{grid-column:1 / -1;grid-row:3}}.payoff-planner{display:grid;gap:18px;min-width:0}.debt-next-step{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;color:#173c36;color:oklch(from #173c36 l c var(--haven-style-hue, h));background:#e8f1eb;background:oklch(from #e8f1eb l c var(--haven-style-hue, h));border:1px solid #bfd2c7;border:1px solid oklch(from #bfd2c7 l c var(--haven-style-hue, h));border-radius:7px}.debt-next-step div{display:grid;gap:5px}.debt-next-step span,.debt-extra-control p,.debt-row p{color:var(--retreat-muted);font-size:.75rem}.debt-next-step strong{font-family:var(--haven-display-font);font-size:1.08rem;font-weight:400}.debt-extra-control{display:grid;gap:10px;padding-block:4px 16px;border-bottom:1px solid var(--retreat-line)}.debt-extra-control>div:first-child{display:flex;justify-content:space-between;gap:12px}.debt-extra-control label{font-weight:600}.debt-extra-input{display:grid;grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:14px}.debt-extra-input input[type=range]{width:100%;accent-color:#2f6b5c;accent-color:oklch(from #2f6b5c l c var(--haven-style-hue, h))}.debt-extra-input input[type=number],.debt-extra-input input[type=text],.debt-extra-input input:not([type]){min-width:0}.debt-quick-picks{display:flex;flex-wrap:wrap;gap:7px}.debt-room-note{padding:9px 12px;color:#704f26!important;background:#f6edda;border-left:3px solid #b88a4c}.debt-results{grid-template-columns:repeat(3,minmax(0,1fr))}.debt-first-win,.focus-answer{margin:-8px 0 0;color:#2f6858;color:oklch(from #2f6858 l c var(--haven-style-hue, h));font-weight:600}.debt-focus,.debt-strategies{margin:0;padding:0;border:0}.debt-focus legend,.debt-strategies legend{margin-bottom:9px;font-family:var(--haven-display-font);font-size:1.05rem}.debt-focus{display:flex;flex-wrap:wrap;gap:8px}.debt-focus legend{width:100%}.debt-focus label{display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 11px;border:1px solid var(--retreat-line);border-radius:5px}.debt-strategies{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.debt-strategies legend{grid-column:1 / -1}.debt-strategies label{position:relative;display:grid;align-content:start;gap:3px;min-height:118px;padding:12px;border:1px solid var(--retreat-line);border-radius:6px;cursor:pointer}.debt-strategies label.selected{background:#e8f1eb;background:oklch(from #e8f1eb l c var(--haven-style-hue, h));border-color:#548171;border-color:oklch(from #548171 l c var(--haven-style-hue, h));box-shadow:inset 0 0 0 1px #548171;box-shadow:inset 0 0 0 1px oklch(from #548171 l c var(--haven-style-hue, h))}.debt-strategies input{position:absolute;top:10px;right:10px}.debt-strategies strong{padding-right:20px;font-size:.78rem}.debt-strategies small,.debt-strategies span{color:var(--retreat-muted);font-size:.67rem}.debt-strategies em{color:#2f6858;color:oklch(from #2f6858 l c var(--haven-style-hue, h));font-size:.62rem;font-style:normal;font-weight:600}.debt-list{border-top:1px solid var(--retreat-line)}.debt-row{display:grid;gap:8px;padding:13px 0;border-bottom:1px solid var(--retreat-line)}.debt-row-main{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px}.debt-row-main div{min-width:0}.debt-row-main div strong,.debt-row-main div span{display:block;overflow-wrap:anywhere}.debt-row-main div span{margin-top:3px;color:var(--retreat-muted);font-size:.68rem}.debt-row-main>strong{font-family:var(--haven-display-font);font-size:.88rem;font-weight:400}.debt-bar{height:7px;margin-left:50px;background:#dce5de;background:oklch(from #dce5de l c var(--haven-style-hue, h));border-radius:4px;overflow:hidden}.debt-bar i{display:block;height:100%;background:#659783;background:oklch(from #659783 l c var(--haven-style-hue, h));transition:width .2s ease}.debt-row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.debt-row-actions button,.debt-row-actions label{min-height:44px}.debt-row-actions label{display:flex;align-items:center;gap:6px;padding:6px 9px}.debt-inline-edit{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:8px}.debt-inline-edit label{display:grid;gap:4px;font-size:.68rem}.debt-one-time,.debt-schedule{padding-block:12px;border-block:1px solid var(--retreat-line)}.debt-one-time summary,.debt-schedule summary{display:flex;align-items:center;gap:6px;min-height:44px;cursor:pointer}.debt-one-time>div{display:grid;grid-template-columns:1fr 180px auto;gap:8px;margin:8px 0}.debt-schedule>div{max-height:360px;overflow:auto}.debt-schedule table{width:100%;border-collapse:collapse;font-size:.72rem}.debt-schedule th,.debt-schedule td{padding:9px 8px;border-bottom:1px solid var(--retreat-line);text-align:left}.plan-nudge,.debt-commit{padding:14px;background:#f2eee1;border:1px solid #ddd3b5;border-radius:6px}.plan-nudge{display:flex;align-items:center;justify-content:space-between;gap:12px}.debt-commit h3{margin-top:0}.debt-commit button{margin-right:7px}.debt-save{position:sticky;bottom:0;z-index:2;display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px;background:color-mix(in srgb,var(--retreat-paper) 94%,transparent);border-top:1px solid var(--retreat-line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.debt-progress{display:grid;gap:5px;font-size:.72rem}.debt-progress progress{width:100%}.home-debt-plan{display:grid;gap:3px;width:100%;margin-bottom:10px;padding:9px 0 12px;color:var(--retreat-ink);background:transparent;border:0;border-bottom:1px solid var(--retreat-line);text-align:left}.home-debt-plan span{color:var(--retreat-muted);font-size:.67rem}.home-debt-plan strong{font-family:var(--haven-display-font);font-size:.88rem;font-weight:400}.timeline-zoom{display:flex;align-items:center;justify-content:flex-end;gap:6px;overflow-x:auto}.timeline-zoom button{flex:0 0 auto;min-height:36px;padding:6px 10px}.timeline-zoom button[aria-pressed=true]{color:#fff;background:#2f6858;background:oklch(from #2f6858 l c var(--haven-style-hue, h));border-color:#2f6858;border-color:oklch(from #2f6858 l c var(--haven-style-hue, h))}.debt-outlook{padding:12px 0;border-top:1px solid var(--retreat-line)}.debt-outlook summary{min-height:44px;cursor:pointer;font-family:var(--haven-display-font);font-size:1rem}.outlook-layout{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(280px,1.2fr);gap:18px;align-items:center}.outlook-layout ol{display:grid;gap:7px;margin:0;padding-left:20px}.outlook-layout li{padding-left:4px;font-size:.72rem}.outlook-layout time{display:inline-block;min-width:74px;color:var(--retreat-muted);font-variant-numeric:tabular-nums}.outlook-layout svg{width:100%;min-height:150px;color:#4f8b76;color:oklch(from #4f8b76 l c var(--haven-style-hue, h));background:#edf3ee;background:oklch(from #edf3ee l c var(--haven-style-hue, h));border:1px solid var(--retreat-line);border-radius:6px}.outlook-layout svg line{stroke:#b8c8bf;stroke:oklch(from #b8c8bf l c var(--haven-style-hue, h));stroke-width:.7}.outlook-layout svg path{fill:none;stroke:currentColor;stroke-width:2.2;vector-effect:non-scaling-stroke}[data-theme=dark] .outlook-layout svg{color:#9ac6ae;color:oklch(from #9ac6ae l c var(--haven-style-hue, h));background:#202a25;background:oklch(from #202a25 l c var(--haven-style-hue, h));border-color:#46584d;border-color:oklch(from #46584d l c var(--haven-style-hue, h))}[data-theme=dark] .debt-next-step,[data-theme=dark] .debt-strategies label.selected{color:#edf4ee;color:oklch(from #edf4ee l c var(--haven-style-hue, h));background:#22362f;background:oklch(from #22362f l c var(--haven-style-hue, h));border-color:#527064;border-color:oklch(from #527064 l c var(--haven-style-hue, h))}[data-theme=dark] .debt-room-note{color:#f0dfbd!important;background:#393126}[data-theme=dark] .plan-nudge,[data-theme=dark] .debt-commit{background:#303127;border-color:#62604d}@media(prefers-reduced-motion:reduce){.debt-bar i{transition:none}}@media(max-width:720px){.debt-next-step{align-items:stretch;flex-direction:column}.debt-extra-input{grid-template-columns:minmax(0,1fr) 105px}.debt-results{grid-template-columns:1fr}.debt-strategies{grid-template-columns:repeat(2,minmax(0,1fr))}.debt-row-main{grid-template-columns:22px minmax(0,1fr)}.debt-row-main .debt-payoff-date{grid-column:2;justify-items:start;text-align:left;display:flex;align-items:baseline;gap:6px}.debt-bar{margin-left:46px}.debt-row-actions{justify-content:flex-start;margin-left:46px}.debt-inline-edit,.debt-one-time>div{grid-template-columns:1fr}.plan-nudge{align-items:stretch;flex-direction:column}.debt-save{width:100%}.outlook-layout{grid-template-columns:1fr}}.bill-funding:not(.open){display:flex;flex-wrap:wrap;align-items:center;gap:6px;max-width:100%}.allocate-all{min-height:40px;padding:7px 10px;font-size:.78rem;display:inline-flex;align-items:center;gap:6px}.money-tabs .money-tab{display:inline-flex;align-items:center;justify-content:center;min-width:0;border-bottom:3px solid transparent}.money-tabs .money-tab:has(>button[aria-selected=true]){border-bottom-color:#174f43;border-bottom-color:oklch(from #174f43 l c var(--haven-style-hue, h))}.money-tabs .money-tab>button[role=tab]{flex:0 1 auto;min-width:44px;border-bottom:0;padding-right:2px}.money-tabs .money-tab>.money-tab-why{border:0;border-radius:50%;background:transparent;color:var(--haven-muted, #63746c)}.money-tabs .money-tab>.money-tab-why:hover{background:var(--haven-hairline, #dfe5e1)}.money-tabs .money-tab>.money-tab-why svg{opacity:.7}.activity-tabs .tab-hint{display:none!important}.tab-hint{display:none}.bill-funding-actions{display:inline-flex;align-items:center;gap:6px}.ledger-resource.ledger-bills .bill-funding:not(.open)>.bill-funding-actions{position:absolute;right:76px;top:8px}.ledger-resource.ledger-bills .bill-funding-actions>button{height:42px;min-height:42px;padding:6px 10px}.ledger-resource.ledger-bills .bill-funding-actions .allocate-next{width:auto;min-width:94px}.envelope-quick-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.envelope-quick-actions>button{min-height:40px}.envelope-editor{margin-top:8px;padding:10px;border:1px solid #d6e0da;border:1px solid oklch(from #d6e0da l c var(--haven-style-hue, h));border-radius:8px;background:#fbfcfa;background:oklch(from #fbfcfa l c var(--haven-style-hue, h))}.envelope-editor-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.envelope-editor-row label{display:grid;gap:4px;flex:1 1 150px;font-size:.78rem;color:var(--haven-muted, #4d5b55);color:var(--haven-muted, oklch(from #4d5b55 l c var(--haven-style-hue, h)))}.envelope-editor-row input{font:inherit;font-size:1rem;min-height:40px;padding:6px 10px}.envelope-editor-row .envelope-chip,.envelope-editor-row .envelope-confirm{min-height:40px;white-space:nowrap}.envelope-preview{margin:6px 0 0;font-size:.78rem;color:var(--haven-muted, #4d5b55);color:var(--haven-muted, oklch(from #4d5b55 l c var(--haven-style-hue, h)))}.envelope-details{margin-top:8px}.envelope-month-list{margin:6px 0}.envelope-target-button{min-height:40px}[data-theme=dark] .envelope-editor{background:transparent;border-color:#3a4a44;border-color:oklch(from #3a4a44 l c var(--haven-style-hue, h))}[data-theme=dark] .envelope-editor-row label,[data-theme=dark] .envelope-preview{color:#c3cec9;color:oklch(from #c3cec9 l c var(--haven-style-hue, h))}.later-bill{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px}@media(hover:none)and (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(16px,1em)!important}}.debt-step{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:8px;border-radius:50%;background:var(--haven-style-accent);color:#fff;font-family:var(--haven-interface-font);font-size:.75rem;vertical-align:2px}.debt-answer{display:grid;gap:12px;padding:16px;border:1px solid var(--haven-style-line);border-radius:10px;background:var(--haven-style-soft)}.debt-answer-headline{display:grid;gap:2px}.debt-answer-headline span{color:var(--retreat-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.debt-answer-headline strong{font-family:var(--haven-display-font);font-size:1.9rem;font-weight:400;color:var(--haven-style-ink)}.debt-answer-headline small{color:var(--retreat-muted);font-size:.82rem}.debt-answer .debt-next-step{padding:12px 14px}.debt-answer .debt-next-step small{color:var(--retreat-muted);font-size:.75rem}.debt-answer .debt-save,.debt-answer .debt-progress{margin:0}.debt-answer .debt-commit{display:grid;gap:8px}.debt-answer .debt-commit div{display:flex;gap:8px;flex-wrap:wrap}.debt-same-note{margin:-4px 0 0;padding:8px 12px;border-left:3px solid var(--haven-style-highlight);color:var(--retreat-muted);font-size:.8rem}.debt-payoff-date{display:grid;justify-items:end;text-align:right}.debt-payoff-date small{color:var(--retreat-muted);font-size:.65rem}.debt-row.is-out{opacity:.7}.debt-breakdown{display:grid;gap:6px}.debt-breakdown-bar{display:flex;height:12px;overflow:hidden;border-radius:6px;background:var(--haven-style-line)}.debt-breakdown-bar i,.debt-breakdown-key i{display:block}.debt-breakdown .is-interest{background:#c9745f}.debt-breakdown .is-principal{background:var(--haven-style-accent)}.debt-breakdown .is-extra{background:var(--haven-style-highlight)}.debt-breakdown .is-escrow{background:transparent;box-shadow:inset 0 0 0 1.5px var(--retreat-muted)}.debt-breakdown-key{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;list-style:none;color:var(--retreat-muted);font-size:.72rem}.debt-breakdown-key li{display:inline-flex;align-items:center;gap:5px}.debt-breakdown-key i{width:9px;height:9px;border-radius:2px}.debt-breakdown-key b{color:var(--haven-style-ink);font-weight:600}.debt-breakdown-warning{margin:0;color:#9a3f2c!important;font-size:.75rem}.debt-more{border-top:1px solid var(--retreat-line);padding-top:10px}.debt-more>summary{cursor:pointer;font-weight:600}.debt-more>div{margin-top:14px}.debt-more h3{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:.95rem}.debt-more .debt-one-time>div{display:flex;flex-wrap:wrap;gap:8px}.debt-more .debt-schedule>div{overflow-x:auto}@media(max-width:700px){.debt-strategies{grid-template-columns:repeat(2,minmax(0,1fr))}.debt-answer-headline strong{font-size:1.5rem}}.debt-celebration{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:#fdf3d6;border:1px solid #e7cf85;color:#5b4712;animation:debt-cheer .6s ease-out}.debt-celebration svg{color:#d9a520;flex:none}.debt-celebration div{display:grid;gap:2px;flex:1}.debt-celebration span{font-size:.8rem}@keyframes debt-cheer{0%{transform:scale(.94);opacity:0}60%{transform:scale(1.02);opacity:1}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.debt-celebration{animation:none}}.debt-strategies small,.debt-strategies span{padding-right:18px}.link-button{padding:0 4px;min-height:44px;min-width:44px;border:0;background:none;color:var(--haven-style-accent);font:inherit;font-size:.9rem;text-decoration:underline;cursor:pointer;justify-self:start}.retreat-accounts-more{box-sizing:border-box;flex-shrink:0;min-height:44px;min-width:44px;line-height:20px}.plan-nudge>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.manage-categories{margin-top:18px;padding-top:12px;border-top:1px solid var(--haven-style-line)}.manage-categories>summary{cursor:pointer;font-weight:600}.manage-categories>p{color:var(--haven-muted, #5d6b66);font-size:.85rem}.manage-categories ul{list-style:none;margin:10px 0 0;padding:0}.manage-categories li{padding:8px 0;border-bottom:1px solid var(--haven-style-line)}.manage-category-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.manage-category-row>span{display:grid;flex:1;min-width:140px}.manage-category-row small{color:var(--haven-muted, #5d6b66)}.manage-categories-add,.manage-category-edit{display:flex;flex-wrap:wrap;align-items:end;gap:8px;margin-top:8px}.manage-categories-add label,.manage-category-edit label{display:grid;gap:4px;flex:1;min-width:180px;font-size:.85rem}.earnings-forecast .earnings-table>div{grid-template-columns:76px minmax(150px,1.3fr) repeat(4,minmax(80px,.7fr))}.earnings-forecast .earnings-table{overflow-x:auto}.earnings-cell-label{display:none}.earnings-raise{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:.8rem}.earnings-raise label{display:inline-flex;align-items:center;gap:3px;margin:0}.earnings-raise input{width:4.2em;min-height:32px;padding:3px 6px}.earnings-raise .icon-button{width:28px;height:28px;min-height:28px}.earnings-raise .link-button{display:inline-flex;align-items:center;gap:2px;font-size:.78rem}.take-home-summary small{display:block;margin-top:2px;color:var(--haven-muted, #687870);font-size:.68rem}@media(max-width:760px){.earnings-forecast .earnings-table>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.earnings-forecast .earnings-heading{display:none!important}.earnings-forecast .earnings-cell-label{display:block;color:var(--haven-muted, #687870);font-size:.65rem;font-weight:400}}.earnings-promotion{white-space:nowrap}.closed-account{display:grid;gap:14px;max-width:620px;margin:40px auto;padding:24px;border:1px solid var(--haven-style-line);border-radius:12px;background:var(--haven-style-soft)}.closed-account h2{margin:0;font-family:var(--haven-display-font);font-weight:400}.closed-account p{margin:0}.closed-account-actions{display:flex;flex-wrap:wrap;gap:10px}.closed-account-note{color:var(--haven-muted, #5d6b66);font-size:.85rem}.closed-account-delete>summary{cursor:pointer;display:inline-flex;align-items:center;gap:6px;min-height:44px}.closed-account-delete[open]{display:grid;gap:10px}.resource-list li.is-selectable{position:relative;padding-left:34px}.resource-list li.is-selected{background:var(--haven-style-soft)}.record-select{position:absolute;left:4px;top:12px;display:grid;place-items:center;width:28px;height:28px;margin:0}.record-select input{width:18px;height:18px;margin:0}.bulk-bar,.undo-toast{position:sticky;top:8px;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:8px 12px;border:1px solid var(--haven-style-line);border-radius:10px;background:var(--haven-style-soft);box-shadow:0 4px 14px #00000014}.undo-toast small{color:var(--haven-muted, #5d6b66)}.undo-toast>span{flex:1;min-width:160px}.envelopes-view{display:grid;gap:22px}.fill-order{display:grid;gap:14px;padding:18px;border:1px solid var(--haven-style-line);border-radius:12px;background:var(--haven-style-soft)}.fill-order-heading{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px}.fill-order-heading h2{margin:0 0 4px;font-family:var(--haven-display-font);font-weight:400}.fill-order-heading p{margin:0;color:var(--haven-muted, #5d6b66);font-size:.88rem;max-width:520px}.fill-order-free{display:grid;justify-items:end;text-align:right}.fill-order-free span{color:var(--haven-muted, #5d6b66);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.fill-order-free strong{font-family:var(--haven-display-font);font-size:1.6rem;font-weight:400;color:var(--haven-style-ink)}.fill-order-steps{display:grid;gap:8px;margin:0;padding:0;list-style:none}.fill-order-steps li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:#ffffff8c}.fill-order-steps b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--haven-style-accent);color:#fff;font-size:.8rem}.fill-order-steps span{display:grid;min-width:0}.fill-order-steps small{color:var(--haven-muted, #5d6b66)}.fill-order-steps .link-button{display:inline-flex;align-items:center;gap:3px;font-size:.82rem}.fill-order-action{justify-self:start}.fill-order-preview{display:grid;gap:8px}.fill-order-preview p{margin:0}.fill-order-preview ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}.fill-order-preview li{display:flex;justify-content:space-between;gap:12px;padding:4px 0;border-bottom:1px solid var(--haven-style-line)}.fill-order-note{margin:0;color:var(--haven-muted, #5d6b66);font-size:.85rem}.envelope-metrics dd{white-space:nowrap}@container (max-width: 420px){.envelope-metrics:not(.compact){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.envelope-metrics:not(.compact){grid-template-columns:repeat(2,minmax(0,1fr))}}.list-more{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;color:var(--haven-muted, #5d6b66);font-size:.85rem}.list-more .secondary{min-height:44px}.section-loading{padding:20px 4px;color:var(--haven-muted, #5d6b66)}.fill-order-body{display:grid;gap:14px}.fill-order-heading{align-items:center}.fill-order-heading>div:first-child{flex:1 1 260px;min-width:0}.fill-order-toggle{flex:none}.fill-order.is-collapsed{gap:8px;padding:12px 14px}.fill-order.is-collapsed .fill-order-heading{flex-wrap:nowrap}.fill-order-summary{display:flex;align-items:center;gap:10px;flex:1 1 auto;min-width:0;margin:0}.fill-order-summary>span{display:grid;min-width:0}.fill-order-summary strong{font-size:.95rem}.fill-order-summary small{color:var(--haven-muted, #5d6b66);font-size:.8rem;overflow-wrap:anywhere}.fill-order.is-done .fill-order-summary svg{flex:none;color:var(--haven-style-accent)}.fill-order-action.compact{flex:none;min-height:40px;padding:6px 12px;font-size:.85rem}@media(max-width:560px){.fill-order.is-collapsed .fill-order-heading{flex-wrap:wrap}.fill-order.is-collapsed .fill-order-summary{flex-basis:calc(100% - 56px)}.fill-order-action.compact{order:3;flex:1 1 100%}}.envelope-group>h3{margin:0 0 2px;font-size:1.1rem}.envelope-group>p{margin:0 0 8px;color:var(--haven-muted, #5d6b66);font-size:.85rem}[data-theme=dark] .fill-order-steps li{background:#0003}@media(max-width:640px){.money-tabs{display:flex;flex-wrap:wrap;gap:0 4px;overflow:visible}.money-tabs button{flex:1 1 30%;min-width:0;padding:10px 6px;font-size:.85rem;white-space:nowrap;gap:0}.money-tabs button>svg{display:none}}@container (max-width: 560px){.ledger-resource.ledger-transactions li.is-selectable{padding-top:8px;padding-bottom:8px;padding-left:30px}.ledger-resource.ledger-transactions .record-select{top:8px}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row{grid-template-columns:40px minmax(0,76px) minmax(0,104px) minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:6px;row-gap:2px;align-items:center;padding-right:0}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-date{grid-column:1;grid-row:1 / span 2;align-self:start}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-date strong{font-size:.76rem}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-date span{font-size:.6rem}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-payee{grid-column:2 / 5;grid-row:1;min-width:0;min-height:0;padding-right:0;overflow:hidden}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-payee strong{font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-payee strong.activity-name{display:flex}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .activity-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-amount{grid-column:5;grid-row:1;align-self:center;margin-right:96px}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-amount strong{font-size:.88rem}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-amount>span:not(.flow-clear){display:none}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-account-cell{grid-column:2;grid-row:2;font-size:.7rem;color:var(--haven-muted, #5d6b66);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category-cell{grid-column:3;grid-row:2;min-width:0}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category{min-height:24px;max-width:100%;padding:0 6px;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;line-height:24px}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category svg{display:none}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-envelope-cell{grid-column:4 / 6;grid-row:2;min-width:0}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-envelope-cell select{width:100%;min-height:24px;padding:0 16px 0 2px;border-color:transparent;background-color:transparent;text-overflow:ellipsis}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-amount .flow-clear{min-height:30px;margin-top:2px;padding:2px 6px;font-size:.64rem}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category-editor{grid-column:1 / -1;grid-row:3}.ledger-resource.ledger-transactions .record-actions{top:6px;gap:2px}.ledger-resource.ledger-transactions .record-actions .icon-button{width:30px;height:30px;min-height:30px;min-width:30px}.ledger-resource.ledger-transactions .ledger-details>summary{top:6px;right:0;width:30px;height:30px;min-height:30px}.ledger-resource.ledger-transactions .record-actions{display:none}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-amount{margin-right:34px}.ledger-resource.ledger-transactions .record-details-actions{display:flex}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-account-cell>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(hover:none)and (pointer:coarse){.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category-cell{grid-column:3 / 6}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category{width:max-content}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-envelope-cell{grid-column:2 / 6;grid-row:3}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-envelope-cell select{min-height:44px;padding:0 28px 0 8px;border-color:var(--haven-hairline, #dce5e0)}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category-editor{grid-row:4}}}.record-details-actions{display:none;flex-wrap:wrap;gap:8px;margin-top:8px}.envelope-carried{grid-column:1 / -1;margin:2px 0 0;color:var(--haven-muted, #5d6b66);font-size:.75rem}.record-details-actions button{min-height:40px}.record-details-actions .danger-text{color:#9b2c35}[data-theme=dark] .record-details-actions .danger-text{color:#f1a3ab}.ledger-resource .resource-list>li.is-selectable{padding-left:34px}.ledger-resource.ledger-bills .record-summary.cash-flow-row{padding-right:124px}.ledger-resource.ledger-bills .bill-funding:not(.open)>.bill-funding-actions{position:static}@container (max-width: 560px){.ledger-resource.ledger-bills .record-summary.cash-flow-row{padding-right:0}.ledger-resource.ledger-bills .record-summary .flow-payee{padding-right:110px}.ledger-resource.ledger-bills .bill-funding:not(.open){flex-wrap:nowrap}.ledger-resource.ledger-bills .bill-funding-actions>button{height:36px;min-height:36px;padding:4px 8px}.ledger-resource.ledger-bills .record-summary .flow-category{min-height:28px;padding:2px 8px}}@media(pointer:coarse){.ledger-resource.ledger-bills .bill-funding-actions>button,.ledger-resource.ledger-bills .record-actions>button{height:44px;min-height:44px;min-width:44px}}.payday-settings{display:grid;gap:8px;padding-top:10px}.payday-settings .payday-last{display:grid;gap:4px;max-width:320px}.payday-settings .payday-last label{display:grid;gap:4px}.payday-settings .payday-last small{color:#60756c}.payday-settings .payday-last .form-actions{margin:0}.payday-settings .payday-amount{display:grid;gap:6px;max-width:320px}.payday-settings .payday-amount .form-actions{margin:0}.payday-settings .checkbox-label{min-height:44px;display:flex;align-items:center;gap:10px}.payday-settings .checkbox-label input[type=checkbox]{flex:none;width:20px;height:20px;min-height:0;margin:0}.payday-settings p{margin:0;font-size:.8rem}.payday-skipped ul{display:grid;gap:6px;margin:4px 0 0;padding:0;list-style:none}.payday-skipped li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}.payday-skipped button,.payday-see-paychecks{min-height:44px}.payday-late-note{padding:8px 10px;border-radius:8px;background:#fbf8ec;color:#3a3524}[data-theme=dark] .payday-late-note{background:#29271b;color:#f1ead3}.money-guide-due ul{margin:4px 0 8px;padding-left:18px}.money-guide-due p,.money-guide-late{margin:8px 0 0;font-size:.85rem}[data-theme=dark]{--haven-muted: oklch(from #b9c7bf l c var(--haven-style-hue, h));--haven-hairline: oklch(from #4d5f55 l c var(--haven-style-hue, h));--haven-style-soft: oklch(from #1e2924 l c var(--haven-style-hue, h));--haven-style-line: oklch(from #52665a l c var(--haven-style-hue, h));--haven-style-ink: #eef3ef;--haven-surface: oklch(from #151c18 l c var(--haven-style-hue, h));--haven-accent-text: oklch(from var(--haven-style-accent) max(l, .8) c h);--retreat-muted: oklch(from #c3d0c8 l c var(--haven-style-hue, h));--retreat-line: oklch(from #56695d l c var(--haven-style-hue, h))}.link-button,.fill-order-steps .link-button,.earnings-raise .link-button{color:var(--haven-accent-text, var(--haven-style-accent))}[data-theme=dark] .fill-order-steps li{background:#ffffff0a}[data-theme=dark] .fill-order-heading h2,[data-theme=dark] .debt-answer-headline strong,[data-theme=dark] .closed-account h2{color:var(--haven-style-ink)}[data-theme=dark] .debt-breakdown-warning{color:#f0a490!important}[data-theme=dark] .debt-celebration{background:#3a3218;border-color:#6f5e27;color:#f5e6b8}[data-theme=dark] .fill-order-free strong{color:var(--haven-style-ink)}.ledger-resource:is(.ledger-transactions,.ledger-bills) .account-activity-columns{padding-left:34px}.ledger-bills .account-activity-columns{padding-right:124px}[data-theme=dark] .ledger-match-count,[data-theme=dark] .ledger-column-button{color:var(--haven-muted)}[data-theme=dark] .ledger-column-button:hover,[data-theme=dark] .ledger-column-button[aria-expanded=true]{color:#e8f1ec;background:#26332d}.savings-plan-line{margin:6px 0 0;padding:6px 10px;border-radius:8px;background:var(--haven-style-soft);color:var(--haven-style-ink);font-size:.85rem}.resource-list .envelope-widget .savings-plan-line{grid-column:1 / -1;grid-row:3}.confirm-identity-scrim{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:#0c141173}.confirm-identity{width:min(440px,100%);display:grid;gap:12px;padding:20px;border-radius:14px;background:var(--haven-surface, #fff);color:var(--haven-style-ink, #1d2b26);box-shadow:0 18px 50px #00000040}.confirm-identity header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px}.confirm-identity header svg{color:var(--haven-style-accent);margin-top:3px}.confirm-identity h2{margin:0;font-size:1.15rem}.confirm-identity header p{margin:2px 0 0;color:var(--haven-muted, #5d6b66);font-size:.88rem}.confirm-identity form{display:grid;gap:10px}.confirm-identity label{display:grid;gap:6px;font-weight:600}.confirm-identity input{width:100%}.confirm-identity-note{margin:0;color:var(--haven-muted, #5d6b66);font-size:.75rem}[data-theme=dark] .confirm-identity{background:#18221e;color:#eef3ef}:root[data-haven-public=true]{--haven-style-hue: initial;--haven-style-accent: #315d54;--haven-style-ink: #24433a;--haven-style-soft: #e7f0eb;--haven-style-line: #bfd0c7;--haven-style-highlight: #d7b767}select{padding-inline-start:10px}html select:not([multiple]):not([size]){-webkit-appearance:none;appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%234f6259' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 6px}html[data-theme=dark] select:not([multiple]):not([size]){background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23c3d2c9' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-envelope-cell select{background-position:right 6px center}:where(details)>:where(summary){min-height:24px}.account-name-button{display:inline-flex;align-items:center;justify-content:flex-start;max-width:100%;min-height:24px;text-align:left}@media(pointer:coarse){:where(details)>:where(summary){min-height:44px;padding-block:10px}.allocated-bills summary,.account-security summary,.haven-companion-panel details summary{min-height:44px}.account-name-button{min-height:44px}}.resource-list .envelope-widget{container-type:inline-size}.envelope-metrics dd small{white-space:normal}[data-theme=dark] .money-tabs button[aria-selected=true]{color:#cfe8dc;border-bottom-color:#8fc9ae}.envelope-group .resource-view>.view-heading{justify-content:flex-end}.envelope-group .resource-view>.view-heading h2{display:none}@media(max-width:719px){.fill-order-action.compact{min-height:44px}}.envelope-quick-actions .envelope-ahead{color:#28634f}[data-theme=dark] .envelope-quick-actions .envelope-ahead{color:#9fd0c0}.outlook-worth-missing{display:block;margin-top:4px;color:#6d531b}.retreat-unassigned .retreat-card-held{display:block;margin-top:2px;font-size:.78rem;color:var(--retreat-muted, #60756c)}[data-theme=dark] .invite-acceptance,[data-theme=dark] .shared-budget-banner{border-color:#48665c;border-color:oklch(from #48665c l c var(--haven-style-hue, h));background:#20352e;background:oklch(from #20352e l c var(--haven-style-hue, h))}:root{--retreat-ink: #18342f;--retreat-muted: #546962;--retreat-line: #d7dfd9;--retreat-paper: #f7f9f6;--retreat-glass: #f9fbf3e6}.app-shell{background:var(--retreat-paper)}.retreat-spending,.retreat-outlook,.retreat-budget-panel,[data-theme=dark] .retreat-spending,[data-theme=dark] .retreat-outlook,[data-theme=dark] .retreat-budget-panel{--retreat-glass: rgb(251 250 244 / 90%);--retreat-ink: #17362f;--retreat-muted: #3d554c}.retreat-shortfall{display:flex;align-items:center;gap:6px;min-height:28px;padding:2px 0;background:transparent;color:#963c48;font-size:.8rem}[data-theme=dark] .retreat-shortfall{color:#963c48}.retreat-welcome h1{overflow-wrap:anywhere}.retreat-hero[data-night=true] .retreat-welcome{color:#f2f3df;text-shadow:0 1px 12px #101c1b;text-shadow:0 1px 12px oklch(from #101c1b l c var(--haven-style-hue, h))}.retreat-hero[data-night=true] .retreat-welcome p{color:#dee5d8;color:oklch(from #dee5d8 l c var(--haven-style-hue, h))}.profile-settings{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--retreat-line)}.profile-save-status{grid-column:1 / -1;min-height:20px;margin:0;color:var(--retreat-muted);font-size:.72rem}.early-adopter-badge{display:inline-flex;align-items:center;min-height:26px;margin-left:8px;padding:3px 8px;color:#3d3a24;background:#eee2a8;border:1px solid #c9b75f;border-radius:999px;font-family:Inter,system-ui,sans-serif;font-size:.65rem;font-weight:700;vertical-align:middle}.early-adopter-thanks{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px clamp(14px,3vw,42px);padding:12px 14px;color:var(--retreat-ink);background:#f4ecc8;border:1px solid #c9b75f;border-radius:6px}.early-adopter-thanks span{line-height:1.45}.early-adopter-thanks strong{margin-right:6px}.early-adopter-thanks .icon-button{flex:0 0 44px;color:inherit;background:transparent;border-color:#a89344}@media(max-width:520px){.early-adopter-thanks{align-items:flex-start;font-size:.82rem}}.profile-save-status[data-saving=true]{color:#456b5e;color:oklch(from #456b5e l c var(--haven-style-hue, h))}.first-run-guide{margin:18px clamp(14px,3vw,42px);padding:18px;color:var(--retreat-text);background:var(--retreat-card);border:1px solid var(--retreat-line);border-radius:6px}.first-run-guide>header{display:flex;align-items:center;gap:12px}.first-run-guide>header img{width:42px;height:42px;border-radius:50%}.first-run-guide>header div{flex:1}.first-run-guide>header span{display:flex;align-items:center;gap:5px;color:var(--retreat-muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.first-run-guide h2{margin:2px 0 0;font-size:1.15rem}.first-run-guide ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;margin:16px 0 8px;list-style:none}.first-run-guide li{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:center;min-height:84px;padding:12px;border:1px solid var(--retreat-line)}.first-run-guide li>span{display:grid;place-items:center;width:28px;height:28px;color:#fff;background:#356f60;background:oklch(from #356f60 l c var(--haven-style-hue, h));border-radius:50%;font-weight:800}.first-run-guide li>span svg{width:16px}.first-run-guide li>div{display:grid;gap:3px}.first-run-guide li small{color:var(--retreat-muted);line-height:1.35}.first-run-guide li button{grid-column:1 / -1;justify-self:stretch;min-height:40px}.first-run-guide li[data-complete=true]{background:#6c99881a}.first-run-guide>p{margin:10px 0 0;color:var(--retreat-muted);font-size:.72rem}.first-run-result{display:flex;align-items:center;gap:14px;padding:18px;margin-top:14px;color:#173f35;color:oklch(from #173f35 l c var(--haven-style-hue, h));background:#e7f2ed;background:oklch(from #e7f2ed l c var(--haven-style-hue, h))}.first-run-result>div{display:grid;gap:3px}.first-run-result strong{font-size:1.6rem}.first-run-step{display:grid;gap:12px;max-width:720px;margin:16px 0 4px}.first-run-step>p{margin:0;line-height:1.55}.first-run-step>div:not(.first-run-result),.first-run-step form{display:flex;flex-wrap:wrap;gap:8px}.first-run-step form label{display:grid;flex:1 1 280px;gap:5px;color:var(--retreat-muted);font-size:.75rem}.first-run-step form input{width:100%;min-height:44px;padding:9px 10px;color:var(--retreat-text);background:var(--retreat-card);border:1px solid var(--retreat-line)}.first-run-step button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px}.first-run-inline-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.first-run-inline-form>button{align-self:end}.first-run-inline-form label small{line-height:1.35}.first-run-notice{padding:10px 12px;color:var(--retreat-text)!important;background:#6c998824;border-left:3px solid #6c9988;border-left:3px solid oklch(from #6c9988 l c var(--haven-style-hue, h))}.first-run-progress{display:grid!important;grid-template-columns:repeat(9,1fr);gap:5px!important;margin-top:14px}.first-run-progress i{height:4px;background:var(--retreat-line)}.first-run-progress i[data-active=true]{background:#b08a42}.first-run-progress i[data-complete=true]{background:#4e8675;background:oklch(from #4e8675 l c var(--haven-style-hue, h))}.first-run-skip{justify-self:start}.first-run-step>ul{margin:0;padding-left:20px;color:var(--retreat-muted)}.first-run-checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 20px}.first-run-quiet{min-height:44px;margin:12px clamp(14px,3vw,42px);color:var(--retreat-muted);background:transparent;border:1px solid var(--retreat-line)}.first-run-companion{display:grid!important;gap:12px;width:100%}.companion-fields{display:grid;gap:12px;width:100%}.companion-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.companion-choices button{min-height:118px;display:grid;place-items:center;align-content:center;gap:2px;padding:8px}.companion-choices button>img{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 4px 6px rgb(28 53 45 / 14%))}.companion-choices button small{color:inherit;opacity:.75}.companion-choices button.active{color:#173f35;color:oklch(from #173f35 l c var(--haven-style-hue, h));background:#dfece3;background:oklch(from #dfece3 l c var(--haven-style-hue, h));border-color:#6a9b82;border-color:oklch(from #6a9b82 l c var(--haven-style-hue, h))}.companion-fields>label{display:grid;gap:5px;color:var(--retreat-muted);font-size:.75rem}.companion-fields input{min-height:44px}.garden-settings{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--retreat-line)}.garden-settings>p{color:var(--retreat-muted)}.garden-settings form{display:grid;gap:12px;max-width:680px}.garden-settings form>button{justify-self:start;min-height:44px}.companion-size-setting{display:grid;gap:7px;max-width:360px;margin:16px 0 0;padding:0;border:0}.companion-size-setting legend{margin-bottom:7px;font-weight:700}.companion-size-setting .segmented-control{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#e9efea;background:oklch(from #e9efea l c var(--haven-style-hue, h));border-radius:6px}.companion-size-setting .segmented-control button{min-height:44px;color:#365247;color:oklch(from #365247 l c var(--haven-style-hue, h));background:transparent;border-color:transparent;box-shadow:none}.companion-size-setting .segmented-control button[aria-pressed=true]{color:#fff;background:#285f55;background:oklch(from #285f55 l c var(--haven-style-hue, h))}.companion-size-setting>small{color:var(--retreat-muted)}.garden-settings .sage-setting-row{margin-top:16px}.garden-settings .sage-setting-row span{display:grid;gap:3px}.garden-settings .sage-setting-row small{color:var(--retreat-muted);font-weight:400}@media(max-width:720px){.first-run-guide{margin:12px;padding:14px}.first-run-guide ol{grid-template-columns:1fr}.first-run-guide li{min-height:0}.first-run-guide>header{align-items:flex-start;flex-wrap:wrap}.first-run-guide>header>button{width:100%}.first-run-step form{display:grid}.first-run-inline-form{grid-template-columns:1fr}.first-run-inline-form label,.first-run-inline-form input,.first-run-inline-form select,.first-run-inline-form button{width:100%;min-width:0;min-height:44px}.first-run-checklist,.companion-choices{grid-template-columns:1fr}.companion-choices button{min-height:68px;grid-template-columns:54px 1fr auto;justify-items:start;padding-inline:10px 14px}.companion-choices button>img{width:50px;height:50px}}.account-security{margin-bottom:18px;font-family:var(--haven-interface-font)}.account-security h2,.account-security summary,.account-security button,.account-security input,.account-security label{font-family:var(--haven-interface-font)}.account-security details{padding:12px 0;border-bottom:1px solid var(--retreat-line)}.account-security summary{display:flex;align-items:center;gap:8px;cursor:pointer;min-height:36px}.account-security p{font-size:.85rem}.account-security .entry-form{padding:12px 0}.entry-form.authenticator-setup{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:560px}.authenticator-setup>label{justify-self:start;width:min(100%,240px)}.authenticator-setup>label input{height:48px;font-size:1.2rem;letter-spacing:.18em;font-variant-numeric:tabular-nums}.authenticator-setup>button:not(.link-button){justify-self:start;min-width:240px}.authenticator-setup>.link-button{justify-self:start}.authenticator-steps{margin:0;padding-left:1.2rem;font-size:.85rem;line-height:1.5}.authenticator-note{margin:0;color:var(--haven-muted, #5f7069)}.authenticator-qr-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.authenticator-qr-row>div{display:grid;gap:10px;min-width:0;flex:1 1 220px}.authenticator-qr{width:168px;height:168px;flex:none;border-radius:8px}.authenticator-key{overflow-wrap:anywhere;font-size:.82rem}.authenticator-setup .form-error{margin:0;font-weight:700}.account-security .password-help{grid-column:1 / -1;margin:0;color:var(--retreat-muted);font-size:.75rem}.account-security .security-recommendation{max-width:62ch}.account-security .security-actions{display:flex;flex-wrap:wrap;gap:10px}.savings-growth{display:grid;gap:0;color:var(--retreat-ink)}.savings-growth>[role=tabpanel]>section{padding:22px 0;border-bottom:1px solid var(--retreat-line)}.savings-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.savings-heading h2{margin:5px 0 4px;font-family:var(--haven-display-font);font-size:1.45rem;font-weight:400}.savings-heading p{max-width:62ch;margin:0;color:var(--retreat-muted);font-size:.82rem}.section-kicker{display:flex;align-items:center;gap:7px;color:#577268;color:oklch(from #577268 l c var(--haven-style-hue, h));font-size:.68rem;font-weight:700;text-transform:uppercase}.savings-rate-value,.projection-ending{flex:0 0 auto;display:grid;text-align:right;font-family:var(--haven-display-font);font-size:2rem}.savings-rate-value small,.projection-ending span,.projection-ending small{color:var(--retreat-muted);font-family:Inter,system-ui,sans-serif;font-size:.67rem}.projection-ending strong{font-size:1.5rem;font-weight:400}.savings-rate-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px}.segmented{display:flex;min-width:0;padding:3px;border:1px solid var(--retreat-line);border-radius:6px}.segmented button{min-height:36px;padding:6px 10px;color:var(--retreat-muted);background:transparent;border:0;font-size:.72rem}.segmented button[aria-pressed=true]{color:#fff;background:#2c5d50;background:oklch(from #2c5d50 l c var(--haven-style-hue, h))}.savings-rate-controls fieldset{display:flex;gap:14px;margin:0;padding:0;border:0}.savings-rate-controls legend{float:left;margin-right:10px;color:var(--retreat-muted);font-size:.7rem}.savings-rate-controls label{display:flex;align-items:center;gap:6px;font-size:.75rem}.savings-rate-controls input{accent-color:#2c6654;accent-color:oklch(from #2c6654 l c var(--haven-style-hue, h))}.rate-explanation{margin:14px 0 0;padding:11px 14px;color:#405c52;color:oklch(from #405c52 l c var(--haven-style-hue, h));background:#eaf1ec;background:oklch(from #eaf1ec l c var(--haven-style-hue, h));border-left:3px solid #84a692;border-left:3px solid oklch(from #84a692 l c var(--haven-style-hue, h));font-size:.78rem}.savings-goals-intro{margin:0 0 18px;max-width:72ch;color:var(--retreat-muted);font-size:.8rem}.savings-goals .section-heading>span{color:var(--retreat-muted);font-size:.7rem}.savings-goals h2{display:flex;align-items:center;gap:8px;font-family:var(--haven-display-font);font-weight:400}.goal-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;margin-top:10px}.goal-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;padding:13px 0;border-top:1px solid var(--retreat-line)}.goal-list article>div{display:grid;gap:3px;min-width:0}.goal-list article>div:nth-child(2){text-align:right}.goal-list span,.goal-list small{color:var(--retreat-muted);font-size:.67rem}.goal-list small{grid-column:1 / -1}.projection-layout{display:grid;grid-template-columns:minmax(210px,.72fr) minmax(0,1.6fr);gap:28px;margin-top:22px}.projection-inputs{display:grid;align-content:start;gap:11px}.projection-inputs label{display:grid;gap:5px;color:var(--retreat-muted);font-size:.7rem}.projection-inputs input{width:100%;min-width:0;padding:9px 10px;color:var(--retreat-ink);background:#ffffffa6;border:1px solid #aebdb5;border:1px solid oklch(from #aebdb5 l c var(--haven-style-hue, h))}.example-rates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.example-rates button{min-height:36px;padding:5px;font-size:.65rem}.growth-chart{padding:12px 14px;background:#edf3ee;background:oklch(from #edf3ee l c var(--haven-style-hue, h));border:1px solid #d6e1da;border:1px solid oklch(from #d6e1da l c var(--haven-style-hue, h));border-radius:6px}.growth-chart svg{display:block;width:100%;height:auto;min-height:160px;overflow:visible}.growth-area{fill:#5e94711f}.growth-line{fill:none;stroke:#4e8668;stroke:oklch(from #4e8668 l c var(--haven-style-hue, h));stroke-width:3;stroke-dasharray:6 7}.growth-chart circle{fill:#f7faf6;fill:oklch(from #f7faf6 l c var(--haven-style-hue, h));stroke:#3f725a;stroke:oklch(from #3f725a l c var(--haven-style-hue, h));stroke-width:3}.growth-chart-labels{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;color:var(--retreat-muted);font-size:.62rem}.growth-chart-labels span:nth-child(2){color:#4e8069;color:oklch(from #4e8069 l c var(--haven-style-hue, h));font-style:italic}.growth-chart-labels span:last-child{text-align:right}.growth-chart-labels strong{color:var(--retreat-ink);font-size:.7rem}.projection-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:10px;border-block:1px solid var(--retreat-line)}.projection-metrics>div{display:grid;gap:4px;padding:10px 8px;border-right:1px solid var(--retreat-line)}.projection-metrics span,.projection-breakdown span{color:var(--retreat-muted);font-size:.66rem}.projection-metrics strong{font-family:var(--haven-display-font);font-size:.9rem;font-weight:400}.projection-breakdown{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:12px}.projection-breakdown span{display:grid;gap:4px}.projection-breakdown strong{color:var(--retreat-ink);font-size:.75rem}.projection-disclaimer{display:flex;align-items:flex-start;gap:9px;margin:18px 0 0;padding:12px 14px;color:#5c6357;background:#f3f0e5;border:1px solid #ddd6bd;font-size:.72rem}.account-inventory-sections{display:grid;gap:0}.account-investment-group{margin-top:20px}.investment-group-heading{align-items:center}.investment-group-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.investment-group-actions>strong{white-space:nowrap}@media(max-width:640px){.investment-group-heading{align-items:flex-start}.investment-group-actions{width:100%;justify-content:space-between}}.family-actions,.investment-actions{display:flex;flex-wrap:wrap;gap:7px}.family-actions button,.investment-actions button{min-height:38px;padding:7px 10px;font-size:.72rem}.family-filters{display:flex;gap:6px;margin-top:16px;padding-bottom:12px;overflow-x:auto;scrollbar-width:thin}.family-filters button{flex:0 0 auto;min-height:36px;padding:6px 11px;font-size:.7rem}.family-filters button[aria-pressed=true]{color:#fff;background:#2c5d50;background:oklch(from #2c5d50 l c var(--haven-style-hue, h));border-color:#2c5d50;border-color:oklch(from #2c5d50 l c var(--haven-style-hue, h))}.family-message{margin:8px 0 0;color:#456258;color:oklch(from #456258 l c var(--haven-style-hue, h));font-size:.75rem}.family-form{margin:8px 0 16px;padding:14px;background:#edf3eeb8;border:1px solid var(--retreat-line);border-radius:6px}.family-form h3{grid-column:1 / -1;margin:0;font-family:var(--haven-display-font);font-size:1.05rem;font-weight:400}.family-form textarea{min-height:76px;resize:vertical}.family-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:0 24px}.family-group{min-width:0;padding:14px 0;border-top:1px solid var(--retreat-line)}.family-group-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.family-group-heading h3{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--haven-display-font);font-size:1rem;font-weight:400}.beneficiary-marker{display:inline-grid;place-items:center;flex:0 0 auto}.family-account-row{display:grid;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;width:100%;min-height:54px;padding:9px 0;color:var(--retreat-ink);background:transparent;border:0;border-bottom:1px solid var(--retreat-line);border-radius:0;text-align:left}.family-account-row span{min-width:0}.family-account-row span strong,.family-account-row span small{display:block;overflow-wrap:anywhere}.family-account-row span small{margin-top:3px;color:var(--retreat-muted);font-size:.65rem}.family-account-row>strong{font-size:.82rem;font-variant-numeric:tabular-nums;white-space:nowrap}.family-total{display:flex;justify-content:space-between;gap:12px;padding-top:10px;font-size:.75rem}.investment-detail{margin-top:18px;padding:18px;background:#f6f8f2b3;border:1px solid var(--retreat-line);border-radius:6px}.investment-detail-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.investment-detail-heading h3{margin:5px 0 0;font-family:var(--haven-display-font);font-size:1.25rem;font-weight:400}.investment-detail dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin:16px 0;border-block:1px solid var(--retreat-line)}.investment-detail dl div{display:grid;gap:4px;padding:11px 8px 11px 0}.investment-detail dt{color:var(--retreat-muted);font-size:.65rem}.investment-detail dd{margin:0;font-family:var(--haven-display-font);font-size:1rem}.investment-detail .gain{color:#2f7358;color:oklch(from #2f7358 l c var(--haven-style-hue, h))}.investment-detail .loss{color:#974650}.education-path{margin:14px 0;padding:12px 0;border-bottom:1px solid var(--retreat-line)}.education-path>div{display:flex;justify-content:space-between;gap:12px;font-size:.76rem}.education-path meter{display:block;width:100%;height:11px;margin-top:9px}.education-path p,.investment-notes,.family-disclaimer{color:var(--retreat-muted);font-size:.7rem}.investment-action-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto auto;align-items:end;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--retreat-line)}.investment-action-form label{display:grid;gap:4px;color:var(--retreat-muted);font-size:.68rem}.investment-action-form input{width:100%;min-width:0;padding:8px 9px;color:var(--retreat-ink);background:#fff;border:1px solid #aebdb5;border:1px solid oklch(from #aebdb5 l c var(--haven-style-hue, h))}.family-disclaimer{margin:14px 0 0}[data-theme=dark] .family-form,[data-theme=dark] .investment-detail{color:#edf1e9;background:#202a25;background:oklch(from #202a25 l c var(--haven-style-hue, h));border-color:#46584d;border-color:oklch(from #46584d l c var(--haven-style-hue, h))}[data-theme=dark] .family-form label,[data-theme=dark] .family-form h3{color:#edf1e9}[data-theme=dark] .family-form input,[data-theme=dark] .family-form select,[data-theme=dark] .family-form textarea,[data-theme=dark] .projection-inputs input,[data-theme=dark] .investment-action-form input{color:#edf1e9;background:#202a25;background:oklch(from #202a25 l c var(--haven-style-hue, h));border-color:#617568;border-color:oklch(from #617568 l c var(--haven-style-hue, h))}[data-theme=dark] .growth-chart{background:#202a25;background:oklch(from #202a25 l c var(--haven-style-hue, h));border-color:#46584d;border-color:oklch(from #46584d l c var(--haven-style-hue, h))}[data-theme=dark] .growth-area{fill:#7cb59129}[data-theme=dark] .growth-line{stroke:#8ac0a0;stroke:oklch(from #8ac0a0 l c var(--haven-style-hue, h))}[data-theme=dark] .growth-chart circle{fill:#202a25;fill:oklch(from #202a25 l c var(--haven-style-hue, h));stroke:#a0ceb0;stroke:oklch(from #a0ceb0 l c var(--haven-style-hue, h))}[data-theme=dark] .rate-explanation{color:#d7e6dc;color:oklch(from #d7e6dc l c var(--haven-style-hue, h));background:#22342b;background:oklch(from #22342b l c var(--haven-style-hue, h));border-left-color:#78a98d;border-left-color:oklch(from #78a98d l c var(--haven-style-hue, h))}[data-theme=dark] .projection-disclaimer{color:#e5dfcc;background:#353326;border-color:#666044}@media(max-width:720px){.savings-heading,.savings-rate-controls{align-items:stretch;flex-direction:column}.savings-rate-value,.projection-ending{text-align:left}.savings-rate-controls fieldset{display:grid;gap:8px}.savings-rate-controls legend{float:none;margin:0 0 2px}.goal-list,.projection-layout{grid-template-columns:1fr}.segmented button{flex:1;padding-inline:5px}.family-actions{width:100%}.family-actions button{flex:1}.family-form{grid-template-columns:1fr}.family-form h3,.family-form>label:first-of-type{grid-column:1}.investment-action-form{grid-template-columns:1fr 1fr}.investment-action-form button{width:100%}}.authenticator-key{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:1rem}.app-shell>main.haven-workspace{max-width:none;padding:0}.app-shell>header{border-bottom-color:#d8e0d8;border-bottom-color:oklch(from #d8e0d8 l c var(--haven-style-hue, h));background:#fbfcf8f2}.app-shell>header .brand-button{font-family:Georgia,Times New Roman,serif;color:#153b37}.app-shell>header nav button.active{color:#204e41;color:oklch(from #204e41 l c var(--haven-style-hue, h));background:#e8ede5;background:oklch(from #e8ede5 l c var(--haven-style-hue, h))}.retreat-dashboard{gap:0;min-width:0;color:var(--retreat-ink)}.retreat-compact-weather{display:none}.retreat-hero{position:relative;isolation:isolate;min-height:max(530px,min(640px,72dvh));height:auto;display:grid;grid-template-columns:minmax(290px,360px) minmax(120px,1fr) minmax(250px,295px);grid-template-rows:auto 1fr;gap:24px;padding:40px max(32px,calc((100% - 1320px)/2));overflow:hidden}.retreat-environment{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#cddcd8;background:oklch(from #cddcd8 l c var(--haven-style-hue, h))}.retreat-art{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;object-position:var(--haven-position-x, 58%) var(--haven-position-y, 52%);transform:translate(var(--scene-x, 0px),var(--scene-y, 0px)) scale(var(--haven-zoom, 1.025));filter:brightness(var(--haven-brightness, 100%)) blur(var(--haven-blur, 0));transition:transform 1.8s ease-out,filter .25s ease}.retreat-color-background{position:absolute;inset:0}.retreat-environment[data-motion=true] .retreat-art{animation:retreat-breathe 24s ease-in-out infinite alternate}@keyframes retreat-breathe{0%{scale:1}to{scale:1.012}}.retreat-custom-overlay,.retreat-life{position:absolute;inset:0;pointer-events:none}.retreat-light{position:absolute;width:3px;height:3px;border-radius:50%;background:#ffe1a3;opacity:.65;box-shadow:0 0 5px #f5ce7ba6}.retreat-environment[data-motion=true] .retreat-light{animation:retreat-shimmer calc(5s + var(--i) * .4s) ease-in-out infinite alternate;animation-delay:calc(var(--i) * -.7s)}@keyframes retreat-shimmer{to{transform:translate(5px,-9px);opacity:.2}}.retreat-water{position:absolute;top:28%;height:9px;width:1px;background:#dcefedb3;opacity:.65}.retreat-environment[data-motion=true] .retreat-water{animation:retreat-rain 1.3s linear infinite;animation-delay:calc(var(--i) * -.12s)}@keyframes retreat-rain{to{transform:translate(-16px,220px);opacity:0}}.retreat-controls{position:absolute;top:18px;right:24px;display:flex;gap:6px}.retreat-controls .icon-button{color:#23483d;color:oklch(from #23483d l c var(--haven-style-hue, h));background:#f4f8edc9;border-color:#ffffff7a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.retreat-controls .icon-button[aria-pressed=false]:last-child{opacity:.65}.retreat-water-message{position:absolute;top:70px;right:24px;background:#f8faf1eb;color:#23483d;color:oklch(from #23483d l c var(--haven-style-hue, h));padding:8px 12px;border-radius:6px;font-size:.75rem}.retreat-welcome{grid-column:1 / 3;grid-row:1;align-self:start;width:min(430px,100%);pointer-events:none}.retreat-eyebrow{display:flex;gap:7px;align-items:center;font-size:.67rem;font-weight:600}.retreat-welcome{position:relative;isolation:isolate;--welcome-scrim: rgb(255 255 255 / 62%);--welcome-halo: 0 0 10px rgb(255 255 255 / 85%), 0 1px 2px rgb(255 255 255 / 70%)}.retreat-welcome:before{content:"";position:absolute;z-index:-1;inset:-18px -34px -22px -26px;border-radius:40px;background:radial-gradient(closest-side,var(--welcome-scrim),transparent);filter:blur(6px);pointer-events:none}.retreat-welcome h1,.retreat-welcome p{text-shadow:var(--welcome-halo)}.retreat-hero[data-night=true] .retreat-welcome,[data-theme=dark] .retreat-welcome,.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-welcome{--welcome-scrim: rgb(6 18 16 / 58%);--welcome-halo: 0 1px 12px rgb(4 15 13 / 85%), 0 1px 2px rgb(4 15 13 / 70%)}.retreat-welcome h1{font-family:var(--haven-display-font);font-size:2.8rem;font-weight:400;line-height:1.12;margin:10px 0}.retreat-welcome h1 span{display:block}.retreat-welcome p{font-family:var(--haven-display-font);color:#3e5b53;color:oklch(from #3e5b53 l c var(--haven-style-hue, h));font-size:1.05rem;margin:0}.haven-companion-float-zone{position:fixed;z-index:24;inset:0;pointer-events:none}.haven-companion-float-zone{overflow:hidden}.haven-garden-companion.is-relocating{pointer-events:none}.haven-garden-companion.is-hidden{visibility:hidden;pointer-events:none}.haven-companion-reaction,.haven-companion-zzz,.haven-companion-bubbles{pointer-events:none}.haven-garden-companion{position:absolute;z-index:3;width:86px;height:94px;min-height:0;padding:0;border:0;border-radius:50%;background:transparent;box-shadow:none;transform:translate(-50%,-50%);transition:left .8s ease,top .8s ease;cursor:grab;touch-action:none;pointer-events:auto}.haven-companion-float-zone.is-plant .haven-garden-companion{width:92px;height:112px}.haven-companion-float-zone.is-small .haven-garden-companion{width:58px;height:64px}.haven-companion-float-zone.is-small.is-plant .haven-garden-companion{width:62px;height:74px}.haven-garden-companion:hover{background:transparent;box-shadow:none;transform:translate(-50%,-50%)}.haven-garden-companion:focus-visible{outline:2px solid #6f8f82;outline:2px solid oklch(from #6f8f82 l c var(--haven-style-hue, h));outline-offset:3px;border-radius:14px}.haven-garden-companion.is-dragging{cursor:grabbing;transition:none}.haven-garden-companion-idle{position:relative;display:block;width:100%;height:100%;animation:garden-companion-idle 3.4s ease-in-out infinite}.haven-garden-companion-idle>img:first-child{width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 5px rgb(31 61 49 / 18%))}.haven-garden-companion[class*=plant-stage-] .haven-garden-companion-idle>img:first-child{transform-origin:center bottom;transition:transform .7s ease}.haven-garden-companion.plant-stage-seed .haven-garden-companion-idle>img:first-child{transform:scale(.54)}.haven-garden-companion.plant-stage-sprout .haven-garden-companion-idle>img:first-child{transform:scale(.67)}.haven-garden-companion.plant-stage-sapling .haven-garden-companion-idle>img:first-child{transform:scale(.78)}.haven-garden-companion.plant-stage-young-tree .haven-garden-companion-idle>img:first-child{transform:scale(.9)}.haven-garden-companion.plant-stage-full-tree .haven-garden-companion-idle>img:first-child{transform:scale(1)}.companion-growth-status{padding:7px 9px;background:#edf4ee;background:oklch(from #edf4ee l c var(--haven-style-hue, h));border-left:3px solid #79a088;border-left:3px solid oklch(from #79a088 l c var(--haven-style-hue, h))}.companion-growth-status strong{text-transform:capitalize}.haven-garden-companion.is-delighted .haven-garden-companion-idle{animation:garden-companion-delighted .6s ease}.haven-garden-companion.is-walk{transition:left 6s linear,top 6s linear}.haven-garden-companion.is-walk .haven-garden-companion-idle{animation:companion-walk .6s ease-in-out infinite}.haven-garden-companion.is-stretch .haven-garden-companion-idle{animation:companion-stretch 1.05s ease-in-out;transform-origin:center bottom}.haven-garden-companion.is-swim .haven-garden-companion-idle{animation:companion-swim .65s ease-in-out 2}@keyframes companion-walk{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-6px) rotate(-3deg)}50%{transform:translateY(0) rotate(0)}75%{transform:translateY(-5px) rotate(3deg)}}@keyframes companion-stretch{0%,to{transform:scale(1)}45%{transform:scaleX(1.08) scaleY(.88) translateY(5px)}70%{transform:scaleX(.96) scaleY(1.08) translateY(-3px)}}@keyframes companion-swim{0%,to{transform:rotate(0)}50%{transform:rotate(4deg) translateY(-2px)}}.haven-companion-reaction{position:absolute;top:-6px;right:-2px;display:grid;place-items:center;min-width:32px;height:25px;padding:0 7px;color:#6f4150;background:#fff9f4d6;border:1px solid rgb(217 185 190 / 78%);border-radius:50%;box-shadow:0 3px 8px #3025231f;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);font-family:system-ui,sans-serif;font-size:.7rem;font-weight:800;animation:garden-reaction-pop .5s ease-out}.haven-garden-outfit{position:absolute;z-index:2;top:30%;right:4%;width:28%;height:28%;object-fit:contain;pointer-events:none}@keyframes garden-companion-idle{0%,to{transform:translateY(0) rotate(-1deg)}45%{transform:translateY(-3px) rotate(1deg)}55%{transform:translateY(-3px) rotate(0)}}@keyframes garden-companion-delighted{0%,to{transform:translateY(0) scale(1)}45%{transform:translateY(-9px) scale(1.05) rotate(3deg)}}@keyframes garden-reaction-pop{0%{opacity:0;transform:scale(.5) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}@media(prefers-reduced-motion:reduce){.haven-garden-companion,.haven-garden-companion-idle{transition:none;animation:none}}.haven-garden-kicker{display:flex;align-items:center;gap:5px;color:#527164;color:oklch(from #527164 l c var(--haven-style-hue, h));font-size:.66rem;font-weight:700;text-transform:uppercase}.haven-garden-dew{display:inline-flex;align-items:center;gap:4px;margin-top:3px;color:#376c62;color:oklch(from #376c62 l c var(--haven-style-hue, h));font-size:.66rem;font-weight:700}.haven-companion-panel{position:fixed;z-index:25;right:max(18px,env(safe-area-inset-right));bottom:max(88px,calc(env(safe-area-inset-bottom) + 76px));width:min(360px,calc(100vw - 24px));max-height:min(620px,calc(100dvh - 116px));overflow-y:auto;padding:16px;color:#17362f;color:oklch(from #17362f l c var(--haven-style-hue, h));background:#f7f9f2f5;border:1px solid #b9cbc1;border:1px solid oklch(from #b9cbc1 l c var(--haven-style-hue, h));border-radius:8px;box-shadow:0 16px 48px #122b2338;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.haven-companion-panel>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.haven-companion-heading{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;margin:10px 0 4px}.haven-companion-heading img{width:64px;height:70px;object-fit:contain;filter:drop-shadow(0 4px 7px rgb(31 61 49 / 16%))}.haven-companion-heading strong{display:block;font-family:var(--haven-display-font);font-size:1.25rem;font-weight:500}.haven-companion-panel p{margin:3px 0 8px;color:#405c53;color:oklch(from #405c53 l c var(--haven-style-hue, h));font-size:.76rem;line-height:1.45}.haven-companion-panel>small{display:block;margin-top:7px;color:#587068;color:oklch(from #587068 l c var(--haven-style-hue, h));font-size:.68rem}.haven-companion-panel .haven-garden-celebration{display:flex;align-items:center;gap:5px;padding:8px;color:#5d4a1d;background:#f6e9b8;border-left:3px solid #c19b41}.haven-garden-keepsakes span{padding-left:8px;color:var(--haven-muted, #526960);color:var(--haven-muted, oklch(from #526960 l c var(--haven-style-hue, h)))}@media(prefers-reduced-motion:no-preference){.haven-garden-celebration svg{animation:garden-sparkle .7s ease-out}}@keyframes garden-sparkle{50%{transform:scale(1.25) rotate(10deg)}}.haven-garden-plant{min-height:36px;margin:-4px 0 5px;padding:2px 0}.haven-companion-panel details{margin:8px 0;font-size:.72rem}.haven-companion-panel details summary{min-height:36px;cursor:pointer;font-weight:700}.haven-companion-panel details span{display:block;margin-top:3px}.haven-garden-actions{display:flex;gap:6px;align-items:center}.haven-garden-actions{flex-wrap:wrap}.haven-garden-actions button{min-height:40px;padding:6px 10px;font-size:.7rem}.haven-garden-watered{display:flex;align-items:center;gap:5px;min-height:40px;color:#315f50;color:oklch(from #315f50 l c var(--haven-style-hue, h));font-size:.7rem;font-weight:700}.haven-garden-error{display:block;margin-top:5px;color:#8a343b;font-size:.64rem}.haven-companion-panel .haven-companion-optional{margin:10px 0 0;padding-top:9px;border-top:1px solid #cbd8d1;border-top:1px solid oklch(from #cbd8d1 l c var(--haven-style-hue, h));color:#61736b;color:oklch(from #61736b l c var(--haven-style-hue, h));font-size:.67rem}.garden-market,.garden-decorate{position:fixed;z-index:40;inset:max(16px,env(safe-area-inset-top)) max(16px,calc((100vw - 920px)/2));max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;color:#203b34;color:oklch(from #203b34 l c var(--haven-style-hue, h));background:#f8faf5;border:1px solid #b8ccc2;border:1px solid oklch(from #b8ccc2 l c var(--haven-style-hue, h));border-radius:8px;box-shadow:0 18px 70px #0d231d47}.garden-walk{position:fixed;z-index:40;inset:max(16px,env(safe-area-inset-top)) max(16px,calc((100vw - 680px)/2));max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;color:#203b34;color:oklch(from #203b34 l c var(--haven-style-hue, h));background:#f8faf5;border:1px solid #b8ccc2;border:1px solid oklch(from #b8ccc2 l c var(--haven-style-hue, h));border-radius:8px;box-shadow:0 18px 70px #0d231d47}.garden-keepsake-shelf{position:fixed;z-index:40;inset:max(16px,env(safe-area-inset-top)) max(16px,calc((100vw - 820px)/2));max-height:calc(100dvh - 32px);overflow-y:auto;padding:24px;color:#203b34;color:oklch(from #203b34 l c var(--haven-style-hue, h));background:#f8faf5;border:1px solid #b8ccc2;border:1px solid oklch(from #b8ccc2 l c var(--haven-style-hue, h));border-radius:8px;box-shadow:0 18px 70px #0d231d47}.garden-market-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.garden-market-head span{display:flex;align-items:center;gap:5px;color:#376c62;color:oklch(from #376c62 l c var(--haven-style-hue, h));font-size:.76rem;font-weight:800}.garden-market-head h2{margin:5px 0 2px;font-family:var(--haven-display-font);font-size:1.4rem}.garden-market-head p,.garden-market-return{margin:3px 0 16px;color:#597168;color:oklch(from #597168 l c var(--haven-style-hue, h));font-size:.78rem}.garden-season-banner{padding:10px 12px;color:#674f24;background:#f6e9c7;border-left:3px solid #b68b39;font-size:.78rem}.garden-market-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.garden-market-grid article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:2px 10px;align-items:center;min-width:0;padding:10px;background:#fff;border:1px solid #d7e2dc;border:1px solid oklch(from #d7e2dc l c var(--haven-style-hue, h));border-radius:6px}.garden-market-grid img{grid-row:1 / 4;width:52px;height:52px;object-fit:contain}.garden-market-grid strong,.garden-market-grid small{overflow-wrap:anywhere}.garden-market-grid small{color:#65786f;color:oklch(from #65786f l c var(--haven-style-hue, h));font-size:.68rem}.garden-market-grid button{grid-column:1 / -1;margin-top:7px;font-size:.72rem}.garden-decorate-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:14px;background:#e5efe7;background:oklch(from #e5efe7 l c var(--haven-style-hue, h));border:1px solid #c9d9cf;border:1px solid oklch(from #c9d9cf l c var(--haven-style-hue, h));border-radius:6px}.garden-decorate-layout button{min-width:0;min-height:70px;flex-direction:column;padding:6px;font-size:.7rem}.garden-decorate-layout button.active{color:#fff;background:#356f60;background:oklch(from #356f60 l c var(--haven-style-hue, h))}.garden-decorate-layout img,.garden-decorate-picker img,.garden-outfit-picker img{width:30px;height:30px;object-fit:contain}.garden-decorate-picker,.garden-outfit-picker{margin-top:16px}.garden-decorate-picker h3,.garden-outfit-picker h3{margin:0 0 8px;font-size:.9rem}.garden-decorate-picker>div,.garden-outfit-picker>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-bottom:8px}.garden-decorate-picker button,.garden-outfit-picker button{min-height:44px;padding:6px 9px;font-size:.7rem}.garden-outfit-picker strong{min-width:44px;text-transform:capitalize;font-size:.72rem}.garden-decorate .form-actions{margin-top:18px}.garden-walk-screen{min-height:250px;padding:20px 0;border-block:1px solid #d4e0da;border-block:1px solid oklch(from #d4e0da l c var(--haven-style-hue, h))}.garden-walk-screen h3{margin:0 0 10px;font-family:var(--haven-display-font);font-size:1.25rem}.garden-walk-screen label{display:grid;gap:5px;margin-top:16px;font-size:.78rem}.garden-walk-screen textarea{width:100%;min-height:96px;padding:10px;border:1px solid #aebfb6;border:1px solid oklch(from #aebfb6 l c var(--haven-style-hue, h))}.garden-walk-screen label small{justify-self:end;color:#62766d;color:oklch(from #62766d l c var(--haven-style-hue, h))}.garden-feelings{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.garden-feelings button{min-width:0;flex-direction:column;padding:7px 3px;font-size:.67rem;text-transform:capitalize}.garden-feelings button[aria-checked=true]{color:#fff;background:#356f60;background:oklch(from #356f60 l c var(--haven-style-hue, h))}.garden-walk-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:16px}.garden-keepsake-groups{display:grid;gap:18px}.garden-keepsake-groups section>h3{display:flex;justify-content:space-between;gap:12px;margin:0 0 7px;font-size:.78rem;text-transform:capitalize}.garden-keepsake-groups h3 small{color:#62766d;color:oklch(from #62766d l c var(--haven-style-hue, h));font-weight:500}.garden-keepsake-groups section>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.garden-keepsake-groups article{display:grid;grid-template-columns:24px minmax(0,1fr);gap:2px 8px;min-width:0;padding:10px;border:1px solid #d2dfd8;border:1px solid oklch(from #d2dfd8 l c var(--haven-style-hue, h));border-radius:6px}.garden-keepsake-groups article svg,.garden-keepsake-groups article img{grid-row:1 / 3;width:20px;height:20px;object-fit:contain}.garden-keepsake-groups article p{margin:0;color:#60736a;color:oklch(from #60736a l c var(--haven-style-hue, h));font-size:.68rem}.garden-keepsake-groups article.locked{color:#77847e;background:#edf1ee;background:oklch(from #edf1ee l c var(--haven-style-hue, h))}.garden-keepsake-groups article.earned{color:#315e4f;color:oklch(from #315e4f l c var(--haven-style-hue, h));background:#edf6ef;background:oklch(from #edf6ef l c var(--haven-style-hue, h));border-color:#bdd5c7;border-color:oklch(from #bdd5c7 l c var(--haven-style-hue, h))}.retreat-spending{grid-column:1;grid-row:2;align-self:end;color:var(--retreat-ink);background:var(--retreat-glass);border:1px solid rgb(255 255 255 / 68%);border-radius:8px;padding:16px 22px 18px;-webkit-backdrop-filter:blur(18px) saturate(1.04);backdrop-filter:blur(18px) saturate(1.04);box-shadow:0 4px 16px #1f30281a;min-width:0}.retreat-hero[data-night=false] .retreat-spending,.retreat-hero[data-night=false] .retreat-outlook,.retreat-hero[data-night=false] .retreat-budget-panel,.retreat-hero[data-night=true] .retreat-spending,.retreat-hero[data-night=true] .retreat-outlook,.retreat-hero[data-night=true] .retreat-budget-panel{--retreat-ink: #17362f;--retreat-muted: #3d554c;text-shadow:none}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-spending,.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-outlook,.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-budget-panel{--retreat-glass: rgb(15 35 31 / 88%);--retreat-ink: #f7f5ec;--retreat-muted: #d5dfd8;border-color:#ffffff6b;box-shadow:0 5px 20px #030d0b47;-webkit-backdrop-filter:blur(22px) saturate(.9);backdrop-filter:blur(22px) saturate(.9)}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-welcome{color:#fbfaf3;text-shadow:0 2px 12px rgb(4 15 13 / 78%)}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-welcome p{color:#eef2e9}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-label .icon-button{color:#f0d58f}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-shortfall{color:#ffd9dc}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-budget-panel .retreat-budget-row,.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-payday{border-color:#ffffff3d}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) meter::-webkit-meter-bar{background:#ffffff4d}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) meter::-moz-meter-bar{background:#9ac2a5;background:oklch(from #9ac2a5 l c var(--haven-style-hue, h))}.retreat-label{display:flex;align-items:center;gap:8px;font-size:.83rem}.retreat-label .icon-button{margin-left:auto;color:#856931;background:transparent}.retreat-daily{display:block;font-family:var(--haven-display-font);font-size:3.7rem;font-weight:400;line-height:1.1;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.retreat-caption{display:block;color:var(--retreat-muted);font-size:.75rem;margin-top:5px}.retreat-tomorrow{display:block;color:var(--retreat-muted);font-size:.75rem;margin-top:3px}.has-detail .retreat-tomorrow{display:none}.retreat-outlook{grid-column:3;grid-row:2;align-self:end;padding:16px 20px;color:var(--retreat-ink);background:var(--retreat-glass);border:1px solid rgb(255 255 255 / 68%);border-radius:8px;-webkit-backdrop-filter:blur(18px) saturate(1.04);backdrop-filter:blur(18px) saturate(1.04);box-shadow:0 4px 16px #1f30281a;min-width:0}.retreat-budget-panel{grid-column:2;grid-row:2;align-self:end;min-width:0;padding:14px 18px;color:var(--retreat-ink);background:var(--retreat-glass);border:1px solid rgb(255 255 255 / 68%);border-radius:8px;-webkit-backdrop-filter:blur(18px) saturate(1.04);backdrop-filter:blur(18px) saturate(1.04);box-shadow:0 4px 16px #1f30281a}.retreat-budget-panel .section-heading{margin-bottom:3px}.retreat-budget-panel h2{display:flex;align-items:center;gap:8px;margin:0;font-family:var(--haven-display-font);font-size:1.05rem;font-weight:400}.retreat-budget-panel .icon-button{color:var(--retreat-ink);background:transparent}.retreat-budget-panel .retreat-budget-row{padding:8px 0;border-color:#18342f38}.retreat-budget-panel .retreat-budget-row small{color:var(--retreat-ink);font-size:.8125rem}.retreat-weather{display:block;text-align:left;padding:0 0 15px;width:100%;background:transparent;color:var(--retreat-ink);border-radius:0}.retreat-weather>span{display:flex;gap:8px;align-items:center;font-size:.82rem}.retreat-weather>strong{display:block;font-family:var(--haven-display-font);font-size:1.5rem;font-weight:400;margin:12px 0 6px}.retreat-payday{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;width:100%;padding:16px 0 0;text-align:left;color:var(--retreat-ink);background:transparent;border:0;border-top:1px solid var(--retreat-line);border-radius:0;font-size:.75rem}.retreat-payday span strong,.retreat-payday span small{display:block;margin-top:4px}.outlook-worth{margin-top:10px;padding-top:8px;border-top:1px solid var(--retreat-line);color:var(--retreat-ink)}.outlook-worth-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px 12px;margin:0}.outlook-worth-columns div{min-width:0}.outlook-worth-columns dt{font-size:.78rem;color:var(--retreat-muted)}.outlook-worth-columns dd{margin:2px 0 0;font-weight:600;font-size:.95rem;overflow-wrap:anywhere}.outlook-worth-toggle{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;margin-top:0;padding:0;background:transparent;border:0;border-radius:0;color:var(--retreat-ink);font:inherit;font-size:.9rem;font-weight:600;text-align:left;cursor:pointer}.outlook-worth-toggle svg{flex:0 0 auto;transition:transform .15s ease}.outlook-worth-toggle svg.is-open{transform:rotate(180deg)}.outlook-worth-detail{display:grid;gap:4px;padding:0 0 6px}.outlook-worth-value{font-family:var(--haven-display-font);font-size:1.5rem;font-weight:400;line-height:1.15;overflow-wrap:anywhere}.outlook-worth-value.is-positive{color:var(--haven-positive)}.outlook-worth-detail small{color:var(--retreat-muted);font-size:.78rem}.outlook-worth-links{display:flex;flex-wrap:wrap;gap:4px 14px}.outlook-worth-links .link-button{min-height:44px;padding:0;font-size:.85rem}@media(prefers-reduced-motion:reduce){.outlook-worth-toggle svg{transition:none}}.retreat-ledgers.is-single{grid-template-columns:minmax(0,1fr);padding-bottom:0}.net-worth-view{min-width:0;padding:0 22px 14px}.net-worth-actions{display:flex;gap:8px;align-items:center}.net-worth-tabs{display:flex;gap:8px;align-items:center;margin:0 0 10px}.net-worth-tabs .is-selected{font-weight:600}.net-worth-tabs .icon-button{margin-left:auto}.year-in-review .section-heading h2 small{display:block;font-size:.8rem;font-weight:400;color:var(--muted);margin-top:2px}.year-actions{display:flex;gap:8px;flex-wrap:wrap}.year-actions button{display:inline-flex;align-items:center;gap:6px}.year-figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:10px 0 14px}.year-figures div{display:grid;gap:4px;padding:12px 14px;border:1px solid var(--retreat-line, #c9d4ce);border-radius:10px}.year-figures dt{font-size:.78rem;color:var(--muted)}.year-figures dd{margin:0;font-family:var(--haven-display-font);font-size:1.5rem;font-weight:400}.year-figures div.is-worse dd{color:#8e2a36}.year-figures small{font-size:.74rem;color:var(--muted)}.year-lists{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.year-lists h3{margin:0 0 6px;font-size:.95rem}.year-lists ol,.year-lists ul{margin:0;padding-left:18px}.year-lists ol li{display:flex;justify-content:space-between;gap:10px;padding:3px 0}@media print{.retreat-hero,.retreat-ledgers:not(.is-single),.net-worth-tabs,.year-actions,nav,header,.sage-tip,footer{display:none!important}.year-in-review{padding:0}}.net-worth-now{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:6px 0 10px}.net-worth-now strong{font-family:var(--haven-display-font);font-size:1.9rem;font-weight:400}.net-worth-now span{color:var(--muted)}.net-worth-line{display:block;width:100%;height:120px;stroke:var(--accent, #2f6f5e);fill:var(--accent, #2f6f5e)}.net-worth-line path{stroke:var(--accent, #2f6f5e)}.net-worth-zero{stroke:var(--retreat-line, #c9d4ce);stroke-dasharray:2 2;stroke-width:1;vector-effect:non-scaling-stroke}.net-worth-axis{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted);margin:2px 0 12px}.net-worth-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:0 0 14px}.net-worth-breakdown div{display:grid;gap:4px;padding:10px 12px;border:1px solid var(--retreat-line, #c9d4ce);border-radius:10px}.net-worth-breakdown dt{font-size:.78rem;color:var(--muted)}.net-worth-breakdown dd{margin:0;font-weight:600}.net-worth-table{width:100%;border-collapse:collapse;font-size:.85rem;margin:0 0 10px}.net-worth-table caption{text-align:left;font-weight:600;padding:0 0 6px}.net-worth-table th,.net-worth-table td{text-align:right;padding:6px 8px;border-top:1px solid var(--retreat-line, #c9d4ce)}.net-worth-table th[scope=row],.net-worth-table thead th:first-child{text-align:left;font-weight:500}@media(max-width:700px){.net-worth-table thead th:nth-child(2),.net-worth-table td:nth-child(2),.net-worth-table thead th:nth-child(3),.net-worth-table td:nth-child(3){display:none}}.retreat-payday span strong{font-size:.85rem}.retreat-payday span small{color:var(--retreat-muted);font-size:.75rem;line-height:1.4;overflow-wrap:anywhere}.retreat-payday>b{font-family:var(--haven-display-font);font-size:1rem;font-weight:400}.retreat-ledgers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:1100px;width:100%;margin:0 auto;padding:24px 28px 10px}.retreat-section{min-width:0;padding:0 22px 14px;border-right:1px solid var(--retreat-line)}.retreat-section:last-child{border-right:0}.retreat-section .section-heading{gap:6px;flex-wrap:nowrap;margin-bottom:5px}.retreat-section h2{display:flex;align-items:center;gap:9px;font-family:var(--haven-display-font);font-size:1.2rem;font-weight:400}.retreat-section .icon-button{color:var(--retreat-muted);background:transparent}.retreat-bill-row,.retreat-account-row,.retreat-budget-row{display:grid;width:100%;gap:12px;padding:11px 0;text-align:left;border:0;border-top:1px solid var(--retreat-line);border-radius:0;color:var(--retreat-ink);background:transparent;font-size:.78rem;min-width:0}.retreat-bill-row{grid-template-columns:54px minmax(0,1fr) auto;align-items:center}.retreat-bill-row>strong,.retreat-account-row>strong{font-variant-numeric:tabular-nums;font-size:.85rem}.retreat-section .flow-payee>span{display:block;color:var(--retreat-muted);font-size:.7rem;margin-top:4px}.retreat-account-row{grid-template-columns:20px minmax(0,1fr) auto;align-items:center}.retreat-account-row small,.retreat-budget-row small{display:block;margin-top:5px;color:var(--retreat-muted);font-size:.68rem}.retreat-account-total{display:flex;justify-content:space-between;gap:10px;padding:12px 0 0;border-top:1px solid var(--retreat-line);font-size:.78rem}.retreat-budget-row{grid-template-columns:minmax(120px,.8fr) minmax(220px,1.2fr);align-items:center}.retreat-budget-metrics{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;text-align:right}.retreat-budget-row.is-waiting strong{font-weight:500;color:var(--retreat-muted)}.retreat-budget-row .envelope-state{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;color:#2f6f5e}.retreat-budget-row .envelope-state.is-warning{color:#7a4f00}.retreat-budget-row .envelope-state.is-over{color:#8e2a36}.retreat-budget-row .envelope-state.is-hold{color:var(--retreat-muted);font-weight:600}.retreat-budget-row.is-hold meter::-webkit-meter-optimum-value{background:#9a9a8f}.retreat-budget-row.is-hold meter::-moz-meter-bar{background:#9a9a8f}.retreat-budget-row.is-warning meter::-webkit-meter-optimum-value{background:#d9a441}.retreat-budget-row.is-warning meter::-moz-meter-bar{background:#d9a441}.retreat-budget-row.is-over meter::-webkit-meter-optimum-value{background:#b8434f}.retreat-budget-row.is-over meter::-moz-meter-bar{background:#b8434f}.retreat-goal-pace{grid-column:1 / -1;font-size:.78rem;color:var(--retreat-muted)}.retreat-budget-metrics small{margin:0;white-space:nowrap}.retreat-budget-metrics small.over,.retreat-budget-panel .retreat-budget-row small.over{color:#7a1f28;font-weight:700}.retreat-budget-metrics small.over b{color:inherit;font-weight:700}.retreat-budget-metrics small.not-funded{grid-column:span 2;color:var(--retreat-muted);font-weight:600}.retreat-bill-row.is-overdue .flow-payee>span{color:#9b2c35;font-weight:600}.bill-check-in{display:grid;gap:8px;margin:4px 0 12px;padding:12px 14px;border:1px solid #e3c9a6;border-radius:10px;background:#fff8ee;color:#3d3222}.bill-check-in h3{display:flex;align-items:center;gap:8px;margin:0;font-size:.95rem}.bill-check-in p{margin:0;font-size:.8rem}.bill-check-in ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.bill-check-in li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding-top:8px;border-top:1px solid #efdcc0}.bill-check-in li>span:first-child{display:grid;min-width:0}.bill-check-in li small{color:#6b5a40}.bill-check-in-actions{display:flex;gap:6px}.bill-check-in-actions button{min-height:44px;padding:6px 12px}.bill-check-in-ask{flex-wrap:wrap;align-items:center;font-size:.85rem;font-weight:600}.bill-check-in-ask>span{flex-basis:100%}@media(min-width:640px){.bill-check-in-ask>span{flex-basis:auto}}.bill-check-in-all{justify-self:start;min-height:44px}[data-theme=dark] .bill-check-in{background:#2c2518;border-color:#5b4a30;color:#f3e7d2}[data-theme=dark] .bill-check-in li{border-color:#4a3d28}[data-theme=dark] .bill-check-in li small{color:#d9c7a8}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-budget-metrics small.over{color:#ffb4bb}.retreat-budget-month{margin-left:4px;color:var(--retreat-muted);font-family:var(--haven-interface-font);font-size:.75rem;white-space:nowrap}@media(max-width:599px){.retreat-budget-row{grid-template-columns:minmax(0,1fr);gap:4px}.retreat-budget-metrics{display:flex;flex-wrap:wrap;gap:1px 12px;text-align:left}.retreat-budget-metrics small{display:inline-flex;gap:4px}.retreat-budget-metrics b{display:inline;margin:0}.retreat-budget-panel .retreat-budget-row{padding:6px 0}.retreat-budget-row meter{margin-top:5px}.retreat-budget-panel .retreat-budget-metrics small.available{align-items:baseline;font-size:.95rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:normal}.retreat-budget-panel .retreat-budget-metrics small.available b{font-size:.72rem}.retreat-budget-main>strong{display:block;overflow-wrap:anywhere}}.retreat-budget-metrics b{display:block;margin-bottom:2px;font-size:.75rem;font-weight:600;color:var(--retreat-muted)}.retreat-budget-row meter{display:block;width:100%;height:7px;margin-top:10px;background:#e2e8e1;background:oklch(from #e2e8e1 l c var(--haven-style-hue, h));border:0;border-radius:3px;overflow:hidden}.retreat-budget-row meter::-webkit-meter-bar{background:#e2e8e1;background:oklch(from #e2e8e1 l c var(--haven-style-hue, h));border:0;height:7px}.retreat-budget-row meter::-webkit-meter-optimum-value{background:#7aa98c;background:oklch(from #7aa98c l c var(--haven-style-hue, h))}.retreat-budget-row meter::-moz-meter-bar{background:#7aa98c;background:oklch(from #7aa98c l c var(--haven-style-hue, h))}.retreat-empty{background:transparent;color:var(--retreat-muted);padding:10px 0;font-size:.8rem}.retreat-footer{display:flex;align-items:center;gap:8px;padding:20px 40px;color:var(--retreat-muted);font-family:var(--haven-display-font);font-size:.85rem}.retreat-footer span{margin-left:auto;font-style:italic}.retreat-footer nav{display:flex;gap:14px}.retreat-footer a{display:inline-flex;align-items:center;min-height:24px;color:inherit;text-underline-offset:3px}@media(hover:none)and (pointer:coarse){.retreat-footer nav{gap:4px}.retreat-footer a{display:inline-flex;align-items:center;min-height:44px;padding:0 8px}}.app-shell>main.haven-workspace.has-detail{padding:12px;overflow-x:clip}.drawer-resizer{display:none}@media(min-width:1000px){.app-shell>main.haven-workspace.has-detail{grid-template-columns:minmax(350px,var(--haven-width, 33%)) 20px minmax(360px,1fr);gap:0}.haven-workspace.has-detail>[role=alert]{grid-column:1 / -1}.haven-workspace.has-detail .detail-section{width:100%;border-left:0}.drawer-resizer{display:flex;align-items:center;justify-content:center;min-height:0;color:var(--retreat-muted);cursor:col-resize;touch-action:none;border-radius:4px}.drawer-resizer:hover,.drawer-resizer[data-dragging=true]{color:var(--retreat-ink);background:#789b8726}.drawer-resizer:focus-visible{outline:2px solid #77978b;outline:2px solid oklch(from #77978b l c var(--haven-style-hue, h));outline-offset:-2px}body:has(.drawer-resizer[data-dragging=true]){cursor:col-resize;-webkit-user-select:none;user-select:none}}.haven-workspace.has-detail .retreat-dashboard{display:flex;flex-direction:column;min-height:0;overflow:hidden}.has-detail .retreat-hero[data-working=true]{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(110px,1fr) auto auto;height:auto;min-height:100%;flex:1 1 auto;padding:18px;gap:12px}.has-detail .retreat-art{object-position:65% center}.has-detail .retreat-compact-weather,.has-detail .retreat-outlook{display:none}.has-detail .retreat-spending{grid-column:1;grid-row:2;align-self:auto;padding:12px 14px}.has-detail .retreat-daily{font-size:2.4rem;margin-top:6px}.has-detail .retreat-budget-panel{display:block;grid-column:1;grid-row:3;align-self:auto;max-height:min(45vh,420px);overflow-y:auto;scrollbar-gutter:stable;padding:12px 14px}.has-detail .retreat-budget-panel .retreat-budget-row{padding:6px 0}.has-detail .retreat-budget-panel .retreat-budget-row meter{margin-top:6px}.has-detail .retreat-budget-panel .retreat-budget-row{grid-template-columns:1fr;gap:6px}.has-detail .retreat-budget-panel .retreat-budget-metrics{grid-template-columns:repeat(2,minmax(0,1fr));text-align:left}.has-detail .retreat-ledgers,.has-detail .retreat-footer{display:none}@media(max-width:999px){.retreat-hero{grid-template-columns:minmax(260px,1fr) minmax(230px,.85fr);grid-template-rows:auto 1fr auto;height:auto;min-height:700px;padding:32px;gap:20px}.retreat-budget-panel{display:block;grid-column:2;grid-row:2}.retreat-outlook{grid-column:1 / -1;grid-row:3}.retreat-welcome{max-width:360px}.retreat-welcome h1{font-size:2.4rem}.retreat-ledgers{grid-template-columns:repeat(2,minmax(0,1fr));padding:20px 12px}.retreat-section:last-child{grid-column:1 / -1;border-top:1px solid var(--retreat-line);padding-top:14px}.retreat-section:nth-child(2){border-right:0}.haven-workspace.has-detail .retreat-dashboard{overflow:hidden}.has-detail .retreat-hero[data-working=true]{height:310px;min-height:310px;flex-basis:310px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(70px,1fr) auto;padding:10px}.has-detail .retreat-spending{grid-column:1;grid-row:2;align-self:end;padding:9px 10px}.has-detail .retreat-budget-panel{grid-column:2;grid-row:2;align-self:end;max-height:190px;padding:9px 10px}.has-detail .retreat-daily{font-size:1.8rem}.has-detail .retreat-label{gap:4px;font-size:.75rem}.has-detail .retreat-label>svg{display:none}.has-detail .retreat-budget-panel h2{font-size:.9rem}.has-detail .retreat-budget-panel .retreat-budget-row{padding:4px 0;font-size:.75rem}.has-detail .retreat-budget-panel .retreat-budget-row meter{display:none}}@media(max-width:599px){.retreat-hero{height:auto;min-height:570px;grid-template-columns:1fr;grid-template-rows:150px auto auto auto;gap:9px;padding:16px 12px 12px}.retreat-art{object-position:65% top}.retreat-environment{background:#e0e9df;background:oklch(from #e0e9df l c var(--haven-style-hue, h))}.retreat-environment:after{content:"";position:absolute;inset:0 0 auto;height:258px;pointer-events:none;background:linear-gradient(90deg,#f6faf0e8 0%,#f6faf08c 38%,transparent 75%)}.retreat-hero[data-night=true] .retreat-environment:after{background:linear-gradient(90deg,#0c1a19b3 0%,transparent 75%)}.retreat-welcome{grid-column:1;max-width:210px;padding:10px 4px 0}.retreat-welcome h1{font-size:1.8rem;max-width:195px;margin-block:7px}.retreat-welcome p{font-size:.78rem;max-width:165px;line-height:1.4}.retreat-eyebrow{font-size:.59rem}.retreat-controls{top:10px;right:10px;gap:3px}.retreat-controls,.retreat-water-message{z-index:2}.retreat-water-message{top:216px;left:16px;right:auto;font-size:.65rem;padding:6px 9px}.retreat-controls .icon-button{width:44px;height:44px}.retreat-spending{grid-column:1;grid-row:2;padding:10px 14px 12px}.retreat-spending,.retreat-outlook,.retreat-budget-panel{background:#eef0e5f0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-spending,.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-outlook,.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-budget-panel{background:#0f231ff0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.retreat-hero .haven-companion-float-zone{position:absolute;inset:0 0 auto;height:206px;z-index:2}.haven-garden-companion{width:72px;height:80px}.haven-companion-float-zone.is-plant .haven-garden-companion{width:78px;height:96px}.haven-companion-float-zone.is-small .haven-garden-companion{width:50px;height:56px}.haven-companion-float-zone.is-small.is-plant .haven-garden-companion{width:54px;height:66px}.haven-companion-panel{right:12px;bottom:max(84px,calc(env(safe-area-inset-bottom) + 72px));width:calc(100vw - 24px);max-height:calc(100dvh - 108px);padding:14px;-webkit-backdrop-filter:none;backdrop-filter:none}.retreat-daily{font-size:2.65rem}.retreat-caption{margin-top:2px}.retreat-outlook{grid-column:1;grid-row:4;padding:11px 13px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.retreat-budget-panel{display:block;grid-column:1;grid-row:3;padding:10px 13px}.retreat-weather{padding:0}.retreat-weather>span{font-size:.75rem;gap:5px}.retreat-weather>strong{font-size:1.15rem;margin:9px 0 0}.retreat-payday{border-top:0;border-left:1px solid var(--retreat-line);padding:0 0 0 12px;grid-template-columns:minmax(0,1fr);gap:5px}.retreat-payday>svg{display:none}.retreat-payday span small{font-size:.75rem}.retreat-ledgers{grid-template-columns:minmax(0,1fr);padding:6px 18px}.retreat-section{padding:14px 0;border-right:0;border-bottom:1px solid var(--retreat-line)}.retreat-section:last-child{border-top:0}.retreat-footer{padding:18px;flex-wrap:wrap}.retreat-footer span{flex-basis:100%;margin:0;font-size:.78rem}.retreat-footer nav{position:static;inset:auto;z-index:auto;flex-basis:100%;padding:4px 0 0;background:transparent;border:0;-webkit-backdrop-filter:none;backdrop-filter:none}.haven-workspace.has-detail .retreat-hero[data-working=true]{height:380px;min-height:380px;flex-basis:380px;display:grid;grid-template-columns:1fr;grid-template-rows:minmax(54px,1fr) auto auto;gap:8px;padding:8px}.has-detail .retreat-spending{width:auto;padding:7px 9px 9px;position:static;grid-column:1;grid-row:2}.has-detail .retreat-budget-panel{grid-column:1;grid-row:3;max-height:220px;padding:7px 9px}.has-detail .retreat-art{height:100%;object-position:62% center}.has-detail .retreat-caption{display:none}.has-detail .retreat-label .icon-button{width:44px;flex-basis:44px}.has-detail .retreat-controls{top:8px;right:8px}.has-detail .retreat-environment:after{display:none}.has-detail .retreat-water-message{top:62px;left:auto;right:8px;max-width:40%}}@media(max-width:719px){.haven-workspace.has-detail .retreat-dashboard{display:none}}[data-theme=dark]{--retreat-ink: #edf1e9;--retreat-muted: #bac8be;--retreat-line: #445449;--retreat-paper: #161d19;--retreat-glass: #1c2923e8}[data-theme=dark] .retreat-environment{background:#19241e;background:oklch(from #19241e l c var(--haven-style-hue, h))}[data-theme=dark] .retreat-environment:after{background:linear-gradient(90deg,#0c1a19b3 0%,transparent 75%)}[data-theme=dark] .app-shell>header .brand-button{color:#e6eee0}[data-theme=dark] .app-shell>header nav button.active{color:#e8f1e3;color:oklch(from #e8f1e3 l c var(--haven-style-hue, h));background:#354c3e;background:oklch(from #354c3e l c var(--haven-style-hue, h))}[data-theme=dark] .retreat-welcome{color:#f2f3df;text-shadow:0 1px 12px #101c1b;text-shadow:0 1px 12px oklch(from #101c1b l c var(--haven-style-hue, h))}[data-theme=dark] .retreat-welcome p{color:#dee5d8;color:oklch(from #dee5d8 l c var(--haven-style-hue, h))}[data-theme=dark] .retreat-spending,[data-theme=dark] .retreat-outlook,[data-theme=dark] .retreat-budget-panel{border-color:#ffffff9e;box-shadow:0 4px 16px #050d0a29}[data-theme=dark] .haven-companion-panel{color:#edf1e9;background:#192b23f7;border-color:#657b70;border-color:oklch(from #657b70 l c var(--haven-style-hue, h))}[data-theme=dark] .haven-garden-kicker,[data-theme=dark] .haven-companion-panel p,[data-theme=dark] .haven-companion-panel>small{color:#c4d4c7;color:oklch(from #c4d4c7 l c var(--haven-style-hue, h))}[data-theme=dark] .haven-companion-panel .haven-companion-optional{color:#b8c9c0;color:oklch(from #b8c9c0 l c var(--haven-style-hue, h));border-color:#4a5e54;border-color:oklch(from #4a5e54 l c var(--haven-style-hue, h))}[data-theme=dark] .haven-garden-watered{color:#b7d5c3;color:oklch(from #b7d5c3 l c var(--haven-style-hue, h))}[data-theme=dark] .haven-garden-dew{color:#c0d9cd;color:oklch(from #c0d9cd l c var(--haven-style-hue, h))}[data-theme=dark] .garden-market,[data-theme=dark] .garden-decorate,[data-theme=dark] .garden-walk,[data-theme=dark] .garden-keepsake-shelf{color:#edf3ef;color:oklch(from #edf3ef l c var(--haven-style-hue, h));background:#1d3029;background:oklch(from #1d3029 l c var(--haven-style-hue, h));border-color:#526b61;border-color:oklch(from #526b61 l c var(--haven-style-hue, h))}[data-theme=dark] .garden-decorate-layout{background:#263a32;background:oklch(from #263a32 l c var(--haven-style-hue, h));border-color:#486057;border-color:oklch(from #486057 l c var(--haven-style-hue, h))}[data-theme=dark] .garden-market-grid article{background:#263a32;background:oklch(from #263a32 l c var(--haven-style-hue, h));border-color:#486057;border-color:oklch(from #486057 l c var(--haven-style-hue, h))}[data-theme=dark] .garden-market-head p,[data-theme=dark] .garden-market-return,[data-theme=dark] .garden-market-grid small{color:#bfd0c7;color:oklch(from #bfd0c7 l c var(--haven-style-hue, h))}@media(max-width:600px){.garden-market,.garden-decorate,.garden-walk,.garden-keepsake-shelf{inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));padding:16px}.garden-market-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.garden-market-grid article{grid-template-columns:42px minmax(0,1fr);padding:8px}.garden-market-grid img{width:42px;height:42px}.garden-decorate-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.garden-feelings{grid-template-columns:repeat(3,minmax(0,1fr))}.garden-keepsake-groups section>div{grid-template-columns:1fr}}[data-theme=dark] .retreat-controls .icon-button,[data-theme=dark] .retreat-water-message{color:#e5ebd9;background:#25382dd9;border-color:#90a58a50}[data-theme=dark] .retreat-label .icon-button{color:#856931}[data-theme=dark] .retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-label .icon-button{color:#f0d58f}@media(prefers-reduced-motion:reduce){.retreat-art,.retreat-light,.retreat-water{animation:none!important;transition:none!important;transform:none!important;scale:1!important}}.retreat-hero:not(.has-detail .retreat-hero) .retreat-budget-panel{max-height:min(56vh,520px);overflow-y:auto;scrollbar-gutter:stable}@media(min-height:560px){.retreat-hero:not(.has-detail .retreat-hero) .retreat-budget-panel{max-height:min(calc(56vh + 76px),596px)}}.haven-garden-companion-idle>img:first-child{transition:rotate .25s ease}.haven-garden-companion.is-facing-left .haven-garden-companion-idle>img:first-child{rotate:y 180deg}.haven-garden-companion-idle>img:first-child{animation:companion-breathe 3.2s ease-in-out infinite;transform-origin:center bottom}.haven-garden-companion.is-sleepy .haven-garden-companion-idle{animation:none}.haven-garden-companion.is-sleepy .haven-garden-companion-idle>img:first-child{animation:companion-sleep-breathe 4.6s ease-in-out infinite;filter:saturate(.9)}.haven-garden-companion.is-yawn .haven-garden-companion-idle{animation:companion-yawn 1.8s ease-in-out;transform-origin:center bottom}.haven-garden-companion.is-hop .haven-garden-companion-idle{animation:companion-hop .5s ease-out 2;transform-origin:center bottom}.haven-garden-companion.is-bounce .haven-garden-companion-idle{animation:companion-bounce .7s cubic-bezier(.3,1.4,.5,1) 2;transform-origin:center bottom}.haven-garden-companion.is-plant .haven-garden-companion-idle>img:first-child{animation:companion-sway 3.8s ease-in-out infinite}.haven-garden-companion.is-fish.is-swim .haven-garden-companion-idle{animation:companion-swim .55s ease-in-out 3}.haven-garden-companion{transition:left 1.6s ease-in-out,top 1.6s ease-in-out}.haven-garden-companion.is-dragging{transition:none}.haven-companion-zzz{position:absolute;top:-4px;right:4px;display:flex;gap:1px;color:#5a6f86;font:700 .72rem/1 var(--haven-interface-font, sans-serif);pointer-events:none}.haven-companion-zzz i{font-style:normal;opacity:0;animation:companion-zzz 3s ease-in-out infinite}.haven-companion-zzz i:nth-child(2){animation-delay:.8s;font-size:.85rem}.haven-companion-zzz i:nth-child(3){animation-delay:1.6s;font-size:1rem}.haven-companion-bubbles{position:absolute;top:18%;left:42%;width:30%;height:40%;pointer-events:none}.haven-companion-bubbles i{position:absolute;bottom:0;width:6px;height:6px;border:1px solid rgb(255 255 255 / 85%);border-radius:50%;background:#d6f0ff73;opacity:0;animation:companion-bubble 2.6s ease-in infinite}.haven-companion-bubbles i:nth-child(2){left:40%;width:4px;height:4px;animation-delay:.9s}.haven-companion-bubbles i:nth-child(3){left:75%;width:5px;height:5px;animation-delay:1.7s}.haven-companion-yawn{position:absolute;top:-2px;left:50%;transform:translate(-50%);padding:1px 6px;color:#6f5a41;background:#fff9f0e0;border-radius:9px;font:600 .62rem/1.4 var(--haven-interface-font, sans-serif);animation:garden-reaction-pop .25s ease-out;pointer-events:none}@keyframes companion-breathe{0%,to{scale:1 1}50%{scale:1.015 1.03}}@keyframes companion-sleep-breathe{0%,to{scale:1.02 .96}50%{scale:1.035 .99}}@keyframes companion-yawn{0%,to{transform:scale(1)}30%{transform:scaleX(.97) scaleY(1.06) rotate(-2deg)}60%{transform:scaleX(1.04) scaleY(.95) rotate(1deg)}}@keyframes companion-hop{0%,to{transform:translateY(0) scale(1)}20%{transform:translateY(2px) scale(1.05,.93)}55%{transform:translateY(-14px) scale(.96,1.05)}}@keyframes companion-bounce{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(0) scale(1.06,.9)}65%{transform:translateY(-10px) scale(.96,1.06)}}@keyframes companion-sway{0%,to{rotate:-1.5deg}50%{rotate:1.5deg}}@keyframes companion-zzz{0%{opacity:0;transform:translateY(4px)}30%{opacity:1}to{opacity:0;transform:translate(6px,-14px)}}@keyframes companion-bubble{0%{opacity:0;transform:translateY(0) scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-38px) scale(1.1)}}@media(prefers-reduced-motion:reduce){.haven-garden-companion,.haven-garden-companion-idle,.haven-garden-companion-idle>img:first-child,.haven-companion-zzz i,.haven-companion-bubbles i{animation:none!important;transition:none!important}.haven-companion-zzz i{opacity:.8}}.retreat-budget-panel{container:budget-panel / inline-size}@container budget-panel (max-width: 540px){.retreat-budget-panel .retreat-budget-row{grid-template-columns:minmax(0,1fr);gap:6px}.retreat-budget-panel .retreat-budget-metrics{text-align:left}}@container budget-panel (max-width: 340px){.retreat-budget-panel .retreat-budget-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.retreat-budget-panel .section-heading{flex-wrap:nowrap;align-items:flex-start}.retreat-budget-panel h2{flex-wrap:wrap;row-gap:0;min-width:0}.retreat-budget-panel .retreat-budget-month{margin-left:0}}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.retreat-spending,.retreat-outlook,.retreat-budget-panel{--retreat-glass: rgb(251 250 244 / 97%)}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) :is(.retreat-spending,.retreat-outlook,.retreat-budget-panel){--retreat-glass: rgb(15 35 31 / 96%)}}@media(min-width:720px)and (max-width:999px)and (min-height:856px)and (max-height:1040px){.has-detail .retreat-hero[data-working=true]{height:236px;min-height:236px;flex-basis:236px;grid-template-rows:minmax(0,1fr) auto}.has-detail .retreat-caption{display:none}.has-detail .retreat-budget-panel{max-height:150px}.has-detail .retreat-controls{top:8px;right:10px}}@media(min-width:720px)and (max-width:999px)and (max-height:855px){.app-shell>main.haven-workspace.has-detail{padding:8px;gap:8px}.has-detail .retreat-hero[data-working=true]{height:60px;min-height:60px;flex-basis:60px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;padding:4px 164px 4px 8px}.has-detail .retreat-budget-panel,.has-detail .retreat-caption{display:none}.has-detail .retreat-spending{grid-row:1;align-self:center;justify-self:start;display:flex;align-items:center;gap:12px;max-width:100%;min-width:0;min-height:50px;padding:2px 6px 2px 12px}.has-detail .retreat-label{flex:none;gap:2px;font-size:.8rem}.has-detail .retreat-daily{flex:none;font-size:1.45rem;line-height:1.1;margin-top:0;overflow-wrap:normal;white-space:nowrap}.has-detail .retreat-shortfall{flex:none;min-height:44px;white-space:nowrap}.has-detail .retreat-controls{top:8px;right:8px}.has-detail .retreat-water-message{top:8px;right:164px}}.retreat-outlook>.retreat-payday:first-child{border-top:0;padding-top:0}@media(max-width:599px){.retreat-outlook>.retreat-payday:first-child{grid-column:1 / -1;border-left:0;padding-left:0}}.retreat-daily{margin-top:.3em;line-height:1.2}.retreat-label{position:relative;z-index:1}.retreat-hero:not(.has-detail .retreat-hero) .retreat-outlook{grid-column:1;grid-row:2}.retreat-hero:not(.has-detail .retreat-hero) .retreat-budget-panel{grid-column:2 / -1;grid-row:2}@media(min-width:600px)and (max-width:859px){.retreat-hero:not(.has-detail .retreat-hero) .retreat-budget-panel{grid-column:1 / -1;grid-row:2}.retreat-hero:not(.has-detail .retreat-hero) .retreat-outlook{grid-column:1 / -1;grid-row:3}}@media(max-width:599px){.retreat-hero:not(.has-detail .retreat-hero) .retreat-budget-panel{grid-column:1;grid-row:2}.retreat-hero:not(.has-detail .retreat-hero) .retreat-outlook{grid-column:1;grid-row:3}}.retreat-unassigned,.retreat-goal-prompt{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin:10px 0 0;padding-top:10px;border-top:1px solid rgb(23 54 47 / 14%);color:var(--retreat-ink);font-size:.85rem}.retreat-unassigned strong{font-variant-numeric:tabular-nums}.retreat-unassigned.is-short strong{color:#7a1f28}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) .retreat-unassigned.is-short strong{color:#ffb4bb}.retreat-unassigned.is-short>span{flex:1 1 220px}.retreat-bill-row.is-payday>strong:last-child{color:#23634c;color:oklch(from #23634c l c var(--haven-style-hue, h))}[data-theme=dark] .retreat-bill-row.is-payday>strong:last-child{color:#9fd4b8}.retreat-hero:is([data-custom-tone=dark],[data-night=true]:not([data-custom-tone=light])) :is(.retreat-unassigned,.retreat-goal-prompt){border-color:#ffffff3d}:is(.retreat-unassigned,.retreat-goal-prompt) button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:6px 12px;font-size:.82rem}.retreat-budget-row.is-goal .retreat-budget-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.retreat-goal-status{grid-column:1 / -1;font-size:.8125rem;line-height:1.35}.haven-garden-companion.is-flier:not(.is-sleepy) .haven-garden-companion-idle>img:first-child{animation:companion-wing-beat 1.8s ease-in-out infinite;transform-origin:center}.haven-garden-companion.is-flier:not(.is-sleepy):not(.is-delighted):not(.is-stretch) .haven-garden-companion-idle{animation:companion-hover 4.2s ease-in-out infinite}.haven-garden-companion.is-flutter{transition:left 6s ease-in-out,top 6s ease-in-out}.haven-garden-companion.is-flier.is-flutter:not(.is-delighted) .haven-garden-companion-idle{animation:companion-drift 2s ease-in-out infinite}@keyframes companion-wing-beat{0%,to{scale:1 1}50%{scale:.95 1.01}}@keyframes companion-hover{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-5px) rotate(1.5deg)}}@keyframes companion-drift{0%,to{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-9px) rotate(2deg)}}@media(prefers-reduced-motion:reduce){.haven-garden-companion.is-flier .haven-garden-companion-idle,.haven-garden-companion.is-flier .haven-garden-companion-idle>img:first-child{animation:none!important;transition:none!important}}.assistant-scrim{position:fixed;inset:0;z-index:40;display:grid;place-items:start center;padding:max(16px,8vh) 16px 16px;background:#162a2247;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.quick-add-panel{width:min(720px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:18px;color:#213a31;color:oklch(from #213a31 l c var(--haven-style-hue, h));background:#fbfaf3;border:1px solid #d0dbcf;border:1px solid oklch(from #d0dbcf l c var(--haven-style-hue, h));border-radius:8px;box-shadow:0 20px 60px #1a31273d}.quick-add-panel>header,.ask-sage-panel>header{display:flex;align-items:center;gap:12px}.quick-add-panel>header>div{flex:1}.quick-add-panel>header>.unified-sage-avatar{width:44px;height:44px;object-fit:cover;border:1px solid #cfbe8e;border-radius:50%}.assistant-kicker,.ask-sage-panel header span,.assistant-confirmation-title span,.assistant-clarification span,.sage-answer>span{display:block;color:var(--haven-muted, #5d7468);color:var(--haven-muted, oklch(from #5d7468 l c var(--haven-style-hue, h)));font-size:.68rem;text-transform:uppercase}.quick-add-panel h2,.ask-sage-panel h2{margin:2px 0 0;font:400 1.45rem var(--haven-display-font)}.quick-add-input{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text go";gap:8px;margin-top:18px}.quick-add-input>label{grid-area:text}.quick-add-input>button{grid-area:go}.quick-add-input:has(.voice-entry){grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"voice text go" "note note note"}.quick-add-input>.voice-entry{display:contents}.quick-add-input>.voice-entry>button{grid-area:voice;white-space:nowrap}.quick-add-input>.voice-entry>small{grid-area:note}@media(max-width:719px){.quick-add-input:has(.voice-entry){grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"text go" "voice voice" "note note"}.quick-add-input>.voice-entry>button{min-height:44px;justify-content:center}}.quick-add-input>label{position:relative;display:flex;align-items:center;gap:8px;min-width:0;padding:8px 10px;background:#fff;border:1px solid #aebdb5;border:1px solid oklch(from #aebdb5 l c var(--haven-style-hue, h));border-radius:6px}.quick-add-input textarea{width:100%;min-width:0;resize:vertical;border:0;outline:0;color:inherit;background:transparent}.quick-add-input .listening{background:#7a6040}.voice-entry{display:grid;gap:4px;max-width:220px}.voice-entry>small{color:var(--haven-muted, #64776d);color:var(--haven-muted, oklch(from #64776d l c var(--haven-style-hue, h)));font-size:.58rem;line-height:1.35}.quick-add-choices,.sage-question-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.quick-add-choices>span{flex:0 0 100%;color:var(--haven-muted, #64776d);color:var(--haven-muted, oklch(from #64776d l c var(--haven-style-hue, h)));font-size:.7rem}.quick-add-choices button,.sage-question-chips button{min-height:38px;padding:7px 10px;font-size:.72rem}.assistant-clarification,.assistant-confirmation{margin-top:18px;padding:16px;background:#edf3eec2;border:1px solid var(--haven-hairline, #cad8cf);border:1px solid var(--haven-hairline, oklch(from #cad8cf l c var(--haven-style-hue, h)));border-radius:7px}.assistant-clarification{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px}.assistant-clarification img,.assistant-confirmation img,.ask-sage-panel header img{width:44px;height:44px;object-fit:cover;border:1px solid #cfbe8e;border-radius:50%}.assistant-clarification h3,.assistant-confirmation h3{margin:3px 0 10px;font:400 1.05rem var(--haven-display-font)}.assistant-clarification div>div{display:flex;flex-wrap:wrap;gap:7px}.assistant-confirmation-title{display:flex;align-items:center;gap:11px}.assistant-confirmation dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;margin:14px 0;border-block:1px solid var(--haven-hairline, #cad8cf);border-block:1px solid var(--haven-hairline, oklch(from #cad8cf l c var(--haven-style-hue, h)))}.assistant-confirmation dl div{padding:10px 8px 10px 0}.assistant-confirmation dt{color:var(--haven-muted, #64776d);color:var(--haven-muted, oklch(from #64776d l c var(--haven-style-hue, h)));font-size:.66rem}.assistant-confirmation dd{margin:3px 0 0;font-size:.84rem;font-weight:600}.assistant-confirm-actions{display:flex;flex-wrap:wrap;gap:8px}.assistant-recurrence{display:grid;gap:10px;margin:0 0 14px;padding:12px;background:#ffffff8c;border:1px solid var(--haven-hairline, #cad8cf);border:1px solid var(--haven-hairline, oklch(from #cad8cf l c var(--haven-style-hue, h)))}.assistant-recurrence>small,.assistant-recurrence-summary{color:var(--haven-muted, #5d7468);color:var(--haven-muted, oklch(from #5d7468 l c var(--haven-style-hue, h)));font-size:.7rem}.assistant-recurrence-summary{margin:-5px 0 12px}.assistant-recurrence .checkbox-label{display:flex;align-items:center;gap:10px;min-height:44px}.assistant-error{color:#873f47}.assistant-saved{color:#2f7358;color:oklch(from #2f7358 l c var(--haven-style-hue, h))}.quick-add-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;margin:14px 0 0}.quick-add-footer .assistant-privacy{margin:0}.quick-add-footer .quick-add-to-form{font-size:.82rem}.assistant-privacy{margin:14px 0 0;color:var(--haven-muted, #64776d);color:var(--haven-muted, oklch(from #64776d l c var(--haven-style-hue, h)));font-size:.66rem}.ask-sage-panel{position:fixed;z-index:30;right:18px;bottom:18px;width:min(430px,calc(100vw - 32px));max-height:min(620px,calc(100dvh - 32px));overflow:auto;padding:16px;color:#213a31;color:oklch(from #213a31 l c var(--haven-style-hue, h));background:#fbfaf3;border:1px solid #d0dbcf;border:1px solid oklch(from #d0dbcf l c var(--haven-style-hue, h));border-radius:8px;box-shadow:0 18px 48px #1a31273d}.ask-sage-panel>header>div{flex:1}.sage-answer{margin-top:14px;padding:13px;background:#edf3ed;background:oklch(from #edf3ed l c var(--haven-style-hue, h));border-left:3px solid #71947d;border-left:3px solid oklch(from #71947d l c var(--haven-style-hue, h))}.sage-answer p{margin:5px 0;font-size:.82rem;line-height:1.5}.sage-answer-action{min-height:38px;padding:7px 0;color:#285a48;color:oklch(from #285a48 l c var(--haven-style-hue, h));background:transparent}.ask-sage-panel>form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:start;gap:7px;margin-top:14px}.ask-sage-panel .voice-entry{max-width:170px}.ask-sage-panel>form input{width:100%;padding:9px 10px;color:inherit;background:#fff;border:1px solid #aebdb5;border:1px solid oklch(from #aebdb5 l c var(--haven-style-hue, h))}.ask-sage-trigger img{width:24px;height:24px;border-radius:50%;object-fit:cover}.quick-add-nav{background:#1f5b4e;background:oklch(from #1f5b4e l c var(--haven-style-hue, h));color:#fff}.unified-sage-trigger img{width:26px;height:26px;border-radius:50%;object-fit:cover;border:1px solid rgb(255 255 255 / 55%)}.cadence-picker{position:relative;display:grid;gap:4px}.cadence-picker>label{display:grid;gap:4px}.cadence-picker>small{color:var(--haven-muted, #5d7468);color:var(--haven-muted, oklch(from #5d7468 l c var(--haven-style-hue, h)));font-size:.7rem}.cadence-popover{position:absolute;z-index:3;top:calc(100% + 5px);left:0;width:min(280px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;background:#fbfaf3;border:1px solid #bdcbc1;border:1px solid oklch(from #bdcbc1 l c var(--haven-style-hue, h));border-radius:7px;box-shadow:0 12px 28px #1a31272e}.cadence-popover header{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:8px}.cadence-popover button:not(.icon-button){min-height:38px;padding:7px;font-size:.72rem}@media(min-width:720px){.header-actions .quick-add-desktop,.header-actions .ask-sage-trigger{min-height:38px;padding:6px 10px;gap:6px;font-size:.82rem}.header-actions .quick-add-desktop svg{width:18px;height:18px}.header-actions .ask-sage-trigger img{width:21px;height:21px}}[data-theme=dark] .quick-add-panel,[data-theme=dark] .ask-sage-panel{color:#e8eee8;color:oklch(from #e8eee8 l c var(--haven-style-hue, h));background:#242d27;background:oklch(from #242d27 l c var(--haven-style-hue, h));border-color:#50604e;border-color:oklch(from #50604e l c var(--haven-style-hue, h))}[data-theme=dark] .assistant-clarification,[data-theme=dark] .assistant-confirmation,[data-theme=dark] .sage-answer{background:#2d3931;background:oklch(from #2d3931 l c var(--haven-style-hue, h));border-color:#536558;border-color:oklch(from #536558 l c var(--haven-style-hue, h))}[data-theme=dark] .assistant-recurrence,[data-theme=dark] .cadence-popover{background:#242d27;background:oklch(from #242d27 l c var(--haven-style-hue, h));border-color:#536558;border-color:oklch(from #536558 l c var(--haven-style-hue, h))}[data-theme=dark] .quick-add-input>label,[data-theme=dark] .ask-sage-panel input{color:#e8eee8;color:oklch(from #e8eee8 l c var(--haven-style-hue, h));background:#1c241f;background:oklch(from #1c241f l c var(--haven-style-hue, h));border-color:#536558;border-color:oklch(from #536558 l c var(--haven-style-hue, h))}@media(max-width:719px){.assistant-scrim{align-items:end;padding:0}.quick-add-panel{max-height:calc(100dvh - 72px - env(safe-area-inset-bottom));padding:16px 14px calc(18px + env(safe-area-inset-bottom));border-radius:8px 8px 0 0}.quick-add-input{grid-template-columns:1fr auto}.quick-add-input>button:first-child{grid-column:1 / -1}.quick-add-input>.voice-entry{grid-column:1 / -1;max-width:none}.quick-add-input>label{min-height:58px}.ask-sage-panel{position:relative;right:auto;bottom:auto;width:calc(100% - 16px);max-height:none;margin:8px 8px calc(84px + env(safe-area-inset-bottom));scroll-margin-bottom:calc(84px + env(safe-area-inset-bottom))}.ask-sage-trigger span{display:none}.ask-sage-panel>form{grid-template-columns:minmax(0,1fr) auto}.ask-sage-panel .voice-entry{grid-column:1 / -1;max-width:none}}@media(prefers-reduced-motion:reduce){.assistant-scrim,.quick-add-panel,.ask-sage-panel{scroll-behavior:auto}}.assistant-draft-details dd{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.assistant-edit{display:flex;align-items:center;gap:2px;margin:0;width:100%;font-weight:600}.assistant-edit input,.assistant-edit select{min-height:36px;padding:4px 8px;border:1px solid var(--haven-style-line);border-radius:6px;background:transparent;font:inherit;font-weight:600;flex:1;min-width:0;width:100%}.assistant-draft-details small{color:var(--haven-muted, #5d6b66);font-weight:400}.assistant-amount-answer{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.assistant-amount-answer input{width:9em;min-height:40px}.assistant-direction{display:inline-flex;border:1px solid var(--haven-style-line, #cfdad5);border-radius:999px;overflow:hidden}.assistant-direction label{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;cursor:pointer;font-weight:600}.assistant-direction label.is-selected{background:var(--haven-style-accent, #1f5b4d);color:#fff}.assistant-direction input{position:absolute;opacity:0;width:1px;height:1px}.assistant-direction label:has(input:focus-visible){outline:2px solid var(--haven-style-accent, #1f5b4d);outline-offset:-2px}.quick-add-discard{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:8px 0;padding:10px 12px;border-left:4px solid #b78b31;border-radius:6px;background:var(--haven-surface, #fffef9);color:#6d531b}.quick-add-discard p{margin:0}.quick-add-discard div{display:flex;gap:8px}.quick-add-overspend{display:block;margin-top:4px;color:#6d531b}.sage-follow-ups{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.settings-page{--settings-line: var(--haven-hairline, var(--haven-style-line));--settings-focus: var(--haven-accent-text, var(--haven-style-accent));--settings-accent-text: var(--haven-accent-text, var(--haven-style-accent));display:grid;gap:14px;max-width:760px;color:var(--haven-style-ink)}:where(.settings-page) p{color:var(--haven-muted)}.settings-page :is(.settings-accordion-title,.settings-bottom-text h2,.settings-setup-text h2){font-family:var(--haven-interface-font)}.settings-setup-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 14px;border:1px solid var(--haven-style-line);border-radius:12px;background:var(--haven-style-soft)}.settings-setup-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--haven-style-accent);color:#fff}.settings-setup-text h2{margin:0;font-size:1rem;font-weight:700;color:var(--haven-style-ink)}.settings-setup-text p{margin:2px 0 0;font-size:.85rem}.settings-setup-action{gap:8px;white-space:nowrap}.settings-sections{border-top:1px solid var(--settings-line)}.settings-accordion{border-bottom:1px solid var(--settings-line)}.settings-accordion-heading{margin:0;font-size:inherit}.settings-accordion-trigger{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:4px 12px;width:100%;min-height:56px;padding:10px 6px;color:var(--haven-style-ink);background:transparent;border:0;border-radius:8px;font:inherit;text-align:left;cursor:pointer}.settings-accordion-trigger:hover{background:var(--haven-style-soft)}.settings-accordion-trigger:focus-visible{outline:3px solid var(--settings-focus);outline-offset:2px}.settings-accordion-icon{grid-column:1;grid-row:1;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:var(--settings-accent-text);background:var(--haven-style-soft);border:1px solid var(--haven-style-line)}.settings-accordion-text{grid-column:2;grid-row:1;display:grid;gap:1px;min-width:0}.settings-accordion-title{font-size:1.02rem;font-weight:700;line-height:1.3}.settings-accordion-description{color:var(--haven-muted);font-size:.85rem;line-height:1.35}.settings-accordion-badge{grid-column:3;grid-row:1;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;color:var(--haven-style-ink);background:var(--haven-style-soft);border:1px solid var(--haven-style-line);border-radius:999px;font-size:.75rem;font-weight:700;white-space:nowrap}.settings-accordion-chevron{grid-column:4;grid-row:1;color:var(--settings-accent-text);transition:transform .16s ease}.settings-accordion-trigger[aria-expanded=true] .settings-accordion-chevron{transform:rotate(180deg)}.settings-accordion-panel{padding:4px 6px 22px}.settings-accordion-panel[hidden]{display:none}.settings-accordion-panel>*{max-width:100%;min-width:0}@media(prefers-reduced-motion:reduce){.settings-accordion-chevron,.settings-accordion-panel details>summary:after{transition:none}}@media(max-width:560px){.settings-accordion-trigger{grid-template-columns:auto minmax(0,1fr) auto;padding-inline:4px}.settings-accordion-chevron{grid-column:3}.settings-accordion-badge{grid-column:2;grid-row:2;justify-self:start;margin-top:4px}.settings-setup-row{grid-template-columns:auto minmax(0,1fr)}.settings-setup-action{grid-column:1 / -1;justify-self:stretch}}.settings-subheading{margin:20px 0 6px;font-size:.95rem;color:var(--haven-style-ink)}.settings-sample-note{display:grid;gap:8px;padding:12px 14px;border:1px solid var(--haven-style-line);border-radius:10px;background:var(--haven-style-soft)}.settings-sample-note p{margin:0}.settings-page :is(.link-button,.auth-text-action){color:var(--settings-accent-text)}.settings-accordion-panel .profile-settings{padding:0;margin:0;border:0}.profile-form{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:0;padding:4px 0 0;border-block:0}.profile-field{display:grid;gap:5px;align-content:start;min-width:0}.profile-form label{display:grid;gap:5px;color:var(--haven-style-ink);font-size:.85rem;font-weight:600}.profile-form small{color:var(--haven-muted);font-size:.75rem;font-weight:400}.profile-form .form-actions{grid-column:1 / -1}.profile-form .form-actions button{flex:0 0 auto;min-width:140px}.profile-form .profile-save-status{display:flex;align-items:center;gap:6px;min-height:22px;color:var(--haven-muted);font-size:.8rem}.profile-form .form-error{grid-column:1 / -1;margin:0;font-weight:700}@media(max-width:480px){.profile-form{grid-template-columns:1fr}.profile-form .form-actions button{flex:1 1 auto}}.settings-accordion-panel .account-security{margin:0}.account-signed-in{margin:0 0 6px;font-size:.9rem;overflow-wrap:anywhere}.account-security-message{margin:6px 0;padding:8px 10px;border-left:3px solid var(--haven-style-accent);background:var(--haven-style-soft);border-radius:6px}.settings-accordion-panel details>summary{list-style:none;display:flex;align-items:center;gap:8px;cursor:pointer}.settings-accordion-panel details>summary::-webkit-details-marker{display:none}.settings-accordion-panel details>summary:after{content:"";flex:none;width:8px;height:8px;margin:0 4px 3px auto;border-right:2px solid var(--settings-accent-text);border-bottom:2px solid var(--settings-accent-text);transform:rotate(45deg);transition:transform .16s ease}.settings-accordion-panel details[open]>summary:after{transform:rotate(-135deg);margin-bottom:-3px}.settings-accordion-panel details>summary:focus-visible{outline:3px solid var(--settings-focus);outline-offset:2px;border-radius:6px}.account-security details>summary{font-weight:600}.account-security details.delete-account{margin-top:14px;border-top:1px solid var(--settings-line)}.account-security details.delete-account>summary{color:#943e4b}[data-theme=dark] .account-security details.delete-account>summary{color:#f0a490}.sign-out-everywhere-confirm{display:grid;gap:8px;margin-top:8px;padding:10px 12px;border:1px solid var(--haven-style-line);border-radius:8px;background:var(--haven-style-soft)}.sign-out-everywhere-confirm p{margin:0}.settings-accordion-panel .plan-settings{gap:12px;padding:0;border:0}.settings-accordion-panel .early-adopter-plan-message{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:0;color:var(--haven-style-ink);background:none;border:0}.settings-accordion-panel .early-adopter-plan-message strong{display:inline;margin:0}.settings-accordion-panel .early-adopter-plan-sharing{margin:0;font-size:.9rem}.settings-accordion-panel .plan-badge{padding:4px 10px;color:var(--haven-style-ink);background:var(--haven-style-soft);border:1px solid var(--haven-style-line);border-radius:999px}.settings-accordion-panel .pricing-card{padding:14px;gap:8px}.settings-accordion-panel .pricing-card>header :is(h2,h3){font-size:1.1rem}.settings-accordion-panel .pricing-features{font-size:.85rem;gap:4px}.settings-accordion-panel .pricing-badge{color:var(--haven-style-ink);background:var(--haven-style-soft);border:1px solid var(--haven-style-line)}.settings-accordion-panel .pricing-soon{color:#fff;background:var(--haven-style-accent);border-color:var(--haven-style-accent)}.settings-accordion-panel .pricing-early-adopter{font-size:.9rem}.settings-accordion-panel .plan-current{color:var(--haven-muted)}.settings-accordion-panel :is(.plan-options,.billing-intervals) button.active{background:var(--haven-style-accent);border-color:var(--haven-style-accent);color:#fff}.sharing-settings{display:grid;gap:12px}.sharing-settings>p{margin:0}.sharing-settings .settings-subheading{margin:8px 0 0}.sharing-allowance{padding:10px 12px;border-left:3px solid var(--haven-style-accent);border-radius:6px;background:var(--haven-style-soft);color:var(--haven-style-ink)}.sharing-allowance.is-closed{border-left-color:var(--haven-style-highlight)}.two-step-needed{display:flex;align-items:flex-start;gap:8px;margin:0;padding:10px 12px;border:1px solid var(--haven-style-line);border-left:3px solid var(--haven-style-highlight);border-radius:8px;background:var(--haven-style-soft);color:var(--haven-style-ink)}.two-step-needed svg{flex:none;margin-top:2px;color:var(--settings-accent-text)}.family-garden-setting{background:var(--haven-style-soft);border-color:var(--haven-style-line)}.family-garden-setting small{color:var(--haven-muted)}.sharing-invite{display:grid;gap:10px}.sharing-invite-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;margin:0;padding:0;border:0}.sharing-invite-fields:disabled{opacity:.6}.sharing-invite-fields>label{display:grid;gap:6px;align-content:start;font-size:.85rem;font-weight:600}.sharing-invite-fields input:not([type=checkbox]),.sharing-invite-fields select{width:100%;min-width:0}.sharing-invite-fields>:is(.role-help,.sharing-your-name,.permission-fieldset,button){grid-column:1 / -1}.sharing-invite-fields>button{justify-self:start}.role-help{margin:-4px 0 0;font-size:.85rem}.two-step-note{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;font-size:.85rem}.two-step-note svg{flex:none;color:var(--settings-accent-text)}.permission-fieldset{min-width:0;margin:0;padding:0;border:0}.permission-fieldset legend{padding:0 0 4px;font-size:.85rem;font-weight:700;color:var(--haven-style-ink)}.permission-hint{margin:0 0 8px;font-size:.8rem}.permission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:8px}.permission-option{display:flex;align-items:flex-start;gap:10px;min-height:44px;padding:8px 10px;border:1px solid var(--settings-line);border-radius:8px;cursor:pointer}.permission-option:has(input:checked){border-color:var(--haven-style-accent);background:var(--haven-style-soft)}.permission-option input[type=checkbox]{flex:none;width:20px;height:20px;min-height:0;margin:2px 0 0;accent-color:var(--haven-style-accent)}.permission-option>span{display:grid;gap:1px;min-width:0}.permission-label{font-weight:600;font-size:.9rem}.permission-option small{color:var(--haven-muted);font-size:.75rem;line-height:1.3}.sharing-message{margin:0;font-weight:600}.invite-link{display:flex;align-items:center;gap:10px}.invite-link code{flex:1;overflow-wrap:anywhere}.sharing-members article{padding:10px 0;border-top:1px solid var(--settings-line)}.sharing-member-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.sharing-member-row>span{flex:1 1 200px;min-width:0;overflow-wrap:anywhere}.sharing-members details{margin-top:6px}.sharing-members details>summary{min-height:44px;font-weight:700}.sharing-members details>summary:after{margin-left:8px}.sharing-members small{color:var(--haven-muted)}.suggestion-queue article{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:8px 0;border-top:1px solid var(--settings-line)}.suggestion-queue article>div{display:flex;gap:8px}@media(max-width:560px){.sharing-invite-fields{grid-template-columns:1fr}.sharing-member-row,.invite-link{align-items:stretch;flex-direction:column}.sharing-invite-fields>button{justify-self:stretch}}.data-export-settings{display:grid}.data-export-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 20px;padding:12px 0;border-bottom:1px solid var(--settings-line)}.data-export-option:first-child{padding-top:0}.data-export-option h3{margin:0 0 3px;font-size:.95rem;color:var(--haven-style-ink)}.data-export-option p{max-width:60ch;margin:0;font-size:.85rem;line-height:1.45}.data-export-option button{min-width:230px}.data-export-status{margin:10px 0 0;font-weight:600}@media(max-width:560px){.data-export-option{grid-template-columns:1fr}.data-export-option button{width:100%;min-width:0}}.merchant-rules-settings,.merchant-rules-settings .muted{margin:0}.merchant-rule-add{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.merchant-rule-add label{color:var(--haven-style-ink);font-weight:600}.merchant-rule-add input{width:100%;min-width:0}.merchant-rule-incomplete{grid-column:1 / -1;color:var(--haven-muted)}.merchant-rules-empty{padding:10px 12px;border:1px dashed var(--haven-style-line);border-radius:8px}.merchant-rules-settings .form-error{margin:0;font-weight:700}@media(max-width:560px){.merchant-rule-add{grid-template-columns:1fr}}.settings-footer{display:grid;gap:0;margin-top:6px}.feedback-settings,.support-budgethaven,.policy-settings{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 16px;margin:0;padding:14px 0;color:var(--haven-style-ink);background:none;border:0;border-bottom:1px solid var(--settings-line);border-radius:0;box-shadow:none}.settings-bottom-text h2,.policy-settings h2{margin:0;font-size:1rem;font-weight:700;color:var(--haven-style-ink)}.settings-bottom-text p{max-width:62ch;margin:3px 0 0;font-size:.85rem;line-height:1.45}.feedback-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.feedback-actions :is(a,button),.support-budgethaven-action a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:0 15px;text-decoration:none}.feedback-status{grid-column:1 / -1;margin:0}.support-budgethaven-action{display:grid;justify-items:end;gap:4px}.support-budgethaven-action small{color:var(--haven-muted);font-size:.75rem}.policy-settings ul{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:2px 20px;margin:0;padding:0;list-style:none}.policy-settings h2{grid-column:1 / -1}.policy-settings a{display:inline-flex;align-items:center;min-height:28px;margin:0;color:var(--settings-accent-text);font-weight:600;text-underline-offset:3px}.settings-sign-out-row{padding:16px 0 4px}.settings-sign-out{min-height:44px}.settings-page :is(a,button):focus-visible{outline-color:var(--settings-focus)}@media(max-width:560px){.feedback-settings,.support-budgethaven{grid-template-columns:1fr}.feedback-actions{justify-content:stretch}.feedback-actions :is(a,button){flex:1 1 160px}.support-budgethaven-action{justify-items:stretch}.support-budgethaven-action small{text-align:left}.policy-settings ul{flex-direction:column}}.planning-notice{margin:8px 0 0;color:var(--haven-muted);font-size:.8rem;line-height:1.45;max-width:60ch}.auth-footer .planning-notice,.retreat-footer .planning-notice{flex-basis:100%;margin:0 0 4px}.undo-button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;white-space:nowrap}.undo-button[disabled]{opacity:.55;cursor:default}.undo-button:focus-visible{outline:2px solid currentColor;outline-offset:2px}.undo-live{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.undo-notice{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;padding:8px 12px;border:1px solid #c9a84c;border-radius:8px;background:#fff8e6;color:#3d3220;font-size:.875rem}.undo-notice>span{flex:1 1 240px}.undo-notice .icon-button{width:32px;height:32px;flex:0 0 32px}[data-theme=dark] .undo-notice{background:#3a3220;color:#f1e6c8;border-color:#9c7f2e}@media(max-width:479px),(min-width:720px)and (max-width:1099px),(min-width:1100px)and (max-width:1279px){.app-shell>header .undo-button{width:44px;padding:0;justify-content:center}.app-shell>header .undo-button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}}@media(prefers-reduced-motion:no-preference){.undo-button{transition:opacity .15s}}@media(pointer:coarse){:root :where(details)>:where(summary){min-height:44px;padding-block:10px;box-sizing:border-box}:root .account-name-button,:root .account-security summary{min-height:44px}:root .ledger-column-button{min-height:44px}:root .ledger-search input{min-height:44px}:root :is(.envelope-quick-actions,.envelope-secondary-actions,.savings-goal-status,.record-details-actions,.period-mode) button{min-height:44px}:root .bills-table :is(.bt-paychecks-link,.bt-category-button){min-width:44px;min-height:44px}:root :is(.savings-rate-controls .segmented,.example-rates) button{min-height:44px}:root .ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-actions .icon-button,:root .ledger-resource.ledger-bills .record-actions>button{flex-basis:44px;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px}:root .ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .ledger-details>summary{right:48px;width:44px;height:44px;min-height:44px;padding:0}:root .ledger-resource.ledger-transactions .ledger-details>summary{right:96px}:root .ledger-accounts .reconciliation-trigger{right:96px;width:44px;min-width:44px;height:44px;min-height:44px;padding:10px}:root .ledger-resource .record-summary .flow-category,:root .ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-category{min-height:44px;min-width:44px}:root .ledger-resource.ledger-transactions .record-summary.has-envelope-column.cash-flow-row .flow-envelope-cell select{min-height:44px}:root .retreat-footer nav{gap:4px}:root .retreat-footer a,:root .policy-settings a,:root .demo-header nav a,:root .demo-header .policy-brand,:root .sharing-invite .auth-text-action,:root .demo-save-note a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}:root .policy-settings a{margin-block:0}:root .demo-header{padding-block:6px}:root .demo-header nav{gap:0 6px}:root .demo-header nav a{padding-inline:4px}:root :is(.auth-public-nav,.auth-footer nav,.policy-header nav) a,:root .policy-brand,:root .policy-back{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}:root :is(.auth-public-nav,.auth-footer nav){gap:0 4px}:root :is(.auth-public-nav,.auth-footer nav) a{padding-inline:8px}:root :is(.auth-public-nav,.auth-footer nav) a:first-child{margin-left:-8px}:root .auth-footer{align-items:center;padding-block:12px}:root .policy-back{margin-bottom:30px}}@container (max-width: 560px){@media(pointer:coarse){:root .ledger-resource:is(.ledger-accounts,.ledger-transactions,.ledger-income,.ledger-bills) .record-summary .flow-payee{padding-right:92px;min-height:44px}:root .ledger-resource.ledger-accounts .record-summary .flow-payee{padding-right:140px}:root .ledger-resource.ledger-transactions .record-summary .flow-payee{padding-right:140px}:root .ledger-resource.ledger-bills .record-summary .flow-payee{padding-right:140px}:root .ledger-resource.ledger-transactions .ledger-details>summary{right:0}}}.app-error{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px;box-sizing:border-box}.app-error-card{max-width:440px;width:100%;padding:24px;border:1px solid var(--haven-hairline, #d7e1dc);border-radius:8px;background:var(--haven-surface, #fffef9);color:var(--haven-style-ink, #24433a)}.app-error-card h1{margin:0 0 8px;font-size:1.5rem}.app-error-card p{margin:0 0 16px;line-height:1.5}.app-error-actions{display:flex;flex-wrap:wrap;gap:10px}.app-error-actions a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border:1px solid var(--haven-hairline, #d7e1dc);border-radius:6px;color:inherit;text-decoration:none}
