/* Modal animations */
.modal-overlay {
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
}

.modal-overlay.show {
  opacity: 1;
}

.modal-overlay .modal-content {
  transform: scale(0.9) translateY(-20px);
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.modal-overlay.show .modal-content.show {
  transform: scale(1) translateY(0);
  opacity: 1;
}

/* Prevent body scroll when modal is open */
body.modal-open {
  overflow: hidden;
}

/* Ensure modals are always on top */
.modal-overlay {
  z-index: 999999 !important;
}

/* Focus styles for accessibility */
.modal-overlay button:focus {
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
}

/* Dialog specific styles */
#alert-dialog .modal-content,
#confirm-dialog .modal-content {
  max-width: 28rem;
  width: 90vw;
}

@media (min-width: 640px) {
  #alert-dialog .modal-content,
  #confirm-dialog .modal-content {
    width: auto;
  }
}

/* Theme transitions for modal content only - not for the modal animations */
.modal-overlay [class*="theme-"] {
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}