.budget-optin-trigger{width:100%;max-width:520px;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--border-radius);cursor:pointer;margin:0 auto .75rem;text-align:left;transition:background .2s,border-color .2s;color:var(--text-primary)}.budget-optin-trigger:hover{background:var(--border-light);border-color:var(--primary)}.budget-optin-trigger--hidden{display:none!important}.budget-optin-trigger__icon{font-size:1.3rem;flex-shrink:0}.budget-optin-trigger__text{flex:1;font-size:.9rem;font-weight:600;line-height:1.2;display:flex;flex-direction:column}.budget-optin-trigger__sub{font-size:.72rem;font-weight:400;color:var(--text-muted);margin-top:.1rem}.budget-optin-trigger__arrow{color:var(--text-muted);font-size:.75rem;flex-shrink:0}.budget-challenge-row{display:flex;gap:12px;align-items:stretch;max-width:520px;margin:0 auto 1rem;width:100%}.budget-challenge-row:has(> .budget-counter:not(.budget-counter--active)):has(> .challenge-card--hidden){display:none}.budget-challenge-row>.budget-counter,.budget-challenge-row>.challenge-card{flex:1 1 0;box-sizing:border-box}.budget-challenge-row:has(> .budget-counter:not(.budget-counter--active))>.challenge-card:not(.challenge-card--hidden){flex:1}.budget-challenge-row:has(> .challenge-card--hidden)>.budget-counter.budget-counter--active{flex:1}@media (max-width:520px){.budget-challenge-row{flex-direction:column;gap:0}}.budget-counter{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--border-radius);padding:1rem 1.1rem;flex:1;min-width:0;margin:0;display:none;flex-direction:column;gap:.75rem}.budget-counter--active{display:flex}.budget-counter--over{border-color:var(--danger,#e53e3e)}.budget-counter__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.budget-counter__title-block{display:flex;flex-direction:column;gap:.35rem;min-width:0}.budget-counter__title{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;color:var(--text);line-height:1.2}.budget-counter__title-icon{color:var(--primary);font-size:1rem;flex-shrink:0}.budget-counter__numbers{display:inline-flex;align-items:baseline;gap:.2rem;font-size:1.15rem;font-weight:700;color:var(--text);padding-left:1.5rem}.budget-counter__consumed{font-weight:700;color:var(--text);transition:color .3s}.budget-counter--over .budget-counter__consumed{color:var(--danger,#e53e3e)}.budget-counter__sep{color:var(--text-muted);font-weight:400}.budget-counter__budget{font-weight:700;color:var(--text-muted)}.budget-counter__edit-btn{width:2.75rem!important;height:2.75rem!important;min-width:2.75rem!important;min-height:2.75rem!important;max-width:2.75rem!important;max-height:2.75rem!important;border-radius:50%!important;background:var(--card-bg);border:1px solid var(--border);color:var(--primary);display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer;transition:all var(--transition);font-size:1rem;padding:0!important;outline:0}[data-theme] .budget-counter__edit-btn{background:var(--card-bg)!important;border:1px solid var(--border)!important;color:var(--primary)!important}.budget-counter__edit-btn:hover{background:var(--secondary)!important;color:#fff!important;border-color:var(--secondary)!important;transform:scale(1.1)}.budget-counter__remaining-wrap{display:inline-flex;align-items:baseline;gap:.2rem}.budget-counter__numbers-pipe{color:var(--border);font-weight:400;margin:0 .1rem}.budget-counter__remaining-badge{font-weight:800;color:#2ecc71!important;transition:color .3s}.budget-counter__remaining-badge--ok{color:#2ecc71!important}[data-theme=dark] .budget-counter__remaining-badge,[data-theme=dark] .budget-counter__remaining-badge--ok{color:#5dd77a!important}.budget-counter__remaining-badge--zero{color:var(--warning,#f5a623)!important}.budget-counter__remaining-badge--over{color:var(--danger,#e53e3e)!important}.budget-counter__remaining-label{font-size:.85em;color:var(--text-muted);font-weight:400}.budget-counter__label{font-size:.93rem;color:var(--text);line-height:1.55;margin:0}.budget-counter--over .budget-counter__label{color:var(--danger,#e53e3e);font-weight:500}.budget-counter__bar-section{padding-top:.65rem;border-top:1px solid var(--border)}.budget-counter__bar-wrap{background:var(--border);border-radius:99px;height:4px;overflow:hidden}.budget-counter__bar{height:100%;border-radius:99px;background:var(--primary);transition:width .5s ease,background .3s;width:0%;min-width:3px}.budget-counter--over .budget-counter__bar{background:var(--danger,#e53e3e);width:100%!important}.budget-sheet-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:1100;opacity:0;pointer-events:none;transition:opacity .25s}.budget-sheet-overlay--visible{opacity:1;pointer-events:all}.budget-sheet{position:fixed;bottom:0;left:0;right:0;max-width:480px;margin:0 auto;background:var(--card-bg);border-radius:20px 20px 0 0;padding:1.5rem 1.5rem 2rem;z-index:1101;transform:translateY(100%);transition:transform .3s cubic-bezier(.4, 0, .2, 1);box-shadow:0 -4px 24px rgba(0,0,0,.15)}.budget-sheet--visible{transform:translateY(0)}.budget-sheet__handle{width:40px;height:4px;background:var(--border);border-radius:100px;margin:0 auto 1.25rem}.budget-sheet__title{font-size:1.05rem;font-weight:700;color:var(--text-primary);margin-bottom:1.25rem;text-align:center}.budget-sheet__section{margin-bottom:1.25rem}.budget-sheet__section-title{font-size:.78rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border-light)}.budget-sheet__stepper{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:.5rem}.budget-sheet__stepper-btn{width:2.75rem;height:2.75rem;min-width:2.75rem;min-height:2.75rem;max-width:2.75rem;max-height:2.75rem;border-radius:50%;border:2px solid var(--border);background:var(--card-bg);color:var(--primary);font-size:1.3rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;padding:0;line-height:1}.budget-sheet__stepper-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.budget-sheet__stepper-value{font-size:2.2rem;font-weight:700;color:var(--text-primary);min-width:3.5rem;text-align:center;line-height:1}.budget-sheet__stepper-label{font-size:.75rem;color:var(--text-muted);text-align:center}.budget-sheet__plan-toggle{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.625rem 0}.budget-sheet__plan-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0}.budget-sheet__plan-toggle-label{font-size:.9rem;font-weight:500;color:var(--text-primary)}.budget-sheet__plan-toggle-sub{font-size:.75rem;color:var(--text-muted);display:block}.budget-sheet__plan-panel{display:none;background:var(--bg-secondary,var(--border-light));border-radius:10px;padding:1rem;margin-top:.75rem;gap:.75rem;flex-direction:column}.budget-sheet__plan-panel--visible{display:flex}.budget-sheet__plan-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.budget-sheet__plan-row-label{font-size:.85rem;color:var(--text-primary);flex:1}.budget-sheet__plan-row-sub{font-size:.72rem;color:var(--text-muted);display:block}.budget-sheet__plan-input{width:70px;padding:.4rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text-primary);font-size:.9rem;text-align:center}.budget-sheet__plan-input:focus{outline:0;border-color:var(--primary)}.budget-sheet__plan-summary{font-size:.78rem;color:var(--text-muted);text-align:center;padding:.5rem;background:var(--card-bg);border-radius:6px;border:1px solid var(--border-light)}.budget-sheet__save-btn{display:flex;width:auto;padding:.75rem 2rem;margin:1rem auto 0;background:var(--primary);color:#fff;border:none;border-radius:var(--border-radius);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .1s;align-items:center;justify-content:center;gap:.5rem}.budget-sheet__save-btn:hover{opacity:.9}.budget-sheet__save-btn:active{transform:scale(.98)}.budget-sheet__save-btn:disabled{opacity:.5;cursor:not-allowed}.budget-sheet__remove-plan{display:none;text-align:center;margin-top:.75rem}.budget-sheet__remove-plan--visible{display:block}.budget-sheet__remove-plan a{font-size:.8rem;color:var(--danger,#e53e3e);cursor:pointer;text-decoration:underline}.budget-sheet__feedback{font-size:.85rem;text-align:center;margin-top:.5rem;min-height:1.2em;color:var(--success,#38a169)}.budget-sheet__feedback--error{color:var(--danger,#e53e3e)}@media (max-width:480px){.budget-sheet{border-radius:16px 16px 0 0;padding:1.25rem 1.25rem 1.75rem}}