.badge {
  display: inline-flex; align-items: center; gap: var(--space-1);
  padding: var(--space-1) var(--space-3);
  font-size: var(--text-xs); font-weight: 500;
  letter-spacing: var(--tracking-wide);
  border-radius: var(--radius-full); line-height: 1.4;
}
.badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.badge--new { background: var(--color-info-bg); color: var(--color-info); }
.badge--new::before { background: var(--color-info); }
.badge--new-request { background: var(--color-info-bg); color: var(--color-info); }
.badge--new-request::before { background: var(--color-info); }
.badge--info { background: var(--color-info-bg); color: var(--color-info); }
.badge--info::before { background: var(--color-info); }
.badge--quoted { background: var(--color-warning-bg); color: var(--color-warning); }
.badge--quoted::before { background: var(--color-warning); }
.badge--confirmed { background: var(--color-success-bg); color: var(--color-success); }
.badge--confirmed::before { background: var(--color-success); }
.badge--cancelled { background: var(--color-danger-bg); color: var(--color-danger); }
.badge--cancelled::before { background: var(--color-danger); }
.badge--deposit-pending { background: var(--color-warning-bg); color: var(--color-warning); }
.badge--deposit-pending::before { background: var(--color-warning); }
.badge--completed { background: var(--color-success-bg); color: var(--color-success); }
.badge--completed::before { background: var(--color-success); }
.badge--no-show { background: var(--color-danger-bg); color: var(--color-danger); }
.badge--no-show::before { background: var(--color-danger); }
.badge--expired { background: var(--color-bg-tertiary); color: var(--color-text-tertiary); }
.badge--expired::before { background: var(--color-text-tertiary); }

@media (forced-colors: active) {
  .badge {
    forced-color-adjust: none;
    border: 1px solid CanvasText;
  }
}
