.meeting-poll-card { background: #f7faf9; border-color: #d9e7e1; }
.meeting-refresh-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.meeting-refresh-controls .btn { min-height: 40px; }
.meeting-poll-card .card-header { background: #e6f2ee; border-bottom-color: #d9e7e1; }
.meeting-status-summary { display: flex; flex-wrap: wrap; gap: 8px; }
.meeting-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  border: 1px solid transparent;
}
.meeting-status-upcoming {
  background: #e7f1ff;
  color: #0f4fa8;
  border-color: #cfe0fb;
}
.meeting-status-invitations {
  background: #fff3e3;
  color: #a85a00;
  border-color: #f6ddba;
}
.meeting-status-closed {
  background: #eaf7ee;
  color: #237346;
  border-color: #cfe8d6;
}
.meeting-status-cancelled {
  background: #fdecec;
  color: #b23a3a;
  border-color: #f6cfcf;
}
.meeting-poll-summary { background: #ffffff; border: 1px solid #e4ece8; border-radius: 8px; padding: 12px 14px; }
.meeting-poll-summary .poll-kpi { font-weight: 600; }
.meeting-poll-summary .poll-kpi small { font-weight: 400; color: #6c757d; }
.meeting-poll-progress { height: 8px; background: #e9f2ef; border-radius: 4px; overflow: hidden; }
.meeting-poll-progress > span { display: block; height: 100%; background: #0a5c48; }
.meeting-poll-pill { display: inline-block; padding: 2px 8px; border-radius: 999px; background: #eef5f2; color: #0a5c48; font-size: 0.75rem; }
.meeting-poll-slot-table th { background: #f1f6f4; }
.meeting-poll-actions .btn { min-width: 84px; }
.meeting-poll-choices .form-check { padding: 8px 10px; border: 1px solid #e4ece8; border-radius: 8px; }
.meeting-poll-choices .form-check + .form-check { margin-top: 8px; }
.poll-voter-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.poll-voter-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  color: #0b2b24;
  background: #e8f4f0;
  border: 1px solid #d4e6df;
}
.poll-voter-badge[data-color="1"] { background: #e8f4f0; border-color: #d4e6df; }
.poll-voter-badge[data-color="2"] { background: #e6f1f8; border-color: #cfe3f1; }
.poll-voter-badge[data-color="3"] { background: #f6efe4; border-color: #eadcc7; }
.poll-voter-badge[data-color="4"] { background: #f3e9ef; border-color: #e4d1dc; }
.poll-voter-badge[data-color="5"] { background: #edf3e4; border-color: #dbe6cc; }
.time-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.time-chips button {
  border: 1px solid #d4e6df;
  background: #f1f6f4;
  color: #0a5c48;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.8rem;
  line-height: 1.2;
}
.time-chips button:hover { background: #e6f2ee; }
.availability-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid #d4e6df;
  background: #f7faf9;
  font-size: 0.85rem;
  color: #0a5c48;
}
.availability-chip .chip-meta { color: #5a6f69; font-size: 0.78rem; }
.availability-item {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}
.availability-item input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.availability-item input[type="checkbox"]:checked + .availability-chip {
  background: #d6ebe5;
  border-color: #0a5c48;
  color: #084235;
  box-shadow: inset 0 0 0 1px #0a5c48;
}
.availability-item input[type="checkbox"]:checked + .availability-chip .chip-meta {
  color: #2f5f52;
}

@page {
  size: letter portrait;
  margin: 0.6in 0.6in 0.6in 0.6in;
}

@media print {
  .no-print, .no-print * { display: none !important; }
  html, body { margin: 0; padding: 0; }
  .meeting-print { padding-bottom: 0; }
  .meeting-meta { break-inside: avoid; page-break-inside: avoid; }
  .meeting-agenda-title { break-after: avoid; page-break-after: avoid; }
  .meeting-agenda-item,
  .meeting-notes li { break-inside: avoid; page-break-inside: avoid; }
  .meeting-agenda-body { break-inside: auto; page-break-inside: auto; }
}
