/* Custom Application Styles */
.custom-scrollbar::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(100, 116, 139, 0.3);
    border-radius: 9999px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover {
    background: rgba(100, 116, 139, 0.5);
}

@keyframes bounceSubtle {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}
.animate-bounce-subtle {
    animation: bounceSubtle 3s ease-in-out infinite;
}

/* Parking Slot Types Styling */
.slot-available {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.15), rgba(16, 185, 129, 0.25));
    border: 2px dashed #10b981;
    color: #059669;
}
.slot-occupied {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.15), rgba(239, 68, 68, 0.3));
    border: 2px solid #ef4444;
    color: #dc2626;
}
.slot-reserved {
    background: linear-gradient(135deg, rgba(245, 158, 11, 0.15), rgba(245, 158, 11, 0.25));
    border: 2px solid #f59e0b;
    color: #d97706;
}
.slot-maintenance {
    background: linear-gradient(135deg, rgba(100, 116, 139, 0.15), rgba(100, 116, 139, 0.25));
    border: 2px dashed #64748b;
    color: #475569;
}
.slot-vip {
    border-color: #8b5cf6 !important;
}
.slot-ev {
    border-color: #06b6d4 !important;
}

/* Thermal Receipt Print Stylesheet (80mm & 58mm) */
@media print {
    body * {
        visibility: hidden;
    }
    #thermal-ticket, #thermal-ticket * {
        visibility: visible;
    }
    #thermal-ticket {
        position: absolute;
        left: 0;
        top: 0;
        width: 80mm !important;
        margin: 0 !important;
        padding: 5mm !important;
        box-shadow: none !important;
        background: #fff !important;
        color: #000 !important;
        font-family: 'Courier New', Courier, monospace !important;
    }
    .no-print {
        display: none !important;
    }
}
