/* Flash Message Styles */

.flash-message {
  position: fixed;
  top: 4rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.75rem 1.5rem;
  border-radius: 2rem;
  font-size: 0.9rem;
  font-weight: 600;
  z-index: 1000;
  cursor: pointer;
  view-transition-name: flash-message;
}

.flash-message--success {
  background: #22c55e;
  color: white;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
  animation: slideDown 0.3s ease-out;
}

.flash-message--alert {
  background: #ef4444;
  color: white;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
  animation: slideDown 0.3s ease-out;
}

::view-transition-old(flash-message),
::view-transition-new(flash-message) {
  animation: none;
  opacity: 1;
  transform: none;
}

/* Animation */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

/* Mobile responsive */
@media (max-width: 768px) {
  .flash-message {
    left: 1rem;
    right: 1rem;
    transform: none;
  }
}
