body {
  background-color: #272A2F;
  margin: 0;
  padding: 0;
  /* Ensure text is visible by default if not overridden */
  color: white; 
}

/* Clean CSS - remove excessive styling that was causing outlines */

/* Hide the undo-redo button */
._dash-undo-redo {
  display: none;
}

/* Flashing border animation for no operator status */
@keyframes flash-border {
  0% { border-color: #ffff00; }
  50% { border-color: rgba(255, 255, 0, 0.3); }
  100% { border-color: #ffff00; }
}

/* ===== UPTIME PROGRESS/LOADING ANIMATIONS ===== */

/* Pulse animation for loading text */
@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

/* Spinner bar animation */
@keyframes spinner-grow {
  0%, 100% {
    transform: scaleY(0.3);
    opacity: 0.5;
  }
  50% {
    transform: scaleY(1);
    opacity: 1;
  }
}

/* Uptime spinner container */
.uptime-spinner {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  height: 60px;
}

/* Individual spinner bars */
.spinner-bar {
  width: 6px;
  height: 100%;
  background: linear-gradient(180deg, #00ff0b 0%, #00aa07 100%);
  border-radius: 3px;
  animation: spinner-grow 1s ease-in-out infinite;
  box-shadow: 0 0 10px rgba(0, 255, 11, 0.5);
}

/* Glow effect animation */
@keyframes glow {
  0%, 100% {
    box-shadow: 0 0 10px rgba(0, 255, 11, 0.5);
  }
  50% {
    box-shadow: 0 0 20px rgba(0, 255, 11, 0.8), 0 0 30px rgba(0, 255, 11, 0.4);
  }
}

/* Apply glow to spinner container parent */
.uptime-spinner {
  animation: glow 2s ease-in-out infinite;
}

/* Custom loading overlay styling */
._dash-loading {
  background-color: rgba(0, 0, 0, 0.3) !important;
}

._dash-loading-callback {
  color: #00ff0b !important;
  font-size: 18px !important;
  font-weight: bold !important;
} 