/* Real-time updates badge animation */
@keyframes badge-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.7);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 0 0 10px rgba(25, 135, 84, 0);
  }
}

.badge-pulse {
  animation: badge-pulse 1s ease-in-out;
}

/* Real-time indicator styling */
.badge.bg-success:has-text("Real-time") {
  position: relative;
}

.badge.bg-success:has-text("Real-time")::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 8px;
  width: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
  animation: pulse-dot 2s ease-in-out infinite;
}

@keyframes pulse-dot {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
