body {
  background-color: #f5f6fa;
}

.navbar-brand {
  font-weight: 700;
  letter-spacing: 0.5px;
}

.card {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  border: none;
}

.table thead th {
  background: #f0f2f5;
}

.badge-role {
  font-size: 0.85rem;
}

.hero {
  background: linear-gradient(135deg, #0d6efd, #4dabf7);
  color: #fff;
  padding: 32px 24px;
  border-radius: 12px;
  margin-bottom: 24px;
}

.required::after {
  content: "*";
  color: #dc3545;
  margin-left: 4px;
}

.table-responsive {
  max-height: none;
}

.brand-logo {
  height: 40px;
  width: auto;
  object-fit: contain;
}

.list-group-item.hoverable {
  transition: background-color 0.15s ease, transform 0.1s ease;
}

.list-group-item.hoverable:hover {
  background-color: #f0f4ff;
  cursor: pointer;
}

.dropdown-menu .dropdown-item {
  border-radius: 6px;
}

.dropdown-menu .dropdown-item:hover {
  background-color: #eef2ff;
}
