.order-checkout-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 24px));max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:0;overflow:auto;color:#2f2725;background:#fffaf3;border:1px solid #e4d8c9;border-radius:24px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 28px 90px #180d0b55}
body.order-checkout-open{overflow:hidden}
.order-checkout-dialog:not([open]){display:none}
.order-checkout-dialog::backdrop{background:#180d0bc7;backdrop-filter:blur(5px)}
.order-checkout-shell{position:relative;padding:32px}
.order-checkout-close{position:absolute;right:12px;top:12px;display:grid;width:44px;height:44px;place-items:center;color:#302320;background:#f0e4d7;border:0;border-radius:50%;font:28px/1 system-ui;cursor:pointer}
.order-ticket-content{min-width:0}
.order-ticket-title{margin:0 48px 10px 0;font-size:1.3rem;line-height:1.3}
.order-ticket-number{display:block;margin:8px 0 14px;color:#b6202d;font-size:clamp(1.8rem,7vw,2.7rem);line-height:1.2;letter-spacing:.025em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.order-ticket-status{display:inline-block;margin:0 0 12px;padding:8px 12px;color:#755116;background:#fff0c6;border:1px solid #d9bc73;border-radius:999px;font-size:.84rem;font-weight:750;line-height:1.35}
.order-ticket-instructions{margin:0 0 20px;color:#51443c;font-size:1rem;line-height:1.6}
.order-ticket-qr{display:block;width:auto;max-width:100%;height:auto;margin:20px auto;background:#fff;aspect-ratio:1;touch-action:manipulation}
.order-ticket-section-title{margin:24px 0 12px;font-size:1.05rem}
.order-ticket-lines{margin:0;padding:0;list-style:none}
.order-ticket-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:13px 0;border-bottom:1px solid #e4d8c9;line-height:1.5}
.order-ticket-item-name{font-size:.9rem;overflow-wrap:anywhere}
.order-ticket-line-price{font-size:.9rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.order-ticket-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin:20px 0 10px;font-size:1.1rem;font-weight:700}
.order-ticket-total strong{font-size:1.9rem;font-variant-numeric:tabular-nums}
.order-ticket-created,.order-ticket-note{margin:8px 0;color:#6b5c51;font-size:.77rem;line-height:1.55}
.order-checkout-actions{display:grid;gap:10px;margin-top:24px}
.order-ticket-button{box-sizing:border-box;display:inline-flex;min-height:48px;align-items:center;justify-content:center;gap:8px;padding:12px 18px;color:#302320;background:#fffaf3;border:1px solid #bba594;border-radius:999px;font:700 .9rem/1.4 system-ui;text-decoration:none;text-align:center;cursor:pointer;overflow-wrap:anywhere}
.order-ticket-button-primary{color:#fff;background:#b6202d;border-color:#b6202d}
.order-ticket-button:focus-visible,.order-checkout-close:focus-visible,.cashier-language button:focus-visible{outline:3px solid #b6202d;outline-offset:3px}
.order-ticket-error{padding:16px;background:#fff0e6;border:1px solid #c87951;border-radius:14px;line-height:1.6}
.order-ticket-update{position:sticky;top:8px;z-index:1;display:grid;gap:12px;margin:40px 0 20px;padding:16px;color:#5c321f;background:#fff0e6;border:1px solid #c87951;border-radius:14px;box-shadow:0 4px 16px #30232014}
.order-ticket-update[hidden],.order-ticket-update-error[hidden]{display:none}
.order-ticket-update-status p,.order-ticket-update-error{margin:6px 0 0;font-size:.9rem;line-height:1.5;overflow-wrap:anywhere}
.order-ticket-update .order-ticket-button{width:100%;border-radius:14px}
.order-ticket-button:disabled{opacity:.6;cursor:default}
.order-checkout-fallback[open]{position:fixed;inset:0;z-index:2000;display:block;width:100vw;height:100vh;height:100dvh;max-height:none;margin:0;padding:12px;background:#180d0bc7;border:0;border-radius:0}
.order-checkout-fallback .order-checkout-shell{box-sizing:border-box;width:min(100%,620px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;overflow:auto;background:#fffaf3;border-radius:24px}
.cashier-page{margin:0;padding:24px 16px;color:#302320;background:#f6f0e8;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.cashier-wrap{box-sizing:border-box;width:min(100%,640px);margin:0 auto;padding:28px;background:#fffaf3;border:1px solid #e4d8c9;border-radius:24px}
.cashier-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-bottom:30px}
.cashier-brand{color:#b6202d;font-size:1.3rem;font-weight:900;text-decoration:none}
.cashier-language{display:flex;gap:4px}
.cashier-language button{min-width:44px;min-height:44px;color:#302320;background:transparent;border:1px solid #c8b7a7;border-radius:999px;cursor:pointer}
.cashier-language button[aria-pressed="true"]{color:#fff;background:#302320}
.cashier-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.cashier-actions [hidden]{display:none}
@media(max-width:390px){.order-checkout-shell,.cashier-wrap{padding:22px 16px}.order-ticket-line{gap:10px}.order-ticket-title{font-size:1.1rem}.cashier-page{padding:12px 8px}}
@media print{.cashier-page{padding:0;background:#fff}.cashier-wrap{width:100%;padding:0;border:0;box-shadow:none}.cashier-language,.cashier-actions{display:none}.order-ticket-line{break-inside:avoid}.order-ticket-note{color:#333}}
.order-storage-notice{box-sizing:border-box;width:min(100% - 24px,1000px);margin:12px auto;padding:16px;border:2px solid #986324;border-radius:16px;background:#fff7e9;color:#29211c;font:400 1rem/1.5 var(--sans,system-ui,sans-serif);overflow-wrap:anywhere}
.order-storage-notice[hidden]{display:none!important}
body>.order-storage-notice{position:sticky;top:calc(var(--menu-header-height,76px) + 8px);z-index:75}
.order-storage-notice h2{margin:0 0 8px;font-size:1.1rem;line-height:1.35}
.order-storage-notice h3{margin:0 0 8px;font-size:1rem;line-height:1.35}
.order-storage-notice p{margin:8px 0}
.order-storage-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.order-storage-preview{min-width:0;padding:12px;border:1px solid #d6c1a5;border-radius:12px;background:#fffdfa}
.order-storage-lines{margin:0;padding-inline-start:20px}
.order-storage-total{font-weight:700}
.order-storage-actions{display:flex;flex-wrap:wrap;gap:8px}
.order-storage-choice{flex:1 1 220px;min-height:44px;padding:10px 14px;border:1px solid #603c13;border-radius:12px;background:#fffdfa;color:#4c2b08;font:700 1rem/1.35 var(--sans,system-ui,sans-serif);cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.order-storage-choice:focus-visible{outline:3px solid #29211c;outline-offset:3px}
.order-storage-choice:disabled{opacity:.7;cursor:wait}
.order-storage-error{color:#8e1717;font-weight:700}
.order-checkout-shell>.order-storage-notice{margin-top:48px}
@media(max-width:600px){.order-storage-previews{grid-template-columns:minmax(0,1fr)}.order-storage-notice{width:calc(100% - 16px);padding:12px}.order-storage-actions{flex-direction:column}.order-storage-choice{flex:0 0 auto;width:100%}}
