/* ===========================================
   BADGE COMPONENT
   =========================================== */

.badge {
  /* === Configuration === */
  --badge-bg: var(--bg-tertiary);
  --badge-color: var(--text-secondary);
  --badge-padding: 0.25rem 0.5rem;
  --badge-radius: var(--radius-sm);

  /* === Base Styles === */
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: var(--badge-padding);
  border-radius: var(--badge-radius);
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1;
  background: var(--badge-bg);
  color: var(--badge-color);
}

/* === VARIANTS via data attributes === */

/* Success */
.badge[data-type="success"] {
  --badge-bg: rgba(57, 229, 166, 0.15);
  --badge-color: var(--brand);
}

/* Warning */
.badge[data-type="warning"] {
  --badge-bg: rgba(251, 191, 36, 0.15);
  --badge-color: #d97706;
}

/* Error */
.badge[data-type="error"] {
  --badge-bg: rgba(239, 68, 68, 0.15);
  --badge-color: #ef4444;
}

/* Info */
.badge[data-type="info"] {
  --badge-bg: rgba(59, 130, 246, 0.15);
  --badge-color: #3b82f6;
}

/* Gray (default) */
.badge[data-type="gray"] {
  --badge-bg: var(--bg-tertiary);
  --badge-color: var(--text-secondary);
}

/* === Icon Support === */

.badge svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0;
}
