/* dashboard-polls.css
   Styles for the "Polls" card — reviewing the live polls a teacher chose to
   keep for 10 days. Own file so the feature can change without touching
   dashboard.css. Colour variables come from dashboard.css. */

.poll-status { font-size: 13px; color: var(--muted, #A7B0BE); }
.poll-status-err { color: var(--red-2, #FF6A45); }

/* List rows -------------------------------------------------------------- */
.poll-name { display: block; font-weight: 600; color: var(--ink, #F4F6FA); }
.poll-code {
  display: block; font-family: var(--mono, monospace);
  font-size: 12px; color: var(--faint, #909AAB); letter-spacing: .04em;
}
.poll-pill {
  display: inline-block; padding: 2px 9px; border-radius: 999px;
  font-size: 11.5px; font-weight: 700; letter-spacing: .03em;
  background: rgba(255, 255, 255, .06); color: var(--muted, #A7B0BE);
}
.poll-pill-live { background: rgba(62, 207, 142, .14); color: var(--green, #3ECF8E); }
.poll-pill-wait { background: rgba(242, 187, 99, .14); color: var(--amber, #F2BB63); }
/* The retention promise, on every row: a teacher should never have to
   remember which polls are about to delete themselves. */
.poll-keep { display: block; font-size: 11.5px; color: var(--faint, #909AAB); margin-top: 3px; }

.poll-del-arm {
  background: var(--red-soft, rgba(232, 67, 31, .13)) !important;
  border-color: var(--red, #E8431F) !important;
  color: var(--red-2, #FF6A45) !important;
}

/* Expanded results ------------------------------------------------------- */
.poll-detail-row > td { padding-top: 0 !important; }
.poll-detail {
  border: 1px solid var(--line, #1F2733); border-radius: 12px;
  background: var(--bg-2, #0B0F16); padding: 14px 16px; margin: 4px 0 10px;
}
.poll-detail-head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 12px; flex-wrap: wrap; margin-bottom: 10px;
}
.poll-detail-title { font-weight: 700; font-size: 15px; color: var(--ink, #F4F6FA); }
.poll-q { margin-top: 14px; }
.poll-q:first-of-type { margin-top: 0; }
.poll-q-num {
  font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: var(--red-2, #FF6A45); margin-bottom: 3px;
}
.poll-q-prompt { font-size: 14.5px; font-weight: 600; margin-bottom: 9px; line-height: 1.35; }
.poll-res { margin-bottom: 9px; }
.poll-res:last-child { margin-bottom: 0; }
.poll-res-top {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: 12px; margin-bottom: 4px;
}
.poll-res-label { font-size: 13.5px; color: var(--ink, #F4F6FA); }
.poll-res-n {
  font-size: 13px; font-weight: 700; color: var(--muted, #A7B0BE);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.poll-res-track {
  height: 9px; border-radius: 999px; overflow: hidden;
  background: var(--line, #1F2733);
}
.poll-res-fill {
  height: 100%; width: 0; border-radius: 999px;
  background: var(--grad, linear-gradient(135deg, #F4592E, #DE3A18));
  transition: width .45s var(--ease, ease);
}
@media (prefers-reduced-motion: reduce) { .poll-res-fill { transition: none; } }
