/*
 * KamTeswa Admin UI — Restrained motion utilities
 */

@keyframes kt-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes kt-slide-up {
  from {
    opacity: 0;
    transform: translateY(0.75rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes kt-skeleton-shimmer {
  from { background-position: 100% 0; }
  to { background-position: -100% 0; }
}

@keyframes kt-modal-enter {
  from {
    opacity: 0;
    transform: translateY(0.75rem) scale(0.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes kt-toast-slide {
  from {
    opacity: 0;
    transform: translateX(1rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.kt-animate-fade-in {
  animation: kt-fade-in var(--kt-duration-normal) var(--kt-ease-enter) both;
}

.kt-animate-slide-up {
  animation: kt-slide-up var(--kt-duration-slow) var(--kt-ease-enter) both;
}

.kt-hover-lift {
  transition:
    box-shadow var(--kt-duration-normal) var(--kt-ease-standard),
    transform var(--kt-duration-normal) var(--kt-ease-standard);
}

.kt-hover-lift:hover {
  box-shadow: var(--kt-shadow-md);
  transform: translateY(-2px);
}

.kt-skeleton {
  background-image: linear-gradient(
    90deg,
    var(--kt-color-surface-muted) 20%,
    var(--kt-color-surface) 45%,
    var(--kt-color-surface-muted) 70%
  );
  background-size: 220% 100%;
  animation: kt-skeleton-shimmer 1.4s linear infinite;
}

.kt-modal.is-open .kt-modal__dialog {
  animation: kt-modal-enter var(--kt-duration-slow) var(--kt-ease-enter) both;
}

.kt-toast.is-visible {
  animation: kt-toast-slide var(--kt-duration-slow) var(--kt-ease-enter) both;
}

[dir="rtl"] .kt-toast.is-visible {
  animation-name: kt-toast-slide-rtl;
}

@keyframes kt-toast-slide-rtl {
  from {
    opacity: 0;
    transform: translateX(-1rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .kt-animate-fade-in,
  .kt-animate-slide-up,
  .kt-skeleton,
  .kt-modal.is-open .kt-modal__dialog,
  .kt-toast.is-visible {
    animation: none !important;
  }

  .kt-hover-lift,
  .kt-btn,
  .kt-input,
  .kt-select,
  .kt-textarea,
  .kt-table tbody tr {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .kt-hover-lift:hover,
  .kt-btn:active {
    transform: none;
  }
}

