/*
 * v106 - Menonaktifkan seluruh animasi dan transisi aplikasi.
 * Selector sengaja memiliki specificity tinggi agar aturan tema lama,
 * AdminLTE, Bootstrap, halaman anggota, scan, login, dan menu mobile
 * tidak dapat mengaktifkan kembali efek gerak.
 */
html,
html:focus-within {
  scroll-behavior: auto !important;
}

html body:not(#absensi-motion-enabled),
html body:not(#absensi-motion-enabled) *,
html body:not(#absensi-motion-enabled) *::before,
html body:not(#absensi-motion-enabled) *::after {
  -webkit-animation: none !important;
  animation: none !important;
  -webkit-animation-name: none !important;
  animation-name: none !important;
  -webkit-animation-duration: 0s !important;
  animation-duration: 0s !important;
  -webkit-animation-delay: 0s !important;
  animation-delay: 0s !important;
  -webkit-animation-iteration-count: 1 !important;
  animation-iteration-count: 1 !important;
  -webkit-transition: none !important;
  transition: none !important;
  -webkit-transition-property: none !important;
  transition-property: none !important;
  -webkit-transition-duration: 0s !important;
  transition-duration: 0s !important;
  -webkit-transition-delay: 0s !important;
  transition-delay: 0s !important;
  scroll-behavior: auto !important;
}

/* Pastikan konten halaman tidak memulai dari opacity/transform animasi lama. */
html body:not(#absensi-motion-enabled) .content-wrapper,
html body:not(#absensi-motion-enabled) .content,
html body:not(#absensi-motion-enabled) .content-header,
html body:not(#absensi-motion-enabled) .box,
html body:not(#absensi-motion-enabled) .small-box,
html body:not(#absensi-motion-enabled) .ui75-card,
html body:not(#absensi-motion-enabled) .landing-card,
html body:not(#absensi-motion-enabled) .login-card-modern,
html body:not(#absensi-motion-enabled) .scan-popup-card {
  opacity: 1 !important;
}

/* Loader/indikator progres animasi lama tidak perlu ditampilkan. */
html body:not(#absensi-motion-enabled) .pace,
html body:not(#absensi-motion-enabled) .pace-progress,
html body:not(#absensi-motion-enabled) .pace-activity,
html body:not(#absensi-motion-enabled) .preloader,
html body:not(#absensi-motion-enabled) .page-loader,
html body:not(#absensi-motion-enabled) .loading-overlay:not(.scan-popup-overlay),
html body:not(#absensi-motion-enabled) .fa-spin,
html body:not(#absensi-motion-enabled) .fa-pulse {
  -webkit-animation: none !important;
  animation: none !important;
}

@media (prefers-reduced-motion: no-preference), (prefers-reduced-motion: reduce) {
  html body:not(#absensi-motion-enabled),
  html body:not(#absensi-motion-enabled) *,
  html body:not(#absensi-motion-enabled) *::before,
  html body:not(#absensi-motion-enabled) *::after {
    -webkit-animation: none !important;
    animation: none !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
