/* Additional styles for rate limiting */
.rate-limit-countdown {
  margin-top: 1rem;
  padding: 0.75rem;
  background-color: #fff3cd;
  border: 1px solid #ffeeba;
  border-radius: 4px;
  color: #856404;
  font-size: 0.9rem;
  text-align: center;
}

.countdown-timer {
  font-weight: 700;
  color: #856404;
}

button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.attempts-remaining {
  margin-top: 0.5rem;
  font-size: 0.85rem;
  color: #6c757d;
}

/* Animation for loading state */
@keyframes pulse {
  0% { opacity: 1; }
  50% { opacity: 0.5; }
  100% { opacity: 1; }
}

button[disabled].loading {
  animation: pulse 1.5s infinite;
}

/* Enhanced error state for inputs */
input.error {
  border-color: var(--error-color);
  background-color: rgba(244, 67, 54, 0.05);
}

.error-feedback {
  display: none;
  color: var(--error-color);
  font-size: 0.85rem;
  margin-top: 0.25rem;
}

input.error + .error-feedback {
  display: block;
}
