.badge {
  align-items: center;
  background-color: var(--badge-background, var(--color-bg));
  border-radius: var(--badge-radius, var(--rounded-md));
  border: 1px solid var(--badge-border-color, var(--color-border));
  box-shadow: var(--badge-box-shadow, none);
  color: var(--badge-color, var(--color-text));
  column-gap: var(--size-1);
  display: inline-flex;
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  justify-content: center;
  line-height: var(--leading-4);
  min-inline-size: var(--badge-min-inline-size, 0);
  padding: var(--badge-padding, .125rem .5rem);
}

.badge--primary {
  --badge-background: var(--color-primary);
  --badge-border-color: transparent;
  --badge-box-shadow: var(--shadow-sm);
  --badge-color: var(--color-text-reversed);
}

.badge--secondary {
  --badge-background: var(--color-secondary);
  --badge-border-color: transparent;
  --badge-box-shadow: none;
  --badge-color: var(--color-text);
}

.badge--positive {
  --badge-background: var(--color-positive);
  --badge-border-color: transparent;
  --badge-box-shadow: var(--shadow-sm);
  --badge-color: white;
}

.badge--negative {
  --badge-background: var(--color-negative);
  --badge-border-color: transparent;
  --badge-box-shadow: var(--shadow-sm);
  --badge-color: white;
}

.badge--number {
  --badge-min-inline-size: var(--size-5);
  --badge-radius: var(--rounded-full);
}

/* Accounting Statuses */
.badge--approved, .badge--posted, .badge--paid {
  --badge-background: #d1fae5;
  --badge-color: #065f46;
  --badge-border-color: #a7f3d0;
}

.badge--overdue {
  --badge-background: #fee2e2;
  --badge-color: #991b1b;
  --badge-border-color: #fecaca;
}

.badge--cancelled, .badge--reversed {
  --badge-background: #fef3c7;
  --badge-color: #92400e;
  --badge-border-color: #fde68a;
}

.badge--draft {
  --badge-background: #f3f4f6;
  --badge-color: #374151;
  --badge-border-color: #e5e7eb;
}

/* Support Enquiry Statuses */
.badge--pending {
  --badge-background: var(--yellow-100);
  --badge-color: var(--yellow-800);
  --badge-border-color: var(--yellow-200);
}

.badge--in_progress {
  --badge-background: var(--blue-100);
  --badge-color: var(--blue-800);
  --badge-border-color: var(--blue-200);
}

.badge--resolved {
  --badge-background: var(--green-100);
  --badge-color: var(--green-800);
  --badge-border-color: var(--green-200);
}

.badge--closed {
  --badge-background: var(--zinc-100);
  --badge-color: var(--zinc-800);
  --badge-border-color: var(--zinc-200);
}
