/* ─── Status Dot ─── */
.status-dot {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-size: var(--text-base);
}

.status-dot::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.status-dot.online::before {
  background: var(--success);
  animation: pulse-dot 2s ease-in-out infinite;
}

.status-dot.offline::before { background: var(--danger); }
.status-dot.maintenance::before { background: var(--warning); }
.status-dot.decommissioned::before { background: var(--text-muted); }

@keyframes pulse-dot {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.3); opacity: 0.7; }
}
