/* ==================== polls.css - نظرسنجی، انتخابات و مسابقه ==================== */
#content_polls { --pl-ink:#1e1b4b; --pl-poll:#0ea5e9; --pl-elec:#d97706; --pl-quiz:#a855f7; --pl-ok:#16a34a; --pl-bad:#dc2626; }
.pl-hero { position:relative; overflow:hidden; border-radius:22px; padding:18px 16px 14px; margin-bottom:14px; color:#fff;
  background:linear-gradient(135deg,#1e1b4b 0%,#312e81 45%,#0f766e 100%); box-shadow:0 10px 26px rgba(49,46,129,.28); }
.pl-hero::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 15% 120%,rgba(253,230,138,.35),transparent 55%); pointer-events:none; }
.pl-hero-art { position:absolute; inset:0; opacity:.9; pointer-events:none; }
.pl-hero-art svg { width:100%; height:100%; }
.pl-hero-txt { position:relative; z-index:1; max-width:68%; }
.pl-hero-title { font-size:1.15rem; font-weight:800; letter-spacing:-.2px; }
.pl-hero-sub { font-size:.78rem; opacity:.85; margin-top:3px; }
.pl-hero-stats { position:relative; z-index:1; display:flex; gap:8px; margin-top:14px; flex-wrap:wrap; }
.pl-stat { flex:1 1 70px; background:rgba(255,255,255,.14); backdrop-filter:blur(4px); border:1px solid rgba(255,255,255,.22); border-radius:14px; padding:8px 6px; text-align:center; }
.pl-stat b { display:block; font-size:1.15rem; line-height:1.2; }
.pl-stat span { font-size:.68rem; opacity:.85; }

.pl-tabs .tab { flex:1 1 22%; white-space:nowrap; padding:9px 6px; font-size:12.5px; }
.pl-owner-bar { margin:10px 0; }
.pl-owner-bar .btn { width:100%; }
.pl-back { margin-bottom:10px; }

