:where(button, input, select, textarea, [role="button"], [role="switch"], [role="tab"]):focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}

.link[role="button"]:focus-visible {
  border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* Fleet-health progress is authoritative runtime data; disconnected state is neutral. */
.ring {
  background: conic-gradient(var(--green) 0 var(--fleet-health, 0%), #1d2834 var(--fleet-health, 0%));
}

body[data-runtime-state="loading"] .pill,
body[data-runtime-state="disconnected"] .pill,
body[data-runtime-state="authentication_required"] .pill {
  color: var(--amber);
  background: #231d10;
  border-color: #5a4720;
}

body[data-runtime-state="access_denied"] .pill {
  color: var(--red);
  background: #281419;
  border-color: #5c2930;
}

button:disabled,
input:disabled,
select:disabled,
textarea:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.btn.primary:disabled,
.btn.danger:disabled {
  background: #16212c;
  border-color: #263545;
  color: #8190a2;
  font-weight: 600;
}
