:root{--bg:#1a1b23;--bg-card:#24262e;--bg-card-hover:#2c2e38;--coral:#e07a5f;--coral-glow:#e07a5f59;--mint:#81b29a;--mint-glow:#81b29a59;--gold:#f2cc8f;--gold-glow:#f2cc8f4d;--accent-pink:#e8a0b8;--accent-blue:#7eb8da;--accent-purple:#9b8faf;--navy:#e8e9ed;--navy-soft:#a0a3b0;--white:#fff;--radius:.875rem;--radius-lg:1.25rem;--shadow:0 4px 24px #00000059;--shadow-hover:0 8px 32px #00000073;--font-head:"Outfit", sans-serif;--font-body:"DM Sans", sans-serif;--global-header-height:8.5rem;--global-header-height-nav-only:4rem}*,:before,:after{box-sizing:border-box;touch-action:manipulation}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);color:var(--navy);background:var(--bg);min-height:100vh;margin:0;font-size:1rem;line-height:1.5}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(#e07a5f2e 0%,#0000 65%);width:55%;height:55%;position:fixed;top:-15%;right:-10%}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(#81b29a26 0%,#0000 65%);width:50%;height:55%;position:fixed;bottom:-15%;left:-15%}.global-header{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--shadow);background:#1a1b23f2;position:sticky;top:0}.global-header-top{border-bottom:1px solid #ffffff0f;align-items:center;gap:.75rem;padding:.875rem 1.25rem;display:flex}.global-header-logo{flex-shrink:0;align-items:center;line-height:0;display:flex}.global-header-logo img{object-fit:contain;width:32px;height:32px;display:block}.global-header-top buddj-nav{flex:1;min-width:0}.global-header-top .nav-main{border-bottom:none;padding:0}.nav-main{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:.5rem;padding:.875rem 1.25rem;display:flex}.nav-main-links{gap:.5rem;display:flex}.nav-burger{border-radius:var(--radius);width:0;height:2.75rem;color:var(--navy-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:background .2s,color .2s;display:inline-flex;font-size:1.3rem!important}.nav-burger:hover{color:var(--navy);background:#ffffff14}buddj-summary-bar[hidden]{display:none!important}.summary-bar{border-bottom:1px solid #ffffff0f;flex-direction:column;gap:.4rem;max-width:520px;margin:0 auto;padding:.45rem 1.25rem .5rem;display:flex}.summary-date-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.btn--nav-month{border-radius:var(--radius);width:2rem;height:2rem;color:var(--navy);cursor:pointer;background:#ffffff0f;border:none;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;transition:background .2s,color .2s;display:inline-flex}.btn--nav-month:hover{background:var(--bg-card-hover);color:var(--navy)}.summary-details{justify-content:center;align-items:center;min-width:0;display:flex}.summary-amounts-inline{flex-wrap:wrap;justify-content:center;align-items:center;gap:.4rem;min-width:0;max-width:100%;display:flex}.summary-amounts-sep{color:var(--gold);flex-shrink:0;font-size:.95rem;font-weight:700;line-height:1}.summary-balance-actions{flex:0 auto;align-items:center;gap:.25rem;min-width:0;display:flex}.summary-bar .summary-balances-projected{flex-shrink:0;font-size:1.05rem}.summary-bar .balance-edit{margin:0;padding:.15rem .35rem}.summary-bar .balance-edit .balance-value{font-size:1.05rem}buddj-icon-edit,buddj-icon-delete,buddj-icon-transfer,buddj-icon-save{flex-shrink:0;display:inline-flex}.summary-balance-actions .btn--icon{justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1rem;display:inline-flex}.summary-balance-actions .btn--edit{color:var(--navy-soft);background:0 0;border:1px solid #ffffff26}.summary-balance-actions .btn--edit:hover{color:var(--navy);background:#ffffff0f;box-shadow:0 0 12px #ffffff14}.summary-balance-actions .btn--save{color:var(--mint);background:#81b29a1f;border:1px solid #81b29a66}.summary-balance-actions .btn--save:hover{color:var(--navy);border-color:var(--mint);box-shadow:0 2px 10px var(--mint-glow);background:#81b29a40}.balance-edit-input{width:6rem;font-family:var(--font-head);color:var(--navy);border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff26;padding:.35rem .5rem;font-size:1.25rem;font-weight:700}.balance-edit-input:focus{outline:2px solid var(--mint);outline-offset:2px}.nav-link{font-family:var(--font-head);border-radius:var(--radius);color:var(--navy-soft);padding:.5rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s}.nav-link:hover{background:var(--bg-card-hover);color:var(--navy)}.nav-link--active{background:linear-gradient(135deg, var(--coral), #c96a52);color:var(--white);box-shadow:0 2px 12px var(--coral-glow)}.nav-link--active:hover{color:var(--white);box-shadow:0 4px 16px var(--coral-glow);background:linear-gradient(135deg,#c96a52,#b85a42)}.screen{z-index:1;max-width:520px;margin:0 auto;padding:1.5rem 1.25rem 3rem;position:relative}.screen-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.screen-header-row--title{justify-content:flex-start}.screen-header-row--title .title{flex:1;margin:0}.screen-header-row--title buddj-icon-search{flex-shrink:0;margin-left:auto}.screen-header-row--title buddj-icon-search[hidden],.screen-header-row--title buddj-toggle-all[hidden]{display:none!important}.screen-header-row--title buddj-btn-add{flex-shrink:0}.screen--budgets .budget-screen-recap{max-width:100%;color:var(--navy-soft);white-space:nowrap;text-overflow:ellipsis;margin:.35rem 0 0;padding:0;font-size:.85rem;font-weight:500;line-height:1.35;overflow:hidden}.screen-header-row .buddj-icon-search__svg{width:1.25rem;height:1.25rem;display:block}.screen-header-row .btn--search{color:var(--navy-soft);background:0 0;border:1px solid #ffffff26;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;padding:0;display:inline-flex}.screen-header-row .btn--search:hover{color:var(--navy);background:#ffffff0f}.btn--toggle-all{height:2.25rem;color:var(--navy-soft);border-radius:var(--radius);box-sizing:border-box;background:#ffffff0f;border:1px solid #ffffff1f;align-items:center;padding:0 .75rem;font-size:.875rem;display:inline-flex}.btn--toggle-all:hover{color:var(--navy);background:#ffffff1a;border-color:#fff3}.title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.5rem;font-weight:700}.subtitle{color:var(--navy-soft);margin:0;font-size:.9rem}.balance-label-hint{text-transform:none;letter-spacing:0;opacity:.85;font-weight:500}.balance-edit{border-radius:var(--radius);cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:.5rem;margin:-.35rem -.6rem -.35rem 0;padding:.35rem .6rem;transition:background .2s,box-shadow .2s;display:inline-flex}.balance-edit:hover{background:#ffffff0f;box-shadow:0 0 0 1px #ffffff14}.balance-edit:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.balance-edit .balance-value,.balance-value{font-family:var(--font-head);color:var(--navy);font-size:1.25rem;font-weight:700}.balance-value--highlight{color:var(--coral);font-size:1.2rem}.section-title-row{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.section-title{font-family:var(--font-head);color:var(--navy-soft);margin:0;font-size:.9rem;font-weight:600}.charge-group-section-title{font-family:var(--font-head);color:var(--navy-soft);margin:0 0 .5rem;font-size:.9rem;font-weight:600}.charge-group--previous .charge-group-section-title{color:var(--gold)}.charge-group{margin-bottom:2rem}.recurring-list buddj-charge-group:last-child .charge-group{margin-bottom:0}.charge-group-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.charge-group-title-block{flex:1;min-width:0}.charge-group-recap{color:var(--navy-soft);opacity:.9;margin:0;font-size:.8rem}.charge-group-recap-line{display:block}.charge-group--add-right .charge-group-title-row .charge-group-actions{margin-left:auto}.charge-group-actions{align-items:center;gap:.5rem;display:flex}.charge-group .charge-group-search .btn--search,.charge-group .template-section-search .btn--search{width:2.25rem;height:2.25rem;color:var(--navy-soft);cursor:pointer;background:0 0;border:1px solid #ffffff26;justify-content:center;align-items:center;padding:0;display:inline-flex}.charge-group .charge-group-search .btn--search:hover,.charge-group .template-section-search .btn--search:hover{color:var(--navy);background:#ffffff0f}.charge-group .charge-group-search .buddj-icon-search__svg,.charge-group .template-section-search .buddj-icon-search__svg{width:1.25rem;height:1.25rem;display:block}.charge-group--previous .charge-group-recap{color:var(--gold)}.charge-group--annual{border-radius:var(--radius);background:#81b29a14;border:1px solid #81b29a40;padding:.75rem 1rem}.charge-group--annual .charge-group-recap{color:var(--mint);font-size:.85rem}buddj-charge-item.charge-item--previous buddj-line-item{border-left:3px solid #f2cc8f80}.charge-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.charge-list-empty{color:var(--navy-soft);text-align:center;margin:0;padding:1rem .85rem;font-size:.95rem;list-style:none}buddj-charge-item{min-height:2rem;padding:0;list-style:none;transition:opacity .25s;display:list-item}buddj-charge-item:hover buddj-line-item{background:var(--bg-card-hover);border-color:#81b29a4d}buddj-charge-item:has(.charge-taken:checked) buddj-line-item{opacity:.55;background:#24262e99}buddj-charge-item:has(.charge-taken:checked) buddj-line-item::part(main){color:var(--navy-soft);text-decoration:line-through}buddj-template-budget-card:has(.charge-taken:checked) buddj-line-item{opacity:.55;background:#24262e99}buddj-template-budget-card:has(.charge-taken:checked) buddj-line-item::part(main){color:var(--navy-soft);text-decoration:line-through}buddj-line-item:has(.charge-taken:checked){opacity:.55;background:#24262e99}buddj-line-item:has(.charge-taken:checked)::part(main){color:var(--navy-soft);text-decoration:line-through}buddj-line-item:has(.expense-taken:checked){background:#81b29a1f;border-color:#81b29a33}buddj-line-item:has(.expense-taken:checked)::part(main){color:var(--navy-soft);text-decoration:line-through}.charge-taken{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.expense-desc,buddj-screen-new-month .new-month-row-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}buddj-screen-new-month .new-month-row-amount{font-family:var(--font-head);color:var(--coral);font-weight:700}.amount-value{font-family:var(--font-head);color:var(--navy);font-size:1rem;font-weight:700}.amount-value--highlight{color:var(--coral);font-size:1.1rem}.buddj-amount .amount-value{text-align:right;min-width:4rem;font-size:.95rem;color:var(--coral)!important}.buddj-amount.buddj-amount--highlight .amount-value{font-size:1.1rem;color:var(--coral)!important}.buddj-text-ellipsis .buddj-text-ellipsis__inner{text-overflow:ellipsis;white-space:nowrap;color:var(--navy);display:block;overflow:hidden}.btn{font-family:var(--font-body);cursor:pointer;border:none;border-radius:.5rem;padding:.35rem .7rem;font-size:.8rem;font-weight:500;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}.btn--delete{color:var(--coral);background:0 0;border:1px solid #e07a5f66}.btn--delete:hover{border-color:var(--coral);box-shadow:0 2px 8px var(--coral-glow);background:#e07a5f26}.btn--delete.btn--delete--disabled,.btn--delete:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none}.btn--delete.btn--delete--disabled:hover,.btn--delete:disabled:hover{background:0 0;border-color:#e07a5f66}.btn--icon{opacity:.9;padding:.2rem .45rem;font-size:1rem;line-height:1}.btn--icon:hover{opacity:1}.btn-icon{justify-content:center;align-items:center;margin-right:.4rem;font-size:1rem;font-weight:700;display:inline-flex}.btn--add{background:linear-gradient(135deg, var(--coral), #c96a52);color:var(--white);box-shadow:0 2px 10px var(--coral-glow);align-items:center;padding:.45rem .9rem;display:inline-flex}.btn--add:hover{color:var(--white);box-shadow:0 4px 14px var(--coral-glow);background:linear-gradient(135deg,#c96a52,#b85a42)}.btn--add--icon-only{justify-content:center;min-width:2.25rem;padding:.45rem .55rem}.btn--add--icon-only .btn-icon{margin-right:0}.btn--transfer{color:var(--mint);background:#81b29a33;border:1px solid #81b29a66;align-items:center;display:inline-flex}.btn--transfer:hover{border-color:var(--mint);color:var(--navy);box-shadow:0 2px 10px var(--mint-glow);background:#81b29a4d}.budget-list{flex-direction:column;gap:1.5rem;display:flex}buddj-months-empty-placeholder{width:100%;display:block}.months-empty-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;margin:0;padding:2rem 1rem 2.5rem;display:flex}.months-empty-placeholder__text{max-width:22rem;color:var(--navy-soft);margin:0;font-size:1rem;line-height:1.45}.months-empty-placeholder__actions{justify-content:center;width:100%;margin:0;display:flex}.months-empty-placeholder__cta{min-width:min(100%,20rem);min-height:3.35rem;font-family:var(--font-head);letter-spacing:.02em;border-radius:var(--radius-lg);cursor:pointer;background:linear-gradient(135deg, var(--mint), #6a9d82);color:var(--white);box-shadow:0 4px 20px var(--mint-glow);border:none;justify-content:center;align-items:center;padding:.9rem 2.25rem;font-size:1.2rem;font-weight:700;text-decoration:none;transition:background .2s,box-shadow .2s,transform .15s;display:inline-flex}.months-empty-placeholder__cta:hover{box-shadow:0 6px 24px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}.months-empty-placeholder__cta:active{transform:scale(.98)}.budget-group-section-title{font-family:var(--font-head);color:var(--navy-soft);margin:0 0 .5rem;font-size:.9rem;font-weight:600}.budget-group--previous .budget-group-section-title{color:var(--gold)}.budget-group{margin-bottom:1.25rem}.budget-group:last-child{margin-bottom:0}.budget-group-title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem;display:flex}.budget-group-title-block{flex:1;min-width:0}.budget-group>.budget-group-title-block{margin-bottom:1.25rem}.budget-group-recap{color:var(--navy-soft);opacity:.9;margin:0;font-size:.8rem}.budget-group-recap-line{display:block}.budget-group-actions{align-items:center;gap:.5rem;display:flex}.budget-group--add-right .budget-group-title-row .budget-group-actions{margin-left:auto}.budget-group .budget-group-search .btn--search,.budget-group .template-section-search--expenses.budget-group-search .btn--search{width:2.25rem;height:2.25rem;color:var(--navy-soft);cursor:pointer;background:0 0;border:1px solid #ffffff26;justify-content:center;align-items:center;padding:0;display:inline-flex}.budget-group .budget-group-search .btn--search:hover,.budget-group .template-section-search--expenses.budget-group-search .btn--search:hover{color:var(--navy);background:#ffffff0f}.budget-group .budget-group-search .buddj-icon-search__svg,.budget-group .template-section-search--expenses.budget-group-search .buddj-icon-search__svg{width:1.25rem;height:1.25rem;display:block}.budget-group--previous .budget-group-recap{color:var(--gold)}.budget-group--previous .budget-details{border-left:3px solid #f2cc8f80}.budget-group--annual{border-radius:var(--radius);background:#81b29a14;border:1px solid #81b29a40;padding:.75rem 1rem}.budget-group--annual .budget-group-recap{color:var(--mint);font-size:.85rem}.budget-group-list{flex-direction:column;gap:1.25rem;display:flex}.budget-group--template .budget-group-list{gap:.5rem}.budget-group-empty{color:var(--navy-soft);text-align:center;margin:0;padding:1.25rem 0;font-size:.95rem}.budget-details{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid #ffffff0d;padding:0;transition:box-shadow .2s,border-color .2s}.budget-details:hover{box-shadow:var(--shadow-hover);border-color:#81b29a40}.budget-summary{cursor:pointer;flex-direction:column;gap:.6rem;padding:1rem 1.125rem;list-style:none;display:flex}.budget-summary::-webkit-details-marker{display:none}.budget-summary::marker{display:none}.budget-toggle-icon{color:var(--navy-soft);flex-shrink:0;margin-right:.25rem;font-size:.75rem;transition:transform .2s}.budget-details[open] .budget-toggle-icon{transform:rotate(180deg)}.budget-details .expense-list{border-top:1px solid #ffffff0f;margin:0;padding:.75rem 1.125rem 1rem}.budget-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid #ffffff0d;padding:1rem 1.125rem}.budget-card-header{flex-direction:column;gap:.4rem;margin-bottom:.6rem;display:flex}.budget-card-title-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.budget-card-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.budget-card-actions .btn--icon{justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;font-size:1rem;display:inline-flex}.budget-card-actions .btn--edit{color:var(--navy-soft);background:0 0;border:1px solid #ffffff26}.budget-card-actions .btn--edit:hover{color:var(--navy);background:#ffffff0f;box-shadow:0 0 12px #ffffff14}.budget-card-actions .btn--delete:hover{box-shadow:0 2px 8px var(--coral-glow)}.budget-card-actions .btn--add-expense,.budget-card-actions buddj-icon-add .btn{color:var(--mint);background:#81b29a14;border:1px solid #81b29a66}.budget-card-actions .btn--add-expense:hover,.budget-card-actions buddj-icon-add .btn:hover{border-color:var(--mint);color:var(--navy);box-shadow:0 2px 10px var(--mint-glow);background:#81b29a33}.budget-card-actions .btn--transfer-out{color:var(--gold);background:#f2cc8f14;border:1px solid #f2cc8f66}.budget-card-actions .btn--transfer-out:hover{border-color:var(--gold);color:var(--navy);box-shadow:0 2px 10px var(--gold-glow);background:#f2cc8f2e}.budget-name{font-family:var(--font-head);color:var(--navy);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0;font-size:1.1rem;font-weight:700;overflow:hidden}.budget-icon{opacity:.9;font-size:1.25rem}.amount-totals{align-items:center;gap:.4rem;font-size:.9rem;display:flex}.budget-pending{color:var(--navy-soft);margin:.35rem 0 0;font-size:.8rem}.amount-allocated{color:var(--navy-soft);font-weight:500}.amount-sep{color:var(--gold);font-weight:700}.amount-remaining{font-family:var(--font-head);color:var(--mint);font-weight:700}.budget-amount{font-family:var(--font-head);text-align:right;min-width:4rem;font-size:.95rem;font-weight:700}.budget-amount--highlight{color:var(--coral);font-size:1.1rem}.expense-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}buddj-expense-item{min-height:2rem;padding:0;list-style:none;transition:border-color .2s,background .2s;display:list-item}buddj-expense-item:hover buddj-line-item{background:#00000040;border-color:#81b29a40}buddj-expense-item:has(.expense-taken:checked) buddj-line-item{background:#81b29a1f;border-color:#81b29a33}buddj-expense-item:has(.expense-taken:checked) buddj-line-item::part(main){color:var(--navy-soft);text-decoration:line-through}.expense-taken{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.expense-item--empty{color:var(--navy-soft);justify-content:center;padding:.75rem;font-size:.85rem}.expense-desc{color:var(--navy);font-size:.875rem;font-weight:500}#budgets{padding-top:2rem}@media (width<=420px){.screen-header-top{flex-direction:column;align-items:flex-start;gap:.25rem}}.summary-date-wrap{align-items:center;gap:.5rem;display:flex;position:relative}.summary-date{font-family:var(--font-head);color:var(--navy);font-size:1rem;font-weight:700}buddj-confirm-modal{display:contents}buddj-confirm-modal.confirm-modal--open{z-index:110;min-height:100dvh;display:block;position:fixed;inset:0}.confirm-modal-backdrop{-webkit-backdrop-filter:blur(8px);background:#0006;min-height:100dvh;position:fixed;inset:0}.confirm-modal-box{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-hover);border:1px solid #ffffff1a;min-width:18rem;max-width:90vw;padding:1.5rem 1.5rem 1.25rem;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.confirm-modal-title{font-family:var(--font-head);color:var(--navy);white-space:pre-line;margin:0 0 1.25rem;font-size:1.05rem;font-weight:600;line-height:1.4}.confirm-modal-description{color:var(--navy-soft);margin:-.65rem 0 1.1rem;font-size:.92rem;line-height:1.35}.confirm-modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.confirm-modal-btn--cancel{color:var(--navy-soft);background:#ffffff14;border:1px solid #ffffff26}.confirm-modal-btn--cancel:hover{color:var(--navy);background:#ffffff1f}.confirm-modal-btn--confirm{background:linear-gradient(135deg, var(--mint), #6a9d82);color:var(--white);box-shadow:0 2px 10px var(--mint-glow);border:none}.confirm-modal-btn--confirm:hover{box-shadow:0 4px 14px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}buddj-loading-modal{display:contents}buddj-loading-modal.loading-modal--open{z-index:110;min-height:100dvh;display:block;position:fixed;inset:0}.loading-modal-backdrop{-webkit-backdrop-filter:blur(8px);background:#0006;min-height:100dvh;position:fixed;inset:0}.loading-modal-box{background:var(--bg-card);border-radius:var(--radius-lg);min-width:18rem;max-width:90vw;box-shadow:var(--shadow-hover);border:1px solid #ffffff1a;flex-direction:column;align-items:center;gap:1.25rem;padding:1.5rem 1.5rem 1.25rem;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.loading-modal-spinner{width:48px;height:48px;filter:drop-shadow(0 0 8px var(--mint-glow))}.loading-modal-svg{width:100%;height:100%;animation:.9s linear infinite loading-modal-spin}.loading-modal-circle{stroke-dasharray:1 150;stroke-dashoffset:0;animation:1.5s ease-in-out infinite loading-modal-dash}@keyframes loading-modal-spin{to{transform:rotate(360deg)}}@keyframes loading-modal-dash{0%{stroke-dasharray:1 150;stroke-dashoffset:0}50%{stroke-dasharray:80 150;stroke-dashoffset:-35px}to{stroke-dasharray:1 150;stroke-dashoffset:-100px}}.loading-modal-text{font-family:var(--font-body);color:var(--navy-soft);margin:0;font-size:1.05rem;line-height:1.4}buddj-error-modal{display:contents}buddj-error-modal.error-modal--open{z-index:110;min-height:100dvh;display:block;position:fixed;inset:0}.error-modal-backdrop{-webkit-backdrop-filter:blur(8px);background:#0006;min-height:100dvh;position:fixed;inset:0}.error-modal-box{background:var(--bg-card);border-radius:var(--radius-lg);min-width:18rem;max-width:90vw;box-shadow:var(--shadow-hover);border:1px solid #ffffff1a;padding:1.5rem 1.5rem 1.25rem;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.error-modal-title{font-family:var(--font-head);color:var(--navy);margin:0 0 .5rem;font-size:1.05rem;font-weight:600;line-height:1.4}.error-modal-message{font-family:var(--font-body);color:var(--navy-soft);margin:0 0 1.25rem;font-size:.95rem;line-height:1.45}.error-modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.error-modal-btn{background:linear-gradient(135deg, var(--mint), #6a9d82);color:var(--white);border-radius:var(--radius);font-family:var(--font-body);cursor:pointer;box-shadow:0 2px 10px var(--mint-glow);border:none;padding:.5rem 1rem;font-weight:500}.error-modal-btn:hover{box-shadow:0 4px 14px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}buddj-calculator-drawer{display:contents}buddj-calculator-drawer.calculator-drawer--open{z-index:122;pointer-events:none;display:block;position:fixed;inset:0}buddj-calculator-drawer.calculator-drawer--open .calculator-drawer-backdrop,buddj-calculator-drawer.calculator-drawer--open .calculator-drawer-panel{pointer-events:auto}.calculator-drawer-backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;background:#00000059;min-height:100dvh;transition:opacity .25s,visibility .25s;position:fixed;inset:0}buddj-calculator-drawer.calculator-drawer--open .calculator-drawer-backdrop{opacity:1;visibility:visible}.calculator-drawer-panel{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:85vh;padding:1rem 1.25rem 1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;transition:transform .35s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #0000004d}buddj-calculator-drawer.calculator-drawer--open .calculator-drawer-panel{transform:translateY(0)}.calculator-drawer-header{margin-bottom:.75rem}.calculator-drawer-title{font-family:var(--font-head);color:var(--navy-soft);margin:0;font-size:1rem;font-weight:600}.calculator-drawer-display{font-family:var(--font-head);color:var(--navy);text-align:right;border-radius:var(--radius);background:#0003;min-height:2.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:1.75rem;font-weight:700}.calculator-drawer-fn-row{grid-template-columns:1fr 1fr 2fr;gap:.5rem;margin-bottom:.65rem;display:grid}.calculator-drawer-fn-row .calculator-drawer-btn--fn{color:var(--navy-soft);background:#00000024;border:1px solid #ffffff1a}.calculator-drawer-fn-row .calculator-drawer-btn--fn:hover{color:var(--navy);background:#00000038;border-color:#ffffff29}.calculator-drawer-calc-grid{border-radius:var(--radius);background:#ffffff0a;border:1px solid #ffffff14;grid-template-rows:repeat(4,minmax(2.75rem,auto));grid-template-columns:repeat(4,minmax(0,1fr));grid-template-areas:"n7 n8 n9 pl""n4 n5 n6 mi""n1 n2 n3 eq""z0 z0 cm eq";gap:.5rem;margin-bottom:1rem;padding:.55rem;display:grid;box-shadow:inset 0 1px #ffffff0a}.calculator-drawer-calc-n7{grid-area:n7}.calculator-drawer-calc-n8{grid-area:n8}.calculator-drawer-calc-n9{grid-area:n9}.calculator-drawer-calc-n4{grid-area:n4}.calculator-drawer-calc-n5{grid-area:n5}.calculator-drawer-calc-n6{grid-area:n6}.calculator-drawer-calc-n1{grid-area:n1}.calculator-drawer-calc-n2{grid-area:n2}.calculator-drawer-calc-n3{grid-area:n3}.calculator-drawer-calc-z0{grid-area:z0}.calculator-drawer-calc-comma{grid-area:cm}.calculator-drawer-calc-plus{grid-area:pl}.calculator-drawer-calc-minus{grid-area:mi}.calculator-drawer-calc-eq{grid-area:eq}.calculator-drawer-calc-grid .calculator-drawer-btn--num{color:var(--navy);background:#fff3;font-size:1.2rem;font-weight:700;box-shadow:0 1px 2px #00000014}.calculator-drawer-calc-grid .calculator-drawer-btn--num:hover{color:var(--navy);background:#ffffff4d}.calculator-drawer-btn--equals-tall{color:var(--mint);background:#81b29a40;justify-content:center;align-items:center;min-height:0;font-size:1.35rem;font-weight:700;display:flex}.calculator-drawer-btn--equals-tall:hover{color:var(--navy);background:#81b29a66}.calculator-drawer-btn--fn-icon{justify-content:center;align-items:center;min-height:2.85rem;padding:.65rem;display:flex}.calculator-drawer-fn-svg{flex-shrink:0;width:1.4rem;height:1.4rem}.calculator-drawer-btn{font-family:var(--font-body);border-radius:var(--radius);color:var(--navy);cursor:pointer;background:#ffffff14;border:none;padding:.75rem;font-size:1.1rem;font-weight:600;transition:background .2s,color .2s}.calculator-drawer-btn:hover{color:var(--navy);background:#ffffff24}.calculator-drawer-btn--op{color:var(--mint);background:#81b29a33}.calculator-drawer-btn--op:hover{background:#81b29a59}.calculator-drawer-btn--fn{color:var(--navy-soft);background:#ffffff0f;font-size:.85rem}.calculator-drawer-btn--fn:hover{color:var(--navy);background:#ffffff1f}.calculator-drawer-footer{gap:.75rem;margin-top:auto;padding-top:.5rem;display:flex}.calculator-drawer-cancel{min-width:0;color:var(--navy-soft);background:#ffffff14;border:1px solid #ffffff1f;flex:1}.calculator-drawer-cancel:hover{color:var(--navy);background:#ffffff1f}.calculator-drawer-validate{background:linear-gradient(135deg, var(--mint), #6a9d82);min-width:0;color:var(--white);box-shadow:0 2px 10px var(--mint-glow);border:none;flex:2}.calculator-drawer-validate:hover{box-shadow:0 4px 14px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}buddj-emoji-picker-drawer{display:contents}buddj-emoji-picker-drawer.emoji-picker-drawer--open{z-index:104;pointer-events:none;display:block;position:fixed;inset:0}buddj-emoji-picker-drawer.emoji-picker-drawer--open .emoji-picker-drawer-backdrop,buddj-emoji-picker-drawer.emoji-picker-drawer--open .emoji-picker-drawer-panel{pointer-events:auto}.emoji-picker-drawer-backdrop{z-index:1;opacity:0;visibility:hidden;pointer-events:none;background:0 0;transition:opacity .2s,visibility .2s;position:fixed;inset:0}buddj-emoji-picker-drawer.emoji-picker-drawer--open .emoji-picker-drawer-backdrop{opacity:1;visibility:visible;pointer-events:auto}.emoji-picker-drawer-panel{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:100vh;padding:1rem 1.25rem 1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));z-index:2;transition:transform .3s;position:fixed;bottom:0;left:1.25rem;right:1.25rem;transform:translateY(100%);box-shadow:0 -4px 24px #00000059}buddj-emoji-picker-drawer.emoji-picker-drawer--open .emoji-picker-drawer-panel{transform:translateY(0)}.emoji-picker-drawer-title{font-family:var(--font-head);color:var(--navy-soft);margin:0 0 .75rem;font-size:.9rem;font-weight:600}.emoji-picker-drawer-scroll{max-height:min(75vh,28rem);padding-right:.25rem;overflow-y:auto}.emoji-picker-drawer-section{margin-bottom:1rem}.emoji-picker-drawer-section:last-child{margin-bottom:0}.emoji-picker-drawer-section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--navy-soft);margin:0 0 .5rem;font-size:.75rem;font-weight:600}.emoji-picker-drawer-grid{grid-template-columns:repeat(5,1fr);gap:.5rem;display:grid}.emoji-picker-drawer-item{aspect-ratio:1;border-radius:var(--radius);cursor:pointer;background:#ffffff0f;border:none;justify-content:center;align-items:center;width:100%;max-width:3rem;max-height:3rem;margin:0 auto;padding:0;font-size:1.5rem;transition:background .2s,transform .15s;display:flex}.emoji-picker-drawer-item:hover{background:#ffffff1f;transform:scale(1.08)}buddj-charge-search-drawer,buddj-month-search-drawer,buddj-new-month-charge-search-drawer,buddj-search-drawer{display:contents}buddj-search-drawer.search-drawer--open{z-index:101;pointer-events:none;display:block;position:fixed;inset:0}buddj-search-drawer.search-drawer--open .search-drawer-backdrop,buddj-search-drawer.search-drawer--open .search-drawer-panel{pointer-events:auto}.search-drawer-backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;background:#00000059;min-height:100dvh;transition:opacity .25s,visibility .25s;position:fixed;inset:0}buddj-search-drawer.search-drawer--open .search-drawer-backdrop{opacity:1;visibility:visible}.search-drawer-panel{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:55vh;padding:1rem 1.25rem 1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;transition:transform .35s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #0000004d}buddj-search-drawer.search-drawer--open .search-drawer-panel{transform:translateY(0)}.search-drawer-header{margin-bottom:1rem}.search-drawer-title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.1rem;font-weight:600}.search-drawer-body{flex-direction:column;gap:1rem;min-height:0;display:flex}.search-drawer-results{flex-direction:column;flex:1;gap:1rem;min-height:0;max-height:12rem;display:flex;overflow-y:auto}.search-drawer-group{flex-direction:column;gap:.35rem;display:flex}.search-drawer-group-title{font-family:var(--font-head);color:var(--navy-soft);text-overflow:ellipsis;white-space:nowrap;margin:0;padding:0 0 .15rem;font-size:.85rem;font-weight:600;overflow:hidden}.search-drawer-list{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.search-drawer-item{list-style:none}.search-drawer-item-row{min-width:0}.search-drawer-item-row.new-month-row{align-items:center;gap:.75rem;display:flex}.search-drawer-item-row.new-month-row buddj-line-item{flex:1;min-width:0}.search-drawer-item-row.new-month-row buddj-line-item::part(main){padding:.6rem .85rem}.search-drawer-item-row.new-month-row buddj-line-item::part(actions){padding-right:.85rem}.search-drawer-item-row .new-month-btn-include-toggle,.search-drawer-item-row .new-month-btn-rappel-toggle{color:var(--mint);cursor:pointer;text-underline-offset:.12rem;background:0 0;border:0;flex-shrink:0;padding:0;font-size:.8rem;font-weight:500;text-decoration:underline;transition:color .2s,opacity .2s}.search-drawer-item-row .new-month-btn-include-toggle:hover,.search-drawer-item-row .new-month-btn-rappel-toggle:hover{color:var(--mint-soft)}.search-drawer-item-row .new-month-btn-include-toggle.new-month-btn-rappel-toggle--on,.search-drawer-item-row .new-month-btn-rappel-toggle.new-month-btn-rappel-toggle--on{opacity:.95}.search-drawer-empty,.search-drawer-hint{color:var(--navy-soft);margin:0;padding:.75rem 0;font-size:.9rem}.search-drawer-hint{font-style:italic}.search-drawer-field{flex-direction:column;gap:.35rem;display:flex}.buddj-input-clear-wrap{flex:1;align-items:stretch;min-width:0;display:flex;position:relative}.buddj-input-clear-wrap--block{flex:none;width:100%}.buddj-input-clear-wrap>input{padding-right:2.5rem}.buddj-input-clear-btn{width:1.75rem;height:1.75rem;color:var(--navy-soft);cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-size:1.15rem;line-height:1;transition:background .15s,color .15s;display:inline-flex;position:absolute;top:50%;right:.35rem;transform:translateY(-50%)}.buddj-input-clear-btn:hover{color:var(--navy);background:#fff3}.buddj-input-clear-btn:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.buddj-input-clear-btn[hidden]{display:none!important}.search-drawer-label{color:var(--navy-soft);font-size:.75rem;font-weight:600}.search-drawer-input{font-family:var(--font-body);border-radius:var(--radius);color:var(--navy);box-sizing:border-box;background:#0003;border:1px solid #ffffff26;width:100%;padding:.6rem .85rem;font-size:1rem}.search-drawer-input::placeholder{color:var(--navy-soft);opacity:.8}.search-drawer-input:focus{outline:2px solid var(--mint);outline-offset:2px;border-color:var(--mint)}buddj-charge-add-drawer,buddj-annual-charge-add-drawer{display:contents}buddj-charge-add-drawer.charge-add-drawer--open,buddj-annual-charge-add-drawer.charge-add-drawer--open{z-index:102;pointer-events:none;display:block;position:fixed;inset:0}buddj-charge-add-drawer.charge-add-drawer--open .charge-add-drawer-backdrop,buddj-charge-add-drawer.charge-add-drawer--open .charge-add-drawer-panel,buddj-annual-charge-add-drawer.charge-add-drawer--open .charge-add-drawer-backdrop,buddj-annual-charge-add-drawer.charge-add-drawer--open .charge-add-drawer-panel{pointer-events:auto}.charge-add-drawer-backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;background:#00000059;min-height:100dvh;transition:opacity .25s,visibility .25s;position:fixed;inset:0}buddj-charge-add-drawer.charge-add-drawer--open .charge-add-drawer-backdrop,buddj-annual-charge-add-drawer.charge-add-drawer--open .charge-add-drawer-backdrop{opacity:1;visibility:visible}.charge-add-drawer-panel{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:75vh;padding:1rem 1.25rem 1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;transition:transform .35s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #0000004d}buddj-charge-add-drawer.charge-add-drawer--open .charge-add-drawer-panel,buddj-annual-charge-add-drawer.charge-add-drawer--open .charge-add-drawer-panel{transform:translateY(0)}.charge-add-drawer-header{margin-bottom:1rem}.charge-add-drawer-title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.1rem;font-weight:600}.charge-add-drawer-body{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.charge-add-drawer-field{flex-direction:column;gap:.35rem;display:flex}.charge-add-drawer-label{text-transform:uppercase;letter-spacing:.04em;color:var(--navy-soft);font-size:.75rem;font-weight:600}.charge-add-drawer-input{font-family:var(--font-body);color:var(--navy);border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff1f;padding:.65rem .85rem;font-size:1rem}.charge-add-drawer-input:focus{outline:2px solid var(--mint);outline-offset:2px}.charge-add-drawer-field--error .charge-add-drawer-label{color:#d4a84b}.charge-add-drawer-field--error .charge-add-drawer-input{border-color:#dca03cb3;box-shadow:0 0 0 2px #dca03c40}.charge-add-drawer-field--error .charge-add-drawer-input:focus{outline-color:#d4a84b}.charge-add-drawer-label-row{align-items:center;gap:.5rem;display:flex}.charge-add-drawer-input{flex:1;min-width:0}.charge-add-drawer-input::placeholder{color:var(--navy-soft);opacity:.8}.charge-add-emoji-btn{border-radius:var(--radius);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.5rem;transition:background .2s,border-color .2s;display:inline-flex}.charge-add-emoji-btn:hover{background:#ffffff24;border-color:#81b29a59}.charge-add-drawer-amount{font-family:var(--font-head);color:var(--navy);text-align:left;border-radius:var(--radius);cursor:pointer;background:#0003;border:1px solid #ffffff1f;padding:.65rem .85rem;font-size:1.25rem;font-weight:700;transition:background .2s,border-color .2s}.charge-add-drawer-amount:hover{background:#ffffff1a;border-color:#81b29a59}.charge-add-drawer-amount:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.charge-add-drawer-footer{gap:.75rem;margin-top:auto;padding-top:.5rem;display:flex}.charge-add-drawer-cancel{color:var(--navy-soft);background:#ffffff14;border:1px solid #ffffff1f;flex:1}.charge-add-drawer-cancel:hover{color:var(--navy);background:#ffffff1f}.charge-add-drawer-validate{background:linear-gradient(135deg, var(--mint), #6a9d82);color:var(--white);box-shadow:0 2px 10px var(--mint-glow);border:none;flex:1}.charge-add-drawer-validate:hover{box-shadow:0 4px 14px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}buddj-expense-add-drawer{display:contents}buddj-expense-add-drawer.expense-add-drawer--open{z-index:102;pointer-events:none;display:block;position:fixed;inset:0}buddj-expense-add-drawer.expense-add-drawer--open .expense-add-drawer-backdrop,buddj-expense-add-drawer.expense-add-drawer--open .expense-add-drawer-panel{pointer-events:auto}.expense-add-drawer-backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;background:#00000059;min-height:100dvh;transition:opacity .25s,visibility .25s;position:fixed;inset:0}buddj-expense-add-drawer.expense-add-drawer--open .expense-add-drawer-backdrop{opacity:1;visibility:visible}.expense-add-drawer-panel{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:75vh;padding:1rem 1.25rem 1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;transition:transform .35s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #0000004d}buddj-expense-add-drawer.expense-add-drawer--open .expense-add-drawer-panel{transform:translateY(0)}.expense-add-drawer-header{margin-bottom:1rem}.expense-add-drawer-title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.1rem;font-weight:600}.expense-add-drawer-body{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.expense-add-drawer-field{flex-direction:column;gap:.35rem;display:flex}.expense-add-drawer-label{text-transform:uppercase;letter-spacing:.04em;color:var(--navy-soft);font-size:.75rem;font-weight:600}.expense-add-drawer-input{font-family:var(--font-body);color:var(--navy);border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff1f;flex:1;min-width:0;padding:.65rem .85rem;font-size:1rem}.expense-add-drawer-input:focus{outline:2px solid var(--mint);outline-offset:2px}.expense-add-drawer-field--error .expense-add-drawer-label{color:#d4a84b}.expense-add-drawer-field--error .expense-add-drawer-input{border-color:#dca03cb3;box-shadow:0 0 0 2px #dca03c40}.expense-add-drawer-field--error .expense-add-drawer-input:focus{outline-color:#d4a84b}.expense-add-drawer-input::placeholder{color:var(--navy-soft);opacity:.8}.expense-add-drawer-label-row{align-items:center;gap:.5rem;display:flex}.expense-add-emoji-btn{border-radius:var(--radius);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.5rem;transition:background .2s,border-color .2s;display:inline-flex}.expense-add-emoji-btn:hover{background:#ffffff24;border-color:#81b29a59}.expense-add-drawer-amount{font-family:var(--font-head);color:var(--navy);text-align:left;border-radius:var(--radius);cursor:pointer;background:#0003;border:1px solid #ffffff1f;padding:.65rem .85rem;font-size:1.25rem;font-weight:700;transition:background .2s,border-color .2s}.expense-add-drawer-amount:hover{background:#ffffff1a;border-color:#81b29a59}.expense-add-drawer-amount:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.expense-add-drawer-footer{gap:.75rem;margin-top:auto;padding-top:.5rem;display:flex}.expense-add-drawer-cancel{color:var(--navy-soft);background:#ffffff14;border:1px solid #ffffff1f;flex:1}.expense-add-drawer-cancel:hover{color:var(--navy);background:#ffffff1f}.expense-add-drawer-validate{background:linear-gradient(135deg, var(--mint), #6a9d82);color:var(--white);box-shadow:0 2px 10px var(--mint-glow);border:none;flex:1}.expense-add-drawer-validate:hover{box-shadow:0 4px 14px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}buddj-budget-add-drawer,buddj-annual-budget-add-drawer{display:contents}buddj-budget-add-drawer.budget-add-drawer--open,buddj-annual-budget-add-drawer.budget-add-drawer--open{z-index:102;pointer-events:none;display:block;position:fixed;inset:0}buddj-budget-add-drawer.budget-add-drawer--open .budget-add-drawer-backdrop,buddj-budget-add-drawer.budget-add-drawer--open .budget-add-drawer-panel,buddj-annual-budget-add-drawer.budget-add-drawer--open .budget-add-drawer-backdrop,buddj-annual-budget-add-drawer.budget-add-drawer--open .budget-add-drawer-panel{pointer-events:auto}.budget-add-drawer-backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;background:#00000059;min-height:100dvh;transition:opacity .25s,visibility .25s;position:fixed;inset:0}buddj-budget-add-drawer.budget-add-drawer--open .budget-add-drawer-backdrop,buddj-annual-budget-add-drawer.budget-add-drawer--open .budget-add-drawer-backdrop{opacity:1;visibility:visible}.budget-add-drawer-panel{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:75vh;padding:1rem 1.25rem 1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;transition:transform .35s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #0000004d}buddj-budget-add-drawer.budget-add-drawer--open .budget-add-drawer-panel,buddj-annual-budget-add-drawer.budget-add-drawer--open .budget-add-drawer-panel{transform:translateY(0)}.budget-add-drawer-header{margin-bottom:1rem}.budget-add-drawer-title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.1rem;font-weight:600}.budget-add-drawer-body{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.budget-add-drawer-field{flex-direction:column;gap:.35rem;display:flex}.budget-add-drawer-label{text-transform:uppercase;letter-spacing:.04em;color:var(--navy-soft);font-size:.75rem;font-weight:600}.budget-add-drawer-input{font-family:var(--font-body);color:var(--navy);border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff1f;flex:1;min-width:0;padding:.65rem .85rem;font-size:1rem}.budget-add-drawer-input:focus{outline:2px solid var(--mint);outline-offset:2px}.budget-add-drawer-field--error .budget-add-drawer-label{color:#d4a84b}.budget-add-drawer-field--error .budget-add-drawer-input{border-color:#dca03cb3;box-shadow:0 0 0 2px #dca03c40}.budget-add-drawer-field--error .budget-add-drawer-input:focus{outline-color:#d4a84b}.budget-add-drawer-input::placeholder{color:var(--navy-soft);opacity:.8}.budget-add-drawer-label-row{align-items:center;gap:.5rem;display:flex}.budget-add-emoji-btn{border-radius:var(--radius);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.5rem;transition:background .2s,border-color .2s;display:inline-flex}.budget-add-emoji-btn:hover{background:#ffffff24;border-color:#81b29a59}.budget-add-drawer-amount{font-family:var(--font-head);color:var(--navy);text-align:left;border-radius:var(--radius);cursor:pointer;background:#0003;border:1px solid #ffffff1f;padding:.65rem .85rem;font-size:1.25rem;font-weight:700;transition:background .2s,border-color .2s}.budget-add-drawer-amount:hover{background:#ffffff1a;border-color:#81b29a59}.budget-add-drawer-amount:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.budget-add-drawer-footer{gap:.75rem;margin-top:auto;padding-top:.5rem;display:flex}.budget-add-drawer-cancel{color:var(--navy-soft);background:#ffffff14;border:1px solid #ffffff1f;flex:1}.budget-add-drawer-cancel:hover{color:var(--navy);background:#ffffff1f}.budget-add-drawer-validate{background:linear-gradient(135deg, var(--mint), #6a9d82);color:var(--white);box-shadow:0 2px 10px var(--mint-glow);border:none;flex:1}.budget-add-drawer-validate:hover{box-shadow:0 4px 14px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}buddj-budget-edit-drawer{display:contents}buddj-budget-edit-drawer.budget-edit-drawer--open{z-index:102;pointer-events:none;display:block;position:fixed;inset:0}buddj-budget-edit-drawer.budget-edit-drawer--open .budget-edit-drawer-backdrop,buddj-budget-edit-drawer.budget-edit-drawer--open .budget-edit-drawer-panel{pointer-events:auto}.budget-edit-drawer-backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;background:#00000059;min-height:100dvh;transition:opacity .25s,visibility .25s;position:fixed;inset:0}buddj-budget-edit-drawer.budget-edit-drawer--open .budget-edit-drawer-backdrop{opacity:1;visibility:visible}.budget-edit-drawer-panel{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:75vh;padding:1rem 1.25rem 1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;transition:transform .35s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 24px #0000004d}buddj-budget-edit-drawer.budget-edit-drawer--open .budget-edit-drawer-panel{transform:translateY(0)}.budget-edit-drawer-header{margin-bottom:1rem}.budget-edit-drawer-title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.1rem;font-weight:600}.budget-edit-drawer-body{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.budget-edit-drawer-field{flex-direction:column;gap:.35rem;display:flex}.budget-edit-drawer-label{text-transform:uppercase;letter-spacing:.04em;color:var(--navy-soft);font-size:.75rem;font-weight:600}.budget-edit-drawer-input{font-family:var(--font-body);color:var(--navy);border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff1f;padding:.65rem .85rem;font-size:1rem}.budget-edit-drawer-input:focus{outline:2px solid var(--mint);outline-offset:2px}.budget-edit-drawer-field--error .budget-edit-drawer-label{color:#d4a84b}.budget-edit-drawer-field--error .budget-edit-drawer-input{border-color:#dca03cb3;box-shadow:0 0 0 2px #dca03c40}.budget-edit-drawer-field--error .budget-edit-drawer-input:focus{outline-color:#d4a84b}.budget-edit-drawer-label-row{align-items:center;gap:.5rem;display:flex}.budget-edit-drawer-input{flex:1;min-width:0}.budget-edit-emoji-btn{border-radius:var(--radius);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.5rem;transition:background .2s,border-color .2s;display:inline-flex}.budget-edit-emoji-btn:hover{background:#ffffff24;border-color:#81b29a59}.budget-edit-drawer-input::placeholder{color:var(--navy-soft);opacity:.8}.budget-edit-drawer-footer{gap:.75rem;margin-top:auto;padding-top:.5rem;display:flex}.budget-edit-drawer-cancel{color:var(--navy-soft);background:#ffffff14;border:1px solid #ffffff1f;flex:1}.budget-edit-drawer-cancel:hover{color:var(--navy);background:#ffffff1f}.budget-edit-drawer-validate{background:linear-gradient(135deg, var(--mint), #6a9d82);color:var(--white);box-shadow:0 2px 10px var(--mint-glow);border:none;flex:1}.budget-edit-drawer-validate:hover{box-shadow:0 4px 14px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}buddj-transfer-drawer{display:contents}buddj-transfer-drawer.transfer-drawer--open{z-index:102;pointer-events:none;display:block;position:fixed;inset:0}buddj-transfer-drawer.transfer-drawer--open .transfer-drawer-backdrop,buddj-transfer-drawer.transfer-drawer--open .transfer-drawer-panel{pointer-events:auto}.transfer-drawer-backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;background:#00000059;min-height:100dvh;transition:opacity .25s,visibility .25s;position:fixed;inset:0}buddj-transfer-drawer.transfer-drawer--open .transfer-drawer-backdrop{opacity:1;visibility:visible}.transfer-drawer-panel{background:var(--bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:85vh;padding:1rem 1.25rem 1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom));flex-direction:column;transition:transform .35s;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(100%);box-shadow:0 -4px 24px #0000004d}buddj-transfer-drawer.transfer-drawer--open .transfer-drawer-panel{transform:translateY(0)}.transfer-drawer-header{margin-bottom:1rem}.transfer-drawer-title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.1rem;font-weight:600}.transfer-drawer-body{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.transfer-drawer-max{color:var(--navy-soft);margin:0 0 .25rem;font-size:.8rem;font-weight:600}.transfer-drawer-max-hint{opacity:.9;font-weight:500}.transfer-drawer-field{flex-direction:column;gap:.35rem;display:flex}.transfer-drawer-field--error .transfer-drawer-label{color:#d4a84b}.transfer-drawer-field--error .transfer-drawer-amount-btn{border-color:#dca03cb3;box-shadow:0 0 0 2px #dca03c40}.transfer-drawer-label{text-transform:uppercase;letter-spacing:.04em;color:var(--navy-soft);font-size:.75rem;font-weight:600}.transfer-drawer-amount-row{align-items:center;gap:.5rem;display:flex}.transfer-drawer-amount-btn{font-family:var(--font-head);color:var(--navy);text-align:left;border-radius:var(--radius);cursor:pointer;background:#0003;border:1px solid #ffffff1f;flex:1;padding:.65rem .85rem;font-size:1.25rem;font-weight:700;transition:background .2s,border-color .2s}.transfer-drawer-amount-btn:hover{background:#ffffff1a;border-color:#81b29a59}.transfer-drawer-amount-btn:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.transfer-drawer-max-btn{color:var(--mint);border-radius:var(--radius);cursor:pointer;background:#81b29a26;border:1px solid #81b29a59;flex-shrink:0;padding:.65rem 1rem;font-size:.9rem;font-weight:600;transition:background .2s,border-color .2s}.transfer-drawer-max-btn:hover{border-color:var(--mint);background:#81b29a40}.transfer-drawer-destinations{flex-direction:column;gap:.5rem;display:flex}.transfer-drawer-dest-title{text-transform:uppercase;letter-spacing:.04em;color:var(--navy-soft);font-size:.75rem;font-weight:600}.transfer-drawer-dest-list{flex-direction:column;gap:.35rem;display:flex}.transfer-drawer-dest-row{align-items:stretch;gap:.35rem;display:flex}.transfer-drawer-dest-row .transfer-drawer-dest{flex:1;min-width:0}.transfer-drawer-dest-to-zero{min-width:6rem;color:var(--mint);border-radius:var(--radius);cursor:pointer;white-space:nowrap;background:#81b29a33;border:1px solid #81b29a66;flex-shrink:0;align-self:stretch;padding:0 .75rem;font-size:.8rem;font-weight:600;transition:background .2s,border-color .2s,opacity .2s}.transfer-drawer-dest-to-zero:hover:not(:disabled){border-color:var(--mint);background:#81b29a59}.transfer-drawer-dest-to-zero:disabled{opacity:.4;cursor:not-allowed;color:var(--navy-soft);background:#ffffff0a;border-color:#ffffff14}.transfer-drawer-dest{text-align:left;width:100%;font-family:var(--font-body);color:var(--navy);border-radius:var(--radius);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;align-items:center;gap:.5rem;padding:.6rem .85rem;font-size:1rem;font-weight:500;transition:background .2s,border-color .2s;display:flex}.transfer-drawer-dest:hover{background:#ffffff1a;border-color:#81b29a4d}.transfer-drawer-dest-icon{flex-shrink:0;font-size:1.25rem}.transfer-drawer-dest-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.transfer-drawer-dest-label{color:var(--navy);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.transfer-drawer-dest-amounts{align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.transfer-drawer-dest-current{color:var(--navy-soft)}.transfer-drawer-dest-arrow{color:var(--navy-soft);font-size:.85rem}.transfer-drawer-dest-after{color:var(--mint);font-weight:600}.transfer-drawer-footer{margin-top:auto;padding-top:.5rem}.transfer-drawer-cancel{width:100%;color:var(--navy-soft);background:#ffffff14;border:1px solid #ffffff1f}.transfer-drawer-cancel:hover{color:var(--navy);background:#ffffff1f}buddj-burger-panel{display:contents}buddj-burger-panel.burger-panel--open{z-index:90;pointer-events:none;display:block;position:fixed;inset:0}buddj-burger-panel.burger-panel--open .burger-panel-backdrop,buddj-burger-panel.burger-panel--open .burger-panel-drawer{pointer-events:auto}.burger-panel-backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;background:#00000059;min-height:100dvh;transition:opacity .25s,visibility .25s;position:fixed;inset:0}buddj-burger-panel.burger-panel--open .burger-panel-backdrop{opacity:1;visibility:visible}.burger-panel-drawer{background:var(--bg-card);flex-direction:column;width:280px;max-width:85vw;height:100%;min-height:100dvh;transition:transform .3s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-4px 0 24px #0000004d}buddj-burger-panel.burger-panel--open .burger-panel-drawer{transform:translate(0)}.burger-panel-header{border-bottom:1px solid #ffffff0f;justify-content:flex-end;padding:.875rem 1rem;display:flex}.burger-panel-close{border-radius:var(--radius);width:2.25rem;height:2.25rem;color:var(--navy-soft);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1;transition:background .2s,color .2s}.burger-panel-close:hover{color:var(--navy);background:#ffffff14}.burger-panel-content{padding:1rem 0;overflow:auto}.burger-panel-list{margin:0;padding:0;list-style:none}.burger-panel-divider{background:#ffffff14;height:1px;margin:.5rem 1.25rem}.burger-panel-link{width:100%;font-family:var(--font-body);color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:none;padding:.65rem 1.25rem;font-size:.95rem;text-decoration:none;transition:background .2s,color .2s;display:block}.burger-panel-link:hover{background:var(--bg-card-hover);color:var(--navy)}.burger-panel-link--logout{color:var(--navy-soft)}.burger-panel-link--active{color:var(--mint);background:#81b29a26;font-weight:600}.burger-panel-link--active:hover{color:var(--mint);background:#81b29a40}body.route-new-month{height:100dvh;overflow:hidden}body.route-home .global-header,body.route-new-month .global-header buddj-summary-bar,body.route-archived .global-header buddj-summary-bar,body.route-savings .global-header buddj-summary-bar,body.route-reimbursements .global-header buddj-summary-bar,body.route-templates .global-header buddj-summary-bar,body.route-annual-outflows .global-header buddj-summary-bar{display:none}body.route-home,body.route-savings,body.route-reimbursements,body.route-archived,body.route-templates,body.route-annual-outflows{flex-direction:column;height:100dvh;display:flex;overflow:hidden}body.route-home #screen-outlet,body.route-savings #screen-outlet,body.route-reimbursements #screen-outlet,body.route-archived #screen-outlet,body.route-templates #screen-outlet,body.route-annual-outflows #screen-outlet{flex:1;min-height:0}body.route-home buddj-screen-home,body.route-savings buddj-screen-savings,body.route-reimbursements buddj-screen-reimbursements,body.route-archived buddj-screen-archived,body.route-templates buddj-screen-templates,body.route-templates buddj-screen-template-detail,body.route-annual-outflows buddj-screen-annual-outflows{flex-direction:column;flex:1;width:100%;min-width:0;max-width:min(520px,100%);min-height:0;margin:0 auto;display:flex;overflow:hidden}body.route-home buddj-screen-home main.screen,body.route-savings buddj-screen-savings main.screen,body.route-reimbursements buddj-screen-reimbursements main.screen,body.route-archived buddj-screen-archived main.screen,body.route-templates buddj-screen-templates main.screen,body.route-templates buddj-screen-template-detail main.screen,body.route-annual-outflows buddj-screen-annual-outflows main.screen{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;min-height:0;padding:0;display:flex;overflow:hidden}buddj-screen-home{display:none}body.route-home buddj-screen-home main.screen{text-align:center;-webkit-overflow-scrolling:touch;flex-direction:column;justify-content:flex-start;align-items:center;padding:2rem 1.25rem;display:flex;overflow:hidden auto}body.route-home .home-content{flex-direction:column;align-items:center;gap:1.5rem;max-width:28rem;padding-top:0;display:flex}body.route-home .home-header{flex-direction:column;align-items:center;gap:1rem;display:flex}body.route-home .home-header .home-logo{max-width:100%;height:auto}body.route-home .home-header h1{font-family:var(--font-head);color:var(--navy);margin:0;padding-top:.5rem;font-size:1.75rem;font-weight:700}body.route-home .home-features{flex-direction:column;gap:1rem;width:100%;margin:0;display:flex}body.route-home .home-feature{border-radius:var(--radius-lg);background:#ffffff0a;border:1px solid #ffffff14;padding:1rem 1.25rem 1rem 3.5rem;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}body.route-home .home-feature:hover{border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 8px 24px #00000040}body.route-home .home-feature-icon{font-size:1.5rem;line-height:1;position:absolute;top:1rem;left:1rem}body.route-home .home-feature-title{font-family:var(--font-head);color:var(--navy);letter-spacing:.01em;margin:0 0 .35rem;font-size:1.05rem;font-weight:700}body.route-home .home-feature-desc{color:var(--navy-soft);margin:0;font-size:.9rem;line-height:1.45}body.route-home .home-feature--charges{border-left:3px solid var(--coral)}body.route-home .home-feature--charges .home-feature-title{color:var(--coral)}body.route-home .home-feature--enveloppes{border-left:3px solid var(--mint)}body.route-home .home-feature--enveloppes .home-feature-title{color:var(--mint)}body.route-home .home-feature--economies{border-left:3px solid var(--gold)}body.route-home .home-feature--economies .home-feature-title{color:var(--gold)}body.route-home .home-feature--remboursements{border-left:3px solid var(--accent-purple)}body.route-home .home-feature--remboursements .home-feature-title{color:var(--accent-purple)}body.route-home .home-disclaimer{color:#1a1b24;border-radius:var(--radius);background:#f2cc8f40;border:1px solid #f2cc8f99;justify-content:center;align-items:center;gap:.5rem;margin:0;padding:.75rem 1rem;font-size:.95rem;font-weight:700;display:flex;box-shadow:inset 0 0 0 1px #0000000d}body.route-home .home-disclaimer-icon{flex-shrink:0;font-size:1.25rem;line-height:1}body.route-home .home-contact{color:var(--navy-soft);margin:0;font-size:.95rem}body.route-home .home-contact a{color:var(--coral);text-decoration:underline}body.route-home .home-contact a:hover{color:var(--coral-glow,var(--coral))}body.route-home .home-cta{font-family:var(--font-head);color:var(--bg);background:linear-gradient(135deg, var(--coral), var(--mint));border-radius:var(--radius-lg);cursor:pointer;border:none;justify-content:center;align-items:center;padding:1rem 2rem;font-size:1.25rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}body.route-home .home-cta:hover{transform:translateY(-2px);box-shadow:0 4px 20px #ed800259}#screen-outlet{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}body.route-outflows,body.route-budgets{flex-direction:column;height:100dvh;display:flex;overflow:hidden}body.route-outflows .global-header,body.route-budgets .global-header{flex-shrink:0}body.route-outflows buddj-screen-recurring,body.route-budgets buddj-screen-budgets{flex-direction:column;flex:1;width:100%;min-width:0;max-width:min(520px,100%);min-height:0;margin:0 auto;display:flex;overflow:hidden}body.route-outflows buddj-screen-recurring main.screen,body.route-budgets buddj-screen-budgets main.screen{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;padding:0;display:flex;overflow:hidden}body.route-budgets main#budgets{padding-top:0}body.route-outflows .screen-sticky-header-wrap,body.route-budgets .screen-sticky-header-wrap{flex-shrink:0;width:100%;min-width:0;padding:0}body.route-outflows .screen-sticky-header-wrap .screen-header,body.route-budgets .screen-sticky-header-wrap .screen-header{box-sizing:border-box;background:var(--bg);border-bottom:1px solid #ffffff14;width:100%;padding:1rem 1.25rem;box-shadow:0 1px #0000000d}body.route-outflows .screen-sticky-header-wrap .screen-header-row,body.route-budgets .screen-sticky-header-wrap .screen-header-row{width:100%}body.route-outflows .screen-sticky-header-wrap .screen-header .title,body.route-budgets .screen-sticky-header-wrap .screen-header .title{font-family:var(--font-head);color:var(--navy);flex:1;min-width:0;margin:0;font-size:1.25rem;font-weight:700}body.route-outflows .recurring-list,body.route-budgets .budget-list{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:0 1.25rem 3rem;overflow-y:auto}body.route-budgets .budget-list{padding-top:.5rem}buddj-screen-archived{display:none}.archived-sticky-wrap{background:var(--bg);flex-shrink:0;width:100%;min-width:0}.archived-sticky-wrap .screen-header{box-shadow:var(--shadow);box-sizing:border-box;border-bottom:1px solid #ffffff14;flex-shrink:0;margin-bottom:0;padding:1rem 1.25rem}.archived-sticky-wrap .screen-header .title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.25rem;font-weight:700}body.route-archived buddj-screen-archived .archived-section{box-sizing:border-box;-webkit-overflow-scrolling:touch;flex:1;width:100%;min-width:0;min-height:0;padding:1rem 1.25rem 2rem;overflow:hidden auto}buddj-screen-templates,buddj-screen-template-detail{display:none}.templates-sticky-wrap{flex-shrink:0;width:100%;min-width:0}.templates-sticky-wrap .screen-header{background:var(--bg);box-shadow:var(--shadow);box-sizing:border-box;border-bottom:1px solid #ffffff14;flex-shrink:0;margin-bottom:0;padding:1rem 1.25rem}.templates-sticky-wrap .screen-header .title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.25rem;font-weight:700}.templates-list-wrap,.templates-list{box-sizing:border-box;-webkit-overflow-scrolling:touch;flex:1;width:100%;min-width:0;min-height:0;padding:1.25rem 1.25rem 2rem;overflow:hidden auto}main.screen--templates .templates-loading,main.screen--templates .templates-error{box-sizing:border-box;flex-shrink:0;margin:0;padding:1rem 1.25rem 0}.template-list-item{color:inherit;margin-bottom:.5rem;text-decoration:none;display:block}.template-list-item:hover buddj-line-item{border-color:#ffffff26}.template-list-badge{background:var(--mint);color:var(--bg);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.templates-empty{color:var(--muted);padding:1rem 0}.template-detail-sticky-wrap .template-detail-header,.template-detail-sticky-wrap .new-month-header{background:var(--bg);box-shadow:var(--shadow);box-sizing:border-box;border-bottom:1px solid #ffffff14;flex-shrink:0;margin-bottom:0;padding:1rem 1.25rem}.template-detail-header-row{align-items:center;gap:.75rem;width:100%;min-width:0;display:flex}.template-detail-header-row--back-only{justify-content:flex-start}.template-detail-not-found{box-sizing:border-box;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:1.5rem 1.25rem;display:flex}.template-detail-not-found-message{color:var(--muted);margin:0;font-size:1rem}.template-detail-back{color:var(--text);flex-shrink:0;padding:.25rem;font-size:1.25rem;line-height:1;text-decoration:none}.template-detail-back:hover{color:var(--mint)}.template-detail-title-block{flex:1;min-width:0}.template-detail-header-row .new-month-title{min-width:0;font-family:var(--font-head);color:var(--navy);flex:1;margin:0;font-size:1.25rem;font-weight:700}.template-detail-title-edit{width:100%;max-width:100%;font:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.25rem;min-width:0;margin:0;padding:0;display:block}.template-detail-title-edit buddj-text-ellipsis{width:100%;min-width:0;display:block}.template-detail-title-edit .buddj-text-ellipsis__inner{font:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}.template-detail-title-edit:hover,.template-detail-title-edit:focus-visible{color:var(--mint);outline:none}.template-detail-title-edit:hover .buddj-text-ellipsis__inner,.template-detail-title-edit:focus-visible .buddj-text-ellipsis__inner{color:var(--mint)}.template-default-switch-wrap{cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.template-default-switch-label{color:var(--navy-soft);font-size:.875rem}.template-default-switch-wrap:has(.template-default-switch:not(:checked)) .template-default-switch-label{opacity:.55}.template-default-switch-row{display:block}.template-default-switch{appearance:none;background:var(--surface);cursor:pointer;border:1px solid #ffffff26;border-radius:999px;width:2.5rem;height:1.35rem;transition:background .2s,border-color .2s;position:relative}.template-default-switch:before{content:"";background:var(--navy-soft);border-radius:50%;width:1rem;height:calc(1.35rem - 6px);transition:transform .2s;position:absolute;top:2px;left:2px}.template-default-switch:checked{background:var(--mint);border-color:var(--mint)}.template-default-switch:checked:before{background:var(--bg);transform:translate(1.1rem)}.template-detail-sticky-wrap .new-month-projected-sticky{z-index:2;background:var(--bg);border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.template-detail-sticky-wrap .new-month-projected-label{color:var(--navy-soft);font-size:.9rem;font-weight:500}.template-detail-sticky-wrap .new-month-projected-sticky [data-new-month-projected]{color:var(--mint);font-size:1.25rem;font-weight:700}.template-detail-sticky-wrap .new-month-projected-sticky--simulating [data-new-month-projected],.template-detail-sticky-wrap .new-month-projected-sticky [data-new-month-projected].new-month-projected--simulating{color:var(--mint);opacity:.55}.template-detail-sections{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;padding:1rem 1.25rem 2rem;display:flex;overflow-y:auto}.template-detail-sticky-wrap .template-detail-tabs{background:var(--bg);border-bottom:1px solid #ffffff1f;flex-shrink:0;gap:0;padding:.75rem 1.25rem .5rem;display:flex}.template-detail-tab{color:var(--navy-soft);cursor:pointer;background:0 0;border:none;border-radius:.25rem;padding:.5rem 1rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:color .15s,background .15s}.template-detail-tab:hover{color:var(--navy);background:#ffffff0a}.template-detail-tab.template-detail-tab--active{color:var(--mint)}.template-detail-panel{padding-top:.75rem}.template-detail-panel.template-detail-panel--hidden{display:none}.template-detail-panel .template-section-summary{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.25rem;padding:.5rem 0 .75rem;display:flex}.template-detail-panel .template-section-summary span{font-size:.95rem;font-weight:500}.template-section-search-wrap{justify-content:flex-end;margin-bottom:.5rem;display:flex}.template-section-search{cursor:pointer;opacity:.8;flex-shrink:0}.template-detail-panel .template-section-content{padding:0}.template-detail-panel .template-section-content .charge-group,.template-detail-panel .template-section-content .budget-group{margin-top:0}buddj-screen-annual-outflows{display:none}.annual-outflows-sticky-wrap{background:var(--bg);flex-shrink:0}.annual-outflows-sticky-wrap .annual-outflows-header,.annual-outflows-sticky-wrap .new-month-header{box-sizing:border-box;border-bottom:1px solid #ffffff14;margin-bottom:0;padding:1rem 1.25rem;box-shadow:0 1px #00000026}.annual-outflows-header-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.annual-outflows-header-row .new-month-title{font-family:var(--font-head);color:var(--navy);flex:1;margin:0;font-size:1.25rem;font-weight:700}.annual-outflows-header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.annual-outflows-search .btn--search{width:2.25rem;height:2.25rem;color:var(--navy-soft);cursor:pointer;background:0 0;border:1px solid #ffffff26;justify-content:center;align-items:center;padding:0;display:inline-flex}.annual-outflows-search .buddj-icon-search__svg{width:1.25rem;height:1.25rem}.annual-outflows-search .btn--search:hover{color:var(--navy);background:#ffffff0f}.annual-outflows-sticky-wrap .new-month-projected-sticky{z-index:2;background:var(--bg);border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}.annual-outflows-sticky-wrap .new-month-projected-label{color:var(--navy-soft);font-size:.9rem;font-weight:500}.annual-outflows-sticky-wrap .new-month-projected-sticky [data-annual-total-per-month]{color:var(--mint);font-size:1.25rem;font-weight:700}.annual-outflows-sticky-wrap .new-month-projected-sticky--simulating [data-annual-total-per-month],.annual-outflows-sticky-wrap .new-month-projected-sticky [data-annual-total-per-month].new-month-projected--simulating{color:var(--mint);opacity:.55}.new-month-projected-sticky .new-month-projected-label{flex:1;min-width:0}.new-month-projected-sticky-end{flex-shrink:0;justify-content:flex-end;align-items:center;gap:.35rem;min-height:1.5rem;margin-left:auto;display:flex}.new-month-projected-sticky-end [data-new-month-projected],.new-month-projected-sticky-end [data-annual-total-per-month]{text-align:right}.projected-simulation-end.btn{box-sizing:border-box;width:1.375rem;min-width:1.375rem;height:1.375rem;min-height:1.375rem;color:var(--mint);cursor:pointer;background:#81b29a1f;border:1px solid #81b29a73;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;line-height:1;display:inline-flex}.projected-simulation-end__icon{width:.7rem;height:.7rem}.projected-simulation-end:hover{background:#81b29a38}.projected-simulation-end:focus-visible{outline:2px solid var(--mint);outline-offset:2px}.projected-simulation-end[hidden]{visibility:hidden;pointer-events:none;background:0 0;border-color:#0000;width:1.375rem;min-width:1.375rem;height:1.375rem;min-height:1.375rem;padding:0}.annual-outflows-sections{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:1rem 1.25rem 2rem;overflow-y:auto}.annual-outflows-month{border-radius:var(--radius);background:#ffffff05;border:1px solid #ffffff1a;margin-bottom:.75rem;overflow:hidden}.annual-outflows-month:last-child{margin-bottom:0}.annual-outflows-month summary.annual-outflows-month-summary{cursor:pointer;-webkit-user-select:none;user-select:none;font-family:var(--font-head);align-items:flex-start;gap:.5rem;padding:.65rem 1rem;list-style:none;transition:background .15s;display:flex}.annual-outflows-month summary.annual-outflows-month-summary::-webkit-details-marker{display:none}.annual-outflows-month summary.annual-outflows-month-summary:hover{background:#ffffff0a}.annual-outflows-month .annual-outflows-month-toggle{color:var(--navy-soft);flex-shrink:0;margin-top:.35rem;font-size:.65rem;transition:transform .2s}.annual-outflows-month[open] .annual-outflows-month-toggle{transform:rotate(-180deg)}.annual-outflows-month-summary-inner{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.annual-outflows-month-summary-row--title{color:var(--navy);text-transform:uppercase;letter-spacing:.04em;font-size:.9rem;font-weight:600;line-height:1.2}.annual-outflows-month-summary-row--recap{color:var(--navy-soft);opacity:.9;align-items:center;gap:.5rem;font-size:.8rem;line-height:1.3;display:flex}.annual-outflows-recap-charges{flex-shrink:0}.annual-outflows-recap-sep{background:#fff3;flex-shrink:0;width:1px;height:1em}.annual-outflows-recap-budgets{flex-shrink:0}.annual-outflows-month-content{border-top:1px solid #ffffff0f;padding:0 1rem 1rem}.annual-outflows-month-charges{margin-top:.75rem;margin-bottom:.75rem}.annual-outflows-month-charges .charge-group,.annual-outflows-month-budgets .budget-group{margin-bottom:0}.annual-outflows-month-budgets .budget-group{margin-top:0}buddj-screen-savings,buddj-screen-reimbursements{display:none}buddj-screen-savings .goal-screen-sticky-wrap,buddj-screen-reimbursements .goal-screen-sticky-wrap{background:var(--bg);flex-shrink:0}buddj-screen-savings .goal-section,buddj-screen-reimbursements .goal-section{flex:1;min-height:0;padding:0 1rem;overflow-y:auto}.goal-total-sticky{z-index:2;background:var(--bg-page);font-family:var(--font-head);color:var(--navy);border-bottom:1px solid #ffffff14;padding:.75rem 1rem;font-size:1rem;font-weight:700;position:sticky;top:0}.goal-section-header{flex-direction:row;justify-content:flex-end;align-items:center;gap:.4rem;padding:.7rem 0 .1rem;display:flex}.goal-injection-dropdown-item{border-radius:var(--radius);box-sizing:border-box;background:#81b29a14;border:1px solid #81b29a40;flex-direction:column;gap:.2rem;width:100%;margin:0;display:flex}.goal-injection-available-badge{background:var(--mint);width:.42rem;height:.42rem;box-shadow:0 0 0 2px var(--bg-card), 0 0 8px var(--mint-glow);border-radius:50%;position:absolute;top:.2rem;right:-.1rem}.goal-section-header buddj-actions-dropdown[data-goal-injection-menu]::part(panel),.summary-month-actions-dropdown::part(panel),.budget-card-menu-wrap::part(panel){padding:.25rem}.goal-injection-dropdown-title{color:var(--mint);font-weight:700}.goal-injection-dropdown-text{color:var(--navy-soft);white-space:normal;font-size:.8rem;line-height:1.25}.goal-card{padding:1rem 1.125rem;overflow:visible}.goal-card.goal-card--completed{background:linear-gradient(135deg, color-mix(in srgb, var(--mint) 16%, var(--bg-card)), color-mix(in srgb, var(--mint) 8%, var(--bg-card)));box-shadow:0 4px 18px color-mix(in srgb, var(--mint-glow) 70%, transparent);border-color:#81b29a8c}.goal-card.goal-card--completed .budget-name-text{color:var(--mint)}.goal-card .goal-card-actions{align-items:center;gap:.25rem;display:flex}.goal-card .goal-card-actions buddj-icon-add .btn,.goal-card .goal-card-actions buddj-icon-add button{border-radius:var(--radius);width:2rem;height:2rem;color:var(--mint);background:#81b29a26;border:1px solid #81b29a66;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.goal-card .goal-card-actions buddj-icon-add button:disabled{color:var(--mint);opacity:.5;cursor:not-allowed;background:#81b29a26;border:1px solid #81b29a66}.goal-card .goal-card-actions buddj-icon-add .btn:hover,.goal-card .goal-card-actions buddj-icon-add button:hover{background:#81b29a40}.goal-card .goal-card-actions .goal-btn-max{box-sizing:border-box;justify-content:center;align-items:center;height:2rem;padding:0 .5rem;font-size:.8rem;line-height:1.25;display:inline-flex}.summary-date-wrap .btn-menu-dots,.goal-card .goal-card-actions .btn-menu-dots,.budget-card-actions .btn-menu-dots,buddj-screen-new-month .new-month-line-actions buddj-actions-dropdown .btn-menu-dots,.goal-section-header buddj-actions-dropdown .btn-menu-dots{width:2rem;height:2rem;color:var(--navy-soft);border-radius:var(--radius);background:0 0;border:1px solid #ffffff26;justify-content:center;align-items:center;padding:0;font-size:1.15rem;font-weight:700;line-height:1;display:inline-flex;position:relative}.summary-date-wrap .btn-menu-dots:hover,.goal-card .goal-card-actions .btn-menu-dots:hover,.budget-card-actions .btn-menu-dots:hover,buddj-screen-new-month .new-month-line-actions buddj-actions-dropdown .btn-menu-dots:hover,.goal-section-header buddj-actions-dropdown .btn-menu-dots:hover{color:var(--navy);background:#ffffff0f;box-shadow:0 0 12px #ffffff14}.goal-list{flex-direction:column;gap:.5rem;margin:0;padding:.5rem 0;list-style:none;display:flex}.goal-row{list-style:none}.goal-row buddj-line-item.goal-line-item{overflow:visible}.goal-row buddj-line-item::part(main){padding:.5rem .85rem}.goal-row buddj-line-item::part(actions){padding-right:.85rem}.goal-row-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.goal-row-actions buddj-icon-add .btn,.goal-row-actions buddj-icon-add button{border-radius:var(--radius);padding:.2rem .5rem;font-size:.8rem;line-height:1.25}.goal-row-actions buddj-icon-add button:not(:disabled){color:var(--mint);background:#81b29a26;border:1px solid #81b29a66}.goal-row-actions buddj-icon-add .btn:hover,.goal-row-actions buddj-icon-add button:hover{background:#81b29a40}.goal-btn-max{border-radius:var(--radius);cursor:pointer;color:var(--mint);background:#81b29a26;border:1px solid #81b29a66;padding:0 .5rem;font-size:.8rem;line-height:1.25}.goal-btn-max:hover:not(:disabled){background:#81b29a40}.goal-btn-max:disabled{opacity:.5;cursor:not-allowed}.btn-menu-dots{color:var(--navy-soft);cursor:pointer;border-radius:var(--radius);font-size:1.1rem;font-weight:700;line-height:1}.goal-menu-wrap{position:relative}.goal-dropdown{background:var(--bg-card);border-radius:var(--radius);min-width:12rem;box-shadow:var(--shadow);z-index:100;border:1px solid #ffffff14;margin-top:.25rem;padding:.25rem 0;display:none;position:absolute;top:100%;right:0}.goal-dropdown.goal-dropdown--open{display:block}.goal-dropdown-item{text-align:left;width:100%;color:var(--navy);cursor:pointer;background:0 0;border:none;padding:.5rem .75rem;font-size:.9rem;display:block}.goal-dropdown-item:hover:not(:disabled){background:#ffffff0f}.goal-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.goal-dropdown-item--victory{color:var(--mint)}.goal-btn-victory{border-radius:var(--radius);cursor:pointer;color:var(--mint);background:#81b29a26;border:1px solid #81b29a66;padding:.2rem .5rem;font-size:.8rem;line-height:1.25}.goal-btn-victory:hover{background:#81b29a40}.goal-empty{text-align:center;color:var(--navy-soft);margin:0;padding:1.5rem 1rem;font-size:.95rem}buddj-injection-reminder{margin:.35rem 0 .7rem;display:block}.injection-reminder-card{border-radius:var(--radius);background:#81b29a14;border:1px solid #81b29a40;padding:.85rem 1rem;position:relative}.injection-reminder-close{color:var(--navy-soft);cursor:pointer;background:0 0;border:none;position:absolute;top:.4rem;right:.4rem}.injection-reminder-title{text-transform:uppercase;letter-spacing:.04em;color:var(--mint);margin:0;font-size:.78rem}.injection-reminder-text{color:var(--navy);margin:.35rem 0 0;font-size:.9rem}buddj-goal-amount-drawer,buddj-goal-edit-drawer,buddj-goal-add-drawer,buddj-goal-injection-drawer{z-index:102;pointer-events:none;display:none;position:fixed;inset:0}buddj-goal-amount-drawer.goal-amount-drawer--open,buddj-goal-edit-drawer.goal-edit-drawer--open,buddj-goal-add-drawer.goal-add-drawer--open,buddj-goal-injection-drawer.goal-injection-drawer--open{display:block}buddj-goal-amount-drawer.goal-amount-drawer--open{z-index:121}buddj-goal-amount-drawer.goal-amount-drawer--open .goal-amount-drawer-backdrop,buddj-goal-amount-drawer.goal-amount-drawer--open .goal-amount-drawer-panel,buddj-goal-edit-drawer.goal-edit-drawer--open .goal-edit-drawer-backdrop,buddj-goal-edit-drawer.goal-edit-drawer--open .goal-edit-drawer-panel,buddj-goal-add-drawer.goal-add-drawer--open .goal-add-drawer-backdrop,buddj-goal-add-drawer.goal-add-drawer--open .goal-add-drawer-panel,buddj-goal-injection-drawer.goal-injection-drawer--open .goal-injection-drawer-backdrop,buddj-goal-injection-drawer.goal-injection-drawer--open .goal-injection-drawer-panel{pointer-events:auto}.goal-amount-drawer-backdrop,.goal-edit-drawer-backdrop,.goal-add-drawer-backdrop,.goal-injection-drawer-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000059;position:fixed;inset:0}.goal-amount-drawer-panel,.goal-edit-drawer-panel,.goal-add-drawer-panel,.goal-injection-drawer-panel{background:var(--bg-card);border-radius:var(--radius) var(--radius) 0 0;padding:1rem 1.25rem;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 24px #0003}.goal-amount-drawer-title,.goal-edit-drawer-title,.goal-add-drawer-title,.goal-injection-drawer-title{font-family:var(--font-head);color:var(--navy);margin:0 0 1rem;font-size:1.1rem;font-weight:600}.goal-amount-drawer-body,.goal-edit-drawer-body,.goal-add-drawer-body,.goal-injection-drawer-body{flex-direction:column;gap:1rem;margin-bottom:1rem;display:flex}.goal-amount-drawer-field,.goal-edit-drawer-field,.goal-add-drawer-field{flex-direction:column;gap:.35rem;display:flex}.goal-injection-drawer-header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.goal-injection-drawer-close{color:var(--navy-soft);cursor:pointer;background:0 0;border:none;font-size:1rem}.goal-injection-drawer-amount{color:var(--mint);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.goal-injection-drawer-balance-hint{color:var(--navy-soft);font-size:.9em;font-weight:500}.goal-injection-project-list{flex-direction:column;gap:.5rem;display:flex}.goal-injection-project{border-radius:var(--radius);width:100%;color:var(--navy);cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff1f;grid-template-columns:1.5rem 1fr auto;align-items:center;gap:.45rem;padding:.55rem .75rem;display:grid}.goal-injection-project-name{font-weight:600}.goal-injection-project-amount{justify-self:end;gap:.25rem}.goal-injection-project-remaining-suffix{color:var(--navy-soft);font-family:var(--font-body);font-size:.82rem;font-weight:500}.goal-injection-empty{color:var(--navy-soft);margin:0}.goal-add-drawer-label-row{align-items:center;gap:.5rem;display:flex}.goal-add-emoji-btn{border-radius:var(--radius);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.25rem;display:inline-flex}.goal-add-emoji-btn:hover{background:#ffffff24;border-color:#81b29a59}.goal-add-drawer-label-row .goal-add-drawer-input{flex:1;min-width:0}.goal-edit-drawer-label-row{align-items:center;gap:.5rem;display:flex}.goal-edit-emoji-btn{border-radius:var(--radius);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1f;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:1.25rem;display:inline-flex}.goal-edit-emoji-btn:hover{background:#ffffff24;border-color:#81b29a59}.goal-edit-drawer-label-row .goal-edit-drawer-input{flex:1;min-width:0}.goal-amount-drawer-label,.goal-edit-drawer-label,.goal-add-drawer-label{text-transform:uppercase;letter-spacing:.04em;color:var(--navy-soft);font-size:.75rem;font-weight:600}.goal-amount-drawer-amount,.goal-edit-drawer-amount,.goal-add-drawer-amount{font-family:var(--font-body);color:var(--navy);border-radius:var(--radius);text-align:left;cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;padding:.65rem .85rem;font-size:1rem}.goal-add-drawer-input{font-family:var(--font-body);color:var(--navy);border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff1f;padding:.65rem .85rem;font-size:1rem}.goal-add-drawer-field--error .goal-add-drawer-input{border-color:#dca03cb3}.goal-amount-drawer-hint{color:var(--navy-soft);margin:0;font-size:.85rem}.goal-amount-drawer-footer,.goal-edit-drawer-footer,.goal-add-drawer-footer{gap:.75rem;margin-top:auto;padding-top:.5rem;display:flex}.goal-amount-drawer-cancel,.goal-edit-drawer-cancel,.goal-add-drawer-cancel{color:var(--navy-soft);background:#ffffff14;border:1px solid #ffffff1f;flex:1}.goal-amount-drawer-cancel:hover,.goal-edit-drawer-cancel:hover,.goal-add-drawer-cancel:hover{color:var(--navy);background:#ffffff1f}.goal-amount-drawer-validate,.goal-edit-drawer-validate,.goal-add-drawer-validate{background:linear-gradient(135deg, var(--mint), #6a9d82);color:var(--white);box-shadow:0 2px 10px var(--mint-glow);border:none;flex:1}.goal-amount-drawer-validate:hover,.goal-edit-drawer-validate:hover,.goal-add-drawer-validate:hover{box-shadow:0 4px 14px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}.goal-edit-drawer-input{font-family:var(--font-body);color:var(--navy);border-radius:var(--radius);background:#ffffff14;border:1px solid #ffffff1f;padding:.65rem .85rem;font-size:1rem}.goal-amount-drawer-field--error .goal-amount-drawer-amount,.goal-edit-drawer-field--error .goal-edit-drawer-input{border-color:#dca03cb3}body.route-archived .archived-section{margin-top:0}.archived-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.archived-row{list-style:none}.archived-row .archived-line-item{min-height:2rem}.archived-row .archived-line-item::part(main){padding:.5rem .85rem}.archived-row-actions{flex-shrink:0;align-items:center;gap:.5rem;padding-right:.85rem;display:flex}.archived-btn-unarchive{color:var(--mint);border-radius:var(--radius);cursor:pointer;background:#81b29a26;border:1px solid #81b29a66;padding:.2rem .6rem;font-size:.8rem;font-weight:600;line-height:1.25;transition:background .2s,border-color .2s}.archived-btn-unarchive:hover{background:#81b29a40;border-color:#81b29a80}.archived-empty{text-align:center;color:var(--navy-soft);margin:0;padding:1.5rem 1rem;font-size:.95rem}buddj-screen-new-month{top:var(--global-header-height);z-index:5;pointer-events:none;display:none;position:fixed;bottom:0;left:0;right:0}body.route-new-month buddj-screen-new-month{top:var(--global-header-height-nav-only)}buddj-screen-new-month.new-month-screen--open,buddj-screen-savings.new-month-screen--open,buddj-screen-reimbursements.new-month-screen--open{pointer-events:auto;flex-direction:column;display:flex}buddj-screen-new-month .new-month-panel,buddj-screen-savings .new-month-panel,buddj-screen-reimbursements .new-month-panel{flex-direction:column;flex:1;width:100%;max-width:32rem;min-height:0;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=640px){buddj-screen-new-month .new-month-panel,buddj-screen-savings .new-month-panel,buddj-screen-reimbursements .new-month-panel{border-radius:var(--radius-lg);max-height:calc(100vh - 3rem);margin:1.5rem auto}}buddj-screen-new-month .new-month-header,buddj-screen-savings .new-month-header,buddj-screen-reimbursements .new-month-header{background:var(--bg);box-shadow:var(--shadow);border-bottom:1px solid #ffffff14;flex-shrink:0;padding:1rem 1.25rem}buddj-screen-new-month .new-month-title,buddj-screen-savings .new-month-title,buddj-screen-reimbursements .new-month-title{font-family:var(--font-head);color:var(--navy);margin:0;font-size:1.25rem;font-weight:700}buddj-screen-new-month .new-month-body,buddj-screen-savings .new-month-body,buddj-screen-reimbursements .new-month-body{flex-direction:column;flex:1;gap:1.5rem;padding:0 1.25rem 1.25rem;display:flex;overflow-y:auto}buddj-screen-new-month .new-month-stepper{z-index:3;background:var(--bg);border-bottom:1px solid #ffffff14;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:-1.25rem -1.25rem 0;padding:.5rem 1.25rem .55rem;display:grid;position:sticky;top:0}buddj-screen-new-month .new-month-stepper-btn{color:var(--navy-soft);text-align:center;cursor:default;opacity:.9;background:#ffffff0a;border:1px solid #ffffff24;border-radius:999px;justify-self:center;width:2.05rem;height:2.05rem;padding:0;font-size:.86rem;font-weight:700}buddj-screen-new-month .new-month-stepper-btn:disabled{pointer-events:none;opacity:.35;color:#a6c0e673;box-shadow:none;filter:saturate(.6);cursor:not-allowed;background:#ffffff05;border-color:#a6c0e633}buddj-screen-new-month .new-month-stepper-btn--active{color:var(--navy);background:#81b29a2e;border-color:#81b29a99}buddj-screen-new-month .new-month-step{opacity:0;transition:opacity .28s,transform .28s;transform:translateY(10px)}buddj-screen-new-month .new-month-step--visible{opacity:1;transform:translateY(0)}buddj-screen-new-month .new-month-step-actions{justify-content:flex-end;gap:.6rem;margin-top:.8rem;display:flex}buddj-screen-new-month .new-month-step-nav-btn{min-width:7.5rem;color:var(--navy);background:#ffffff14;border:1px solid #a6c0e661;box-shadow:0 4px 12px #080c1638}buddj-screen-new-month .new-month-step-nav-btn:hover{color:var(--navy);background:#ffffff21;border-color:#a6c0e680}buddj-screen-new-month .new-month-step-nav-btn:focus-visible{outline-offset:2px;outline:2px solid #a6c0e6d9}buddj-screen-new-month .new-month-step-nav-btn--next{transition:transform .2s,box-shadow .2s;transform:translateY(0);box-shadow:0 0 0 1px #ffffff0f,0 10px 24px #ff7b5f47}buddj-screen-new-month .new-month-step-nav-btn--next:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #ffffff14,0 14px 28px #ff7b5f57}buddj-screen-new-month .new-month-section--rappel+.new-month-section--rappel{margin-top:.55rem}buddj-screen-new-month .new-month-section{flex-direction:column;gap:.75rem;padding:.5rem 0;display:flex}buddj-screen-new-month .new-month-section--rappel{border-radius:var(--radius-lg);background:#ffffff08;border:1px solid #ffffff1a;padding:1rem 1.25rem}buddj-screen-new-month .new-month-section--rappel-annuel{border-left:4px solid var(--gold)}buddj-screen-new-month .new-month-section--rappel-charges{border-left:4px solid var(--coral)}buddj-screen-new-month .new-month-section--rappel-budgets{border-left:4px solid var(--mint)}buddj-screen-new-month details.new-month-details{flex-direction:column;gap:.75rem;display:flex}buddj-screen-new-month summary.new-month-details-summary{cursor:pointer;flex-direction:row;align-items:flex-start;gap:.5rem;list-style:none;display:flex}buddj-screen-new-month summary.new-month-details-summary::-webkit-details-marker{display:none}buddj-screen-new-month summary.new-month-details-summary::marker{display:none}buddj-screen-new-month .new-month-details-chevron{color:var(--navy-soft);flex-shrink:0;margin-top:.35rem;font-size:.7rem;line-height:1;transition:transform .2s}buddj-screen-new-month details.new-month-details[open] .new-month-details-chevron{transform:rotate(180deg)}buddj-screen-new-month .new-month-details-summary-body{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}buddj-screen-new-month .new-month-details-body{flex-direction:column;gap:.75rem;display:flex}buddj-screen-new-month .new-month-section-title{font-family:var(--font-head);letter-spacing:.01em;color:var(--navy);margin:0 0 .5rem;font-size:1.1rem;font-weight:800}buddj-screen-new-month .new-month-step>.new-month-section-title{border-bottom:1px solid #ffffff1f;padding:.15rem 0 .35rem;font-size:1.18rem}buddj-screen-new-month h3.new-month-section-title{letter-spacing:0;border-bottom:0;padding:0;font-size:.98rem;font-weight:650}buddj-screen-new-month .new-month-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}buddj-screen-new-month [data-new-month-section=template-charges] .new-month-section-head{flex-wrap:nowrap}buddj-screen-new-month .new-month-section-head .new-month-section-title{margin:0}buddj-screen-new-month [data-new-month-section=template-charges] .new-month-section-head .new-month-section-title{flex:auto;min-width:0}buddj-screen-new-month [data-new-month-section=template-charges] .new-month-section-head .new-month-section-actions{flex-shrink:0}buddj-screen-new-month .new-month-section-actions{align-items:center;gap:.5rem;display:flex}buddj-screen-new-month .new-month-section-head--rappel-title{justify-content:flex-start}buddj-screen-new-month .new-month-rappel-controls{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}buddj-screen-new-month .new-month-section-actions--charge .buddj-icon-search__svg,buddj-screen-new-month .new-month-section-actions--charge .btn--search{width:1.25rem;height:1.25rem;display:block}buddj-screen-new-month .new-month-section-actions--charge .btn--search{width:2.25rem;height:2.25rem;color:var(--navy-soft);background:0 0;border:1px solid #ffffff26;justify-content:center;align-items:center;padding:0;display:inline-flex}buddj-screen-new-month .new-month-section-actions--charge .btn--search:hover{color:var(--navy);background:#ffffff0f}buddj-screen-new-month .new-month-fields-row{flex-flow:row;justify-content:center;align-items:center;gap:1rem;display:flex}buddj-screen-new-month .new-month-fields-row .new-month-field{flex-direction:column;flex:none;gap:.35rem;display:flex}buddj-screen-new-month .new-month-fields-row .new-month-field--balance{flex:none;min-width:10rem}buddj-screen-new-month .new-month-label{color:var(--navy-soft);font-size:.85rem;font-weight:500}buddj-screen-new-month .new-month-date{border-radius:var(--radius);background:var(--bg-card);color:var(--navy);font-family:var(--font-body);border:1px solid #ffffff26;min-width:10rem;padding:.6rem .85rem;font-size:1rem}buddj-screen-new-month .new-month-projected-sticky,buddj-screen-savings .new-month-projected-sticky,buddj-screen-reimbursements .new-month-projected-sticky{z-index:2;background:var(--bg);border-bottom:1px solid #ffffff14;flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex;position:sticky;top:0}buddj-screen-new-month .new-month-projected-label,buddj-screen-savings .new-month-projected-label,buddj-screen-reimbursements .new-month-projected-label{color:var(--navy-soft);font-size:.9rem;font-weight:500}buddj-screen-new-month .new-month-projected-sticky [data-new-month-projected],buddj-screen-savings .new-month-projected-sticky [data-new-month-projected],buddj-screen-reimbursements .new-month-projected-sticky [data-new-month-projected]{color:var(--mint);font-size:1.25rem;font-weight:700}buddj-screen-new-month .new-month-balance-btn{border-radius:var(--radius);background:var(--bg-card);color:var(--navy);font-family:var(--font-body);text-align:left;cursor:pointer;border:1px solid #ffffff26;padding:.6rem .85rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}buddj-screen-new-month .new-month-balance-btn:hover{border-color:#81b29a80}buddj-screen-new-month .new-month-field--error .new-month-balance-btn{border-color:#dca03cb3;box-shadow:0 0 0 2px #dca03c40}buddj-screen-new-month .new-month-hint{color:var(--navy-soft);margin:0;font-size:.85rem}buddj-screen-new-month .new-month-list-empty{color:var(--navy-soft);margin:0;padding:.45rem .1rem;font-size:.86rem}buddj-screen-new-month .new-month-rappel-total{color:var(--coral);margin:0;font-size:.9rem;font-weight:600}buddj-screen-new-month .new-month-row-label-wrap{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}buddj-screen-new-month .new-month-row-label-wrap .new-month-row-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}buddj-screen-new-month .new-month-row-pending,buddj-screen-new-month buddj-budget-pending.new-month-row-pending .budget-pending{color:var(--navy-soft);font-size:.8rem;font-weight:500}buddj-screen-new-month .new-month-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}buddj-screen-new-month .new-month-list__row{margin:0;padding:0;list-style:none}buddj-screen-new-month .new-month-list buddj-line-item{display:block;overflow:visible}buddj-screen-new-month .new-month-sr-checkbox{clip:rect(0, 0, 0, 0);white-space:nowrap;opacity:0;pointer-events:none;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}buddj-screen-new-month .new-month-line-actions{flex-shrink:0;align-items:center;display:flex}buddj-screen-new-month li.new-month-row.new-month-row--rappel{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid #ffffff14;align-items:center;gap:.75rem;padding:.6rem .85rem;display:flex}buddj-screen-new-month buddj-line-item.new-month-row::part(main){padding:.6rem .85rem}buddj-screen-new-month buddj-line-item.new-month-row::part(actions){padding-right:.85rem}buddj-line-item{box-sizing:border-box;min-height:2rem;list-style:none;display:list-item}buddj-line-item.new-month-row--hidden{opacity:.55;background:#24262e99}buddj-line-item.new-month-row--hidden::part(main){color:var(--navy-soft);text-decoration:line-through}buddj-screen-new-month .new-month-row-icon{flex-shrink:0;font-size:1.25rem}buddj-screen-new-month .new-month-row-label{min-width:0;color:var(--navy);flex:1;font-size:.95rem}buddj-screen-new-month .new-month-row-amount{flex-shrink:0}buddj-screen-new-month .new-month-row-actions{align-items:center;gap:.25rem;display:flex}buddj-screen-new-month .new-month-btn-include-toggle{color:var(--mint);cursor:pointer;text-underline-offset:.12rem;background:0 0;border:0;flex-shrink:0;padding:0;font-size:.8rem;font-weight:500;text-decoration:underline;transition:color .2s,opacity .2s}buddj-screen-new-month .new-month-btn-include-toggle:hover{color:var(--mint-soft)}buddj-screen-new-month .new-month-btn-include-toggle.new-month-btn-rappel-toggle--on{opacity:.95}buddj-screen-new-month .new-month-btn-rappel-toggle{color:var(--mint);cursor:pointer;text-underline-offset:.12rem;background:0 0;border:0;flex-shrink:0;padding:0;font-size:.8rem;font-weight:500;text-decoration:underline;transition:color .2s,opacity .2s}buddj-screen-new-month .new-month-btn-rappel-toggle:hover{color:var(--mint-soft)}buddj-screen-new-month .new-month-btn-rappel-toggle--on{opacity:.95}buddj-screen-new-month .new-month-btn-rappel-delete-all{border-radius:var(--radius);color:#ffd6de;cursor:pointer;background:#ff6b8126;border:1px solid #ff6b818c;flex-shrink:0;min-height:2rem;padding:.35rem .7rem;font-size:.78rem;font-weight:700;transition:background .2s,border-color .2s,opacity .2s}buddj-screen-new-month .new-month-btn-rappel-delete-all:hover:not(:disabled){background:#ff6b8142;border-color:#ff6b81bf}buddj-screen-new-month .new-month-btn-rappel-delete-all:disabled{opacity:.45;cursor:not-allowed}buddj-screen-new-month .new-month-actions{flex-direction:row;flex-wrap:no-wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;display:flex}buddj-screen-new-month .new-month-reset{min-height:2.75rem;color:var(--navy-soft);font-family:var(--font-body);border-radius:var(--radius);cursor:pointer;background:0 0;border:1px solid #fff3;align-items:center;padding:.5rem 1rem;font-size:.9rem;transition:background .2s,color .2s;display:inline-flex}buddj-screen-new-month .new-month-reset:hover{background:var(--bg-card);color:var(--navy)}buddj-screen-new-month .new-month-cta{min-height:2.75rem;font-family:var(--font-head);border-radius:var(--radius);cursor:pointer;background:linear-gradient(135deg, var(--mint), #6a9d82);color:var(--white);box-shadow:0 2px 12px var(--mint-glow);border:none;align-items:center;margin-left:auto;padding:.5rem 1.75rem;font-size:1rem;font-weight:700;transition:background .2s,box-shadow .2s,transform .15s;display:inline-flex}buddj-screen-new-month .new-month-cta:hover{box-shadow:0 4px 16px var(--mint-glow);background:linear-gradient(135deg,#6a9d82,#5a8d72)}buddj-screen-new-month .new-month-cta:active{transform:scale(.98)}buddj-screen-new-month .new-month-list-empty{color:var(--navy-soft);text-align:center;background:var(--bg-card);border-radius:var(--radius);border:1px dashed #ffffff1a;padding:.85rem 1rem;font-size:.9rem}buddj-toast{z-index:200;opacity:0;visibility:hidden;transition:transform .25s,opacity .25s,visibility .25s;position:fixed;bottom:1.5rem;left:50%;transform:translate(-50%)translateY(2rem)}buddj-toast.toast--visible{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.toast-message{background:var(--bg-card);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--mint);text-align:center;border:1px solid #81b29a59;padding:.65rem 1.25rem;font-size:.9rem;font-weight:500}buddj-toast.toast--warning .toast-message{color:#d4a84b;border-color:#dca03c99;box-shadow:0 2px 12px #dca03c33}buddj-toast.toast--error .toast-message{color:var(--coral);box-shadow:0 2px 12px var(--coral-glow);border-color:#e07a5f80}
