.transition-enter-active,
.transition-leave-active {
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.transition-enter-from,
.transition-leave-to {
  opacity: 0;
  transform: scale(0.95);
}

@keyframes flash {
  0% { 
    background-color: rgba(254, 240, 138, 0.6);
    box-shadow: inset 0 0 0 2px rgba(234, 179, 8, 0.5);
  }
  100% { 
    background-color: transparent;
    box-shadow: inset 0 0 0 0px transparent;
  }
}

.flash-animation {
  animation: flash 2s ease-out forwards;
  position: relative;
}

[data-turbo-method="post"][disabled],
.turbo-progress-bar {
  cursor: wait;
  opacity: 0.6;
}

a[data-turbo-method="post"]:active i {
  animation: fa-spin 2s infinite linear;
}

#loading-overlay {
  transition: opacity 0.4s ease-in-out;
}
#loading-overlay.hidden {
  display: none;
  opacity: 0;
}