/* کارت */
.pl-card { position:relative; border-radius:20px; padding:14px 14px 12px; margin-bottom:12px; background:var(--surface,#fff); border:1px solid var(--border,#e2e8f0); overflow:hidden; cursor:pointer; transition:transform .15s, box-shadow .15s; }
.pl-card:active { transform:scale(.99); }
.pl-card::before { content:""; position:absolute; inset:0 0 auto auto; width:6px; height:100%; background:var(--kc,#0ea5e9); }
.pl-card.k-poll { --kc:var(--pl-poll); } .pl-card.k-election { --kc:var(--pl-elec); } .pl-card.k-quiz { --kc:var(--pl-quiz); }
.pl-card-top { display:flex; align-items:flex-start; gap:10px; }
.pl-kind { flex:none; display:inline-flex; align-items:center; gap:4px; font-size:11px; font-weight:800; padding:3px 10px; border-radius:20px; color:#fff; background:var(--kc); }
.pl-title { font-weight:800; font-size:15px; line-height:1.6; margin:6px 0 2px; }
.pl-desc { font-size:12px; color:var(--text-soft,#64748b); line-height:1.8; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pl-meta { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.pl-chip { font-size:11px; padding:2px 9px; border-radius:20px; background:var(--surface-3,#f1f5f9); color:var(--text-3,#475569); font-weight:bold; }
.pl-chip.gold { background:#fef3c7; color:#92400e; } .pl-chip.green { background:#dcfce7; color:#166534; } .pl-chip.red { background:#fee2e2; color:#991b1b; } .pl-chip.blue { background:#e0f2fe; color:#075985; }
.pl-timer { margin-inline-start:auto; text-align:center; flex:none; min-width:74px; padding:4px 8px; border-radius:12px; background:#0f172a; color:#fde68a; font-family:ui-monospace,monospace; direction:ltr; font-weight:bold; font-size:13px; line-height:1.3; }
.pl-timer small { display:block; font-family:inherit; font-size:9px; opacity:.7; font-weight:normal; }
.pl-timer.urgent { background:#7f1d1d; color:#fecaca; animation:plPulse 1.2s infinite; }
@keyframes plPulse { 50% { opacity:.65; } }
.pl-prog { height:7px; border-radius:6px; background:var(--surface-3,#f1f5f9); overflow:hidden; margin-top:10px; }
.pl-prog i { display:block; height:100%; border-radius:6px; background:linear-gradient(90deg,var(--kc),#fde68a); }
.pl-card-foot { display:flex; justify-content:space-between; align-items:center; margin-top:8px; font-size:11.5px; color:var(--text-soft,#64748b); }
.pl-cta { border:none; border-radius:12px; padding:7px 16px; font-weight:800; font-size:12.5px; color:#fff; cursor:pointer; background:var(--kc); }
.pl-cta.ghost { background:var(--surface-3,#f1f5f9); color:var(--text-3,#334155); }

/* جزئیات */
.pl-panel { background:var(--surface,#fff); border:1px solid var(--border,#e2e8f0); border-radius:20px; padding:16px; margin-bottom:14px; }
.pl-head { display:flex; gap:12px; align-items:center; }
.pl-ring { flex:none; position:relative; width:96px; height:96px; }
.pl-ring svg { width:100%; height:100%; transform:rotate(-90deg); }
.pl-ring .bg { stroke:var(--surface-3,#e2e8f0); } .pl-ring .fg { stroke:var(--kc,#6366f1); transition:stroke-dashoffset .8s; stroke-linecap:round; }
.pl-ring .tx { position:absolute; inset:0; display:grid; place-items:center; text-align:center; font-weight:800; direction:ltr; font-size:13px; line-height:1.3; }
.pl-ring .tx small { display:block; font-size:9px; font-weight:normal; color:var(--text-soft,#64748b); }
.pl-h-title { font-size:1.05rem; font-weight:800; line-height:1.6; }
.pl-q { border:1px solid var(--border,#e2e8f0); border-radius:16px; padding:12px; margin-bottom:12px; background:var(--surface-2,#f8fafc); }
.pl-q-title { font-weight:800; font-size:14px; line-height:1.8; margin-bottom:8px; }
.pl-q-title .n { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--kc,#6366f1); color:#fff; font-size:12px; margin-inline-end:6px; }
.pl-opt { display:flex; align-items:center; gap:10px; padding:10px 12px; margin-bottom:7px; border-radius:14px; border:2px solid var(--border,#e2e8f0); background:var(--surface,#fff); cursor:pointer; transition:.15s; }
.pl-opt input { width:20px; height:20px; flex:none; accent-color:var(--kc,#6366f1); }
.pl-opt.sel { border-color:var(--kc,#6366f1); background:color-mix(in srgb,var(--kc,#6366f1) 9%,var(--surface,#fff)); }
.pl-stars { display:flex; gap:6px; direction:ltr; justify-content:center; }
.pl-stars button { border:none; background:none; font-size:30px; cursor:pointer; color:#cbd5e1; padding:0 2px; }
.pl-stars button.on { color:#f59e0b; transform:scale(1.08); }
.pl-ta { width:100%; min-height:70px; border-radius:12px; border:1px solid var(--border,#e2e8f0); padding:8px; font-family:inherit; }
.pl-submit { width:100%; border:none; border-radius:16px; padding:13px; font-weight:800; font-size:15px; color:#fff; cursor:pointer; background:linear-gradient(135deg,var(--kc,#6366f1),#0f766e); box-shadow:0 8px 18px rgba(0,0,0,.15); }
.pl-submit:disabled { opacity:.5; }
.pl-note { font-size:12px; line-height:1.9; border-radius:12px; padding:9px 11px; background:var(--surface-2,#f8fafc); border:1px dashed var(--border,#cbd5e1); color:var(--text-secondary,#475569); margin-bottom:10px; }
.pl-note.warn { background:#fffbeb; border-color:#fcd34d; color:#92400e; } .pl-note.good { background:#f0fdf4; border-color:#86efac; color:#166534; } .pl-note.bad { background:#fef2f2; border-color:#fca5a5; color:#991b1b; }

/* نمودارها */
.pl-res { margin-bottom:14px; }
.pl-bar { margin-bottom:9px; }
.pl-bar .lb { display:flex; justify-content:space-between; font-size:12.5px; margin-bottom:3px; gap:8px; }
.pl-bar .lb b { white-space:nowrap; }
.pl-bar .tr { height:15px; border-radius:9px; background:var(--surface-3,#eef2f7); overflow:hidden; }
.pl-bar .tr i { display:block; height:100%; border-radius:9px; background:var(--c,#6366f1); width:0; transition:width .9s cubic-bezier(.2,.8,.2,1); }
.pl-bar.win .lb { font-weight:800; } .pl-bar.win .tr { box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 40%,transparent); }
.pl-donut-wrap { display:flex; gap:14px; align-items:center; flex-wrap:wrap; justify-content:center; }
.pl-donut { width:150px; height:150px; flex:none; }
.pl-donut text { font-family:inherit; }
.pl-legend { flex:1 1 150px; font-size:12px; }
.pl-legend div { display:flex; align-items:center; gap:6px; margin-bottom:4px; }
.pl-legend i { width:11px; height:11px; border-radius:4px; flex:none; background:var(--c); }
.pl-cols { display:flex; align-items:flex-end; gap:8px; height:120px; margin-top:8px; padding:0 4px; }
.pl-cols .col { flex:1; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; height:100%; font-size:11px; }
.pl-cols .col i { display:block; width:100%; border-radius:8px 8px 3px 3px; background:linear-gradient(180deg,#f59e0b,#fde68a); min-height:3px; transition:height .8s; }
.pl-cols .col b { margin-bottom:3px; font-size:11px; }
.pl-cols .col span { margin-top:3px; font-size:12px; font-weight:bold; }
.pl-gauge { display:flex; gap:12px; align-items:center; }
.pl-tl { display:flex; align-items:flex-end; gap:3px; height:54px; margin-top:6px; }
.pl-tl i { flex:1; background:linear-gradient(180deg,var(--kc,#6366f1),#a5b4fc); border-radius:4px 4px 1px 1px; min-width:4px; }
.pl-insight { border-radius:16px; padding:12px 14px; margin-bottom:12px; background:linear-gradient(135deg,#eef2ff,#fdf4ff); border:1px solid #c7d2fe; font-size:13px; line-height:2; color:#312e81; }
.pl-insight h4 { margin:0 0 4px; font-size:13.5px; }
.pl-insight ul { margin:0; padding-inline-start:18px; }

/* انتخابات */
.pl-winners { display:grid; gap:10px; margin-bottom:12px; }
.pl-winner { display:flex; align-items:center; gap:12px; padding:12px; border-radius:18px; background:linear-gradient(135deg,#fffbeb,#fef3c7); border:1px solid #fcd34d; }
.pl-winner .crown { font-size:30px; filter:drop-shadow(0 2px 3px rgba(0,0,0,.2)); }
.pl-winner b { font-size:15px; } .pl-winner small { display:block; color:#92400e; }
.pl-board { counter-reset:r; }
.pl-brow { display:flex; align-items:center; gap:10px; padding:9px 11px; margin-bottom:6px; border-radius:14px; background:var(--surface-2,#f8fafc); border:1px solid var(--border,#e2e8f0); }
.pl-brow::before { counter-increment:r; content:counter(r); flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-weight:800; font-size:12px; background:#e2e8f0; color:#334155; }
.pl-brow:nth-child(1)::before { background:#fde047; color:#713f12; } .pl-brow:nth-child(2)::before { background:#e2e8f0; } .pl-brow:nth-child(3)::before { background:#fdba74; color:#7c2d12; }
.pl-brow .nm { flex:1; font-weight:bold; font-size:13px; } .pl-brow .sc { font-weight:800; direction:ltr; }

/* ویرایشگر */
.pl-kinds { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:14px; }
.pl-kind-card { border:2px solid var(--border,#e2e8f0); border-radius:16px; padding:12px 6px; text-align:center; cursor:pointer; background:var(--surface,#fff); }
.pl-kind-card .em { font-size:26px; } .pl-kind-card b { display:block; font-size:12.5px; margin-top:2px; } .pl-kind-card small { font-size:10.5px; color:var(--text-soft,#64748b); }
.pl-kind-card.on { border-color:var(--kc); background:color-mix(in srgb,var(--kc) 10%,var(--surface,#fff)); box-shadow:0 6px 14px color-mix(in srgb,var(--kc) 25%,transparent); }
.pl-kind-card.k-poll { --kc:#0ea5e9; } .pl-kind-card.k-election { --kc:#d97706; } .pl-kind-card.k-quiz { --kc:#a855f7; }
.pl-f { margin-bottom:12px; } .pl-f > label { display:block; font-weight:bold; font-size:13px; margin-bottom:4px; } .pl-f input[type=text], .pl-f input[type=number], .pl-f select, .pl-f textarea { width:100%; border-radius:12px; border:1px solid var(--border,#cbd5e1); padding:9px 10px; font-family:inherit; }
.pl-f .hint { font-size:11.5px; color:var(--text-soft,#64748b); margin-top:3px; line-height:1.8; }
.pl-row { display:flex; gap:8px; } .pl-row > * { flex:1; min-width:0; }
.pl-sec { font-weight:800; font-size:14px; margin:18px 0 8px; padding-bottom:6px; border-bottom:2px solid var(--gold,#d4a017); }
.pl-sw { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; border:1px solid var(--border,#e2e8f0); background:var(--surface,#fff); margin-bottom:8px; cursor:pointer; }
.pl-sw input { width:20px; height:20px; flex:none; } .pl-sw b { display:block; font-size:13px; } .pl-sw small { color:var(--text-soft,#64748b); font-size:11.5px; line-height:1.7; }
.pl-eq { border:1px solid var(--border,#e2e8f0); border-radius:16px; padding:12px; margin-bottom:10px; background:var(--surface-2,#f8fafc); }
.pl-eq-h { display:flex; gap:6px; align-items:center; margin-bottom:8px; } .pl-eq-h select { flex:1; } .pl-eq-h button { border:none; background:#fee2e2; color:#991b1b; border-radius:10px; padding:7px 10px; cursor:pointer; }
.pl-eo { display:flex; gap:6px; align-items:center; margin-bottom:6px; } .pl-eo input[type=text] { flex:1; } .pl-eo button { border:none; background:var(--surface-3,#f1f5f9); border-radius:9px; padding:6px 9px; cursor:pointer; }
.pl-eo input[type=checkbox], .pl-eo input[type=radio] { width:18px; height:18px; flex:none; accent-color:#16a34a; }
.pl-cands { display:flex; flex-wrap:wrap; gap:6px; max-height:190px; overflow:auto; padding:6px; border:1px solid var(--border,#e2e8f0); border-radius:12px; }
.pl-cand { padding:5px 11px; border-radius:20px; border:1px solid var(--border,#cbd5e1); font-size:12px; cursor:pointer; background:var(--surface,#fff); }
.pl-cand.on { background:#d97706; color:#fff; border-color:#d97706; }
.pl-actions { display:flex; gap:8px; margin-top:14px; } .pl-actions .btn { flex:1; }
.pl-mg { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-bottom:12px; }
.pl-mg .pl-stat { background:var(--surface,#fff); border:1px solid var(--border,#e2e8f0); color:inherit; } .pl-mg .pl-stat b { color:#4338ca; }
.pl-ap { display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:14px; background:var(--surface,#fff); border:1px solid var(--border,#e2e8f0); margin-bottom:7px; font-size:12.5px; }
.pl-ap .who { flex:1; } .pl-ap small { display:block; color:var(--text-soft,#64748b); }
.pl-empty { text-align:center; padding:34px 10px; color:var(--text-soft,#64748b); }
.pl-empty svg { width:84px; height:84px; opacity:.55; display:block; margin:0 auto 8px; }
@media (max-width:420px) { .pl-head { flex-direction:column; align-items:stretch; text-align:center; } .pl-ring { margin:0 auto; } .pl-timer { min-width:64px; } }
