.poll-main{max-width:1180px;margin:auto;padding:32px 20px 64px}.poll-hero,.poll-compose,.poll-browser{padding:clamp(20px,3vw,32px);margin-bottom:24px}.poll-hero h1{margin:10px 0}.poll-hero p{max-width:76ch;line-height:1.7}.poll-tabs,.poll-controls,.poll-pagination{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.poll-tabs [aria-selected=true]{border-color:#c879ff;box-shadow:0 0 0 1px #c879ff}.poll-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}.poll-card{padding:24px;border:1px solid var(--line,#31506f);border-radius:20px;background:var(--panel,#0d1930);min-width:0}.poll-card h2{font-size:1.08rem;font-weight:400;line-height:1.4;overflow-wrap:anywhere}.poll-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.8rem;color:var(--muted,#b7c8dd)}.poll-topic{color:#65e5ee}.poll-author{margin:6px 0 16px}.poll-vote-form fieldset{border:0;padding:0;margin:12px 0}.poll-vote-form label{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid var(--line,#31506f);border-radius:10px;margin:10px 0;cursor:pointer}.poll-vote-form input[type=radio]{width:18px;height:18px;flex:0 0 18px;margin:2px 0;accent-color:#58e1f4}.poll-compose form,.poll-concern-form{display:grid;gap:16px}.poll-compose label,.poll-concern-form label{display:grid;gap:8px}.poll-compose input,.poll-compose textarea,.poll-concern-form textarea,.poll-browser select{width:100%;max-width:100%;box-sizing:border-box;padding:12px;background:var(--panel,#081528);color:var(--text,#eef5ff);border:1px solid var(--line,#31506f);border-radius:10px}.poll-compose textarea{min-height:140px}.poll-compose [hidden],.poll-main [hidden]{display:none!important}.poll-result-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:18px 0}.poll-result-row progress{grid-column:1/-1;width:100%;height:12px;accent-color:#47daf1}.poll-small{font-size:.83rem;color:var(--muted,#b3c3d7);line-height:1.6}.poll-feedback{padding:12px;border:1px solid #3d8c83;border-radius:10px;color:var(--text,#defdf5);margin:14px 0 0;overflow-wrap:anywhere}.poll-feedback.is-error{border-color:#e08ba3}.poll-table-wrap{overflow:auto}.poll-results table{border-collapse:collapse;width:100%;font-size:.88rem}.poll-results th,.poll-results td{padding:12px 8px;text-align:left;border-bottom:1px solid var(--line,#31506f)}.poll-concern-form{margin-top:16px}.poll-state{font-weight:700}.poll-compose{scroll-margin-top:var(--cp-header-offset,140px)}@media(max-width:600px){.poll-main{padding:18px 12px 40px}.poll-card{padding:18px}.poll-controls .btn{max-width:100%;white-space:normal}}

@media(max-width:900px){.poll-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.poll-grid{grid-template-columns:1fr}}

#poll-list-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.poll-pagination{justify-content:center;align-items:center;gap:12px}.poll-pagination .btn{min-height:44px;padding:8px 14px;font-size:14px}.poll-pagination #poll-page-label{font-size:13px;color:var(--muted)}.poll-empty-message{grid-column:1/-1}

/* Poll views are navigation tabs, not pill-shaped actions. */
body .poll-main .poll-browser .poll-tabs{display:flex!important;flex-wrap:wrap!important;gap:0 12px;border-bottom:1px solid var(--line);padding:0;margin:16px 0 20px;align-items:stretch}
body .poll-main .poll-browser .poll-tabs .btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 4px!important;font-size:14px!important;line-height:1.35;border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--muted)!important;white-space:normal;text-align:center}
body .poll-main .poll-browser .poll-tabs .btn[aria-selected=true]{border-bottom-color:var(--accent,#00829a)!important;color:var(--text)!important;font-weight:700}
body .poll-main .poll-browser .poll-tabs .btn:focus-visible{outline:2px solid var(--accent,#00829a);outline-offset:2px}
@media(max-width:620px){body .poll-main .poll-browser .poll-tabs{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 8px}body .poll-main .poll-browser .poll-tabs .btn{font-size:13px!important;padding:9px 3px!important;min-width:0;overflow-wrap:normal}}
