
#budget-preview{padding:20px 0;font-family:Arial,sans-serif;color:#172b22}#budget-preview *{box-sizing:border-box}#budget-preview .phone{--brand:#00864d;max-width:390px;margin:auto;background:#effcf5;border:7px solid #1b211e;border-radius:38px;overflow:hidden;box-shadow:0 12px 32px #0002}#budget-preview header{padding:20px 18px 12px}#budget-preview .top,#budget-preview .line{display:flex;align-items:center;justify-content:space-between;gap:10px}#budget-preview .identity{display:flex;align-items:center;gap:10px}#budget-preview .logo{background:var(--brand);color:white;border-radius:14px;padding:10px}#budget-preview h2{font-size:17px;margin:0 0 4px;font-weight:700}#budget-preview small{font-size:12px;color:#647368}#budget-preview button,#budget-preview input,#budget-preview select{font:inherit}#budget-preview button{cursor:pointer;border:0;background:transparent;color:inherit;min-height:44px;border-radius:12px;padding:8px}#budget-preview button:focus-visible{outline:3px solid #6799c5;outline-offset:2px}#budget-preview .notice{text-align:center;font-size:11px;letter-spacing:.6px;color:#647368;margin-bottom:16px}#budget-preview main{padding:0 14px 14px;min-height:500px}#budget-preview .switch{display:flex;background:#e4ece2;border-radius:24px;padding:3px;gap:3px;margin:8px 0 16px}#budget-preview .switch button{flex:1;font-size:12px;min-height:38px;border-radius:20px}#budget-preview button.active,#budget-preview .save{background:var(--brand);color:#fff}#budget-preview .tile{background:#fff;border-radius:17px;padding:16px;margin:10px 0}#budget-preview .label{font-size:13px;margin-bottom:7px}#budget-preview .balance{font-size:31px;font-weight:700;letter-spacing:-1px}#budget-preview .positive{color:#087b42}#budget-preview .negative{color:#d52b50}#budget-preview .pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}#budget-preview .pair .tile{margin:0;padding:14px 10px}#budget-preview .pair strong{font-size:16px}#budget-preview h3{font-size:14px;margin:0 0 14px}#budget-preview .chart{display:flex;gap:18px;align-items:center}#budget-preview .ring{width:126px;height:126px;border-radius:50%;flex-shrink:0;display:grid;place-items:center}#budget-preview .hole{background:white;width:88px;height:88px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:13px;font-weight:700}#budget-preview .legend{flex:1;font-size:11px}#budget-preview .legend div{margin:11px 0;display:flex;gap:6px;align-items:center}#budget-preview .dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}#budget-preview .legend b{margin-left:auto}#budget-preview .row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #edf1eb}#budget-preview .row:last-child{border:0}#budget-preview .badge{background:#e1effc;color:#4d91bd;width:37px;height:37px;display:grid;place-items:center;border-radius:12px;flex-shrink:0}#budget-preview .row .desc{flex:1;min-width:0}#budget-preview .row strong{font-size:13px}#budget-preview .row small{display:block;margin-top:4px}#budget-preview .row .amount{font-size:13px;white-space:nowrap}#budget-preview nav{display:flex;align-items:center;justify-content:space-around;background:#fff;padding:6px 5px 14px;border-top:1px solid #e4ece2}#budget-preview nav button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;min-width:48px}#budget-preview nav .add{border-radius:50%;width:48px;height:48px;background:var(--brand);color:white;font-size:30px;justify-content:center}#budget-preview label{display:block;font-size:13px;margin:14px 0}#budget-preview input,#budget-preview select{display:block;width:100%;margin-top:7px;padding:12px;background:white;border:1px solid #dfe6dc;border-radius:12px;color:#172b22;font-size:16px}#budget-preview input[type=checkbox]{display:inline;width:20px;margin:0 10px 0 0;vertical-align:middle}#budget-preview .save{width:100%;margin-top:15px}#budget-preview .colors{display:flex;gap:12px}#budget-preview .colors button{width:48px;border:3px solid transparent}#budget-preview .colors button[aria-pressed=true]{border-color:#172b22}#budget-preview .hint{font-size:12px;color:#647368;line-height:1.5}#budget-preview .back{margin-bottom:6px}#budget-preview [hidden]{display:none!important}@media(max-width:360px){#budget-preview{padding:5px 0}#budget-preview .phone{border-width:3px}#budget-preview .chart{gap:10px}#budget-preview .ring{width:112px;height:112px}#budget-preview main{padding:0 10px 12px}}
#budget-preview .people-panel{background:#fff;border-radius:16px;padding:12px 8px 8px;margin-bottom:14px}#budget-preview .people-label{font-size:12px;padding:0 5px 5px}#budget-preview .people{display:flex;justify-content:space-between;gap:3px}#budget-preview .people button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:4px 2px;min-width:44px;flex:1;font-size:11px;background:transparent;color:#172b22}#budget-preview .avatar{display:grid;place-items:center;width:42px;height:36px;border-radius:22px;background:#edf2e9;font-size:26px;line-height:1}#budget-preview .people button.active .avatar{background:var(--brand);color:white;box-shadow:0 0 0 2px white,0 0 0 4px var(--brand)}#budget-preview .people button.active{font-weight:700}#budget-preview .people button[data-scope=all] .avatar{width:49px}#budget-preview .people button[data-scope=partner] .avatar{background:#e6eaf5}#budget-preview .people button[data-scope=ania] .avatar{background:#fae9df}#budget-preview .people button.active[data-scope] .avatar{background:var(--brand)}#budget-preview .people button[data-page=members] .avatar{font-size:24px;color:#647368;border:1px solid #dce6d8}#budget-preview .empty{padding:18px 0;font-size:13px;color:#647368}
#budget-preview .tile{box-shadow:0 3px 12px #00864d09}
#budget-preview .pair .tile:first-child{background:#d8fbe8}
#budget-preview .pair .tile:last-child{background:#ffe4ec}
#budget-preview .badge{background:#23a9ee;color:#fff}
#budget-preview .row:has([data-lucide="tv"]) .badge{background:#8854ef}
#budget-preview .row:has([data-lucide="house"]) .badge{background:#16b5a5}
#budget-preview .logo,#budget-preview nav .add,#budget-preview .save{box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 22%,transparent)}
#budget-preview nav button[aria-current="page"]{color:var(--brand);font-weight:700;background:#e3faed}
#budget-preview .people button[data-scope=me] .avatar{background:#dcf8e6}
#budget-preview .people button[data-scope=partner] .avatar{background:#dbeaff}
#budget-preview .people button[data-scope=ania] .avatar{background:#ffe0ec}
#budget-preview .people button.active[data-scope] .avatar{background:var(--brand)}
#budget-preview input[type=checkbox]{accent-color:var(--brand)}
#budget-preview .phone{background:var(--page-tint,#effcf5)}
#budget-preview .logo,#budget-preview .save,#budget-preview nav .add,#budget-preview .people button.active[data-scope] .avatar{color:var(--on-brand,#fff)}
#budget-preview nav button[aria-current="page"]{color:var(--brand-ink,#00864d);background:var(--soft-brand,#e3faed)}
#budget-preview .badge{background:var(--accent-color,#23a9ee);color:var(--on-accent,#fff)}
#budget-preview .palettes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#budget-preview .palettes button{padding:8px 3px;border:2px solid #e5eae7;min-width:0;font-size:11px;background:white;display:flex;flex-direction:column;gap:7px;align-items:center}
#budget-preview .palettes button[aria-pressed=true]{border-color:var(--brand-ink);background:var(--soft-brand)}
#budget-preview .swatches{display:flex;gap:3px}.swatches span{width:16px;height:22px;border-radius:6px}
#budget-preview .custom-colors{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#budget-preview input[type=color]{height:48px;width:100%;padding:4px}
#budget-preview .theme-sample{background:var(--page-tint);padding:12px;border-radius:12px;margin:14px 0}
#budget-preview .theme-sample strong{color:var(--brand-ink)}
#budget-preview details.tile{padding:10px 16px}
#budget-preview details summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;font-weight:700;cursor:pointer;list-style:none}
#budget-preview details summary::-webkit-details-marker{display:none}
#budget-preview details summary::after{content:'⌄';font-size:24px;font-weight:400;transform:rotate(0deg)}
#budget-preview details[open] summary::after{transform:rotate(180deg)}
#budget-preview details[open] summary{margin-bottom:12px}
#budget-preview input[type=month]{font-size:12px;padding:3px 0;border:0;background:transparent;margin:0;min-height:28px}
#budget-preview .choice-field{border:0;padding:0;margin:18px 0;min-width:0}
#budget-preview .choice-field legend{font-size:13px;margin-bottom:10px}
#budget-preview .choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
#budget-preview .choice-grid label{margin:0;text-align:center;position:relative;min-width:0}
#budget-preview .choice-grid input{position:absolute;width:1px;height:1px;opacity:0;padding:0;margin:0;pointer-events:none}
#budget-preview .choice-face{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:66px;border-radius:13px;font-size:12px;padding:8px 2px;border:1px solid transparent}
#budget-preview .choice-grid input:checked+.choice-face{background:var(--soft-brand);border-color:var(--brand-ink);color:var(--brand-ink);font-weight:700}
#budget-preview .choice-grid input:focus-visible+.choice-face{outline:3px solid #6799c5;outline-offset:2px}
#budget-preview .choice-grid input:disabled+.choice-face{opacity:.45}
#budget-preview .method .choice-face{background:#fff;border-color:#dfe6dc}
#budget-preview .person-picture{font-size:27px;line-height:32px;background:#fff;border-radius:50%;width:36px;height:36px}
#budget-preview .method .choice-face i,#budget-preview .method .choice-face svg{width:22px;height:22px;color:var(--brand-ink)}
#budget-preview #bp-more-people{font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:6px 0}
#budget-preview #bp-people-list{background:#fff;border-radius:12px;padding:8px;margin-top:8px}
#budget-preview #bp-people-list button{display:block;width:100%;text-align:left}
#budget-preview nav button{min-width:0;flex:1;padding:8px 2px}
#budget-preview nav .add{flex:0 0 44px;width:44px}
#budget-preview .category-button{width:100%;text-align:left;display:flex;align-items:center;gap:10px;border-bottom:1px solid #e7eee9;border-radius:0;padding:12px 0}
#budget-preview .category-button .desc{flex:1;min-width:0;overflow-wrap:anywhere}
#budget-preview .category-button small{display:block;margin-top:4px}
#budget-preview textarea{width:100%;min-height:120px;border:1px solid #dfe6dc;border-radius:12px;padding:12px;font:inherit;margin-top:8px;resize:vertical}
#budget-preview .stat-track{height:8px;background:#edf0ef;border-radius:6px;margin:8px 0 14px;overflow:hidden}
#budget-preview .stat-fill{height:100%;border-radius:6px}
#budget-preview .chart-month{margin:15px 0}
#budget-preview .bar-line{display:grid;grid-template-columns:15px minmax(0,1fr) 93px;gap:7px;align-items:center;margin-top:6px;font-size:11px}
#budget-preview .bar-line .stat-track{margin:0;height:10px}
#budget-preview .bar-line .value{text-align:right}
#budget-preview .analysis-label{font-size:12px;overflow-wrap:anywhere}
#budget-preview .analysis-legend{font-size:12px;margin-bottom:16px}
#budget-preview .analysis-donut{width:186px;height:186px;margin:8px auto 22px;border-radius:50%;display:grid;place-items:center}
#budget-preview .analysis-donut-center{width:122px;height:122px;border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;max-width:100%;padding:5px}
#budget-preview .analysis-donut-center strong{font-size:17px;max-width:112px;overflow-wrap:anywhere;text-align:center}
#budget-preview .donut-legend-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto 32px;gap:7px;align-items:center;margin:11px 0;font-size:11px}
#budget-preview .donut-legend-row .category-name{overflow-wrap:anywhere}
#budget-preview .donut-legend-row .percentage{text-align:right;color:#647368}
#budget-preview .analysis-legend{display:flex;gap:16px;justify-content:center;font-size:11px}
#budget-preview .analysis-legend span{display:flex;align-items:center;gap:5px}
#budget-preview .legend-square{width:9px;height:9px;border-radius:3px;display:inline-block}
#budget-preview .monthly-chart{display:grid;grid-template-columns:43px minmax(0,1fr);gap:6px;margin:16px 0}
#budget-preview .chart-axis{position:relative;height:145px;color:#647368;font-size:10px;text-align:right}
#budget-preview .chart-axis span{position:absolute;right:0;transform:translateY(50%)}
#budget-preview .column-months{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;background:repeating-linear-gradient(to top,transparent 0,transparent 71.5px,#eef1ef 71.5px,#eef1ef 72.5px);background-size:100% 145px;background-repeat:no-repeat}
#budget-preview .column-months .chart-month{display:block;margin:0;padding:0;min-width:0;border-radius:5px;min-height:170px}
#budget-preview .column-months .chart-month[aria-pressed=true]{background:var(--soft-brand)}
#budget-preview .column-pair{height:145px;display:flex;align-items:flex-end;justify-content:center;gap:3px;padding:0 2px}
#budget-preview .month-bar{width:11px;max-width:42%;border-radius:4px 4px 0 0;display:block}
#budget-preview .month-name{display:block;font-size:11px;color:#647368;margin-top:8px}
#budget-preview .month-detail{font-size:12px;line-height:1.6;color:#506258;min-height:40px;margin-top:10px}
#budget-preview .subcategory-entry{display:flex;align-items:center;gap:8px;margin-bottom:10px}
#budget-preview .subcategory-entry input{margin:0;min-width:0;flex:1}
#budget-preview .subcategory-entry button{flex-shrink:0;color:#aa2645;font-size:12px}
#budget-preview #bp-add-subcategory{color:var(--brand-ink);background:var(--soft-brand);width:100%;border:1px dashed var(--brand-ink)}
#budget-preview .budget-menu h3{margin-bottom:6px}
#budget-preview .budget-menu .budget-link{width:100%;display:flex;align-items:center;gap:12px;padding:14px 0;border-radius:0;text-align:left;min-height:76px}
#budget-preview .budget-menu .budget-link+.budget-link{border-top:1px solid #edf0ee}
#budget-preview .budget-link .menu-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:13px;background:var(--soft-brand);color:var(--brand-ink)}
#budget-preview .budget-link .menu-icon svg{width:21px;height:21px}
#budget-preview .budget-link .menu-copy{flex:1;min-width:0}
#budget-preview .budget-link strong{display:block;font-size:14px;font-weight:600;line-height:1.4}
#budget-preview .budget-link small{display:block;font-size:12px;line-height:1.45;margin-top:3px;color:#647368}
#budget-preview .budget-link .menu-arrow{flex:0 0 18px;color:#7b8981}
#budget-preview .budget-link .menu-arrow svg{width:18px;height:18px}
#budget-preview .budget-menu .budget-link:hover{background:var(--page-tint)}
#budget-preview nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));justify-items:stretch}
#budget-preview nav .add{justify-self:center;width:48px;height:48px}
#budget-preview .category-button .badge,#budget-preview .row .badge{width:40px;height:40px;flex:0 0 40px;border-radius:50%;color:#fff;box-shadow:inset 0 1px 2px #ffffff40,0 2px 5px #243c2512}
#budget-preview .category-button .badge svg,#budget-preview .row .badge svg{width:24px;height:24px;stroke-width:2.5}
#budget-preview .badge .lucide-heart{fill:currentColor;stroke-width:1.5}
#budget-preview .badge .lucide-paw-print{fill:currentColor;stroke-width:1.5}
#budget-preview .recurring-item{display:flex;align-items:center;gap:8px;border-bottom:1px solid #edf0ee}
#budget-preview .recurring-item>button{flex:1;min-width:0;text-align:left;padding:0}
#budget-preview .recurring-item .row{border:0}
#budget-preview .recurring-switch{margin:0;flex:0 0 44px;display:grid;place-items:center;min-height:44px}
#budget-preview .recurring-switch input{appearance:none;width:40px;height:24px;border:0;border-radius:20px;margin:0;padding:3px;background:#bbc7bf;cursor:pointer}
#budget-preview .recurring-switch input::before{content:'';display:block;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002}
#budget-preview .recurring-switch input:checked{background:var(--brand)}
#budget-preview .recurring-switch input:checked::before{transform:translateX(16px)}
#budget-preview .recurring-switch input:disabled{opacity:.45;cursor:default}
#budget-preview .schedule-data{margin:0}
#budget-preview .schedule-data div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #edf0ee;font-size:13px}
#budget-preview .schedule-data dt{color:#647368;flex:1}
#budget-preview .schedule-data dd{margin:0;text-align:right;flex:1;overflow-wrap:anywhere}
#budget-preview .schedule-field{border-bottom:1px solid #edf0ee}
#budget-preview .schedule-field-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border-radius:0;padding:13px 0;text-align:left;font-size:13px}
#budget-preview .schedule-field-button .field-title{color:#647368;flex:1}
#budget-preview .schedule-field-button .field-value{text-align:right;max-width:58%;overflow-wrap:anywhere}
#budget-preview .schedule-field-button .field-chevron{font-size:20px;color:#7b8981}
#budget-preview .schedule-inline-form{background:var(--page-tint);padding:12px;border-radius:12px;margin-bottom:12px}
#budget-preview .schedule-inline-form label{margin:0 0 10px}
#budget-preview .schedule-inline-form .line button{flex:1}
#budget-preview .schedule-inline-form .save{margin:0}
#budget-preview .delete-action{color:#b92748;display:flex;align-items:center;gap:6px;font-size:12px;margin-left:auto}
#budget-preview .delete-action svg{width:16px;height:16px}
#budget-preview .transaction-entry{border-bottom:1px solid #edf0ee;padding-bottom:4px}
#budget-preview .transaction-entry:last-child{border:0}
#budget-preview .transaction-entry .row{border:0;padding-bottom:4px}
#budget-preview .delete-confirm{background:#fff0f3;border-radius:12px;padding:12px;margin:8px 0}
#budget-preview .delete-confirm p{font-size:13px;line-height:1.5;margin:0 0 10px;color:#632536;overflow-wrap:anywhere}
#budget-preview .delete-confirm .confirm-delete{background:#b92748;color:#fff}
#budget-preview .transaction-link{display:flex;align-items:center;width:100%;gap:10px;padding:0;text-align:left;border-radius:0;border-bottom:1px solid #edf0ee}
#budget-preview .transaction-link:last-child{border-bottom:0}
#budget-preview .transaction-link .row{flex:1;min-width:0;border:0;padding:14px 0}
#budget-preview .transaction-chevron{font-size:24px;color:#85918b;flex:0 0 12px}
#budget-preview .icon-select{position:relative;display:block;margin-top:7px}
#budget-preview .icon-select select{margin:0;min-height:52px;padding-left:54px;padding-right:28px;appearance:none}
#budget-preview .select-category-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;pointer-events:none}
#budget-preview .select-category-icon svg{width:19px;height:19px;stroke-width:2.4}
#budget-preview .icon-select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:23px;color:#7c8982;pointer-events:none}
#budget-preview .subcategory-icon-picker{position:relative;flex:0 0 40px;width:40px;height:44px;border-radius:12px;background:#9aa5b0;color:white;display:grid;place-items:center;margin:0}
#budget-preview .subcategory-icon-picker select{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;padding:0;cursor:pointer}
#budget-preview .subcategory-icon-picker:focus-within{outline:3px solid #6799c5;outline-offset:2px}
#budget-preview .subcategory-icon-picker svg{width:22px;height:22px;pointer-events:none}
#budget-preview .subcategory-entry{gap:6px}
#budget-preview .subcategory-entry .remove-subcategory{padding:6px;font-size:11px}
#budget-preview .subcategory-entry{display:flex;flex-wrap:wrap;align-items:center}
#budget-preview .subcategory-entry>[name=subcategoryName]{flex:1;min-width:0;width:0}
#budget-preview .subcategory-icon-picker{border:0;padding:0;border-radius:50%;width:44px;flex-basis:44px}
#budget-preview .subcategory-appearance{flex:0 0 100%;box-sizing:border-box;padding:12px;background:white;border-radius:16px;margin:2px 0 10px}
#budget-preview .subcategory-appearance[hidden]{display:none}
#budget-preview .subcategory-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(44px,1fr));gap:6px;margin:12px 0}
#budget-preview .subcategory-icon-grid button{display:grid;place-items:center;min-width:0;height:44px;padding:8px;border:1px solid #dce4e2;border-radius:12px;background:#f7faf9}
#budget-preview .subcategory-icon-grid button[aria-pressed=true]{outline:2px solid currentColor;outline-offset:-2px;background:#edf4f1}
#budget-preview .subcategory-icon-grid svg{width:24px;height:24px}
#budget-preview .subcategory-appearance label{display:flex;align-items:center;justify-content:space-between;gap:12px}
#budget-preview .subcategory-appearance input[type=color]{width:64px;height:44px;margin:0;padding:3px}
#budget-preview .appearance-done{display:block;margin:12px 0 0 auto;min-height:44px}
#budget-preview .dark-mode-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;min-height:44px}
#budget-preview .dark-mode-row small{display:block;margin-top:5px}
#budget-preview #bp-dark-mode{width:44px;height:26px;margin:0;flex-shrink:0}
#budget-preview[data-dark=true]{color:#eef4f5}
#budget-preview[data-dark=true] .tile,#budget-preview[data-dark=true] .people-panel,#budget-preview[data-dark=true] nav,#budget-preview[data-dark=true] .hole,#budget-preview[data-dark=true] .analysis-donut-center,#budget-preview[data-dark=true] .subcategory-appearance,#budget-preview[data-dark=true] #bp-people-list{background:#1c2b32;box-shadow:none}
#budget-preview[data-dark=true] input,#budget-preview[data-dark=true] select,#budget-preview[data-dark=true] .palettes button,#budget-preview[data-dark=true] .method .choice-face{background:#22353e;color:#eef4f5;border-color:#41545c}
#budget-preview[data-dark=true] input::placeholder{color:#afbdc4}
#budget-preview[data-dark=true] .hint,#budget-preview[data-dark=true] small,#budget-preview[data-dark=true] .notice,#budget-preview[data-dark=true] .empty,#budget-preview[data-dark=true] .percentage,#budget-preview[data-dark=true] .chart-axis,#budget-preview[data-dark=true] .month-name,#budget-preview[data-dark=true] .month-detail,#budget-preview[data-dark=true] .schedule-data dt,#budget-preview[data-dark=true] .field-title{color:#b6c7cf}
#budget-preview[data-dark=true] .people button{color:#eef4f5}
#budget-preview[data-dark=true] .switch,#budget-preview[data-dark=true] .stat-track{background:#31424a}
#budget-preview[data-dark=true] .row,#budget-preview[data-dark=true] nav,#budget-preview[data-dark=true] .schedule-data>div,#budget-preview[data-dark=true] .schedule-field-button{border-color:#35474e}
#budget-preview[data-dark=true] .positive{color:#60dda3}
#budget-preview[data-dark=true] .negative,#budget-preview[data-dark=true] .delete-action,#budget-preview[data-dark=true] .remove-subcategory{color:#ff8da5}
#budget-preview[data-dark=true] .pair .tile:first-child{background:#193c32}
#budget-preview[data-dark=true] .pair .tile:last-child{background:#412b38}
#budget-preview[data-dark=true] .delete-confirm{background:#412b38}
#budget-preview[data-dark=true] .delete-confirm p{color:#ffd5df}
#budget-preview[data-dark=true] .subcategory-icon-grid button{background:#22353e;border-color:#41545c}
#budget-preview[data-dark=true] .subcategory-icon-grid button[aria-pressed=true],#budget-preview[data-dark=true] .palettes button[aria-pressed=true]{background:#31474e}
#budget-preview[data-dark=true] .column-months{background-image:repeating-linear-gradient(to top,transparent 0,transparent 71.5px,#35474e 71.5px,#35474e 72.5px)}
#budget-preview[data-dark=true] .people button.active .avatar{box-shadow:0 0 0 2px #1c2b32,0 0 0 4px var(--brand)}
#budget-preview[data-dark=true] .recurring-switch input{background:#53656d}
#budget-preview[data-dark=true] .recurring-switch input:checked{background:var(--brand)}
#budget-preview .analysis-period-form{margin:10px 0 16px}
#budget-preview .analysis-period-form input[type=month]{font-size:16px;min-height:44px;padding:10px}
#budget-preview .payment-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-top:12px}
#budget-preview .calendar-weekday{text-align:center;font-size:12px;color:#647368;padding:8px 0}
#budget-preview .calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 0;gap:2px;min-width:0;min-height:44px;border-radius:12px;font-size:13px}
#budget-preview .calendar-dots{display:flex;flex-wrap:wrap;justify-content:center;gap:3px;min-height:7px;max-width:100%;padding:1px 3px}
#budget-preview .calendar-dot{display:block;width:5px;height:5px;flex:0 0 5px;border-radius:50%}
#budget-preview .calendar-day[aria-current=date]{box-shadow:inset 0 0 0 1px var(--brand-ink)}
#budget-preview .calendar-day[aria-pressed=true]{background:var(--brand);color:var(--on-brand)}

