/* Shared screen-only pill border contract. Load after page/theme styles.
 * Legacy themes use different selector weights and sometimes transparent borders.
 * Only the border is enforced here; each component keeps its semantic colours.
 */
.gatekeepr-typography:not(.pdf-layout-probe) :is(
  .soft-pill, .badge, .score-pill, .kpi-index-badge, .kpi-trend-badge,
  .sentiment-badge, .ranking-signal-pill, .ranking-value-badge,
  .portfolio-risk-badge, .discipline-brake-badge, .discipline-risk-badge,
  .composite-rank, .composite-meta span, .composite-summary-facts span,
  .radar-row small span:not(.badge), .opportunity-zone-count,
  .opportunity-company-pill, .discipline-zone-count, .discipline-company-pill,
  .company-chip, .company-inline-gk-score, .company-inline-confidence,
  .guide-tag, .guide-hero-points span, .guide-flow-line span, .estimate-diff,
  .signal-total, .signal-risk, .cards-library-count, .company-card-top b,
  .validated-data-badge, .company-tags span, .gk-data-freshness,
  .method-pill, .method-chip-row span, .tool-badge, .tool-category, .tool-status,
  .dynamic-group-count, .active-chip, .mini-pill, .near-context span,
  .status-pill, .reporter-hero-chips span, .count-bubble,
  .category-chip, .news-badge, .empty-meta
) {
  border: 1px solid var(--line, #c9ded5) !important;
  border-color: color-mix(in srgb, currentColor 25%, transparent) !important;
}
