/* ─── Badges & Role Labels ───────────────────────────────────── */
.badge {
  display: inline-block;
  padding: .25rem .75rem;
  border-radius: var(--radius-full);
  font-size: var(--text-sm);
  font-weight: var(--fw-semibold);
  white-space: nowrap;
  line-height: 1.4;
}

.badge-success { background: linear-gradient(120deg, var(--success-500), var(--success-700)); color: #fff; box-shadow: 0 4px 14px rgba(31,169,106,.35); }
.badge-danger  { background: linear-gradient(120deg, var(--danger-500), var(--danger-700));   color: #fff; box-shadow: 0 4px 14px rgba(224,83,63,.35); }
.badge-warning { background: linear-gradient(120deg, var(--warning-300), var(--warning-500)); color: var(--dark); box-shadow: 0 4px 14px rgba(232,161,61,.3); }
.badge-info    { background: linear-gradient(120deg, var(--info-500), var(--violet-600));     color: #fff; box-shadow: 0 4px 14px rgba(124,58,237,.3); }
.badge-disabled  { background: #e2e3e5; color: #383d41; }
.badge-primary   { background: var(--primary-lighter); color: var(--primary-dark); }
.badge-dark      { background: var(--dark); color: var(--white); }

/* Role badges */
.badge-role {
  padding: .2rem .65rem;
  border-radius: var(--radius-full);
  font-size: var(--text-xs);
  font-weight: var(--fw-semibold);
}

.badge-admin          { background: #e8d5f5; color: #6b21a8; }
.badge-tutor          { background: #d1ecf1; color: #0c5460; }
.badge-aluno-interno  { background: #d4edda; color: #155724; }
.badge-aluno-externo  { background: #fff3cd; color: #856404; }
.badge-aluno          { background: var(--gray-light); color: var(--gray-dark); }

/* Category badge */
.badge-cat {
  font-size: var(--text-xs);
  font-weight: var(--fw-semibold);
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: .2rem .55rem;
  border-radius: var(--radius-sm);
  background: var(--primary-lighter);
  color: var(--primary-dark);
}

/* Status badges */
.badge-respondida { background: #d4edda; color: #155724; padding: .2rem .6rem; border-radius: var(--radius-full); font-size: var(--text-xs); font-weight: var(--fw-semibold); }
.badge-pendente   { background: #fff3cd; color: #856404; padding: .2rem .6rem; border-radius: var(--radius-full); font-size: var(--text-xs); font-weight: var(--fw-semibold); }

/* Trophy item (gamification) */
.trophy-item {
  display: inline-flex;
  align-items: center;
  gap: var(--space-xs);
  font-size: var(--text-sm);
  background: var(--gray-lighter);
  border-radius: var(--radius-full);
  padding: .3rem .7rem;
  cursor: pointer;
  transition: background var(--transition-fast), transform var(--transition-fast);
}

.trophy-item:hover {
  background: var(--primary-lighter);
  transform: scale(1.08);
}

.trophy-icon {
  font-size: 1.4rem;
  transition: transform var(--transition-fast);
}

.trophy-item:hover .trophy-icon {
  transform: rotate(8deg) scale(1.15);
}

/* Rarity indicator */
.rarity-comum   { border-left: 3px solid var(--silver); }
.rarity-raro    { border-left: 3px solid var(--gold); }
.rarity-epico   { border-left: 3px solid #9b59b6; }
