/* ==========================================================================
   SuperAdmin Badge Component
   ========================================================================== */

.sa-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-family: inherit;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  user-select: none;
  border: 1px solid transparent;
  box-sizing: border-box;
  max-width: 100%;
  vertical-align: middle;
}

.sa-badge > span:not(.sa-badge__dot) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

/* Clickable badge (rendered as <button>) */
button.sa-badge {
  cursor: pointer;
  padding: 0 0.65rem;
  transition: filter 0.15s ease, background-color 0.15s ease;
}

button.sa-badge:hover {
  filter: brightness(0.93);
}

button.sa-badge:active {
  filter: brightness(0.88);
}

/* Shapes */
.sa-badge--pill {
  border-radius: 2rem;
}

.sa-badge--rounded {
  border-radius: 0.375rem;
}

/* Sizes */
.sa-badge--xs {
  height: 18px;
  padding: 0 0.45rem;
  font-size: 0.625rem;
  gap: 0.2rem;
  letter-spacing: 0.02em;
}

.sa-badge--sm {
  height: 22px;
  padding: 0 0.5rem;
  font-size: 0.6875rem;
  gap: 0.25rem;
}

.sa-badge--md {
  height: 26px;
  padding: 0 0.65rem;
  font-size: 0.75rem;
  gap: 0.35rem;
}

.sa-badge--lg {
  height: 30px;
  padding: 0 0.85rem;
  font-size: 0.8125rem;
  gap: 0.4rem;
}

/* Status Dot Indicator */
.sa-badge__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

/* ==========================================================================
   Variants
   ========================================================================== */

.sa-badge--success {
  background: var(--sa-success-bg);
  color: var(--sa-success-text);
  border-color: var(--sa-success-border);
}

.sa-badge--warning {
  background: var(--sa-warning-bg);
  color: var(--sa-warning-text);
  border-color: var(--sa-warning-border);
}

.sa-badge--danger {
  background: var(--sa-danger-bg);
  color: var(--sa-danger-text);
  border-color: var(--sa-danger-border);
}

.sa-badge--info,
.sa-badge--primary {
  background: var(--sa-info-bg);
  color: var(--sa-info-text);
  border-color: var(--sa-info-border);
}

.sa-badge--neutral {
  background: var(--sa-neutral-bg);
  color: var(--sa-neutral-text);
  border-color: var(--sa-neutral-border);
}

.sa-badge--purple {
  background: var(--sa-purple-bg);
  color: var(--sa-purple-text);
  border-color: var(--sa-purple-border);
}
