/* Custom Styles */
@import url('https://fonts.googleapis.com/css2?family=Kanit:wght@300;400;500;600;700&display=swap');

body {
    font-family: 'Kanit', sans-serif;
}

/* Beautiful loading overlay */
#loading {
    backdrop-filter: blur(5px);
}

/* Page transitions */
.fade-in-up {
    animation: fadeInUp 0.4s ease-out forwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.calendar-cell {
    transition: background-color 0.2s;
}

.calendar-cell:hover {
    background-color: #f8fafc;
}

/* Custom Scrollbar for x-axis tables */
.custom-scrollbar::-webkit-scrollbar {
    height: 8px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: #f1f5f9;
    border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Custom check box */
.checkbox-animate {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
input[type="checkbox"]:checked + div {
    background-color: #4f46e5;
    border-color: #4f46e5;
}
input[type="checkbox"]:checked + div .check-icon {
    opacity: 1;
    transform: scale(1);
}
.check-icon {
    opacity: 0;
    transform: scale(0.5);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

/* PJAX container fade out */
.pjax-fade-out {
    opacity: 0 !important;
}
