:root{
            --dark:#0f172a;
            --blue:#2563eb;
            --purple:#7c3aed;
            --green:#16a34a;
            --soft:#f8fafc;
            --line:#e5e7eb;
            --muted:#6b7280;
            --danger:#dc2626;
        }

        *{box-sizing:border-box}

        body{
            background:linear-gradient(180deg,#f8fbff 0%,#f6f7fb 100%);
        }

        .bill-shell{padding:18px 0 30px}
        .bill-head{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:14px;
            flex-wrap:wrap;
            margin-bottom:18px;
        }
        .bill-brand{display:flex;align-items:center;gap:14px}
        .bill-logo{
            width:70px;height:70px;border-radius:18px;object-fit:cover;
            background:#fff;border:1px solid var(--line);
            box-shadow:0 8px 24px rgba(0,0,0,.06);
        }
        .bill-fallback{
            width:70px;height:70px;border-radius:18px;display:flex;
            align-items:center;justify-content:center;font-weight:800;
            background:linear-gradient(135deg,var(--dark) 0%,var(--blue) 55%,var(--purple) 100%);
            color:#fff;
            box-shadow:0 8px 24px rgba(37,99,235,.25);
        }
        .bill-title h1{margin:0;font-size:30px;line-height:1.1}
        .bill-title p{margin:5px 0 0;color:var(--muted)}

        .top-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
        .top-actions a{
            display:inline-flex;align-items:center;justify-content:center;
            min-height:44px;padding:0 16px;border-radius:14px;text-decoration:none;
            font-weight:800;border:1px solid var(--line);background:#fff;color:#111827;
            box-shadow:0 8px 20px rgba(0,0,0,.04);
        }
        .top-actions a.bill-active{
            color:#fff;border:0;
            background:linear-gradient(135deg,var(--dark) 0%,var(--blue) 55%,var(--purple) 100%);
            box-shadow:0 12px 30px rgba(37,99,235,.25);
        }

        .connection-status{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            min-height:44px;
            padding:0 14px;
            border-radius:14px;
            font-size:12px;
            font-weight:900;
            background:#f3f4f6;
            color:#111827;
            border:1px solid var(--line);
            box-shadow:0 8px 20px rgba(0,0,0,.04);
        }
        .connection-status.online{
            background:#ecfdf5;
            color:#166534;
            border-color:#bbf7d0;
        }
        .connection-status.offline{
            background:#fff7ed;
            color:#9a3412;
            border-color:#fed7aa;
        }

        .bill-layout{
            display:grid;
            grid-template-columns:260px minmax(0,1fr) 390px;
            gap:18px;
            align-items:start;
        }

        .panel-card{
            background:#fff;
            border:1px solid var(--line);
            border-radius:24px;
            padding:18px;
            box-shadow:0 14px 36px rgba(0,0,0,.05);
        }

        .section-head{
            display:flex;align-items:center;justify-content:space-between;gap:10px;
            margin-bottom:14px;
        }
        .section-head h3{margin:0;font-size:20px}

        .category-list{display:flex;flex-direction:column;gap:10px}
        .category-btn{
            width:100%;
            text-align:left;
            border:0;
            border-radius:16px;
            padding:14px 16px;
            cursor:pointer;
            font:inherit;
            font-weight:800;
            background:#f3f4f6;
            color:#111827;
            transition:.18s ease;
        }
        .category-btn:hover{transform:translateY(-1px)}
        .category-btn.active{
            color:#fff;
            background:linear-gradient(135deg,var(--dark) 0%,var(--blue) 55%,var(--purple) 100%);
            box-shadow:0 12px 30px rgba(37,99,235,.22);
        }

        .mobile-category-bar{
            display:none;
            position:sticky;
            top:0;
            z-index:50;
            background:linear-gradient(180deg,rgba(248,251,255,.98),rgba(248,251,255,.88));
            backdrop-filter:blur(10px);
            padding:10px 0 14px;
            margin-bottom:12px;
        }

        .mobile-category-dropdown{position:relative}

        .mobile-category-trigger{
            width:100%;
            border:0;
            border-radius:24px;
            padding:15px 16px;
            font:inherit;
            cursor:pointer;
            color:#fff;
            background:
                radial-gradient(circle at top left,rgba(250,204,21,.35),transparent 35%),
                linear-gradient(135deg,#0f172a 0%,#2563eb 45%,#7c3aed 100%);
            box-shadow:0 16px 38px rgba(37,99,235,.30);
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:12px;
        }

        .mobile-category-trigger-left{display:flex;align-items:center;gap:12px;min-width:0;text-align:left}
        .mobile-category-icon{
            width:46px;height:46px;border-radius:18px;
            background:rgba(255,255,255,.18);
            display:grid;place-items:center;
            font-size:25px;
            box-shadow:inset 0 0 0 1px rgba(255,255,255,.20);
            flex-shrink:0;
        }
        .mobile-category-copy{min-width:0}
        .mobile-category-label{
            display:block;
            font-size:12px;
            font-weight:1000;
            text-transform:uppercase;
            letter-spacing:1.15px;
            color:#fde68a;
            line-height:1.1;
        }
        .mobile-category-current{
            display:block;
            font-size:18px;
            font-weight:1000;
            text-transform:uppercase;
            letter-spacing:.4px;
            white-space:nowrap;
            overflow:hidden;
            text-overflow:ellipsis;
            max-width:calc(100vw - 150px);
            line-height:1.18;
        }
        .mobile-category-hint{
            display:block;
            font-size:12px;
            font-weight:800;
            color:rgba(255,255,255,.80);
            margin-top:3px;
        }
        .mobile-category-arrow{
            width:42px;height:42px;border-radius:16px;
            background:#fff;color:#111827;
            display:grid;place-items:center;
            font-size:22px;
            font-weight:1000;
            box-shadow:0 10px 20px rgba(15,23,42,.22);
            flex-shrink:0;
            transition:.18s ease;
        }
        .mobile-category-trigger.open .mobile-category-arrow{transform:rotate(180deg)}

        .mobile-category-menu{
            position:absolute;
            left:0;
            right:0;
            top:calc(100% + 10px);
            background:#fff;
            border:1px solid #dbeafe;
            border-radius:24px;
            box-shadow:0 22px 45px rgba(15,23,42,.18);
            padding:10px;
            display:none;
            max-height:380px;
            overflow:auto;
        }
        .mobile-category-menu.open{display:grid;gap:9px}

        .mobile-category-option{
            width:100%;
            text-align:left;
            border:1px solid rgba(37,99,235,.10);
            border-radius:18px;
            padding:15px 14px;
            font:inherit;
            font-size:16px;
            font-weight:1000;
            text-transform:uppercase;
            letter-spacing:.35px;
            cursor:pointer;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:10px;
            box-shadow:0 8px 18px rgba(15,23,42,.05);
        }
        .mobile-category-option::after{content:'›';font-size:24px;line-height:1;font-weight:1000;opacity:.55}
        .mobile-category-option:nth-child(6n+1){background:linear-gradient(135deg,#fff7ed,#ffedd5);color:#9a3412}
        .mobile-category-option:nth-child(6n+2){background:linear-gradient(135deg,#ecfeff,#cffafe);color:#155e75}
        .mobile-category-option:nth-child(6n+3){background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#166534}
        .mobile-category-option:nth-child(6n+4){background:linear-gradient(135deg,#f5f3ff,#ede9fe);color:#5b21b6}
        .mobile-category-option:nth-child(6n+5){background:linear-gradient(135deg,#fdf2f8,#fce7f3);color:#9d174d}
        .mobile-category-option:nth-child(6n+6){background:linear-gradient(135deg,#eff6ff,#dbeafe);color:#1d4ed8}
        .mobile-category-option:hover,
        .mobile-category-option.active{
            background:linear-gradient(135deg,#111827 0%,#2563eb 55%,#7c3aed 100%);
            color:#fff;
            border-color:transparent;
            transform:translateY(-1px);
        }

        .search-wrap{margin-bottom:16px}
        .search-input{
            width:100%;
            padding:14px 16px;
            border:1px solid #d1d5db;
            border-radius:16px;
            font:inherit;
            background:#fff;
        }

        .category-panel{display:none}
        .category-panel.active{display:block}

        .item-list{display:flex;flex-direction:column;gap:14px}
        .item-card{
            border:1px solid var(--line);
            border-radius:20px;
            padding:14px;
            background:#fff;
        }
        .item-summary{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:12px;
            cursor:pointer;
        }
        .item-summary-left{
            display:flex;
            align-items:flex-start;
            gap:12px;
            flex:1;
            min-width:0;
        }
        .item-image{
            width:76px;height:76px;border-radius:16px;object-fit:cover;
            background:#f3f4f6;border:1px solid var(--line);flex-shrink:0;
        }
        .item-name{margin:0 0 5px;font-size:18px;line-height:1.2}
        .item-desc{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
        .price-badge{
            display:inline-flex;align-items:center;gap:6px;
            margin-top:8px;padding:7px 10px;border-radius:999px;
            background:#ecfdf5;color:#166534;font-size:12px;font-weight:800;
        }
        .item-caret{
            font-size:22px;font-weight:900;line-height:1;
            min-width:18px;text-align:center;color:#111827;
        }
        .item-body{display:none}
        .item-card.open .item-body{display:block}
        .item-card.no-expand .item-summary{cursor:default}
        .item-card.no-expand .item-caret{display:none}
        .item-card.no-expand .item-body{display:none !important}

        .single-row,
        .variant-row{
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:14px;
            margin-top:14px;
            background:#f9fafb;
            border:1px solid var(--line);
            padding:12px 14px;
            border-radius:16px;
        }

        .variant-list{display:flex;flex-direction:column;gap:10px;margin-top:14px}
        .line-title{font-weight:800}
        .line-price{color:#111827;font-weight:700;margin-top:3px}

        .qty-pack{
            display:flex;
            align-items:center;
            gap:8px;
            flex-wrap:nowrap;
        }
        .qty-btn{
            width:34px;height:34px;border-radius:10px;border:0;cursor:pointer;
            background:#111827;color:#fff;font-size:18px;font-weight:800;
            display:flex;align-items:center;justify-content:center;
        }
        .qty-btn.plus{background:linear-gradient(135deg,#111827 0%,#2563eb 100%)}
        .qty-btn.minus{background:#111827}
        .qty-input{
            width:58px;height:34px;border-radius:10px;border:1px solid #d1d5db;
            text-align:center;font:inherit;font-weight:700;padding:0 6px;background:#fff;
        }

        .deal-actions{
            display:flex;align-items:center;gap:10px;flex-wrap:wrap;
        }
        .choose-btn{
            border:0;
            color:#fff;
            padding:11px 15px;
            border-radius:12px;
            cursor:pointer;
            font-weight:800;
            background:linear-gradient(135deg,var(--dark) 0%,var(--blue) 100%);
        }

        .quick-price-line{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
        .quick-price-pill{display:inline-flex;align-items:center;gap:6px;background:#ecfdf5;color:#166534;border:1px solid #bbf7d0;border-radius:999px;padding:6px 10px;font-weight:900;font-size:13px}

        .cart-card{
            position:sticky;
            top:16px;
            overflow:hidden;
            padding:0;
        }
        .cart-top{
            padding:18px 18px 14px;
            color:#fff;
            background:linear-gradient(135deg,var(--dark) 0%,var(--blue) 55%,var(--purple) 100%);
        }
        .cart-top h3{margin:0;font-size:22px}
        .cart-top p{margin:6px 0 0;font-size:13px;opacity:.92}

        .cart-body{padding:18px}
        .cart-items{
            max-height:340px;
            overflow:auto;
            padding-right:4px;
        }
        .cart-line{
            border:1px solid var(--line);
            border-radius:18px;
            padding:12px;
            background:#fff;
            margin-bottom:12px;
            box-shadow:0 8px 20px rgba(0,0,0,.03);
        }
        .cart-line-top{
            display:flex;
            justify-content:space-between;
            gap:10px;
            align-items:flex-start;
        }
        .cart-line-title{font-weight:800}
        .cart-line-sub{color:var(--muted);font-size:13px;line-height:1.4;margin-top:3px}
        .remove-line-btn{
            border:0;
            width:30px;height:30px;border-radius:10px;
            background:#fee2e2;color:#991b1b;font-size:18px;font-weight:900;cursor:pointer;
        }
        .cart-line-bottom{
            margin-top:10px;
            display:flex;
            justify-content:space-between;
            gap:12px;
            align-items:center;
            flex-wrap:wrap;
        }
        .cart-prices{font-size:13px;color:#374151;line-height:1.5}
        .cart-prices strong{font-size:16px;color:#111827}

        .order-type-wrap{
            margin-top:16px;
            padding:14px;
            border:1px solid var(--line);
            border-radius:18px;
            background:#f9fafb;
        }
        .radio-grid{
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:10px;
        }
        .radio-option{
            display:flex;align-items:center;gap:10px;
            border:1px solid var(--line);
            border-radius:14px;
            padding:12px;background:#fff;font-weight:700;
        }

        .delivery-input-wrap{
            margin-top:12px;
            display:none;
        }
        .delivery-input-wrap.show{display:block}
        .delivery-input{
            width:100%;
            padding:12px 14px;
            border:1px solid #d1d5db;
            border-radius:14px;
            font:inherit;
            background:#fff;
        }

        .summary-box{
            margin-top:16px;
            padding:14px;
            border:1px solid var(--line);
            border-radius:18px;
            background:#fff;
        }
        .summary-row{
            display:flex;justify-content:space-between;gap:12px;
            margin-bottom:10px;color:#111827;
        }
        .summary-row:last-child{margin-bottom:0}
        .summary-row.total{
            padding-top:10px;border-top:1px dashed #d1d5db;
            font-size:19px;font-weight:800;
        }

        .action-grid{
            margin-top:16px;
            display:grid;
            grid-template-columns:1fr 1fr;
            gap:10px;
        }
        .action-btn{
            min-height:46px;
            border:0;border-radius:14px;cursor:pointer;font:inherit;font-weight:800;
            padding:0 14px;
        }
        .btn-dark{background:#111827;color:#fff}
        .btn-green{background:#16a34a;color:#fff}
        .btn-blue{background:#2563eb;color:#fff}
        .btn-soft{background:#eff6ff;color:#1d4ed8}
        .btn-light{background:#f3f4f6;color:#111827}

        .helper{
            padding:16px;
            border:1px dashed #d1d5db;
            border-radius:16px;
            background:#fafafa;
            color:var(--muted);
            text-align:center;
        }
        .empty-box{
            padding:24px;
            text-align:center;
            color:var(--muted);
            background:#fafafa;
            border:1px dashed #d1d5db;
            border-radius:18px;
        }

        .modal-backdrop{
            position:fixed;
            inset:0;
            background:rgba(0,0,0,.45);
            display:none;
            align-items:center;
            justify-content:center;
            z-index:120;
            padding:18px;
        }
        .modal-backdrop.open{display:flex}
        .modal-card{
            background:#fff;
            border-radius:22px;
            padding:18px;
            width:100%;
            max-width:560px;
            max-height:90vh;
            overflow:auto;
        }
        .modal-head{
            display:flex;justify-content:space-between;gap:12px;align-items:center;
            margin-bottom:14px;
        }
        .choice-block{margin-bottom:16px}
        .choice-list{display:grid;gap:10px}
        .choice-option{
            border:1px solid var(--line);
            border-radius:14px;
            padding:12px;
            background:#fafafa;
            display:flex;align-items:center;gap:10px;
        }
        .modal-qty-row{
            margin-top:12px;
            display:flex;align-items:center;justify-content:space-between;gap:12px;
            background:#f9fafb;border:1px solid var(--line);border-radius:16px;padding:12px;
        }

        .receipt-capture{
            width:302px;
            background:#fff;
            color:#000;
            padding:10px 9px;
            font-family:Arial, Helvetica, sans-serif;
        }
        .receipt-head{
            text-align:center;
            margin-bottom:8px;
        }
        .receipt-logo{
            width:52px;height:52px;border-radius:10px;object-fit:cover;
            display:block;margin:0 auto 6px;background:#fff;border:1px solid #ddd;
        }
        .receipt-brand{
            font-size:18px;font-weight:900;line-height:1.15;
        }
        .receipt-meta{
            font-size:11px;line-height:1.35;text-align:center;margin-top:4px;
        }
        .receipt-line{
            border-top:1px dashed #000;
            margin:7px 0;
        }
        .receipt-row{
            margin-bottom:6px;
            font-size:12px;
            line-height:1.3;
        }
        .receipt-item-block{
            margin-bottom:6px;
        }
        .receipt-item-name{
            font-size:13px;
            font-weight:900;
            line-height:1.25;
            margin-bottom:2px;
            word-break:break-word;
        }
        .receipt-item-variant{
            font-size:11px;
            line-height:1.25;
            margin-bottom:2px;
            word-break:break-word;
        }
        .receipt-item-meta{
            display:flex;
            justify-content:space-between;
            gap:8px;
            font-size:11px;
            line-height:1.2;
        }
        .receipt-item-meta strong{
            font-size:12px;
        }
        .receipt-table{
            width:100%;
            border-collapse:collapse;
            font-size:12px;
        }
        .receipt-table th,
        .receipt-table td{
            padding:3px 0;
            vertical-align:top;
            text-align:left;
            line-height:1.25;
            border-bottom:1px dotted #ddd;
        }
        .receipt-table th{
            font-size:11px;
            font-weight:900;
            border-bottom:1px solid #000;
        }
        .receipt-table .right,
        .receipt-table td:last-child,
        .receipt-table th:last-child{
            text-align:right;
            white-space:nowrap;
        }
        .receipt-total{
            font-size:14px;
            font-weight:900;
        }
        .receipt-foot{
            text-align:center;
            margin-top:10px;
            font-size:11px;
            line-height:1.35;
        }

        #printArea{
            display:none;
        }

        .bill-jump-fab{
            position:fixed;
            right:18px;
            bottom:18px;
            z-index:95;
            border:0;
            border-radius:999px;
            padding:0 22px;
            min-height:66px;
            cursor:pointer;
            font:inherit;
            font-weight:1000;
            font-size:17px;
            color:#fff;
            background:linear-gradient(135deg,#0f172a 0%,#2563eb 55%,#7c3aed 100%);
            box-shadow:0 20px 46px rgba(37,99,235,.34);
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:11px;
            border:2px solid rgba(255,255,255,.72);
            transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
        }
        .bill-jump-icon{font-size:24px;line-height:1;filter:drop-shadow(0 4px 8px rgba(0,0,0,.20))}
        .bill-jump-fab:hover{
            transform:translateY(-2px);
            box-shadow:0 20px 38px rgba(37,99,235,.34);
        }
        .bill-jump-fab:active{
            transform:translateY(0);
        }
        .bill-jump-fab .bill-jump-count{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            min-width:34px;
            height:34px;
            padding:0 9px;
            border-radius:999px;
            background:#facc15;
            color:#111827;
            font-size:14px;
            font-weight:1000;
            line-height:1;
            box-shadow:0 8px 18px rgba(250,204,21,.35);
        }

        .bill-place-order-fab{
            bottom:96px;
            min-width:178px;
            background:linear-gradient(135deg,#16a34a 0%,#22c55e 48%,#0f766e 100%);
            box-shadow:0 20px 46px rgba(22,163,74,.34);
        }
        .bill-place-order-fab:hover{
            box-shadow:0 20px 38px rgba(22,163,74,.36);
        }


        /* All Orders modal + floating button */
        .past-orders-fab{
            bottom:170px;
            min-width:148px;
            background:linear-gradient(135deg,#0f172a 0%,#6366f1 52%,#8b5cf6 100%);
            box-shadow:0 20px 44px rgba(99,102,241,.30);
        }
        .past-orders-modal{
            position:fixed;
            inset:0;
            z-index:140;
            background:rgba(15,23,42,.58);
            display:none;
            align-items:center;
            justify-content:center;
            padding:16px;
        }
        .past-orders-modal.open{display:flex}
        .past-orders-card{
            width:min(980px,100%);
            max-height:92vh;
            overflow:auto;
            background:#fff;
            border-radius:26px;
            box-shadow:0 26px 80px rgba(15,23,42,.32);
            border:1px solid #e5e7eb;
            padding:16px;
        }
        .past-orders-head{
            display:flex;
            justify-content:space-between;
            gap:12px;
            align-items:flex-start;
            margin-bottom:12px;
        }
        .past-orders-head h3{margin:0;font-size:22px;color:#0f172a}
        .past-orders-head p{margin:4px 0 0;color:#64748b;font-weight:800}
        .past-filter-grid{
            display:grid;
            grid-template-columns:1fr 1fr 1fr 1fr auto;
            gap:8px;
            margin-bottom:12px;
        }
        .past-filter-grid input,
        .past-filter-grid select{
            min-height:42px;
            border:1px solid #cbd5e1;
            border-radius:13px;
            padding:0 10px;
            font-weight:850;
            background:#fff;
        }
        .past-stats-grid{
            display:grid;
            grid-template-columns:repeat(4,minmax(0,1fr));
            gap:8px;
            margin-bottom:12px;
        }
        .past-stat{
            background:#f8fafc;
            border:1px solid #e5e7eb;
            border-radius:16px;
            padding:10px;
        }
        .past-stat small{display:block;color:#64748b;font-weight:900;text-transform:uppercase;font-size:10px;letter-spacing:.3px}
        .past-stat strong{display:block;margin-top:4px;font-size:18px;color:#0f172a}
        .past-list{display:grid;gap:9px}
        .past-card{
            border:1px solid #e5e7eb;
            border-radius:18px;
            background:#fff;
            overflow:hidden;
        }
        .past-card-head{
            width:100%;
            border:0;
            padding:12px;
            background:linear-gradient(135deg,#f8fafc,#eef2ff);
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:10px;
            text-align:left;
            cursor:pointer;
        }
        .past-card-head strong{display:block;color:#0f172a}
        .past-card-head small{display:block;margin-top:3px;color:#64748b;font-weight:800}
        .past-pill{
            display:inline-flex;
            border-radius:999px;
            padding:6px 9px;
            background:#111827;
            color:#fff;
            font-size:11px;
            font-weight:1000;
            white-space:nowrap;
        }

        .past-card-tags{
            display:flex;
            align-items:center;
            justify-content:flex-end;
            gap:6px;
            flex-wrap:wrap;
        }
        .past-source-pill{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            border-radius:999px;
            padding:6px 9px;
            color:#fff;
            font-size:11px;
            font-weight:1000;
            white-space:nowrap;
            box-shadow:0 8px 18px rgba(15,23,42,.10);
        }
        .past-source-customer{background:linear-gradient(135deg,#0891b2,#2563eb,#7c3aed)}
        .past-source-pos{background:linear-gradient(135deg,#111827,#334155)}
        .past-source-dine{background:linear-gradient(135deg,#f97316,#f59e0b)}
        .past-source-staff{background:linear-gradient(135deg,#16a34a,#22c55e)}
        .past-source-appointment{background:linear-gradient(135deg,#db2777,#7c3aed)}
        .past-source-other{background:linear-gradient(135deg,#64748b,#0f172a)}
        @media(max-width:640px){
            .past-card-head{align-items:flex-start!important}
            .past-card-tags{justify-content:flex-start;margin-top:6px}
        }
        .past-card-body{display:none;border-top:1px solid #e5e7eb;padding:12px;background:#fff}
        .past-card.open .past-card-body{display:block}
        .past-info-grid{
            display:grid;
            grid-template-columns:1fr 1fr 1fr;
            gap:8px;
            margin-bottom:10px;
        }
        .past-info-box{
            background:#f8fafc;
            border:1px solid #e5e7eb;
            border-radius:14px;
            padding:9px;
            font-size:12px;
            font-weight:800;
            color:#0f172a;
        }
        .past-line{
            display:flex;
            justify-content:space-between;
            gap:10px;
            border-bottom:1px dashed #e5e7eb;
            padding:7px 0;
            font-size:13px;
        }
        .past-line:last-child{border-bottom:0}

        .past-print-row{
            display:flex;
            justify-content:flex-end;
            gap:8px;
            margin:10px 0 8px;
        }
        .past-print-btn{
            min-height:40px;
            border-radius:13px;
            padding:0 14px;
            background:linear-gradient(135deg,#111827,#2563eb);
            color:#fff;
            border:0;
            font-weight:1000;
            cursor:pointer;
            box-shadow:0 12px 28px rgba(37,99,235,.20);
        }
        .past-print-btn:active{transform:scale(.96)}

        .past-pager{
            display:flex;
            justify-content:space-between;
            gap:10px;
            align-items:center;
            margin-top:12px;
        }
        .past-empty{
            border:1px dashed #cbd5e1;
            border-radius:18px;
            background:#f8fafc;
            color:#64748b;
            padding:18px;
            text-align:center;
            font-weight:850;
        }
        @media(max-width:760px){
            .past-orders-fab{
                bottom:146px;
                left:12px;
                right:auto;
                min-width:126px;
                height:48px;
                font-size:12px;
            }
            .past-filter-grid{grid-template-columns:1fr 1fr}
            .past-filter-grid .past-search{grid-column:1/-1}
            .past-filter-grid .past-load{grid-column:1/-1}
            .past-stats-grid{grid-template-columns:1fr 1fr}
            .past-info-grid{grid-template-columns:1fr}
        }

        @media (max-width: 1100px){
            .bill-layout{
                grid-template-columns:220px minmax(0,1fr) 350px;
            }
        }

        @media (max-width: 980px){
            .bill-layout{
                grid-template-columns:1fr;
            }
            .desktop-category-card{display:none}
            .mobile-category-bar{display:block}
            .cart-card{
                position:static;
            }
        }

        @media (max-width: 640px){

            body{
                font-size:13px;
            }

            .bill-title h1{
                font-size:22px;
            }

            .top-actions{
                width:100%;
                display:grid;
                grid-template-columns:repeat(3, 1fr);
                gap:6px;
            }

            .top-actions a,
            .connection-status{
                padding:0 8px;
                font-size:11px;
                min-height:38px;
            }

            .panel-card{
                padding:12px;
                border-radius:18px;
            }

            .single-row,
            .variant-row,
            .cart-line-bottom{
                flex-direction:column;
                align-items:stretch;
                gap:8px;
            }

            .item-summary-left{
                align-items:flex-start;
                gap:10px;
            }

            .item-image{
                width:60px;
                height:60px;
            }

            .item-name{
                font-size:14px;
            }

            .item-desc{
                font-size:12px;
            }

            .price-badge{
                font-size:11px;
                padding:5px 8px;
            }

            .qty-pack{
                justify-content:flex-start;
                gap:6px;
            }

            .qty-btn{
                width:30px;
                height:30px;
                font-size:16px;
            }

            .qty-input{
                width:48px;
                height:30px;
                font-size:13px;
            }

            .cart-line{
                padding:10px;
                border-radius:14px;
            }

            .cart-line-title{
                font-size:14px;
            }

            .cart-prices{
                font-size:12px;
            }

            .summary-box{
                padding:12px;
            }

            .summary-row{
                font-size:14px;
            }

            .summary-row.total{
                font-size:17px;
            }

            .action-grid{
                grid-template-columns:1fr;
                gap:8px;
            }

            .action-btn{
                min-height:40px;
                font-size:13px;
            }

            .bill-jump-fab{
                right:12px;
                bottom:12px;
                padding:0 18px;
                min-height:60px;
                border-radius:999px;
                font-size:15px;
                transform-origin: bottom right;
            }

            .bill-jump-icon{font-size:22px}

            .bill-jump-fab .bill-jump-count{
                min-width:30px;
                height:30px;
                font-size:13px;
            }
        }

        @page{
            size:80mm 297mm;
            margin:0;
        }

        @media print{
            html,
            body{
                width:80mm !important;
                min-width:80mm !important;
                max-width:80mm !important;
                margin:0 !important;
                padding:0 !important;
                background:#fff !important;
                overflow:visible !important;
            }

            body > *{
                display:none !important;
            }

            #printArea{
                display:block !important;
                position:static !important;
                left:auto !important;
                top:auto !important;
                width:80mm !important;
                max-width:80mm !important;
                min-height:0 !important;
                margin:0 !important;
                padding:0 !important;
                background:#fff !important;
                overflow:visible !important;
                page-break-before:avoid !important;
                page-break-after:avoid !important;
                break-before:avoid !important;
                break-after:avoid !important;
            }

            #printArea:empty{
                display:none !important;
            }

            .receipt-capture{
                width:72mm !important;
                max-width:72mm !important;
                margin:0 auto !important;
                padding:1.5mm 2mm 0 !important;
                box-sizing:border-box !important;
                background:#fff !important;
                overflow:visible !important;
                page-break-before:avoid !important;
                page-break-after:avoid !important;
                page-break-inside:avoid !important;
                break-before:avoid !important;
                break-after:avoid !important;
                break-inside:avoid !important;
            }

            .receipt-capture *{
                page-break-inside:avoid !important;
                break-inside:avoid !important;
            }
        }
            .receipt-capture{
                width:76mm !important;
                max-width:76mm !important;
                padding:2mm !important;
                box-sizing:border-box !important;
            }
        }
    
        /* Final override: keep Place Order floating button on the left and same height/design as Bill button */
        .bill-place-order-fab{
            left:18px !important;
            right:auto !important;
            bottom:18px !important;
            min-height:66px !important;
            padding:0 22px !important;
            font-size:17px !important;
            gap:11px !important;
        }

        @media (max-width:640px){
            .bill-place-order-fab{
                left:14px !important;
                right:auto !important;
                bottom:14px !important;
                min-height:62px !important;
                padding:0 18px !important;
                font-size:16px !important;
                gap:9px !important;
            }
        }


        /* Final override: smaller Bill + Place Order floating buttons */
        .bill-jump-fab,
        .bill-place-order-fab{
            min-height:54px !important;
            padding:0 15px !important;
            font-size:14px !important;
            gap:7px !important;
        }
        .bill-jump-icon{
            font-size:20px !important;
        }
        .bill-jump-fab .bill-jump-count{
            min-width:27px !important;
            height:27px !important;
            padding:0 7px !important;
            font-size:12px !important;
        }
        .bill-place-order-fab{
            left:18px !important;
            right:auto !important;
            bottom:18px !important;
            min-width:auto !important;
        }

        @media (max-width:640px){
            .bill-jump-fab,
            .bill-place-order-fab{
                min-height:50px !important;
                padding:0 13px !important;
                font-size:13px !important;
                gap:6px !important;
            }
            .bill-jump-icon{
                font-size:18px !important;
            }
            .bill-jump-fab .bill-jump-count{
                min-width:24px !important;
                height:24px !important;
                padding:0 6px !important;
                font-size:11px !important;
            }
            .bill-place-order-fab{
                left:12px !important;
                right:auto !important;
                bottom:14px !important;
                min-width:auto !important;
            }
            .bill-jump-fab:not(.bill-place-order-fab){
                right:12px !important;
                bottom:14px !important;
            }
        }


        /* V79: clean floating button positions
           - Place Order stays left-bottom
           - Bill stays right-bottom
           - All Orders stays right-side above Bill, so it does not hide under other buttons */
        .past-orders-fab{
            left:auto !important;
            right:18px !important;
            bottom:82px !important;
            z-index:98 !important;
            min-width:auto !important;
        }

        @media (max-width:640px){
            .past-orders-fab{
                left:auto !important;
                right:12px !important;
                bottom:72px !important;
                min-height:48px !important;
                padding:0 12px !important;
                font-size:12px !important;
                gap:6px !important;
            }
            .past-orders-fab .bill-jump-icon{
                font-size:17px !important;
            }
        }


        .offline-work-note{
            display:none;
            margin:0 0 14px;
            padding:11px 13px;
            border-radius:16px;
            background:#fff7ed;
            color:#9a3412;
            border:1px solid #fed7aa;
            font-weight:850;
            font-size:13px;
            line-height:1.45;
        }
        .offline-work-note.show{display:block}


        /* V80: All Orders shifted to left side under Place Order */
        .past-orders-fab{
            right:auto !important;
            left:18px !important;
            bottom:14px !important;
            z-index:97 !important;
            min-width:auto !important;
        }

        .bill-jump-fab{
            z-index:99 !important;
        }

        @media (max-width:640px){
            .past-orders-fab{
                right:auto !important;
                left:12px !important;
                bottom:10px !important;
                min-height:44px !important;
                padding:0 11px !important;
                font-size:11px !important;
                gap:5px !important;
                border-radius:15px !important;
            }
            .past-orders-fab .bill-jump-icon{
                font-size:16px !important;
            }
            .bill-jump-fab{
                z-index:99 !important;
            }
        }


        /* V81: Left-side vertical floating buttons
           All Orders stays ABOVE Place Order on both desktop and mobile.
           Bill/Cart button remains on the right side. */
        .bill-jump-fab{
            left:18px !important;
            right:auto !important;
            bottom:18px !important;
            z-index:99 !important;
        }

        .past-orders-fab{
            left:18px !important;
            right:auto !important;
            bottom:86px !important;
            z-index:98 !important;
            min-width:auto !important;
        }

        @media (max-width:640px){
            .bill-jump-fab{
                left:12px !important;
                right:auto !important;
                bottom:12px !important;
                z-index:99 !important;
            }

            .past-orders-fab{
                left:12px !important;
                right:auto !important;
                bottom:68px !important;
                z-index:98 !important;
                min-height:44px !important;
                padding:0 11px !important;
                font-size:11px !important;
                gap:5px !important;
                border-radius:15px !important;
            }

            .past-orders-fab .bill-jump-icon{
                font-size:16px !important;
            }
        }


        /* V83 FINAL: exact floating button positions
           Bill/Cart button = right bottom
           Place Order = left bottom
           All Orders = left side above Place Order
           All three are spaced and never overlap. */
        .bill-jump-fab:not(.bill-place-order-fab):not(.past-orders-fab){
            right:18px !important;
            left:auto !important;
            bottom:18px !important;
            z-index:95 !important;
        }

        .bill-place-order-fab{
            left:18px !important;
            right:auto !important;
            bottom:18px !important;
            z-index:99 !important;
        }

        .past-orders-fab{
            left:18px !important;
            right:auto !important;
            bottom:92px !important;
            z-index:98 !important;
            min-width:148px !important;
        }

        @media (max-width:640px){
            .bill-jump-fab:not(.bill-place-order-fab):not(.past-orders-fab){
                right:12px !important;
                left:auto !important;
                bottom:12px !important;
                z-index:95 !important;
            }

            .bill-place-order-fab{
                left:12px !important;
                right:auto !important;
                bottom:12px !important;
                z-index:99 !important;
                min-height:48px !important;
                padding:0 12px !important;
                font-size:12px !important;
                border-radius:16px !important;
                gap:6px !important;
            }

            .past-orders-fab{
                left:12px !important;
                right:auto !important;
                bottom:72px !important;
                z-index:98 !important;
                min-height:46px !important;
                min-width:132px !important;
                padding:0 12px !important;
                font-size:12px !important;
                border-radius:16px !important;
                gap:6px !important;
            }

            .bill-place-order-fab .bill-jump-icon,
            .past-orders-fab .bill-jump-icon{
                font-size:17px !important;
            }
        }


        /* V84 MOBILE FINAL: no overlap floating buttons on small screens only */
        @media (max-width:640px){
            .bill-jump-fab:not(.bill-place-order-fab):not(.past-orders-fab){
                position:fixed !important;
                right:10px !important;
                left:auto !important;
                bottom:10px !important;
                width:104px !important;
                min-width:104px !important;
                max-width:104px !important;
                height:50px !important;
                min-height:50px !important;
                padding:0 8px !important;
                font-size:12px !important;
                line-height:1.05 !important;
                gap:5px !important;
                border-radius:17px !important;
                z-index:95 !important;
                white-space:nowrap !important;
            }

            .bill-place-order-fab{
                position:fixed !important;
                left:10px !important;
                right:auto !important;
                bottom:10px !important;
                width:144px !important;
                min-width:144px !important;
                max-width:144px !important;
                height:50px !important;
                min-height:50px !important;
                padding:0 8px !important;
                font-size:10.5px !important;
                line-height:1.05 !important;
                gap:5px !important;
                border-radius:17px !important;
                z-index:99 !important;
                white-space:normal !important;
                text-align:center !important;
            }

            .past-orders-fab{
                position:fixed !important;
                left:10px !important;
                right:auto !important;
                bottom:68px !important;
                width:132px !important;
                min-width:132px !important;
                max-width:132px !important;
                height:48px !important;
                min-height:48px !important;
                padding:0 8px !important;
                font-size:11px !important;
                line-height:1.05 !important;
                gap:5px !important;
                border-radius:17px !important;
                z-index:98 !important;
                white-space:nowrap !important;
                text-align:center !important;
            }

            .bill-jump-fab .bill-jump-icon{
                font-size:17px !important;
                flex:0 0 auto !important;
            }

            .bill-jump-fab .bill-jump-count{
                min-width:22px !important;
                height:22px !important;
                font-size:11px !important;
            }

            body{
                padding-bottom:90px !important;
            }
        }

        @media (max-width:360px){
            .bill-jump-fab:not(.bill-place-order-fab):not(.past-orders-fab){
                width:96px !important;
                min-width:96px !important;
                max-width:96px !important;
                font-size:11px !important;
            }

            .bill-place-order-fab{
                width:136px !important;
                min-width:136px !important;
                max-width:136px !important;
                font-size:10px !important;
            }

            .past-orders-fab{
                width:126px !important;
                min-width:126px !important;
                max-width:126px !important;
                font-size:10.5px !important;
            }
        }


        /* V85 MOBILE FINAL OVERRIDE:
           All Orders stays higher on the left side, away from Place Order.
           Desktop/laptop stays unchanged. */
        @media (max-width:900px){
            .bill-jump-fab:not(.bill-place-order-fab):not(.past-orders-fab){
                right:10px !important;
                left:auto !important;
                bottom:10px !important;
                z-index:95 !important;
            }

            .bill-place-order-fab{
                left:10px !important;
                right:auto !important;
                bottom:10px !important;
                z-index:99 !important;
            }

            .past-orders-fab{
                left:10px !important;
                right:auto !important;
                bottom:118px !important;
                z-index:98 !important;
                width:132px !important;
                min-width:132px !important;
                max-width:132px !important;
                height:46px !important;
                min-height:46px !important;
                padding:0 8px !important;
                font-size:11px !important;
                line-height:1.05 !important;
                border-radius:16px !important;
                white-space:nowrap !important;
                text-align:center !important;
            }

            .past-orders-fab .bill-jump-icon{
                font-size:16px !important;
            }
        }

        @media (max-width:380px){
            .past-orders-fab{
                bottom:112px !important;
                width:124px !important;
                min-width:124px !important;
                max-width:124px !important;
                font-size:10.5px !important;
            }
        }


        /* V86 MOBILE FINAL:
           All Orders button becomes small "Past" button in the middle bottom on mobile.
           Place Order stays left bottom. Bill/Cart stays right bottom. */
        @media (max-width:640px){
            .bill-jump-fab:not(.bill-place-order-fab):not(.past-orders-fab){
                position:fixed !important;
                right:10px !important;
                left:auto !important;
                bottom:10px !important;
                width:104px !important;
                min-width:104px !important;
                max-width:104px !important;
                height:50px !important;
                min-height:50px !important;
                padding:0 8px !important;
                z-index:95 !important;
            }

            .bill-place-order-fab{
                position:fixed !important;
                left:10px !important;
                right:auto !important;
                bottom:10px !important;
                width:144px !important;
                min-width:144px !important;
                max-width:144px !important;
                height:50px !important;
                min-height:50px !important;
                padding:0 8px !important;
                font-size:10.5px !important;
                line-height:1.05 !important;
                z-index:99 !important;
                white-space:normal !important;
            }

            .past-orders-fab{
                position:fixed !important;
                left:50% !important;
                right:auto !important;
                bottom:10px !important;
                transform:translateX(-50%) !important;
                width:92px !important;
                min-width:92px !important;
                max-width:92px !important;
                height:50px !important;
                min-height:50px !important;
                padding:0 8px !important;
                font-size:0 !important;
                line-height:1 !important;
                gap:4px !important;
                border-radius:17px !important;
                z-index:98 !important;
                white-space:nowrap !important;
                text-align:center !important;
            }

            .past-orders-fab:hover{
                transform:translateX(-50%) !important;
            }

            .past-orders-fab .bill-jump-icon{
                font-size:16px !important;
                margin:0 !important;
                flex:0 0 auto !important;
            }

            .past-orders-fab span:not(.bill-jump-icon){
                display:none !important;
            }

            .past-orders-fab::after{
                content:"Past Order";
                display:inline-block;
                font-size:11px;
                font-weight:1000;
                line-height:1;
            }

            .bill-jump-fab .bill-jump-count{
                min-width:22px !important;
                height:22px !important;
                font-size:11px !important;
            }

            body{
                padding-bottom:88px !important;
            }
        }

        @media (max-width:360px){
            .bill-jump-fab:not(.bill-place-order-fab):not(.past-orders-fab){
                width:96px !important;
                min-width:96px !important;
                max-width:96px !important;
                font-size:11px !important;
            }

            .bill-place-order-fab{
                width:132px !important;
                min-width:132px !important;
                max-width:132px !important;
                font-size:9.8px !important;
            }

            .past-orders-fab{
                width:86px !important;
                min-width:86px !important;
                max-width:86px !important;
            }

            .past-orders-fab::after{
                font-size:10px !important;
            }
        }


        /* V88 MOBILE FINAL:
           Past Order is same size as Bill/Cart button and moved slightly right,
           so bottom buttons look equal and balanced on mobile. */
        @media (max-width:640px){
            .past-orders-fab{
                left:53% !important;
                right:auto !important;
                bottom:10px !important;
                transform:translateX(-50%) !important;
                width:104px !important;
                min-width:104px !important;
                max-width:104px !important;
                height:50px !important;
                min-height:50px !important;
                padding:0 8px !important;
                font-size:0 !important;
                border-radius:17px !important;
                z-index:98 !important;
            }

            .past-orders-fab:hover{
                transform:translateX(-50%) !important;
            }

            .past-orders-fab .bill-jump-icon{
                font-size:17px !important;
                flex:0 0 auto !important;
            }

            .past-orders-fab span:not(.bill-jump-icon){
                display:none !important;
            }

            .past-orders-fab::after{
                content:"Past Order" !important;
                display:inline-block !important;
                font-size:11px !important;
                font-weight:1000 !important;
                line-height:1.05 !important;
            }
        }

        @media (max-width:360px){
            .past-orders-fab{
                left:53% !important;
                width:96px !important;
                min-width:96px !important;
                max-width:96px !important;
            }

            .past-orders-fab::after{
                font-size:10px !important;
            }
        }


        .gst-tax-open-btn{
            width:100%;
            border:0;
            border-radius:16px;
            min-height:46px;
            margin:10px 0;
            background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed);
            color:#fff;
            font-weight:1000;
            cursor:pointer;
            box-shadow:0 14px 30px rgba(37,99,235,.20);
        }
        .gst-tax-modal-backdrop{
            position:fixed;
            inset:0;
            z-index:260;
            display:none;
            align-items:center;
            justify-content:center;
            padding:18px;
            background:rgba(15,23,42,.62);
            backdrop-filter:blur(8px);
        }
        .gst-tax-modal-backdrop.open{display:flex}
        .gst-tax-modal-card{
            width:100%;
            max-width:680px;
            max-height:92vh;
            overflow:auto;
            background:#fff;
            border-radius:26px;
            box-shadow:0 30px 90px rgba(15,23,42,.32);
        }
        .gst-tax-modal-head{
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:12px;
            padding:16px 18px;
            color:#fff;
            background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed);
        }
        .gst-tax-modal-head h3{margin:0;font-size:21px}
        .gst-tax-modal-head button{
            border:0;
            min-height:38px;
            border-radius:13px;
            padding:0 12px;
            color:#fff;
            background:rgba(255,255,255,.16);
            font-weight:1000;
            cursor:pointer;
        }
        .gst-tax-modal-body{padding:16px}
        .gst-tax-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
        .gst-tax-grid label{display:block;font-size:12px;font-weight:1000;color:#334155}
        .gst-tax-grid input,.gst-tax-grid select{
            width:100%;
            min-height:44px;
            border:1px solid #cbd5e1;
            border-radius:13px;
            padding:0 11px;
            margin-top:5px;
            font-weight:900;
        }
        .customer-live-list{
            display:grid;
            gap:10px;
            margin-top:12px;
            max-height:360px;
            overflow:auto;
            padding-right:4px;
        }
        .customer-live-card{
            width:100%;
            border:1px solid #bfdbfe;
            background:linear-gradient(135deg,#ffffff,#f8fbff);
            border-radius:18px;
            padding:14px;
            text-align:left;
            cursor:pointer;
            font-weight:850;
            box-shadow:0 10px 24px rgba(37,99,235,.08);
        }
        .customer-live-card:hover{background:#eff6ff;transform:translateY(-1px)}
        .customer-live-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:8px}
        .customer-live-name{font-size:16px;font-weight:1000;color:#0f172a;line-height:1.2}
        .customer-live-best{display:inline-flex;border-radius:999px;background:#dcfce7;color:#166534;padding:5px 8px;font-size:10px;font-weight:1000;white-space:nowrap}
        .customer-live-line{display:block;color:#334155;margin-top:5px;font-size:13px;font-weight:850;line-height:1.35;word-break:break-word}
        .customer-live-card small{display:block;color:#64748b;margin-top:5px;font-weight:800;line-height:1.35;word-break:break-word}
        @media(max-width:640px){
            .gst-tax-grid{grid-template-columns:1fr}
            .gst-tax-modal-backdrop{align-items:flex-start;padding:10px}
            .gst-tax-modal-card{max-height:94vh;border-radius:22px}
        }


/* v161 GST/TAX + payment controls clean placement */
.bill-gst-meta-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    margin:12px 0 10px;
}
.bill-gst-meta-grid label{
    display:block;
    font-size:12px;
    font-weight:1000;
    color:#334155;
}
.bill-gst-meta-grid select{
    margin-top:5px;
    width:100%;
    min-height:42px;
    border:1px solid #cbd5e1;
    border-radius:13px;
    padding:0 11px;
    background:#fff;
    font:inherit;
    font-weight:850;
}
.gst-tax-open-btn{
    width:100%;
    justify-content:center;
}
@media(max-width:680px){
    .bill-gst-meta-grid{grid-template-columns:1fr}
}


/* v180 clear bill button in cart header blue area */
.cart-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.cart-top-title{
    min-width:0;
}
.cart-top-clear-btn{
    border:1px solid rgba(255,255,255,.28);
    min-height:40px;
    border-radius:15px;
    padding:0 12px;
    color:#fff;
    background:
        radial-gradient(circle at 30% 20%,rgba(255,255,255,.24),transparent 34%),
        linear-gradient(135deg,#ef4444,#f97316);
    font-weight:1000;
    font-size:12px;
    cursor:pointer;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    box-shadow:0 12px 26px rgba(239,68,68,.25);
    white-space:nowrap;
}
.cart-top-clear-btn span{
    width:22px;
    height:22px;
    border-radius:999px;
    display:inline-grid;
    place-items:center;
    background:rgba(255,255,255,.18);
    font-size:15px;
    line-height:1;
}
.cart-top-clear-btn:active{transform:scale(.96)}
@media(max-width:640px){
    .cart-top{
        align-items:flex-start;
    }
    .cart-top-clear-btn{
        min-height:36px;
        padding:0 10px;
        border-radius:13px;
        font-size:11px;
    }
    .cart-top-clear-btn span{
        width:20px;
        height:20px;
        font-size:14px;
    }
}


.gps-manual-btn{
    border:0;
    border-radius:999px;
    padding:7px 10px;
    margin-top:6px;
    background:#fee2e2;
    color:#991b1b;
    font-weight:1000;
    cursor:pointer;
}
.gps-modal-backdrop{
    position:fixed;
    inset:0;
    z-index:600;
    display:none;
    align-items:center;
    justify-content:center;
    padding:16px;
    background:rgba(15,23,42,.62);
    backdrop-filter:blur(8px);
}
.gps-modal-backdrop.open{display:flex}
.gps-modal-card{
    width:100%;
    max-width:420px;
    border-radius:24px;
    background:#fff;
    box-shadow:0 30px 90px rgba(15,23,42,.34);
    overflow:hidden;
}
.gps-modal-head{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding:15px;
    color:#fff;
    background:linear-gradient(135deg,#991b1b,#dc2626,#f97316);
}
.gps-modal-head h3{margin:0;font-size:20px}
.gps-modal-head button{border:0;border-radius:13px;background:rgba(255,255,255,.18);color:#fff;font-weight:1000;padding:7px 10px;cursor:pointer}
.gps-modal-body{padding:15px;display:grid;gap:10px}
.gps-modal-body label{display:grid;gap:5px;font-size:12px;text-transform:uppercase;font-weight:1000;color:#64748b}
.gps-modal-body input{min-height:44px;border:1px solid #cbd5e1;border-radius:14px;padding:0 11px;font-weight:850}
.gps-save-btn{border:0;border-radius:15px;min-height:46px;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);font-weight:1000;cursor:pointer}


.customer-loaded-card{
    width:100%;
    border:0;
    text-align:left;
    padding:12px;
    border-radius:14px;
    background:#ecfdf5;
    color:#065f46;
    font-weight:800;
    cursor:pointer;
}
.customer-loaded-card small{
    display:block;
    margin-top:5px;
    color:#047857;
    font-weight:900;
}
.customer-edit-modal-backdrop{
    position:fixed;
    inset:0;
    z-index:700;
    display:none;
    align-items:center;
    justify-content:center;
    padding:16px;
    background:rgba(15,23,42,.62);
    backdrop-filter:blur(8px);
}
.customer-edit-modal-backdrop.open{display:flex}
.customer-edit-modal-card{
    width:100%;
    max-width:520px;
    max-height:92vh;
    overflow:hidden;
    border-radius:26px;
    background:#fff;
    box-shadow:0 30px 90px rgba(15,23,42,.34);
    display:flex;
    flex-direction:column;
}
.customer-edit-modal-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    padding:16px;
    color:#fff;
    background:linear-gradient(135deg,#0f172a,#2563eb,#16a34a);
}
.customer-edit-modal-head h3{margin:0;font-size:21px}
.customer-edit-modal-head p{margin:4px 0 0;color:rgba(255,255,255,.82);font-weight:850;font-size:13px}
.customer-edit-modal-head button{border:0;border-radius:13px;background:rgba(255,255,255,.18);color:#fff;font-weight:1000;padding:7px 10px;cursor:pointer}
.customer-edit-modal-body{
    padding:15px;
    overflow:auto;
    display:grid;
    gap:10px;
}
.customer-edit-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
}
.customer-edit-modal-body label{
    display:grid;
    gap:5px;
    color:#64748b;
    font-size:12px;
    text-transform:uppercase;
    font-weight:1000;
}
.customer-edit-modal-body input,
.customer-edit-modal-body textarea{
    width:100%;
    min-height:44px;
    border:1px solid #cbd5e1;
    border-radius:14px;
    padding:9px 11px;
    font-weight:850;
    background:#fff;
}
.customer-edit-modal-body textarea{min-height:82px;resize:vertical}
.customer-edit-full{grid-column:1/-1}
.customer-edit-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:4px;
}
.customer-edit-use-btn,.customer-edit-save-btn{
    border:0;
    min-height:47px;
    border-radius:15px;
    font-weight:1000;
    cursor:pointer;
}
.customer-edit-use-btn{background:#eef2ff;color:#3730a3}
.customer-edit-save-btn{color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);box-shadow:0 14px 30px rgba(34,197,94,.18)}
.delivery-customer-modal-card{max-width:760px;width:min(760px,100%)}
.delivery-customer-search{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}
.delivery-customer-search input{flex:1;min-width:230px;border:1px solid #d1d5db;border-radius:15px;padding:13px 14px;font:inherit;font-weight:850;background:#fff}
.delivery-customer-search button{border:0;border-radius:15px;padding:0 18px;min-height:48px;font-weight:1000;cursor:pointer;background:#2563eb;color:#fff}
.delivery-customer-help{margin:0 0 12px;color:#64748b;font-weight:800;line-height:1.45}
.delivery-customer-bottom{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:14px}
.delivery-customer-bottom button{border:0;border-radius:15px;padding:13px 16px;font-weight:1000;cursor:pointer}
.delivery-customer-cancel{background:#f1f5f9;color:#0f172a}
.delivery-customer-ok{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;box-shadow:0 14px 30px rgba(34,197,94,.20)}
.delivery-customer-notice{margin-top:10px;border-radius:16px;background:#fff7ed;color:#9a3412;border:1px solid #fed7aa;padding:11px 12px;font-weight:850;line-height:1.45}
@media(max-width:640px){
    .customer-edit-modal-backdrop{align-items:flex-start;padding:10px}
    .customer-edit-grid,.customer-edit-actions{grid-template-columns:1fr}
    .customer-edit-modal-card{max-height:94vh;border-radius:22px}
}



.customer-loaded-card{
    width:100%;
    text-align:left;
    padding:13px;
    border-radius:16px;
    background:#ecfdf5;
    color:#064e3b;
    font-weight:850;
    border:1px solid #bbf7d0;
    box-shadow:0 10px 24px rgba(22,163,74,.10);
}
.customer-loaded-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:7px;
}
.customer-loaded-title strong{
    font-size:15px;
    color:#065f46;
}
.customer-loaded-line{
    display:block;
    margin-top:5px;
    line-height:1.35;
}
.customer-loaded-divider{
    border:0;
    border-top:1px dashed #86efac;
    margin:9px 0;
}
.customer-loaded-actions{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin-top:10px;
}
.customer-edit-chip-btn,
.customer-gps-link{
    border:0;
    border-radius:999px;
    padding:8px 11px;
    font-weight:1000;
    cursor:pointer;
    text-decoration:none;
    display:inline-flex;
    align-items:center;
    gap:5px;
    font-size:12px;
}
.customer-edit-chip-btn{
    background:linear-gradient(135deg,#0f172a,#2563eb);
    color:#fff;
}
.customer-gps-link{
    background:#eff6ff;
    color:#1d4ed8;
    border:1px solid #bfdbfe;
}
.customer-gps-missing-btn{
    background:linear-gradient(135deg,#dc2626,#ef4444,#f97316)!important;
    color:#fff!important;
}


/* V91: Customer Required popup search results - clean readable cards */
.delivery-customer-modal-card{
    max-width:820px!important;
    width:min(820px,calc(100vw - 24px))!important;
    max-height:92vh!important;
}
.delivery-customer-modal-card .customer-edit-modal-body{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    overflow:hidden!important;
}
.delivery-customer-modal-card .delivery-customer-search{
    flex:0 0 auto!important;
}
#customerResult{
    flex:0 0 auto!important;
    margin-top:0!important;
}
#customerLiveResults.customer-live-list{
    flex:1 1 auto!important;
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    max-height:42vh!important;
    min-height:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:4px 8px 8px 0!important;
    margin-top:0!important;
    scrollbar-width:thin;
}
#customerLiveResults .customer-live-card{
    flex:0 0 auto!important;
    display:block!important;
    width:100%!important;
    min-height:112px!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:15px!important;
    border-radius:18px!important;
    line-height:1.35!important;
    white-space:normal!important;
}
#customerLiveResults .customer-live-top{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:12px!important;
    margin-bottom:8px!important;
}
#customerLiveResults .customer-live-name{
    display:block!important;
    flex:1 1 auto!important;
    min-width:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
}
#customerLiveResults .customer-live-best{
    flex:0 0 auto!important;
}
#customerLiveResults .customer-live-line,
#customerLiveResults .customer-live-card small{
    display:block!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    max-height:none!important;
}
.delivery-customer-bottom{
    flex:0 0 auto!important;
    margin-top:4px!important;
    padding-top:10px!important;
    border-top:1px solid #e5e7eb!important;
    background:#fff!important;
}
@media(max-width:640px){
    .delivery-customer-modal-card{
        width:100%!important;
        max-height:95vh!important;
    }
    #customerLiveResults.customer-live-list{
        max-height:40vh!important;
        padding-right:2px!important;
    }
    #customerLiveResults .customer-live-card{
        min-height:120px!important;
        padding:13px!important;
    }
}



/* V99 stable clean cart layout: no overlap, screenshot-friendly, mobile floating cart */
.bill-cart-backdrop{display:none;position:fixed;inset:0;background:rgba(15,23,42,.62);backdrop-filter:blur(7px);z-index:220}
.cart-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 16px!important}
.cart-top h3{font-size:20px!important;margin:0!important}.cart-top p,.cart-top-clear-btn{display:none!important}.cart-discount-top{display:flex!important}
.cart-close-btn{display:none;border:0;width:34px;height:34px;border-radius:13px;background:rgba(255,255,255,.18);color:#fff;font-size:23px;font-weight:1000;cursor:pointer;align-items:center;justify-content:center}
.cart-body{padding:12px!important;display:flex!important;flex-direction:column!important;gap:10px!important}
.cart-items{max-height:none!important;overflow:visible!important;padding-right:0!important;display:grid!important;gap:8px!important}
.clean-empty-cart{min-height:48px!important;padding:12px!important;border-radius:15px!important;font-size:12px!important}
.clean-cart-line{margin:0!important;padding:10px 11px!important;border-radius:18px!important;background:linear-gradient(135deg,#ffffff,#f8fbff)!important;border:1px solid #dbeafe!important;box-shadow:0 9px 20px rgba(15,23,42,.055)!important}
.clean-cart-top{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:start!important;border-bottom:1px dashed #dbeafe!important;padding-bottom:8px!important}
.clean-cart-title-side{min-width:0!important;display:grid!important;grid-template-columns:22px minmax(0,1fr)!important;gap:7px!important;align-items:start!important}
.clean-remove-btn{width:20px!important;height:20px!important;min-width:20px!important;border:0!important;border-radius:8px!important;background:#fee2e2!important;color:#991b1b!important;font-size:14px!important;font-weight:1000!important;line-height:1!important;padding:0!important;margin-top:1px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:none!important}
.clean-cart-name-wrap{min-width:0!important;overflow:hidden!important}.clean-cart-name{font-size:14px!important;font-weight:1000!important;line-height:1.17!important;color:#0f172a!important;white-space:normal!important;overflow-wrap:anywhere!important;word-break:normal!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important}
.clean-cart-variant{font-size:10.5px!important;line-height:1.15!important;color:#64748b!important;font-weight:850!important;margin-top:2px!important;white-space:normal!important;overflow-wrap:anywhere!important}
.clean-cart-qty{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:4px!important;flex-wrap:nowrap!important;margin:0!important;white-space:nowrap!important}.clean-cart-qty .qty-btn{width:23px!important;height:23px!important;min-width:23px!important;border-radius:8px!important;font-size:13px!important;line-height:1!important;padding:0!important}.clean-cart-qty .qty-input{width:32px!important;height:23px!important;min-height:23px!important;border-radius:8px!important;font-size:11px!important;font-weight:1000!important;padding:0 2px!important;text-align:center!important}
.clean-cart-price-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;padding-top:8px!important}.clean-unit-price{display:flex!important;align-items:center!important;gap:7px!important;justify-content:flex-start!important;min-width:0!important}.clean-unit-price span{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.35px!important;color:#64748b!important;font-weight:1000!important}.clean-unit-price strong{font-size:13px!important;color:#0f172a!important;white-space:nowrap!important}.clean-total-price{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;white-space:nowrap!important}.clean-total-price span{font-size:10px!important;text-transform:uppercase!important;letter-spacing:.35px!important;color:#64748b!important;font-weight:1000!important}.clean-total-price strong{font-size:14px!important;color:#0f172a!important;font-weight:1000!important}
.cart-summary-box{margin-top:2px!important;padding:12px!important;border-radius:18px!important}.cart-summary-box .summary-row{margin-bottom:7px!important}.cart-summary-box .summary-row.total{font-size:18px!important;padding-top:8px!important}
.clean-delivery-box{margin-top:0!important;padding:10px!important;border:1px solid #dbeafe!important;border-radius:16px!important;background:#f8fbff!important}.clean-delivery-label{display:block!important;margin:0 0 7px!important;font-size:12px!important;font-weight:1000!important;color:#0f172a!important}.clean-delivery-box .delivery-input{min-height:40px!important;padding:0 12px!important;border-radius:13px!important;font-size:14px!important;font-weight:900!important}
.compact-order-type-wrap{margin-top:0!important;padding:10px!important;border-radius:18px!important}.cart-small-title{font-size:12px!important;font-weight:1000!important;color:#0f172a!important;margin-bottom:8px!important}.order-icon-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.order-icon-option{min-height:52px!important;padding:0!important;border:0!important;border-radius:17px!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;box-shadow:0 8px 18px rgba(15,23,42,.06)!important;cursor:pointer!important;position:relative!important}.order-icon-option input{position:absolute!important;opacity:0!important;pointer-events:none!important}.order-type-mark{width:42px!important;height:42px!important;border-radius:15px!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#fff!important;font-weight:1000!important;font-size:14px!important;letter-spacing:.2px!important;box-shadow:0 10px 20px rgba(15,23,42,.16)!important}.icon-delivery .order-type-mark{background:linear-gradient(135deg,#f97316,#dc2626)!important}.icon-takeaway .order-type-mark{background:linear-gradient(135deg,#2563eb,#7c3aed)!important}.icon-dinein .order-type-mark{background:linear-gradient(135deg,#16a34a,#0f766e)!important}.order-icon-option:has(input:checked){outline:3px solid rgba(37,99,235,.25)!important;background:#eff6ff!important;transform:translateY(-1px)!important}
.compact-meta-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin-top:10px!important}.compact-meta-grid label{font-size:11px!important;font-weight:1000!important;color:#475569!important}.compact-meta-grid select{min-height:38px!important;border-radius:12px!important;padding:0 9px!important;font-size:12px!important;font-weight:900!important}
.clean-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:0!important}.clean-action-grid .action-btn{min-height:40px!important;border-radius:13px!important;font-size:12px!important;padding:0 8px!important;font-weight:1000!important}
@media(max-width:980px){body.cart-floating-open{overflow:hidden!important}body.cart-floating-open .bill-cart-backdrop{display:block!important}body.cart-floating-open .cart-card{position:fixed!important;left:10px!important;right:10px!important;top:14px!important;bottom:14px!important;z-index:230!important;width:auto!important;max-width:460px!important;margin:0 auto!important;overflow-y:auto!important;overflow-x:hidden!important;border-radius:24px!important;box-shadow:0 30px 90px rgba(15,23,42,.36)!important}body.cart-floating-open .cart-close-btn{display:flex!important}}
@media(min-width:981px){.cart-close-btn{display:none!important}}
@media(max-width:380px){.clean-cart-line{padding:9px!important}.clean-cart-top{gap:7px!important}.clean-cart-title-side{grid-template-columns:20px minmax(0,1fr)!important;gap:6px!important}.clean-cart-name{font-size:13px!important}.clean-cart-qty .qty-btn{width:22px!important;height:22px!important;min-width:22px!important}.clean-cart-qty .qty-input{width:30px!important;height:22px!important}.clean-unit-price,.clean-total-price{gap:5px!important}.clean-unit-price span,.clean-total-price span{font-size:9px!important}.clean-unit-price strong{font-size:12px!important}.clean-total-price strong{font-size:13px!important}.order-type-mark{width:38px!important;height:38px!important;border-radius:14px!important;font-size:13px!important}}



/* V241 POS/Dine-in cart global discount editor */
.cart-discount-top{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  background:rgba(255,255,255,.18)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:14px!important;
  padding:6px 8px!important;
  color:#fff!important;
  min-width:0!important;
}
.cart-discount-top label{
  font-size:10px!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  letter-spacing:.25px!important;
  white-space:nowrap!important;
}
.cart-discount-top input{
  width:62px!important;
  height:30px!important;
  border:0!important;
  border-radius:10px!important;
  padding:0 6px!important;
  text-align:center!important;
  font-size:13px!important;
  font-weight:1000!important;
  color:#0f172a!important;
  background:#fff!important;
  outline:none!important;
}
.cart-discount-top span{
  min-width:18px!important;
  font-size:11px!important;
  font-weight:1000!important;
  color:#dcfce7!important;
}
@media(max-width:520px){
  .cart-top{
    display:grid!important;
    grid-template-columns:auto minmax(126px,1fr) 34px!important;
    align-items:center!important;
    gap:8px!important;
    padding:13px 14px!important;
  }
  .cart-top h3{
    grid-column:1!important;
    justify-self:start!important;
    max-width:82px!important;
    line-height:1.08!important;
  }
  .cart-close-btn{
    grid-column:3!important;
    justify-self:end!important;
  }
  .cart-discount-top{
    grid-column:2!important;
    order:0!important;
    width:auto!important;
    min-width:126px!important;
    max-width:166px!important;
    justify-self:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:5px 6px!important;
    gap:5px!important;
    border-radius:14px!important;
  }
  .cart-discount-top label{
    font-size:9px!important;
    letter-spacing:.08px!important;
  }
  .cart-discount-top input{
    width:48px!important;
    height:28px!important;
    border-radius:10px!important;
    font-size:12px!important;
    padding:0 4px!important;
  }
  .cart-discount-top span{
    min-width:0!important;
    width:auto!important;
    font-size:9px!important;
  }
}
@media(max-width:360px){
  .cart-top{grid-template-columns:auto minmax(112px,1fr) 32px!important;gap:6px!important;padding:12px!important}
  .cart-top h3{max-width:72px!important;font-size:18px!important}
  .cart-close-btn{width:32px!important;height:32px!important;border-radius:12px!important}
  .cart-discount-top{min-width:112px!important;max-width:145px!important;padding:5px!important;gap:4px!important}
  .cart-discount-top label{font-size:8px!important;letter-spacing:0!important}
  .cart-discount-top input{width:42px!important;height:26px!important;font-size:11px!important}
}

/* V100 FINAL: Cart item price row fixed cleanly
   Top row: remove + item name on left, qty controls on right.
   Second row: Unit Price left, Total Price right. No overlap. */
.clean-cart-line{
    padding:10px 11px!important;
    border-radius:18px!important;
    background:linear-gradient(135deg,#ffffff,#f8fbff)!important;
    border:1px solid #dbeafe!important;
    box-shadow:0 8px 18px rgba(15,23,42,.055)!important;
}
.clean-cart-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    column-gap:8px!important;
    row-gap:6px!important;
    border-bottom:0!important;
    padding-bottom:0!important;
}
.clean-cart-title-side{
    display:grid!important;
    grid-template-columns:20px minmax(0,1fr)!important;
    gap:7px!important;
    align-items:start!important;
    min-width:0!important;
}
.clean-remove-btn{
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    border-radius:7px!important;
    font-size:13px!important;
    margin-top:1px!important;
    line-height:1!important;
}
.clean-cart-name-wrap{
    min-width:0!important;
    overflow:visible!important;
}
.clean-cart-name{
    font-size:14px!important;
    line-height:1.18!important;
    font-weight:1000!important;
    color:#0f172a!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    display:block!important;
    -webkit-line-clamp:unset!important;
    -webkit-box-orient:unset!important;
    text-overflow:clip!important;
}
.clean-cart-variant{
    font-size:10.5px!important;
    line-height:1.15!important;
    margin-top:2px!important;
}
.clean-cart-qty{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:4px!important;
    margin:0!important;
    align-self:start!important;
    white-space:nowrap!important;
}
.clean-cart-qty .qty-btn{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
    border-radius:8px!important;
    font-size:13px!important;
    padding:0!important;
}
.clean-cart-qty .qty-input{
    width:34px!important;
    height:23px!important;
    min-height:23px!important;
    border-radius:8px!important;
    font-size:11px!important;
    font-weight:1000!important;
    padding:0 2px!important;
}
.clean-cart-price-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:10px!important;
    align-items:center!important;
    margin-top:8px!important;
    padding-top:8px!important;
    border-top:1px dashed #dbeafe!important;
    clear:both!important;
}
.clean-unit-price,
.clean-total-price{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    gap:5px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
}
.clean-unit-price{
    justify-content:flex-start!important;
}
.clean-total-price{
    justify-content:flex-end!important;
    text-align:right!important;
}
.clean-unit-price span,
.clean-total-price span{
    flex:0 1 auto!important;
    font-size:9.5px!important;
    line-height:1!important;
    text-transform:uppercase!important;
    letter-spacing:.25px!important;
    color:#64748b!important;
    font-weight:1000!important;
    white-space:nowrap!important;
}
.clean-unit-price strong,
.clean-total-price strong{
    flex:0 0 auto!important;
    font-size:13px!important;
    line-height:1!important;
    color:#0f172a!important;
    font-weight:1000!important;
    white-space:nowrap!important;
}
.clean-total-price strong{
    font-size:14px!important;
}
@media(max-width:380px){
    .clean-cart-line{padding:9px!important}
    .clean-cart-title-side{grid-template-columns:18px minmax(0,1fr)!important;gap:6px!important}
    .clean-cart-name{font-size:13px!important;line-height:1.16!important}
    .clean-cart-qty .qty-btn{width:21px!important;height:21px!important;min-width:21px!important}
    .clean-cart-qty .qty-input{width:30px!important;height:21px!important;min-height:21px!important}
    .clean-cart-price-row{gap:6px!important;margin-top:7px!important;padding-top:7px!important}
    .clean-unit-price span,.clean-total-price span{font-size:8.5px!important;letter-spacing:0!important}
    .clean-unit-price strong,.clean-total-price strong{font-size:12px!important}
}



/* V101 FINAL: Qty controls pushed to right side, item name gets full left space. */
.clean-cart-top{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
    border-bottom:0!important;
    padding-bottom:0!important;
}
.clean-cart-title-side{
    display:flex!important;
    align-items:flex-start!important;
    gap:7px!important;
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:calc(100% - 108px)!important;
}
.clean-remove-btn{
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    margin-top:1px!important;
}
.clean-cart-name-wrap{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
}
.clean-cart-name{
    display:block!important;
    width:100%!important;
    font-size:14px!important;
    line-height:1.18!important;
    white-space:normal!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto!important;
}
.clean-cart-qty{
    flex:0 0 auto!important;
    margin-left:auto!important;
    justify-content:flex-end!important;
    align-self:flex-start!important;
    transform:translateX(0)!important;
}
.clean-cart-price-row{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    gap:10px!important;
    margin-top:8px!important;
    padding-top:8px!important;
    border-top:1px dashed #dbeafe!important;
}
.clean-unit-price{
    flex:1 1 auto!important;
    justify-content:flex-start!important;
    text-align:left!important;
}
.clean-total-price{
    flex:0 0 auto!important;
    justify-content:flex-end!important;
    text-align:right!important;
}
@media(max-width:380px){
    .clean-cart-top{gap:8px!important}
    .clean-cart-title-side{max-width:calc(100% - 100px)!important;gap:6px!important}
    .clean-cart-name{font-size:13px!important;line-height:1.16!important}
    .clean-cart-qty .qty-btn{width:21px!important;height:21px!important;min-width:21px!important}
    .clean-cart-qty .qty-input{width:30px!important;height:21px!important;min-height:21px!important}
}


/* V102 FINAL OVERRIDE: true 2-row cart item layout
   Row 1: remove + item name on the far left, qty controls on the far right.
   Row 2: Unit Price at the far left, Total Price at the far right. */
.clean-cart-line.cart-line,
.clean-cart-line{
    display:block!important;
    width:100%!important;
    padding:10px 12px!important;
    margin:0!important;
    overflow:visible!important;
}
.clean-cart-top{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:start!important;
    gap:10px!important;
    width:100%!important;
    min-width:0!important;
}
.clean-cart-title-side{
    display:grid!important;
    grid-template-columns:20px minmax(0,1fr)!important;
    align-items:start!important;
    gap:7px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
}
.clean-remove-btn{
    grid-column:1!important;
    grid-row:1!important;
    width:18px!important;
    height:18px!important;
    min-width:18px!important;
    margin-top:1px!important;
}
.clean-cart-name-wrap{
    grid-column:2!important;
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    overflow:visible!important;
}
.clean-cart-name{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    line-height:1.18!important;
    text-overflow:clip!important;
    -webkit-line-clamp:unset!important;
}
.clean-cart-qty{
    justify-self:end!important;
    align-self:start!important;
    display:flex!important;
    flex:none!important;
    align-items:center!important;
    justify-content:flex-end!important;
    gap:4px!important;
    margin:0!important;
    margin-left:0!important;
    width:auto!important;
    min-width:max-content!important;
    white-space:nowrap!important;
    transform:none!important;
}
.clean-cart-qty .qty-btn{
    width:23px!important;
    height:23px!important;
    min-width:23px!important;
    border-radius:8px!important;
    padding:0!important;
    line-height:1!important;
}
.clean-cart-qty .qty-input{
    width:34px!important;
    height:23px!important;
    min-height:23px!important;
    padding:0 2px!important;
    text-align:center!important;
}
.clean-cart-price-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    margin-top:8px!important;
    padding-top:8px!important;
    border-top:1px dashed #dbeafe!important;
}
.clean-unit-price{
    justify-self:start!important;
    justify-content:flex-start!important;
    text-align:left!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
}
.clean-total-price{
    justify-self:end!important;
    justify-content:flex-end!important;
    text-align:right!important;
    min-width:max-content!important;
    overflow:visible!important;
}
.clean-unit-price span,
.clean-total-price span,
.clean-unit-price strong,
.clean-total-price strong{
    white-space:nowrap!important;
}
@media(max-width:380px){
    .clean-cart-top{grid-template-columns:minmax(0,1fr) max-content!important;gap:8px!important}
    .clean-cart-title-side{grid-template-columns:18px minmax(0,1fr)!important;gap:6px!important}
    .clean-cart-name{font-size:13px!important}
    .clean-cart-qty .qty-btn{width:21px!important;height:21px!important;min-width:21px!important}
    .clean-cart-qty .qty-input{width:30px!important;height:21px!important;min-height:21px!important}
    .clean-cart-price-row{grid-template-columns:minmax(0,1fr) max-content!important;gap:6px!important}
}
