/* Highlight animation for real-time updates */
@keyframes highlightUpdate {
  0% {
    background-color: rgba(124, 58, 237, 0.1);
    transform: scale(1);
  }
  50% {
    background-color: rgba(124, 58, 237, 0.2);
    transform: scale(1.02);
  }
  100% {
    background-color: transparent;
    transform: scale(1);
  }
}

.highlight-update {
  animation: highlightUpdate 1s ease-out;
}

/* Smooth transitions for progress bars */
[data-usage-progress],
[data-concurrent-progress],
[data-proxy-progress],
[data-rate-progress] {
  transition: width 0.5s ease-out;
}

/* Number counter animation */
[data-usage-counter],
[data-concurrent-current],
[data-proxy-counter],
[data-rate-current] {
  transition: all 0.3s ease-out;
}

/* Loading state for charts */
.chart-loading {
  position: relative;
  overflow: hidden;
}

.chart-loading::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(124, 58, 237, 0.1),
    transparent
  );
  animation: shimmer 2s infinite;
}

@keyframes shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}