.status-badge {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-weight: 600;
  padding: .15rem .5rem;
  border-radius: 999px;
  border: 1px solid transparent;
  line-height: 1.2;
  white-space: nowrap;
}

/* 🔵 Deployed = installed */
.status-badge:is(.status-blue, .deployed) {
  color: #1456a0;
  background: #e8f1ff;
  border-color: #bfd8ff;
}

/* 🟢 Validated = installed and verified */
.status-badge:is(.status-green, .valid, .validated) {
  color: #147a3c;
  background: #e8f7ee;
  border-color: #bde8cb;
}

/* 🟡 Partial / Modified = attention needed */
.status-badge:is(
  .status-yellow,
  .partial_validation,
  .modified,
  .pending_deploy,
  .needs_credentials,
  .expiring,
  .chain_revoked
) {
  color: #8a5a00;
  background: #fff6df;
  border-color: #f2d28a;
}

/* 🔴 Failed = broken */
.status-badge:is(
  .status-red,
  .error,
  .revoked,
  .deployerror,
  .deploy_failed,
  .validation_failed,
  .expired
) {
  color: #a12828;
  background: #fdeaea;
  border-color: #f4c2c2;
}

/* ⚪ Not configured / none / retired */
.status-badge:is(
  .status-gray,
  .retired,
  .unknown,
  .no_certificates,
  .validation_not_configured,
  .replaced,
  .renewed,
  .rekeyed,
  .reissued
) {
  color: #666;
  background: #f1f1f1;
  border-color: #ddd;
}

/* Row tints (subtle) */
.detail-row.is-revoked {
  background: var(--row-revoked-bg);
}

.detail-row.is-expired {
  background: var(--row-expired-bg);
}

.actions .button[disabled] {
  opacity: .6;
  cursor: not-allowed;
}

.button {
  background: var(--accent-color);
  color: #fff;
  border: none;
  padding: 10px 15px;
  cursor: pointer;
  border-radius: 5px;
  font-size: 14px;
}

.button:hover {
  background: var(--accent-hover);
}

.button:disabled {
  background-color: var(--button-disabled-bg);
  color: var(--button-disabled-text);
  cursor: not-allowed;
  border: none;
  opacity: 0.6;
}