
        :root {
            --primary-color: #4361ee;
            --secondary-color: #3f37c9;
            --accent-color: #4895ef;
            --light-color: #f8f9fa;
            --dark-color: #212529;
            --success-color: #4cc9f0;
            --warning-color: #f72585;
            --border-radius: 8px;
            --box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
            --transition: all 0.3s ease;
        }

        body {
            background: url(https://portal.hef.co.ke/assets/app-assets/images/patterns/bg06.png);
            background-repeat: repeat;
            font-family: 'Inter', sans-serif;
        }

        .page-header {
            background: white;
            padding: 1.5rem;
            border-radius: var(--border-radius);
            box-shadow: var(--box-shadow);
            margin-bottom: 2rem;
        }

        .back-btn {
            color: var(--dark-color);
            font-weight: 500;
            transition: var(--transition);
        }

        .back-btn:hover {
            color: var(--primary-color);
            transform: translateX(-3px);
        }

        .page-title {
            color: var(--dark-color);
            font-weight: 600;
            margin: 1rem 0;
        }

        /* Product Cards */
        .product-card {
            border: none;
            border-radius: var(--border-radius);
            overflow: hidden;
            box-shadow: var(--box-shadow);
            transition: var(--transition);
            height: 100%;
            background: white;
        }

        .product-card:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0,0,0,0.1);
        }

        .product-badge {
            font-size: 0.75rem;
            font-weight: 600;
            z-index: 1;
        }

        .product-image-container {
            height: 200px;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #f9f9f9;
            position: relative;
            overflow: hidden;
        }

        .product-image {
            max-height: 100%;
            max-width: 100%;
            object-fit: contain;
            transition: transform 0.5s ease;
        }

        .product-card:hover .product-image {
            transform: scale(1.05);
        }

        .card-body {
            padding: 1rem;
            display: flex;
            flex-direction: column;
        }

        .product-title {
            font-size: 1rem;
            font-weight: 600;
            color: var(--dark-color);
            margin-bottom: 0.5rem;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            min-height: 3em;
        }

        .product-price {
            color: var(--primary-color);
            font-weight: 700;
            font-size: 1.1rem;
            margin-bottom: 0.5rem;
        }

        .product-stock {
            font-size: 0.85rem;
        }

        .in-stock {
            color: var(--success-color);
        }

        .out-of-stock {
            color: var(--warning-color);
        }

        .product-min-order {
            font-size: 0.85rem;
            color: #6c757d;
        }

        /* Loading State */
        #productsLoading {
            padding: 2rem 0;
        }

        .spinner-border {
            width: 2rem;
            height: 2rem;
        }

        /* Empty State */
        .empty-state {
            padding: 3rem;
            text-align: center;
            background: white;
            border-radius: var(--border-radius);
            box-shadow: var(--box-shadow);
        }

        /* Responsive Adjustments */
        @media (max-width: 767px) {
            .product-image-container {
                height: 150px;
            }
            
            .page-header {
                padding: 1rem;
                margin-bottom: 1rem;
            }
            
            .page-title {
                font-size: 1.5rem;
            }
            
            .col-6 {
                padding: 0.25rem;
            }
            
            .card-body {
                padding: 0.75rem;
            }
        }

        @media (min-width: 768px) and (max-width: 991px) {
            .product-image-container {
                height: 180px;
            }
        }
 