        /* Sidebar user skeleton */
        .sidebar-user-skeleton .user-avatar,
        .sidebar-user-skeleton .user-name,
        .sidebar-user-skeleton .user-role {
            background: linear-gradient(90deg, var(--color-bg-elevated) 25%, rgba(255,255,255,0.08) 50%, var(--color-bg-elevated) 75%);
            background-size: 200% 100%;
            animation: skeleton-shimmer 1.5s infinite ease-in-out;
        }
        
        .sidebar-user-skeleton .user-name {
            height: 1em;
            width: 100px;
            border-radius: 4px;
        }
        
        .sidebar-user-skeleton .user-role {
            height: 0.75em;
            width: 70px;
            border-radius: 4px;
            margin-top: 4px;
        }

        .poll-card {
            position: relative;
            overflow: hidden;
        }
        
        .poll-status-bar {
            height: 3px;
            background: var(--color-border);
        }
        
        .poll-status-bar.active {
            background: var(--color-accent);
        }
        
        .poll-status-bar.ended {
            background: var(--color-text-muted);
        }
        
        .poll-header {
            padding: var(--space-lg);
            padding-bottom: var(--space-md);
        }
        
        .poll-meta {
            display: flex;
            align-items: center;
            gap: var(--space-md);
            margin-bottom: var(--space-sm);
        }
        
        .poll-status {
            font-size: 0.6875rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            padding: 4px 8px;
        }
        
        .poll-status.active {
            background: rgba(255, 92, 0, 0.15);
            color: var(--color-accent);
        }
        
        .poll-status.ended {
            background: var(--color-bg-elevated);
            color: var(--color-text-muted);
        }
        
        .poll-date {
            font-size: 0.75rem;
            color: var(--color-text-muted);
        }
        
        .poll-question {
            font-size: 1.25rem;
            font-weight: 600;
            color: var(--color-text);
            line-height: 1.4;
        }
        
        .poll-body {
            padding: 0 var(--space-lg);
        }
        
        .poll-options {
            display: flex;
            flex-direction: column;
            gap: var(--space-sm);
        }
        
        .poll-option {
            position: relative;
            padding: var(--space-md);
            background: var(--color-bg-elevated);
            border: 1px solid var(--color-border);
            cursor: pointer;
            transition: all var(--duration-fast) var(--ease-out);
        }
        
        .poll-option:hover:not(.voted):not(.disabled) {
            border-color: var(--color-accent);
        }
        
        .poll-option.selected {
            border-color: var(--color-accent);
            background: rgba(255, 92, 0, 0.05);
        }
        
        .poll-option.voted {
            cursor: default;
        }
        
        .poll-option.disabled {
            cursor: not-allowed;
            opacity: 0.7;
        }
        
        .poll-option-content {
            display: flex;
            align-items: center;
            justify-content: space-between;
            position: relative;
            z-index: 1;
        }
        
        .poll-option-text {
            display: flex;
            align-items: center;
            gap: var(--space-sm);
        }
        
        .poll-option-radio {
            width: 18px;
            height: 18px;
            border: 2px solid var(--color-border);
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: all var(--duration-fast) var(--ease-out);
        }
        
        .poll-option.selected .poll-option-radio,
        .poll-option.voted.user-vote .poll-option-radio {
            border-color: var(--color-accent);
            background: var(--color-accent);
        }
        
        .poll-option-radio::after {
            content: '';
            width: 6px;
            height: 6px;
            background: var(--color-bg);
            opacity: 0;
            transition: opacity var(--duration-fast) var(--ease-out);
        }
        
        .poll-option.selected .poll-option-radio::after,
        .poll-option.voted.user-vote .poll-option-radio::after {
            opacity: 1;
        }
        
        .poll-option-percent {
            font-family: var(--font-display);
            font-size: 1.125rem;
            color: var(--color-text-muted);
        }
        
        .poll-option.voted.user-vote .poll-option-percent {
            color: var(--color-accent);
        }
        
        .poll-option-bar {
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            background: rgba(255, 92, 0, 0.1);
            transition: width var(--duration-normal) var(--ease-out);
            width: 0;
        }
        
        .poll-option.voted .poll-option-bar {
            width: var(--percent, 0%);
        }
        
        .poll-option.voted.user-vote .poll-option-bar {
            background: rgba(255, 92, 0, 0.15);
        }
        
        .poll-footer {
            padding: var(--space-lg);
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        
        .poll-votes {
            font-size: 0.875rem;
            color: var(--color-text-muted);
        }
        
        .poll-votes strong {
            color: var(--color-text);
        }
        
        .poll-anonymous {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 0.75rem;
            color: var(--color-text-muted);
        }
        
        /* Results chart */
        .results-bar {
            height: 8px;
            background: var(--color-bg-elevated);
            margin-top: var(--space-xs);
            overflow: hidden;
        }
        
        .results-bar-fill {
            height: 100%;
            background: var(--color-accent);
            transition: width var(--duration-normal) var(--ease-out);
        }
        
        @media (max-width: 768px) {
            .poll-question {
                font-size: 1.125rem;
            }
            
            .poll-card {
                padding: var(--space-md);
            }
            
            .poll-header {
                flex-direction: column;
                align-items: flex-start;
            }
            
            .poll-options {
                gap: var(--space-sm);
            }
            
            .poll-option {
                padding: var(--space-sm);
            }
        }
        
        @media (max-width: 480px) {
            .poll-question {
                font-size: 1rem;
            }
            
            .poll-option-label {
                font-size: 0.875rem;
            }
            
            .poll-results-bar {
                height: 6px;
            }
        }
