


.status-ok { color: var(--color-success); }
.status-danger { color: var(--color-danger); }
.status-record { color: var(--color-warning); }
tr.row-flag-danger { border-left: 3px solid var(--color-danger); }
tr.row-flag-record { border-left: 3px solid var(--color-warning); }

.fo-rank {
  position: relative; isolation: isolate;
  display: inline-grid; place-items: center;
  width: 30px; height: 30px;
  font-family: var(--font-display); font-weight: 800; font-size: var(--fs-small);
  color: var(--fo-dark-ink);
}
.fo-rank::before {
  content: '';
  position: absolute; width: 21px; height: 21px;
  border: var(--border-w) solid var(--rank-edge, var(--fo-silver-edge));
  transform: rotate(45deg);
  background: var(--rank-bg, var(--fo-silver));
  z-index: -1;
}
.fo-rank--gold { --rank-bg: var(--fo-gold); --rank-edge: var(--fo-gold-edge); }
.fo-rank--silver { --rank-bg: var(--fo-silver); --rank-edge: var(--fo-silver-edge); }
.fo-rank--bronze { --rank-bg: var(--fo-bronze); --rank-edge: var(--fo-bronze-edge); }

.badge {
  display: inline-flex; align-items: center; gap: 6px;
  width: max-content;
  font-weight: 600;
  font-size: var(--fs-small);
  color: var(--fo-muted);
}
.badge::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.badge-draft, .badge-scheduled, .badge-none { color: var(--fo-muted); }
.badge-active, .badge-completed, .badge-confirmed, .badge-approved, .badge-parsed { color: var(--color-success); }
.badge-paused, .badge-in_progress, .badge-candidate, .badge-pending { color: var(--color-warning); }
.badge-technical_loss, .badge-rejected, .badge-failed { color: var(--color-danger); }

.badge-check {
  display: inline-block;
  margin-left: 6px;
  font-size: 13px;
  font-weight: 800;
  color: var(--color-warning);
  cursor: help;
}
.badge-check--strict { color: var(--color-danger); }
.badge-check--info { color: var(--fo-muted); font-weight: 700; }