/**
 * Badge Component
 * Status indicators and labels
 */

.badge {
  display: inline-flex;
  align-items: center;
  gap: var(--space-1);
  padding: var(--space-1) var(--space-3);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-semibold);
  line-height: 1;
  border-radius: var(--border-radius-full);
  transition: all var(--duration-fast) var(--ease-out);
}

/* Color Variants */
.badge.bg-primary,
.bg-primary {
  background-color: var(--color-primary-500) !important;
  color: var(--text-inverse);
}

.badge.bg-secondary,
.bg-secondary {
  background-color: var(--color-secondary-500) !important;
  color: var(--text-inverse);
}

.badge.bg-success,
.bg-success {
  background-color: var(--color-success-500) !important;
  color: var(--text-inverse);
}

.badge.bg-warning,
.bg-warning {
  background-color: var(--color-warning-500) !important;
  color: var(--text-inverse);
}

.badge.bg-danger,
.bg-danger {
  background-color: var(--color-danger-500) !important;
  color: var(--text-inverse);
}

.badge.bg-info,
.bg-info {
  background-color: #3b82f6 !important;
  color: var(--text-inverse);
}

/* Light Variants */
.badge-light-primary {
  background-color: rgba(220, 38, 38, 0.1);
  color: var(--color-primary-700);
}

.badge-light-secondary {
  background-color: rgba(59, 130, 246, 0.1);
  color: var(--color-secondary-700);
}

.badge-light-success {
  background-color: rgba(34, 197, 94, 0.1);
  color: var(--color-success-700);
}

.badge-light-warning {
  background-color: rgba(251, 146, 60, 0.1);
  color: var(--color-warning-700);
}

.badge-light-danger {
  background-color: rgba(239, 68, 68, 0.1);
  color: var(--color-danger-700);
}

/* Sizes */
.badge-sm {
  padding: 2px var(--space-2);
  font-size: 0.625rem;
}

.badge-lg {
  padding: var(--space-2) var(--space-4);
  font-size: var(--font-size-sm);
}

/* Dot Badge */
.badge-dot {
  padding-left: var(--space-4);
  position: relative;
}

.badge-dot::before {
  content: '';
  position: absolute;
  left: var(--space-2);
  top: 50%;
  transform: translateY(-50%);
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: currentColor;
}
