:root{
  --page-bg:#ffffff;
  --page-text:#171717;
  --brand:#e60000;
  --brand-muted:#9d9fa8;
  --mode-active:#e60000;
  --mode-active-pressed:#bd0000;
  --mode-disabled:#f5ced1;
  --mode-disabled-text:#ffffff;
  --panel-grey:#f1f1f1;
  --soft-grey:#f7f7f7;
  --line:#e2e2e2;
  --flag-bg:#ffffff;
  --overlay-bg:rgba(0,0,0,.70);
  --staff-overlay-bg:rgba(0,0,0,.62);
  --focus:#111111;
  --key-red:#da0505;
  --key-red-pressed:#b70000;
  --success:#16833a;
  --success-soft:#e8f7ed;
  --error:#c91515;
  --error-soft:#fdeaea;
}

/* v0.5.33 — printer fault recovery and private session close */
.screen-checkout{background:#f3f4f5;color:#17212b;overflow:auto}
.checkout-secure{font-size:13px;font-weight:800;letter-spacing:.08em;color:#4f5b66}
.checkout-layout{min-height:calc(100dvh - 82px);display:grid;place-items:center;padding:36px}
.payment-panel{width:min(860px,100%);padding:42px;background:#fff;border:1px solid #cfd5dc;box-shadow:0 18px 55px rgba(30,38,46,.12);text-align:center}
.checkout-eyebrow{margin:0 0 8px;color:#da0505;font-size:14px;font-weight:900;letter-spacing:.14em}
.payment-panel h1{margin:0 0 10px;font-size:clamp(32px,4vw,52px);line-height:1.06}.payment-panel>p{font-size:18px;color:#58636e}
.payment-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0}
.payment-option{min-height:205px;display:grid;place-items:center;align-content:center;gap:10px;padding:18px;border:2px solid #c9d0d7;background:#fff;color:#17212b;cursor:pointer}.payment-option:hover,.payment-option:focus-visible{border-color:#da0505;outline:3px solid rgba(218,5,5,.12)}
.payment-option[hidden]{display:none!important}
.payment-option>span{font-size:54px;color:#da0505}.payment-option strong{font-size:19px}.payment-option small{font-size:13px;color:#68737d}
.checkout-total{display:flex;justify-content:space-between;align-items:end;padding-top:20px;border-top:2px solid #e2e6ea;font-weight:800}.checkout-total strong,.payment-big-total{font-size:42px;color:#111}
.payment-progress,.cash-status-mark{width:94px;height:94px;display:grid;place-items:center;margin:0 auto 22px;border:6px solid #da0505;border-radius:50%;font-size:48px}.cash-status-mark{background:#da0505;color:#fff}
.checkout-primary,.checkout-secondary{min-height:62px;padding:0 28px;border:2px solid #da0505;font-size:17px;font-weight:900;cursor:pointer}.checkout-primary{background:#da0505;color:#fff}.checkout-secondary{margin-top:12px;background:#fff;color:#17212b;border-color:#8d98a3}
.payment-panel>.checkout-primary,.payment-panel>.checkout-secondary{width:min(460px,100%);display:block;margin-inline:auto}.payment-panel>.checkout-primary{margin-top:30px}
.delivery-payment-panel{width:min(720px,100%);padding:34px 42px}.delivery-payment-panel .payment-big-total{display:block;margin:20px auto}.delivery-payment-panel>.checkout-primary{margin-top:22px}
.cash-order-code{display:block;margin:18px auto 14px;font:900 clamp(96px,16vw,180px)/.9 Arial,sans-serif;direction:ltr;unicode-bidi:isolate;letter-spacing:.08em;color:#111;font-variant-numeric:tabular-nums}
.cash-code-confirmation{max-width:520px;margin:18px auto!important}
.checkout-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px}.checkout-head-actions .order-back-button{min-width:110px;justify-content:center}
.supervisor-override-button{min-height:44px;padding:0 14px;border:2px solid #7b4a00;background:#fff4d7;color:#653d00;font-size:11px;font-weight:900;letter-spacing:.04em;cursor:pointer}.supervisor-override-button[hidden]{display:none!important}
.completion-timeout{position:fixed;left:50%;bottom:18px;z-index:20;transform:translateX(-50%);display:flex;align-items:center;gap:16px;max-width:calc(100vw - 32px);padding:10px 14px;border:1px solid #d8d8d8;background:#fff;box-shadow:0 5px 20px #0002}.completion-timeout[hidden]{display:none}.completion-timeout .checkout-secondary{width:auto;margin:0;white-space:nowrap}
.payment-dialog{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:rgba(17,25,33,.68);backdrop-filter:blur(2px)}.payment-dialog[hidden]{display:none}.payment-dialog__panel{width:min(600px,100%);max-height:calc(100dvh - 48px);overflow:auto;padding:34px;background:#fff;border:2px solid #da0505;box-shadow:0 24px 70px #0005;text-align:center}.payment-dialog__mark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 12px;border:5px solid #da0505;border-radius:50%;color:#da0505;font-size:38px;font-weight:900}.payment-dialog h2{margin:0 0 10px;font-size:36px;line-height:1.1}.payment-dialog__panel>p:not(.checkout-eyebrow){margin:0 auto 22px;color:#58636e;font-size:17px}.payment-dialog__actions{display:grid;gap:12px}.payment-dialog__actions button,.payment-dialog__confirm-actions button{width:100%;min-height:58px;margin:0}.checkout-danger{min-height:58px;padding:0 28px;border:2px solid #a80000;background:#fff;color:#a80000;font-size:17px;font-weight:900;cursor:pointer}.payment-dialog__confirmation{padding-top:20px;border-top:1px solid #d8dde2}.payment-dialog__confirmation>strong{display:block;font-size:24px}.payment-dialog__confirmation>p{margin:8px 0 18px;color:#58636e}.payment-dialog__confirm-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.payment-dialog__confirm-actions .checkout-secondary{margin:0}
.cash-amount{display:grid;gap:5px;margin:20px 0!important}.cash-amount span{font-size:13px;font-weight:900;letter-spacing:.1em;color:#555}.cash-amount strong{font-size:36px;color:#111}.cash-actions{display:flex;justify-content:center;gap:12px}.cash-actions .checkout-secondary{margin:0}
.cash-print-help{margin:10px 0 0!important;font-size:13px!important;color:#68737d!important}
.cash-print-status{margin:12px auto 0;padding:12px 14px;max-width:620px;border:2px solid #da0505;background:#fff4f4;text-align:left;color:#2b2b2b}
[dir="rtl"] .cash-print-status{text-align:right}
.cash-print-status.is-success{border-color:#16833f;background:#f1fbf4}
.cash-print-status strong{display:block;font-size:16px;color:#b00000}
.cash-print-status.is-success strong{color:#126a35}
.cash-print-status p{margin:4px 0 0!important;font-size:14px!important;line-height:1.35}
.cash-save-confirmation{display:flex;align-items:flex-start;gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid #e2aaaa;font-weight:800;cursor:pointer}
.cash-save-confirmation input{width:24px;height:24px;flex:0 0 24px;margin:0;accent-color:#da0505}
/* Keep the complete cash handoff visible in ordinary development windows. */
.cash-confirmation{width:min(760px,100%);padding:24px 34px}
.cash-confirmation .cash-status-mark{width:70px;height:70px;margin-bottom:10px;border-width:5px;font-size:36px}
.cash-confirmation .checkout-eyebrow{margin-bottom:5px}
.cash-confirmation h1{font-size:clamp(28px,3vw,42px);margin-bottom:6px}
.cash-confirmation>p:not(.cash-amount):not(.cash-print-help):not(.checkout-eyebrow){margin:6px auto;font-size:16px;line-height:1.35}
.cash-confirmation .cash-order-code{margin:10px auto 8px;font-size:clamp(48px,6vw,68px)}
.cash-confirmation .cash-amount{margin:10px 0!important}
.cash-confirmation .cash-amount strong{font-size:30px}
.cash-confirmation .checkout-primary,.cash-confirmation .checkout-secondary{min-height:54px}
.card-payment-panel{padding:30px 40px}
.card-payment-panel .payment-progress{width:76px;height:76px;margin-bottom:14px;border-width:5px;font-size:38px}
.card-payment-panel h1{font-size:clamp(30px,3.2vw,46px)}
.card-payment-panel>p{margin:10px auto;font-size:17px}
.card-payment-panel .payment-big-total{display:block;margin:16px auto 18px;font-size:40px}
.card-payment-panel>.checkout-primary{margin-top:0}
.card-payment-panel>.checkout-secondary{min-height:56px}
.card-payment-panel .cash-print-status{margin-top:12px;padding:12px 14px;text-align:left}
[dir="rtl"] .card-payment-panel .cash-print-status{text-align:right}
.card-payment-panel .cash-print-status .checkout-primary{width:auto;min-height:50px;margin:10px 0 0;padding-inline:22px}
.card-payment-panel.is-failed{padding-block:20px}
.card-payment-panel.is-failed .payment-progress{width:58px;height:58px;margin-bottom:8px;font-size:29px}
.card-payment-panel.is-failed h1{font-size:clamp(27px,2.7vw,38px);margin-bottom:6px}
.card-payment-panel.is-failed>p{margin:6px auto;font-size:15px}
.card-payment-panel.is-failed .payment-big-total{margin:10px auto 12px;font-size:34px}
.card-payment-panel.is-failed>.checkout-primary,.card-payment-panel.is-failed>.checkout-secondary{min-height:52px}
.card-payment-panel.is-failed .cash-print-status{display:grid;grid-template-columns:1fr auto;column-gap:18px;align-items:center}
.card-payment-panel.is-failed .cash-print-status p{grid-column:1;margin-top:3px!important}
.card-payment-panel.is-failed .cash-print-status .checkout-primary{grid-column:2;grid-row:1 / span 2;margin:0}
@media(max-width:720px){.checkout-layout{padding:16px}.payment-panel{padding:26px 18px}.payment-options{grid-template-columns:1fr}.payment-option{min-height:170px}.cash-actions{display:grid}.cash-actions button{width:100%}}
@media(max-width:720px){.card-payment-panel.is-failed .cash-print-status{display:block}.card-payment-panel.is-failed .cash-print-status .checkout-primary{width:100%;margin-top:10px}}
@media(max-width:520px){.payment-dialog{padding:12px}.payment-dialog__panel{max-height:calc(100dvh - 24px);padding:24px 16px}.payment-dialog h2{font-size:30px}.payment-dialog__confirm-actions{grid-template-columns:1fr}}
@media(max-height:760px) and (min-width:721px){.checkout-layout{padding:14px}.cash-confirmation{padding:16px 28px}.cash-confirmation .cash-status-mark{width:58px;height:58px;font-size:30px}.cash-confirmation .cash-order-code{font-size:96px}.cash-confirmation h1{font-size:30px}.card-payment-panel{padding:16px 30px}.card-payment-panel .payment-progress{width:54px;height:54px;margin-bottom:7px;font-size:28px}.card-payment-panel h1{font-size:30px}.card-payment-panel>p{margin:5px auto;font-size:15px}.card-payment-panel .payment-big-total{margin:8px auto 10px;font-size:32px}.card-payment-panel>.checkout-primary,.card-payment-panel>.checkout-secondary{min-height:48px}.card-payment-panel .cash-print-status{padding:9px 12px}}
@media(max-width:600px){.discount-code-card>div:first-child{display:grid}.voucher-code-entry{grid-template-columns:1fr}.voucher-code-entry input{border-right:2px solid #8d98a3;border-bottom:0}.voucher-code-entry .checkout-primary{width:100%}}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--page-bg);color:var(--page-text);font-family:"Segoe UI",Arial,sans-serif;touch-action:manipulation}
button{font:inherit;-webkit-tap-highlight-color:transparent;user-select:none}
button:focus-visible{outline:4px solid var(--focus);outline-offset:4px}
img{max-width:100%;display:block}
.app-shell,.screen{width:100vw;height:100dvh;overflow:hidden}
.screen[hidden]{display:none !important}
.screen-start{position:relative;background:var(--page-bg)}
.brand{position:absolute;z-index:2;top:max(12px,1.5vh);right:max(14px,1.6vw);line-height:1;text-align:right;pointer-events:none}
.brand strong{display:block;color:var(--brand);font-size:clamp(12px,1.05vw,17px);font-weight:600;letter-spacing:.005em}
.brand span{display:block;margin-top:.28rem;color:var(--brand-muted);font-size:clamp(6px,.52vw,8px);font-weight:600;letter-spacing:.11em}
.staff-login-tab{position:absolute;right:0;left:auto;bottom:max(12px,2vh);width:clamp(30px,3.1vw,46px);height:clamp(108px,18vh,150px);padding:0;border:0;background:var(--mode-active);color:#fff;cursor:pointer}
.staff-login-tab{display:grid;place-items:center;writing-mode:vertical-rl;transform:rotate(180deg);font-size:clamp(8px,.8vw,12px);letter-spacing:.03em}
.test-mode-selector{position:absolute;right:max(14px,1.6vw);bottom:max(14px,2.4vh);z-index:5;display:grid;gap:4px;width:min(210px,38vw);padding:8px 10px;border:1px solid #cbd2d9;background:#fff;box-shadow:0 5px 18px #0002;color:#17212b}
.test-mode-selector[hidden]{display:none!important}.test-mode-selector span{font-size:9px;font-weight:900;letter-spacing:.12em}.test-mode-selector select{width:100%;min-height:38px;padding:0 34px 0 10px;border:2px solid #8d98a3;background:#fff;color:#17212b;font-size:14px;font-weight:800;cursor:pointer}
.test-mode-selector--dialog{position:fixed;z-index:2}
.start-buttons{position:absolute;left:50%;top:43%;transform:translate(-50%,-50%);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);width:min(78vw,1080px)}
.start-buttons--customer{grid-template-columns:repeat(2,minmax(0,1fr));width:min(58vw,760px)}
.order-mode{min-width:0;min-height:clamp(82px,13vh,136px);display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.8vw,26px);padding:clamp(12px,1.8vw,24px);border:0;background:var(--mode-active);color:#fff;cursor:pointer;transition:background-color .08s,transform .08s}
.order-mode[hidden]{display:none!important}
.order-mode svg{width:clamp(38px,5vw,72px);height:clamp(38px,5vw,72px);flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.order-mode span{min-width:0;font-size:clamp(16px,2.2vw,34px);line-height:1.08;font-weight:400;letter-spacing:.02em;text-align:center;text-wrap:balance;overflow-wrap:anywhere}
.order-mode:not(:disabled):active{background:var(--mode-active-pressed);transform:scale(.985)}
.order-mode:disabled,.order-mode.is-disabled{background:var(--mode-disabled);color:var(--mode-disabled-text);cursor:not-allowed;pointer-events:none;opacity:1}
.language-dock{position:absolute;left:50%;bottom:max(14px,3.2vh);transform:translateX(-50%);display:flex;align-items:center;justify-content:center}
.flag-tile{display:flex;align-items:center;justify-content:center;padding:8px;border:0;background:var(--flag-bg);cursor:pointer}
.flag-tile--large{width:clamp(112px,12vw,168px);aspect-ratio:3/2}
.flag-tile--small{width:68px;aspect-ratio:3/2;padding:6px;border:1px solid var(--line)}
.flag-tile img{width:100%;height:100%;object-fit:contain}

.language-overlay{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:var(--overlay-bg);backdrop-filter:blur(3px);padding:clamp(18px,3vw,48px);overflow:auto}
.language-overlay[hidden]{display:none}
.language-grid{width:min(1100px,94vw);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,2vw,28px)}
.language-choice{aspect-ratio:3/2;display:flex;align-items:center;justify-content:center;padding:10px;border:3px solid transparent;background:#fff;cursor:pointer}
.language-choice[aria-current="true"]{border-color:var(--brand)}
.language-choice img{width:100%;height:100%;object-fit:contain}

.staff-dialog,.product-dialog{width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(18px,3vw,42px);border:0;background:transparent;overflow:auto}
.staff-dialog::backdrop,.product-dialog::backdrop{background:var(--staff-overlay-bg);backdrop-filter:blur(3px)}
.staff-login-panel,.product-dialog-panel{position:relative;margin:auto;background:#fff;color:var(--page-text);border:0;box-shadow:0 22px 70px rgba(0,0,0,.32)}
.staff-login-panel{width:min(460px,94vw);display:grid;justify-items:center;gap:18px;padding:28px}
.staff-dialog-close{position:absolute;top:8px;right:10px;width:40px;height:40px;border:0;background:transparent;color:#4b4b4b;font-size:36px;line-height:1;cursor:pointer}
.staff-login-head{text-align:center;padding-inline:20px}
.staff-login-head h1{margin:0 0 8px;font-size:clamp(22px,2.4vw,32px);font-weight:500}
.staff-login-head p{margin:0;font-size:clamp(14px,1.2vw,17px);line-height:1.35}
.pin-display{width:min(300px,80vw);min-height:68px;display:flex;align-items:center;justify-content:center;gap:24px;padding:16px;background:#fff;border:4px solid #d8d8d8;transition:background-color .15s,border-color .15s,transform .15s}
.pin-display span{width:18px;height:18px;border-radius:50%;background:var(--key-red);opacity:.15;transition:opacity .08s,background-color .15s}.pin-display span.is-filled{opacity:1}
.pin-display.is-success{border-color:var(--success);background:var(--success-soft)}.pin-display.is-success span{background:var(--success)}
.pin-display.is-error{border-color:var(--error);background:var(--error-soft);animation:pin-shake .25s linear 2}.pin-display.is-error span{background:var(--error)}
@keyframes pin-shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}
.pin-keypad{display:grid;grid-template-columns:repeat(3,minmax(72px,96px));gap:10px;justify-content:center}
.pin-key,.pin-key-spacer{min-width:0;aspect-ratio:1/1}.pin-key{display:grid;place-items:center;border:0;border-radius:7px;background:var(--key-red);color:#fff;font-size:clamp(28px,3vw,46px);font-weight:600;cursor:pointer;box-shadow:0 4px 0 rgba(110,0,0,.28)}
.pin-key:active{background:var(--key-red-pressed);transform:translateY(3px);box-shadow:0 1px 0 rgba(110,0,0,.28)}
.pin-key--close{font-size:clamp(42px,4vw,58px);font-weight:400;line-height:1}.pin-key-spacer{visibility:hidden}
.pin-status{min-height:1.5em;margin:0;font-size:15px;font-weight:600;text-align:center}.pin-status.is-success{color:var(--success)}.pin-status.is-error{color:var(--error)}

.screen-menu{display:grid;grid-template-rows:auto 1fr;background:#fff}
.menu-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line);background:#fff}
.top-action{border:0;background:#f4f4f4;color:#111;min-height:54px;padding:0 18px;cursor:pointer;font-size:18px}
.top-action--home{min-width:120px;background:#efefef}
.top-status{display:flex;align-items:center;gap:18px;min-width:0;flex:1;justify-content:center}
.mode-pill{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;background:var(--brand);color:#fff;font-weight:600;letter-spacing:.03em}
.brand-mini{font-size:12px;color:#7b7b7b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions-right{display:flex;align-items:center;gap:12px}
.top-action--review{display:flex;align-items:center;gap:14px;background:var(--brand);color:#fff;padding-inline:20px}.top-action--review strong{font-size:20px}
.top-action--review.has-items{box-shadow:0 0 0 4px rgba(230,0,0,.12)}
.menu-layout{display:grid;grid-template-columns:260px 1fr;min-height:0}
.category-panel{background:var(--panel-grey);border-inline-end:1px solid var(--line);overflow:auto;padding:16px 12px}
.category-list{display:grid;gap:10px}
.category-button{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px;border:0;background:#fff;color:#1a1a1a;min-height:68px;padding:10px 14px;text-align:left;cursor:pointer;font-size:16px}.category-button.is-active{background:var(--brand);color:#fff}
.category-icon{font-size:26px;line-height:1;text-align:center}.category-label{font-weight:600;line-height:1.15}
.product-panel{min-width:0;display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:#fff}
.product-panel-head{padding:20px 24px 10px;border-bottom:1px solid var(--line)}
.product-panel-head h1{margin:0;font-size:34px;font-weight:600}.product-panel-head p{margin:8px 0 0;color:#666;font-size:15px;line-height:1.4}
.product-grid{overflow:auto;padding:18px 24px 28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:18px;align-content:start}
.product-card{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:16px;background:#fff;border:1px solid var(--line);cursor:pointer;min-height:155px}.product-card:active{transform:scale(.992)}
.product-art{display:grid;place-items:center;background:var(--soft-grey);font-size:44px}
.product-body{display:grid;grid-template-rows:auto 1fr auto;min-width:0}.product-body h3{margin:0;font-size:20px;line-height:1.15}.product-body p{margin:8px 0 0;color:#666;font-size:14px;line-height:1.35}
.product-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.product-foot strong{font-size:22px;color:#111}.product-foot button{width:46px;height:46px;border:0;background:var(--brand);color:#fff;font-size:28px;cursor:pointer}

.product-dialog-panel{width:min(760px,96vw);display:grid;gap:18px;padding:26px 24px 20px}
.product-dialog-hero{display:grid;grid-template-columns:120px 1fr;gap:18px;align-items:start;padding-inline-end:28px}.dialog-product-art{display:grid;place-items:center;width:120px;aspect-ratio:1/1;background:var(--soft-grey);font-size:58px}
.product-dialog-hero h2{margin:0;font-size:30px}.product-dialog-hero p{margin:8px 0 0;color:#666;line-height:1.45}
.dialog-options{display:grid;gap:16px}.option-block h3{margin:0 0 10px;font-size:20px}.option-help{margin:0 0 12px;color:#666;font-size:14px}
.option-choices,.ingredient-list{display:flex;flex-wrap:wrap;gap:10px}.choice-pill,.ingredient-pill{border:1px solid var(--line);background:#fff;color:#111;min-height:48px;padding:0 16px;cursor:pointer}
.choice-pill.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.ingredient-pill{display:flex;align-items:center;gap:10px;padding-block:10px}.ingredient-pill small{display:block;color:#777}.ingredient-pill.is-active{background:#fff0f0;border-color:#f0b8b8}.ingredient-pill:not(.is-active){opacity:.55}
.dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:10px;border-top:1px solid var(--line)}.dialog-total span{display:block;font-size:13px;color:#666;letter-spacing:.08em}.dialog-total strong{display:block;font-size:32px}.dialog-add-button{border:0;background:var(--brand);color:#fff;min-height:58px;padding:0 24px;min-width:220px;cursor:pointer;font-size:18px;font-weight:600}

@media (max-width:1100px){.language-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.menu-layout{grid-template-columns:220px 1fr}.product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}
@media (max-width:820px){.start-buttons{width:92vw;gap:12px}.order-mode{min-height:92px;flex-direction:column;gap:4px;padding:10px}.order-mode span{font-size:clamp(13px,2.4vw,18px)}.menu-topbar{flex-wrap:wrap}.top-status{order:3;width:100%;justify-content:flex-start}.menu-layout{grid-template-columns:1fr;grid-template-rows:auto 1fr}.category-panel{padding:10px;border-inline-end:0;border-bottom:1px solid var(--line)}.category-list{grid-auto-flow:column;grid-auto-columns:minmax(150px,1fr);overflow:auto}.category-button{min-height:60px}.product-panel-head h1{font-size:28px}.product-dialog-hero{grid-template-columns:88px 1fr}.dialog-product-art{width:88px;font-size:44px}}
@media (max-width:640px){.brand{top:10px;right:10px}.start-buttons{top:40%;grid-template-columns:1fr}.staff-login-tab{height:88px;width:28px}.language-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flag-tile--large{width:94px}.top-action{min-height:46px;font-size:16px;padding-inline:12px}.top-action--review{width:100%;justify-content:space-between}.product-grid{padding-inline:14px;grid-template-columns:1fr}.product-card{grid-template-columns:78px 1fr;min-height:136px}.product-art{font-size:38px}.product-body h3{font-size:18px}.product-foot strong{font-size:20px}.product-dialog-panel{padding:20px 16px}.dialog-footer{flex-direction:column;align-items:stretch}.dialog-add-button{width:100%;min-width:0}}


/* v0.5.2 simplified menu page */
.screen-menu{display:block;background:#fff}
.menu-layout--minimal{display:grid;grid-template-columns:220px 1fr;width:100%;height:100dvh;min-height:100dvh}
.category-panel{padding:14px 10px;background:#f3f3f3;border-inline-end:1px solid var(--line)}
.category-list{display:grid;gap:8px;align-content:start}
.category-button{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:68px;padding:10px 8px;font-size:15px}
.category-icon{font-size:22px}.category-label{font-size:14px;font-weight:600}
.product-panel--minimal{overflow:hidden;background:#fff}
.product-grid--minimal{height:100dvh;overflow:auto;padding:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;align-content:start}
.product-card{min-height:128px;grid-template-columns:72px 1fr;gap:12px;padding:12px}
.product-art{font-size:34px}
.product-body h3{font-size:18px}.product-body p{font-size:13px}
.product-foot strong{font-size:20px}
@media (max-width:820px){.menu-layout--minimal{grid-template-columns:128px 1fr}.category-button{min-height:58px}.product-grid--minimal{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));padding:10px}}
@media (max-width:640px){.menu-layout--minimal{grid-template-columns:104px 1fr}.category-icon{font-size:18px}.category-label{font-size:12px}.product-grid--minimal{grid-template-columns:1fr}}


/* v0.5.3 category sizing and product-render fix */
.menu-layout--minimal{grid-template-columns:280px 1fr}
.category-panel{padding:18px 14px}
.category-list{gap:12px}
.category-button{grid-template-columns:58px minmax(0,1fr);justify-items:stretch;min-height:84px;padding:12px 16px;text-align:left;gap:14px}
.category-icon{display:grid;place-items:center;width:48px;height:48px;font-size:30px;text-align:center}
.category-label{display:flex;align-items:center;font-size:18px;font-weight:600;line-height:1.2}
.product-grid--minimal{padding:18px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
@media (max-width:1000px){.menu-layout--minimal{grid-template-columns:240px 1fr}.category-button{grid-template-columns:50px minmax(0,1fr);min-height:76px;padding:10px 12px}.category-icon{width:42px;height:42px;font-size:26px}.category-label{font-size:16px}}
@media (max-width:700px){.menu-layout--minimal{grid-template-columns:190px 1fr}.category-button{grid-template-columns:42px minmax(0,1fr);min-height:68px;padding:8px 10px;gap:10px}.category-icon{width:36px;height:36px;font-size:22px}.category-label{font-size:14px}.product-grid--minimal{padding:10px;grid-template-columns:1fr}}

/* v0.5.4 — hide category navigation scrollbars while preserving scrolling */
.category-panel,
.category-list{
  -ms-overflow-style:none;
  scrollbar-width:none;
  overscroll-behavior:contain;
}
.category-panel::-webkit-scrollbar,
.category-list::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}


/* v0.5.5 menu redesign */
html,body{font-family:"Helvetica Neue","Segoe UI",Arial,sans-serif}
.screen-menu{background:#ffffff}
.menu-layout--minimal{
  display:grid;
  grid-template-columns:minmax(200px,16.5vw) 1fr;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#ffffff;
}
.category-panel{
  height:100%;
  border-right:2px solid #dfe3e8;
  background:#fdfdfd;
  padding:14px 10px 14px 14px;
  overflow:hidden;
}
.category-list{
  display:flex;
  flex-direction:column;
  gap:10px;
  height:100%;
  overflow:auto;
  padding-right:4px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.category-list::-webkit-scrollbar{width:0;height:0;display:none}
.category-button{
  display:grid;
  grid-template-columns:48px 1fr;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:72px;
  padding:12px 12px;
  border:2px solid #d9dee5;
  background:#ffffff;
  color:#1f2933;
  text-align:left;
  cursor:pointer;
}
.category-button.is-active{
  border-color:#bfc8d2;
  background:#f7f9fb;
  box-shadow:inset 4px 0 0 #e60000;
}
.category-button:active{transform:scale(.995)}
.category-icon{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;line-height:1;
}
.category-label{
  display:block;
  font-size:18px;
  font-weight:500;
  line-height:1.18;
  letter-spacing:.01em;
}
.product-panel--minimal{
  height:100%;
  overflow:hidden;
  padding:16px 16px 16px 18px;
  background:#ffffff;
}
.product-grid--minimal{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  height:100%;
  overflow:auto;
  align-content:start;
  padding-right:10px;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.product-grid--minimal::-webkit-scrollbar{width:0;height:0;display:none}
.product-card{
  display:grid;
  grid-template-rows:minmax(126px, 18vh) 1fr;
  min-height:280px;
  border:2px solid #dfe3e8;
  background:#ffffff;
  color:#1b2430;
  cursor:pointer;
  overflow:hidden;
  box-shadow:none;
}
.product-card:hover{border-color:#c7cfd9;background:#fcfcfd}
.product-art{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#fafbfc 0%, #f2f5f7 100%);
  font-size:72px;
  border-bottom:2px solid #e7ebef;
  position:relative;
}
.product-badge{
  position:absolute;top:10px;left:10px;
  display:inline-flex;align-items:center;justify-content:center;
  min-width:78px;height:28px;padding:0 10px;
  background:#ffd11a;color:#3c2c00;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
}

.product-body{
  display:grid;
  grid-template-rows:auto 1fr auto;
  gap:10px;
  padding:14px 14px 12px;
}
.product-body h3{
  margin:0;
  font-size:20px;
  font-weight:700;
  line-height:1.15;
  letter-spacing:.005em;
}
.product-body p{
  margin:0;
  font-size:15px;
  line-height:1.35;
  color:#51606f;
}
.product-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:auto;
}
.product-foot strong{
  font-size:24px;
  font-weight:700;
  color:#141b22;
}
.product-foot button{
  min-width:50px;
  height:46px;
  border:2px solid #e60000;
  background:#ffffff;
  color:#e60000;
  font-size:28px;
  font-weight:500;
  cursor:pointer;
}
.product-foot button:active{background:#e60000;color:#fff}
@media (max-width: 1100px){
  .menu-layout--minimal{grid-template-columns:minmax(175px,19vw) 1fr}
  .category-button{min-height:66px;grid-template-columns:42px 1fr;gap:10px}
  .category-icon{width:42px;height:42px;font-size:25px}
  .category-label{font-size:16px}
  .product-grid--minimal{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .product-card{min-height:246px;grid-template-rows:minmax(110px,16vh) 1fr}
  .product-art{font-size:58px}
  .product-body h3{font-size:18px}
  .product-body p{font-size:14px}
  .product-foot strong{font-size:20px}
}
@media (max-width: 860px){
  .menu-layout--minimal{grid-template-columns:minmax(150px,24vw) 1fr}
  .product-grid--minimal{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v0.5.6 refined commercial kiosk menu */
.screen-menu{
  --menu-category-width:max(220px,17vw);
  position:relative;
  background:#fff;
  padding-bottom:88px;
  font-family:Arial,"Helvetica Neue","Segoe UI",sans-serif;
}
.menu-layout--minimal{
  height:calc(100dvh - 88px);
  grid-template-columns:var(--menu-category-width) 1fr;
}
.category-panel{
  padding:10px 8px 10px 10px;
  background:#fbfbfb;
  border-right:1px solid #cfd5dc;
}
.category-list{gap:7px}
.category-button{
  min-height:68px;
  grid-template-columns:46px minmax(0,1fr);
  gap:10px;
  padding:9px 12px;
  border:1px solid #cfd5dc;
  background:#fff;
  color:#17212b;
  box-shadow:none;
}
.category-button.is-active{
  background:#f4f6f8;
  color:#17212b;
  border-color:#b9c1ca;
  box-shadow:inset 4px 0 0 #e40000;
}
.category-button.is-active .category-label,
.category-button.is-active .category-icon{color:#17212b}
.category-icon{width:42px;height:42px;font-size:25px}
.category-label{font-size:17px;font-weight:600;line-height:1.12}
.product-panel--minimal{padding:10px 12px 10px 14px}
.product-grid--minimal{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding-right:2px;
}
.product-card{
  grid-template-rows:minmax(142px,19vh) 1fr;
  min-height:276px;
  border:1px solid #cfd5dc;
  background:#fff;
}
.product-card:hover{border-color:#aeb8c3;background:#fff}
.product-art{
  border-bottom:1px solid #dce1e6;
  background:#fff;
  font-size:74px;
}
.product-body{gap:7px;padding:11px 12px 10px}
.product-body h3{
  font-family:Arial,"Helvetica Neue","Segoe UI",sans-serif;
  font-size:19px;
  font-weight:700;
  letter-spacing:-.015em;
  color:#15202b;
}
.product-body p{font-size:14px;line-height:1.3;color:#5e6873}
.product-foot{margin-top:4px}
.product-foot strong{font-size:23px;font-weight:700;letter-spacing:-.02em}
.product-foot button{
  width:48px;min-width:48px;height:44px;
  border:1px solid #e40000;
  background:#fff;
  color:#e40000;
  font-size:27px;
}
.product-badge{
  top:0;left:0;
  min-width:auto;height:28px;
  padding:0 14px 0 10px;
  background:#ffd21c;
  color:#2d2300;
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
  clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);
}
.order-dock{
  position:absolute;
  left:var(--menu-category-width);
  right:0;
  bottom:0;
  height:88px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:28px;
  padding:10px 14px;
  border-top:1px solid #cfd5dc;
  background:#fff;
  z-index:5;
}
.order-dock__summary{
  min-width:190px;
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
  gap:1px 12px;
  text-align:right;
}
.order-dock__label{grid-column:1/-1;font-size:11px;font-weight:700;letter-spacing:.08em;color:#6a737c}
.order-dock__summary strong{font-size:30px;line-height:1;font-weight:700;color:#111a22}
.order-dock__count{font-size:14px;color:#68727d;align-self:center}
.order-dock__action{
  min-width:260px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:0 20px;
  border:0;
  background:#e40000;
  color:#fff;
  font-size:18px;
  font-weight:700;
  cursor:pointer;
}
.order-dock__action span:last-child{font-size:34px;font-weight:300;line-height:1}
.order-dock__action:disabled{background:#d8d8d8;color:#fff;cursor:not-allowed}
@media (max-width:1100px){
  .screen-menu{--menu-category-width:195px;padding-bottom:78px}
  .menu-layout--minimal{height:calc(100dvh - 78px)}
  .order-dock{height:78px}
  .category-button{min-height:61px;grid-template-columns:38px 1fr;padding:8px 9px}
  .category-icon{width:36px;height:36px;font-size:22px}
  .category-label{font-size:15px}
  .product-grid--minimal{gap:8px}
  .product-card{min-height:238px;grid-template-rows:minmax(116px,16vh) 1fr}
  .product-art{font-size:59px}
  .product-body h3{font-size:17px}
  .product-body p{font-size:13px}
  .product-foot strong{font-size:20px}
  .order-dock__action{min-width:220px;height:54px}
}
@media (max-width:820px){
  .screen-menu{--menu-category-width:160px}
  .product-grid--minimal{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* v0.5.7 — full-screen product and customisation flow */
.product-flow{
  position:fixed;
  inset:0;
  z-index:80;
  display:grid;
  grid-template-rows:68px minmax(0,1fr) 96px;
  width:100vw;
  height:100dvh;
  overflow:hidden;
  background:#fff;
  color:#17212b;
  font-family:Arial,"Helvetica Neue","Segoe UI",sans-serif;
}
.product-flow[hidden]{display:none}
.flow-header{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 28px;
  border-bottom:1px solid #d7dce2;
  background:#fff;
}
.flow-step-label{
  margin:0;
  color:#5e6873;
  font-size:13px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.flow-brand{
  position:absolute;
  top:18px;
  right:24px;
  text-align:right;
  line-height:1;
  pointer-events:none;
}
.flow-brand strong{display:block;color:#da0505;font-size:14px;font-weight:700}
.flow-brand span{display:block;margin-top:4px;color:#8b939c;font-size:7px;font-weight:700;letter-spacing:.12em}
.flow-stage{
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  scrollbar-width:none;
}
.flow-stage::-webkit-scrollbar{width:0;height:0;display:none}
.flow-view{
  min-height:100%;
  width:min(1180px,calc(100% - 56px));
  margin:0 auto;
  padding:42px 0;
}
.flow-view[hidden]{display:none}
.flow-heading{max-width:780px;margin:0 auto 34px;text-align:center}
.flow-heading--compact{margin-bottom:24px}
.flow-eyebrow{
  margin:0 0 9px;
  color:#da0505;
  font-size:13px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.flow-heading h1,.flow-product-copy h1{
  margin:0;
  color:#111820;
  font-size:clamp(36px,4vw,58px);
  font-weight:800;
  letter-spacing:-.035em;
  line-height:1.02;
}
.flow-heading>p:last-child{
  margin:14px 0 0;
  color:#67717c;
  font-size:18px;
  line-height:1.45;
}
.required-choice-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  max-width:1050px;
  margin:0 auto;
}
.required-choice{
  position:relative;
  min-height:230px;
  display:grid;
  grid-template-rows:1fr auto;
  padding:0;
  border:1px solid #ccd3da;
  background:#fff;
  color:#17212b;
  cursor:pointer;
  text-align:left;
}
.required-choice:hover{border-color:#8f9aa5}
.required-choice.is-selected{
  border:3px solid #da0505;
  box-shadow:0 0 0 3px rgba(218,5,5,.08);
}
.required-choice__tick{
  position:absolute;
  top:12px;
  right:12px;
  width:34px;
  height:34px;
  display:none;
  place-items:center;
  background:#da0505;
  color:#fff;
  font-size:22px;
  font-weight:800;
}
.required-choice.is-selected .required-choice__tick{display:grid}
.required-choice__art{
  min-height:142px;
  display:grid;
  place-items:center;
  border-bottom:1px solid #e0e4e8;
  font-size:82px;
}
.required-choice__copy{
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:12px;
  padding:16px 18px;
}
.required-choice__copy strong{
  font-size:22px;
  line-height:1.12;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  text-wrap:pretty;
}
.required-choice__copy span{font-size:20px;font-weight:800;white-space:nowrap}
.product-view{display:grid;align-items:center;padding-top:30px;padding-bottom:30px}
.product-overview{
  display:grid;
  grid-template-columns:minmax(360px,1.05fr) minmax(390px,.95fr);
  align-items:center;
  gap:clamp(52px,7vw,104px);
  width:min(1080px,100%);
  margin:auto;
}
.flow-product-art{
  min-height:min(52vh,480px);
  display:grid;
  place-items:center;
  border:1px solid #d7dce2;
  background:#fff;
  font-size:clamp(150px,19vw,250px);
}
.flow-product-copy h1{font-size:clamp(42px,5vw,68px)}
.flow-product-description{
  max-width:560px;
  margin:20px 0 0;
  color:#56616c;
  font-size:20px;
  line-height:1.5;
}
.flow-product-price-row{
  display:flex;
  align-items:baseline;
  gap:18px;
  margin-top:28px;
}
.flow-product-price-row>strong{color:#10171f;font-size:42px;font-weight:800;letter-spacing:-.025em}
.flow-product-choice{color:#68727d;font-size:16px;font-weight:700}
.customise-action{
  width:100%;
  min-height:66px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:28px;
  padding:0 20px;
  border:1px solid #aeb7c0;
  background:#fff;
  color:#17212b;
  font-size:19px;
  font-weight:700;
  cursor:pointer;
}
.customise-action span:last-child{color:#da0505;font-size:34px;font-weight:300}
.customise-action[hidden]{display:none}
.product-quantity{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #dce1e6;
}
.product-quantity>span{color:#626c77;font-size:13px;font-weight:800;letter-spacing:.09em}
.quantity-control{display:grid;grid-template-columns:52px 64px 52px;align-items:center}
.quantity-control button{
  width:52px;
  height:52px;
  border:1px solid #9da8b3;
  background:#fff;
  color:#17212b;
  font-size:28px;
  cursor:pointer;
}
.quantity-control button:not(:disabled):active{background:#f2f4f6}
.quantity-control button:disabled{border-color:#e0e3e7;color:#c3c8cd;cursor:not-allowed}
.quantity-control strong{text-align:center;font-size:22px;font-weight:800}
.customise-view{width:min(980px,calc(100% - 56px));padding-top:28px}
.customiser-list{display:grid;gap:20px}
.customiser-group{border:1px solid #d3d9df;background:#fff}
.customiser-group__title{
  margin:0;
  padding:14px 18px;
  border-bottom:1px solid #d3d9df;
  background:#f7f8f9;
  color:#17212b;
  font-size:18px;
  font-weight:800;
}
.ingredient-row{
  min-height:78px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  padding:12px 16px 12px 20px;
  border-bottom:1px solid #e2e6ea;
}
.ingredient-row:last-child{border-bottom:0}
.ingredient-copy{min-width:0}
.ingredient-copy strong{display:block;font-size:18px;line-height:1.2}
.ingredient-choice{display:block;margin-top:3px;color:#4d5863;font-size:14px}
.ingredient-meta{display:flex;align-items:center;gap:10px;margin-top:7px;color:#707a84;font-size:13px}
.ingredient-lock{display:inline-flex;align-items:center;gap:5px;color:#4e5964;font-weight:700}
.ingredient-lock::before{content:"\1F512";font-size:13px}
.ingredient-option-price{color:#da0505;font-weight:700}
.ingredient-row .quantity-control{grid-template-columns:44px 54px 44px}
.ingredient-row .quantity-control button{width:44px;height:44px;font-size:25px}
.ingredient-row .quantity-control strong{font-size:19px}
.flow-footer{
  display:grid;
  grid-template-columns:minmax(190px,260px) 1fr minmax(240px,340px);
  align-items:center;
  gap:24px;
  padding:14px max(24px,4vw);
  border-top:1px solid #cfd5dc;
  background:#fff;
  box-shadow:0 -8px 24px rgba(20,30,40,.05);
}
.flow-button{height:66px;padding:0 24px;font-size:17px;font-weight:800;letter-spacing:.015em;cursor:pointer}
.flow-button--secondary{border:1px solid #98a3ad;background:#fff;color:#17212b}
.flow-button--primary{border:1px solid #da0505;background:#da0505;color:#fff}
.flow-button--primary:active{background:#b70000}
.flow-button--primary:disabled{border-color:#ddd;background:#ddd;color:#fff;cursor:not-allowed}
.flow-total{justify-self:center;text-align:center}
.flow-total span{display:block;color:#68727d;font-size:11px;font-weight:800;letter-spacing:.1em}
.flow-total strong{display:block;margin-top:2px;color:#111820;font-size:34px;font-weight:800;line-height:1}
.item-added-toast{
  position:fixed;
  left:50%;
  top:34px;
  z-index:120;
  min-width:320px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  padding:17px 22px;
  border:1px solid #b9d8c3;
  background:#fff;
  color:#143a20;
  box-shadow:0 14px 36px rgba(17,32,22,.18);
  opacity:0;
  transform:translate(-50%,-18px);
  transition:opacity .16s,transform .16s;
  pointer-events:none;
}
.item-added-toast[hidden]{display:none}
.item-added-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.item-added-toast__tick{width:28px;height:28px;display:grid;place-items:center;background:#16833a;color:#fff;font-size:18px;font-weight:800}
[dir="rtl"] .flow-brand{right:auto;left:24px;text-align:left}
[dir="rtl"] .required-choice{text-align:right}

@media (max-width:900px){
  .product-flow{grid-template-rows:60px minmax(0,1fr) 84px}
  .flow-view{width:min(100% - 32px,900px);padding:28px 0}
  .required-choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .product-overview{grid-template-columns:minmax(260px,.9fr) minmax(330px,1.1fr);gap:34px}
  .flow-product-art{min-height:390px}
  .flow-product-description{font-size:17px}
  .flow-footer{grid-template-columns:190px 1fr 250px;gap:16px;padding:10px 18px}
  .flow-button{height:60px}
  .customise-view{width:min(100% - 32px,820px)}
}
@media (max-width:680px){
  .flow-brand{display:none}
  .flow-view{width:calc(100% - 24px);padding:22px 0}
  .flow-heading h1,.flow-product-copy h1{font-size:34px}
  .flow-heading>p:last-child{font-size:16px}
  .required-choice-list{grid-template-columns:1fr}
  .required-choice{min-height:150px;grid-template-columns:120px 1fr;grid-template-rows:1fr}
  .required-choice__art{min-height:150px;border-right:1px solid #e0e4e8;border-bottom:0;font-size:54px}
  .product-overview{display:block}
  .flow-product-art{min-height:220px;font-size:118px}
  .flow-product-copy{padding-top:22px}
  .flow-product-price-row{margin-top:16px}
  .customise-view{width:calc(100% - 24px)}
  .ingredient-row{grid-template-columns:1fr;gap:10px}
  .ingredient-row .quantity-control{justify-self:end}
  .flow-footer{grid-template-columns:1fr 1fr;gap:10px;padding:9px 10px}
  .flow-total{position:absolute;left:50%;bottom:88px;transform:translateX(-50%);padding:7px 18px;border:1px solid #d7dce2;background:#fff}
  .flow-total strong{font-size:24px}
  .flow-button{height:58px;padding:0 12px;font-size:14px}
}


/* v0.5.7 video-reference fidelity pass */
.product-panel--minimal{
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  padding:0;
}
.menu-category-head{
  padding:20px 24px 16px;
  border-bottom:1px solid #edf0f2;
  background:#fff;
  text-align:center;
}
.menu-category-head h1{
  margin:0;
  color:#111820;
  font-size:clamp(28px,3vw,42px);
  font-weight:800;
  letter-spacing:-.03em;
  line-height:1.05;
}
.menu-category-head p{margin:8px 0 12px;color:#6b7580;font-size:14px}
.menu-filter-list{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px}
.menu-filter-list button{
  min-width:92px;
  min-height:34px;
  padding:0 18px;
  border:1px solid #aeb7c0;
  border-radius:18px;
  background:#fff;
  color:#34404b;
  font-size:13px;
  cursor:pointer;
}
.menu-filter-list button.is-active{
  border:2px solid #da0505;
  color:#17212b;
  font-weight:800;
}
.category-panel{padding:8px 12px 10px;background:#fff;border-right:1px solid #dce1e6}
.category-list{gap:0;padding-right:0;background:#fff}
.category-button{
  min-height:58px;
  grid-template-columns:38px minmax(0,1fr);
  gap:10px;
  padding:8px 6px;
  border:0;
  border-bottom:1px solid #eceff2;
  background:#fff;
  color:#5e6873;
}
.category-button:hover{background:#fff;color:#17212b}
.category-button.is-active{
  border-color:#eceff2;
  background:#fff;
  color:#17212b;
  box-shadow:none;
}
.category-button.is-active::after{
  content:"";
  position:absolute;
  left:50px;
  right:8px;
  bottom:-1px;
  height:3px;
  background:#da0505;
}
.category-button{position:relative}
.category-icon{width:36px;height:36px;font-size:22px}
.category-label{font-size:14px;font-weight:500}
.category-button.is-active .category-label{font-weight:800}
.product-grid--minimal{
  min-height:0;
  height:auto;
  padding:14px 20px 36px;
  gap:10px;
  align-content:start;
}
.product-card{min-height:246px;grid-template-columns:1fr;grid-template-rows:minmax(126px,17vh) 1fr;border-color:#cfd5dc}
.product-body{padding:10px 11px 9px;gap:5px}
.product-body h3{font-size:17px;line-height:1.16}
.product-body p{font-size:12px;line-height:1.28}
.product-foot strong{font-size:18px}
.product-foot button{width:40px;min-width:40px;height:38px;font-size:24px}

.choice-product-name{
  margin:0 0 26px;
  color:#2b3540;
  font-size:18px;
  font-weight:800;
}
.choice-layout{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  gap:36px;
  width:min(1080px,100%);
  margin:0 auto;
}
.choice-steps{list-style:none;margin:0;padding:10px 0 0}
.choice-steps li{
  position:relative;
  min-height:72px;
  display:grid;
  grid-template-columns:20px 1fr;
  gap:10px;
  align-items:start;
  color:#9aa2aa;
  font-size:13px;
}
.choice-steps li:first-child::after{
  content:"";
  position:absolute;
  top:20px;
  left:9px;
  width:2px;
  height:52px;
  background:#dde2e6;
}
.choice-steps li span{
  position:relative;
  z-index:1;
  width:18px;
  height:18px;
  border:2px solid #bbc2c9;
  border-radius:50%;
  background:#fff;
}
.choice-steps li.is-active{color:#17212b}
.choice-steps li.is-active span{border:5px solid #da0505}
.choice-steps li strong{padding-top:2px;font-weight:700}
.required-choice-list{max-width:none;align-self:start}
.required-choice{min-height:220px}
.required-choice__art{min-height:145px;font-size:76px}
.required-choice__copy strong{font-size:18px}
.required-choice__copy span{font-size:17px}
.product-flow[data-view="choice"] .flow-footer{
  grid-template-columns:minmax(220px,320px) minmax(220px,320px);
  justify-content:center;
}
.product-flow[data-view="choice"] .flow-button--primary{
  border:1px solid #98a3ad;
  background:#fff;
  color:#17212b;
}

.product-view{display:block;width:min(760px,calc(100% - 56px));padding:30px 0 36px}
.product-overview{display:block;width:100%;margin:0}
.flow-product-copy{width:100%}
.flow-product-copy h1{max-width:620px;font-size:clamp(38px,4.2vw,58px)}
.flow-product-description{margin-top:10px;font-size:16px}
.flow-product-price-row{margin-top:4px;gap:14px}
.flow-product-price-row>strong{font-size:28px}
.flow-product-choice{font-size:14px}
.flow-product-art{
  width:100%;
  min-height:280px;
  margin:18px 0 22px;
  border:0;
  font-size:clamp(126px,18vw,210px);
}
.customise-action{
  min-height:86px;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:14px;
  margin-top:0;
  padding:12px 16px;
  text-align:left;
}
.custom-summary-art{display:grid;place-items:center;font-size:36px}
.custom-summary-copy{min-width:0}
.custom-summary-copy strong{display:block;font-size:16px;line-height:1.2}
.custom-summary-copy small{display:block;margin-top:5px;color:#6e7882;font-size:12px;line-height:1.3}
.custom-summary-edit{color:#da0505;font-size:14px;font-weight:800;white-space:nowrap}
.custom-summary-edit>span:first-child{font-size:18px}

.customise-view{width:min(820px,calc(100% - 56px));padding-top:24px}
.customise-product-card{margin:0 0 22px;border:1px solid #cfd5dc;background:#fff}
.customise-product-card__main{
  min-height:92px;
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  align-items:center;
  gap:16px;
  padding:14px 20px;
}
.customise-product-card__main>span{display:grid;place-items:center;width:62px;height:62px;font-size:42px}
.customise-product-card__main strong{display:block;font-size:17px}
.customise-product-card__main div span{display:block;margin-top:6px;font-size:15px;font-weight:800}
.customise-product-card>button{
  width:100%;
  min-height:46px;
  border:0;
  border-top:1px solid #cfd5dc;
  background:#fff;
  color:#46515c;
  font-size:13px;
  font-weight:700;
  cursor:pointer;
}
.customiser-list{gap:18px}
.customiser-group__title{padding:17px 20px;background:#fff;font-size:19px}
.customiser-group__heading{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-right:20px;
  border-bottom:1px solid #d3d9df;
  background:#fff;
}
.customiser-group__heading .customiser-group__title{border:0;padding-block:0}
.customiser-group__heading>span{color:#6b7580;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-align:right}
.single-choice-row{
  width:100%;
  min-height:70px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:12px 20px;
  border:0;
  border-bottom:1px solid #e2e6ea;
  background:#fff;
  color:#17212b;
  text-align:left;
  cursor:pointer;
}
.single-choice-row:last-child{border-bottom:0}
.single-choice-row:hover{background:#fafbfc}
.single-choice-row.is-selected{background:#fff7f7}
.single-choice-row:disabled{opacity:1;cursor:not-allowed;color:#17212b}
.single-choice-row:disabled:hover{background:#fff}
.single-choice-row.is-selected:disabled{background:#fff7f7}
.single-choice-mark{width:24px;height:24px;display:grid;place-items:center;border:2px solid #9099a3;border-radius:50%;background:#fff}
.single-choice-row.is-selected .single-choice-mark{border-color:#da0505}
.single-choice-row.is-selected .single-choice-mark>span{width:12px;height:12px;border-radius:50%;background:#da0505}
.single-choice-row strong{font-size:16px}
.single-choice-price{color:#6b7580;font-size:13px;font-weight:800;white-space:nowrap}
.single-choice-row.is-selected .single-choice-price{color:#da0505}
.ingredient-row{min-height:82px;grid-template-columns:minmax(0,1fr) 150px;padding:13px 18px 13px 20px}
.ingredient-copy strong{font-size:16px}
.ingredient-meta{font-size:12px}
.ingredient-lock::before{display:none}
.pizza-toppings-more{
  width:100%;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:12px 20px;
  border:0;
  border-top:1px solid #e2e6ea;
  background:#fff8f8;
  color:#da0505;
  font:inherit;
  font-size:15px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}
.pizza-toppings-more:hover,.pizza-toppings-more:active{background:#ffeded}
.pizza-toppings-more small{font-size:12px;color:#6b7580}
.pizza-toppings-more strong{width:32px;height:32px;display:grid;place-items:center;border:1px solid #da0505;font-size:22px;font-weight:500}
.special-request-panel{margin-top:24px;padding-top:2px}
.special-request-panel h2{margin:0 0 12px;font-size:18px}
.special-request-option{
  width:max-content;
  min-width:190px;
  min-height:52px;
  display:flex;
  align-items:center;
  gap:11px;
  padding:0 16px;
  border:1px solid #cfd5dc;
  background:#fff;
  cursor:pointer;
}
.special-request-option input{width:20px;height:20px;accent-color:#da0505}
.special-request-option span{font-size:14px}

.item-added-confirmation{
  position:fixed;
  inset:0;
  z-index:130;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:40px;
  background:#fff;
  color:#111820;
  text-align:center;
}
.item-added-confirmation[hidden]{display:none}
.confirmation-mark{
  position:relative;
  width:88px;
  height:88px;
  display:grid;
  place-items:center;
  margin-bottom:32px;
  border:7px solid #da0505;
  border-radius:50%;
  color:#da0505;
}
.confirmation-mark::before,.confirmation-mark::after{
  content:"";
  position:absolute;
  inset:-16px;
  border:2px dashed #da0505;
  border-radius:50%;
}
.confirmation-mark::after{inset:-8px;border-style:solid;border-width:2px}
.confirmation-mark span{font-size:42px;font-weight:900}
.item-added-confirmation h1{margin:0;font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:-.025em}
.item-added-confirmation p{margin:14px 0 0;color:#67717c;font-size:18px}
.item-added-confirmation>strong{margin-top:30px;font-size:30px}

@media (max-width:1100px){
  .menu-category-head{padding:14px 16px 12px}
  .menu-category-head h1{font-size:30px}
  .menu-category-head p{margin:5px 0 9px;font-size:12px}
  .menu-filter-list button{min-height:30px;min-width:76px;padding:0 14px;font-size:12px}
  .product-grid--minimal{padding:10px 12px 28px}
  .product-card{min-height:218px;grid-template-rows:minmax(105px,14vh) 1fr}
}
@media (max-width:760px){
  .choice-layout{grid-template-columns:1fr;gap:12px}
  .choice-steps{display:flex;justify-content:center;gap:22px;padding:0}
  .choice-steps li{min-height:auto;display:flex;align-items:center}
  .choice-steps li:first-child::after{display:none}
  .required-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-view,.customise-view{width:calc(100% - 24px)}
}

/* v0.5.18 — compact catalogue cards and owner-confirmed product labels */
.product-card{
  min-height:196px;
  grid-template-rows:50px minmax(0,1fr);
}
.product-art{
  min-height:50px;
  border-bottom:1px solid #e2e6ea;
  background:#f7f8fa;
  font-size:32px;
}
.product-badge{
  top:0;
  left:0;
  height:24px;
  padding-inline:8px 13px;
  font-size:10px;
}
.product-body{
  min-height:0;
  grid-template-rows:auto auto minmax(0,1fr) auto;
  gap:5px;
  padding:9px 11px 9px;
}
.product-body h3{
  font-size:17px;
  line-height:1.16;
}
.product-body p{
  display:-webkit-box;
  overflow:hidden;
  margin:0;
  color:#68727c;
  font-size:12px;
  line-height:1.28;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.product-label-list{
  min-height:0;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:4px;
}
.product-label{
  min-height:19px;
  display:inline-flex;
  align-items:center;
  padding:2px 7px;
  border:1px solid transparent;
  border-radius:2px;
  font-size:10px;
  font-weight:800;
  line-height:1.15;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.product-label.is-hot{border-color:#b40000;background:#da0505;color:#fff}
.product-label.is-peppers{border-color:#dd7400;background:#ff9a1f;color:#2d1700}
.product-label.is-vegetarian{border-color:#2e7d32;background:#e4f4e5;color:#1f6824}
.product-label.is-halal{border-color:#00796b;background:#dff3f0;color:#006458}
.product-label.is-gluten-free{border-color:#6a48a5;background:#eee8f8;color:#55338e}
.product-foot{
  min-height:40px;
  margin-top:2px;
}
.product-foot strong{font-size:18px;line-height:1.05}
.product-foot button{
  width:40px;
  min-width:40px;
  height:38px;
  font-size:24px;
}

@media (max-width:1100px){
  .product-card{min-height:188px;grid-template-rows:44px minmax(0,1fr)}
  .product-art{min-height:44px;font-size:28px}
  .product-body{padding:8px 10px}
  .product-body h3{font-size:16px}
  .product-foot strong{font-size:18px}
}

/* v0.5.12 meal-deal builder and special-request keyboard */
.deal-view{width:min(1040px,calc(100% - 56px));padding-top:24px}
.deal-heading{text-align:center}
.deal-heading .flow-eyebrow{margin-bottom:8px}
.deal-progress{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:8px;
  margin:22px 0 26px;
  padding:0;
}
.deal-progress li{
  min-height:52px;
  padding:0;
  border:1px solid #d4dae0;
  background:#fff;
  color:#7a838c;
}
.deal-progress-step{width:100%;min-height:50px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:10px;padding:9px 12px;border:0;background:transparent;color:inherit;text-align:left;font:inherit}
.deal-progress-step>span{width:28px;height:28px;display:grid;place-items:center;border:2px solid #b8c0c8;border-radius:50%;font-size:12px;font-weight:900}
.deal-progress-step>strong{font-size:13px;line-height:1.15}
.deal-progress li.is-editable .deal-progress-step{cursor:pointer}
.deal-progress li.is-editable .deal-progress-step:hover,.deal-progress li.is-editable .deal-progress-step:focus-visible{background:#fff6f6;outline:2px solid #da0505;outline-offset:-2px;color:#17212b}
.deal-progress-step:disabled{cursor:default}
.deal-progress li.is-current{border:2px solid #da0505;color:#17212b}
.deal-progress li.is-current .deal-progress-step>span{border-color:#da0505;color:#da0505}
.deal-progress li.is-complete .deal-progress-step>span{border-color:#da0505;background:#da0505;color:#fff}
.deal-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.deal-choice-grid[hidden],.deal-review[hidden]{display:none}
.deal-option-card{
  min-height:210px;
  display:grid;
  grid-template-rows:118px minmax(0,1fr);
  position:relative;
  padding:0;
  border:1px solid #cfd5dc;
  background:#fff;
  color:#17212b;
  text-align:left;
  cursor:pointer;
}
.deal-option-card:active{border-color:#da0505;background:#fff8f8}
.deal-option-art{display:grid;place-items:center;border-bottom:1px solid #e1e5e9;background:#fafafa;font-size:66px}
.deal-option-copy{display:block;padding:13px 42px 13px 14px}
.deal-option-copy strong{display:block;font-size:17px;line-height:1.18}
.deal-option-copy small{display:block;margin-top:5px;color:#6a747e;font-size:12px;line-height:1.3}
.deal-option-copy em{display:block;margin-top:10px;color:#da0505;font-size:11px;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.deal-option-arrow{position:absolute;right:14px;bottom:20px;color:#da0505;font-size:31px;font-weight:300}
.deal-review-items{display:grid;gap:10px}
.deal-review-item{
  width:100%;
  min-height:92px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:15px 18px;
  border:1px solid #cfd5dc;
  background:#fff;
  color:#17212b;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.deal-review-item:hover,.deal-review-item:focus-visible{border-color:#da0505;background:#fffafa;outline:2px solid #da0505;outline-offset:-2px}
.deal-review-number{width:36px;height:36px;display:grid;place-items:center;background:#da0505;color:#fff;font-size:15px;font-weight:900}
.deal-review-item small{display:block;color:#737d87;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.deal-review-item h2{margin:3px 0 0;font-size:18px}
.deal-review-item p{margin:5px 0 0;color:#606b75;font-size:12px;line-height:1.35}
.deal-review-item>em{color:#da0505;font-size:13px;font-style:normal;font-weight:800;white-space:nowrap}
.product-flow[data-view="deal"][data-deal-mode="choose"] .flow-footer{grid-template-columns:minmax(220px,320px) minmax(220px,320px);justify-content:center}

.deal-dependency-warning{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:24px;background:rgba(17,25,33,.72);backdrop-filter:blur(3px)}
.deal-dependency-warning[hidden]{display:none}
.deal-warning-panel{width:min(560px,100%);padding:34px;background:#fff;border-top:7px solid #da0505;box-shadow:0 24px 80px rgba(0,0,0,.35);text-align:center}
.deal-warning-mark{width:56px;height:56px;display:grid;place-items:center;margin:0 auto 18px;border-radius:50%;background:#da0505;color:#fff;font-size:34px;font-weight:900}
.deal-warning-panel h1{margin:0;font-size:28px}
.deal-warning-panel p{margin:14px auto 26px;max-width:470px;color:#606b75;font-size:16px;line-height:1.5}
.deal-warning-actions{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}

.special-request-entry{margin-top:12px;padding:16px;border:1px solid #cfd5dc;background:#fff;scroll-margin-top:18px}
.special-request-entry[hidden]{display:none}
.special-request-entry>label{display:block;margin-bottom:9px;color:#17212b;font-size:14px;font-weight:800}
.special-request-entry textarea{
  width:100%;
  min-height:94px;
  resize:none;
  padding:13px 14px;
  border:2px solid #9da7b1;
  border-radius:0;
  outline:0;
  background:#fff;
  color:#17212b;
  font:600 17px/1.4 Arial,sans-serif;
}
.special-request-entry textarea:focus{border-color:#da0505;box-shadow:0 0 0 3px rgba(218,5,5,.09)}
.special-request-note-meta{display:flex;justify-content:space-between;gap:18px;margin:8px 0 13px;color:#6d7781;font-size:11px;line-height:1.3}
.special-request-note-meta strong{color:#3c4650;white-space:nowrap}
.onscreen-keyboard{display:grid;gap:6px;padding:8px;border:1px solid #cfd5dc;background:#f2f4f6;user-select:none}
.keyboard-row{display:flex;justify-content:center;gap:5px}
.keyboard-key{
  min-width:0;
  height:46px;
  flex:1 1 0;
  padding:0 4px;
  border:1px solid #aeb7c0;
  border-radius:0;
  background:#fff;
  color:#17212b;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  text-transform:uppercase;
  box-shadow:0 1px 0 #c7cdd3;
}
.keyboard-key:active{border-color:#da0505;background:#fff3f3;color:#da0505;transform:translateY(1px);box-shadow:none}
.keyboard-row--actions{margin-top:2px}
.keyboard-key--backspace{flex:1.4}
.keyboard-key--space{flex:4}
.keyboard-key--clear{flex:1.5;color:#da0505}
.keyboard-key--done{flex:1.7;border-color:#da0505;background:#da0505;color:#fff}
.keyboard-key--done:active{background:#b70000;color:#fff}

[dir="rtl"] .deal-option-card{text-align:right}
[dir="rtl"] .deal-option-copy{padding:13px 14px 13px 42px}
[dir="rtl"] .deal-option-arrow{right:auto;left:14px;transform:scaleX(-1)}

@media (max-width:860px){
  .deal-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .deal-view{width:calc(100% - 32px)}
  .keyboard-key{height:42px;font-size:14px}
}
@media (max-width:620px){
  .deal-progress{grid-template-columns:repeat(2,minmax(0,1fr))}
  .deal-choice-grid{grid-template-columns:1fr}
  .deal-review-item{grid-template-columns:36px minmax(0,1fr)}
  .deal-review-item>em{grid-column:2}
  .special-request-entry{padding:10px}
  .keyboard-row{gap:3px}
  .keyboard-key{height:38px;padding:0 2px;font-size:12px}
}

/* v0.5.19 — keep the order dock outside the product scroll area */
.screen-menu{
  --menu-dock-height:88px;
  display:grid;
  grid-template-columns:var(--menu-category-width) minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) var(--menu-dock-height);
  padding-bottom:0;
  overflow:hidden;
}
.menu-layout--minimal{display:contents}
.category-panel{
  grid-column:1;
  grid-row:1 / -1;
  width:100%;
  height:auto;
  min-height:0;
}
.product-panel--minimal{
  grid-column:2;
  grid-row:1;
  width:100%;
  height:auto;
  min-height:0;
}
.product-grid--minimal{
  min-height:0;
  height:100%;
  max-height:100%;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
  scroll-padding-bottom:24px;
}
.order-dock{
  position:static;
  grid-column:2;
  grid-row:2;
  width:100%;
  height:var(--menu-dock-height);
  min-height:var(--menu-dock-height);
}
@media (max-width:1100px){
  .screen-menu{--menu-dock-height:78px}
}

/* v0.5.20 — configurable spend-based free rewards */
.order-reward-action{
  min-width:240px;
  height:60px;
  display:flex;
  align-items:center;
  gap:11px;
  margin-right:auto;
  padding:0 15px;
  border:1px solid #d8b54b;
  background:#fff8d8;
  color:#473900;
  text-align:left;
  font:inherit;
}
.order-reward-action[hidden]{display:none}
.order-reward-action:disabled{cursor:default;opacity:.82}
.order-reward-action.is-eligible{
  border-color:#b80404;
  background:#da0505;
  color:#fff;
  cursor:pointer;
  box-shadow:0 3px 0 #a80000;
}
.order-reward-action__gift{font-size:28px;line-height:1}
.order-reward-action__copy{min-width:0;display:grid;gap:3px}
.order-reward-action__copy strong{font-size:13px;line-height:1.08;letter-spacing:.025em}
.order-reward-action__copy small{overflow:hidden;font-size:11px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}

.reward-picker{
  position:fixed;
  inset:0;
  z-index:170;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(17,25,33,.72);
  backdrop-filter:blur(3px);
}
.reward-picker[hidden]{display:none}
.reward-picker-panel{
  width:min(780px,100%);
  max-height:calc(100dvh - 48px);
  overflow:auto;
  padding:28px;
  border-top:7px solid #da0505;
  background:#fff;
  box-shadow:0 24px 80px rgba(0,0,0,.35);
}
.reward-picker-head{display:flex;align-items:center;gap:17px;margin-bottom:22px}
.reward-picker-head>span{width:62px;height:62px;display:grid;place-items:center;flex:0 0 auto;background:#fff1c7;font-size:35px}
.reward-picker-head h1{margin:0;font-size:28px;line-height:1.1}
.reward-picker-head p{margin:7px 0 0;color:#68727c;font-size:14px;line-height:1.35}
.reward-tier-list{display:grid;gap:10px;margin-bottom:18px}
.reward-tier-card{
  width:100%;
  min-height:96px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:14px 17px;
  border:1px solid #cfd5dc;
  background:#fff;
  color:#17212b;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.reward-tier-card:hover,.reward-tier-card:focus-visible{border-color:#da0505;outline:2px solid #da0505;outline-offset:-2px;background:#fffafa}
.reward-tier-card__mark{width:48px;height:48px;display:grid;place-items:center;background:#fff1c7;font-size:28px}
.reward-tier-card__copy{min-width:0;display:grid;gap:4px}
.reward-tier-card__copy small{color:#da0505;font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.reward-tier-card__copy strong{font-size:18px;line-height:1.15}
.reward-tier-card__copy em{color:#67717c;font-size:12px;font-style:normal;line-height:1.35}
.reward-tier-card__free{color:#da0505;font-size:20px;font-weight:900;white-space:nowrap}
.reward-picker-panel>.flow-button{width:100%;min-height:54px}

@media (max-width:1100px){
  .order-dock{gap:12px}
  .order-reward-action{min-width:205px;height:54px;padding-inline:11px}
  .order-reward-action__gift{font-size:24px}
  .order-dock__summary{min-width:150px}
}
@media (max-width:760px){
  .order-reward-action{min-width:154px}
  .order-reward-action__gift{display:none}
  .order-reward-action__copy strong{font-size:11px}
  .order-dock__summary{min-width:125px}
  .order-dock__summary strong{font-size:24px}
  .order-dock__action{min-width:150px;padding-inline:13px;font-size:14px}
  .reward-picker-panel{padding:20px}
  .reward-tier-card{grid-template-columns:42px minmax(0,1fr)}
  .reward-tier-card__mark{width:40px;height:40px;font-size:23px}
  .reward-tier-card__free{grid-column:2}
}

/* v0.5.23 — full customer order review */
.screen-order{
  display:grid;
  grid-template-rows:74px minmax(0,1fr);
  background:#f3f5f7;
  color:#17212b;
}
.order-page-head{
  display:grid;
  grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);
  align-items:center;
  gap:18px;
  padding:10px 22px;
  border-bottom:1px solid #cfd5dc;
  background:#fff;
}
.order-back-button,.order-add-more{
  min-height:48px;
  border:1px solid #aeb7c0;
  background:#fff;
  color:#17212b;
  font-size:13px;
  font-weight:800;
  letter-spacing:.035em;
  cursor:pointer;
}
.order-back-button{justify-self:start;display:flex;align-items:center;gap:10px;padding:0 17px}
.order-back-button>span:first-child{color:#da0505;font-size:32px;font-weight:300;line-height:1}
.order-add-more{justify-self:end;padding:0 20px;border-color:#da0505;color:#da0505}
.order-page-brand{text-align:center;line-height:1}
.order-page-brand strong{display:block;color:#da0505;font-size:19px;font-weight:700}
.order-page-brand span{display:block;margin-top:6px;color:#9299a2;font-size:8px;font-weight:800;letter-spacing:.13em}
.order-page-layout{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(340px,410px);
  gap:18px;
  padding:18px;
}
.order-items-panel,.order-summary-panel{min-height:0;background:#fff;border:1px solid #d5dbe1}
.order-items-panel{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}
.order-items-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:22px 24px 17px;border-bottom:1px solid #e1e5e9}
.order-items-head p,.fulfilment-card__head p{margin:0 0 5px;color:#da0505;font-size:11px;font-weight:900;letter-spacing:.1em}
.order-items-head h1{margin:0;font-size:32px;line-height:1;font-weight:850;letter-spacing:-.025em}
.order-page-count{padding-bottom:2px;color:#68727c;font-size:14px;font-weight:700}
.order-item-list{min-height:0;overflow-x:hidden;overflow-y:auto;padding:12px 16px 26px;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch}
.order-item-list::-webkit-scrollbar{width:0;height:0}
.order-line{display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px;padding:16px 8px;border-bottom:1px solid #e1e5e9;background:#fff}
.order-line__art{width:82px;height:82px;display:grid;place-items:center;background:#f5f6f7;font-size:42px}
.order-line.is-free-reward .order-line__art{background:#fff5ce}
.order-line__body{min-width:0}
.order-line__title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.order-line__title h2{margin:2px 0 0;font-size:19px;line-height:1.2}
.order-line__title>strong{flex:0 0 auto;color:#111820;font-size:19px;white-space:nowrap}
.order-line.is-free-reward .order-line__title>strong{color:#16833a}
.order-line__free-label{display:inline-block;padding:3px 7px;background:#da0505;color:#fff;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.order-line__options{margin:7px 0 0;color:#68727c;font-size:12px;line-height:1.45;overflow-wrap:normal;word-break:normal}
.order-line__options>span{color:#303a44;font-weight:800}
.order-line__deal-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;margin:10px 0 0;padding:10px 12px;list-style:none;background:#f7f8f9}
.order-line__deal-items li{min-width:0;display:grid;gap:2px;font-size:12px;line-height:1.25}
.order-line__deal-items li strong{font-weight:750}
.order-line__deal-items li span{color:#727c86;font-size:11px;overflow-wrap:normal;word-break:normal}
.order-line__actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:12px}
.order-line__quantity{display:grid;grid-template-columns:38px 42px 38px;height:38px;border:1px solid #bbc3cb}
.order-line__quantity button{border:0;background:#fff;color:#da0505;font-size:23px;line-height:1;cursor:pointer}
.order-line__quantity strong{display:grid;place-items:center;border-inline:1px solid #bbc3cb;font-size:15px}
.order-line__remove{border:0;background:transparent;color:#b40404;font-size:12px;font-weight:800;text-decoration:underline;cursor:pointer}
.order-line__reward-value{color:#16833a;font-size:12px;font-weight:800}
.order-empty{align-self:center;justify-self:center;max-width:430px;padding:50px 24px;text-align:center}
.order-empty>span{display:grid;place-items:center;width:88px;height:88px;margin:0 auto 20px;background:#f4f5f6;font-size:42px}
.order-empty h2{margin:0;font-size:28px}
.order-empty p{margin:10px 0 22px;color:#68727c;line-height:1.45}
.order-empty button{min-height:50px;padding:0 25px;border:0;background:#da0505;color:#fff;font-weight:800;cursor:pointer}
.order-summary-panel{display:flex;flex-direction:column;gap:14px;padding:18px;overflow-y:auto}
.fulfilment-card{border-bottom:1px solid #dde2e6;padding-bottom:17px}
.fulfilment-card__head{display:flex;align-items:start;justify-content:space-between;gap:12px;margin-bottom:13px}
.fulfilment-card__head h2{margin:0;font-size:20px;line-height:1.15}
.delivery-details-card{display:grid;gap:7px;padding:16px 0;border-bottom:1px solid #dde2e6}.delivery-details-card[hidden]{display:none}.delivery-details-card header{margin-bottom:4px}.delivery-details-card header p{margin:0 0 5px;color:#da0505;font-size:11px;font-weight:900;letter-spacing:.1em}.delivery-details-card header h2{margin:0;font-size:18px;line-height:1.2}.delivery-details-card label{margin-top:5px;font-size:11px;font-weight:900;letter-spacing:.055em;text-transform:uppercase}.delivery-details-card input,.delivery-details-card textarea{width:100%;padding:10px 12px;border:2px solid #8d98a3;background:#fff;color:#17212b;font:inherit}.delivery-details-card input{height:46px}.delivery-details-card textarea{min-height:76px;resize:vertical;line-height:1.35}.delivery-details-card input:focus,.delivery-details-card textarea:focus{border-color:#da0505;outline:3px solid #da050522}.delivery-details-card .is-invalid{border-color:#b40000}.delivery-details-card>p{margin:2px 0 0;color:#a80000;font-size:12px;font-weight:800}
.order-mode-status{max-width:145px;color:#5e6974;font-size:11px;font-weight:700;line-height:1.3;text-align:right}
.order-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.order-mode-switch button{min-width:0;min-height:76px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px;padding:8px 10px;border:1px solid #b9c1ca;background:#fff;color:#26313b;text-align:left;cursor:pointer}
.order-mode-switch button.is-active{border:3px solid #da0505;padding:6px 8px;background:#fff8f8;color:#111820}
.order-mode-switch__icon{font-size:25px}
.order-mode-switch button span:last-child{min-width:0;display:grid;gap:4px}
.order-mode-switch strong{font-size:12px;letter-spacing:.035em}
.order-mode-switch small{color:#66717b;font-size:11px;line-height:1.2;white-space:nowrap}
.minimum-order-card{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;padding:13px;border:1px solid #f0c0c0;background:#fff2f2}
.minimum-order-card.is-met{border-color:#b9d8c3;background:#eef8f1}
.minimum-order-card__mark{width:40px;height:40px;display:grid;place-items:center;background:#da0505;color:#fff;font-size:21px;font-weight:900}
.minimum-order-card.is-met .minimum-order-card__mark{background:#16833a}
.minimum-order-card strong,.minimum-order-card span:last-child{display:block}
.minimum-order-card strong{font-size:14px;line-height:1.25}
.minimum-order-card span:last-child{margin-top:3px;color:#68727c;font-size:11px;line-height:1.3}
.discount-code-card{display:grid;gap:9px;padding:13px;border:1px solid #d8dde2;background:#fff}.discount-code-card>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.discount-code-card strong{font-size:13px;letter-spacing:.06em}.discount-code-card small{color:#68727c;font-size:11px}.discount-code-entry{display:grid;grid-template-columns:minmax(0,1fr) auto}.discount-code-entry input{min-width:0;height:44px;padding:0 12px;border:1px solid #aeb7c0;border-right:0;font-size:17px;text-transform:uppercase}.discount-code-entry button{min-width:88px;border:0;background:#17212b;color:#fff;font-weight:900;cursor:pointer}.discount-code-card>p{margin:0;font-size:12px;font-weight:800}.discount-code-card>p.is-success{color:#167a35}.discount-code-card>p.is-error{color:#b40404}
.order-totals-card{display:grid;gap:11px;padding:16px;border:1px solid #d8dde2;background:#fafbfb}
.order-totals-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#59646f;font-size:14px}
.order-totals-card>div strong{color:#17212b;font-size:16px}
.order-totals-card>div[hidden]{display:none}
.order-totals-card .order-grand-total{margin-top:2px;padding-top:13px;border-top:1px solid #cfd5dc;color:#17212b;font-weight:900;letter-spacing:.05em}
.order-totals-card .order-grand-total strong{font-size:28px;letter-spacing:0}
.order-continue{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:auto;padding:0 18px;border:0;background:#da0505;color:#fff;text-align:left;cursor:pointer}
.order-continue>span:first-child{display:grid;gap:3px}
.order-continue strong{font-size:18px;letter-spacing:.035em}
.order-continue small{font-size:11px;font-weight:500}
.order-continue>span:last-child{font-size:35px;font-weight:300;line-height:1}
.order-continue:disabled{background:#e3b2b2;color:#fff;cursor:not-allowed}
.order-preview-receipt{min-height:50px;border:1px solid #da0505;background:#fff;color:#da0505;font-weight:800;letter-spacing:.035em;cursor:pointer}
.order-preview-receipt:hover,.order-preview-receipt:focus-visible{background:#fff5f5}
.order-preview-receipt[hidden]{display:none}
.voucher-payment-panel{padding:30px 40px}.voucher-code-entry{display:grid;grid-template-columns:minmax(0,1fr) 190px;width:min(620px,100%);margin:20px auto 0}.voucher-code-entry input{min-width:0;height:60px;padding:0 16px;border:2px solid #8d98a3;border-right:0;font-size:22px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.voucher-code-entry .checkout-primary{min-height:60px}.voucher-payment-panel .cash-print-status{width:min(620px,100%);margin:14px auto 0;text-align:center}.voucher-payment-panel>.checkout-secondary{margin-top:16px}
.receipt-email-card{padding:15px 0;border-bottom:1px solid #dde2e6}.receipt-email-toggle{display:flex;align-items:flex-start;gap:12px;cursor:pointer}.receipt-email-toggle input{width:24px;height:24px;margin:0;accent-color:#da0505;flex:0 0 auto}.receipt-email-toggle span{display:grid;gap:4px}.receipt-email-toggle strong{font-size:14px}.receipt-email-toggle small{color:#69747e;line-height:1.35}.receipt-email-entry{display:grid;gap:7px;margin-top:13px}.receipt-email-entry label{font-size:12px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.receipt-email-entry input{width:100%;height:50px;padding:0 13px;border:2px solid #8d98a3;background:#fff;color:#17212b;font-size:17px}.receipt-email-entry input:focus{border-color:#da0505;outline:3px solid #da050522}.receipt-email-entry input[aria-invalid="true"]{border-color:#b40000}.receipt-email-entry p{margin:0;color:#a80000;font-size:12px;font-weight:800}
.order-allergy-note{margin:0;color:#6a747e;font-size:10px;line-height:1.4;text-align:center}
[dir="rtl"] .order-back-button>span:first-child{transform:scaleX(-1)}
[dir="rtl"] .order-mode-status{text-align:left}
[dir="rtl"] .order-mode-switch button{text-align:right}
[dir="rtl"] .order-continue{text-align:right}

@media (max-width:980px){
  .order-page-layout{grid-template-columns:minmax(0,1fr) minmax(300px,350px);gap:12px;padding:12px}
  .order-line{grid-template-columns:64px minmax(0,1fr);gap:12px}
  .order-line__art{width:64px;height:64px;font-size:34px}
  .order-line__deal-items{grid-template-columns:1fr}
  .order-summary-panel{padding:14px}
  .order-mode-switch button{grid-template-columns:1fr;text-align:center}
  .order-mode-switch__icon{display:none}
  [dir="rtl"] .order-mode-switch button{text-align:center}
}
@media (max-width:720px){
  .screen-order{display:block;overflow-y:auto}
  .order-page-head{position:sticky;top:0;z-index:4;grid-template-columns:1fr auto;padding:8px 10px}
  .order-page-brand{display:none}
  .order-back-button,.order-add-more{min-height:44px;padding-inline:11px;font-size:11px}
  .order-page-layout{display:grid;grid-template-columns:1fr;padding:10px}
  .order-items-panel{min-height:55dvh;overflow:visible}
  .order-item-list{overflow:visible}
  .order-summary-panel{overflow:visible}
  .order-items-head{padding:18px}
  .order-items-head h1{font-size:27px}
}

/* v0.5.24 - pre-submission receipt PDF check */
.screen-receipt{display:grid;grid-template-rows:74px minmax(0,1fr);background:#eef1f3;color:#17212b}
.receipt-page-head{display:grid;grid-template-columns:minmax(190px,1fr) auto minmax(190px,1fr);align-items:center;gap:18px;padding:10px 22px;border-bottom:1px solid #cfd5dc;background:#fff}
.receipt-download{justify-self:end;min-height:48px;padding:0 20px;border:0;background:#da0505;color:#fff;font-size:13px;font-weight:850;letter-spacing:.035em;cursor:pointer}
.receipt-preview-layout{min-height:0;display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:18px;padding:18px}
.receipt-preview-copy,.receipt-paper-wrap{min-height:0;border:1px solid #d5dbe1;background:#fff}
.receipt-preview-copy{align-self:start;padding:28px}
.receipt-kicker{margin:0 0 8px;color:#da0505;font-size:11px;font-weight:900;letter-spacing:.11em}
.receipt-preview-copy h1{margin:0;font-size:34px;line-height:1.05;letter-spacing:-.025em}
.receipt-preview-copy>p:not(.receipt-kicker):not(.receipt-pdf-status){margin:15px 0 24px;color:#5f6973;font-size:14px;line-height:1.55}
.receipt-preview-actions{display:grid;gap:10px}
.receipt-preview-actions button{min-height:54px;padding:0 16px;font-size:13px;font-weight:850;letter-spacing:.025em;cursor:pointer}
#receipt-change-order{border:1px solid #9fa9b2;background:#fff;color:#17212b}
#receipt-ready{border:0;background:#16833a;color:#fff}
.receipt-pdf-status{min-height:42px;margin:18px 0 0;padding:11px 12px;background:#f3f5f6;color:#56616b;font-size:11px;line-height:1.4}
.receipt-paper-wrap{overflow:hidden;padding:12px;background:#d8dde1}
.receipt-pdf-preview{display:block;width:100%;height:100%;min-height:500px;border:0;background:#fff}
@media (max-width:820px){
  .screen-receipt{display:block;overflow-y:auto}
  .receipt-page-head{position:sticky;top:0;z-index:4;grid-template-columns:1fr auto;padding:8px 10px}
  .receipt-page-head .order-page-brand{display:none}
  .receipt-download{min-height:44px;padding-inline:12px;font-size:11px}
  .receipt-preview-layout{grid-template-columns:1fr;padding:10px}
  .receipt-preview-copy{padding:20px}
  .receipt-paper-wrap{height:75dvh;min-height:520px}
}

/* v0.5.38 — start navigation, fixed service choice and table location */
.menu-home-button{
  position:sticky;
  top:0;
  z-index:5;
  width:100%;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:0 0 7px;
  border:2px solid #da0505;
  border-radius:0;
  background:#fff;
  color:#da0505;
  font-size:14px;
  font-weight:900;
  letter-spacing:.05em;
  cursor:pointer;
  box-shadow:0 4px 8px rgba(255,255,255,.96);
}
.menu-home-button:hover,.menu-home-button:focus-visible{background:#fff3f3;outline:2px solid rgba(218,5,5,.18);outline-offset:1px}
.menu-home-button__icon{font-size:26px;line-height:1}

/* The right-hand heading is deliberately part of the catalogue scroll. */
.product-panel--minimal{
  display:block;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}
.menu-category-head{position:static}
.product-grid--minimal{
  height:auto;
  min-height:0;
  max-height:none;
  overflow:visible;
  touch-action:auto;
}

.selected-order-mode{
  min-height:68px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:11px;
  padding:10px 12px;
  border:2px solid #da0505;
  background:#fff8f8;
}
.selected-order-mode__icon{display:grid;place-items:center;width:40px;height:40px;background:#fff;font-size:25px}
.selected-order-mode__copy{min-width:0;display:grid;gap:4px}
.selected-order-mode__copy strong{font-size:14px;letter-spacing:.04em}
.selected-order-mode__copy small{color:#626d77;font-size:11px;line-height:1.25}

.eat-in-locator{display:grid;gap:11px;margin-top:14px;padding-top:14px;border-top:1px solid #dde2e6}
.eat-in-locator[hidden],.eat-in-reference-entry[hidden]{display:none!important}
.eat-in-locator header p{margin:0 0 4px;color:#da0505;font-size:10px;font-weight:900;letter-spacing:.1em}
.eat-in-locator header h3{margin:0;font-size:17px;line-height:1.2}
.eat-in-locator__types{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.eat-in-locator__types button{min-width:0;min-height:66px;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;padding:8px;border:1px solid #aeb7c0;background:#fff;color:#17212b;text-align:left;cursor:pointer}
.eat-in-locator__types button.is-active{border:3px solid #da0505;padding:6px;background:#fff4f4}
.eat-in-locator__types button>span{font-size:22px;color:#da0505;text-align:center}
.eat-in-locator__types button strong{font-size:11px;line-height:1.2;letter-spacing:.025em}
.eat-in-reference-entry{display:grid;gap:7px}
.eat-in-reference-entry>label{font-size:12px;font-weight:850}
.eat-in-reference-entry>input{width:100%;height:52px;padding:0 12px;border:2px solid #8f99a3;border-radius:0;background:#fff;color:#17212b;font-size:30px;font-weight:900;letter-spacing:.15em;text-align:center}
.eat-in-reference-entry>input:focus{border-color:#da0505;outline:3px solid rgba(218,5,5,.12)}
.eat-in-reference-entry>p{margin:0;color:#68727c;font-size:10px;line-height:1.35}
.eat-in-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:2px}
.eat-in-keypad button{min-width:0;height:42px;border:1px solid #aeb7c0;border-radius:0;background:#fff;color:#17212b;font-size:19px;font-weight:850;cursor:pointer}
.eat-in-keypad button:active{border-color:#da0505;background:#fff1f1;color:#da0505}
.eat-in-keypad .eat-in-keypad__action{font-size:10px;color:#b40404}
.eat-in-locator__error{margin:0;padding:8px 10px;border-left:3px solid #da0505;background:#fff1f1;color:#9d0000;font-size:10px;font-weight:800;line-height:1.35}
.eat-in-locator__error[hidden]{display:none!important}
.home-confirmation-dialog__mark{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 13px;background:#da0505;color:#fff;font-size:36px}

[dir="rtl"] .eat-in-locator__types button{text-align:right}
[dir="rtl"] .eat-in-locator__error{border-left:0;border-right:3px solid #da0505}

@media(max-width:720px){
  .menu-home-button{min-height:48px;font-size:12px}
  .menu-home-button__icon{font-size:22px}
  .eat-in-locator__types{grid-template-columns:1fr}
}

/* v0.5.40 — email keyboard, multi-staff counter sales and cash till */
.email-keyboard-overlay{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:18px;background:rgba(20,27,34,.76);backdrop-filter:blur(3px)}
.email-keyboard-overlay[hidden]{display:none!important}
.email-keyboard-panel{width:min(980px,100%);max-height:calc(100dvh - 36px);display:grid;gap:10px;overflow:auto;padding:18px 22px;border:2px solid #da0505;background:#fff;box-shadow:0 24px 70px #0006}
.email-keyboard-head p{margin:0 0 3px;color:#da0505;font-size:11px;font-weight:900;letter-spacing:.12em}
.email-keyboard-head h2{margin:0;font-size:clamp(24px,3vw,36px);line-height:1.1}
.email-keyboard-head small{display:block;margin-top:5px;color:#64707a;font-size:12px;line-height:1.3}
.email-keyboard-input{width:100%;height:54px;padding:0 14px;border:2px solid #8d98a3;background:#fff;color:#17212b;font-size:22px;font-weight:700;text-align:left;direction:ltr;unicode-bidi:isolate}
.email-keyboard-input:focus{border-color:#da0505;outline:3px solid #da050522}
.email-keyboard-input[aria-invalid="true"]{border-color:#b40000}
.email-keyboard-status{min-height:18px;margin:0;color:#a80000;font-size:12px;font-weight:800;text-align:left;direction:ltr}
.email-keyboard-status[hidden]{visibility:hidden;display:block!important}
.email-onscreen-keyboard{direction:ltr;unicode-bidi:isolate;padding:7px}
.email-onscreen-keyboard .keyboard-key{height:44px;font-size:15px;text-transform:none}
.email-onscreen-keyboard .keyboard-key--email-domain{flex:1.7;color:#8b0000}
.email-onscreen-keyboard .keyboard-key--backspace{flex:1.5}
.email-keyboard-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;direction:ltr}
.email-keyboard-actions button{min-height:50px;margin:0;font-weight:900}
[dir="rtl"] .receipt-email-entry input,[dir="rtl"] .email-keyboard-input{text-align:left;direction:ltr}

.screen-staff-till{overflow:auto;background:#eef1f3;color:#17212b}
.staff-till-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:76px;padding:12px 18px;border-bottom:1px solid #cdd4da;background:#fff}
.staff-till-head p,.till-lookup-panel header p,.till-order-head p,.till-payment-success>p{margin:0 0 3px;color:#da0505;font-size:10px;font-weight:900;letter-spacing:.12em}
.staff-till-head h1,.till-lookup-panel h2,.till-order-head h2,.till-payment-success h2{margin:0;line-height:1.1}
.staff-till-head h1{font-size:26px}.till-lookup-panel h2,.till-order-head h2{font-size:22px}
.staff-till-head__actions{display:flex;align-items:center;gap:8px}.staff-till-head__actions span{font-weight:900}
.staff-till-head__actions button{min-height:44px;padding:0 14px;border:1px solid #aeb7c0;background:#fff;font-size:11px;font-weight:900;cursor:pointer}
.staff-till-head__actions #staff-till-switch{border-color:#da0505;color:#da0505}
.staff-till-layout{display:grid;grid-template-columns:minmax(310px,390px) minmax(0,1fr);gap:16px;min-height:calc(100dvh - 76px);padding:16px}
.till-lookup-panel,.till-payment-panel,.till-payment-success{align-self:start;padding:18px;border:1px solid #cdd4da;background:#fff}
.till-code-input{width:100%;height:74px;margin:14px 0 10px;border:3px solid #8d98a3;background:#fff;color:#111;font:900 46px/1 Arial,sans-serif;letter-spacing:.22em;text-align:center;direction:ltr;unicode-bidi:isolate}
.till-code-input:focus{border-color:#da0505;outline:3px solid #da050522}
.till-number-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.till-number-keypad button,.till-money-keypad button{min-width:0;height:46px;border:1px solid #aeb7c0;background:#fff;color:#17212b;font-size:20px;font-weight:900;cursor:pointer}
.till-number-keypad button:active,.till-money-keypad button:active{border-color:#da0505;background:#fff0f0;color:#da0505}
.till-number-keypad__action,.till-money-keypad__action{font-size:10px!important;color:#a80000!important}
.till-primary,.till-secondary{min-height:52px;padding:0 16px;font-weight:900;cursor:pointer}
.till-primary{border:2px solid #da0505;background:#da0505;color:#fff}.till-secondary{border:1px solid #9ba5ae;background:#fff;color:#17212b}
.till-primary:disabled{border-color:#e3b2b2;background:#e3b2b2;cursor:not-allowed}
#till-code-find{width:100%;margin-top:9px}.till-status{min-height:20px;margin:8px 0;color:#a00000;font-size:12px;font-weight:800}
.till-open-orders-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #dde2e6;font-size:11px}
.till-open-orders-head button{min-height:32px;border:0;background:#eef1f3;color:#17212b;font-size:10px;font-weight:900;cursor:pointer}
.till-open-orders{display:grid;gap:6px;max-height:220px;margin-top:8px;overflow:auto}
.till-open-order{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;width:100%;padding:8px;border:1px solid #d7dde2;background:#fff;color:#17212b;text-align:left;cursor:pointer}
.till-open-order>strong{font-size:22px;color:#da0505;direction:ltr}.till-open-order span{display:grid;gap:2px;min-width:0}.till-open-order small{overflow:hidden;color:#65717b;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.till-open-order em{font-style:normal;font-weight:900}
.till-order-head{display:flex;align-items:start;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid #dde2e6}.till-order-head h2 strong{color:#da0505;font-size:34px;direction:ltr}
.till-language-chip{padding:7px 10px;border:1px solid #cad1d7;background:#f7f8f9;font-size:11px;font-weight:900}
.till-order-items{display:grid;gap:5px;max-height:150px;margin:12px 0;overflow:auto}.till-order-item{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid #edf0f2;font-size:13px}.till-order-item span{min-width:0}.till-order-item strong{white-space:nowrap}
.till-order-total,.counter-cash-summary{display:flex;align-items:end;justify-content:space-between;gap:12px;padding:12px 14px;background:#17212b;color:#fff}.till-order-total span,.counter-cash-summary span{font-size:11px;font-weight:900;letter-spacing:.09em}.till-order-total strong,.counter-cash-summary strong{font-size:34px}
.till-tender-panel{display:grid;gap:7px;margin-top:12px}.till-tender-panel>label,.counter-cash-input-label{font-size:11px;font-weight:900;letter-spacing:.08em}
#till-cash-received,.counter-cash-input{width:100%;height:58px;padding:0 12px;border:2px solid #8d98a3;background:#fff;color:#111;font-size:30px;font-weight:900;text-align:right;direction:ltr}
.till-quick-cash{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}.till-quick-cash button{min-width:0;min-height:40px;border:1px solid #aeb7c0;background:#fff;color:#17212b;font-size:13px;font-weight:900;cursor:pointer}.till-quick-cash button:disabled{opacity:.35;cursor:not-allowed}
.till-money-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.till-money-keypad button:nth-last-child(-n+4){grid-column:auto}.till-money-keypad button{height:40px;font-size:17px}
.till-change-panel{display:grid;grid-template-columns:1fr auto;gap:2px 14px;align-items:end;margin-top:12px;padding:12px 14px;border:3px solid #da0505;background:#fff5f5}.till-change-panel span{font-size:11px;font-weight:900;letter-spacing:.08em}.till-change-panel strong{grid-row:1 / span 2;grid-column:2;font-size:38px;color:#da0505}.till-change-panel small{min-height:16px;color:#7e0000;font-size:11px;font-weight:800}
.till-change-panel.is-ready{border-color:#16833a;background:#f1fbf4}.till-change-panel.is-ready strong{color:#126a35}.till-change-panel.is-ready small{color:#126a35}
.till-payment-actions,.counter-payment-actions{display:grid;grid-template-columns:1fr 1.25fr;gap:9px;margin-top:12px}.till-payment-actions button,.counter-payment-actions button{margin:0;min-height:54px;width:100%}
.till-payment-success{display:grid;justify-items:center;align-content:center;min-height:460px;text-align:center}.till-success-mark{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:#16833a;color:#fff;font-size:42px}.till-payment-success h2{font-size:30px}.till-payment-success>strong{margin:14px 0;font-size:64px;color:#16833a}.till-payment-success>p:not(:first-of-type){max-width:500px;color:#5c6872}.till-payment-success .till-primary{width:min(390px,100%)}.till-completion-timeout{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;width:min(540px,100%);margin-top:14px;padding:10px 12px;border:1px solid #cdd4da;background:#f7f8f9;color:#4f5b66;font-size:12px;font-weight:800;text-align:left}.till-completion-timeout[hidden]{display:none}.till-completion-timeout .till-secondary{min-height:38px;padding:0 12px;white-space:nowrap}

.payment-options.is-staff-counter{grid-template-columns:repeat(4,minmax(0,1fr))}.payment-options.is-staff-counter .payment-option{min-height:190px;padding:12px}.payment-options.is-staff-counter .payment-option>span{font-size:44px}.payment-options.is-staff-counter .payment-option strong{font-size:15px}
.counter-cash-payment{width:min(760px,100%);padding:22px 34px}.counter-cash-payment h1{font-size:32px}.counter-cash-summary{margin:12px 0}.counter-cash-input-label{display:block;text-align:left}.counter-cash-input{height:54px;margin:5px 0 8px}.counter-money-keypad{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:7px}.counter-money-keypad button{height:42px}.counter-change-panel{margin-top:10px}.counter-payment-actions .checkout-secondary,.counter-payment-actions .checkout-primary{margin:0}
.manual-card-payment{width:min(720px,100%);padding:28px 38px}.manual-card-confirmation{display:flex;align-items:flex-start;gap:12px;max-width:590px;margin:18px auto;padding:15px;border:2px solid #aeb7c0;background:#fff;text-align:left;font-weight:800;cursor:pointer}.manual-card-confirmation input{width:26px;height:26px;flex:0 0 26px;margin:0;accent-color:#da0505}
[dir="rtl"] .manual-card-confirmation,[dir="rtl"] .counter-cash-input-label{text-align:right}

@media(max-width:900px){
  .staff-till-layout{grid-template-columns:1fr}.till-open-orders{max-height:140px}
  .payment-options.is-staff-counter{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .staff-till-head{align-items:flex-start}.staff-till-head__actions{display:grid;grid-template-columns:1fr 1fr}.staff-till-head__actions span{grid-column:1 / -1}.staff-till-layout{padding:8px}.till-lookup-panel,.till-payment-panel,.till-payment-success{padding:12px}
  .email-keyboard-overlay{padding:7px}.email-keyboard-panel{max-height:calc(100dvh - 14px);padding:10px}.email-keyboard-head small{display:none}.email-onscreen-keyboard .keyboard-key{height:38px;font-size:12px}.email-keyboard-actions button{min-height:44px}
  .payment-options.is-staff-counter{grid-template-columns:1fr}.till-payment-actions,.counter-payment-actions{grid-template-columns:1fr}
}
@media(max-height:650px) and (min-width:621px){
  .email-keyboard-panel{gap:6px;padding:10px 16px}.email-keyboard-head small{display:none}.email-keyboard-input{height:46px}.email-onscreen-keyboard .keyboard-key{height:36px}.email-keyboard-actions button{min-height:42px}
  .counter-cash-payment{padding:12px 26px}.counter-cash-payment h1{font-size:26px}.counter-money-keypad button{height:35px}.counter-change-panel{padding:8px 12px}.counter-change-panel strong{font-size:30px}
}

.caller-id-banner{position:fixed;top:12px;left:50%;z-index:150;transform:translateX(-50%);display:grid;grid-template-columns:auto minmax(190px,1fr) auto auto;align-items:center;gap:12px;width:min(760px,calc(100vw - 28px));padding:10px 12px;border:2px solid #da0505;background:#fff;box-shadow:0 12px 34px #0004;color:#17212b}
.caller-id-banner[hidden]{display:none!important}.caller-id-banner__mark{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:#da0505;color:#fff;font-size:25px}.caller-id-banner>div{display:grid;gap:1px;min-width:0}.caller-id-banner small{color:#da0505;font-size:9px;font-weight:900;letter-spacing:.12em}.caller-id-banner strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.caller-id-banner span:not(.caller-id-banner__mark){font-size:14px;font-weight:800;direction:ltr;text-align:left}.caller-id-banner em{color:#a00000;font-size:10px;font-style:normal;font-weight:800}.caller-id-banner button{min-height:42px;padding:0 12px;border:1px solid #aeb7c0;background:#fff;color:#17212b;font-size:10px;font-weight:900;cursor:pointer}.caller-id-banner #caller-id-start-order{border-color:#da0505;background:#da0505;color:#fff}.caller-id-banner #caller-id-dismiss{width:42px;padding:0;font-size:24px}
.mode-online .staff-login-tab{display:none!important}.mode-online .order-page-head,.mode-online .menu-home-button{position:relative}.mode-online .app-shell,.mode-online .screen{max-width:1440px;margin-inline:auto}.mode-online .screen-start{min-height:620px}.mode-online .receipt-email-entry input{cursor:text}
@media(max-width:620px){.caller-id-banner{grid-template-columns:auto 1fr auto}.caller-id-banner #caller-id-start-order{grid-column:1 / -1;width:100%}.caller-id-banner #caller-id-dismiss{grid-column:3;grid-row:1}.caller-id-banner__mark{width:40px;height:40px}}

.supervisor-override-dialog{z-index:130}.supervisor-override-panel{position:relative;width:min(620px,100%)}.supervisor-override-panel .payment-dialog__mark{border-color:#7b4a00;color:#7b4a00}.supervisor-pin-display{min-height:54px;margin:14px auto}.supervisor-pin-keypad{display:grid;grid-template-columns:repeat(3,minmax(62px,86px));gap:8px;justify-content:center}.supervisor-pin-keypad button{height:54px;border:0;border-radius:6px;background:#a80000;color:#fff;font-size:25px;font-weight:800;cursor:pointer}.supervisor-pin-keypad button[data-supervisor-pin-action]{background:#4f5963;font-size:11px}.supervisor-approved-actions{display:grid;gap:12px}.supervisor-approved-actions>strong{padding:10px;background:#e8f7ed;color:#116b34}.supervisor-approved-actions button{display:grid;gap:3px;min-height:64px;margin:0;padding:10px 18px}.supervisor-approved-actions button small{font-size:12px;font-weight:600}.supervisor-approved-actions[hidden]{display:none!important}
.payment-out-editor{width:min(920px,100%);display:grid;gap:7px;text-align:left}.payment-out-editor h2,.payment-out-editor>p{text-align:center}.payment-out-editor>label{font-size:11px;font-weight:900;letter-spacing:.08em}.payment-out-editor #payment-out-amount{height:52px;padding:0 12px;border:2px solid #8d98a3;font-size:28px;font-weight:900;text-align:right}.payment-out-money-keypad{display:grid;grid-template-columns:repeat(7,minmax(46px,1fr));gap:6px}.payment-out-money-keypad button{height:42px;border:0;background:#17212b;color:#fff;font-size:18px;font-weight:800}.payment-out-editor textarea{width:100%;min-height:58px;padding:9px;border:2px solid #8d98a3;resize:none;font:inherit}.payment-out-keyboard{display:grid;gap:5px}.payment-out-keyboard .keyboard-key{height:38px}.payment-out-editor .payment-dialog__confirm-actions{margin-top:4px}.payment-out-review{display:grid;gap:10px;margin:16px 0;padding:18px;background:#fff3d6;border:2px solid #c38100}.payment-out-review>span{font-size:42px;font-weight:900}.payment-out-review>p{margin:0;font-size:16px;font-weight:700}.payment-out-checkout-items{display:grid;gap:7px;max-height:230px;overflow:auto;text-align:left}.payment-out-checkout-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:9px 10px;border:1px solid #d6af54;background:#fff}.payment-out-checkout-item span{min-width:0;font-size:13px;font-weight:700;overflow-wrap:anywhere}.payment-out-checkout-item strong{font-size:15px;white-space:nowrap}.payment-out-payment{width:min(720px,100%)}
.code-keyboard-panel{width:min(880px,100%)}.code-keyboard-input{text-transform:uppercase;letter-spacing:.08em;font-weight:900}.code-keyboard-panel .email-onscreen-keyboard{direction:ltr}.code-keyboard-panel .keyboard-key{font-size:15px;text-transform:uppercase}
@media(max-width:720px){.checkout-secure{display:none}.supervisor-override-button{padding:0 8px;font-size:9px}.payment-out-money-keypad{grid-template-columns:repeat(4,1fr)}.payment-out-editor{gap:5px}.payment-out-keyboard .keyboard-key{height:34px;font-size:11px}.supervisor-override-panel{padding:22px 14px}}

/* v0.5.42 — calmer, normal-weight titles without weakening key values */
:root{
  --weight-normal:400;
  --weight-selected:600;
  --weight-value:700;
  --weight-code:900;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body [id$="-title"],
.category-label,
.payment-option>strong,
.choice-product-name,
.required-choice__copy strong,
.choice-steps li strong,
.custom-summary-copy strong,
.customise-product-card__main strong,
.customiser-group__heading>span,
.single-choice-row strong,
.ingredient-copy strong,
.flow-product-choice,
.deal-progress-step>strong,
.deal-option-copy strong,
.deal-review-item p strong,
.reward-tier-card__copy strong,
.order-reward-action__copy strong,
.order-line__options>span,
.order-line__deal-items li strong,
.order-mode-switch strong,
.minimum-order-card strong,
.discount-code-card strong,
.receipt-email-toggle strong,
.selected-order-mode__copy strong,
.eat-in-locator__types button strong,
.payment-dialog__confirmation>strong,
.payment-out-review>p,
.payment-out-checkout-item span,
.checkout-secure,
.checkout-eyebrow,
.cash-amount span,
.cash-save-confirmation,
.flow-step-label,
.flow-eyebrow,
.product-quantity>span,
.flow-total span,
.special-request-entry>label,
.deal-review-item small,
.order-dock__label,
.order-items-head p,
.fulfilment-card__head p,
.order-page-count,
.delivery-details-card header p,
.delivery-details-card label,
.order-mode-status,
.receipt-email-entry label,
.receipt-kicker,
.eat-in-locator header p,
.eat-in-reference-entry>label,
.email-keyboard-head p,
.manual-card-confirmation,
.payment-out-editor>label,
.staff-till-head p,
.till-lookup-panel header p,
.till-order-head p,
.till-payment-success>p,
.till-order-total span,
.counter-cash-summary span,
.till-tender-panel>label,
.counter-cash-input-label,
.till-change-panel span{
  font-weight:var(--weight-normal)!important;
}

.category-button.is-active .category-label,
.menu-filter-list button.is-active,
.required-choice.is-selected .required-choice__copy strong,
.single-choice-row.is-selected strong,
.deal-progress li.is-current .deal-progress-step>strong,
.order-mode-switch button.is-active strong,
.eat-in-locator__types button.is-active strong{
  font-weight:var(--weight-selected)!important;
}

.dialog-total strong,
.product-foot strong,
.order-dock__summary strong,
.required-choice__copy>span,
.flow-product-price-row>strong,
.quantity-control strong,
.flow-total strong,
.item-added-confirmation>strong,
.customise-product-card__main div span,
.single-choice-price,
.ingredient-option-price,
.reward-tier-card__free,
.order-line__title>strong,
.order-line__quantity strong,
.order-line__reward-value,
.order-totals-card>div strong,
.checkout-total strong,
.payment-big-total,
.cash-amount strong,
.till-order-total strong,
.counter-cash-summary strong,
#till-cash-received,
.counter-cash-input,
.till-change-panel strong,
.till-payment-success>strong,
#payment-out-amount,
.payment-out-review>span,
.payment-out-checkout-item strong,
.special-request-note-meta strong{
  font-weight:var(--weight-value)!important;
}

.cash-order-code,
.till-code-input,
.till-open-order>strong,
.till-order-head h2 strong{
  font-weight:var(--weight-code)!important;
}

/* v0.5.43 — compact order review, modal table entry and touch-friendly till */
:root{--kiosk-numeric-key-height:76px;--kiosk-letter-key-height:46px;--kiosk-key-gap:10px}
.onscreen-keyboard[hidden],
.till-payment-success[hidden],
.discount-code-entry[hidden],
.receipt-email-entry[hidden],
.minimum-order-card[hidden],
.discount-code-card[hidden],
.receipt-email-card[hidden]{display:none!important}

.order-summary-panel{gap:10px;padding:16px}
.fulfilment-card--compact{padding:0;border:0}
.discount-code-card--compact,
.receipt-email-card--compact{
  display:grid;
  gap:0;
  padding:0;
  border:1px solid #d8dde2;
  background:#fff;
}
.order-detail-action{
  width:100%;
  min-height:62px;
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 20px;
  align-items:center;
  gap:11px;
  padding:9px 11px;
  border:0;
  background:#fff;
  color:#17212b;
  text-align:left;
  cursor:pointer;
}
.order-detail-action:hover,.order-detail-action:focus-visible{background:#fff6f6;outline:2px solid #da0505;outline-offset:-2px}
.order-detail-action.is-complete{background:#f1faf4}
.order-detail-action__icon{width:40px;height:40px;display:grid;place-items:center;background:#fff2f2;color:#da0505;font-size:22px}
.order-detail-action__icon--text{font-size:24px;font-weight:700}
.order-detail-action__copy{min-width:0;display:grid;gap:3px}
.order-detail-action__copy strong{font-size:13px;font-weight:400;letter-spacing:.045em}
.order-detail-action__copy small{overflow:hidden;color:#69747e;font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.order-detail-action.is-complete .order-detail-action__copy small{color:#126a35}
.order-detail-action__arrow{color:#da0505;font-size:28px;font-weight:300;line-height:1}
.order-detail-remove{justify-self:end;min-height:36px;margin:0 9px 8px;padding:0 10px;border:1px solid #da0505;background:#fff;color:#a80000;font-size:10px;font-weight:600;cursor:pointer}
.discount-code-card--compact>p{margin:0;padding:0 11px 9px;font-size:11px}
.receipt-email-card--compact.is-error .order-detail-action{background:#fff1f1;outline:2px solid #b40000;outline-offset:-2px}
[dir="rtl"] .order-detail-action{text-align:right}
[dir="rtl"] .order-detail-action__arrow{transform:scaleX(-1)}

.eat-in-locator-overlay{position:fixed;inset:0;z-index:170;display:grid;place-items:center;padding:18px;background:rgba(20,27,34,.76);backdrop-filter:blur(3px)}
.eat-in-locator-overlay[hidden]{display:none!important}
.eat-in-locator-panel{width:min(560px,100%);max-height:calc(100dvh - 36px);display:grid;gap:13px;overflow:auto;padding:20px 22px;border:2px solid #da0505;background:#fff;box-shadow:0 24px 70px #0006}
.eat-in-locator-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.eat-in-locator-head p{margin:0 0 4px;color:#da0505;font-size:11px;font-weight:500;letter-spacing:.1em}
.eat-in-locator-head h2{margin:0;font-size:26px;font-weight:400;line-height:1.12}
.eat-in-locator-head>button{width:44px;height:44px;flex:0 0 44px;border:1px solid #aeb7c0;background:#fff;color:#17212b;font-size:26px;cursor:pointer}
.eat-in-locator-panel .eat-in-locator__types{gap:10px}
.eat-in-locator-panel .eat-in-locator__types button{min-height:62px}
.eat-in-locator-panel .eat-in-reference-entry{gap:8px}
.eat-in-locator-panel .eat-in-reference-entry>input{height:62px;font-size:34px}
.eat-in-locator-panel .eat-in-reference-entry>input[aria-invalid="true"]{border-color:#b40000}
.eat-in-locator-panel .eat-in-keypad{width:min(248px,100%);grid-template-columns:repeat(3,var(--kiosk-numeric-key-height));justify-content:center;gap:var(--kiosk-key-gap);margin:4px auto 0}
.eat-in-locator-panel .eat-in-keypad button{width:100%;height:var(--kiosk-numeric-key-height);font-size:23px}
.eat-in-locator-panel .eat-in-keypad .eat-in-keypad__action{font-size:11px}
.eat-in-locator-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.eat-in-locator-actions button{min-height:54px}

#till-payment-panel{width:100%;max-width:980px;justify-self:center}
#till-payment-panel .till-tender-panel{width:min(760px,100%);margin:16px auto 0;gap:10px}
#till-payment-panel .till-quick-cash{grid-template-columns:repeat(5,minmax(86px,1fr));gap:10px}
#till-payment-panel .till-quick-cash button{min-height:62px;font-size:18px;font-weight:600}
#till-code-keypad,.till-number-keypad{width:min(248px,100%);grid-template-columns:repeat(3,var(--kiosk-numeric-key-height));justify-content:center;gap:var(--kiosk-key-gap);margin-inline:auto}
.till-number-keypad button{width:100%;height:var(--kiosk-numeric-key-height);font-size:24px;font-weight:600}
#till-money-keypad,#counter-money-keypad{width:min(248px,100%);grid-template-columns:repeat(3,var(--kiosk-numeric-key-height));justify-content:center;gap:var(--kiosk-key-gap);margin:4px auto 0}
#till-money-keypad button,#counter-money-keypad button{width:100%;height:var(--kiosk-numeric-key-height);font-size:24px;font-weight:600}
#till-money-keypad button:last-child,#counter-money-keypad button:last-child{grid-column:2;height:var(--kiosk-numeric-key-height)}
.pin-keypad,.supervisor-pin-keypad{grid-template-columns:repeat(3,var(--kiosk-numeric-key-height));gap:var(--kiosk-key-gap)}
.pin-key,.pin-key-spacer,.supervisor-pin-keypad button{width:var(--kiosk-numeric-key-height);height:var(--kiosk-numeric-key-height);aspect-ratio:auto}
.onscreen-keyboard .keyboard-key,.email-onscreen-keyboard .keyboard-key,.payment-out-keyboard .keyboard-key{height:var(--kiosk-letter-key-height)}

@media(max-width:760px){
  .order-summary-panel{padding:12px}
  .eat-in-locator-overlay{padding:7px}
  .eat-in-locator-panel{max-height:calc(100dvh - 14px);padding:14px}
  #till-payment-panel .till-quick-cash{grid-template-columns:repeat(2,minmax(0,1fr))}
  #till-payment-panel .till-quick-cash button:first-child{grid-column:1 / -1}
}

/* v0.5.44 — balanced Cash Till columns and themed code-keyboard close control */
.code-keyboard-panel{position:relative}
.code-keyboard-head{min-height:48px;padding-right:60px}
.code-keyboard-head>div{min-width:0}
.code-keyboard-close{
  position:absolute;
  top:16px;
  right:20px;
  display:grid;
  place-items:center;
  width:46px;
  height:46px;
  padding:0;
  border:2px solid #da0505;
  border-radius:0;
  background:#fff;
  color:#da0505;
  font:400 32px/1 Arial,sans-serif;
  cursor:pointer;
}
.code-keyboard-close:hover,
.code-keyboard-close:active{background:#fff0f0}
.code-keyboard-close:focus-visible{outline:3px solid #da050544;outline-offset:2px}

.staff-till-layout{
  position:relative;
  overflow-x:hidden;
  transition:grid-template-columns .34s ease,gap .34s ease;
}
.staff-till-layout>.till-lookup-panel{
  min-width:0;
  transform:translateX(0);
  opacity:1;
  transition:transform .34s ease,opacity .22s ease;
}
.staff-till-layout.has-active-order{
  grid-template-columns:0 minmax(0,1fr);
  gap:0;
}
.staff-till-layout.has-active-order>.till-lookup-panel{
  transform:translateX(calc(-100% - 24px));
  opacity:0;
  pointer-events:none;
}

#till-payment-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,370px);
  gap:16px;
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  background:transparent;
  direction:ltr;
  justify-self:stretch;
  align-items:start;
}
#till-payment-panel[hidden]{display:none!important}
#till-payment-panel:not([hidden]){animation:till-order-reveal .3s ease-out both}
.till-order-content,
#till-payment-panel>.till-tender-panel{
  min-width:0;
  padding:18px;
  border:1px solid #cdd4da;
  background:#fff;
}
.till-order-content{align-self:start}
.till-order-content .till-order-items{min-height:150px;max-height:calc(100dvh - 430px)}
#till-payment-panel>.till-tender-panel{
  position:sticky;
  top:92px;
  width:100%;
  max-width:370px;
  max-height:calc(100dvh - 110px);
  margin:0;
  gap:10px;
  overflow:auto;
  border-left:2px solid #da0505;
  box-shadow:-12px 0 28px #17212b14;
  animation:till-cash-drawer-in .34s ease-out both;
}
[dir="rtl"] #till-payment-panel>.till-order-content,
[dir="rtl"] #till-payment-panel>.till-tender-panel{direction:rtl}
.till-cash-input-row{display:grid;grid-template-columns:minmax(0,1fr) 58px;direction:ltr}
.till-cash-input-row #till-cash-received{border-right:0}
.till-cash-input-backspace{
  min-width:58px;
  border:2px solid #8d98a3;
  background:#fff;
  color:#da0505;
  font-size:22px;
  cursor:pointer;
}
.till-cash-input-backspace:active{border-color:#da0505;background:#fff0f0}
#till-payment-panel .till-quick-cash{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
#till-payment-panel .till-quick-cash button{
  min-height:62px;
  font-size:18px;
  font-weight:600;
}
#till-payment-panel .till-quick-cash button:first-child{grid-column:1 / -1}
#till-payment-panel #till-money-keypad{margin-top:4px}
#till-payment-panel #till-money-keypad button:last-child{grid-column:auto;height:var(--kiosk-numeric-key-height)}
.staff-till-layout>.till-payment-success{grid-column:2;width:100%;justify-self:stretch}

@keyframes till-order-reveal{
  from{opacity:0;transform:translateX(18px)}
  to{opacity:1;transform:translateX(0)}
}
@keyframes till-cash-drawer-in{
  from{opacity:0;transform:translateX(110%)}
  to{opacity:1;transform:translateX(0)}
}

@media(prefers-reduced-motion:reduce){
  .staff-till-layout,
  .staff-till-layout>.till-lookup-panel{transition:none}
  #till-payment-panel:not([hidden]),
  #till-payment-panel>.till-tender-panel{animation:none}
}

@media(max-width:760px){
  .staff-till-layout.has-active-order{grid-template-columns:1fr}
  .staff-till-layout.has-active-order>.till-lookup-panel{display:none}
  #till-payment-panel,
  .staff-till-layout>.till-payment-success{grid-column:1}
  #till-payment-panel{grid-template-columns:1fr}
  #till-payment-panel>.till-tender-panel{position:static;max-width:none;max-height:none}
}

@media(max-width:620px){
  .code-keyboard-head{padding-right:54px}
  .code-keyboard-close{top:10px;right:10px;width:44px;height:44px}
  .till-order-content,
  #till-payment-panel>.till-tender-panel{padding:12px}
}

/* v0.5.45 — named staff order sessions, protected access and temporary control */
:root{--staff-order-tabs-height:62px}
.staff-order-tabs{
  position:fixed;
  inset:0 0 auto;
  z-index:95;
  height:var(--staff-order-tabs-height);
  display:flex;
  align-items:stretch;
  gap:8px;
  padding:7px 10px;
  border-bottom:1px solid #cfd5dc;
  background:#fff;
  box-shadow:0 5px 18px #17212b16;
  direction:ltr;
}
.staff-order-tabs[hidden]{display:none!important}
.staff-order-tab-list{min-width:0;display:flex;align-items:stretch;gap:8px;flex:1;overflow-x:auto;scrollbar-width:none}
.staff-order-tab-list::-webkit-scrollbar{display:none}
.staff-order-tab{
  min-width:150px;
  max-width:220px;
  display:grid;
  align-content:center;
  gap:2px;
  padding:5px 13px;
  border:1px solid #c8d0d7;
  border-left:4px solid #8e99a4;
  background:#f7f8f9;
  color:#17212b;
  text-align:left;
  cursor:pointer;
}
.staff-order-tab strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600}
.staff-order-tab small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#68737d;font-size:10px;font-weight:400}
.staff-order-tab[aria-current="true"]{border-color:#da0505;border-left-color:#da0505;background:#fff3f3;color:#9d0000}
.staff-order-tab.has-temporary-controller{border-left-color:#b56b00;background:#fff9ea}
.staff-order-tab.is-payment-locked{border-left-color:#1e68a8;background:#eef7ff}
/* v0.5.47 — held-order state and the explicit Hold & Start New action */
.staff-order-tab.is-held{border-left-color:#c38100;background:#fff8e8}
.staff-hold-order{flex:0 0 auto;min-width:170px;padding:0 14px;border:2px solid #da0505;background:#fff;color:#b00000;font-size:11px;font-weight:600;cursor:pointer}
.staff-hold-order[hidden]{display:none!important}
.staff-new-order{flex:0 0 auto;min-width:180px;padding:0 16px;border:2px solid #da0505;background:#da0505;color:#fff;font-size:12px;font-weight:600;cursor:pointer}
.staff-session-switch-status{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);max-width:min(720px,calc(100vw - 30px));margin:0;padding:11px 16px;border:2px solid #da0505;background:#fff;color:#17212b;box-shadow:0 10px 28px #0002;text-align:center;font-size:14px}
.staff-session-switch-status[hidden]{display:none!important}

body.has-staff-order-tabs .screen{height:calc(100dvh - var(--staff-order-tabs-height));margin-top:var(--staff-order-tabs-height)}
body.has-staff-order-tabs .product-flow{top:var(--staff-order-tabs-height);height:calc(100dvh - var(--staff-order-tabs-height))}
body.has-staff-order-tabs .staff-dialog{padding-top:calc(var(--staff-order-tabs-height) + 18px)}
body.has-staff-order-tabs .completion-timeout{bottom:12px}
body.has-staff-order-tabs .screen-checkout .checkout-layout{min-height:calc(100dvh - var(--staff-order-tabs-height) - 82px)}
body.has-staff-order-tabs .screen-staff-till .staff-till-layout{min-height:calc(100dvh - var(--staff-order-tabs-height) - 76px)}

.staff-session-access-dialog{z-index:145}
.staff-session-access-panel{position:relative;width:min(700px,100%);text-align:left}
.staff-session-access-panel h2{padding-right:38px;font-size:30px;font-weight:400}
.staff-session-access-panel>div>p:not(.checkout-eyebrow){margin:0 0 20px;color:#58636e;font-size:16px;line-height:1.45}
.staff-session-access-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.staff-session-access-actions .checkout-primary,
.staff-session-access-actions .checkout-secondary{width:100%;min-height:58px;margin:0}
.staff-session-access-actions #staff-session-take-control{grid-column:1 / -1}
.staff-session-access-panel .payment-dialog__confirm-actions .checkout-primary,
.staff-session-access-panel .payment-dialog__confirm-actions .checkout-secondary{margin:0}
.staff-session-read-only-items{display:grid;gap:8px;max-height:300px;overflow:auto;margin:16px 0;padding:10px;border:1px solid #d5dbe1;background:#f7f8f9}
.staff-session-read-only-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;padding:10px;border-bottom:1px solid #d5dbe1;background:#fff}
.staff-session-read-only-item:last-child{border-bottom:0}
.staff-session-read-only-item span{min-width:0;overflow-wrap:anywhere}
.staff-session-read-only-total{display:flex;justify-content:space-between;align-items:center;margin:14px 0 18px;padding-top:14px;border-top:2px solid #d5dbe1}
.staff-session-read-only-total strong{font-size:28px;color:#111}
#staff-session-read-only-close{width:100%}

@media(max-width:720px){
  :root{--staff-order-tabs-height:58px}
  .staff-order-tabs{gap:5px;padding:6px}
  .staff-order-tab-list{gap:5px}
  .staff-order-tab{min-width:118px;padding-inline:9px}
  .staff-order-tab strong{font-size:13px}
  .staff-hold-order{min-width:132px;padding:0 8px;font-size:9px}
  .staff-new-order{min-width:54px;width:54px;padding:0;font-size:0}
  .staff-new-order::before{content:'+';font-size:28px}
  .staff-session-access-actions,.staff-session-access-panel .payment-dialog__confirm-actions{grid-template-columns:1fr}
  .staff-session-access-actions #staff-session-take-control{grid-column:1}
}

/* v0.5.46 — keep every counter-cash control inside the kiosk viewport */
.counter-cash-payment{
  width:min(1020px,100%);
  display:grid;
  grid-template-columns:minmax(0,1fr) 248px;
  grid-template-areas:
    "eyebrow eyebrow"
    "title title"
    "summary keypad"
    "label keypad"
    "input keypad"
    "presets keypad"
    "change keypad"
    "actions keypad";
  column-gap:28px;
  row-gap:7px;
  align-items:start;
  padding:18px 24px;
}
.counter-cash-payment[hidden]{display:none!important}
#counter-cash-eyebrow{grid-area:eyebrow;margin:0;text-align:center}
#counter-cash-title{grid-area:title;margin:0;text-align:center}
.counter-cash-payment .counter-cash-summary{grid-area:summary;margin:3px 0 0}
.counter-cash-payment .counter-cash-input-label{grid-area:label;margin:0}
.counter-cash-payment .counter-cash-input-row{grid-area:input}
.counter-cash-payment .counter-cash-input{height:58px;margin:0}
.counter-cash-payment .counter-quick-cash{
  grid-area:presets;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.counter-cash-payment .counter-quick-cash button{min-height:58px;font-size:16px;font-weight:600}
.counter-cash-payment #counter-money-keypad{
  grid-area:keypad;
  align-self:center;
  margin:0 auto;
}
.counter-cash-payment .counter-change-panel{grid-area:change;margin:0}
.counter-cash-payment .counter-payment-actions{grid-area:actions;margin:0}

@media(max-width:820px){
  .counter-cash-payment{
    grid-template-columns:1fr;
    grid-template-areas:
      "eyebrow"
      "title"
      "summary"
      "label"
      "input"
      "presets"
      "keypad"
      "change"
      "actions";
    width:min(760px,100%);
  }
  .counter-cash-payment #counter-money-keypad{margin:4px auto 0}
}

@media(max-height:800px) and (min-width:821px){
  .checkout-layout{padding:14px}
  .counter-cash-payment{row-gap:5px;padding:12px 20px}
  .counter-cash-payment h1{font-size:27px}
  .counter-cash-payment .counter-quick-cash button{min-height:52px}
  .counter-cash-payment .counter-change-panel{padding:9px 12px}
  .counter-cash-payment .counter-change-panel strong{font-size:32px}
  .counter-cash-payment .counter-payment-actions button{min-height:50px}
}

/* v0.6.8 — staff discounts, cash-drawer workflow and receipt history */
.staff-history-button{min-height:42px;padding:0 14px;border:1px solid #bfc5cb;background:#fff;color:#17212b;font-size:11px;font-weight:900;letter-spacing:.04em;cursor:pointer;white-space:nowrap}
.staff-history-button[hidden]{display:none!important}
.quick-discount-card{padding:16px;border:1px solid var(--line);background:#fff}
.quick-discount-card[hidden]{display:none!important}
.quick-discount-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:12px}
.quick-discount-card__head strong{display:block;font-size:14px;letter-spacing:.05em;color:#1d252d}
.quick-discount-card__head small{display:block;margin-top:3px;color:#68737d;font-size:12px;line-height:1.35}
.quick-discount-card__head>button{min-height:34px;padding:0 12px;border:1px solid #a80000;background:#fff;color:#a80000;font-size:11px;font-weight:900;cursor:pointer}
.quick-discount-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.quick-discount-button{min-height:62px;padding:9px 8px;border:2px solid #c9d0d7;background:#fff;color:#17212b;cursor:pointer;text-align:center}
.quick-discount-button strong,.quick-discount-button small{display:block}
.quick-discount-button strong{font-size:13px;line-height:1.15}
.quick-discount-button small{margin-top:5px;color:#65717c;font-size:11px}
.quick-discount-button:hover,.quick-discount-button:focus-visible,.quick-discount-button.is-selected{border-color:var(--brand);background:#fff5f5}
.quick-discount-button.is-selected{box-shadow:inset 0 0 0 1px var(--brand)}
.quick-discount-button:disabled{border-color:#e0e0e0;background:#f5f5f5;color:#9b9b9b;cursor:not-allowed}
.quick-discount-button:disabled small{color:#a9a9a9}
.quick-discount-empty{grid-column:1/-1;padding:12px;border:1px dashed #bbb;color:#68737d;text-align:center;font-size:12px}
#quick-discount-status{min-height:18px;margin:9px 0 0;font-size:12px;font-weight:700}
#quick-discount-status.is-success{color:var(--success)}
#quick-discount-status.is-error{color:var(--error)}
.cash-receipt-actions{width:min(500px,100%);display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px auto 0}
.cash-receipt-actions[hidden]{display:none!important}
.cash-receipt-actions .checkout-primary,.cash-receipt-actions .checkout-secondary,.cash-receipt-actions .till-primary,.cash-receipt-actions .till-secondary{width:100%;min-height:58px;margin:0}
.cash-receipt-actions p{grid-column:1/-1;min-height:18px;margin:0!important;font-size:12px!important;color:#5d6872!important}
.cash-receipt-actions p.is-success{color:var(--success)!important}
.cash-receipt-actions p.is-error{color:var(--error)!important}
.staff-tools-dialog{position:fixed;inset:0;z-index:170;display:grid;place-items:center;padding:22px;background:rgba(17,25,33,.72);backdrop-filter:blur(2px)}
.staff-tools-dialog[hidden]{display:none!important}
.staff-tools-dialog__panel{width:min(980px,100%);max-height:calc(100dvh - 44px);overflow:auto;border:2px solid var(--brand);background:#fff;box-shadow:0 24px 80px #0006}
.staff-tools-dialog__panel--small{width:min(520px,100%);padding:24px}
.staff-tools-dialog__panel--history{display:flex;flex-direction:column;height:min(760px,calc(100dvh - 44px));padding:22px}
.staff-tools-dialog__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.staff-tools-dialog__head small{display:block;color:var(--brand);font-size:11px;font-weight:900;letter-spacing:.12em}
.staff-tools-dialog__head h1{margin:4px 0 0;font-size:28px;line-height:1.08}
.staff-tools-dialog__head>button{width:44px;height:44px;flex:0 0 44px;border:0;background:#f1f1f1;color:#222;font-size:30px;line-height:1;cursor:pointer}
.staff-tools-field{display:grid;gap:6px;margin-top:16px}
.staff-tools-field>span{font-size:12px;font-weight:900;letter-spacing:.04em}
.staff-tools-field input,.staff-tools-field textarea,.order-history-toolbar input{width:100%;border:2px solid #9da7b0;background:#fff;color:#17212b;font:inherit}
.staff-tools-field textarea{padding:11px;resize:vertical;min-height:80px}
.staff-tools-money-input{display:flex;align-items:center;border:2px solid #9da7b0;background:#fff}
.staff-tools-money-input:focus-within{border-color:var(--brand)}
.staff-tools-money-input>span{padding-left:14px;font-size:24px;font-weight:800}
.staff-tools-money-input input{height:58px;padding:0 12px;border:0;font-size:30px;font-weight:800;outline:0}
.staff-tools-keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.staff-tools-keypad button{min-height:52px;border:0;background:var(--key-red);color:#fff;font-size:20px;font-weight:800;cursor:pointer}
.staff-tools-keypad button:active{background:var(--key-red-pressed)}
.staff-tools-status{min-height:20px;margin:12px 0 0;color:#58636e;font-size:12px}
.staff-tools-status.is-success{color:var(--success)}
.staff-tools-status.is-error{color:var(--error)}
.staff-tools-status.is-warning{color:#8a5600}
.staff-tools-dialog__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}
.staff-tools-primary,.staff-tools-secondary{min-height:54px;padding:0 16px;font-weight:900;cursor:pointer}
.staff-tools-primary{border:2px solid var(--brand);background:var(--brand);color:#fff}
.staff-tools-secondary{border:2px solid #8d98a3;background:#fff;color:#17212b}
.staff-tools-primary:disabled,.staff-tools-secondary:disabled{opacity:.55;cursor:wait}
.order-history-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:16px}
.order-history-toolbar input{min-height:50px;padding:0 14px}
.order-history-toolbar button{min-width:120px}
.order-history-layout{display:grid;grid-template-columns:minmax(280px,36%) minmax(0,1fr);gap:14px;min-height:0;flex:1;margin-top:10px}
.order-history-list,.order-history-detail{min-height:0;overflow:auto;border:1px solid var(--line);background:#f7f7f7}
.order-history-list{display:flex;flex-direction:column;gap:6px;padding:8px}
.order-history-row{position:relative;display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:13px;border:2px solid transparent;background:#fff;color:#17212b;text-align:left;cursor:pointer}
.order-history-row:hover,.order-history-row:focus-visible,.order-history-row.is-selected{border-color:var(--brand)}
.order-history-row span{display:grid;gap:2px}.order-history-row span:last-of-type{text-align:right}
.order-history-row strong{font-size:14px}.order-history-row small{font-size:10px;color:#68737d;text-transform:capitalize}
.order-history-row em{grid-column:1/-1;overflow:hidden;color:#515b65;font-size:11px;font-style:normal;white-space:nowrap;text-overflow:ellipsis}
.order-history-row b{position:absolute;right:8px;bottom:8px;padding:2px 5px;background:#eee;color:#555;font-size:9px}
.order-history-detail{padding:18px;background:#fff}
.order-history-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:5px;padding:20px;color:#66717a;text-align:center}
.order-history-empty strong{color:#222;font-size:18px}.order-history-empty span{font-size:12px}
.order-history-detail__head{display:flex;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:2px solid #222}
.order-history-detail__head small{color:var(--brand);font-weight:900;letter-spacing:.1em}.order-history-detail__head h2{margin:3px 0;font-size:25px}.order-history-detail__head span{color:#68737d;font-size:12px}.order-history-detail__head>strong{font-size:27px}
.order-history-meta{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.order-history-meta span{padding:5px 8px;background:#eee;font-size:10px;font-weight:800;text-transform:uppercase}
.order-history-items .receipt-line{padding:9px 0;border-bottom:1px solid #ddd}.order-history-items .receipt-line__main{display:flex;justify-content:space-between;gap:12px}.order-history-items .receipt-line__options{margin-top:4px;color:#5c6670;font-size:11px}.order-history-items .receipt-line--nested{margin-left:12px;padding:5px 0 5px 10px;border-left:2px solid #ddd;border-bottom:0}.order-history-items .receipt-deal-items{margin-top:5px}
.order-history-discount,.order-history-total{display:grid;grid-template-columns:1fr auto;gap:4px 14px;padding:10px 0}.order-history-discount{color:#8f0000}.order-history-discount small{grid-column:1/-1;color:#666}.order-history-total{border-top:2px solid #222;font-size:20px;font-weight:900}
.order-history-detail__actions{margin-top:12px}.order-history-detail__actions button{width:100%}
.order-history-events{display:grid;gap:5px;margin-top:18px;padding-top:12px;border-top:1px solid #ddd}.order-history-events strong{font-size:12px;text-transform:uppercase}.order-history-events span{font-size:10px;color:#666;text-transform:capitalize}
.receipt-print-frame{position:fixed;left:-10000px;top:0;width:80mm;height:100mm;border:0;visibility:hidden}
@media(max-width:820px){.quick-discount-buttons{grid-template-columns:1fr 1fr}.order-history-layout{grid-template-columns:1fr}.order-history-list{max-height:230px}.staff-tools-dialog__panel--history{height:calc(100dvh - 24px)}.staff-tools-dialog{padding:12px}}
@media(max-width:560px){.quick-discount-buttons,.cash-receipt-actions,.staff-tools-dialog__actions{grid-template-columns:1fr}.cash-receipt-actions p{grid-column:1}.staff-tools-dialog__panel--small{padding:16px}.staff-tools-dialog__head h1{font-size:23px}.order-history-toolbar{grid-template-columns:1fr}.order-history-toolbar button{width:100%}}

/* v0.7.0 scanner feedback: extends the existing kiosk toast without changing
   the established product, menu or checkout layout. */
.item-added-toast--error{border-color:#e5b4b4;color:#721c24}
.item-added-toast--error .item-added-toast__tick{background:#da0505}
