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

/* ── Admin login ────────────────────────────────────────────────────────────── */
.login-logo-badge {
  display: inline-flex;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: #0d6efd;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  align-items: center;
  justify-content: center;
}

/* ── Dashboard stat cards ───────────────────────────────────────────────────── */
.stat-card { transition: transform .15s; }
.stat-card:hover { transform: translateY(-2px); }
.stat-icon { width: 52px; height: 52px; border-radius: 12px;
             display:flex; align-items:center; justify-content:center; }
.stat-value { font-size: 1.75rem; font-weight: 700; line-height:1; }
.stat-label { font-size: .8rem; color: #6c757d; margin-top: 2px; }
.bg-primary-soft { background: #e7f0ff; }
.bg-success-soft  { background: #e6f9f0; }
.bg-info-soft     { background: #e0f5fb; }
.bg-warning-soft  { background: #fff8e1; }

/* ── Evaluation form header ─────────────────────────────────────────────────── */
.eval-header {
  background: linear-gradient(135deg, #1a3264 0%, #2556a8 100%);
  box-shadow: 0 2px 8px rgba(0,0,0,.2);
}
.eval-conf-banner {
  text-align: center;
  color: rgba(255,255,255,.9);
  border-top: 1px solid rgba(255,255,255,.2);
}
.eval-logo {
  max-height: 60px;
  max-width: 140px;
  object-fit: contain;
  background: #fff;
  border-radius: 6px;
  padding: 4px 8px;
}

/* ── Eval form steps ────────────────────────────────────────────────────────── */
.eval-step-header {
  background: #f8f9fa;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.eval-step-num {
  display: inline-flex;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: #0d6efd;
  color: #fff;
  font-size: .8rem;
  font-weight: 700;
  align-items: center;
  justify-content: center;
}

/* ── Role selector buttons ──────────────────────────────────────────────────── */
.role-btn {
  padding: 1.2rem .75rem;
  border-radius: 10px;
  text-align: center;
  cursor: pointer;
  transition: all .15s;
}
.btn-check:checked + .role-btn {
  background: #0d6efd;
  color: #fff;
  border-color: #0d6efd;
}
.btn-check:checked + .role-btn .text-muted { color: rgba(255,255,255,.8) !important; }

/* ── Star rating ────────────────────────────────────────────────────────────── */
.star-rating { display: flex; align-items: center; gap: 4px; }
.star-btn {
  font-size: 1.6rem;
  color: #ccc;
  cursor: pointer;
  transition: color .1s, transform .1s;
}
.star-btn:hover, .star-btn.active { color: #ffc107; }
.star-btn:hover { transform: scale(1.15); }
.star-btn.bi-star-fill { color: #ffc107; }

/* ── Tables ─────────────────────────────────────────────────────────────────── */
.table th { font-weight: 600; font-size: .85rem; }

/* ── Breadcrumbs ────────────────────────────────────────────────────────────── */
.breadcrumb { font-size: .85rem; }

/* ── Responsive tweaks ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  .eval-logo { max-height: 44px; }
  .stat-value { font-size: 1.4rem; }
}
