/* custom.css — minimal overrides, Tailwind handles the rest */

/* HTMX loading indicator */
.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: block; }
.htmx-request.htmx-indicator { display: block; }

/* Stat cards */
.stat-card {
  background: #1a1a1a;
  border: 1px solid #2a2a2a;
  border-radius: 12px;
  padding: 16px;
  text-align: center;
}

/* Live badge */
.live-badge {
  background: #3d0000;
  border: 1px solid #ff4444;
  color: #ff4444;
  border-radius: 20px;
  padding: 4px 12px;
  font-size: 0.75rem;
  font-weight: 700;
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.6; }
}

/* Details/summary open indicator */
details[open] summary span:last-child { transform: rotate(180deg); }
details summary span:last-child { display: inline-block; transition: transform 0.2s; }

/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #111; }
::-webkit-scrollbar-thumb { background: #333; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #555; }

/* Toast fade */
.toast-auto { transition: opacity 0.3s ease; }

/* Focus styles */
input:focus, select:focus, textarea:focus { outline: none; }

/* Prevent zoom on iOS for inputs */
@media (max-width: 768px) {
  input[type="text"],
  input[type="email"],
  input[type="number"],
  input[type="password"],
  select,
  textarea {
    font-size: 16px !important;
  }
}
