/* ████████████████████████████████████████████████████████ */
/* ██  components.css — toast, popups, overlays, toggle   ██ */
/* ████████████████████████████████████████████████████████ */

/* ── TOAST ─────────────────────────────────────────────── */
/* z-index 10001 sits above every modal in the app (event detail, share
   sheets, edit dialogs all top out around 9500). Without this, a toast
   fired from inside any of those sheets would render behind them and the
   user would never see it — which made the standings info icons feel
   broken even though the click handler was firing. */
#toast{position:fixed;bottom:84px;left:50%;transform:translateX(-50%) translateY(16px);background:rgba(15,23,42,0.92);color:#f8fafc;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.8rem;font-weight:600;padding:9px 18px;border-radius:16px;border:1px solid rgba(255,255,255,0.1);backdrop-filter:blur(12px);z-index:10001;opacity:0;pointer-events:none;transition:all 0.25s cubic-bezier(0.34,1.56,0.64,1);white-space:normal;max-width:min(320px,88vw);text-align:center;line-height:1.4;box-shadow:0 8px 32px rgba(0,0,0,0.3)}
#toast.on{opacity:1;transform:translateX(-50%) translateY(0)}

/* ── POPUP OVERLAY ─────────────────────────────────────── */
.pop-ov{position:fixed;inset:0;background:rgba(15,23,42,0.75);backdrop-filter:blur(12px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;pointer-events:none;transition:opacity 0.3s}
.pop-ov.on{opacity:1;pointer-events:all}
.pop-box{background:var(--surf);border:1px solid rgba(194,65,12,0.2);border-radius:26px;padding:32px 26px;text-align:center;max-width:300px;width:100%;transform:scale(0.85);transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);box-shadow:0 24px 80px rgba(194,65,12,0.15)}
.pop-ov.on .pop-box{transform:scale(1)}
.pop-emo{font-size:3rem;margin-bottom:10px}
.pop-box h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:1.5rem;color:var(--acc);margin-bottom:6px}
.pop-box p{font-size:0.86rem;color:var(--muted);margin-bottom:22px}
.pop-p{width:100%;padding:13px;border-radius:13px;background:var(--acc);color:#fff;border:none;font-family:'Plus Jakarta Sans',sans-serif;font-size:0.9rem;font-weight:700;cursor:pointer;margin-bottom:9px;transition:background 0.15s}
.pop-p:hover{background:var(--acc2)}
.pop-s{width:100%;padding:11px;border-radius:13px;background:none;color:var(--muted);border:1px solid var(--border2);font-family:'Plus Jakarta Sans',sans-serif;font-size:0.83rem;font-weight:600;cursor:pointer}

/* ── TOGGLE SWITCH ─────────────────────────────────────── */
.tog{width:38px;height:21px;border-radius:var(--pill);background:var(--surf3);border:1px solid var(--border2);position:relative;cursor:pointer;transition:background 0.2s;flex-shrink:0}
.tog.on{background:var(--acc);border-color:var(--acc)}
#ev-verified-filter.on{background:#3b82f6;border-color:#3b82f6}
.tog::after{content:'';position:absolute;width:15px;height:15px;border-radius:50%;background:var(--dim);top:2px;left:2px;transition:transform 0.2s,background 0.2s}
.tog.on::after{transform:translateX(17px);background:#fff}

/* ── TYPING INDICATOR ──────────────────────────────────── */
.tdot{width:6px;height:6px;border-radius:50%;background:var(--muted);display:inline-block;animation:tdot 1.2s infinite ease-in-out}
.tdot:nth-child(1){animation-delay:0s}
.tdot:nth-child(2){animation-delay:0.2s}
.tdot:nth-child(3){animation-delay:0.4s}
@keyframes tdot{0%,60%,100%{transform:translateY(0);opacity:0.4}30%{transform:translateY(-5px);opacity:1}}

/* ── VERIFICATION BADGES ──────────────────────────────── */
.vbadge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;vertical-align:middle;margin-left:3px;flex-shrink:0;line-height:1;position:relative;top:-1px}
.vbadge-sm{width:15px;height:15px}
.vbadge-sm::before{font-size:0.52rem!important}
.vbadge-verified{background:#3b82f6}
.vbadge-verified::before{content:'✓';color:#fff;font-size:0.68rem;font-weight:800}
.vbadge-trusted{background:#f59e0b}
.vbadge-trusted::before{content:'✓';color:#fff;font-size:0.68rem;font-weight:800}
