.challenge-card{background:var(--card-bg,#fff);border:1px solid var(--border,#e0e0e0);border-radius:var(--border-radius);padding:1rem 1.1rem;margin:0 auto 14px;max-width:520px;display:flex;flex-direction:column;gap:.75rem}.budget-challenge-row>.challenge-card{margin:0;max-width:none;flex:1;min-width:0}.challenge-card--hidden{display:none!important}.challenge-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.challenge-card__title-block{display:flex;flex-direction:column;gap:.35rem;min-width:0}.challenge-card__label{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;color:var(--text);line-height:1.2}.challenge-card__actions{display:flex;gap:6px}.challenge-card__abandon-btn,.challenge-card__share-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)!important;border:1px solid var(--border)!important;color:var(--primary)!important;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;line-height:1}.challenge-card__share-btn:hover{background:var(--secondary)!important;color:#fff!important;border-color:var(--secondary)!important;transform:scale(1.1)}.challenge-card__abandon-btn:hover{background:var(--danger,#e53e3e)!important;color:#fff!important;border-color:var(--danger,#e53e3e)!important;transform:scale(1.1)}[data-theme] .challenge-card__abandon-btn,[data-theme] .challenge-card__share-btn{background:var(--card-bg)!important;border:1px solid var(--border)!important;color:var(--primary)!important}[data-theme] .challenge-card__share-btn:hover{background:var(--secondary)!important;color:#fff!important;border-color:var(--secondary)!important}[data-theme] .challenge-card__abandon-btn:hover{background:var(--danger,#e53e3e)!important;color:#fff!important;border-color:var(--danger,#e53e3e)!important}.challenge-card__objective{font-size:.85rem;line-height:1.45;color:var(--text);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.challenge-card__progress-wrap{display:flex;align-items:center;gap:8px;padding-top:.65rem;border-top:1px solid var(--border)}.challenge-card__progress-bar{flex:1;height:4px;background:var(--border);border-radius:99px;overflow:hidden}.challenge-card__progress-fill{height:100%;background:var(--primary);border-radius:99px;transition:width .6s ease;min-width:3px}.challenge-card__day-count{font-size:.78rem;color:var(--text-muted);white-space:nowrap;flex-shrink:0}.challenge-card__day-num{font-weight:800;color:#2ecc71}[data-theme=dark] .challenge-card__day-num{color:#5dd77a}.challenge-card__label-icon{flex-shrink:0}.challenge-card__milestones{display:flex;gap:4px;padding-left:calc(1.4em + .5rem)}.challenge-milestone-badge{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;font-size:.78rem;font-weight:700;background:var(--border,#e5e7eb);color:var(--text-muted,#aaa);transition:background .2s,color .2s}.challenge-milestone-badge--done{background:linear-gradient(135deg,var(--accent,#4ea0dc),#a78bfa);color:#fff}.challenge-gap-banner{font-size:11px;color:#b07d0e;margin-bottom:6px}[data-theme=dark] .challenge-gap-banner{color:#f5c542}.challenge-optin--hidden{display:none!important}.challenge-optin__trigger{display:flex;align-items:center;gap:8px;padding:10px 14px;margin:0 auto 14px;max-width:520px;background:var(--card-bg,#fff);border:1px dashed var(--accent,#4ea0dc);border-radius:12px;cursor:pointer;width:100%;text-align:left;color:var(--text,#333);font-size:13px;transition:background .15s}.challenge-optin__trigger:hover{background:rgba(78,160,220,.06)}[data-theme=dark] .challenge-optin__trigger,[data-theme] .challenge-optin__trigger{background:var(--card-bg,rgba(255,255,255,.04))!important;border-color:var(--accent,#4ea0dc)!important;color:var(--text,#e0e0e0)!important}[data-theme=dark] .challenge-optin__trigger:hover,[data-theme] .challenge-optin__trigger:hover{background:rgba(78,160,220,.08)!important}.challenge-optin__trigger-icon{font-size:16px;flex-shrink:0}.challenge-optin__trigger-text{flex:1;font-weight:600}.challenge-optin__trigger-sub{font-size:11px;color:var(--text-muted,#888);font-weight:400;margin-left:4px}.challenge-optin__chevron{font-size:11px;color:var(--text-muted,#888);transition:transform .2s;flex-shrink:0}.challenge-optin__trigger[aria-expanded=true] .challenge-optin__chevron{transform:rotate(180deg)}.challenge-optin__panel{display:none;flex-direction:column;gap:6px;margin-top:-8px;margin-bottom:14px;padding:12px 14px;background:var(--card-bg,#fff);border:1px solid var(--border,#e0e0e0);border-top:none;border-radius:0 0 12px 12px}.challenge-optin__panel--open{display:flex}.challenge-optin__panel-label{font-size:11px;color:var(--text-muted,#888);margin-bottom:4px}.challenge-optin__track-btn{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;border:1px solid var(--border,#e5e7eb);background:var(--bg-secondary,#f7f8fa);cursor:pointer;text-align:left;transition:border-color .15s,background .15s;width:100%;font-size:13px;color:var(--text,#333)}.challenge-optin__track-btn:hover{border-color:var(--accent,#4ea0dc);background:rgba(78,160,220,.07)}[data-theme=dark] .challenge-optin__track-btn,[data-theme] .challenge-optin__track-btn{background:rgba(255,255,255,.04)!important;border:1px solid var(--border,rgba(255,255,255,.12))!important;color:var(--text,#e0e0e0)!important}[data-theme=dark] .challenge-optin__track-btn:hover,[data-theme] .challenge-optin__track-btn:hover{border-color:var(--accent,#4ea0dc)!important;background:rgba(78,160,220,.1)!important}.challenge-optin__track-emoji{font-size:16px;flex-shrink:0}.challenge-optin__track-info strong{display:block;font-weight:600;font-size:13px}.challenge-optin__track-info span{font-size:11px;color:var(--text-muted,#999)}.challenge-toast{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:#1a1a2e;color:#fff;padding:10px 18px;border-radius:12px;font-size:13px;font-weight:500;z-index:9999;opacity:0;transition:opacity .3s ease,transform .3s ease;max-width:90vw;text-align:center;box-shadow:0 4px 20px rgba(0,0,0,.25);pointer-events:none}.challenge-toast--show{opacity:1;transform:translateX(-50%) translateY(0)}