/* Animações */
@keyframes slide-up {
  from { transform: translateY(100px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.animate-slide-up { animation: slide-up 0.3s ease-out; }

/* Melhorar acessibilidade */
button:focus-visible, 
input:focus-visible {
  outline: 2px solid #6366f1;
  outline-offset: 2px;
}

/* Estado desabilitado mais claro */
button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Loading skeleton */
.skeleton {
  background: linear-gradient(90deg, #f1f5f9 25%, #e2e8f0 50%, #f1f5f9 75%);
  background-size: 200% 100%;
  animation: skeleton-loading 1.5s infinite;
  border-radius: 0.5rem;
}
@keyframes skeleton-loading {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