#budget-preview[data-dark=true] .calendar-weekday{color:#b6c7cf}
#budget-preview .compact-settings{background:#fff;border-radius:16px;margin:14px 0;overflow:hidden;padding:0 12px}
#budget-preview .compact-setting{display:flex;align-items:center;gap:10px;width:100%;min-height:50px;padding:10px 0;border-radius:0;border-bottom:1px solid #e8edeb;text-align:left;font-size:13px}
#budget-preview .compact-setting:last-child{border-bottom:0}
#budget-preview .compact-setting svg{width:18px;height:18px;flex:0 0 18px}
#budget-preview .setting-name{flex:1;min-width:0}
#budget-preview .setting-value{font-size:12px;color:#647368}
#budget-preview .setting-chevron{font-size:21px;color:#7b8981}
#budget-preview[data-dark=true] .compact-settings{background:#1c2b32}
#budget-preview[data-dark=true] .compact-setting{border-color:#35474e}
#budget-preview[data-dark=true] .setting-value,#budget-preview[data-dark=true] .setting-chevron{color:#b6c7cf}
#budget-preview .limit-track{height:8px;border-radius:8px;overflow:hidden;background:#e4ece8;margin:10px 0}
#budget-preview .limit-fill{height:100%;border-radius:8px}
#budget-preview[data-dark=true] .limit-track{background:#35474e}
#budget-preview .limit-card{padding:16px;margin:12px 0}
#budget-preview .limit-card label{margin:0}
#budget-preview .limit-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px}
#budget-preview .limit-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%}
#budget-preview .limit-icon svg{width:22px;height:22px;stroke-width:2.2}
#budget-preview .limit-title{font-size:14px;font-weight:700;line-height:1.4}
#budget-preview .limit-caption{font-size:12px;color:#647368}
#budget-preview .limit-card input{font-weight:700;font-variant-numeric:tabular-nums}
#budget-preview .limit-card .hint{margin:12px 0 8px;line-height:1.7;font-variant-numeric:tabular-nums}
#budget-preview .limit-card .limit-track{height:9px;margin-bottom:2px}
#budget-preview .limit-exceeded .hint{color:#b92748}
#budget-preview[data-dark=true] .limit-caption{color:#b6c7cf}
#budget-preview[data-dark=true] .limit-exceeded .hint{color:#ff8da5}
#budget-preview .goal-card .limit-title{flex:1;overflow-wrap:anywhere}
#budget-preview .goal-card .line{flex-wrap:wrap}
#budget-preview .goal-deposit{color:var(--brand-ink);background:var(--soft-brand)}
#budget-preview .limit-fold{padding:0 14px;margin:8px 0}
#budget-preview .limit-fold>summary{display:flex;align-items:center;gap:10px;list-style:none;min-height:62px;padding:10px 0;cursor:pointer}
#budget-preview .limit-fold>summary::-webkit-details-marker{display:none}
#budget-preview .limit-fold>summary::after{content:'⌄';margin-left:auto;font-size:20px}
#budget-preview .limit-fold[open]>summary::after{content:'⌃'}
#budget-preview .limit-fold .limit-heading{margin:0;flex:1}
#budget-preview .limit-fold .limit-icon{width:34px;height:34px;flex-basis:34px}
#budget-preview .limit-body{padding:4px 0 14px}
#budget-preview .limit-chooser>summary{min-height:44px;display:flex;align-items:center;cursor:pointer}
#budget-preview .limit-chooser>summary::after{content:'⌄';margin-left:auto}
#budget-preview .limit-chooser label{display:flex;align-items:center;min-height:44px;margin:0;gap:8px}
#budget-preview #bp-limit-summary .line{flex-wrap:wrap;font-size:13px}
#budget-preview #bp-limit-summary .limit-title{flex:1}
#budget-preview .transaction-day+.transaction-day{margin-top:22px}
#budget-preview .transaction-day-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;background:var(--page-tint);padding:10px 8px;border-radius:10px}
#budget-preview .transaction-day-header h3{font-size:12px;line-height:1.5;margin:0}
#budget-preview .transaction-day-header>strong{font-size:12px;white-space:nowrap;font-variant-numeric:tabular-nums}
#budget-preview .notification-day{margin-top:20px}
#budget-preview .notification-day h3{margin:0 0 8px;font-size:13px}
#budget-preview .notification-panel{background:#fff;border-radius:16px;padding:0 10px}
#budget-preview .notification-row{display:flex;align-items:center;gap:9px;padding:13px 0;border-bottom:1px solid #edf1eb}
#budget-preview .notification-row:last-child{border-bottom:0}
#budget-preview .notification-icon{width:36px;height:36px;flex:0 0 36px;border-radius:50%;display:grid;place-items:center}
#budget-preview .notification-icon svg{width:19px;height:19px}
#budget-preview .notification-icon.rose{background:#ffe3e7;color:#9a3551}
#budget-preview .notification-icon.amber{background:#ffedc9;color:#87601b}
#budget-preview .notification-icon.mint{background:#dff5e8;color:#286747}
#budget-preview .notification-copy{flex:1;min-width:0}
#budget-preview .notification-copy strong{display:block;font-size:12px;line-height:1.45}
#budget-preview .notification-copy small{display:block;font-size:11px;line-height:1.5;margin-top:2px;overflow-wrap:anywhere}
#budget-preview .notification-row time{font-size:11px;color:#647368;flex-shrink:0;font-variant-numeric:tabular-nums}
#budget-preview[data-dark=true] .notification-panel{background:#1c2b32}
#budget-preview[data-dark=true] .notification-row{border-color:#35474e}
#budget-preview[data-dark=true] .notification-row time{color:#b6c7cf}
#budget-preview[data-dark=true] .notification-icon.rose{background:#51303f;color:#ffb5c7}
#budget-preview[data-dark=true] .notification-icon.amber{background:#4a402b;color:#ffda93}
#budget-preview[data-dark=true] .notification-icon.mint{background:#26483c;color:#9de7bd}
#budget-preview .notification-options{border:0;margin:0;padding:0;min-width:0}
#budget-preview .notification-options:disabled{opacity:.55}
#budget-preview .profile-avatars{border:0;padding:0;margin:14px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
#budget-preview .profile-avatars legend{font-size:13px;margin-bottom:8px}
#budget-preview .profile-avatars label{position:relative;margin:0}
#budget-preview .profile-avatars input{position:absolute;opacity:0;width:100%;height:100%;margin:0}
#budget-preview .profile-avatars span{display:grid;place-items:center;font-size:28px;min-height:48px;border:2px solid transparent;border-radius:12px}
#budget-preview .profile-avatars input:checked+span{border-color:var(--brand-ink);background:var(--soft-brand)}
#budget-preview .profile-avatars input:focus-visible+span{outline:3px solid #6799c5}
#budget-preview button:disabled{opacity:.5;cursor:default}
#budget-preview .people .avatar,#budget-preview .people button[data-scope=all] .avatar{width:42px;height:42px;flex-shrink:0;border-radius:50%;overflow:hidden}
#budget-preview .profile-photo{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;object-position:center;border-radius:50%;display:block}
#budget-preview #bp-photo-preview{width:76px;height:76px;border-radius:50%;overflow:hidden;background:var(--soft-brand);display:grid;place-items:center;font-size:36px;margin:12px auto}
#budget-preview .profile-upload input[type=file]{padding:8px;min-width:0;font-size:12px}
#budget-preview .profile-upload input::file-selector-button{padding:10px;border:0;border-radius:8px;margin-right:6px}
#budget-preview .transaction-search{margin-top:14px}
#budget-preview .transaction-search label{margin:0;font-size:12px}
#budget-preview .transaction-search input{flex:1;min-width:0;margin:5px 0 0}
#budget-preview #bp-clear-search{flex:0 0 44px;font-size:24px}
#budget-preview .settings-order-row{display:flex;align-items:center;border-bottom:1px solid #e8edeb}
#budget-preview .settings-order-row:last-child{border:0}
#budget-preview .settings-order-row .compact-setting{border:0;flex:1;min-width:0}
#budget-preview .settings-order-row .compact-setting:disabled{opacity:1}
#budget-preview .settings-order-row:has(.settings-drag-handle) .setting-value,#budget-preview .settings-order-row:has(.settings-drag-handle) .setting-chevron{display:none}
#budget-preview .settings-drag-handle{touch-action:none;flex:0 0 32px;padding:4px;font-size:24px}
#budget-preview .settings-move{flex:0 0 32px;padding:4px;font-size:18px}
#budget-preview .settings-order-row.moving{background:var(--soft-brand)}
#budget-preview[data-dark=true] .settings-order-row{border-color:#35474e}
#budget-preview .settings-order-row .compact-setting{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#budget-preview .settings-order-row.moving{background:var(--soft-brand);box-shadow:0 4px 14px #0003;position:relative;z-index:1;transform:scale(1.015)}

