/* Custom scrollbar for better appearance */
::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
::-webkit-scrollbar-track {
    background: transparent;
}
::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}

/* Sidebar transitions */
.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 300ms;
}

/* Flash message animation */
.flash-message {
    animation: slideInDown 0.3s ease-out forwards;
}

@keyframes slideInDown {
    from {
        opacity: 0;
        transform: translateY(-20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Lightbox styles */
.lightbox-trigger {
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.lightbox-trigger:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

#lightbox-overlay {
    backdrop-filter: blur(4px);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

#lightbox-overlay.active {
    opacity: 1;
    pointer-events: auto;
}

#lightbox-image {
    max-height: 90vh;
    max-width: 90vw;
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

#lightbox-overlay.active #lightbox-image {
    transform: scale(1);
}

/* Card hover effect */
.card-hover-lift {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.card-hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

/* Print styles */
@media print {
    #sidebar, #sidebar-overlay, header, footer, .flash-message, #hamburger-btn {
        display: none !important;
    }
    
    main, .lg\:ml-64 {
        margin-left: 0 !important;
        padding: 0 !important;
        background-color: white !important;
    }
    
    body {
        background-color: white !important;
    }
    
    .card, .bg-white {
        box-shadow: none !important;
        border: 1px solid #e5e7eb !important;
    }
}
