/* Custom styles */

@keyframes slideIn {
  from { transform: translateX(100%); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}

@keyframes slideOut {
  from { transform: translateX(0); opacity: 1; }
  to { transform: translateX(100%); opacity: 0; }
}

.animate-slide-in {
  animation: slideIn 0.3s ease-out;
}

.animate-slide-out {
  animation: slideOut 0.3s ease-in forwards;
}

/* Sidebar active link */
.nav-link.active {
  background-color: #2563eb;
  color: white;
}

.nav-link.active:hover {
  background-color: #1d4ed8;
}

/* Smooth transitions */
.nav-link {
  transition: all 0.15s ease;
}

/* Modal backdrop */
.modal-backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
}

/* Table row hover */
tr:hover {
  background-color: #f9fafb;
}

/* Scrollbar styling */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

/* Loading spinner */
.spinner {
  border-color: #e5e7eb;
  border-top-color: #3b82f6;
}

/* File input hidden */
input[type="file"] {
  display: none;
}
