:root{font-family:system-ui,-apple-system,sans-serif;color:#232323;background:#f5f5f5;font-size:16px;--red:#bb291b}*{box-sizing:border-box}body{margin:0}header{background:#182e29;color:white;padding:26px 22px;display:flex;justify-content:space-between;align-items:center;gap:14px}header small{font-size:11px;letter-spacing:1.3px;color:#dce6df}h1{font-size:25px;line-height:1.2;margin:10px 0 0;letter-spacing:.5px}h1 span{font-size:12px;display:block;color:#ffcb6b;letter-spacing:4px;margin-top:5px}h2{font-size:25px;margin:8px 0 20px}h3{margin:10px 0}main{max-width:1000px;margin:auto;padding:24px 18px;min-height:65vh}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.eyebrow{color:#995422;font-size:14px;margin:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.card,.empty{background:white;border:1px solid #e3e5e3;border-radius:18px;overflow:hidden;padding:18px}.card img{width:100%;height:160px;object-fit:cover;border-radius:10px}.empty{padding:50px 24px;text-align:center;grid-column:1/-1}.empty p,p{color:#606660;line-height:1.6}.price{font-size:22px;font-weight:750}.price del{font-size:15px;color:#777;font-weight:400;margin-right:10px}.unavailable{color:#a4261c;background:#fff0ed;padding:7px 10px;border-radius:8px;font-size:14px}.offer{padding:18px;background:#fff0c8;border-radius:15px;margin-bottom:18px;border:1px solid #efdaa0}.offer strong{display:block}button{font:inherit;font-weight:650;border:0;background:var(--red);color:white;border-radius:11px;padding:12px 16px;cursor:pointer;min-height:46px}button:disabled{opacity:.4;cursor:not-allowed}button.secondary{background:#e9eeeb;color:#1f3d34}header button.secondary{background:#304740;color:white}label{display:block;margin:15px 0;font-size:15px;font-weight:550}input,textarea{display:block;width:100%;font:inherit;padding:12px;border:1px solid #b9c5bd;border-radius:9px;margin-top:6px;background:white;color:#222}textarea{min-height:70px}input[type=checkbox]{width:22px;height:22px;margin:0}.check{display:flex;gap:12px;align-items:center}dialog{border:0;border-radius:20px;width:calc(100% - 24px);max-width:520px;padding:22px;max-height:90vh;overflow:auto}dialog::backdrop{background:#00150e99}fieldset{border:1px solid #dce2de;border-radius:12px;margin:20px 0}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}#photoPreview{width:100%;max-height:180px;object-fit:contain}#auth{max-width:430px;background:white;padding:24px;border-radius:16px}#status{padding:10px 18px;font-size:14px;background:#fff0c8}#status:empty{display:none}.twocol{display:grid;grid-template-columns:1fr 1fr;gap:12px}.line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;padding:12px 0;gap:8px}.qty{display:flex;align-items:center;gap:10px}.qty button{padding:5px 12px}footer{text-align:center;color:#64736a;font-size:13px;padding:25px}#toast{position:fixed;bottom:20px;left:16px;right:16px;max-width:600px;margin:auto;background:#182e29;color:white;padding:16px;border-radius:12px;z-index:20}#bill{background:#edf3ee;border-radius:12px;margin:16px 0;padding:0 15px}[hidden]{display:none!important}button:focus-visible,input:focus-visible{outline:3px solid #eea84e;outline-offset:3px}

.mapWrap{position:relative}.mapWrap #locationMap{height:340px;width:100%;border-radius:12px;background:#e4eae6}.mapPin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:1000;color:#bb291b;font-size:42px;font-weight:900;line-height:1;text-shadow:0 0 3px white;pointer-events:none}#mapDialog{max-width:600px}.leaflet-control-attribution{font-size:11px}.leaflet-control-zoom a{min-width:38px;min-height:38px}

.offerManager{margin-top:32px;border-top:1px solid #ddd;padding-top:22px}.offerManager .card p{margin:8px 0}.offerManager .empty{padding:20px}select{display:block;width:100%;font:inherit;padding:12px;border:1px solid #b9c5bd;border-radius:9px;margin-top:6px;background:white}

.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{width:72px;height:72px;object-fit:contain;border-radius:12px;background:#000;flex:none}.brand h1{font-size:21px;margin:5px 0 0}.brand small{font-size:10px}@media(max-width:380px){.brand img{width:54px;height:54px}.brand h1{font-size:18px}header{padding:15px 12px}}

.deliveryInfo{background:#fff0c8;border:1px solid #efdaa0;border-radius:14px;padding:14px 16px;margin-bottom:18px;font-weight:650;line-height:1.5}.packagingFee{font-size:14px;margin:8px 0;color:#6a5138}

.orderingNotice{padding:14px 18px;border-radius:12px;background:#e4f3e9;color:#17512c;font-weight:700;margin:0 0 18px}.orderingNotice.closed{background:#fff0ed;color:#a4261c}
.orderControl{background:#e8f4ec;border:1px solid #b6d5c1;border-radius:16px;padding:16px;margin:0 0 20px}.orderControl p{margin:8px 0}.orderControl button.selected{outline:3px solid #d29028;outline-offset:2px}.weekDay{padding:12px;border-bottom:1px solid #ddd}.weekDay>label{font-weight:700}.weekSlot{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin-left:28px}.weekSlot .check{grid-column:1/-1}.weekSlot label{margin:7px 0}.brand img{width:112px;height:76px;object-fit:cover;object-position:center;border-radius:10px}
@media(max-width:420px){.brand img{width:82px;height:70px}.brand h1{font-size:17px}.weekSlot{margin-left:0}}
.deliveryInfo strong{display:block;font-size:18px;margin-bottom:6px}.deliveryInfo small,.costSummary small{display:block;font-size:12px;line-height:1.4;margin-top:8px;color:#5f655e}.deliveryDeal{background:#fff;border-radius:9px;padding:8px 10px;color:#a4261c;font-weight:800;margin-top:10px}.costSummary{background:#f4f8f5;border-radius:12px;padding:14px;margin:14px 0}.costLine{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.costTotal{border-top:1px solid #a3b5aa;margin-top:8px;padding-top:12px;font-size:17px}
/* Compact customer menu: one row per dish on phones. */
.dietFilters{display:flex;gap:8px;overflow-x:auto;padding:3px 0 12px;margin:0 0 6px;scrollbar-width:thin}
.dietFilters button{display:inline-flex;gap:7px;align-items:center;flex:none;background:white;color:#2c322e;border:1px solid #d9dedb;padding:8px 12px;min-height:40px;font-size:14px}
.dietFilters button.active{background:#e8f4ec;border-color:#21804a;color:#125e34}
.categoryFilters{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;scrollbar-width:thin}
.categoryFilters button{flex:none;background:#fff;color:#2c322e;border:1px solid #d9dedb;padding:8px 12px;min-height:40px;font-size:14px}
.categoryFilters button.active{background:#fff0c6;border-color:#b98227;color:#6d3900}
.dietBadge{display:inline-flex;width:17px;height:17px;align-items:center;justify-content:center;border:1.7px solid currentColor;border-radius:3px;line-height:1;vertical-align:middle}
.dietBadge span{font-size:12px;line-height:1}
.dietBadge.veg{color:#168044}.dietBadge.egg{color:#bb831d;border-radius:50%}.dietBadge.nonveg{color:#9b5239}.dietBadge.nonveg span{font-size:10px}.dietBadge.unknown{color:#818781}
.menuList{background:#fff;border-radius:14px;overflow:hidden}
.menuItem{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:14px;padding:17px 10px 23px 14px;border-bottom:1px dashed #d8dcd8;min-height:156px}
.menuItem:last-child{border-bottom:0}
.menuDetails{min-width:0}.menuDetails h3{font-size:17px;line-height:1.25;margin:7px 0}.menuDetails .price{font-size:16px;margin:6px 0 2px;color:#242824}.menuDetails .price del{font-size:12px}
.menuDescription{font-size:13px;line-height:1.3;margin:7px 0;color:#6c716d;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.menuDetails .packagingFee{font-size:12px;margin:5px 0}.menuDetails .unavailable{font-size:12px;margin:5px 0;padding:4px 6px}
.menuVisual{position:relative;align-self:start;margin-bottom:15px}.menuVisual img,.photoPlaceholder{width:118px;height:108px;display:block;object-fit:cover;border-radius:12px}.photoPlaceholder{background:#edf0eb;display:grid;place-items:center;color:#5f6c60;text-align:center;font-size:13px}
.menuAdd{position:absolute;bottom:-16px;left:10px;width:98px;min-height:33px;padding:3px 8px;background:#fff;color:#b12829;border:1px solid #c86163;border-radius:7px;box-shadow:0 2px 5px #0002;font-size:14px}
@media(min-width:740px){.menuList{display:grid;grid-template-columns:1fr 1fr}.menuItem{border-right:1px dashed #d8dcd8}.menuVisual img,.photoPlaceholder{width:118px}}
@media(max-width:360px){.menuItem{grid-template-columns:minmax(0,1fr) 98px;gap:9px}.menuVisual img,.photoPlaceholder{width:98px;height:96px}.menuAdd{width:86px;left:6px}}
.lastOrderId{margin:0 0 14px;padding:12px;border-radius:10px;background:#edf2fb;color:#23395b;font-weight:650}
.orderHistory{border-top:1px solid #d6ded7;margin:22px 0;padding:20px 0}
.orderHistory .heading h2{font-size:21px;margin:0 0 8px}
.orderStats{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin:12px 0}
.orderStats label{min-width:145px;flex:1 1 145px}
.orderStats input{width:100%;box-sizing:border-box}
.orderStats strong{flex:1 1 160px;color:#184f39}
.statsDays{margin:8px 0 20px;max-height:210px;overflow:auto}
.statsDay{padding:8px 4px;border-bottom:1px solid #e1e5e1}
#adminItems{display:block}
.adminCategory{margin:16px 0;border:1px solid #dce3dd;border-radius:16px;background:white;overflow:hidden}
.adminCategoryHeading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f4f7f4}
.adminCategoryHeading h3{margin:0}
.adminCategoryItems{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:10px;padding:12px}
.availabilitySwitch{display:inline-flex;position:relative;flex:none;align-items:center;margin:0;cursor:pointer}
.availabilitySwitch input{position:absolute;opacity:0;width:1px;height:1px}
.switchTrack{display:inline-block;position:relative;width:52px;height:30px;border-radius:30px;background:#909a94;transition:background .15s}
.switchTrack:after{content:"";position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:white;box-shadow:0 1px 3px #0003;transition:transform .15s}
.availabilitySwitch input:checked+.switchTrack{background:#08a96a}
.availabilitySwitch input:checked+.switchTrack:after{transform:translateX(22px)}
.availabilitySwitch input:focus-visible+.switchTrack{outline:3px solid #bb291b;outline-offset:2px}
.orderSearch{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:14px 0}
.orderSearch input{flex:1 1 220px;min-width:0;margin:0}
.orderSearch button{font-size:14px;padding:8px 12px}
.orderRecord{background:#fff;border:1px solid #dce2de;border-radius:12px;padding:14px;margin:10px 0}
.orderRecord h3{margin:0 0 3px;color:#153e2c;overflow-wrap:anywhere}.orderRecord p{margin:6px 0}.orderRecord small{color:#606660}.orderRecord strong{display:block;margin-top:8px}

.menuQuantity{position:absolute;bottom:-16px;left:6px;min-width:106px;height:35px;display:flex;align-items:center;justify-content:space-between;border:1px solid #c86163;border-radius:7px;background:#fff;box-shadow:0 2px 5px #0002;color:#a52225;font-weight:700}.menuQuantity button{min-height:33px;min-width:33px;padding:0 6px;color:#a52225;background:transparent}.menuQuantity button:only-child{width:100%;min-width:94px}.menuQuantity span{min-width:20px;text-align:center}.cartItemDetail{min-width:0;display:grid;gap:3px}.cartItemDetail small{font-size:12px;color:#606660}.cartItemDetail strong:last-child{color:#194532}.qty{flex:none}.qty button{min-width:34px}.line{align-items:start}
.orderModeActions{align-items:center}
.orderToggle{display:inline-flex;gap:12px;align-items:center;margin:0;padding:8px 12px;background:#f0f6f0;border-radius:12px;font-weight:700;cursor:pointer}
.orderToggle .switchTrack{flex:none}
.compactActions{align-items:center;gap:6px;margin:8px 0 0;flex-wrap:nowrap}
.compactActions button{font-size:12px;min-height:34px;padding:6px 8px;white-space:nowrap}
.compactActions .availabilitySwitch{flex:none;margin-right:auto}
.categoryManager{margin:20px 0;padding:16px;background:#fff;border:1px solid #dce2de;border-radius:16px}
.categoryForm{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.categoryForm label{flex:1 1 190px;margin:6px 0}
.categoryForm button{flex:1 1 180px}
.reportDay{padding:12px 0;border-top:1px solid #dce2de}
.reportDay h3{font-size:15px;line-height:1.45}
.orderIdList{display:flex;gap:8px;flex-wrap:wrap}
.orderIdList button{font-size:13px;min-height:36px;padding:7px 10px}
@media(max-width:400px){.compactActions{flex-wrap:wrap}.compactActions button{flex:1 1 auto}}
#adminItems{display:block}
#privateRatings{max-height:640px;overflow-y:auto;overscroll-behavior-y:contain;padding-right:6px;scrollbar-gutter:stable}
.inventoryCategory>summary,.inventorySubcategory>summary{padding:14px 16px;font-weight:700;cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;background:#f0f5f1}
.inventoryCategory>summary:before,.inventorySubcategory>summary:before{content:'▸';font-size:20px;flex:none}
.inventoryCategory[open]>summary:before,.inventorySubcategory[open]>summary:before{content:'▾'}
.inventoryControls{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px}
.inventoryControls button{font-size:13px;min-height:34px;padding:6px 10px}
.inventorySubcategory{border:1px solid #dce3dd;border-radius:10px;margin:8px 12px;overflow:hidden}
.inventorySubcategory>summary{background:#fafcfb;font-size:15px}

/* Admin sections and bounded lists */
[hidden]{display:none!important}
.adminTabs{display:flex;gap:6px;position:sticky;top:0;z-index:5;background:#fff;padding:10px 0;overflow-x:auto}
.adminTabs button{flex:1;min-width:65px;padding:12px 6px;background:#f3f3f3;color:#333;border:1px solid #ddd}
.adminTabs button.selected,.stockFilters button.selected{background:#fff0db;color:#b75200;border-color:#ed7900}
.fourRows{max-height:360px;overflow-y:auto;overscroll-behavior:contain;padding:4px;scrollbar-gutter:stable}
#allOrderIds{max-height:244px;display:flex;flex-direction:column;gap:8px}
.orderIdRow{flex-shrink:0;min-height:52px;text-align:left;width:100%}
#statsDays,#adminOffers,#myOrdersList{max-height:420px;overflow-y:auto;overscroll-behavior:contain}
#privateRatings{max-height:420px!important;overflow-y:auto}
.orderIdList{display:flex;flex-direction:column;max-height:244px}
#selectedOrder,#ordersList{max-height:65vh;overflow-y:auto}
#adminItems{display:block;max-height:440px}
.inventoryCategory,.inventorySubcategory{margin:8px 0}
#myOrdersBtn{background:linear-gradient(120deg,#ffad32,#f08200);color:#241400;border:1px solid #dc7600;font-weight:700}
.stockOut .menuVisual img{filter:grayscale(1);opacity:.65}
@media(max-width:480px){.adminTabs button{font-size:12px}.inventoryControls{flex-wrap:wrap}}

/* Keep gestures inside the expanded inventory list. */
#adminItems{max-height:none;overflow:visible;scrollbar-gutter:auto}
.adminCategoryItems{max-height:360px;overflow-y:auto;overscroll-behavior-y:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
#categoryChoices{display:flex;flex-direction:column;gap:12px;margin-top:18px}
#categoryChoices button{text-align:left;min-height:52px}
#categoryCreate,#categoryPicker,#edit{border-radius:20px;background:#fafafa}
#itemForm>label,#itemForm>fieldset{background:white;padding:14px;border:1px solid #e4e4e4;border-radius:12px}

#floatingCart{position:fixed;bottom:calc(14px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:680px;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ed7900;color:#fff;border-radius:14px;padding:16px;box-shadow:0 4px 20px #0003;text-align:left}
#floatingCartSummary{font-size:13px;flex:1}
#floatingCart strong{white-space:nowrap}
#customer.hasCart{padding-bottom:110px}

.orderDish{margin:10px 0}.orderDish summary{cursor:pointer;list-style:none;text-decoration:underline dotted;text-underline-offset:5px;padding:8px 0}.orderDish summary:focus-visible{outline:2px solid #ed7900}.orderDish p{white-space:pre-wrap;background:#eef3ef;border-radius:8px;padding:12px;margin:6px 0}

.customerOffer{display:block;width:100%;text-align:left;color:#232323;font-weight:400;cursor:pointer}.customerOffer strong{font-weight:750}.customerOffer:disabled{opacity:.65;cursor:not-allowed}.customerOrderStatus{color:#bb291b;font-weight:750}

.reviewOrderDetails>summary{cursor:pointer;font-weight:750}.reviewOrderDetails>summary:focus-visible{outline:2px solid #bb291b;outline-offset:4px}.reviewOrderDetails>div{padding-top:12px}

.discountLine{color:#147d45;font-weight:750}

.orderHelp{margin-top:16px}.orderHelp>summary{cursor:pointer;color:#bb291b;font-weight:750}.helpMessages p{white-space:pre-wrap}.helpMessages{max-height:260px;overflow:auto}

.dispatchOrderIds{max-height:320px;overflow-y:auto;overscroll-behavior:contain;margin:16px 0}.dispatchOrderIds .orderIdRow{display:block;width:100%;text-align:left;margin-bottom:8px}

.riderPhoto{display:block;width:100px;height:100px;object-fit:cover;border-radius:12px;margin:12px 0}.riderCard{background:#f0f7f2;padding:16px;border-radius:12px;margin:12px 0}.riderCard a{display:inline-block;color:#bb291b;font-weight:750}

.prepTimer{background:#e7f5eb;color:#147d45;padding:16px;border-radius:12px;font-weight:750}.prepTimer.delayed{background:#fff0f0;color:#bb291b}#orderBoard{max-height:650px;overflow:auto}#orderBoardTabs{margin:16px 0}

.customerOrderBanner{background:#fff1cf;border:1px solid #e2be6b;padding:16px;border-radius:14px;margin:16px 0}.customerOrderBanner[hidden]{display:none}

/* Quiz reward and answer rows */
.quizReward{padding:16px;border-radius:16px;background:#fff3df;border:1px solid #efc37f;margin:16px 0;color:#203e32}.quizReward>strong{display:block;font-size:1.1rem}.quizRewardPrices{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:10px}.quizRewardPrices del{color:#777}.quizRewardPrices>strong{font-size:1.65rem;color:#bb2d1b}.quizRewardPrices small{flex-basis:100%}
#quizPlayDialog label.quizOption{display:flex;align-items:center;gap:12px;padding:14px;margin:10px 0;border:1px solid #d6dfd9;border-radius:14px;background:#f7faf8;cursor:pointer;line-height:1.4}
#quizPlayDialog .quizOption input{width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#18734c}#quizPlayDialog .quizOptionBadge{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:8px;background:#e5eee8;font-weight:700}#quizPlayDialog .quizOption:has(input:checked){border-color:#18734c;background:#e7f5ec}#quizPlayDialog .quizOption:has(input:disabled){cursor:default}.couponPanel{padding:16px;background:#f3f8f5;border:1px solid #d8e7dc;border-radius:16px;margin:12px 0 20px}.couponPanel button{width:100%}.couponMobile{margin-top:18px}.couponBill{margin-top:12px;padding-top:12px;border-top:1px solid #b9d4c0}.couponBill .costLine:last-of-type{font-size:1.1rem;font-weight:700;color:#17633f}.couponBill small{display:block;margin-top:8px}

.quizReward>small{display:block;font-size:.8rem;letter-spacing:.04em;margin-bottom:8px}.quizRewardSaving{font-size:1.7rem;font-weight:800;color:#bb2d1b;margin:10px 0}
