@layer components {
  .badge {
    display: inline-flex;
    align-items: center;
    gap: var(--space-xs);
    padding: var(--space-xs) var(--space-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    line-height: 1;
    border-radius: var(--radius-full);
    background-color: var(--color-border-subtle);
    color: var(--color-ink-subtle);
  }

  .badge--primary {
    background-color: var(--color-primary-container);
    color: var(--color-primary-hover);
  }

  .badge--secondary {
    background-color: var(--color-secondary-container);
    color: var(--color-secondary);
  }

  .badge--positive {
    background-color: var(--color-positive-bg);
    color: var(--color-positive);
  }

  .badge--negative {
    background-color: var(--color-negative-bg);
    color: var(--color-negative);
  }

  .badge--info {
    background-color: var(--color-info-bg);
    color: var(--color-info);
  }

  .badge--warning {
    background-color: var(--color-warning-bg);
    color: oklch(var(--lch-warning-text));
  }

  .badge--purple {
    background-color: oklch(var(--lch-purple-bg));
    color: oklch(var(--lch-purple-text));
  }

  .badge--promoted {
    background-color: var(--color-secondary);
    color: var(--color-ink-inverted);
  }

  .badge-group {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-sm);
  }
}
