/* AlafMail Neon Red Utility Classes */

.glow-neon {
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.45);
}

.glow-neon-sm {
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.35);
}

.glow-neon-lg {
  box-shadow: 0 0 30px rgba(239, 68, 68, 0.6);
}

.border-glow {
  border-color: #EF4444;
  box-shadow: 0 0 15px rgba(239, 68, 68, 0.4);
}

.text-neon {
  color: #EF4444;
  text-shadow: 0 0 10px rgba(239, 68, 68, 0.6);
}

.bg-obsidian {
  background-color: #09090b;
}

.bg-surface-card {
  background-color: #121216;
}

.border-surface {
  border-color: #27272a;
}

/* HTMX Loading Indicator */
.htmx-indicator {
  display: none;
  transition: opacity 200ms ease-in;
}

.htmx-request .htmx-indicator,
.htmx-request.htmx-indicator {
  display: inline-flex;
}

.cyber-progress-bar {
  height: 3px;
  background: linear-gradient(90deg, #7F1D1D, #EF4444, #FCA5A5, #EF4444);
  background-size: 200% 100%;
  animation: cyber-gradient-slide 1.5s infinite linear;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.7);
}

@keyframes cyber-gradient-slide {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Custom Scrollbars */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: #09090b;
}

::-webkit-scrollbar-thumb {
  background: #27272a;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #EF4444;
  box-shadow: 0 0 10px rgba(239, 68, 68, 0.5);
}

/* Input Focus Glow */
input:focus, textarea:focus, select:focus {
  outline: none;
  border-color: #EF4444 !important;
  box-shadow: 0 0 15px rgba(239, 68, 68, 0.4) !important;
}

/* Skeleton Loading Animation */
.skeleton-pulse {
  background: linear-gradient(90deg, #121216 25%, #1c1c22 50%, #121216 75%);
  background-size: 200% 100%;
  animation: skeleton-shimmer 1.8s infinite;
}

@keyframes skeleton-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
