.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-surface);background:var(--surface);color:var(--ink-muted);font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--track-wide);line-height:1.4;white-space:nowrap}.badge--solid{background:var(--ink);color:var(--ink-inverse);border-color:transparent}.badge--accent{background:var(--accent-soft);color:var(--accent);border-color:transparent}.badge--ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.badge--warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.badge--danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge--uppercase{text-transform:uppercase}.badge--solid-danger{background:var(--danger);color:var(--white);border-color:transparent;font-weight:var(--weight-semibold)}.badge--interface{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--track-snug)}.badge--ring{box-shadow:inset 0 0 0 1px currentColor}.status-dot{width:.5rem;height:.5rem;border-radius:var(--radius-circle);background:var(--ink-faint);flex:none}.status-dot--ok{background:var(--ok)}.status-dot--warn{background:var(--warn)}.status-dot--danger{background:var(--danger)}.status-dot--accent{background:var(--accent)}.status-dot--hollow{background:transparent;box-shadow:inset 0 0 0 1px var(--ink-faint)}