body{margin:0;background:#e9efed;font-family:Arial,sans-serif}#storage-status{padding:8px 14px;background:#153a32;color:#fff;text-align:center;font-size:12px}.storage-error{background:#9a2443!important}#budget-preview{padding:0}#budget-preview .phone{border:0;border-radius:0;max-width:520px;min-height:100dvh;box-shadow:none}#budget-preview nav{position:sticky;bottom:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}#budget-preview main{min-height:60vh}#budget-preview header{padding-top:max(18px,env(safe-area-inset-top))}#budget-preview input{min-width:0}@media(max-width:520px){body{background:#effcf5}#budget-preview .phone{max-width:none}}
#budget-preview .category-icon-field{min-width:0}
#budget-preview .category-icon-field .subcategory-icon-grid{grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}
#budget-preview .category-icon-field button:focus-visible{outline:3px solid #6799c5;outline-offset:2px}
#budget-preview .category-icon-field button:disabled{opacity:1}
#budget-preview [hidden]{display:none!important}
#budget-preview .auth-gate{padding:24px;min-height:65vh}
#budget-preview .auth-gate label{display:block;margin:20px 0}
#budget-preview .auth-gate .save{width:100%}
#budget-preview .invite-row{padding:12px 0;border-top:1px solid #abc3b8}
#budget-preview .invite-row p{overflow-wrap:anywhere}
#budget-preview #member-permissions label{display:block;margin:16px 0}
