.vote-poll-container { border: 1px solid #eaeaea; padding: 20px; border-radius: 8px; background: #fafafa; max-width: 500px; margin: 20px 0; font-family: sans-serif; }
.vote-poll-title { margin-top: 0; }
.vote-radio-wrapper { margin-bottom: 10px; }
.vote-radio-wrapper label { cursor: pointer; display: flex; align-items: center; gap: 8px; }
.vote-submit-btn { background: #0073aa; color: #fff; padding: 8px 16px; border: none; border-radius: 4px; cursor: pointer; font-weight: bold; margin-top: 10px; }
.vote-submit-btn:hover { background: #005177; }
.vote-result-row { margin-bottom: 15px; }
.vote-result-label { display: flex; justify-content: space-between; font-size: 14px; margin-bottom: 4px; font-weight: bold; }
.vote-result-bar { background: #e0e0e0; height: 24px; border-radius: 12px; overflow: hidden; }
.vote-result-bar-fill { height: 100%; width: 0; transition: width 1s ease-in-out; }
.vote-error, .vote-success, .vote-expired-msg { font-weight: bold; margin-bottom: 15px; }
.vote-error { color: #d63638; }
.vote-success { color: #00a32a; }
.vote-expired-msg { color: #8a2424; }
.vote-total-badge { background: #0073aa; color: #fff; display: inline-block; padding: 5px 12px; border-radius: 20px; font-size: 13px; font-weight: bold; margin-bottom: 20px; }
