/* SCROLLBAR STYLING */
/* Works on Chrome, Edge, and Safari */
::-webkit-scrollbar {
  width: 10px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #e0e7ff; /* light indigo background */
}

::-webkit-scrollbar-thumb {
  background-color: #6366f1; /* indigo-500 */
  border-radius: 10px;
  border: 2px solid #e0e7ff;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #4f46e5; /* indigo-600 */
}

/* Firefox */
* {
  scrollbar-width: thin;
  scrollbar-color: #6366f1 #e0e7ff;
}

button,
select {
  cursor: pointer;
}

/* Scrollbar for modern browsers */
.scrollbar-sm::-webkit-scrollbar {
  width: 2px;
  height: 2px;
}

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

.scrollbar-sm::-webkit-scrollbar-thumb {
  background-color: rgba(100, 100, 100, 0.4);
  border-radius: 10px;
}

/* Firefox support */
.scrollbar-sm {
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 100, 100, 0.4) transparent;
}

.custom-alert {
  padding: 12px 20px;
  margin-bottom: 10px;
  border-radius: 5px;
  color: #fff;
  font-weight: 500;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
  opacity: 0.95;
  animation: fadeSlide 0.3s ease;
}

.custom-alert.success {
  background-color: #28a745;
}
.custom-alert.error {
  background-color: #dc3545;
}
.custom-alert.info {
  background-color: #17a2b8;
}
.custom-alert.warning {
  background-color: #ffc107;
  color: #000;
}

@keyframes fadeSlide {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 0.95;
    transform: translateY(0);
  }
}

@keyframes spin-slow {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
.animate-spin-slow {
  animation: spin-slow 3s linear infinite;
}

/*--------------------------------------------------------------
# Preloader
--------------------------------------------------------------*/
#preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  overflow: hidden;
  background: white;
  transition: all 0.6s ease-out;
}

#preloader:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #ffffff;
  border-color: green transparent green transparent;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: animate-preloader 1.5s linear infinite;
}

@keyframes animate-preloader {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

tr {
  page-break-inside: avoid !important;
}
thead {
  display: table-header-group; /* Ensures header is repeated on each page */
}
tfoot {
  display: table-footer-group; /* Optional: for footers */
}
