.score-badge {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  font-family: var(--font-family-mono);
  font-feature-settings: "tnum" 1, "zero" 1;
  border-radius: var(--radius-lg);
  padding: 4px 10px;
  border: 1px solid transparent;
  line-height: 1;
  position: relative;
  cursor: default;
}

.score-badge__number {
  font-weight: 700;
}

.score-badge__suffix {
  font-weight: 400;
  opacity: 0.5;
  font-size: 0.7em;
}

.score-badge--high {
  background: rgba(34, 197, 94, 0.12);
  border-color: rgba(34, 197, 94, 0.3);
  color: var(--color-band-high);
}

.score-badge--medium {
  background: rgba(245, 158, 11, 0.12);
  border-color: rgba(245, 158, 11, 0.3);
  color: var(--color-band-medium);
}

.score-badge--elevated {
  background: rgba(239, 68, 68, 0.12);
  border-color: rgba(239, 68, 68, 0.3);
  color: var(--color-band-elevated);
}

.score-badge--none {
  background: rgba(115, 115, 115, 0.12);
  border-color: rgba(115, 115, 115, 0.3);
  color: var(--color-text-tertiary);
}

.score-badge--default .score-badge__number { font-size: 1rem; }
.score-badge--compact .score-badge__number { font-size: 0.875rem; }
.score-badge--compact { padding: 2px 6px; }
.score-badge--display .score-badge__number { font-size: 2.25rem; }
.score-badge--display .score-badge__suffix { font-size: 1rem; }
.score-badge--display { padding: 8px 16px; border-radius: var(--radius-xl); }

.score-badge[data-tooltip]:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-bg-overlay);
  border: 1px solid var(--color-border-strong);
  color: var(--color-text-secondary);
  font-family: var(--font-family-sans);
  font-size: 0.75rem;
  font-weight: 400;
  padding: 8px 12px;
  border-radius: var(--radius-md);
  white-space: normal;
  width: max-content;
  max-width: 280px;
  z-index: 20;
  pointer-events: none;
  line-height: 1.4;
}
