/**
 * Public scheduling poll page — calendar-scheduling-completeness T-12.
 * Minimal, anonymous, mobile-first. No PWA chrome (boot bypass sets
 * `_publicMode = true`).
 */
.poll-card {
  max-width: 480px;
  margin: 24px auto;
  padding: 24px;
  background: var(--bg2, #fff);
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
.poll-title {
  font-size: 20px;
  font-weight: 700;
  color: var(--text, #111);
  margin: 0 0 8px 0;
}
.poll-greeting {
  font-size: 14px;
  color: var(--hint, #666);
  margin-bottom: 16px;
}
.poll-status {
  font-size: 13px;
  background: var(--btn-warn, #fef3c7);
  color: var(--text, #111);
  padding: 8px 12px;
  border-radius: 8px;
  margin-bottom: 16px;
}
.poll-status-info {
  background: var(--btn-info, #dbeafe);
  color: var(--text, #111);
}
.poll-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.poll-option {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid var(--border, #e5e7eb);
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s, border-color 0.15s;
}
.poll-option:hover {
  background: var(--btn-hover, #f3f4f6);
  border-color: var(--btn, #3b82f6);
}
.poll-option input[type=radio] {
  accent-color: var(--btn, #3b82f6);
}
.poll-option-num {
  font-weight: 600;
  color: var(--hint, #666);
  min-width: 18px;
}
.poll-option-time {
  flex: 1;
  font-size: 15px;
  color: var(--text, #111);
}
.poll-submit {
  margin-top: 16px;
  background: var(--btn, #3b82f6);
  color: var(--btn-text, #fff);
  border: none;
  border-radius: 12px;
  padding: 14px 24px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: opacity 0.15s;
}
.poll-submit:hover:not([disabled]) {
  opacity: 0.92;
}
.poll-submit[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}
.poll-result {
  margin-top: 12px;
  font-size: 14px;
}
.poll-success {
  background: var(--btn-success, #d1fae5);
  color: #065f46;
  padding: 10px 14px;
  border-radius: 8px;
}
.poll-error {
  background: var(--btn-error, #fee2e2);
  color: #991b1b;
  padding: 10px 14px;
  border-radius: 8px;
}
.poll-loading {
  text-align: center;
  padding: 60px 20px;
  color: var(--hint, #666);
  font-size: 14px;
}
