
        @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');
        
        * { font-family: 'Poppins', sans-serif; }
        
        .hero-bg {
            background: linear-gradient(135deg, rgba(139, 69, 19, 0.60), rgba(160, 82, 45, 0.60)),
                        url('/static/img/cafeteria-bg.jpg') center/cover no-repeat;
        }

        .carousel-container {
            position: relative;
            overflow: hidden;
        }
        
        .carousel-slide {
            display: none;
            animation: fadeIn 0.6s ease-in-out;
        }
        
        .carousel-slide.active {
            display: block;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; }
            to { opacity: 1; }
        }

        .scroll-reveal {
            opacity: 0;
            transform: translateY(30px);
            transition: all 0.6s ease;
        }
        
        .scroll-reveal.revealed {
            opacity: 1;
            transform: translateY(0);
        }
        
        .modal {
            display: none;
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
            backdrop-filter: blur(5px);
        }
        
        .modal.show {
            display: flex;
            align-items: center;
            justify-content: center;
        }
        
        .fade-in {
            animation: fadeIn 0.3s ease-in;
        }
        
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-20px); }
            to { opacity: 1; transform: translateY(0); }
        }
        .glass-effect {
            background: rgba(255, 255, 255, 0.25);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.18);
        }
        .coffee-particle {
            position: absolute;
            width: 4px;
            height: 4px;
            background: #92400e;
            border-radius: 50%;
            animation: float 6s ease-in-out infinite;
        }
        @keyframes float {
            0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.7; }
            50% { transform: translateY(-20px) rotate(180deg); opacity: 1; }
        }
        .steam {
            position: absolute;
            width: 2px;
            height: 20px;
            background: linear-gradient(to top, rgba(255,255,255,0.8), transparent);
            border-radius: 50%;
            animation: steam 3s ease-in-out infinite;
        }
        @keyframes steam {
            0% { transform: translateY(0) scaleX(1); opacity: 0.8; }
            50% { transform: translateY(-15px) scaleX(1.5); opacity: 0.4; }
            100% { transform: translateY(-30px) scaleX(0.5); opacity: 0; }
        }
        .input-focus {
            transition: all 0.3s ease;
        }
        .input-focus:focus {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(146, 64, 14, 0.2);
        }
        .btn-hover {
            transition: all 0.3s ease;
        }
        .btn-hover:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(146, 64, 14, 0.3);
        }
        .product-card { transition: all 0.3s ease; }
    .product-card:hover { transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
    .cart-item { animation: slideIn 0.3s ease; }
    @keyframes slideIn { from { opacity: 0; transform: translateX(20px);} to { opacity: 1; transform: translateX(0);} }
    .floating-cart { position: fixed; bottom: 20px; right: 20px; z-index: 1000; }
    .cart-badge { position: absolute; top: -8px; right: -8px; background: #dc2626; color: #fff; border-radius: 50%;
                  width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; }
                  .table-occupied { background: linear-gradient(135deg, #dc2626, #ef4444); }
        .table-available { background: linear-gradient(135deg, #059669, #10b981); }
        .table-selected { background: linear-gradient(135deg, #d97706, #f59e0b); }
        
        .order-panel {
            transform: translateX(100%);
            transition: transform 0.3s ease-in-out;
        }
        
        .order-panel.show {
            transform: translateX(0);
        }
        
        @media (max-width: 768px) {
            .order-panel {
                transform: translateY(100%);
            }
            .order-panel.show {
                transform: translateY(0);
            }
        }
         .coffee-particle {
            position: absolute;
            background: #92400e;
            border-radius: 50%;
            animation: float 6s ease-in-out infinite;
        }
        @keyframes float {
            0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.7; }
            50% { transform: translateY(-20px) rotate(180deg); opacity: 1; }
        }
        .glass-effect {
            background: rgba(255, 255, 255, 0.1);
            backdrop-filter: blur(10px);
            border: 1px solid rgba(255, 255, 255, 0.2);
        }
        .input-focus:focus {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(146, 64, 14, 0.2);
        }
        .btn-hover:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 25px rgba(146, 64, 14, 0.3);
        }
        