/* ==========================================================================
   VUE TRANSITIONS
   Gunakan dengan tag <transition name="...">
   ========================================================================== */

/* 1. FADE (Untuk perpindahan halaman / komponen utama) */
.fade-enter-active,
.fade-leave-active {
  transition: opacity 0.3s ease;
}
.fade-enter-from,
.fade-leave-to {
  opacity: 0;
}

/* 2. SLIDE-DOWN (Untuk modal, dropdown) */
.slide-down-enter-active,
.slide-down-leave-active {
  transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.slide-down-enter-from,
.slide-down-leave-to {
  opacity: 0;
  transform: translateY(-30px);
}

/* 3. SLIDE-UP (Untuk notifikasi, item list) */
.slide-up-enter-active,
.slide-up-leave-active {
  transition: all 0.35s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.slide-up-enter-from,
.slide-up-leave-to {
  opacity: 0;
  transform: translateY(30px);
}

/* 4. POP (Untuk dialog konfirmasi, alert) */
.pop-enter-active {
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.pop-leave-active {
  transition: all 0.2s ease-in;
}
.pop-enter-from,
.pop-leave-to {
  opacity: 0;
  transform: scale(0.95);
}

/* 5. FADE-TABS (Transisi antar tab di dashboard) */
.fade-tabs-enter-active,
.fade-tabs-leave-active {
  transition: opacity 0.2s ease-in-out;
}
.fade-tabs-enter-from,
.fade-tabs-leave-to {
  opacity: 0;
}

/* ==========================================================================
   ANIMASI KEYFRAMES
   Gunakan sebagai class utility, misal: class="animate-slide-up"
   ========================================================================== */

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.animate-slide-up {
  animation: slideUp 0.5s ease-out forwards;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.animate-fade-in {
  animation: fadeIn 0.4s ease-out forwards;
}
