/* Custom Scrollbar */
.custom-scrollbar::-webkit-scrollbar {
    width: 5px;
    height: 5px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background-color: #cbd5e1;
    border-radius: 10px;
}
.custom-scrollbar:hover::-webkit-scrollbar-thumb {
    background-color: #94a3b8;
}

/* Animations & Transitions */
.hidden-section {
    display: none !important;
}

.fade-in {
    animation: fadeIn 0.3s ease-in-out;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* active link style */
.nav-link.active {
    background-color: #4f46e5; /* primary color */
    color: white;
}
.nav-link.active i {
    color: white;
}

/* Toast */
.toast-enter {
    animation: slideInRight 0.3s ease-out forwards;
}
.toast-leave {
    animation: fadeOutRight 0.3s ease-in forwards;
}

@keyframes slideInRight {
    from { transform: translateX(100%); opacity: 0; }
    to { transform: translateX(0); opacity: 1; }
}
@keyframes fadeOutRight {
    from { transform: translateX(0); opacity: 1; }
    to { transform: translateX(100%); opacity: 0; }
}

/* Print Styles */
@media print {
    body * {
        visibility: hidden;
    }
    #receipt-print-area, #receipt-print-area * {
        visibility: visible;
    }
    #receipt-print-area {
        position: absolute;
        left: 0;
        top: 0;
        width: 80mm; /* standard thermal printer width */
        margin: 0;
        padding: 0;
        font-family: monospace;
        color: black !important;
    }
    /* Hide the background layer in print */
    #receipt-modal {
        background: transparent !important;
    }
    #receipt-modal-content {
        box-shadow: none !important;
    }
}
