#section-polls .ei-main { grid-template-columns: minmax(330px, .82fr) minmax(560px, 1.55fr); gap: 16px; }
#section-polls .ei-card { border-color: #dce4ec; box-shadow: 0 10px 34px rgba(19, 35, 59, .055); }

#section-polls .ei-ranking-card { padding: 0; overflow: hidden; }
#section-polls .ei-ranking-card .ei-card-head { margin: 0; padding: 19px 20px 15px; border-bottom: 1px solid #e3e9ef; }
#section-polls .ei-ranking-head { grid-template-columns: 42px minmax(130px, 1fr) 76px 72px; padding: 11px 15px 8px; background: #f7f9fb; }
#section-polls .ei-rank { grid-template-columns: 42px minmax(130px, 1fr) 76px 72px; min-height: 48px; padding: 9px 15px; border-top-color: #e8edf2; }
#section-polls .ei-rank:hover { background: #f6f9fc; }
#section-polls .ei-rank.target { position: relative; border-radius: 0; background: #eaf2fa; }
#section-polls .ei-rank.target::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: #2563a7; }
#section-polls .ei-rank b { color: #172238; font-size: 12px; line-height: 1.25; }
#section-polls .ei-rank strong { color: #111827; font-size: 13px; }
#section-polls .ei-change { display: inline-flex; justify-content: flex-end; align-items: center; gap: 3px; font-weight: 800; }
#section-polls .ei-change.up { color: #13815b; }
#section-polls .ei-change.down { color: #b23b47; }
#section-polls .ei-change.flat { color: #788599; }

#section-polls .ei-series-card { padding: 20px 22px 16px; overflow: hidden; background: linear-gradient(180deg, #fff 0%, #fbfcfe 100%); }
#section-polls .ei-toggles { gap: 6px; padding-bottom: 13px; border-bottom: 1px solid #e8edf2; }
#section-polls .ei-toggle { display: inline-flex; align-items: center; gap: 6px; padding: 6px 9px; border-radius: 7px; background: #f7f9fb; opacity: .55; transition: opacity .15s ease, background .15s ease, border-color .15s ease; }
#section-polls .ei-toggle i { width: 8px; height: 8px; border-radius: 50%; background: var(--series); box-shadow: 0 0 0 3px color-mix(in srgb, var(--series) 14%, transparent); }
#section-polls .ei-toggle.active { opacity: 1; border-color: color-mix(in srgb, var(--series) 55%, #dce3ec); background: #fff; box-shadow: none; }
#section-polls .ei-chart { height: 310px; margin-top: 8px; padding: 8px 6px 0; border-radius: 10px; background: repeating-linear-gradient(0deg, transparent 0 49px, rgba(222, 229, 237, .42) 50px); }
#section-polls .ei-chart-line { stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; filter: drop-shadow(0 2px 3px rgba(23, 42, 66, .12)); transition: stroke-width .15s ease, opacity .15s ease; }
#section-polls .ei-chart-line:hover { stroke-width: 5; }
#section-polls .ei-chart-dot { r: 5.5px; transition: r .14s ease, filter .14s ease; }
#section-polls .ei-chart-dot:hover { r: 8px; filter: drop-shadow(0 3px 6px rgba(20, 40, 64, .25)); }
#section-polls .ei-tooltip { min-width: 180px; border: 1px solid rgba(255,255,255,.14); border-radius: 7px; line-height: 1.45; }

#section-polls .ei-simulation-card { padding: 20px; }
#section-polls .ei-scenarios { gap: 0; border: 1px solid #e1e7ed; border-radius: 10px; overflow: hidden; }
#section-polls .ei-scenario { position: relative; grid-template-columns: 1fr 70px; gap: 10px; margin: 0; padding: 14px 15px 18px; border: 0; border-bottom: 1px solid #e6ebf0; background: #fff; }
#section-polls .ei-scenario:last-child { border-bottom: 0; }
#section-polls .ei-scenario > div b { display: block; color: #172238; font-size: 12px; }
#section-polls .ei-scenario > div small { display: block; margin-top: 3px; font-size: 10px; line-height: 1.35; }
#section-polls .ei-scenario > strong { color: #111827; font-size: 18px; }
#section-polls .ei-scenario > i { position: absolute; right: 15px; bottom: 8px; left: 15px; height: 4px; border-radius: 999px; background: #e8edf2; overflow: hidden; }
#section-polls .ei-scenario > i b { display: block; width: var(--scenario); height: 100%; border-radius: inherit; background: #65788f; }
#section-polls .ei-scenario.favorable > i b { background: #16805a; }
#section-polls .ei-scenario.expected > i b { background: #2563a7; }
#section-polls .ei-scenario.adverse > i b { background: #b94c50; }
#section-polls .ei-variables { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
#section-polls .ei-variables span { padding: 5px 8px; border: 1px solid #dfe6ed; border-radius: 6px; background: #f7f9fb; color: #536176; font-size: 9px; font-weight: 700; }

#section-polls .ei-movement-card { padding: 20px; }
#section-polls .ei-factor { grid-template-columns: 24px minmax(0,1fr) auto; gap: 9px; align-items: start; padding: 12px 0; }
#section-polls .ei-factor > i { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 6px; font-size: 10px; font-style: normal; font-weight: 900; }
#section-polls .ei-factor.up > i { background: #e7f5ef; color: #13815b; }
#section-polls .ei-factor.down > i { background: #faecee; color: #b23b47; }
#section-polls .ei-factor > div b { display: block; color: #172238; font-size: 11px; }
#section-polls .ei-factor > div small { display: block; margin-top: 4px; color: #536176; font-size: 10px; line-height: 1.4; }
#section-polls .ei-factor > span { padding: 4px 6px; border-radius: 5px; font-size: 8px; font-weight: 800; text-transform: uppercase; }
#section-polls .ei-factor.up > span { background: #e7f5ef; color: #137251; }
#section-polls .ei-factor.down > span { background: #faecee; color: #a6313e; }
#section-polls .ei-context-note { margin: 13px 0 0; padding: 11px 12px; border-left: 3px solid #8da1b7; background: #f5f7fa; color: #405066; font-size: 10px; line-height: 1.5; }

@media (max-width: 1180px) { #section-polls .ei-main { grid-template-columns: 1fr; } }
@media (max-width: 700px) {
  #section-polls .ei-ranking-head,
  #section-polls .ei-rank { grid-template-columns: 34px minmax(120px,1fr) 62px 60px; padding-inline: 10px; }
  #section-polls .ei-series-card { padding-inline: 14px; }
  #section-polls .ei-chart { height: 250px; overflow-x: auto; }
}

@media (prefers-reduced-motion: reduce) {
  #section-polls .ei-toggle,
  #section-polls .ei-chart-line,
  #section-polls .ei-chart-dot { transition: none; }
}
