/* ==== inline-block-1 (extracted from bill.php inline <style>) ==== */
/* Login screen must never show page modals, even if an old cached HTML block or helper script leaves them in the page. */
            #gpsLocationModal,
            #customerEditModal,
            #deliveryCustomerModal,
            .gps-modal-backdrop,
            .customer-edit-modal-backdrop{
                display:none !important;
                visibility:hidden !important;
                opacity:0 !important;
                pointer-events:none !important;
            }
        
/* Final customer load modal text cleanup */
#deliveryCustomerTitle{margin:0!important;}
#deliveryCustomerSubtitle,
.delivery-customer-subtitle,
.delivery-required-subtitle{
    display:none!important;
}


/* Screenshot capture should stay normal size even on desktop zoomed UI */
#imageCaptureArea,
#imageCaptureArea .receipt-capture{
    zoom:1!important;
    transform:none!important;
}


        .item-card.card-add-enabled{cursor:pointer;}
        .item-card.card-add-enabled:hover{border-color:#93c5fd;box-shadow:0 12px 28px rgba(37,99,235,.10);}
        .item-card.card-added-flash{animation:menuCardAddedFlash .26s ease;}
        @keyframes menuCardAddedFlash{
            0%{transform:scale(1);}
            45%{transform:scale(.985);box-shadow:0 0 0 3px rgba(34,197,94,.20);border-color:#22c55e;}
            100%{transform:scale(1);}
        }

/* ==== qd-all-page-item-image-contain-fix (extracted from bill.php inline <style>) ==== */
/* Fixed responsive image frames: preserve the full natural image without cropping or stretching. */
img.item-image,
img.inv-thumb,
.bulk-match-card img,
img.item-thumb {
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff !important;
    padding: 4px !important;
    box-sizing: border-box !important;
}
@media (max-width: 640px) {
    img.item-image,
    img.inv-thumb,
    .bulk-match-card img,
    img.item-thumb {
        padding: 3px !important;
    }
}

/* ==== food-final-image-contain-fix (extracted from bill.php inline <style>) ==== */
/* Food Edition: always show the complete uploaded item image inside a fixed frame. */
.item-summary-left > img.item-image,
.item-card img.item-image,
img.item-image {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff !important;
    padding: 4px !important;
    box-sizing: border-box !important;
}
@media (max-width: 640px) {
    .item-summary-left > img.item-image,
    .item-card img.item-image,
    img.item-image {
        width: 68px !important;
        height: 68px !important;
        min-width: 68px !important;
        max-width: 68px !important;
        padding: 3px !important;
    }
}

/* ==== restaurant-off-overlay-style (extracted from bill.php inline <style>) ==== */
body.restaurant-off-mode > *:not(.restaurant-off-overlay){filter:grayscale(.15) blur(.4px)!important;opacity:.34!important;pointer-events:none!important;user-select:none!important;}
.restaurant-off-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(248,250,252,.72);backdrop-filter:blur(5px)}
.restaurant-off-card{width:min(460px,100%);border-radius:30px;background:#fff;border:1px solid rgba(220,38,38,.18);box-shadow:0 32px 90px rgba(15,23,42,.32);padding:26px 22px;text-align:center}.restaurant-off-icon{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#dc2626,#f97316);font-size:36px;box-shadow:0 18px 38px rgba(220,38,38,.28)}.restaurant-off-card h2{margin:0;color:#0f172a;font-size:30px;letter-spacing:-.04em}.restaurant-off-card p{margin:10px 0 0;color:#b91c1c;font-size:17px;font-weight:1000}@media(max-width:640px){.restaurant-off-overlay{align-items:center;padding:14px}.restaurant-off-card{border-radius:24px;padding:24px 16px}.restaurant-off-card h2{font-size:25px}.restaurant-off-card p{font-size:15px}}

/* ==== food-alert-readable-clean-fix (extracted from bill.php inline <style>) ==== */
/* Clean readable Accept New Order popup: left-top, full content visible, scroll only when needed */
.food-accept-popups,
.food-accept-popups-bill{
    position:fixed!important;
    left:14px!important;
    right:auto!important;
    top:14px!important;
    bottom:auto!important;
    width:min(500px,calc(100vw - 28px))!important;
    max-height:calc(100dvh - 28px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0 3px 3px 0!important;
    display:grid!important;
    gap:12px!important;
    z-index:10020!important;
    scrollbar-width:thin!important;
    pointer-events:none!important;
}
.food-accept-popup,
.food-accept-popup-bill{
    pointer-events:auto!important;
    width:100%!important;
    max-height:calc(100dvh - 32px)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:22px!important;
    border:1px solid #fed7aa!important;
    background:#fff!important;
    box-shadow:0 24px 70px rgba(15,23,42,.24)!important;
}
.food-accept-head,
.food-accept-head-bill{
    flex:0 0 auto!important;
    padding:12px 14px!important;
}
.food-accept-body,
.food-accept-body-bill{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
    padding:12px!important;
    display:grid!important;
    gap:10px!important;
}
.food-accept-row,
.food-accept-row-bill{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
}
.food-accept-row b,
.food-accept-row-bill b{
    display:block!important;
    font-size:14px!important;
    line-height:1.2!important;
}
.food-accept-row small,
.food-accept-row-bill small{
    white-space:normal!important;
    line-height:1.35!important;
}
.food-accept-items,
.food-accept-items-bill{
    display:grid!important;
    gap:7px!important;
    max-height:min(360px,52vh)!important;
    overflow:auto!important;
    padding-right:2px!important;
}
.food-accept-item,
.food-accept-item-bill{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:flex-start!important;
    gap:10px!important;
    padding:8px 10px!important;
    border-radius:13px!important;
    font-size:12.5px!important;
    line-height:1.35!important;
}
.food-accept-item span,
.food-accept-item-bill span{
    min-width:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    word-break:break-word!important;
    line-height:1.35!important;
}
.food-accept-item b,
.food-accept-item-bill b{
    white-space:nowrap!important;
    font-size:12.5px!important;
    line-height:1.35!important;
}
.food-accept-btn,
.food-accept-btn-bill{
    min-width:92px!important;
}
@media(max-width:640px){
    .food-accept-popups,
    .food-accept-popups-bill{
        left:8px!important;
        right:8px!important;
        top:8px!important;
        width:auto!important;
        max-height:calc(100dvh - 16px)!important;
        gap:10px!important;
    }
    .food-accept-popup,
    .food-accept-popup-bill{
        max-height:calc(100dvh - 18px)!important;
        border-radius:18px!important;
    }
    .food-accept-head,
    .food-accept-head-bill{
        padding:11px 12px!important;
    }
    .food-accept-body,
    .food-accept-body-bill{
        padding:10px!important;
        gap:9px!important;
    }
    .food-accept-row,
    .food-accept-row-bill{
        grid-template-columns:1fr auto!important;
    }
    .food-accept-btn,
    .food-accept-btn-bill{
        width:auto!important;
        min-width:84px!important;
        padding:0 12px!important;
    }
    .food-accept-items,
    .food-accept-items-bill{
        max-height:50vh!important;
    }
}
@media(max-width:380px){
    .food-accept-row,
    .food-accept-row-bill{
        grid-template-columns:1fr!important;
    }
    .food-accept-btn,
    .food-accept-btn-bill{
        width:100%!important;
    }
}

/* ==== all-orders-mobile-and-clean-modify-v311 (extracted from bill.php inline <style>) ==== */
/* v311: keep mobile label as All Orders and make Modify Order clean/useable */
@media (max-width:640px){
    .past-orders-fab{width:132px!important;min-width:132px!important;max-width:132px!important;gap:5px!important;white-space:nowrap!important;}
    .past-orders-fab span:not(.bill-jump-icon){display:inline-flex!important;align-items:center!important;font-size:11px!important;font-weight:1000!important;line-height:1!important;color:#fff!important;}
    .past-orders-fab::after{content:none!important;display:none!important;}
}
.pe311-backdrop{position:fixed!important;inset:0!important;z-index:2147483640!important;display:none!important;align-items:center!important;justify-content:center!important;padding:14px!important;background:rgba(15,23,42,.68)!important;backdrop-filter:blur(8px)!important;box-sizing:border-box!important;}
.pe311-backdrop.open{display:flex!important;}
.pe311-card{width:min(980px,100%)!important;max-height:94vh!important;overflow:hidden!important;background:#fff!important;color:#0f172a!important;border-radius:26px!important;box-shadow:0 34px 110px rgba(15,23,42,.45)!important;display:flex!important;flex-direction:column!important;border:1px solid rgba(255,255,255,.70)!important;}
.pe311-head{padding:16px 18px!important;color:#fff!important;background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed)!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;}
.pe311-head h3{margin:0!important;font-size:21px!important;line-height:1.15!important;}
.pe311-head p{margin:5px 0 0!important;color:rgba(255,255,255,.84)!important;font-size:12px!important;font-weight:850!important;}
.pe311-close{width:42px!important;height:42px!important;min-width:42px!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.18)!important;color:#fff!important;font-size:22px!important;font-weight:1000!important;cursor:pointer!important;display:grid!important;place-items:center!important;}
.pe311-body{padding:14px!important;overflow:auto!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;}
.pe311-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,.82fr)!important;gap:14px!important;align-items:start!important;}
.pe311-panel{border:1px solid #e5e7eb!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important;overflow:hidden!important;}
.pe311-panel-head{padding:12px 14px!important;background:#f8fafc!important;border-bottom:1px solid #e5e7eb!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
.pe311-panel-head h4{margin:0!important;font-size:15px!important;color:#0f172a!important;}
.pe311-panel-body{padding:12px!important;display:grid!important;gap:10px!important;max-height:52vh!important;overflow:auto!important;}
.pe311-cart-row,.pe311-search-row{border:1px solid #dbe4f0!important;border-radius:16px!important;background:#fff!important;padding:11px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;}
.pe311-cart-row strong,.pe311-search-row strong{display:block!important;color:#0f172a!important;font-size:14px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.pe311-cart-row small,.pe311-search-row small{display:block!important;margin-top:3px!important;color:#64748b!important;font-size:12px!important;font-weight:850!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.pe311-qty{display:flex!important;align-items:center!important;gap:5px!important;border:1px solid #dbe4f0!important;border-radius:999px!important;background:#f8fafc!important;padding:3px!important;white-space:nowrap!important;}
.pe311-qty button{width:32px!important;height:32px!important;border:0!important;border-radius:999px!important;background:#111827!important;color:#fff!important;font-size:18px!important;font-weight:1000!important;cursor:pointer!important;}
.pe311-qty span{min-width:28px!important;text-align:center!important;font-weight:1000!important;color:#0f172a!important;}
.pe311-total{padding:12px 14px!important;border-top:1px solid #e5e7eb!important;display:flex!important;justify-content:space-between!important;gap:10px!important;background:#f8fafc!important;font-weight:1000!important;}
.pe311-search{width:100%!important;border:1px solid #cbd5e1!important;border-radius:15px!important;padding:12px 13px!important;font:inherit!important;font-weight:850!important;outline:none!important;}
.pe311-add{border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important;font-weight:1000!important;min-height:38px!important;padding:0 12px!important;cursor:pointer!important;white-space:nowrap!important;}
.pe311-remove{background:#fee2e2!important;color:#991b1b!important;border:0!important;border-radius:999px!important;width:32px!important;height:32px!important;font-weight:1000!important;cursor:pointer!important;}
.pe311-custom{border-top:1px dashed #cbd5e1!important;margin-top:10px!important;padding-top:10px!important;display:grid!important;gap:8px!important;}
.pe311-custom input{width:100%!important;border:1px solid #cbd5e1!important;border-radius:14px!important;padding:10px 12px!important;font:inherit!important;font-weight:850!important;}
.pe311-actions{padding:13px 14px!important;border-top:1px solid #e5e7eb!important;background:#fff!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
.pe311-actions button{min-height:48px!important;border:0!important;border-radius:16px!important;font-weight:1000!important;cursor:pointer!important;}
.pe311-cancel{background:#f1f5f9!important;color:#0f172a!important;}
.pe311-save{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important;}
.pe311-note{padding:14px!important;border:1px dashed #cbd5e1!important;border-radius:16px!important;background:#f8fafc!important;color:#64748b!important;font-weight:900!important;text-align:center!important;}
@media(max-width:760px){
    .pe311-backdrop{align-items:flex-start!important;padding:8px!important;}
    .pe311-card{max-height:96vh!important;border-radius:22px!important;}
    .pe311-head{padding:13px 14px!important;}
    .pe311-head h3{font-size:18px!important;}
    .pe311-layout{grid-template-columns:1fr!important;}
    .pe311-panel-body{max-height:34vh!important;padding:10px!important;}
    .pe311-cart-row,.pe311-search-row{grid-template-columns:1fr!important;}
    .pe311-qty{justify-content:center!important;width:max-content!important;max-width:100%!important;}
    .pe311-add{width:100%!important;}
    .pe311-actions{grid-template-columns:1fr!important;padding:10px!important;}
}
@media print{.pe311-backdrop{display:none!important;}}

/* ==== mobile-only-smaller-transfer-save-v314 (extracted from bill.php inline <style>) ==== */
@media(max-width:640px){
    /* v314: smaller mobile Transfer/Save action button only */
    .bill-place-order-fab{
        width:52px!important;
        min-width:52px!important;
        max-width:52px!important;
        height:30px!important;
        min-height:30px!important;
        padding:0 4px!important;
        gap:2px!important;
        border-radius:999px!important;
        white-space:nowrap!important;
    }
    .bill-place-order-fab .bill-jump-icon{
        width:12px!important;
        height:12px!important;
        min-width:12px!important;
        font-size:8px!important;
        line-height:1!important;
        filter:none!important;
    }
    .bill-place-order-fab span:not(.bill-jump-icon):not(.bill-jump-count){
        font-size:7px!important;
        font-weight:1000!important;
        line-height:1!important;
        letter-spacing:-.25px!important;
    }
}

/* ==== mobile-balanced-transfer-save-size-v316 (extracted from bill.php inline <style>) ==== */
@media(max-width:640px){
    /* v316: balanced compact size - not tiny, keeps space around middle Orders button */
    .bill-place-order-fab{
        width:84px!important;
        min-width:84px!important;
        max-width:84px!important;
        height:40px!important;
        min-height:40px!important;
        padding:0 8px!important;
        gap:5px!important;
        border-radius:999px!important;
        white-space:nowrap!important;
    }
    .bill-place-order-fab .bill-jump-icon{
        width:18px!important;
        height:18px!important;
        min-width:18px!important;
        font-size:14px!important;
        line-height:1!important;
        margin:0!important;
        filter:drop-shadow(0 3px 7px rgba(0,0,0,.18))!important;
    }
    .bill-place-order-fab span:not(.bill-jump-icon):not(.bill-jump-count){
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        font-size:10.5px!important;
        font-weight:1000!important;
        line-height:1!important;
        letter-spacing:-.15px!important;
        max-width:54px!important;
        overflow:hidden!important;
        text-overflow:clip!important;
        white-space:nowrap!important;
    }
}
@media(max-width:390px){
    .bill-place-order-fab{
        width:78px!important;
        min-width:78px!important;
        max-width:78px!important;
        height:38px!important;
        min-height:38px!important;
        padding:0 7px!important;
        gap:4px!important;
    }
    .bill-place-order-fab .bill-jump-icon{
        width:17px!important;
        height:17px!important;
        min-width:17px!important;
        font-size:13px!important;
    }
    .bill-place-order-fab span:not(.bill-jump-icon):not(.bill-jump-count){
        font-size:10px!important;
        max-width:50px!important;
    }
}

/* ==== inline-block-9 (extracted from bill.php inline <style>) ==== */
: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:21px;
            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:15px 18px;
            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:22px;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:15px;
            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;
                font-size:12px !important;
                line-height:1.28 !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;
            }
        }

        /* 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
           - Transfer to Kitchen 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:14px 15px;
            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 Transfer to Kitchen */
        .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 Transfer to Kitchen 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
           Transfer to Kitchen = left bottom
           All Orders = left side above Transfer to Kitchen
           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 Transfer to Kitchen.
           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.
           Transfer to Kitchen 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(3,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!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}
}

/* ==== food-structural-image-frame-fix-v2 (extracted from bill.php inline <style>) ==== */
/* Structural image frame: the wrapper receives all old card sizing; the inner image can never be cropped. */
.item-summary-left > .food-item-image-frame,
.item-card .food-item-image-frame,
.food-item-image-frame {
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    max-width:76px !important;
    padding:4px !important;
    background:#fff !important;
    border:1px solid #e5e7eb !important;
    border-radius:16px !important;
    box-sizing:border-box !important;
    flex:0 0 76px !important;
}
.food-item-image-frame > .food-item-image-inner {
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:0 !important;
    max-height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
    zoom:1 !important;
    margin:0 !important;
    padding:0 !important;
    border:0 !important;
    background:#fff !important;
}
@media(max-width:640px){
    .item-summary-left > .food-item-image-frame,
    .item-card .food-item-image-frame,
    .food-item-image-frame {
        width:68px !important;
        height:68px !important;
        min-width:68px !important;
        max-width:68px !important;
        flex-basis:68px !important;
        padding:3px !important;
    }
}

/* ===== NAVHEAD: burger drawer with index.php page list (all screen sizes) ===== */
.navhead-hidden-status{display:none !important;}
.bill-navhead{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:10px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    margin:0 0 12px !important;
    min-height:0 !important;
}
.navhead-burger{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    width:46px;height:46px;
    border:1px solid var(--line);
    border-radius:14px;
    background:#fff;
    cursor:pointer;
    padding:0 12px;
    flex-shrink:0;
    box-shadow:0 8px 20px rgba(0,0,0,.05);
    transition:box-shadow .15s ease, transform .15s ease;
}
.navhead-burger:hover{box-shadow:0 10px 26px rgba(0,0,0,.10);transform:translateY(-1px);}
.navhead-burger span{display:block;height:2.5px;width:100%;border-radius:3px;background:#0f172a;}
.navhead-page-title{
    font-size:16px;
    font-weight:1000;
    color:#0f172a;
    letter-spacing:-.02em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    min-width:0;
}
.navhead-lead{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
}
@media(max-width:640px){
    .navhead-page-title{font-size:14px;}
    .navhead-lead{gap:9px;}
}
/* create-posts.php puts the burger on a dark gradient hero, so the dark
   default would be unreadable there. */
.cp-hero .navhead-page-title{color:#fff;}
@media print{.navhead-page-title,.navhead-lead{display:none !important;}}

/* Drawer: identical behaviour on desktop and mobile */
.navhead-links{
    position:fixed;
    top:0;left:0;bottom:0;
    width:min(300px,86vw);
    background:#fff;
    border-right:1px solid var(--line);
    box-shadow:0 0 60px rgba(0,0,0,.22);
    display:flex;
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:4px;
    padding:18px 12px;
    overflow-y:auto;
    z-index:99998;
    transform:translateX(-102%);
    transition:transform .22s ease;
}
.navhead-links.open{transform:translateX(0);}
.navhead-link{
    display:flex;
    align-items:center;
    gap:10px;
    padding:11px 12px;
    border-radius:12px;
    text-decoration:none;
    color:#334155;
    font-size:14px;
    font-weight:800;
    white-space:nowrap;
    transition:background .15s ease,color .15s ease;
}
.navhead-link:hover{background:#f1f5f9;color:#0f172a;}
.navhead-link.active{background:linear-gradient(135deg,#1e3a8a,#2563eb);color:#fff;}
.navhead-ico{font-size:17px;line-height:1;}
.navhead-backdrop{
    position:fixed;inset:0;
    background:rgba(15,23,42,.5);
    z-index:99997;
    opacity:0;pointer-events:none;
    transition:opacity .22s ease;
}
.navhead-backdrop.open{opacity:1;pointer-events:auto;}

/* Hide the "All Synced" floating pill on every screen size (tagged by JS below) */
.qd-synced-pill-hide{
    display:none !important;
}

/* ===== WIDE LAYOUT OVERRIDE: pull categories left, give items more room ===== */
@media (min-width: 981px){
    /* Desktop: cart panel is already visible, so hide ONLY the "Bill" cart FAB.
       All three FABs share .bill-jump-fab, so exclude the other two explicitly. */
    .bill-jump-fab:not(.past-orders-fab):not(.bill-place-order-fab){
        display:none !important;
    }
    /* Break out of the narrow centered .container so the page uses full width */
    .container.bill-shell{
        max-width:100% !important;
        width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
        padding-left:20px !important;
        padding-right:20px !important;
    }

    /* Narrower category rail + fixed cart = much wider items column */
    .bill-layout{
        grid-template-columns:196px minmax(0,1fr) 360px !important;
        gap:16px !important;
    }

    .desktop-category-card{
        padding:14px !important;
        position:sticky !important;
        top:16px !important;
    }
    .desktop-category-card .section-head h3{font-size:16px !important;}
    .category-btn{
        padding:10px 12px !important;
        font-size:13px !important;
        border-radius:12px !important;
    }

    /* ===== Customer-page card style: 4 per row ===== */
    .item-list{
        display:grid !important;
        grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
        gap:18px !important;
        align-items:start !important;
    }

    /* Flat white card, no inner padding: the image panel bleeds to the edges */
    .item-card{
        padding:0 !important;
        border-radius:14px !important;
        border:1px solid #ececec !important;
        background:#fff !important;
        overflow:hidden !important;
        box-shadow:none !important;
        display:flex !important;
        flex-direction:column !important;
        transition:box-shadow .16s ease, transform .16s ease !important;
    }
    .item-card:hover{
        box-shadow:0 10px 30px rgba(15,23,42,.09) !important;
        transform:translateY(-2px) !important;
        border-color:#e2e2e2 !important;
    }

    .item-summary{
        flex-direction:column !important;
        align-items:stretch !important;
        justify-content:flex-start !important;
        gap:0 !important;
        padding:0 !important;
    }
    .item-summary-left{
        flex-direction:column !important;
        align-items:stretch !important;
        gap:0 !important;
        flex:1 1 auto !important;
    }

    /* Image sits on a soft panel with a hairline divider underneath */
    .item-summary-left > img.item-image,
    .item-card img.item-image{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        height:190px !important;
        border:0 !important;
        border-bottom:1px solid #f0f0f0 !important;
        border-radius:0 !important;
        object-fit:contain !important;
        object-position:center center !important;
        background:linear-gradient(180deg,#fbfbfb,#f6f6f6) !important;
        padding:14px !important;
    }
    .item-summary-left > .food-item-image-frame,
    .item-card .food-item-image-frame{
        width:100% !important;
        max-width:100% !important;
        min-width:0 !important;
        height:190px !important;
        flex:0 0 auto !important;
        flex-basis:auto !important;
        border:0 !important;
        border-bottom:1px solid #f0f0f0 !important;
        border-radius:0 !important;
        background:linear-gradient(180deg,#fbfbfb,#f6f6f6) !important;
        padding:14px !important;
    }
    .food-item-image-frame > .food-item-image-inner{
        background:transparent !important;
    }

    /* Text block below the image */
    .item-card .item-info{
        padding:14px 14px 16px !important;
        display:flex !important;
        flex-direction:column !important;
        flex:1 1 auto !important;
    }
    .item-name{
        font-size:14px !important;
        font-weight:800 !important;
        line-height:1.35 !important;
        color:#111 !important;
        margin:0 0 6px !important;
    }
    .item-desc{
        font-size:12px !important;
        line-height:1.45 !important;
        margin:0 !important;
        display:-webkit-box !important;
        -webkit-line-clamp:2 !important;
        -webkit-box-orient:vertical !important;
        overflow:hidden !important;
    }

    /* Bottom row: price on the left, qty stepper on the right */
    .item-card .quick-price-line{
        display:flex !important;
        align-items:center !important;
        justify-content:space-between !important;
        gap:8px !important;
        margin-top:auto !important;
        padding-top:14px !important;
        flex-wrap:nowrap !important;
    }
    .item-card .quick-price-pill{
        background:transparent !important;
        border:0 !important;
        padding:0 !important;
        color:#111 !important;
        font-size:14.5px !important;
        font-weight:900 !important;
        white-space:nowrap !important;
    }
    .item-card .quick-price-line .qty-pack{
        gap:5px !important;
        flex-shrink:0 !important;
    }
    .item-card .quick-price-line .qty-btn{
        width:28px !important;
        height:28px !important;
        min-width:28px !important;
        border-radius:50% !important;
        font-size:14px !important;
        line-height:1 !important;
        padding:0 !important;
    }
    .item-card .quick-price-line .qty-btn.plus{
        background:#111 !important;
        border-color:#111 !important;
        color:#fff !important;
    }
    .item-card .quick-price-line .qty-btn.minus{
        background:#fff !important;
        border:1px solid #e5e5e5 !important;
        color:#111 !important;
    }
    .item-card .quick-price-line .qty-input{
        width:30px !important;
        min-width:30px !important;
        border:0 !important;
        background:transparent !important;
        font-size:13px !important;
        font-weight:800 !important;
        text-align:center !important;
        padding:0 !important;
    }

    .item-card .price-badge{
        align-self:flex-start !important;
        margin-top:10px !important;
        font-size:12px !important;
        padding:6px 10px !important;
    }

    /* Caret pinned to the card corner so it doesn't break the vertical flow */
    .item-caret{
        position:absolute !important;
        top:10px !important;
        right:10px !important;
        width:26px !important;
        height:26px !important;
        min-width:26px !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        border-radius:50% !important;
        background:rgba(255,255,255,.94) !important;
        border:1px solid #ececec !important;
        font-size:16px !important;
        z-index:2 !important;
    }
    .item-card{position:relative !important;}

    /* Expanded cards (variations / deals) span the full row */
    .item-card.open{
        grid-column:1 / -1 !important;
    }
    .item-card.open .item-summary-left > img.item-image,
    .item-card.open img.item-image,
    .item-card.open .food-item-image-frame{
        height:210px !important;
    }
    .item-card .item-body{
        padding:0 14px 14px !important;
    }
}

@media (min-width: 1500px){
    .bill-layout{
        grid-template-columns:200px minmax(0,1fr) 380px !important;
    }
    .item-summary-left > img.item-image,
    .item-card img.item-image,
    .item-summary-left > .food-item-image-frame,
    .item-card .food-item-image-frame{
        height:215px !important;
    }
    .item-name{font-size:15px !important;}
}

/* Between 981 and 1250px, 4 columns get cramped -> use 3 */
@media (min-width: 981px) and (max-width: 1250px){
    .item-list{
        grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
    }
}

/* ==== restaurant-off-overlay-style (extracted from bill.php inline <style>) ==== */
body.restaurant-off-mode > *:not(.restaurant-off-overlay){filter:grayscale(.15) blur(.4px)!important;opacity:.34!important;pointer-events:none!important;user-select:none!important;}
.restaurant-off-overlay{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(248,250,252,.72);backdrop-filter:blur(5px)}
.restaurant-off-card{width:min(460px,100%);border-radius:30px;background:#fff;border:1px solid rgba(220,38,38,.18);box-shadow:0 32px 90px rgba(15,23,42,.32);padding:26px 22px;text-align:center}.restaurant-off-icon{width:76px;height:76px;margin:0 auto 14px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#dc2626,#f97316);font-size:36px;box-shadow:0 18px 38px rgba(220,38,38,.28)}.restaurant-off-card h2{margin:0;color:#0f172a;font-size:30px;letter-spacing:-.04em}.restaurant-off-card p{margin:10px 0 0;color:#b91c1c;font-size:17px;font-weight:1000}@media(max-width:640px){.restaurant-off-overlay{align-items:center;padding:14px}.restaurant-off-card{border-radius:24px;padding:24px 16px}.restaurant-off-card h2{font-size:25px}.restaurant-off-card p{font-size:15px}}

/* ==== oo-deal-variation-center-preview-fix (extracted from bill.php inline <style>) ==== */
/* Direct deal/variation selection + centered modals on customer and bill pages */
#dealModal.modal-backdrop,
.modal-backdrop#dealModal,
#ooOptionPreviewModal.oo-option-preview-backdrop{
    align-items:center!important;
    justify-content:center!important;
    padding:14px!important;
}
#dealModal.open,
#ooOptionPreviewModal.open{display:flex!important;}
#dealModal .modal-card,
#ooOptionPreviewModal .oo-option-preview-card{
    margin:auto!important;
    transform:none!important;
    top:auto!important;
    bottom:auto!important;
    left:auto!important;
    right:auto!important;
    width:min(620px,100%)!important;
    max-height:92vh!important;
    overflow:auto!important;
    border-radius:26px!important;
}
.oo-deal-preview-block{display:flex;gap:12px;align-items:flex-start;margin:12px 0 14px;padding:12px;border:1px solid #e5e7eb;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc)}
.oo-deal-preview-img{width:76px!important;height:76px!important;border-radius:16px;background:#fff;border:1px solid #e5e7eb;object-fit:contain!important;object-position:center center!important;padding:4px;flex-shrink:0;box-sizing:border-box}
.oo-deal-preview-name{font-size:13px;font-weight:1000;color:#0f172a;margin-bottom:4px}
.oo-deal-preview-desc{font-size:13px;font-weight:800;line-height:1.45;color:#475569;white-space:pre-wrap}
.oo-option-preview-backdrop{position:fixed;inset:0;z-index:99998;display:none;background:rgba(15,23,42,.66);backdrop-filter:blur(8px)}
.oo-option-preview-card{background:#fff;border:1px solid #e5e7eb;box-shadow:0 34px 100px rgba(15,23,42,.36);display:flex;flex-direction:column;overflow:hidden!important}
.oo-option-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed);color:#fff}
.oo-option-preview-head h3{margin:0;font-size:21px;line-height:1.2}.oo-option-close{width:38px;height:38px;border:0;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-size:22px;font-weight:1000;cursor:pointer}
.oo-option-preview-body{padding:15px;overflow:auto;background:linear-gradient(180deg,#fff,#f8fbff)}
.oo-option-detail-block{display:flex;gap:12px;align-items:flex-start;margin:0 0 14px;padding:12px;border:1px solid #e5e7eb;border-radius:18px;background:linear-gradient(180deg,#fff,#f8fafc)}
.oo-option-image-frame{width:76px;height:76px;min-width:76px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;display:grid;place-items:center;overflow:hidden;flex-shrink:0;box-sizing:border-box}.oo-option-image-frame img{width:100%;height:100%;object-fit:contain!important;object-position:center center!important;padding:4px;box-sizing:border-box}.oo-option-no-image{font-size:32px;color:#94a3b8}
.oo-option-preview-name{font-size:13px;font-weight:1000;color:#0f172a;margin-bottom:4px}
.oo-option-description{font-size:13px;font-weight:800;line-height:1.45;color:#475569;white-space:pre-wrap}.oo-option-list{display:grid;gap:9px}.oo-option-row{display:flex;align-items:center;gap:10px;border:1px solid #dbe3ef;border-radius:16px;background:#fff;padding:11px;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.04)}.oo-option-row.active{border-color:#2563eb;background:#eff6ff;box-shadow:0 10px 24px rgba(37,99,235,.12)}.oo-option-row input{accent-color:#2563eb}.oo-option-row strong{display:block;font-size:14px;color:#0f172a}.oo-option-row small{display:block;margin-top:3px;color:#64748b;font-weight:900;line-height:1.35}
.oo-option-footer{display:flex;gap:10px;align-items:center;padding:13px 15px;border-top:1px solid #e5e7eb;background:#fff;position:sticky;bottom:0}.oo-option-qty{display:flex;align-items:center;gap:5px;padding:3px;border:1px solid #dbe3ef;border-radius:999px;background:#fff}.oo-option-qty button{width:36px;height:36px;border:0;border-radius:50%;background:#111827;color:#fff;font-size:20px;font-weight:1000;cursor:pointer}.oo-option-qty span{min-width:34px;text-align:center;font-weight:1000}.oo-option-add{flex:1;min-height:44px;border:0;border-radius:14px;background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;font-weight:1000;cursor:pointer}.oo-option-add:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:640px){#dealModal.modal-backdrop,.modal-backdrop#dealModal,#ooOptionPreviewModal.oo-option-preview-backdrop{align-items:center!important;justify-content:center!important;padding:9px!important}#dealModal .modal-card,#ooOptionPreviewModal .oo-option-preview-card{width:100%!important;max-height:92vh!important;border-radius:22px!important;margin:auto!important}.oo-option-preview-head{padding:13px 14px}.oo-option-preview-head h3{font-size:18px}.oo-option-preview-body{padding:12px}.oo-option-image-frame{width:68px;height:68px;min-width:68px}.oo-option-footer{padding:10px 12px}.oo-deal-preview-block{margin-top:10px}.oo-deal-preview-img{width:68px;height:68px;padding:3px}}

/* Keep modal preview images exactly in the older bill-page size. Do not affect item-card image frames. */
#dealModal .oo-deal-preview-img,
#ooOptionPreviewModal .oo-option-image-frame{
    width:76px!important;height:76px!important;min-width:76px!important;max-width:76px!important;padding:4px!important;box-sizing:border-box!important;
}
#ooOptionPreviewModal .oo-option-image-frame img{padding:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;}
@media(max-width:640px){
    #dealModal .oo-deal-preview-img,
    #ooOptionPreviewModal .oo-option-image-frame{width:68px!important;height:68px!important;min-width:68px!important;max-width:68px!important;padding:3px!important;}
}

/* ==== oo-image-no-crop-frame-restore (extracted from bill.php inline <style>) ==== */
/* Restore the old image behaviour: keep the same frames, but make every image fit fully inside without crop/stretch. */
.item-card img.item-image,
.item-summary-left > img.item-image,
img.item-image,
body.storefront-modern .item-card img.item-image,
body.storefront-modern img.item-image,
.item-image-frame img,
img.food-item-image-inner,
.food-item-image-inner,
#dealModal img.oo-deal-preview-img,
#ooOptionPreviewModal .oo-option-image-frame img {
    object-fit: contain !important;
    object-position: center center !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
}

/* Do not change card/frame size; only keep enough inner breathing space to avoid visual cropping. */
.item-card img.item-image,
.item-summary-left > img.item-image,
img.item-image {
    padding: 4px !important;
}
body.storefront-modern .item-card img.item-image,
body.storefront-modern img.item-image {
    padding: 6px !important;
}
#dealModal img.oo-deal-preview-img {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    padding: 4px !important;
    object-fit: contain !important;
    object-position: center center !important;
}
#ooOptionPreviewModal .oo-option-image-frame {
    width: 76px !important;
    height: 76px !important;
    min-width: 76px !important;
    max-width: 76px !important;
    background: #ffffff !important;
    overflow: hidden !important;
    display: grid !important;
    place-items: center !important;
    box-sizing: border-box !important;
}
#ooOptionPreviewModal .oo-option-image-frame img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    padding: 4px !important;
}
@media (max-width: 640px) {
    .item-card img.item-image,
    .item-summary-left > img.item-image,
    img.item-image {
        padding: 3px !important;
    }
    body.storefront-modern .item-card img.item-image,
    body.storefront-modern img.item-image {
        padding: 5px !important;
    }
    #dealModal img.oo-deal-preview-img,
    #ooOptionPreviewModal .oo-option-image-frame {
        width: 68px !important;
        height: 68px !important;
        min-width: 68px !important;
        max-width: 68px !important;
    }
    #dealModal img.oo-deal-preview-img,
    #ooOptionPreviewModal .oo-option-image-frame img {
        padding: 3px !important;
    }
}

/* ==== food-customer-orders-bill-extra-css (extracted from bill.php inline <style>) ==== */
/* Food customer-order alert + Customer Orders history button/modal */
.customer-orders-fab{
    left:18px!important;right:auto!important;bottom:166px!important;z-index:100!important;
    min-width:176px!important;background:linear-gradient(135deg,#0891b2,#2563eb,#7c3aed)!important;
    box-shadow:0 20px 44px rgba(37,99,235,.28)!important;
}
.customer-orders-fab:hover{box-shadow:0 22px 48px rgba(37,99,235,.36)!important}
.customer-orders-close{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    border-radius:999px!important;padding:0!important;font-size:24px!important;line-height:1!important;
    display:grid!important;place-items:center!important;background:linear-gradient(135deg,#ef4444,#f97316)!important;color:#fff!important;
    box-shadow:0 12px 26px rgba(239,68,68,.22)!important;
}
.customer-orders-modal{z-index:9996!important}.customer-orders-modal.open{display:flex!important}
.customer-orders-pager button{min-width:112px}
.food-accept-popups-bill{position:fixed;left:16px;right:auto;top:16px;bottom:auto;z-index:9997;display:grid;gap:10px;width:min(390px,calc(100vw - 24px));max-height:72vh;overflow:auto;scrollbar-width:thin;pointer-events:none}
.food-accept-popup-bill{pointer-events:auto;background:#fff;border:1px solid #fed7aa;border-radius:22px;box-shadow:0 24px 70px rgba(15,23,42,.24);overflow:hidden}
.food-accept-head-bill{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 13px;color:#fff;background:linear-gradient(135deg,#dc2626,#f97316)}
.food-accept-head-bill strong{font-size:17px;line-height:1.1}.food-accept-close-bill{width:30px;height:30px;border:0;border-radius:999px;background:rgba(255,255,255,.18);color:#fff;font-weight:1000;cursor:pointer}
.food-accept-body-bill{padding:12px;display:grid;gap:9px;background:linear-gradient(180deg,#fff,#fff7ed)}
.food-accept-row-bill{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #ffedd5;background:#fff;border-radius:15px;padding:9px}
.food-accept-row-bill small{display:block;color:#64748b;font-weight:850;margin-top:2px}.food-accept-items-bill{display:grid;gap:5px;margin-top:2px}.food-accept-item-bill{display:flex;justify-content:space-between;gap:8px;border:1px solid #ffedd5;background:#fff;border-radius:12px;padding:6px 8px;font-size:12px;font-weight:900;color:#0f172a}.food-accept-item-bill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.food-accept-item-bill b{color:#dc2626;white-space:nowrap}.food-accept-btn-bill{border:0;border-radius:13px;min-height:40px;padding:0 13px;color:#fff;background:linear-gradient(135deg,#16a34a,#22c55e);font-weight:1000;cursor:pointer;white-space:nowrap}
.food-accept-btn-bill:disabled{opacity:.65;cursor:wait}
@media(max-width:640px){
    .customer-orders-fab{
        left:10px!important;right:auto!important;bottom:126px!important;transform:none!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:0!important;border-radius:17px!important;z-index:97!important;gap:5px!important;
    }
    .customer-orders-fab:hover{transform:none!important}
    .customer-orders-fab .bill-jump-icon{font-size:16px!important;flex:0 0 auto!important}
    .customer-orders-fab span:not(.bill-jump-icon){display:none!important}
    .customer-orders-fab::after{content:"Customer";display:inline-block;font-size:10.5px!important;font-weight:1000!important;line-height:1.05!important;color:#fff!important}
    .food-accept-popups-bill{left:10px;right:10px;top:10px;width:auto;max-height:64vh}.food-accept-row-bill{grid-template-columns:1fr}.food-accept-btn-bill{width:100%}
    .customer-orders-pager{display:grid!important;grid-template-columns:1fr;gap:8px!important}.customer-orders-pager button{width:100%}
}

/* Final placement: Customer Orders stays above All Orders on the left side. */
.past-orders-fab{left:18px!important;right:auto!important;bottom:92px!important;transform:none!important;z-index:99!important}
.customer-orders-fab{left:18px!important;right:auto!important;bottom:166px!important;transform:none!important;z-index:100!important}
@media(max-width:640px){
    .past-orders-fab{left:10px!important;right:auto!important;bottom:68px!important;transform:none!important;width:132px!important;min-width:132px!important;max-width:132px!important;height:48px!important;min-height:48px!important;z-index:99!important}
    .past-orders-fab:hover{transform:none!important}
    .customer-orders-fab{left:10px!important;right:auto!important;bottom:126px!important;transform:none!important;width:132px!important;min-width:132px!important;max-width:132px!important;height:48px!important;min-height:48px!important;z-index:100!important}
}
@media print{.food-accept-popups-bill,.customer-orders-fab,.customer-orders-modal,.bill-change-calc-card{display:none!important}}

/* ==== CHANGE_CALC_V3: larger right-side "Cash Received -> Change to Return" card ==== */
.bill-change-calc-card{
    position:fixed;
    top:50%;
    left:auto;
    right:24px;
    transform:translateY(-50%) scale(.96);
    transform-origin:right center;
    z-index:9998;
    width:min(390px, calc(100vw - 48px));
    background:#fff;
    border:1px solid #e2e8f0;
    border-radius:22px;
    box-shadow:0 30px 90px rgba(15,23,42,.34);
    overflow:hidden;
    display:none;
    opacity:0;
    pointer-events:none;
    transition:transform .18s ease, opacity .18s ease;
}
.bill-change-calc-card.open{
    display:block;
    transform:translateY(-50%) scale(1);
    opacity:1;
    pointer-events:auto;
}
.bill-change-calc-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:15px 18px;
    color:#fff;
    background:linear-gradient(135deg,#16a34a,#0f766e);
}
.bill-change-calc-head-text{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}
.bill-change-calc-head-text strong{
    font-size:15px;
    line-height:1.15;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.bill-change-calc-head-text span{
    font-size:22px;
    font-weight:1000;
    line-height:1.2;
}
.bill-change-calc-close{
    flex-shrink:0;
    width:32px;
    height:32px;
    border:0;
    border-radius:999px;
    background:rgba(255,255,255,.2);
    color:#fff;
    font-size:17px;
    font-weight:1000;
    line-height:1;
    cursor:pointer;
}
.bill-change-calc-body{
    padding:17px 18px 19px;
    display:grid;
    gap:12px;
    background:linear-gradient(180deg,#fff,#f0fdf4);
}
.bill-change-calc-label{
    font-size:12.5px;
    font-weight:900;
    color:#64748b;
    text-transform:uppercase;
    letter-spacing:.03em;
}
.bill-change-calc-input{
    height:50px;
    font-size:18px;
    font-weight:800;
}
.bill-change-calc-result{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 15px;
    border-radius:15px;
    background:#f1f5f9;
    border:1px solid #e2e8f0;
    font-weight:1000;
    color:#334155;
}
.bill-change-calc-result strong{
    font-size:21px;
}
.bill-change-calc-result.bill-change-calc-positive{
    background:#dcfce7;
    border-color:#bbf7d0;
    color:#166534;
}
.bill-change-calc-result.bill-change-calc-short{
    background:#fee2e2;
    border-color:#fecaca;
    color:#991b1b;
}
@media(max-width:640px){
    .bill-change-calc-card{
        left:auto;
        right:10px;
        top:50%;
        width:calc(100vw - 20px);
        max-width:390px;
    }
}
#customerOrdersModal,.customer-orders-fab{display:none!important}

/* ==== food-alert-readable-clean-fix (extracted from bill.php inline <style>) ==== */
/* Clean readable Accept New Order popup: left-top, full content visible, scroll only when needed */
.food-accept-popups,
.food-accept-popups-bill{
    position:fixed!important;
    left:14px!important;
    right:auto!important;
    top:14px!important;
    bottom:auto!important;
    width:min(500px,calc(100vw - 28px))!important;
    max-height:calc(100dvh - 28px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0 3px 3px 0!important;
    display:grid!important;
    gap:12px!important;
    z-index:10020!important;
    scrollbar-width:thin!important;
    pointer-events:none!important;
}
.food-accept-popup,
.food-accept-popup-bill{
    pointer-events:auto!important;
    width:100%!important;
    max-height:calc(100dvh - 32px)!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:22px!important;
    border:1px solid #fed7aa!important;
    background:#fff!important;
    box-shadow:0 24px 70px rgba(15,23,42,.24)!important;
}
.food-accept-head,
.food-accept-head-bill{
    flex:0 0 auto!important;
    padding:12px 14px!important;
}
.food-accept-body,
.food-accept-body-bill{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow:auto!important;
    padding:12px!important;
    display:grid!important;
    gap:10px!important;
}
.food-accept-row,
.food-accept-row-bill{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
    align-items:center!important;
}
.food-accept-row b,
.food-accept-row-bill b{
    display:block!important;
    font-size:14px!important;
    line-height:1.2!important;
}
.food-accept-row small,
.food-accept-row-bill small{
    white-space:normal!important;
    line-height:1.35!important;
}
.food-accept-items,
.food-accept-items-bill{
    display:grid!important;
    gap:7px!important;
    max-height:min(360px,52vh)!important;
    overflow:auto!important;
    padding-right:2px!important;
}
.food-accept-item,
.food-accept-item-bill{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:flex-start!important;
    gap:10px!important;
    padding:8px 10px!important;
    border-radius:13px!important;
    font-size:12.5px!important;
    line-height:1.35!important;
}
.food-accept-item span,
.food-accept-item-bill span{
    min-width:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    word-break:break-word!important;
    line-height:1.35!important;
}
.food-accept-item b,
.food-accept-item-bill b{
    white-space:nowrap!important;
    font-size:12.5px!important;
    line-height:1.35!important;
}
.food-accept-btn,
.food-accept-btn-bill{
    min-width:92px!important;
}
@media(max-width:640px){
    .food-accept-popups,
    .food-accept-popups-bill{
        left:8px!important;
        right:8px!important;
        top:8px!important;
        width:auto!important;
        max-height:calc(100dvh - 16px)!important;
        gap:10px!important;
    }
    .food-accept-popup,
    .food-accept-popup-bill{
        max-height:calc(100dvh - 18px)!important;
        border-radius:18px!important;
    }
    .food-accept-head,
    .food-accept-head-bill{
        padding:11px 12px!important;
    }
    .food-accept-body,
    .food-accept-body-bill{
        padding:10px!important;
        gap:9px!important;
    }
    .food-accept-row,
    .food-accept-row-bill{
        grid-template-columns:1fr auto!important;
    }
    .food-accept-btn,
    .food-accept-btn-bill{
        width:auto!important;
        min-width:84px!important;
        padding:0 12px!important;
    }
    .food-accept-items,
    .food-accept-items-bill{
        max-height:50vh!important;
    }
}
@media(max-width:380px){
    .food-accept-row,
    .food-accept-row-bill{
        grid-template-columns:1fr!important;
    }
    .food-accept-btn,
    .food-accept-btn-bill{
        width:100%!important;
    }
}

/* ==== all-orders-mobile-and-clean-modify-v311 (extracted from bill.php inline <style>) ==== */
/* v311: keep mobile label as All Orders and make Modify Order clean/useable */
@media (max-width:640px){
    .past-orders-fab{width:132px!important;min-width:132px!important;max-width:132px!important;gap:5px!important;white-space:nowrap!important;}
    .past-orders-fab span:not(.bill-jump-icon){display:inline-flex!important;align-items:center!important;font-size:11px!important;font-weight:1000!important;line-height:1!important;color:#fff!important;}
    .past-orders-fab::after{content:none!important;display:none!important;}
}
.pe311-backdrop{position:fixed!important;inset:0!important;z-index:2147483640!important;display:none!important;align-items:center!important;justify-content:center!important;padding:14px!important;background:rgba(15,23,42,.68)!important;backdrop-filter:blur(8px)!important;box-sizing:border-box!important;}
.pe311-backdrop.open{display:flex!important;}
.pe311-card{width:min(980px,100%)!important;max-height:94vh!important;overflow:hidden!important;background:#fff!important;color:#0f172a!important;border-radius:26px!important;box-shadow:0 34px 110px rgba(15,23,42,.45)!important;display:flex!important;flex-direction:column!important;border:1px solid rgba(255,255,255,.70)!important;}
.pe311-head{padding:16px 18px!important;color:#fff!important;background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed)!important;display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;}
.pe311-head h3{margin:0!important;font-size:21px!important;line-height:1.15!important;}
.pe311-head p{margin:5px 0 0!important;color:rgba(255,255,255,.84)!important;font-size:12px!important;font-weight:850!important;}
.pe311-close{width:42px!important;height:42px!important;min-width:42px!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.18)!important;color:#fff!important;font-size:22px!important;font-weight:1000!important;cursor:pointer!important;display:grid!important;place-items:center!important;}
.pe311-body{padding:14px!important;overflow:auto!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;}
.pe311-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,.82fr)!important;gap:14px!important;align-items:start!important;}
.pe311-panel{border:1px solid #e5e7eb!important;border-radius:20px!important;background:#fff!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important;overflow:hidden!important;}
.pe311-panel-head{padding:12px 14px!important;background:#f8fafc!important;border-bottom:1px solid #e5e7eb!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;}
.pe311-panel-head h4{margin:0!important;font-size:15px!important;color:#0f172a!important;}
.pe311-panel-body{padding:12px!important;display:grid!important;gap:10px!important;max-height:52vh!important;overflow:auto!important;}
.pe311-cart-row,.pe311-search-row{border:1px solid #dbe4f0!important;border-radius:16px!important;background:#fff!important;padding:11px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important;align-items:center!important;}
.pe311-cart-row strong,.pe311-search-row strong{display:block!important;color:#0f172a!important;font-size:14px!important;line-height:1.25!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.pe311-cart-row small,.pe311-search-row small{display:block!important;margin-top:3px!important;color:#64748b!important;font-size:12px!important;font-weight:850!important;line-height:1.35!important;white-space:normal!important;overflow-wrap:anywhere!important;}
.pe311-qty{display:flex!important;align-items:center!important;gap:5px!important;border:1px solid #dbe4f0!important;border-radius:999px!important;background:#f8fafc!important;padding:3px!important;white-space:nowrap!important;}
.pe311-qty button{width:32px!important;height:32px!important;border:0!important;border-radius:999px!important;background:#111827!important;color:#fff!important;font-size:18px!important;font-weight:1000!important;cursor:pointer!important;}
.pe311-qty span{min-width:28px!important;text-align:center!important;font-weight:1000!important;color:#0f172a!important;}
.pe311-total{padding:12px 14px!important;border-top:1px solid #e5e7eb!important;display:flex!important;justify-content:space-between!important;gap:10px!important;background:#f8fafc!important;font-weight:1000!important;}
.pe311-search{width:100%!important;border:1px solid #cbd5e1!important;border-radius:15px!important;padding:12px 13px!important;font:inherit!important;font-weight:850!important;outline:none!important;}
.pe311-add{border:0!important;border-radius:12px!important;background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important;font-weight:1000!important;min-height:38px!important;padding:0 12px!important;cursor:pointer!important;white-space:nowrap!important;}
.pe311-remove{background:#fee2e2!important;color:#991b1b!important;border:0!important;border-radius:999px!important;width:32px!important;height:32px!important;font-weight:1000!important;cursor:pointer!important;}
.pe311-custom{border-top:1px dashed #cbd5e1!important;margin-top:10px!important;padding-top:10px!important;display:grid!important;gap:8px!important;}
.pe311-custom input{width:100%!important;border:1px solid #cbd5e1!important;border-radius:14px!important;padding:10px 12px!important;font:inherit!important;font-weight:850!important;}
.pe311-actions{padding:13px 14px!important;border-top:1px solid #e5e7eb!important;background:#fff!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
.pe311-actions button{min-height:48px!important;border:0!important;border-radius:16px!important;font-weight:1000!important;cursor:pointer!important;}
.pe311-cancel{background:#f1f5f9!important;color:#0f172a!important;}
.pe311-save{background:linear-gradient(135deg,#16a34a,#22c55e)!important;color:#fff!important;}
.pe311-note{padding:14px!important;border:1px dashed #cbd5e1!important;border-radius:16px!important;background:#f8fafc!important;color:#64748b!important;font-weight:900!important;text-align:center!important;}
@media(max-width:760px){
    .pe311-backdrop{align-items:flex-start!important;padding:8px!important;}
    .pe311-card{max-height:96vh!important;border-radius:22px!important;}
    .pe311-head{padding:13px 14px!important;}
    .pe311-head h3{font-size:18px!important;}
    .pe311-layout{grid-template-columns:1fr!important;}
    .pe311-panel-body{max-height:34vh!important;padding:10px!important;}
    .pe311-cart-row,.pe311-search-row{grid-template-columns:1fr!important;}
    .pe311-qty{justify-content:center!important;width:max-content!important;max-width:100%!important;}
    .pe311-add{width:100%!important;}
    .pe311-actions{grid-template-columns:1fr!important;padding:10px!important;}
}
@media print{.pe311-backdrop{display:none!important;}}

/* ==== food-orders-mobile-center-fix-v312 (extracted from bill.php inline <style>) ==== */
@media (max-width:640px){
    .past-orders-fab{
        left:50%!important;
        right:auto!important;
        bottom:68px!important;
        transform:translateX(-50%)!important;
        width:112px!important;
        min-width:112px!important;
        max-width:112px!important;
        height:46px!important;
        min-height:46px!important;
        justify-content:center!important;
        text-align:center!important;
        white-space:nowrap!important;
        z-index:99!important;
    }
    .past-orders-fab:hover,
    .past-orders-fab:active{
        transform:translateX(-50%)!important;
    }
    .past-orders-fab span:not(.bill-jump-icon){
        font-size:12px!important;
        font-weight:1000!important;
        line-height:1!important;
    }
}

/* ==== mobile-only-orders-save-label-size-v313 (extracted from bill.php inline <style>) ==== */
@media(max-width:640px){
    .past-orders-fab{
        width:112px!important;
        min-width:112px!important;
        max-width:112px!important;
        height:43px!important;
        min-height:43px!important;
        padding:0 10px!important;
        gap:4px!important;
        white-space:nowrap!important;
    }
    .past-orders-fab .bill-jump-icon{
        width:23px!important;
        height:23px!important;
        min-width:23px!important;
        font-size:15px!important;
    }
    .past-orders-fab span:not(.bill-jump-icon){
        font-size:10px!important;
        line-height:1!important;
    }
    .past-orders-fab .bill-jump-count{
        min-width:17px!important;
        height:17px!important;
        font-size:9px!important;
        top:-5px!important;
        right:-5px!important;
    }
}

/* ==== mobile-only-transfer-save-half-size-v315 (extracted from bill.php inline <style>) ==== */
@media(max-width:640px){
    /* v315: make mobile Transfer/Save button almost half its previous length only */
    .bill-place-order-fab{
        width:52px!important;
        min-width:52px!important;
        max-width:52px!important;
        height:30px!important;
        min-height:30px!important;
        padding:0 4px!important;
        gap:2px!important;
        border-radius:999px!important;
        white-space:nowrap!important;
    }
    .bill-place-order-fab .bill-jump-icon{
        width:12px!important;
        height:12px!important;
        min-width:12px!important;
        font-size:8px!important;
        line-height:1!important;
        margin:0!important;
        filter:none!important;
    }
    .bill-place-order-fab span:not(.bill-jump-icon):not(.bill-jump-count){
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        font-size:7px!important;
        font-weight:1000!important;
        line-height:1!important;
        letter-spacing:-.25px!important;
        max-width:34px!important;
        overflow:hidden!important;
        text-overflow:clip!important;
        white-space:nowrap!important;
    }
}

/* ==== mobile-transfer-save-equal-icons-v317 (extracted from bill.php inline <style>) ==== */
@media(max-width:640px){
    /* v317: restore Transfer/Save to normal icon-button size, equal to nearby mobile buttons */
    .bill-place-order-fab{
        position:fixed!important;
        left:10px!important;
        right: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;
        gap:5px!important;
        border-radius:17px!important;
        font-size:12px!important;
        line-height:1.05!important;
        white-space:nowrap!important;
        text-align:center!important;
        z-index:99!important;
    }
    .bill-place-order-fab .bill-jump-icon{
        width:auto!important;
        height:auto!important;
        min-width:auto!important;
        font-size:17px!important;
        line-height:1!important;
        margin:0!important;
        flex:0 0 auto!important;
        filter:drop-shadow(0 4px 8px rgba(0,0,0,.20))!important;
    }
    .bill-place-order-fab span:not(.bill-jump-icon):not(.bill-jump-count){
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:auto!important;
        max-width:70px!important;
        min-width:0!important;
        font-size:11.5px!important;
        font-weight:1000!important;
        line-height:1!important;
        letter-spacing:-.12px!important;
        overflow:visible!important;
        text-overflow:clip!important;
        white-space:nowrap!important;
    }
}
@media(max-width:360px){
    .bill-place-order-fab{
        width:100px!important;
        min-width:100px!important;
        max-width:100px!important;
        padding:0 7px!important;
        gap:4px!important;
    }
    .bill-place-order-fab .bill-jump-icon{
        font-size:16px!important;
    }
    .bill-place-order-fab span:not(.bill-jump-icon):not(.bill-jump-count){
        font-size:11px!important;
        max-width:68px!important;
    }
}

/* ==== split-print-button-v401 (extracted from bill.php inline <style>) ==== */
.split-print-action{
    min-height:46px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-column:1/-1;
    gap:6px;
    background:transparent;
    border:0;
    box-shadow:none;
    overflow:visible;
}
.split-print-half{
    border:0;
    min-height:46px;
    padding:0 12px;
    font:inherit;
    font-weight:1000;
    cursor:pointer;
    color:#fff;
    line-height:1.1;
    border-radius:15px;
    box-shadow:0 10px 24px rgba(15,23,42,.12);
    transition:transform .12s ease, filter .12s ease, opacity .12s ease, box-shadow .12s ease;
}
.split-print-half:hover{box-shadow:0 12px 26px rgba(15,23,42,.16)}
.split-print-half:active{transform:scale(.97);filter:brightness(.96)}
.split-print-green{background:linear-gradient(135deg,#dc2626,#ef4444);font-size:13px;}
.split-print-orange{background:linear-gradient(135deg,#f97316,#facc15);color:#111827;position:relative;}
.split-print-dinein{background:linear-gradient(135deg,#16a34a,#22c55e);color:#fff;font-size:13px;}
.split-print-orange:before{display:none!important;content:none!important;}
.clean-action-grid .cart-clear-action{
    width:100%;
    justify-self:stretch;
}
@media(max-width:640px){
    .split-print-action{min-height:42px;gap:5px;}
    .split-print-half{min-height:42px;padding:0 5px;font-size:11px;letter-spacing:-.02em;border-radius:13px;box-shadow:0 8px 18px rgba(15,23,42,.12)}
    .split-print-green,.split-print-dinein{font-size:10.5px;}
}

/* ==== bill-mobile-cart-fix-v4 (extracted from bill.php inline <style>) ==== */
@media (max-width:980px){
    #billCartCard{
        display:none !important;
    }

    body.cart-floating-open #billCartCard{
        display:block !important;
        position:fixed !important;
        left:10px !important;
        right:10px !important;
        top:12px !important;
        bottom:12px !important;
        width:auto !important;
        max-width:460px !important;
        height:auto !important;
        max-height:calc(100dvh - 24px) !important;
        margin:0 auto !important;
        padding:0 !important;
        overflow-y:auto !important;
        overflow-x:hidden !important;
        z-index:7000 !important;
        border-radius:24px !important;
        background:#fff !important;
        box-shadow:0 30px 90px rgba(15,23,42,.36) !important;
    }

    #billCartBackdrop{
        display:none !important;
    }

    body.cart-floating-open #billCartBackdrop{
        display:block !important;
        position:fixed !important;
        inset:0 !important;
        z-index:6999 !important;
        background:rgba(15,23,42,.62) !important;
        backdrop-filter:blur(7px) !important;
    }

    body.cart-floating-open{
        overflow:hidden !important;
    }

    #billCartCard .cart-close-btn{
        display:none !important;
    }

    body.cart-floating-open #billCartCard .cart-close-btn{
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
    }
}

@media (min-width:981px){
    #billCartCard{
        display:block !important;
    }
    #billCartBackdrop,
    #billCartCard .cart-close-btn{
        display:none !important;
    }
}

/* ==== fab-in-cart-actions-v325 (extracted from bill.php inline <style>) ==== */
/* v322:
   - "Transfer to Kitchen" lives in the cart action grid on ALL screen sizes
     (a new row under the WhatsApp / Clear Bill row), with NO icon/symbol.
   - "All Orders" joins it in the grid on DESKTOP (981px+) only; on mobile it
     stays as the floating button, untouched.
   - Category rail: no cap, no inner scroller. */

/* Applies wherever the buttons sit inside the grid (all sizes): neutralise
   every old floating-button rule. Higher specificity + loaded last, so these
   win over all older .past-orders-fab / .bill-place-order-fab rules. */
.clean-action-grid .past-orders-fab,
.clean-action-grid .bill-place-order-fab{
    position:static !important;
    left:auto !important; right:auto !important;
    top:auto !important; bottom:auto !important;
    transform:none !important;
    z-index:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    height:auto !important;
    min-height:40px !important;
    padding:0 10px !important;
    font-size:12px !important;
    font-weight:1000 !important;
    gap:6px !important;
    border-radius:13px !important;
    white-space:nowrap !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    box-shadow:0 8px 18px rgba(15,23,42,.14) !important;
}
.clean-action-grid .past-orders-fab .bill-jump-icon{
    font-size:15px !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
}

/* Transfer button: NO symbol, ever, while in the grid */
.clean-action-grid .bill-place-order-fab .bill-jump-icon{
    display:none !important;
}
/* Full "Transfer to Kitchen" text in the grid on every screen size
   (the old rule only added the suffix from 641px up) */
.clean-action-grid .bill-place-order-fab.transfer-idle .transfer-label::after{
    content:" to Kitchen";
    white-space:pre;
}

/* v323 MOBILE: "All Orders" floating button moves to the LEFT side (the
   spot is free now that Transfer lives in the cart) and always shows its
   full name — wide enough pill, label never blanked. */
/* v325 MOBILE: pin the "All Orders" pill bottom-LEFT, sized to its own text.
   The stretch came from the FAB being a full-width flex box: old rules set
   width to a fixed px OR auto while `justify-content:center` + the page-wide
   flex context let it span. Locking width to fit-content and clearing every
   inherited stretch source keeps it a compact pill.
   Two media blocks (980 and 640) because old rules override at each. */
@media (max-width:980px){
    .past-orders-fab{
        position:fixed !important;
        left:12px !important;
        right:auto !important;
        bottom:12px !important;
        transform:none !important;
        margin:0 !important;
        width:fit-content !important;
        width:-moz-fit-content !important;
        min-width:0 !important;
        max-width:calc(100vw - 24px) !important;
        height:48px !important;
        min-height:48px !important;
        padding:0 14px !important;
        font-size:12px !important; /* old rules zeroed this */
        gap:6px !important;
        white-space:nowrap !important;
        display:inline-flex !important;
        flex:0 0 auto !important;
        align-self:flex-start !important;
        align-items:center !important;
        justify-content:center !important;
        text-align:center !important;
        box-sizing:border-box !important;
    }
    .past-orders-fab:hover,
    .past-orders-fab:active{
        transform:none !important;
    }
    /* old mobile rules hid the real label and injected a fake
       "Past Order" text via ::after — that made the pill show two
       texts and stretch. Kill the fake, show the real one. */
    .past-orders-fab::after{
        content:none !important;
        display:none !important;
    }
    .past-orders-fab span:not(.bill-jump-icon){
        display:inline-flex !important;
        align-items:center !important;
        flex:0 0 auto !important;
        font-size:12px !important;
        font-weight:1000 !important;
        line-height:1 !important;
        color:#fff !important;
    }
    .past-orders-fab .bill-jump-icon{
        font-size:16px !important;
        flex:0 0 auto !important;
    }
}

/* Repeat at 640 so the v311/V84/V88 rules (which all target 640) lose. */
@media (max-width:640px){
    .past-orders-fab{
        position:fixed !important;
        left:12px !important;
        right:auto !important;
        bottom:12px !important;
        transform:none !important;
        margin:0 !important;
        width:fit-content !important;
        width:-moz-fit-content !important;
        min-width:0 !important;
        max-width:calc(100vw - 24px) !important;
        height:48px !important;
        min-height:48px !important;
        padding:0 14px !important;
        font-size:12px !important;
        gap:6px !important;
        white-space:nowrap !important;
        display:inline-flex !important;
        flex:0 0 auto !important;
        align-self:flex-start !important;
        align-items:center !important;
        justify-content:center !important;
        box-sizing:border-box !important;
    }
    .past-orders-fab:hover,
    .past-orders-fab:active{
        transform:none !important;
    }
    .past-orders-fab::after{
        content:none !important;
        display:none !important;
    }
    .past-orders-fab span:not(.bill-jump-icon){
        display:inline-flex !important;
        align-items:center !important;
        flex:0 0 auto !important;
        font-size:12px !important;
        font-weight:1000 !important;
        line-height:1 !important;
        color:#fff !important;
    }
    .past-orders-fab .bill-jump-icon{
        font-size:16px !important;
        flex:0 0 auto !important;
    }
}

@media (min-width:981px){
    /* Category rail: full natural height, no inner scroller. */
    .desktop-category-card{
        max-height:none !important;
        overflow:visible !important;
    }
    .desktop-category-card .category-list{
        max-height:none !important;
        overflow:visible !important;
    }
    /* If the category list is taller than the screen, the rail must NOT be
       sticky (a pinned element taller than the viewport makes its bottom
       buttons unreachable). JS below toggles this class by measuring. */
    .desktop-category-card.rail-no-sticky{
        position:static !important;
        top:auto !important;
    }
}

/* ==== all-orders-icon-mobile-final (extracted from bill.php inline <style>) ==== */
/* FINAL mobile fix: "All Orders" becomes an icon-only circle on the LEFT.
   Loaded last + "html body" prefix on every selector so it beats every
   earlier .past-orders-fab rule in this file, regardless of source order.
   Nothing else (Bill/Cart button, Transfer to Kitchen) is touched here. */
@media (max-width:980px){
    html body .past-orders-fab{
        position:fixed !important;
        left:14px !important;
        right:auto !important;
        bottom:14px !important;
        z-index:98 !important;
        width:56px !important;
        height:56px !important;
        min-width:56px !important;
        max-width:56px !important;
        min-height:56px !important;
        max-height:56px !important;
        padding:0 !important;
        margin:0 !important;
        border-radius:50% !important;
        gap:0 !important;
        font-size:0 !important;
        display:flex !important;
        align-items:center !important;
        justify-content:center !important;
        transform:none !important;
        white-space:nowrap !important;
    }
    html body .past-orders-fab:hover,
    html body .past-orders-fab:active{
        transform:none !important;
    }

    /* icon only — hide every text label / injected pseudo-text */
    html body .past-orders-fab span:not(.bill-jump-icon){
        display:none !important;
    }
    html body .past-orders-fab::after{
        content:none !important;
        display:none !important;
    }
    html body .past-orders-fab .bill-jump-icon{
        font-size:22px !important;
        flex:0 0 auto !important;
    }
}


/* ===== Low Inventory Warning popup (shared with Inventory page via low-stock-alert.js) ===== */
.low-stock-backdrop{
    position:fixed;
    inset:0;
    z-index:260;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    background:rgba(15,23,42,.60);
    backdrop-filter:blur(8px);
}
.low-stock-backdrop.open{display:flex}
.low-stock-card{
    width:100%;
    max-width:430px;
    background:#fff;
    border-radius:26px;
    border:1px solid #fed7aa;
    box-shadow:0 28px 80px rgba(15,23,42,.32);
    overflow:hidden;
    animation:lowStockPop .18s ease-out;
}
@keyframes lowStockPop{
    from{transform:translateY(12px) scale(.97);opacity:.2}
    to{transform:translateY(0) scale(1);opacity:1}
}
.low-stock-top{
    padding:18px;
    color:#fff;
    background:
        radial-gradient(circle at top left,rgba(250,204,21,.35),transparent 38%),
        linear-gradient(135deg,#991b1b,#f97316);
}
.low-stock-top strong{
    display:block;
    font-size:22px;
    line-height:1.1;
}
.low-stock-top small{
    display:block;
    margin-top:5px;
    font-weight:850;
    color:rgba(255,255,255,.88);
}
.low-stock-body{padding:18px}
.low-stock-item{
    background:#fff7ed;
    border:1px solid #fed7aa;
    color:#7c2d12;
    border-radius:18px;
    padding:13px;
    margin-bottom:12px;
}
.low-stock-item b{
    display:block;
    color:#111827;
    font-size:18px;
    margin-bottom:3px;
}
.low-stock-item span{
    font-weight:900;
}
.low-stock-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:14px;
}
.low-stock-actions button{
    min-height:46px;
    border-radius:16px;
    border:0;
    cursor:pointer;
    font-weight:1000;
    box-shadow:0 12px 24px rgba(15,23,42,.10);
}
.low-stock-update{
    background:linear-gradient(135deg,#111827,#2563eb);
    color:#fff;
}
.low-stock-later{
    background:#f3f4f6;
    color:#111827;
}
.low-stock-actions button:active{transform:scale(.97)}
@media(max-width:680px){
    .low-stock-card{border-radius:22px}
    .low-stock-actions{grid-template-columns:1fr}
}


.low-stock-list{
    display:grid;
    gap:10px;
    max-height:320px;
    overflow:auto;
    padding-right:4px;
    margin:12px 0;
}
.low-stock-row{
    display:grid;
    grid-template-columns:1fr auto;
    gap:10px;
    align-items:center;
    background:#fff7ed;
    border:1px solid #fed7aa;
    border-radius:18px;
    padding:12px;
}
.low-stock-row b{
    display:block;
    color:#111827;
    font-size:15px;
    line-height:1.25;
}
.low-stock-row small{
    display:block;
    color:#9a3412;
    font-weight:900;
    margin-top:4px;
}
.low-stock-row button{
    min-height:38px;
    border:0;
    border-radius:14px;
    background:linear-gradient(135deg,#111827,#2563eb);
    color:#fff;
    font-weight:1000;
    padding:0 12px;
    cursor:pointer;
    box-shadow:0 10px 22px rgba(37,99,235,.20);
}
.low-stock-summary{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    border-radius:999px;
    background:#fef3c7;
    color:#92400e;
    padding:0 10px;
    font-size:12px;
    font-weight:1000;
    margin-top:8px;
}
@media(max-width:680px){
    .low-stock-list{max-height:360px}
    .low-stock-row{grid-template-columns:1fr}
    .low-stock-row button{width:100%}
}
.low-stock-row.out-of-stock{
    background:#fef2f2;
    border-color:#fecaca;
}
.low-stock-row.out-of-stock small{color:#b91c1c}

/* RECIPE_STOCK_V2: the "why is this item at 0" line inside the low-stock card */
.low-stock-why{
    display:block;
    margin-top:5px;
    font-size:11px;
    font-weight:800;
    line-height:1.45;
    color:#475569;
}
.low-stock-why b{color:#0f172a}
.low-stock-why-stale{color:#1d4ed8}
.low-stock-why-stale b{color:#1d4ed8}
.low-stock-why-bad{color:#b45309}
.low-stock-why-bad b{color:#92400e}

/* v152 beautiful low-stock later button */
.low-stock-actions{
    margin-top:16px!important;
}
.low-stock-later{
    position:relative;
    min-height:52px!important;
    border-radius:18px!important;
    border:1px solid #fed7aa!important;
    color:#7c2d12!important;
    background:
        radial-gradient(circle at top left,rgba(251,191,36,.38),transparent 36%),
        linear-gradient(135deg,#fff7ed,#fed7aa,#fdba74)!important;
    box-shadow:0 14px 30px rgba(249,115,22,.18)!important;
    font-size:14px!important;
    letter-spacing:.1px;
    overflow:hidden;
}
.low-stock-later::before{
    content:"⏰";
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:28px;
    height:28px;
    border-radius:999px;
    margin-right:8px;
    background:#fff;
    color:#ea580c;
    box-shadow:0 8px 18px rgba(124,45,18,.12);
    vertical-align:middle;
}
.low-stock-later:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 36px rgba(249,115,22,.24)!important;
}
.low-stock-later:active{
    transform:scale(.98)!important;
}
@media(max-width:680px){
    .low-stock-later{
        min-height:54px!important;
        font-size:13px!important;
    }
}



/* Close (X) button for the Low Inventory Warning popup */
.low-stock-top{
    position:relative;
    padding-right:52px;
}
.low-stock-close{
    position:absolute;
    top:14px;
    right:14px;
    width:32px;
    height:32px;
    border-radius:999px;
    border:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.22);
    color:#fff;
    font-size:20px;
    font-weight:1000;
    line-height:1;
    cursor:pointer;
    transition:background .15s ease, transform .15s ease;
}
.low-stock-close:hover{
    background:rgba(255,255,255,.36);
    transform:scale(1.06);
}
.low-stock-close:active{
    transform:scale(.92);
}

/* PAYMENT_METHOD_MOVE_V1: Payment Method now sits in its own compact card
   right above the Quick Print / Full Print / Transfer action row instead of
   inside the Order Type card, so it's chosen right where those actions are
   taken. */
.payment-method-wrap{
    margin-top:10px;
    padding:10px;
    border-radius:18px;
    background:#fff;
    border:1px solid #e5e7eb;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
}
.payment-method-select{
    width:100%;
    min-height:44px;
    border-radius:14px;
    padding:0 11px;
    font-size:13px;
    font-weight:900;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#0f172a;
}

/* ==== BILL_QUICK_ACTIONS_V1 ====
   Desktop-only sticky action bar (see the matching HTML block in bill.php,
   right after .navhead-backdrop). Consolidates every bill action into one
   uniform row pinned to the top of the viewport, so it stays visible while
   the item grid below is scrolled. Below 981px this is hidden entirely --
   mobile keeps its existing FABs + the action-grid inside the floating
   Bill Cart overlay, both completely untouched. */
.bill-quick-actions{
    display:none;
}
@media (min-width: 981px){
    .bill-quick-actions{
        display:flex;
        align-items:stretch;
        flex-wrap:wrap;
        gap:8px;
        position:sticky;
        top:0;
        z-index:140;
        margin:0 0 14px;
        padding:10px 12px;
        background:rgba(255,255,255,.92);
        backdrop-filter:blur(10px);
        border:1px solid var(--line);
        border-radius:18px;
        box-shadow:0 14px 34px rgba(15,23,42,.08);
    }
    /* Now reachable from the sticky bar above -- hide the duplicates so
       nothing appears twice on desktop. Mobile (<981px) is untouched: the
       action-grid stays inside the floating Bill Cart overlay, and the
       FABs stay as the mobile way to reach Transfer to Kitchen / All
       Orders / the cart itself. */
    .action-grid.clean-action-grid{
        display:none !important;
    }
    .bill-jump-fab{
        display:none !important;
    }
}

.bqa-btn{
    flex:1 1 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    white-space:nowrap;
    min-height:44px;
    min-width:0;
    border:0;
    border-radius:13px;
    padding:0 14px;
    cursor:pointer;
    font:inherit;
    font-size:13px;
    font-weight:1000;
    letter-spacing:-.01em;
    color:#fff;
    transition:transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}
.bqa-btn:hover{transform:translateY(-1px);}
.bqa-btn:active{transform:translateY(0);}
.bqa-ico{font-size:14px;line-height:1;}

.bqa-split{
    display:flex;
    flex:1.4 1 auto;
    gap:6px;
    min-width:0;
}
.bqa-split-half{flex:1 1 50%;}

.bqa-red{background:linear-gradient(135deg,#dc2626,#ef4444);}
.bqa-orange{background:linear-gradient(135deg,#f97316,#facc15);color:#111827;}
.bqa-green{background:linear-gradient(135deg,#16a34a,#22c55e);}
.bqa-blue{background:linear-gradient(135deg,#2563eb,#3b82f6);}
.bqa-soft{background:#eff6ff;color:#1d4ed8;}
.bqa-dark{background:linear-gradient(135deg,#1e1b4b,#4c1d95);}
.bqa-light{background:#f3f4f6;color:#111827;}

@media (min-width: 981px) and (max-width: 1250px){
    .bqa-btn{font-size:12px;padding:0 10px;min-height:42px;}
}
@media print{
    .bill-quick-actions{display:none !important;}
}

/* ==== DELIVERY_RIDER_V1: "Select Rider" popup + selected-rider badge ==== */
.delivery-rider-mark{
    margin-top:8px;
    padding:9px 12px;
    border-radius:13px;
    background:linear-gradient(135deg,#0f172a,#334155);
    color:#fff;
    font-size:13px;
    font-weight:1000;
    cursor:pointer;
    display:flex;
    align-items:center;
    gap:6px;
    box-shadow:0 8px 18px rgba(15,23,42,.14);
}
.delivery-rider-mark:hover{opacity:.92;}

.delivery-rider-card{
    max-width:420px;
}
.delivery-rider-head h3{margin:0;font-size:19px;}
.delivery-rider-close-btn{
    border:0;
    min-height:36px;
    border-radius:12px;
    padding:0 12px;
    background:#f3f4f6;
    color:#111827;
    font-weight:1000;
    cursor:pointer;
}
.delivery-rider-note{
    margin:0 0 12px;
    font-size:13px;
    color:#64748b;
    line-height:1.5;
}
.delivery-payment-picker{
    margin:0 0 14px;
    padding:12px;
    border:1px solid #dbeafe;
    border-radius:16px;
    background:#eff6ff;
}
.delivery-payment-picker strong{display:block;margin-bottom:9px;color:#1e3a8a;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.delivery-payment-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.delivery-payment-option{
    min-height:44px;border:1px solid #cbd5e1;border-radius:13px;background:#fff;color:#0f172a;
    font:inherit;font-weight:1000;cursor:pointer
}
.delivery-payment-option.selected{border-color:#2563eb;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 8px 18px rgba(37,99,235,.2)}
.delivery-rider-list{
    display:grid;
    gap:8px;
    max-height:340px;
    overflow-y:auto;
    margin-bottom:12px;
}
.delivery-rider-loading,
.delivery-rider-empty{
    padding:20px;
    text-align:center;
    color:#94a3b8;
    font-weight:800;
}
.delivery-rider-row{
    display:flex;
    align-items:center;
    gap:10px;
    width:100%;
    text-align:left;
    border:1px solid #e2e8f0;
    background:#f8fafc;
    border-radius:14px;
    padding:12px 14px;
    cursor:pointer;
    font:inherit;
    transition:background .15s ease, border-color .15s ease;
}
.delivery-rider-row:hover{background:#eff6ff;border-color:#bfdbfe;}
.delivery-rider-row.selected{
    background:#dcfce7;
    border-color:#86efac;
}
.delivery-rider-row-name{
    font-weight:1000;
    color:#0f172a;
    flex:1 1 auto;
    min-width:0;
}
.delivery-rider-row-phone{
    font-size:12px;
    font-weight:800;
    color:#64748b;
    white-space:nowrap;
}
.delivery-rider-row-check{
    color:#16a34a;
    font-weight:1000;
    font-size:16px;
    flex-shrink:0;
}
.delivery-rider-actions{
    display:flex;
    justify-content:flex-end;
}
.delivery-rider-skip-btn{
    border:0;
    min-height:42px;
    border-radius:13px;
    padding:0 16px;
    background:#f3f4f6;
    color:#111827;
    font-weight:1000;
    cursor:pointer;
}


/* ==== BILL_KDS_ALL_ORDERS_V1: KDS-style All Orders experience on bill.php ==== */
/* Keep Bill page placement rules, but match the KDS button's premium visual treatment. */
html body .past-orders-fab{
    background:linear-gradient(135deg,#0f172a 0%,#6366f1 52%,#8b5cf6 100%)!important;
    color:#fff!important;
    border:2px solid rgba(255,255,255,.82)!important;
    box-shadow:0 20px 44px rgba(99,102,241,.32)!important;
}
html body .past-orders-fab:hover{box-shadow:0 24px 52px rgba(99,102,241,.38)!important;}

/* Main All Orders dashboard: use the same clean KDS floating-card proportions. */
#pastOrdersModal.past-orders-modal{z-index:1120!important;backdrop-filter:blur(5px);}
#pastOrdersModal .past-orders-card{
    width:min(980px,100%)!important;
    max-height:92vh!important;
    border-radius:26px!important;
    box-shadow:0 26px 80px rgba(15,23,42,.32)!important;
    border:1px solid #e5e7eb!important;
    background:#fff!important;
}
.bill-kds-past-card{transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.bill-kds-past-card:hover{transform:translateY(-1px);border-color:#c7d2fe;box-shadow:0 12px 28px rgba(15,23,42,.08);}
.bill-kds-past-head{background:linear-gradient(135deg,#f8fafc,#eef2ff)!important;}
.bill-kds-past-main{min-width:0;}
.bill-kds-past-main strong,.bill-kds-past-main small{overflow-wrap:anywhere;}
.bill-allorders-rider{color:#2563eb!important;font-weight:1000!important;}
.bill-kds-view-pill{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border-radius:999px;padding:0 10px;background:#eff6ff;color:#1d4ed8;font-size:11px;font-weight:1000;white-space:nowrap;}

/* Second-level floating details card, ported from the KDS interaction. */
.bill-order-details-backdrop{
    position:fixed;inset:0;z-index:30000;display:none;align-items:center;justify-content:center;
    padding:18px;background:rgba(15,23,42,.62);backdrop-filter:blur(8px);
}
.bill-order-details-backdrop.open{display:flex!important;}
.bill-order-details-modal{
    width:100%;max-width:980px;max-height:92vh;background:#fff;border-radius:28px;
    box-shadow:0 30px 90px rgba(15,23,42,.34);overflow:hidden;display:flex;flex-direction:column;
    animation:billKdsOrderModalPop .16s ease-out;
}
@keyframes billKdsOrderModalPop{from{opacity:.35;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
.bill-order-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;color:#fff;background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed);}
.bill-order-modal-head h3{margin:0;font-size:20px;letter-spacing:-.02em;}
.bill-order-modal-head small{display:block;margin-top:3px;color:rgba(255,255,255,.82);font-weight:850;}
.bill-order-modal-close{border:0;min-height:40px;border-radius:14px;padding:0 14px;color:#fff;background:rgba(255,255,255,.16);font-weight:1000;cursor:pointer;}
.bill-order-modal-body{padding:16px;overflow:auto;-webkit-overflow-scrolling:touch;background:linear-gradient(180deg,#fff,#f8fbff);}
.bill-kds-details{display:block;}
.bill-kds-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;}
.bill-kds-info-grid .bill-kds-info-box:nth-child(4){grid-column:auto;}
.bill-kds-info-box{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:11px;font-size:12px;line-height:1.55;font-weight:800;color:#0f172a;overflow-wrap:anywhere;}
.bill-kds-info-box>strong:first-child{display:inline-block;margin-bottom:3px;color:#475569;text-transform:uppercase;letter-spacing:.25px;font-size:10px;}
.bill-kds-items{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:4px 12px;margin-bottom:12px;}
.bill-kds-item-line{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px dashed #e5e7eb;font-size:13px;}
.bill-kds-item-line:last-child{border-bottom:0;}
.bill-kds-item-line span{min-width:0;}
.bill-kds-item-line small{display:block;margin-top:3px;color:#64748b;font-weight:800;}
.bill-kds-totals{border:1px solid #e5e7eb;border-radius:18px;background:#fff;padding:7px 12px;}
.bill-kds-total-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #e5e7eb;font-size:13px;}
.bill-kds-total-row:last-child{border-bottom:0;}
.bill-kds-total-row.final{font-size:16px;color:#0f172a;}
.bill-kds-actions{position:sticky;bottom:-16px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:12px;padding:12px 0 4px;background:linear-gradient(180deg,rgba(248,251,255,.88),#fff);}
.bill-kds-action{border:0;min-height:44px;border-radius:14px;padding:0 16px;font:inherit;font-weight:1000;cursor:pointer;}
.bill-kds-action.print{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;}
.bill-kds-action.modify{background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;}

/* Child popups launched from the new details card must sit above it. */
#gpsLocationModal.gps-modal-backdrop{z-index:70010!important;}
#pastPrintChoiceModal.past-print-choice-backdrop{z-index:70020!important;}

@media(max-width:680px){
    .bill-order-details-backdrop{align-items:flex-start;padding:10px;}
    .bill-order-details-modal{max-height:94vh;border-radius:22px;}
    .bill-order-modal-head{padding:13px;}
    .bill-order-modal-head h3{font-size:17px;}
    .bill-order-modal-close{min-height:36px;padding:0 11px;}
    .bill-order-modal-body{padding:12px;}
    .bill-kds-info-grid{grid-template-columns:1fr;}
    .bill-kds-actions{display:grid;grid-template-columns:1fr 1fr;}
    .bill-kds-action{width:100%;padding:0 10px;font-size:12px;}
    .bill-kds-past-head{align-items:flex-start!important;}
    .bill-kds-past-head .past-card-tags{justify-content:flex-start!important;}
}
@media print{.bill-order-details-backdrop{display:none!important;}}


/* ==== PAST_ORDERS_CUSTOMER_PROFILE_V1 ==== */
.past-customer-profile-trigger{cursor:pointer!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.past-customer-profile-trigger:hover,.past-customer-profile-trigger:focus{border-color:#93c5fd!important;box-shadow:0 10px 24px rgba(37,99,235,.12)!important;outline:none!important;transform:translateY(-1px)}
.past-customer-profile-hint{display:block;margin-top:8px;padding-top:7px;border-top:1px dashed #cbd5e1;color:#2563eb!important;font-weight:1000!important;text-transform:uppercase;letter-spacing:.25px;font-size:10px!important}
.past-cp-backdrop{position:fixed;inset:0;z-index:2147483630;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(15,23,42,.64);backdrop-filter:blur(8px)}.past-cp-backdrop.open{display:flex!important}
.past-cp-card{width:100%;max-width:660px;max-height:92vh;overflow:hidden;background:#fff;border-radius:26px;box-shadow:0 30px 90px rgba(15,23,42,.4);display:flex;flex-direction:column}.past-cp-head{flex:0 0 auto;padding:16px 18px;color:#fff;background:linear-gradient(135deg,#0f172a,#2563eb,#7c3aed);display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.past-cp-head h3{margin:0;font-size:20px}.past-cp-head p{margin:4px 0 0;font-size:12px;font-weight:850;color:rgba(255,255,255,.85)}.past-cp-head button{border:0;border-radius:13px;background:rgba(255,255,255,.18);color:#fff;font-weight:1000;padding:8px 12px;cursor:pointer}.past-cp-body{flex:1 1 auto;min-height:0;padding:16px;overflow:auto;background:linear-gradient(180deg,#fff,#f8fbff)}
.past-cp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:14px}.past-cp-stats>div{border:1px solid #e5e7eb;border-radius:16px;padding:11px;background:#f8fafc;text-align:center}.past-cp-stats small{display:block;text-transform:uppercase;letter-spacing:.35px;font-size:10px;font-weight:1000;color:#64748b}.past-cp-stats strong{display:block;margin-top:6px;font-size:17px;color:#0f172a}.past-cp-stats .paid strong{color:#166534}.past-cp-stats .due strong{color:#991b1b}
.past-cp-edit{border:1px solid #dbeafe;background:#f8fbff;border-radius:17px;padding:12px;margin-bottom:14px}.past-cp-section-title{font-size:13px;font-weight:1000;color:#0f172a;margin:4px 0 9px;text-transform:uppercase;letter-spacing:.3px}.past-cp-edit-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.past-cp-edit-grid label{display:grid;gap:5px;font-size:10px;text-transform:uppercase;letter-spacing:.3px;font-weight:1000;color:#64748b}.past-cp-edit-grid label.wide{grid-column:1/-1}.past-cp-edit-grid input{width:100%;min-height:40px;border:1px solid #cbd5e1;border-radius:12px;padding:0 10px;font:inherit;font-weight:800;background:#fff;box-sizing:border-box}.past-cp-edit-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:10px}.past-cp-edit-actions button{border:0;border-radius:12px;min-height:40px;padding:0 14px;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;font-weight:1000;cursor:pointer}.past-cp-edit-actions span{font-size:11px;font-weight:850;color:#64748b}.past-cp-edit-actions span.ok{color:#166534}.past-cp-edit-actions span.err{color:#991b1b}
.past-cp-ledger{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:14px}.past-cp-ledger>div{border:1px solid #e5e7eb;border-radius:16px;padding:11px;background:#fff}.past-cp-ledger label{display:block;font-size:11px;font-weight:1000;color:#334155;margin-bottom:7px}.past-cp-ledger>div>div{display:flex;gap:7px}.past-cp-ledger input{flex:1;min-width:0;border:1px solid #cbd5e1;border-radius:12px;padding:0 10px;min-height:40px;font:inherit;font-weight:800}.past-cp-ledger button{border:0;border-radius:12px;padding:0 13px;min-height:40px;font-weight:1000;color:#fff;cursor:pointer;white-space:nowrap}.past-cp-ledger .received button{background:linear-gradient(135deg,#16a34a,#22c55e)}.past-cp-ledger .debt button{background:linear-gradient(135deg,#dc2626,#f97316)}.past-cp-ledger small{display:block;min-height:14px;margin-top:6px;font-size:11px;font-weight:850}.past-cp-ledger small.ok{color:#166534}.past-cp-ledger small.err{color:#991b1b}
.past-cp-orders{display:grid;gap:8px}.past-cp-order-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid #e5e7eb;border-radius:14px;padding:10px 12px;background:#fff}.past-cp-order-row strong{display:block;color:#0f172a;font-size:14px}.past-cp-order-row small{display:block;color:#64748b;font-weight:800;margin-top:2px}.past-cp-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.past-cp-status,.past-cp-pay{border-radius:999px;padding:5px 9px;font-size:10px;font-weight:1000;white-space:nowrap}.past-cp-status{background:#eff6ff;color:#1d4ed8}.past-cp-status.cancelled{background:#fee2e2;color:#991b1b}.past-cp-status.delivered,.past-cp-status.served,.past-cp-status.completed{background:#dcfce7;color:#166534}.past-cp-pay.received{background:#dcfce7;color:#166534}.past-cp-pay.pending{background:#fee2e2;color:#991b1b}.past-cp-pay.partial{background:#fef3c7;color:#92400e}.past-cp-pay.unrecorded{background:#f1f5f9;color:#64748b}.past-cp-empty{border:1px dashed #cbd5e1;border-radius:16px;padding:14px;text-align:center;color:#64748b;background:#f8fafc;font-weight:800}.past-cp-pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px}.past-cp-pager button{border:0;min-height:40px;border-radius:13px;padding:0 14px;font-weight:1000;cursor:pointer;background:#f1f5f9;color:#0f172a}.past-cp-pager button:disabled{opacity:.45}.past-cp-pager strong{font-size:12px;color:#64748b}
.past-cp-conflict{position:fixed;inset:0;z-index:2147483646;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(15,23,42,.6);backdrop-filter:blur(4px)}.past-cp-conflict>div{width:min(520px,100%);background:#fff;border-radius:20px;padding:22px;box-shadow:0 24px 70px rgba(15,23,42,.35)}.past-cp-conflict h3{margin:0 0 10px}.past-cp-conflict p{line-height:1.55;color:#334155}.past-cp-conflict section{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.past-cp-conflict button{border:1px solid #cbd5e1;background:#fff;color:#24324a;border-radius:12px;padding:11px 16px;font-weight:900;cursor:pointer}.past-cp-conflict button.merge{border:0;background:#2563eb;color:#fff}
@media(max-width:640px){.past-cp-backdrop{align-items:flex-start;padding:8px}.past-cp-card{max-height:96vh;border-radius:20px}.past-cp-stats{grid-template-columns:1fr 1fr}.past-cp-edit-grid,.past-cp-ledger,.past-cp-order-row{grid-template-columns:1fr}.past-cp-edit-grid label.wide{grid-column:auto}.past-cp-tags{justify-content:flex-start}.past-cp-ledger>div>div{flex-wrap:wrap}.past-cp-ledger button{width:100%}}
@media print{.past-cp-backdrop,.past-cp-conflict{display:none!important}}


/* ==== ALL ORDERS MODIFY CHILD-MODAL CLIPPING FIX ==== */
#pastEditModalV311.pe311-backdrop{z-index:2147483640!important}
#pastEditModalV311 .pe311-card{height:min(94vh,900px)!important;max-height:94vh!important;min-height:0!important}
#pastEditModalV311 .pe311-head{flex:0 0 auto!important}
#pastEditModalV311 .pe311-body{flex:1 1 auto!important;min-height:0!important;overflow:auto!important}
#pastEditModalV311 .pe311-layout{min-height:0!important}
#pastEditModalV311 .pe311-actions{flex:0 0 auto!important;position:relative!important;z-index:2!important}
@media(max-width:700px){#pastEditModalV311 .pe311-card{height:96vh!important;max-height:96vh!important}#pastEditModalV311 .pe311-body{padding-bottom:12px!important}}

/* v330: Bill All Orders no longer opens a nested Modify floating card. */
.bill-kds-actions.bill-kds-actions-print-only{display:grid!important;grid-template-columns:minmax(160px,260px)!important;justify-content:flex-start!important;}
.bill-kds-actions.bill-kds-actions-print-only .bill-kds-action.print{width:100%;}


/* DINEIN_TABLE_MAP_V1 --------------------------------------------------- */
.dinein-selected-table-pill{
    margin-top:10px;
    width:100%;
    min-height:42px;
    border:1px solid #cbd5e1;
    background:#fff;
    color:#0f172a;
    border-radius:14px;
    padding:8px 12px;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-weight:900;
    cursor:pointer;
    box-shadow:0 6px 16px rgba(15,23,42,.06);
}
.dinein-selected-table-pill:hover{border-color:#64748b;transform:translateY(-1px)}
.dinein-selected-table-pill.occupied{background:#ecfdf5;border-color:#86efac;color:#166534}
.dinein-selected-table-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px rgba(148,163,184,.14)}
.dinein-selected-table-pill.occupied .dinein-selected-table-dot{background:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.14)}

.dinein-table-backdrop{
    position:fixed;
    inset:0;
    z-index:12050;
    display:none;
    align-items:center;
    justify-content:center;
    padding:22px;
    background:rgba(15,23,42,.56);
    backdrop-filter:blur(8px);
}
.dinein-table-backdrop.open{display:flex}
.dinein-table-card{
    width:min(1120px,96vw);
    max-height:90vh;
    overflow:hidden;
    border-radius:26px;
    background:#f8fafc;
    border:1px solid rgba(255,255,255,.65);
    box-shadow:0 30px 80px rgba(15,23,42,.32);
    display:flex;
    flex-direction:column;
}
.dinein-table-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:20px 22px 16px;
    background:linear-gradient(135deg,#0f172a,#1e293b);
    color:#fff;
}
.dinein-table-kicker{display:block;font-size:11px;font-weight:1000;letter-spacing:.16em;color:#93c5fd;margin-bottom:4px}
.dinein-table-head h3{margin:0;font-size:25px;line-height:1.1}
.dinein-table-head p{margin:6px 0 0;color:#cbd5e1;font-size:13px;font-weight:700}
.dinein-table-close{
    flex:0 0 auto;
    width:42px;height:42px;border:0;border-radius:13px;
    background:rgba(255,255,255,.12);color:#fff;font-size:25px;line-height:1;cursor:pointer
}
.dinein-table-close:hover{background:rgba(255,255,255,.2)}
.dinein-table-legend{
    display:flex;align-items:center;gap:16px;flex-wrap:wrap;
    padding:12px 20px;border-bottom:1px solid #e2e8f0;background:#fff;
    color:#475569;font-size:12px;font-weight:900
}
.dinein-table-legend>span{display:inline-flex;align-items:center;gap:7px}
.legend-box{display:inline-block;width:13px;height:13px;border-radius:4px;border:1px solid #cbd5e1;background:#fff}
.legend-box.occupied{background:#22c55e;border-color:#16a34a}
.dinein-table-refresh{
    margin-left:auto;border:1px solid #dbe3ed;background:#f8fafc;color:#334155;
    min-height:34px;padding:0 12px;border-radius:10px;font-weight:900;cursor:pointer
}
.dinein-table-complete-btn{
    border:1px solid #86efac;background:#ecfdf5;color:#166534;
    min-height:34px;padding:0 12px;border-radius:10px;font-weight:1000;cursor:pointer
}
.dinein-table-complete-btn.active{background:linear-gradient(135deg,#15803d,#22c55e);border-color:#15803d;color:#fff}
.dinein-table-box.complete-target{outline:3px solid #f59e0b;outline-offset:2px;animation:dineCompletePulse 1.2s ease-in-out infinite}
@keyframes dineCompletePulse{50%{box-shadow:0 0 0 7px rgba(245,158,11,.16)}}
.dinein-complete-payment-backdrop{
    position:fixed;inset:0;z-index:12150;display:none;align-items:center;justify-content:center;
    padding:16px;background:rgba(15,23,42,.7);backdrop-filter:blur(8px)
}
.dinein-complete-payment-backdrop.open{display:flex}
.dinein-complete-payment-card{width:min(460px,100%);overflow:hidden;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(15,23,42,.4)}
.dinein-complete-payment-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;color:#fff;background:linear-gradient(135deg,#0f172a,#2563eb)}
.dinein-complete-payment-head h3{margin:0;font-size:20px}.dinein-complete-payment-head small{display:block;margin-top:3px;color:#dbeafe;font-weight:800}
.dinein-complete-payment-close{border:0;border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.16);color:#fff;font-weight:1000;cursor:pointer}
.dinein-complete-payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}
.dinein-complete-payment-btn{min-height:62px;border:0;border-radius:17px;color:#fff;font:inherit;font-weight:1000;cursor:pointer}
.dinein-complete-payment-btn.cash{background:linear-gradient(135deg,#15803d,#22c55e)}
.dinein-complete-payment-btn.card{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.dinein-complete-payment-btn.online{background:linear-gradient(135deg,#2563eb,#06b6d4)}
.dinein-complete-payment-btn:disabled{opacity:.6;cursor:wait}
.dinein-table-grid{
    padding:18px;
    overflow:auto;
    display:grid;
    grid-template-columns:repeat(10,minmax(82px,1fr));
    gap:12px;
}
.dinein-table-loading{
    grid-column:1/-1;
    padding:42px 20px;text-align:center;color:#64748b;font-weight:900
}
.dinein-table-loading.error{color:#b91c1c}
.dinein-table-box{
    min-width:0;
    min-height:126px;
    border:1px solid #dbe3ed;
    background:#fff;
    color:#0f172a;
    border-radius:18px;
    padding:12px 8px 10px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    cursor:pointer;
    position:relative;
    box-shadow:0 8px 18px rgba(15,23,42,.05);
    transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background .15s ease;
}
.dinein-table-box:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(15,23,42,.1);border-color:#94a3b8}
.dinein-table-box.occupied{
    background:linear-gradient(180deg,#f0fdf4,#dcfce7);
    border-color:#86efac;
    color:#14532d;
}
.dinein-table-box.selected{
    outline:3px solid #2563eb;
    outline-offset:2px;
}
.dinein-table-box.occupied.selected{outline-color:#15803d}
.table-shape{
    width:54px;height:42px;border-radius:10px;
    background:#e2e8f0;border:2px solid #94a3b8;
    position:relative;display:flex;align-items:center;justify-content:center;
    margin:5px 0 7px;
}
.occupied .table-shape{background:#22c55e;border-color:#15803d;color:#fff}
.table-shape strong{font-size:17px;font-weight:1000}
.table-shape .chair{position:absolute;width:15px;height:7px;border-radius:4px;background:#94a3b8}
.occupied .table-shape .chair{background:#15803d}
.table-shape .chair.top{top:-9px;left:50%;transform:translateX(-50%)}
.table-shape .chair.bottom{bottom:-9px;left:50%;transform:translateX(-50%)}
.table-shape .chair.left{left:-11px;top:50%;transform:translateY(-50%) rotate(90deg)}
.table-shape .chair.right{right:-11px;top:50%;transform:translateY(-50%) rotate(90deg)}
.table-box-label{font-size:12px;font-weight:1000}
.table-order-no{font-size:11px;font-weight:1000;color:#15803d}
.dinein-table-box small{font-size:9px;text-transform:capitalize;color:#64748b;font-weight:800}
.table-available-text{font-size:10px;color:#94a3b8;font-weight:900}

.bill-success-toast{
    position:fixed;
    z-index:14000;
    left:50%;
    top:24px;
    transform:translate(-50%,-18px);
    opacity:0;
    pointer-events:none;
    max-width:min(620px,calc(100vw - 28px));
    padding:13px 18px;
    border-radius:14px;
    color:#fff;
    font-size:14px;
    font-weight:900;
    box-shadow:0 18px 40px rgba(15,23,42,.22);
    transition:opacity .18s ease,transform .18s ease;
}
.bill-success-toast.show{opacity:1;transform:translate(-50%,0)}
.bill-success-toast.success{background:linear-gradient(135deg,#15803d,#22c55e)}
.bill-success-toast.error{background:linear-gradient(135deg,#b91c1c,#ef4444)}

@media(max-width:1180px){
    .dinein-table-grid{grid-template-columns:repeat(7,minmax(82px,1fr))}
}
@media(max-width:820px){
    .dinein-table-backdrop{padding:8px;align-items:flex-end}
    .dinein-table-card{width:100%;max-height:94vh;border-radius:24px 24px 12px 12px}
    .dinein-table-head{padding:16px}
    .dinein-table-head h3{font-size:21px}
    .dinein-table-grid{grid-template-columns:repeat(4,minmax(72px,1fr));gap:9px;padding:12px}
    .dinein-table-box{min-height:116px;border-radius:15px}
}
@media(max-width:480px){
    .dinein-table-grid{grid-template-columns:repeat(3,minmax(72px,1fr))}
    .dinein-table-legend{gap:10px;padding:10px 12px}
    .dinein-table-refresh{margin-left:0}
    .dinein-complete-payment-grid{grid-template-columns:1fr}
}
@media print{
    .dinein-table-backdrop,.dinein-complete-payment-backdrop,.bill-success-toast,.dinein-selected-table-pill{display:none!important}
}

/* ==== BILL_HEADER_ORDER_CONTROLS_V1 ==== */
@media (min-width:981px){
    .bill-quick-actions{
        display:grid!important;
        grid-template-columns:minmax(0,1.02fr) minmax(0,1.48fr) minmax(0,1fr);
        align-items:stretch!important;
        gap:10px!important;
    }
    .bqa-utility-cluster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,44px);gap:7px;min-width:0}
    .bqa-print-cluster{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:8px;min-width:0}
    .bqa-action-column{display:grid;grid-template-rows:44px 38px;gap:6px;min-width:0}
    .bqa-delivery-types{display:grid;grid-template-columns:1fr 1fr;gap:6px}
    .bqa-type-trigger{
        min-height:38px;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:#0f172a;
        font:inherit;font-size:13px;font-weight:1000;cursor:pointer;display:flex;align-items:center;
        justify-content:center;gap:5px;box-shadow:0 6px 14px rgba(15,23,42,.06)
    }
    .bqa-type-trigger small{font-size:9px;line-height:1;padding:3px 5px;border-radius:999px;background:#e2e8f0;color:#334155}
    .bqa-type-trigger.selected{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 2px rgba(37,99,235,.13)}
    .bqa-type-rider.selected{border-color:#16a34a;background:#f0fdf4;color:#166534;box-shadow:0 0 0 2px rgba(22,163,74,.12)}
    .bqa-running-cluster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;min-width:0;align-items:stretch}
    .bqa-running-btn{
        min-height:88px;height:100%;border:1px solid #ddd6fe;border-radius:15px;padding:9px 7px;background:linear-gradient(180deg,#fff,#f5f3ff);
        color:#312e81;font:inherit;font-size:11px;line-height:1.25;font-weight:1000;cursor:pointer;display:flex;
        flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px
    }
    .bqa-running-btn span{min-width:25px;height:25px;border-radius:999px;padding:0 6px;background:#4f46e5;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
    .cart-order-type-wrap{display:none!important}
}
@media (min-width:981px) and (max-width:1280px){
    .bqa-btn{padding:0 8px!important;font-size:11px!important}
    .bqa-type-trigger{font-size:12px}
    .bqa-running-btn{font-size:10px;padding:7px 4px}
}

.radio-grid.order-icon-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
button.radio-option.order-icon-option{appearance:none;font:inherit;cursor:pointer}
.icon-rider{background:linear-gradient(135deg,#ecfdf5,#f0fdf4)!important;border-color:#86efac!important;color:#166534!important}
.icon-rider .order-type-mark{background:linear-gradient(135deg,#16a34a,#0f766e)!important;font-size:12px!important;width:58px!important}

.delivery-payment-card{max-width:470px}
.delivery-payment-options-card{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px 0}
.delivery-payment-options-card .delivery-payment-option{min-height:64px}
.delivery-payment-options-card .delivery-payment-udhaar{grid-column:1/-1;border-color:#f59e0b;background:#fffbeb;color:#92400e}

#deliveryPaymentModal,#billRunningOrdersModal,#billRunningOrderActionModal{z-index:2147483300!important}
.bro-card{width:min(780px,96vw);max-width:780px}
.bro-head h3{margin:0}.bro-head small{display:block;margin-top:3px;color:#64748b;font-weight:800}
.bro-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px;max-height:66vh;overflow:auto;padding:4px}
.bro-order-box{aspect-ratio:1/1;min-height:118px;border:1px solid #c7d2fe;border-radius:18px;background:linear-gradient(145deg,#fff,#eef2ff);color:#0f172a;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;box-shadow:0 10px 24px rgba(79,70,229,.10)}
.bro-order-box strong{font-size:22px;color:#312e81}.bro-order-box .bro-runtime{font-size:15px;font-weight:1000;color:#dc2626}.bro-order-box small{font-size:10px;text-transform:capitalize;color:#64748b;font-weight:900}.bro-order-box em{font-style:normal;font-size:10px;padding:4px 7px;border-radius:999px;background:#fff7ed;color:#9a3412;font-weight:1000}
.bro-empty{grid-column:1/-1;padding:26px;text-align:center;border:1px dashed #cbd5e1;border-radius:17px;color:#64748b;font-weight:900}.bro-empty.error{color:#b91c1c;border-color:#fecaca;background:#fef2f2}
.bro-action-card{max-width:560px}.bro-action-body{padding:4px 0}.bro-action-main{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.bro-action-btn{min-height:68px;border:0;border-radius:17px;color:#fff;font:inherit;font-weight:1000;cursor:pointer}.bro-action-btn.cancel{background:linear-gradient(135deg,#dc2626,#ef4444)}.bro-action-btn.complete{background:linear-gradient(135deg,#15803d,#22c55e)}.bro-action-btn.print{background:linear-gradient(135deg,#ea580c,#f59e0b)}
.bro-cancel-panel label{display:block;margin-bottom:7px;font-size:12px;font-weight:1000;color:#475569;text-transform:uppercase}.bro-cancel-panel textarea{width:100%;min-height:96px;resize:vertical;border:1px solid #cbd5e1;border-radius:14px;padding:11px;font:inherit;box-sizing:border-box}.bro-confirm-cancel{width:100%;min-height:48px;margin-top:10px;border:0;border-radius:14px;background:#dc2626;color:#fff;font-weight:1000;cursor:pointer}
.bro-payment-panel>strong{display:block;margin-bottom:10px;color:#0f172a}.bro-payment-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.bro-payment-grid button{min-height:60px;border:0;border-radius:15px;background:#0f172a;color:#fff;font:inherit;font-weight:1000;cursor:pointer}.bro-payment-grid button:nth-child(1){background:#16a34a}.bro-payment-grid button:nth-child(2){background:#7c3aed}.bro-payment-grid button:nth-child(3){background:#2563eb}

.mobile-running-cluster{display:none}
@media(max-width:980px){
    .clean-action-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
    .clean-action-grid .split-print-action{grid-column:1/-1!important}
    .clean-action-grid .cart-action-third{grid-column:span 2!important}
    .clean-action-grid .cart-action-half{grid-column:span 3!important}
    .mobile-running-cluster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:2px}
    .mobile-running-btn{min-height:90px;border:1px solid #ddd6fe;border-radius:15px;padding:9px 5px;background:linear-gradient(180deg,#fff,#f5f3ff);color:#312e81;font:inherit;font-size:10.5px;line-height:1.2;font-weight:1000;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px}
    .mobile-running-btn span{min-width:25px;height:25px;border-radius:999px;padding:0 6px;background:#4f46e5;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
}
@media(max-width:380px){
    .mobile-running-cluster{gap:5px}
    .mobile-running-btn{min-height:84px;padding:7px 3px;font-size:9.5px}
}

@media(max-width:980px){
    html body #deliveryRiderModal.modal-backdrop,
    html body #deliveryPaymentModal.modal-backdrop,
    html body #billRunningOrdersModal.modal-backdrop,
    html body #billRunningOrderActionModal.modal-backdrop{z-index:2147483300!important;position:fixed!important;inset:0!important}
    .delivery-rider-card,.delivery-payment-card{width:min(94vw,470px)!important;max-height:88vh;overflow:auto}
}
@media(max-width:520px){
    .bro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.bro-order-box{min-height:112px}
    .bro-action-main,.bro-payment-grid{grid-template-columns:1fr}.delivery-payment-options-card{grid-template-columns:1fr}.delivery-payment-options-card .delivery-payment-udhaar{grid-column:auto}
}
@media print{#deliveryPaymentModal,#billRunningOrdersModal,#billRunningOrderActionModal{display:none!important}}

/* CUSTOMER_CANCEL_ALERTS_V1: red customer-cancellation notice, separate from new orders. */
.food-cancel-popups-bill{
    position:fixed;
    top:14px;
    right:14px;
    left:auto;
    z-index:10030;
    display:grid;
    gap:10px;
    width:min(500px,calc(100vw - 28px));
    max-height:calc(100dvh - 28px);
    overflow:auto;
    padding:0 0 3px 3px;
    pointer-events:none;
    scrollbar-width:thin;
}
.food-cancel-popup-bill{
    pointer-events:auto;
    overflow:hidden;
    border:2px solid #ef4444;
    border-radius:20px;
    background:#fff;
    box-shadow:0 24px 70px rgba(127,29,29,.32);
}
.food-cancel-head-bill{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 14px;
    background:linear-gradient(135deg,#7f1d1d,#dc2626,#ef4444);
    color:#fff;
    font-weight:1000;
}
.food-cancel-head-bill span{
    text-transform:uppercase;
    letter-spacing:.07em;
    font-size:13px;
}
.food-cancel-body-bill{
    display:grid;
    gap:9px;
    padding:12px;
    background:linear-gradient(180deg,#fff,#fff5f5);
    color:#0f172a;
    font-size:13px;
    line-height:1.4;
}
.food-cancel-meta-bill{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    align-items:start;
}
.food-cancel-meta-bill>div:last-child{text-align:right}
.food-cancel-meta-bill small{color:#64748b;font-weight:850}
.food-cancel-reason-bill{
    display:grid;
    gap:3px;
    padding:9px 10px;
    border:1px solid #fecaca;
    border-radius:12px;
    background:#fee2e2;
    color:#7f1d1d;
}
.food-cancel-reason-bill strong{text-transform:uppercase;font-size:10px;letter-spacing:.06em}
.food-cancel-reason-bill span{font-weight:1000;overflow-wrap:anywhere}
.food-cancel-items-bill{display:grid;gap:6px;max-height:260px;overflow:auto}
.food-cancel-item-bill{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:9px;
    padding:7px 9px;
    border:1px solid #fee2e2;
    border-radius:11px;
    background:#fff;
    font-size:12.5px;
    font-weight:900;
}
.food-cancel-item-bill span{min-width:0;overflow-wrap:anywhere}
.food-cancel-item-bill small{display:block;color:#64748b;font-weight:800}
.food-cancel-item-bill b{white-space:nowrap;color:#991b1b}
.food-cancel-empty-bill{color:#64748b;font-weight:850}
.food-cancel-total-bill{
    display:flex;
    justify-content:space-between;
    gap:10px;
    padding-top:8px;
    border-top:1px dashed #fca5a5;
    font-size:15px;
    font-weight:1000;
}
.food-cancel-ack-bill{
    width:100%;
    min-height:44px;
    border:0;
    border-radius:13px;
    background:linear-gradient(135deg,#991b1b,#dc2626);
    color:#fff;
    font:inherit;
    font-weight:1000;
    cursor:pointer;
    box-shadow:0 9px 20px rgba(185,28,28,.23);
}
.food-cancel-ack-bill:disabled{opacity:.65;cursor:wait}
@media(max-width:640px){
    .food-cancel-popups-bill{top:8px;right:8px;left:8px;width:auto;max-height:calc(100dvh - 16px);z-index:2147483200}
    .food-cancel-popup-bill{border-radius:18px}
    .food-cancel-meta-bill{grid-template-columns:1fr}
    .food-cancel-meta-bill>div:last-child{text-align:left}
}
@media print{.food-cancel-popups-bill{display:none!important}}
