/* Instrument state badge (4a): a tone dot + neutral text, no tinted fill.
   Only the fault state colors its text. */
.mint-instrument-state {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  color: var(--text-secondary-strong);
  font-size: 0.75rem;
  font-weight: 400;
  line-height: 1.35;
  white-space: nowrap;
}

.mint-instrument-state__dot {
  flex-shrink: 0;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  background: var(--mint-instrument-tone);
}

.mint-instrument-state--success { --mint-instrument-tone: var(--mint-success); }
.mint-instrument-state--warning { --mint-instrument-tone: var(--mint-warning); }
.mint-instrument-state--info    { --mint-instrument-tone: var(--mint-info); }
.mint-instrument-state--muted   { --mint-instrument-tone: var(--text-muted); }

.mint-instrument-state--error {
  --mint-instrument-tone: var(--mint-error);
  color: var(--_ink-error);
  font-weight: 600;
}

/* Offline: hollow dot — shape, not a fainter color. */
.mint-instrument-state--offline .mint-instrument-state__dot {
  background: transparent;
  box-shadow: inset 0 0 0 1.5px var(--_control-border-strong);
}

/* Never reported: a short dash. */
.mint-instrument-state--never .mint-instrument-state__dot {
  width: 0.5rem;
  height: 2px;
  border-radius: 1px;
  background: var(--_control-border-strong);
}

/* Inactive: a hollow square. */
.mint-instrument-state--inactive .mint-instrument-state__dot {
  width: 7px;
  height: 7px;
  border-radius: 1.5px;
  background: transparent;
  box-shadow: inset 0 0 0 1.5px var(--text-muted);
}

.mint-instrument-state--pulse .mint-instrument-state__dot {
  animation: mint-instrument-pulse 1.6s ease-in-out infinite;
}

@keyframes mint-instrument-pulse {
  50% { opacity: 0.45; }
}

@media (prefers-reduced-motion: reduce) {
  .mint-instrument-state--pulse .mint-instrument-state__dot {
    animation: none;
  }
}
