/* =====================================================
   Election Poll Pro v3 — Frontend CSS — RTL Persian
   ===================================================== */
:root{--ep-p:#1a237e;--ep-a:#ff6f00;--ep-r:14px;--ep-f:16px;--ep-cs:80px}
*{box-sizing:border-box}

.ep-poll{
  font-family:'Vazirmatn',Tahoma,sans-serif;
  font-size:var(--ep-f);direction:rtl;text-align:right;
  color:#1e293b;background:#fff;
  background-size:cover;background-position:center;
  border-radius:var(--ep-r);overflow:hidden;
  box-shadow:0 8px 48px rgba(26,35,126,.14);
  max-width:700px;width:100%;margin:1.5rem auto;
  position:relative;
}
.ep-poll[style*="background-image"]::before{
  content:'';position:absolute;inset:0;
  background:rgba(255,255,255,.9);z-index:0;pointer-events:none;
}
.ep-poll>*{position:relative;z-index:1}

/* ── Iran Flag Header ── */
.ep-flag-header{
  display:flex;flex-direction:column;align-items:center;
  padding:.6rem 1rem .5rem;
  background:linear-gradient(135deg,#fff 0%,#f8f9ff 100%);
  border-bottom:3px solid transparent;
  border-image:linear-gradient(to right,#239f40,#fff,#da0000) 1;
  gap:.3rem;
}
.ep-iran-flag{
  display:flex;flex-direction:column;
  width:88px;height:55px;border-radius:4px;
  overflow:hidden;box-shadow:0 3px 10px rgba(0,0,0,.18);
  position:relative;
}
.ep-flag-green{flex:1;background:#239f40}
.ep-flag-white{
  flex:1;background:#fff;
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.ep-flag-red{flex:1;background:#da0000}
.ep-flag-emblem{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:22px;height:22px;
}
.ep-flag-emblem svg{width:100%;height:100%}
.ep-flag-lines{
  font-size:.62rem;color:#555;font-weight:600;letter-spacing:.5px;
  direction:rtl;text-align:center;
}
.ep-kufic{font-size:.7rem;color:#1a237e;font-weight:700;letter-spacing:1px}

/* Wave animation */
.ep-flag-wave .ep-iran-flag{
  animation:ep-flag-wave 2.5s ease-in-out infinite;
  transform-origin:right center;
}
@keyframes ep-flag-wave{
  0%,100%{transform:perspective(200px) rotateY(0deg)}
  25%{transform:perspective(200px) rotateY(-6deg)}
  75%{transform:perspective(200px) rotateY(6deg)}
}
/* Bounce animation */
.ep-flag-bounce .ep-iran-flag{
  animation:ep-flag-bounce 1.8s ease infinite;
}
@keyframes ep-flag-bounce{
  0%,100%{transform:translateY(0)}
  40%{transform:translateY(-5px)}
  60%{transform:translateY(-3px)}
}
/* Glow animation */
.ep-flag-glow .ep-iran-flag{
  animation:ep-flag-glow 2s ease-in-out infinite;
}
@keyframes ep-flag-glow{
  0%,100%{box-shadow:0 3px 10px rgba(0,0,0,.18)}
  50%{box-shadow:0 0 18px rgba(35,159,64,.5),0 0 18px rgba(218,0,0,.3)}
}
/* Spin animation */
.ep-flag-spin .ep-iran-flag{
  animation:ep-flag-spin 4s linear infinite;
}
@keyframes ep-flag-spin{
  0%{transform:rotateY(0)}50%{transform:rotateY(180deg)}100%{transform:rotateY(360deg)}
}

/* ── Online bar ── */
.ep-online-bar{
  display:flex;align-items:center;gap:.4rem;
  padding:.35rem 1.2rem;
  background:linear-gradient(to left,#e8f5e9,#f1f8e9);
  font-size:.75rem;color:#2e7d32;font-weight:600;
  border-bottom:1px solid #c8e6c9;
}
.ep-online-dot{
  width:8px;height:8px;border-radius:50%;
  background:#43a047;flex-shrink:0;
  animation:ep-pulse 1.5s infinite;
}
@keyframes ep-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}

/* ── Header ── */
.ep-head{
  background:linear-gradient(135deg,var(--ep-p) 0%,color-mix(in srgb,var(--ep-p) 70%,#000) 100%);
  color:#fff;padding:1.4rem 1.5rem 1.2rem;position:relative;overflow:hidden;
}
.ep-head::after{
  content:'';position:absolute;top:-50%;right:-20%;
  width:300px;height:300px;
  background:radial-gradient(circle,rgba(255,255,255,.07) 0%,transparent 70%);
  pointer-events:none;
}
.ep-head-meta{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.6rem}
.ep-status-badge,.ep-type-badge{
  display:inline-flex;align-items:center;gap:.25rem;
  padding:.2rem .65rem;border-radius:50px;font-size:.7rem;font-weight:700;
}
.ep-active{background:rgba(76,175,80,.22);color:#a5d6a7;border:1px solid rgba(76,175,80,.3)}
.ep-closed{background:rgba(239,83,80,.22);color:#ef9a9a;border:1px solid rgba(239,83,80,.3)}
.ep-type-badge{background:rgba(255,255,255,.15);color:rgba(255,255,255,.9)}
.ep-title{margin:.2rem 0 .4rem;font-size:1.3rem;font-weight:800;line-height:1.4;color:#fff}
.ep-desc{font-size:.85rem;opacity:.82;margin:.3rem 0 0;line-height:1.6}
.ep-countdown{
  display:inline-flex;align-items:center;gap:.4rem;
  margin-top:.6rem;padding:.3rem .8rem;
  background:rgba(255,255,255,.12);border-radius:50px;
  font-size:.78rem;font-weight:600;
}
.ep-vote-stat{margin-top:.5rem;font-size:.83rem;opacity:.8}
.ep-total-disp{font-size:1.35rem;font-weight:800;color:var(--ep-a)}

/* ── STEP Indicators ── */
.ep-step{padding:0}
.ep-step-indicator{
  display:flex;align-items:center;justify-content:center;
  padding:1rem 1.5rem .4rem;gap:.3rem;
}
.ep-step-item{display:flex;flex-direction:column;align-items:center;gap:.2rem}
.ep-step-num{
  width:32px;height:32px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:.82rem;font-weight:800;
  background:#e2e8f0;color:#94a3b8;
  transition:all .3s;
}
.ep-step-lbl{font-size:.65rem;color:#94a3b8;font-weight:600;white-space:nowrap}
.ep-step-active .ep-step-num{background:var(--ep-p);color:#fff;box-shadow:0 3px 10px rgba(26,35,126,.3)}
.ep-step-active .ep-step-lbl{color:var(--ep-p);font-weight:700}
.ep-step-done .ep-step-num{background:#16a34a;color:#fff}
.ep-step-done .ep-step-lbl{color:#16a34a}
.ep-step-line{
  flex:1;height:2px;background:#e2e8f0;
  margin:0 .2rem;margin-bottom:1.3rem;
  min-width:24px;max-width:60px;
}
.ep-line-done{background:#16a34a}

/* ── Identity (Step 1) ── */
.ep-id-box{
  padding:1.2rem 1.5rem 1.5rem;text-align:center;
  background:linear-gradient(to bottom,#f8faff,#fff);
}
.ep-id-icon-wrap{margin-bottom:.5rem}
.ep-id-icon-pulse{
  font-size:2.8rem;display:inline-block;
  animation:ep-icon-pulse 2s ease-in-out infinite;
}
@keyframes ep-icon-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.1)}}
.ep-id-title{font-size:1.1rem;font-weight:800;margin:.2rem 0 .3rem;color:#1e293b}
.ep-id-subtitle{font-size:.82rem;color:#64748b;margin-bottom:.8rem;line-height:1.5}
.ep-id-tabs{
  display:flex;gap:.5rem;justify-content:center;
  margin-bottom:.9rem;
  background:#f1f5f9;padding:.3rem;border-radius:10px;
  max-width:300px;margin-left:auto;margin-right:auto;
}
.ep-tab-btn{
  flex:1;padding:.4rem .8rem;border-radius:7px;
  border:none;background:transparent;
  font-family:'Vazirmatn',sans-serif;font-size:.8rem;font-weight:600;
  cursor:pointer;color:#64748b;transition:all .2s;
}
.ep-tab-btn.ep-tab-active{background:#fff;color:var(--ep-p);box-shadow:0 1px 4px rgba(0,0,0,.1)}
.ep-id-panel{max-width:420px;margin:0 auto}
.ep-id-input-wrap{
  display:flex;align-items:stretch;
  border:2px solid #e2e8f0;border-radius:var(--ep-r);
  overflow:hidden;background:#fff;
  transition:border-color .2s;
}
.ep-id-input-wrap:focus-within{border-color:var(--ep-p)}
.ep-id-prefix{
  padding:.7rem .9rem;background:#f8fafc;
  border-left:1px solid #e2e8f0;
  font-size:.95rem;flex-shrink:0;
  display:flex;align-items:center;
}
.ep-id-input{
  flex:1;padding:.7rem .9rem;border:none;
  font-family:'Vazirmatn',sans-serif;font-size:.95rem;
  background:transparent;outline:none;direction:ltr;text-align:left;
}
.ep-phone-wrap .ep-id-input{direction:ltr;text-align:left}
.ep-btn-primary{
  width:100%;margin-top:.8rem;
  padding:.8rem;background:var(--ep-p);color:#fff;
  border:none;border-radius:var(--ep-r);
  font-family:'Vazirmatn',sans-serif;font-size:.95rem;font-weight:700;
  cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;
  transition:all .2s;position:relative;overflow:hidden;
}
.ep-btn-primary::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to left,rgba(255,255,255,.1),transparent);
}
.ep-btn-primary:hover{filter:brightness(1.12);transform:translateY(-1px);box-shadow:0 6px 18px rgba(26,35,126,.3)}
.ep-btn-primary:active{transform:none}
.ep-btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none}
.ep-btn-outline{
  width:100%;margin-top:.8rem;
  padding:.75rem;background:transparent;
  border:2px solid var(--ep-p);color:var(--ep-p);
  border-radius:var(--ep-r);
  font-family:'Vazirmatn',sans-serif;font-size:.9rem;font-weight:700;
  cursor:pointer;transition:all .2s;
}
.ep-btn-outline:hover{background:color-mix(in srgb,var(--ep-p) 8%,white)}
.ep-id-hint{font-size:.73rem;color:#94a3b8;margin-top:.6rem;line-height:1.5}
.ep-id-msg{
  margin-top:.6rem;padding:.5rem .9rem;border-radius:8px;
  font-size:.83rem;font-weight:600;
}
.ep-id-msg.err{background:#fef2f2;color:#dc2626;border:1px solid #fecaca}
.ep-id-msg.ok{background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}
@keyframes ep-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-5px)}40%,80%{transform:translateX(5px)}}
.ep-shake .ep-id-input-wrap{animation:ep-shake .45s ease}

/* ── Voter Welcome ── */
.ep-voter-welcome{
  margin:.4rem 1.2rem .2rem;padding:.55rem 1rem;
  background:linear-gradient(to left,#e8f5e9,#f1f8e9);
  border-radius:var(--ep-r);font-size:.86rem;
  color:#1b5e20;font-weight:600;border:1px solid #c8e6c9;
  display:flex;align-items:center;gap:.4rem;
}
.ep-welcome-emoji{font-size:1.1rem}
.ep-welcome-name{font-weight:800}

/* ── Ballot Box Decoration ── */
.ep-ballot-deco{
  display:flex;justify-content:center;
  padding:.6rem 1rem .2rem;
}
.ep-ballot-box-svg{width:56px;height:68px;opacity:.7}
.ep-ballot-svg{width:100%;height:100%}

/* ── Step 2: Vote area ── */
.ep-step-vote{padding:.2rem 1.2rem .4rem}

/* ── Hint bar ── */
.ep-hint-bar{
  display:flex;align-items:center;gap:.4rem;
  background:#eff6ff;color:#1e40af;
  padding:.5rem .9rem;border-radius:var(--ep-r);
  font-size:.8rem;font-weight:600;margin-bottom:.8rem;
  border:1px solid #bfdbfe;
}

/* ── Options ── */
.ep-options{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.9rem}
.ep-option{
  display:flex;align-items:center;gap:.7rem;
  padding:.8rem .9rem;
  border:2px solid #e8ecf0;border-radius:var(--ep-r);
  cursor:pointer;transition:all .18s;
  background:#fff;position:relative;overflow:hidden;user-select:none;
}
.ep-option::before{
  content:'';position:absolute;inset:0;
  background:var(--opt-c,var(--ep-p));opacity:0;
  transition:opacity .18s;
}
.ep-option:hover{border-color:var(--opt-c,var(--ep-p));transform:translateX(-2px)}
.ep-option:hover::before{opacity:.04}
.ep-option.ep-sel{border-color:var(--opt-c,var(--ep-p));background:color-mix(in srgb,var(--opt-c,var(--ep-p)) 6%,white)}
.ep-option.ep-sel::before{opacity:.06}
.ep-opt-accent-line{
  position:absolute;top:0;right:0;bottom:0;width:4px;
  opacity:0;transition:opacity .18s;
}
.ep-option.ep-sel .ep-opt-accent-line{opacity:1}
.ep-radio-wrap,.ep-checkbox-wrap{flex-shrink:0;position:relative;z-index:1}
.ep-rb,.ep-cb{
  display:flex;align-items:center;justify-content:center;
  width:22px;height:22px;border:2px solid #cbd5e1;transition:all .15s;
}
.ep-rb{border-radius:50%}.ep-cb{border-radius:5px}
.ep-option.ep-sel .ep-rb,.ep-option.ep-sel .ep-cb{
  border-color:var(--opt-c,var(--ep-p));background:var(--opt-c,var(--ep-p));
}
.ep-rb-inner,.ep-cb-inner{
  width:8px;height:8px;background:#fff;border-radius:50%;
  opacity:0;transform:scale(0);transition:all .15s;
}
.ep-option.ep-sel .ep-rb-inner,.ep-option.ep-sel .ep-cb-inner{opacity:1;transform:scale(1)}

/* Candidate img */
.ep-cand-img-wrap{flex-shrink:0;position:relative;z-index:1}
.ep-cand-img{
  width:var(--ep-cs);height:var(--ep-cs);
  border-radius:50%;object-fit:cover;
  border:3px solid rgba(255,255,255,.8);
  box-shadow:0 3px 12px rgba(0,0,0,.15);
  transition:transform .2s;display:block;
}
.ep-option:hover .ep-cand-img{transform:scale(1.06)}
.ep-cand-avatar{
  width:var(--ep-cs);height:var(--ep-cs);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:calc(var(--ep-cs)*.42);font-weight:800;color:#fff;
  flex-shrink:0;position:relative;z-index:1;
  box-shadow:0 3px 12px rgba(0,0,0,.2);
}
.ep-opt-info{flex:1;position:relative;z-index:1}
.ep-opt-label{font-weight:700;font-size:.96rem;display:block}
.ep-rank-badge{
  width:30px;height:30px;border-radius:50%;
  background:var(--ep-p);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;font-size:.8rem;flex-shrink:0;z-index:1;position:relative;
}
.ep-drag-handle{font-size:1.1rem;color:#94a3b8;cursor:grab;z-index:1;position:relative}

/* ── Submit button ── */
.ep-submit-btn{
  width:100%;padding:.88rem;
  background:var(--ep-p);color:#fff;
  border:none;border-radius:var(--ep-r);
  font-family:'Vazirmatn',sans-serif;
  font-size:1rem;font-weight:700;cursor:pointer;
  transition:all .18s;margin:.2rem 0 .5rem;
  display:flex;align-items:center;justify-content:center;gap:.5rem;
  position:relative;overflow:hidden;
}
.ep-submit-btn::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to left,rgba(255,255,255,.1),transparent);
}
.ep-submit-btn:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 6px 22px rgba(0,0,0,.22)}
.ep-submit-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;filter:none}
.ep-peek-results{
  width:100%;margin-top:.3rem;padding:.5rem;
  background:transparent;border:1px dashed #cbd5e1;
  border-radius:var(--ep-r);color:#64748b;
  font-family:'Vazirmatn',sans-serif;font-size:.8rem;cursor:pointer;transition:all .15s;
}
.ep-peek-results:hover{border-color:var(--ep-p);color:var(--ep-p)}

/* ── Yes/No ── */
.ep-yesno{display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-bottom:1rem}
.ep-yn-btn{
  display:flex;flex-direction:column;align-items:center;gap:.5rem;
  padding:1.5rem 1rem;border:2px solid #e2e8f0;border-radius:var(--ep-r);
  background:#fff;cursor:pointer;
  font-family:'Vazirmatn',sans-serif;font-size:1rem;font-weight:700;
  color:#1e293b;transition:all .2s;
}
.ep-yn-icon{font-size:2rem}
.ep-yn-img{width:calc(var(--ep-cs)*1.1);height:calc(var(--ep-cs)*1.1);border-radius:50%;object-fit:cover}
.ep-yes:hover,.ep-yes.ep-sel{border-color:#16a34a;background:#f0fdf4;color:#166534}
.ep-no:hover,.ep-no.ep-sel{border-color:#dc2626;background:#fef2f2;color:#991b1b}

/* ── Stars ── */
.ep-rating-wrap{padding:.5rem 0 .8rem}
.ep-rating-item{margin-bottom:.8rem;padding:.9rem;background:#f8fafc;border-radius:var(--ep-r);border:1px solid #e2e8f0;display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.ep-rating-name{font-weight:700;font-size:.9rem;flex:1;min-width:100px}
.ep-stars{direction:rtl;display:flex;gap:1px}
.ep-stars input{display:none}
.ep-stars label{font-size:1.9rem;color:#d1d5db;cursor:pointer;transition:color .1s;line-height:1}
.ep-stars input:checked~label,.ep-stars label:hover,.ep-stars label:hover~label{color:var(--ep-a)}

/* ── Confirm Step ── */
.ep-confirm-box{
  padding:1.2rem 1.5rem 1.5rem;text-align:center;
  background:linear-gradient(135deg,#f8faff,#fff);
}
.ep-confirm-ballot-icon{font-size:3rem;margin-bottom:.4rem;animation:ep-icon-pulse 2s ease infinite}
.ep-confirm-box h3{font-size:1.05rem;font-weight:800;margin:.2rem 0 .3rem;color:#1e293b}
.ep-confirm-sub{font-size:.83rem;color:#64748b;margin-bottom:.8rem}
.ep-confirm-selections{
  display:flex;flex-direction:column;gap:.4rem;
  margin:.5rem auto 1rem;max-width:420px;
}
.ep-confirm-item{
  display:flex;align-items:center;gap:.7rem;
  padding:.7rem 1rem;
  background:#fff;border:2px solid var(--ep-p);
  border-radius:var(--ep-r);
  font-weight:700;font-size:.9rem;
  animation:ep-fadein .3s;
}
.ep-confirm-item-img{
  width:38px;height:38px;border-radius:50%;object-fit:cover;
  border:2px solid rgba(26,35,126,.2);
}
.ep-confirm-item-avatar{
  width:38px;height:38px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-weight:800;color:#fff;font-size:1rem;flex-shrink:0;
}
.ep-confirm-flag{margin:.4rem 0 .8rem;display:flex;justify-content:center}
.ep-mini-flag{
  width:48px;height:30px;border-radius:3px;overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
  display:flex;flex-direction:column;
}
.f-g{flex:1;background:#239f40}.f-w{flex:1;background:#fff}.f-r{flex:1;background:#da0000}
.ep-confirm-actions{display:flex;gap:.7rem;max-width:420px;margin:0 auto}
.ep-confirm-back{flex:0 0 auto;width:auto;padding:.75rem 1.2rem}
.ep-confirm-submit{flex:1}

/* ── Locked Box ── */
.ep-locked-box{text-align:center;padding:2.5rem 1.5rem;background:linear-gradient(135deg,#fff3cd,#fffde7)}
.ep-lock-icon{font-size:3rem;margin-bottom:.5rem}
.ep-locked-box h3{font-size:1.05rem;font-weight:800;margin:.3rem 0;color:#92400e}
.ep-locked-box p{font-size:.86rem;color:#78350f;margin:0}
.ep-lock-timer{
  margin-top:.8rem;padding:.4rem 1rem;background:#fef3c7;
  border-radius:50px;font-size:.88rem;font-weight:700;color:#92400e;display:inline-block;
}
.ep-closed-msg{text-align:center;padding:2rem;color:#64748b}
.ep-closed-msg span{font-size:2rem;display:block;margin-bottom:.5rem}

/* ── Results ── */
.ep-results-panel{border-top:1px solid #f1f5f9}
.ep-results{padding:1.1rem}
.ep-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.9rem}
.ep-results-title{font-weight:800;font-size:.97rem}
.ep-total-pill{background:var(--ep-p);color:#fff;padding:.22rem .75rem;border-radius:50px;font-size:.78rem}
.ep-total-pill strong{font-size:.95rem}
.ep-bars{display:flex;flex-direction:column;gap:.75rem}
.ep-bar-item{padding:.6rem .65rem;border-radius:calc(var(--ep-r) - 2px)}
.ep-winner-row{background:linear-gradient(to left,#fffbeb,transparent);border:1px solid #fef08a}
.ep-bar-top{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}
.ep-crown{font-size:1.05rem}
.ep-bar-img{width:34px;height:34px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.1)}
.ep-bar-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;color:#fff;flex-shrink:0}
.ep-bar-label{flex:1;font-weight:700;font-size:.9rem}
.ep-bar-nums{display:flex;align-items:center;gap:.4rem}
.ep-pct{font-size:.97rem;font-weight:800}
.ep-cnt{font-size:.73rem;color:#64748b}
.ep-bar-track{height:10px;background:#f1f5f9;border-radius:50px;overflow:hidden}
.ep-bar-fill{height:100%;border-radius:50px;transition:width 1.1s cubic-bezier(.25,.46,.45,.94)}

/* Donut */
.ep-donut-container{display:flex;align-items:center;gap:1.2rem;margin-bottom:1.2rem;flex-wrap:wrap}
.ep-donut-svg{width:155px;height:155px;flex-shrink:0}
.ep-donut-num{font-size:1.4rem;font-weight:800;fill:#1e293b;font-family:'Vazirmatn',sans-serif}
.ep-donut-lbl{font-size:.7rem;fill:#64748b;font-family:'Vazirmatn',sans-serif}
.ep-donut-legend{flex:1;min-width:110px}
.ep-legend-row{display:flex;align-items:center;gap:.35rem;margin-bottom:.35rem}
.ep-legend-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0}
.ep-legend-text{font-size:.8rem;flex:1}
.ep-legend-pct{font-weight:700;font-size:.8rem;color:var(--ep-p)}

/* ── Message Box ── */
.ep-msg-box{
  margin:.5rem 1.2rem;padding:.7rem 1rem;
  border-radius:var(--ep-r);font-size:.86rem;font-weight:600;
}
.ep-msg-box.ok{background:#f0fdf4;color:#166534;border:1px solid #bbf7d0}
.ep-msg-box.err{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.ep-msg-box.info{background:#eff6ff;color:#1e40af;border:1px solid #bfdbfe}
@keyframes ep-fadein{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}

/* ── Footer ── */
.ep-foot{
  padding:.65rem 1.2rem;border-top:1px solid #f1f5f9;
  display:flex;gap:.35rem;flex-wrap:wrap;
}
.ep-foot-btn{
  display:flex;align-items:center;gap:.25rem;
  padding:.35rem .75rem;border:1px solid #e2e8f0;border-radius:50px;
  background:#fff;color:#64748b;
  font-family:'Vazirmatn',sans-serif;font-size:.76rem;cursor:pointer;transition:all .15s;
}
.ep-foot-btn:hover{border-color:var(--ep-p);color:var(--ep-p);background:#f0f4ff}

/* ── Success Overlay ── */
.ep-success-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.6);
  display:flex;align-items:center;justify-content:center;
  z-index:99999;animation:ep-fadein .25s;
}
.ep-success-card{
  background:#fff;border-radius:24px;
  padding:2.2rem 2rem;text-align:center;
  max-width:380px;width:92%;
  box-shadow:0 24px 64px rgba(0,0,0,.22);
  animation:ep-bounceIn .4s;direction:rtl;font-family:'Vazirmatn',sans-serif;
  position:relative;overflow:hidden;
}
.ep-success-card::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:150px;height:150px;border-radius:50%;
  background:radial-gradient(circle,rgba(26,35,126,.06) 0%,transparent 70%);
}
.ep-success-ballot{
  width:72px;height:88px;margin:0 auto .8rem;
}
.ep-success-ballot svg{width:100%;height:100%}
.ep-success-flag-row{
  display:flex;justify-content:center;gap:.3rem;margin-bottom:.8rem;
}
.ep-success-flag-mini{
  width:36px;height:22px;border-radius:2px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 2px 6px rgba(0,0,0,.12);
}
.ep-success-flag-mini .f-g{flex:1;background:#239f40}
.ep-success-flag-mini .f-w{flex:1;background:#fff}
.ep-success-flag-mini .f-r{flex:1;background:#da0000}
.ep-success-title{font-size:1.35rem;font-weight:800;margin:0 0 .4rem;color:#1e293b}
.ep-success-msg{font-size:.88rem;color:#64748b;margin:0 0 .8rem;line-height:1.6}
.ep-success-selections{
  margin:.5rem 0 1rem;display:flex;flex-direction:column;gap:.3rem;
}
.ep-success-sel-item{
  background:#f0f4ff;border-right:3px solid var(--ep-p,#1a237e);
  padding:.4rem .8rem;border-radius:6px;
  font-size:.84rem;font-weight:700;color:#1e293b;text-align:right;
}
.ep-success-close{
  padding:.65rem 2rem;
  background:var(--ep-p,#1a237e);color:#fff;
  border:none;border-radius:50px;
  font-family:'Vazirmatn',sans-serif;font-size:.9rem;font-weight:700;cursor:pointer;
  transition:all .2s;
}
.ep-success-close:hover{filter:brightness(1.12)}
@keyframes ep-bounceIn{0%{transform:scale(.5);opacity:0}70%{transform:scale(1.05)}100%{transform:scale(1);opacity:1}}

/* Confetti canvas */
#ep-confetti-canvas{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:99998}

/* ── Share Popup ── */
.ep-share-popup{
  position:fixed;inset:0;background:rgba(0,0,0,.5);
  display:flex;align-items:flex-end;justify-content:center;z-index:99999;
}
.ep-share-sheet{
  background:#fff;border-radius:20px 20px 0 0;
  padding:1.5rem;width:100%;max-width:460px;
  direction:rtl;font-family:'Vazirmatn',sans-serif;animation:ep-slideUp .25s;
}
@keyframes ep-slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
.ep-share-sheet h4{margin:0 0 1rem;font-size:1rem;font-weight:800}
.ep-share-btns{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.ep-share-item{
  display:flex;flex-direction:column;align-items:center;gap:.3rem;
  padding:.65rem .4rem;border:1px solid #e2e8f0;border-radius:12px;
  background:#fff;cursor:pointer;font-size:.74rem;font-weight:600;transition:background .15s;
}
.ep-share-item:hover{background:#f8fafc}
.ep-share-item span:first-child{font-size:1.5rem}
.ep-share-close{
  margin-top:.7rem;width:100%;padding:.6rem;
  background:#f1f5f9;border:none;border-radius:12px;
  font-family:'Vazirmatn',sans-serif;font-size:.86rem;cursor:pointer;
}
.ep-toast-wrap{position:fixed;bottom:1.2rem;right:1.2rem;z-index:99997;display:flex;flex-direction:column;gap:.4rem}
.ep-toast{
  background:#1e293b;color:#fff;padding:.65rem 1rem;border-radius:12px;
  font-family:'Vazirmatn',sans-serif;font-size:.8rem;max-width:270px;direction:rtl;
  box-shadow:0 4px 16px rgba(0,0,0,.2);display:flex;align-items:flex-start;gap:.4rem;
  animation:ep-fadein .3s;
}
.ep-toast-title{font-weight:700;display:block;margin-bottom:.1rem}

/* ── Watermark ── */
.ep-watermark{position:absolute;z-index:2;pointer-events:none}
.ep-watermark img{display:block;max-width:100px;max-height:100px;object-fit:contain}
.ep-wm-bottom-right{bottom:12px;left:12px}.ep-wm-bottom-left{bottom:12px;right:12px}
.ep-wm-top-right{top:12px;left:12px}.ep-wm-top-left{top:12px;right:12px}
.ep-wm-center{top:50%;left:50%;transform:translate(-50%,-50%)}

/* ── Print ── */
@media print{
  .ep-foot,.ep-submit-btn,.ep-peek-results,.ep-step-identity,.ep-step-confirm{display:none!important}
  .ep-poll{box-shadow:none;border:1px solid #ccc}
}

/* ── Mobile ── */
@media(max-width:560px){
  .ep-poll{border-radius:12px;margin:.8rem .5rem}
  .ep-head{padding:1.1rem 1.1rem 1rem}
  .ep-title{font-size:1.1rem}
  .ep-step-vote{padding:.2rem .9rem .4rem}
  .ep-id-box{padding:1rem 1rem 1.2rem}
  .ep-confirm-box{padding:1rem 1rem 1.2rem}
  .ep-yesno{grid-template-columns:1fr 1fr}
  .ep-share-btns{grid-template-columns:repeat(2,1fr)}
  .ep-bar-nums{flex-direction:column;align-items:flex-end;gap:.05rem}
  .ep-cand-img,.ep-cand-avatar{width:calc(var(--ep-cs)*.78);height:calc(var(--ep-cs)*.78)}
  .ep-confirm-actions{flex-direction:column}
  .ep-confirm-back{width:100%}
  .ep-step-indicator{padding:.7rem .8rem .2rem;gap:.15rem}
  .ep-step-lbl{font-size:.6rem}
  .ep-step-num{width:28px;height:28px;font-size:.75rem}
  .ep-donut-container{flex-direction:column;align-items:center}
  .ep-success-card{padding:1.6rem 1.2rem}
  .ep-toast-wrap{right:.6rem;bottom:.6rem}
  .ep-toast{max-width:calc(100vw - 1.2rem)}
}
@media(max-width:380px){
  .ep-option{padding:.65rem .65rem;gap:.5rem}
  .ep-id-tabs{flex-direction:column}
}

/* ===== v4 NEW STYLES ===== */

/* لوگوی نظرسنجی */
.ep-poll-logo-wrap { text-align:center; padding:12px 0 4px; }
.ep-poll-logo { max-height:80px; max-width:200px; object-fit:contain; border-radius:8px; }

/* کادر اطلاعات هدر */
.ep-info-header {
  display: flex; flex-wrap: wrap; gap: 8px;
  padding: 12px 16px; background: rgba(var(--ep-p-rgb,26,35,126),0.06);
  border-radius: var(--ep-r); margin-bottom: 10px;
  border: 1px solid rgba(var(--ep-p-rgb,26,35,126),0.12);
}
.ep-info-chip {
  display: flex; align-items: center; gap: 5px;
  background: #fff; border-radius: 20px;
  padding: 5px 12px; font-size: 13px; font-weight: 600;
  box-shadow: 0 1px 4px rgba(0,0,0,.10);
  border: 1.5px solid rgba(0,0,0,.07);
  transition: transform .15s;
}
.ep-info-chip:hover { transform: translateY(-1px); }
.ep-chip-icon { font-size:15px; }
.ep-chip-val { color: var(--ep-p); font-size:14px; font-weight:700; }
.ep-chip-lbl { color:#666; font-size:11px; }

/* نقطه آنلاین */
.ep-pulse-dot {
  width:9px; height:9px; border-radius:50%;
  background:#22c55e; display:inline-block;
  animation: ep-pulse 1.4s ease infinite;
  box-shadow: 0 0 0 0 rgba(34,197,94,.5);
}
@keyframes ep-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(34,197,94,.5); }
  70%  { box-shadow: 0 0 0 7px rgba(34,197,94,0); }
  100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}

/* نوار کاندید برتر */
.ep-top-candidate-bar {
  display: flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, #fff8e1, #fff3e0);
  border-radius: var(--ep-r); padding: 8px 14px;
  margin-bottom: 10px; font-size:13px;
  border: 1.5px solid #ffe082;
}
.ep-top-label { font-weight:700; color:#e65100; }
.ep-top-thumb { width:32px; height:32px; border-radius:50%; object-fit:cover; border:2px solid #ffb300; }
.ep-top-avatar { width:32px; height:32px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:14px; }
.ep-top-name { font-weight:700; color:#333; }
.ep-top-pct { background:var(--ep-a); color:#fff; border-radius:10px; padding:2px 8px; font-size:12px; font-weight:700; margin-right:auto; }

/* دکمه فانتزی نمایش نتایج */
.ep-results-toggle-wrap { text-align:center; padding: 12px 0 4px; }
.ep-fancy-results-btn {
  display: inline-flex; align-items: center; gap: 8px;
  background: linear-gradient(135deg, var(--ep-p), var(--ep-a));
  color: #fff; border: none; cursor: pointer;
  padding: 12px 28px; border-radius: 30px;
  font-family: Vazirmatn, sans-serif; font-size: 15px; font-weight: 700;
  box-shadow: 0 4px 15px rgba(0,0,0,.2);
  transition: all .25s; position:relative; overflow:hidden;
}
.ep-fancy-results-btn::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);
  border-radius:inherit;
}
.ep-fancy-results-btn:hover { transform:translateY(-2px); box-shadow:0 7px 22px rgba(0,0,0,.25); }
.ep-fancy-results-btn:active { transform:translateY(0); }
.ep-fancy-btn-icon { font-size:18px; }
.ep-fancy-btn-arrow { font-size:11px; transition:transform .25s; }
.ep-fancy-results-btn.ep-results-open .ep-fancy-btn-arrow { transform:rotate(180deg); }

/* حالت‌های موبایل */
@media(max-width:600px) {
  /* لیستی */
  .ep-mobile-list .ep-option { flex-direction:row; padding:10px 12px; }
  .ep-mobile-list .ep-cand-img-wrap { width:40px; height:40px; }
  .ep-mobile-list .ep-cand-img { width:40px; height:40px; }
  /* فشرده */
  .ep-mobile-compact .ep-option { padding:8px 10px; min-height:48px; }
  .ep-mobile-compact .ep-cand-img { width:36px!important; height:36px!important; }
  .ep-mobile-compact .ep-opt-label { font-size:13px; }
  /* شبکه‌ای */
  .ep-mobile-grid .ep-options { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .ep-mobile-grid .ep-option { flex-direction:column; text-align:center; padding:14px 8px; }
}

/* حالت سوایپ */
.ep-swipe-mode { overflow:hidden; }
.ep-swipe-track {
  display:flex; transition:transform .35s cubic-bezier(.4,0,.2,1);
  will-change: transform;
}
.ep-swipe-track .ep-option { min-width:100%; flex-shrink:0; }
.ep-swipe-dots { display:flex; justify-content:center; gap:6px; margin:10px 0; }
.ep-swipe-dot { width:8px; height:8px; border-radius:50%; background:rgba(0,0,0,.2); transition:all .2s; }
.ep-swipe-dot.ep-dot-active { background:var(--ep-a); width:20px; border-radius:4px; }

/* برند */
.ep-brand { text-align:center; font-size:11px; color:#bbb; padding:6px 0 0; letter-spacing:.3px; }

/* آنلاین بار قدیمی - hidden */
.ep-online-bar { display:none!important; }

/* badge‌ها در ادمین */
.ep-badge { display:inline-block; padding:2px 8px; border-radius:12px; font-size:12px; font-weight:600; }
.ep-badge-success { background:#dcfce7; color:#166534; }
.ep-badge-danger  { background:#fee2e2; color:#991b1b; }
.ep-row-blocked   { background:#fff5f5; opacity:.85; }
.ep-info-box { background:#f0f4ff; border-radius:8px; padding:10px 14px; margin-top:10px; font-size:13px; }
.ep-info-box p { margin:4px 0; }
.ep-card-danger { border-left:4px solid #ef4444; }
.ep-card-highlight { border-left:4px solid var(--ep-a,#ff6f00); }

/* ===== v5 STYLES ===== */

/* مودال */
.ep-modal-overlay {
  position:fixed; inset:0; background:rgba(0,0,0,.6); z-index:99999;
  display:flex; align-items:center; justify-content:center;
  animation: ep-fade-in .2s ease;
  padding: 16px;
}
@keyframes ep-fade-in { from{opacity:0} to{opacity:1} }
.ep-modal-box {
  background:#fff; border-radius:20px; padding:32px 24px;
  max-width:380px; width:100%; text-align:center;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
  animation: ep-slide-up .3s cubic-bezier(.34,1.56,.64,1);
}
@keyframes ep-slide-up { from{transform:translateY(30px);opacity:0} to{transform:translateY(0);opacity:1} }
.ep-modal-icon { font-size:54px; margin-bottom:12px; }
.ep-modal-box h3 { font-size:18px; font-weight:700; margin:0 0 12px; color:#1a237e; }
.ep-modal-body { font-size:14px; line-height:1.8; color:#555; text-align:right; white-space:pre-line; margin-bottom:20px; }
.ep-modal-voted .ep-modal-icon { color:#22c55e; }
.ep-modal-blocked .ep-modal-icon { color:#ef4444; }
.ep-modal-close { width:100%; }

/* پیام مسدودی تمام صفحه */
.ep-blocked-fullpage {
  text-align:center; padding:40px 20px;
  background:linear-gradient(135deg,#fff5f5,#fee2e2);
  border-radius:var(--ep-r,14px); border:2px solid #fca5a5;
}
.ep-blocked-icon { font-size:64px; margin-bottom:16px; }
.ep-blocked-fullpage h3 { color:#dc2626; font-size:20px; margin-bottom:12px; }
.ep-blocked-text { color:#555; font-size:14px; line-height:1.8; white-space:pre-line; }

/* ایتا */
.ep-eitaa-box { text-align:center; padding:20px; }
.ep-eitaa-logo { margin-bottom:14px; }
.ep-eitaa-box h3 { font-size:17px; font-weight:700; color:#cc2929; margin-bottom:8px; }
.ep-eitaa-box p { font-size:14px; color:#555; margin-bottom:12px; }
.ep-eitaa-channel-btn {
  display:inline-block; background:#cc2929; color:#fff;
  padding:10px 24px; border-radius:24px; text-decoration:none;
  font-size:14px; font-weight:700; margin-bottom:16px;
  transition:transform .15s, box-shadow .15s;
}
.ep-eitaa-channel-btn:hover { transform:translateY(-2px); box-shadow:0 4px 14px rgba(204,41,41,.3); color:#fff; }
.ep-eitaa-divider { font-size:12px; color:#999; margin:12px 0; position:relative; }
.ep-eitaa-request-btn { margin-bottom:12px; }
.ep-eitaa-code-wrap { margin-top:14px; }
.ep-code-input {
  width:160px; text-align:center; font-size:24px; letter-spacing:8px;
  border:2px solid var(--ep-p); border-radius:12px; padding:10px;
  font-family:monospace; margin-bottom:12px;
}
.ep-eitaa-msg { margin-top:10px; font-size:13px; min-height:20px; }
.ep-eitaa-msg.ep-success { color:#166534; }
.ep-eitaa-msg.ep-error   { color:#dc2626; }

/* بنر قبلاً رأی داده */
.ep-already-banner {
  background:linear-gradient(135deg,#fef9c3,#fef08a);
  border:2px solid #facc15; border-radius:var(--ep-r,14px);
  padding:16px 20px; text-align:center;
  animation: ep-slide-up .3s ease;
}
.ep-already-banner h3 { color:#78350f; margin:0 0 8px; }
.ep-already-banner p  { color:#92400e; font-size:14px; white-space:pre-line; margin:0; }

/* حالت inline */
.ep-already-inline {
  background:#f0fdf4; border:2px solid #86efac;
  border-radius:var(--ep-r,14px); padding:20px; text-align:center;
}

/* card ایتا برای تنظیمات ادمین */
.ep-card-eitaa { border-left:4px solid #cc2929; }
.ep-eitaa-info-box { background:#fff5f5; border-radius:8px; padding:12px 14px; margin:10px 0; }
.ep-eitaa-link { color:#cc2929; font-weight:600; text-decoration:none; }
.ep-eitaa-link:hover { text-decoration:underline; }
.ep-hint-green { color:#166534!important; background:#dcfce7; border-radius:6px; padding:8px 12px; }

/* ===== v6 THEMES ===== */

/* ثیم مدرن */
.ep-theme-modern .ep-poll { background:#f8faff; border:1px solid #e0e7ff; }
.ep-theme-modern .ep-option { border-radius:16px; border:2px solid #e0e7ff; }
.ep-theme-modern .ep-option.ep-selected { border-color:var(--ep-p); background:#f0f4ff; }
.ep-theme-modern .ep-submit-btn { border-radius:50px; }
.ep-theme-modern .ep-id-box { background:#fff; border-radius:20px; box-shadow:0 8px 30px rgba(0,0,0,.1); }

/* ثیم تاریک */
.ep-theme-dark .ep-poll { background:#1a1a2e; color:#e0e0e0; }
.ep-theme-dark .ep-option { background:#16213e; border-color:#0f3460; color:#e0e0e0; }
.ep-theme-dark .ep-option:hover { background:#0f3460; }
.ep-theme-dark .ep-option.ep-selected { background:#533483; border-color:#e94560; }
.ep-theme-dark .ep-title { color:#fff; }
.ep-theme-dark .ep-id-box { background:#16213e; }
.ep-theme-dark .ep-id-input { background:#0d0d1a; color:#fff; border-color:#0f3460; }
.ep-theme-dark .ep-info-header { background:rgba(255,255,255,.05); }
.ep-theme-dark .ep-info-chip { background:#16213e; color:#e0e0e0; }

/* ثیم گرادیان */
.ep-theme-gradient .ep-poll { background:linear-gradient(135deg,#f5f7fa,#c3cfe2); }
.ep-theme-gradient .ep-option { background:rgba(255,255,255,.7); backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,.8); }
.ep-theme-gradient .ep-option.ep-selected { background:rgba(255,255,255,.95); box-shadow:0 4px 20px rgba(0,0,0,.15); }
.ep-theme-gradient .ep-submit-btn { background:linear-gradient(135deg,var(--ep-p),var(--ep-a)); box-shadow:0 4px 20px rgba(0,0,0,.2); }

/* ثیم مینیمال */
.ep-theme-minimal .ep-poll { background:#fff; box-shadow:none; border:none; }
.ep-theme-minimal .ep-option { border-radius:4px; border:1px solid #eee; padding:10px 12px; }
.ep-theme-minimal .ep-flag-header, .ep-theme-minimal .ep-iran-flag { display:none; }
.ep-theme-minimal .ep-submit-btn { border-radius:4px; }

/* ثیم جشنی */
.ep-theme-festive .ep-poll { background:linear-gradient(135deg,#fff9e6,#fff0f6); border:2px solid #ffd700; }
.ep-theme-festive .ep-option { background:linear-gradient(135deg,#fff,#fffef0); border:2px solid #ffe082; }
.ep-theme-festive .ep-option.ep-selected { background:linear-gradient(135deg,#fff3e0,#fff8e1); border-color:#ff8f00; }
.ep-theme-festive .ep-title { background:linear-gradient(135deg,#ff6f00,#ffd600); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* دکمه بازگشت */
.ep-back-to-poll-btn {
  display:inline-flex; align-items:center; gap:6px;
  background:transparent; border:2px solid var(--ep-p);
  color:var(--ep-p); padding:8px 18px; border-radius:20px;
  cursor:pointer; font-family:inherit; font-size:14px; font-weight:600;
  margin-top:12px; transition:all .2s;
}
.ep-back-to-poll-btn:hover { background:var(--ep-p); color:#fff; }

/* grid تنظیمات ادمین */
.ep-themes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:10px; }
@media(max-width:600px){ .ep-themes-grid{grid-template-columns:repeat(2,1fr);} }
.ep-theme-opt { cursor:pointer; }
.ep-theme-opt input { display:none; }
.ep-theme-card { border:2px solid #eee; border-radius:12px; padding:12px 8px; text-align:center; transition:all .2s; }
.ep-theme-opt:hover .ep-theme-card { border-color:var(--ep-p,#1a237e); }
.ep-theme-opt.ep-theme-active .ep-theme-card { border-color:var(--ep-p,#1a237e); background:#f0f4ff; }
.ep-theme-icon { font-size:24px; display:block; margin-bottom:4px; }
.ep-theme-name { font-weight:700; font-size:13px; display:block; }
.ep-theme-desc { font-size:11px; color:#888; display:block; }

/* ایتا box در فرانت */
.ep-eitaa-verify-box {
  text-align:center; padding:24px 20px;
  background:linear-gradient(135deg,#fff5f5,#fff);
  border:2px solid #fca5a5; border-radius:var(--ep-r,14px);
}
.ep-eitaa-channel-big {
  display:inline-flex; align-items:center; gap:10px;
  background:#cc2929; color:#fff; text-decoration:none;
  padding:14px 28px; border-radius:12px; font-size:16px;
  font-weight:700; margin:14px 0; transition:all .2s;
  box-shadow:0 4px 15px rgba(204,41,41,.3);
}
.ep-eitaa-channel-big:hover { transform:translateY(-2px); box-shadow:0 7px 25px rgba(204,41,41,.4); color:#fff; }
.ep-eitaa-check-btn {
  background:#22c55e; color:#fff; border:none; padding:12px 28px;
  border-radius:24px; font-size:15px; font-weight:700;
  cursor:pointer; font-family:inherit; margin-top:8px;
  box-shadow:0 3px 12px rgba(34,197,94,.3); transition:all .2s;
}
.ep-eitaa-check-btn:hover { transform:translateY(-1px); box-shadow:0 5px 18px rgba(34,197,94,.4); }
.ep-eitaa-steps { text-align:right; background:#f9fafb; border-radius:10px; padding:12px 14px; margin:12px 0; font-size:13px; }
.ep-eitaa-steps li { margin:6px 0; }

/* mini-bar نتایج ادمین */
.ep-mini-bar { background:#f0f0f0; border-radius:3px; height:6px; margin-top:4px; overflow:hidden; }
.ep-hint-red { color:#dc2626!important; background:#fee2e2; border-radius:6px; padding:8px 12px; }

/* ===== نتایج نظرسنجی ===== */
.ep-results-list { padding:10px 0; }
.ep-res-row { margin-bottom:14px; }
.ep-res-top { display:flex; align-items:center; gap:8px; margin-bottom:5px; }
.ep-res-img { width:32px; height:32px; border-radius:50%; object-fit:cover; }
.ep-res-av  { width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:14px; }
.ep-res-name { flex:1; font-weight:600; font-size:14px; }
.ep-res-crown { font-size:16px; }
.ep-res-pct { font-weight:700; color:var(--ep-p); font-size:15px; }
.ep-res-bar-wrap { background:#f0f0f0; border-radius:8px; height:10px; overflow:hidden; margin-bottom:3px; }
.ep-res-bar { height:100%; border-radius:8px; transition:width .8s cubic-bezier(.4,0,.2,1); }
.ep-res-count { font-size:12px; color:#888; }
.ep-res-total { text-align:center; font-weight:700; color:var(--ep-p); margin-top:12px; padding-top:12px; border-top:1px dashed #eee; }

/* پیام‌های inline */
.ep-msg-box.ep-msg-show { display:block!important; padding:12px 16px; border-radius:10px; font-weight:600; }
.ep-msg-ok   { background:#dcfce7; color:#166534; }
.ep-msg-err  { background:#fee2e2; color:#991b1b; }
.ep-msg-warn { background:#fef9c3; color:#78350f; }
.ep-id-msg.ep-msg-err  { background:#fee2e2; color:#991b1b; border-radius:8px; padding:8px 12px; display:block!important; }
.ep-id-msg.ep-msg-ok   { background:#dcfce7; color:#166534; border-radius:8px; padding:8px 12px; }

/* ===== v7 ایتا Gate ===== */
.ep-eitaa-gate, .ep-eitaa-step2 {
  text-align:center; padding:24px 20px 20px;
  background:linear-gradient(135deg,#fff8f8,#fff);
  border:2px solid #fca5a5; border-radius:var(--ep-r,14px);
  animation: ep-slide-up .3s ease;
}
.ep-eitaa-logo-anim { margin-bottom:12px; animation: ep-bounce-in .5s cubic-bezier(.34,1.56,.64,1); }
@keyframes ep-bounce-in { 0%{transform:scale(0);opacity:0} 100%{transform:scale(1);opacity:1} }
.ep-eitaa-title { color:#cc2929; font-size:17px; font-weight:700; margin:0 0 8px; }
.ep-eitaa-desc  { color:#555; font-size:14px; margin-bottom:14px; }
.ep-eitaa-steps-list { text-align:right; background:#fef2f2; border-radius:10px; padding:12px 14px; margin:0 0 16px; }
.ep-eitaa-step-item { display:flex; align-items:center; gap:10px; padding:6px 0; border-bottom:1px dashed #fca5a5; font-size:13px; color:#555; }
.ep-eitaa-step-item:last-child { border-bottom:none; }
.ep-eis-num { background:#cc2929; color:#fff; width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; flex-shrink:0; }
/* دکمه عضویت با انیمیشن */
.ep-eitaa-start-btn {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  color:#fff; border:none; padding:14px 32px; border-radius:30px;
  font-family:inherit; font-size:16px; font-weight:700; cursor:pointer;
  box-shadow:0 4px 15px rgba(204,41,41,.35); transition:all .2s;
  position:relative; overflow:hidden; margin:0 auto; width:100%; max-width:320px;
}
.ep-eitaa-pulse {
  animation: ep-eitaa-glow 2s ease-in-out infinite;
}
@keyframes ep-eitaa-glow {
  0%,100%{ box-shadow:0 4px 15px rgba(204,41,41,.35); transform:scale(1); }
  50%    { box-shadow:0 8px 30px rgba(204,41,41,.6);  transform:scale(1.03); }
}
.ep-eitaa-start-btn:hover { transform:translateY(-2px) scale(1.02); }
.ep-eitaa-msg-box { font-size:13px; font-weight:600; margin-top:10px; min-height:20px; }
/* مرحله ۲ */
.ep-eitaa-step2-inner { padding:10px; }
.ep-eitaa-check-icon { font-size:48px; margin-bottom:10px; }
.ep-eitaa-step2 h3 { color:#166534; margin-bottom:8px; }
.ep-eitaa-step2 p { color:#555; font-size:14px; margin-bottom:14px; }
.ep-eitaa-timer-wrap { background:#fef9c3; border-radius:8px; padding:8px 16px; margin-bottom:14px; font-size:14px; display:inline-block; }
.ep-eitaa-verify-btn { width:100%; max-width:300px; }
.ep-eitaa-verify-btn:disabled { opacity:.5; cursor:not-allowed; }
.ep-btn-pulse { animation: ep-eitaa-glow 1.5s ease-in-out infinite; }
.ep-eitaa-back-link { background:none; border:none; color:#999; font-size:12px; cursor:pointer; margin-top:10px; font-family:inherit; }
.ep-eitaa-back-link:hover { color:#333; }

/* تعداد شرکت‌کنندگان */
.ep-chip-val { font-variant-numeric:tabular-nums; }

/* دکمه بازگشت */
.ep-back-to-poll-btn {
  display:block; width:fit-content; margin:8px auto 0;
  background:transparent; border:2px solid var(--ep-p); color:var(--ep-p);
  padding:8px 20px; border-radius:20px; cursor:pointer; font-family:inherit;
  font-size:13px; font-weight:600; transition:all .2s;
}
.ep-back-to-poll-btn:hover { background:var(--ep-p); color:#fff; }

/* نتایج سریع */
.ep-rl { padding:8px 0; }
.ep-rr { margin-bottom:12px; }
.ep-rt { display:flex; align-items:center; gap:8px; margin-bottom:5px; }
.ep-ri { width:30px; height:30px; border-radius:50%; object-fit:cover; }
.ep-ra { width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:13px; flex-shrink:0; }
.ep-rn { flex:1; font-weight:600; font-size:13px; }
.ep-rc { font-size:14px; }
.ep-rp { font-weight:700; color:var(--ep-p); }
.ep-rb-w { background:#f0f0f0; border-radius:6px; height:9px; overflow:hidden; margin-bottom:2px; }
.ep-rb-f { height:100%; border-radius:6px; transition:width .9s cubic-bezier(.4,0,.2,1); min-width:2px; }
.ep-rv { font-size:11px; color:#888; }
.ep-rtl { text-align:center; font-weight:700; color:var(--ep-p); margin-top:10px; padding-top:10px; border-top:1px dashed #eee; font-size:13px; }

/* confirm item */
.ep-confirm-item { display:flex; align-items:center; gap:8px; padding:8px 12px; background:#f0f4ff; border-radius:8px; margin-bottom:6px; }
.ep-confirm-check { color:#166534; font-size:16px; }
