/* ── Layout ──────────────────────────────── */
body { font-family: 'Segoe UI', system-ui, sans-serif; }

/* ── Hero ────────────────────────────────── */
.hero-icon { animation: float 3s ease-in-out infinite; }
@keyframes float {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}

/* ── Overview table ──────────────────────── */
.slot-col  { min-width: 160px; max-width: 280px; white-space: normal; word-break: break-word; }
.name-col  { min-width:  90px; max-width: 140px; word-break: break-word; }

.overview-table thead th { background: #f8f9fa; vertical-align: middle; }
.overview-table td,
.overview-table th        { vertical-align: middle; }

/* yes-cell tint in overview */
.cell-yes { background: rgba(25,135,84,.08); }

/* full row tint (Bootstrap table-danger is already handled inline, this adds opacity) */
.table-danger.bg-opacity-10 { background-color: rgba(220,53,69,.06) !important; }
.table-success.bg-opacity-10 { background-color: rgba(25,135,84,.05) !important; }

/* ── Checkboxes in poll form ─────────────── */
.form-check-input.fs-5 { width:1.4em; height:1.4em; cursor:pointer; }
.form-check-input:disabled { cursor: not-allowed; opacity: .4; }

/* ── Group cards in create ───────────────── */
.group-card { border: 1px solid #dee2e6 !important; }

/* ── Cards & misc ────────────────────────── */
.card { border-radius: .75rem !important; }
.navbar-brand { letter-spacing: .02em; }
.badge { font-size: .75em; }
