/* Queen’s Garden POS | Offline UI parity edition. Same rose/black cards as the online order page. */
:root{color-scheme:dark;--bg:#1b151b;--deep:#191319;--panel:#2b2029;--edge:#906473;--left:#392934;--rose:#dba7b5;--text:#f5d3dc;--muted:#cbb1b9;--gold:#e0c58b;--green:#9bd5aa;--red:#ffacbb;--qg-header-height:calc(87px + env(safe-area-inset-top,0px))}
*{box-sizing:border-box}
html{background:var(--bg);scroll-padding-top:calc(var(--qg-header-height) + 8px);overscroll-behavior-y:none}
body{margin:0;padding-top:var(--qg-header-height);background:var(--bg);color:var(--text);font:16px -apple-system,BlinkMacSystemFont,"PingFang TC",system-ui,sans-serif;overscroll-behavior-y:none;min-height:100vh}
button,input,select,textarea{font-family:inherit;touch-action:manipulation}
.qg-site-header{position:fixed!important;inset:0 0 auto 0;z-index:1000;display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:10px;align-items:center;min-height:calc(85px + env(safe-area-inset-top,0px));padding:calc(11px + env(safe-area-inset-top,0px)) max(16px,calc((100vw - 818px)/2)) 14px;background:#1b151b!important;background-image:none!important;border-bottom:1px solid var(--edge);isolation:isolate;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;opacity:1!important}
.qg-brand{text-align:center;min-width:0}.qg-brand b{font:500 clamp(21px,4.7vw,29px)/1.2 Georgia,"Times New Roman",serif;color:var(--text);display:block;white-space:nowrap}.qg-brand small{display:block;font-size:11px;color:var(--muted);margin-top:5px}
.qg-header-back,.qg-site-header>button{display:flex;align-items:center;justify-content:center;min-width:46px;width:46px;height:46px;min-height:46px;padding:0;background:transparent;border:0;border-radius:9px;color:var(--rose);font-size:31px;font-weight:400;text-decoration:none;position:relative;z-index:2}
.qg-header-back:focus-visible,.qg-site-header>button:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #ecc3d1;outline-offset:2px}
#status{padding:12px 14px;background:#372936;color:#e3c9d3;border-bottom:1px solid var(--edge);text-align:center;font-size:12px;line-height:1.5}
#status.ok{background:#203a2c;color:var(--green)}#status.warn{background:#4a3030;color:#ffd1b0}
main{max-width:850px;margin:0 auto;padding:16px 14px calc(130px + env(safe-area-inset-bottom,0px));min-width:0}
h2{font-size:21px;margin:0 0 12px}h3{font-size:17px;margin:0 0 12px}h4{font-size:15px;margin:12px 0 8px}
.card,.notice{background:var(--panel);border:1px solid var(--edge);border-radius:13px;padding:14px;margin-bottom:14px;min-width:0}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.gap{gap:12px}.muted,.hint{color:var(--muted);font-size:12px;line-height:1.5}
button{background:var(--rose);color:#30212a;border:0;border-radius:11px;padding:12px 15px;min-height:44px;cursor:pointer;font-size:15px;font-weight:650}
button.secondary{background:#524049;color:var(--text);border:1px solid var(--edge)}button.primary{background:var(--gold);color:#322719}button:disabled{opacity:.48;cursor:default}.full{display:block;width:100%;margin-top:12px}
input,select,textarea{background:var(--deep);color:var(--text);border:1px solid var(--edge);border-radius:10px;min-height:46px;width:100%;max-width:100%;padding:10px 12px;font-size:16px;min-width:0}
input:focus,select:focus,textarea:focus{border-color:var(--rose);outline:2px solid #dba7b555}label{display:block;font-size:14px;margin:10px 0 6px}label>input,label>select{margin-top:6px}
.notice{background:#32262c;color:var(--gold);padding:0}.qg-offline-notice>summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px;font-weight:650;font-size:15px}.qg-offline-notice>summary::-webkit-details-marker{display:none}.notice-open-label{color:#d4bd91;font-size:12px;font-weight:500}.notice-body{border-top:1px solid #6f5260;padding:10px 14px 14px;font-size:13px;line-height:1.65}.notice-body p{margin:8px 0}
.qg-main-tabs,.qg-choice-tabs,.qg-category-tabs{display:flex;gap:9px;margin:10px 0 15px;flex-wrap:wrap}.qg-main-tabs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.qg-main-tabs>button,.qg-choice-tabs>button,.qg-category-tabs>button{background:#524049;color:var(--text);border:1px solid var(--edge);padding:12px 9px;min-height:46px;flex:1}.qg-main-tabs>button.selected,.qg-choice-tabs>button.selected,.qg-category-tabs>button.selected{background:var(--rose);color:#302028;border-color:var(--rose)}.qg-category-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.qg-category-tabs>button{font-size:13px;line-height:1.3;white-space:normal}
.qg-order-type{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}.qg-order-type button{background:#524049;color:var(--text);border:1px solid var(--edge)}.qg-order-type button.selected{background:var(--rose);color:#302028;border-color:var(--rose)}
.qg-package-summary{width:100%;display:flex;justify-content:space-between;align-items:center;gap:9px;text-align:left;background:#392934;border:1px solid var(--edge);color:var(--text);border-radius:10px}.qg-package-summary b{display:block}.qg-package-summary small{display:block;font-weight:400;color:var(--muted);margin-top:5px}.qg-package-summary .qg-change{color:var(--rose);font-size:12px;white-space:nowrap}
.qg-package-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qg-package-card{background:var(--panel);border:1px solid var(--edge);border-radius:12px;text-align:left;min-height:106px;color:var(--text);display:flex;flex-direction:column;gap:10px;min-width:0;padding:12px}.qg-package-card.selected{border-color:var(--rose);background:#543b4b;outline:none}.qg-package-card .qg-code{color:var(--rose);font-size:11px;letter-spacing:.05em}.qg-package-card .qg-name{font-size:15px;font-weight:650;min-height:24px;overflow-wrap:anywhere}.qg-package-card .qg-meta{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center;justify-content:space-between}.qg-package-card .qg-meta b{font-size:16px;color:var(--rose)}.qg-package-note{font-size:12px;color:var(--gold);margin:10px 0}
.qg-meals{display:grid;grid-template-columns:1fr;gap:10px}.qg-meal-row{display:grid;grid-template-columns:minmax(0,40%) minmax(0,60%);gap:8px;align-items:center}.qg-meal-row label{margin:0}.qg-meal-controls{display:grid;grid-template-columns:1fr;gap:6px}.qg-meal-controls select{width:100%}
.qg-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.qg-product-card{padding:12px;margin:0;min-width:0;border:1px solid var(--edge);border-radius:13px;background:var(--panel)}.qg-product-media{height:105px;display:flex;justify-content:center;align-items:center;border-radius:9px;overflow:hidden;background:var(--deep);margin-bottom:10px}.qg-product-media img{display:block;width:100%;height:100%;object-fit:contain}.qg-image-fallback{display:flex;align-items:center;justify-content:center;color:var(--rose);font-size:25px;width:100%;height:100%}.qg-product-card b{display:block;font-size:14px;line-height:1.45;overflow-wrap:anywhere;min-height:40px}.qg-product-price{font-size:14px;color:var(--rose);margin:5px 0 10px}.qg-qty{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;gap:6px;align-items:center}.qg-qty>button{background:#392934;color:var(--text);border:1px solid var(--edge);border-radius:50%;padding:0;width:42px;height:42px;min-height:42px;font-size:23px}.qg-qty>input{text-align:center;min-height:44px;padding:6px 0;font-size:18px;border-radius:10px;-moz-appearance:textfield}.qg-qty>input::-webkit-inner-spin-button,.qg-qty>input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.qg-pay-summary{margin-bottom:16px}.qg-pay-summary .row{padding:8px 0;border-bottom:1px solid #694955}.qg-pay-summary .row:last-child{border:0}.money{color:var(--rose);font-weight:700}.qg-surcharge-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qg-order-footer{position:fixed;z-index:120;bottom:0;left:0;right:0;border-top:1px solid var(--edge);background:var(--panel);padding:12px max(16px,calc((100vw - 818px)/2)) max(12px,env(safe-area-inset-bottom,0px));display:flex;gap:12px;align-items:center;box-shadow:0 -4px 16px #0005}.qg-footer-copy{flex:1;min-width:0}.qg-footer-copy small{display:block;font-size:11px;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.qg-footer-copy strong{display:block;color:var(--rose);font-size:24px;white-space:nowrap}.qg-footer-save{flex:none;background:var(--rose);color:#302028;max-width:49%;padding:13px 17px}
.qg-order-footer.keyboard-open{position:static;margin:15px 0;border:1px solid var(--edge);border-radius:12px;box-shadow:none}
.qg-queue-title{margin:12px 0 14px}.qg-queue-title h2{margin:0}.qg-local-order{padding:15px}.qg-local-order .qg-local-name{font-size:17px;font-weight:650}.qg-local-order .qg-local-price{font-size:19px;color:var(--rose);font-weight:650}.qg-local-order .row{margin:6px 0}.order-buttons{display:flex;gap:8px;margin-top:12px}.order-buttons button{flex:1;min-width:0}.badge{display:inline-flex;align-items:center;border:1px solid var(--edge);color:var(--gold);border-radius:9px;font-size:12px;padding:4px 8px}.badge.done{color:var(--green)}.badge.fail{color:var(--red)}.card p{font-size:13px;line-height:1.6;overflow-wrap:anywhere;margin:7px 0}
.qg-system-detail>summary{font-weight:650;cursor:pointer;min-height:32px}.qg-system-detail a{color:#f0c4d0}.qg-system-detail button{margin-top:12px}#pendingOperations p{overflow-wrap:anywhere}
#error,.error{border:1px solid #a65066;background:#49252d;padding:12px;color:#ffd1d9;border-radius:10px;margin:10px 0;white-space:pre-wrap}#error[hidden],section[hidden],footer[hidden]{display:none!important}
dialog{color:var(--text);background:var(--panel);border:1px solid var(--edge);border-radius:16px;width:min(510px,95vw);max-height:calc(90dvh - env(safe-area-inset-top,0px));overflow:auto;padding:18px;margin:auto}dialog::backdrop{background:#000c}.payrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px;gap:6px;align-items:end}.payrow button{padding:0}.payrow label{min-width:0}.ack{display:flex;align-items:flex-start;gap:10px;line-height:1.5}.ack input{width:23px;min-width:23px;min-height:23px;margin:0}.paymentline{border-top:1px solid var(--edge);margin:10px 0;padding-top:10px}.qg-icon-close{min-width:44px;padding:0;font-size:24px}
@media(min-width:720px){.qg-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.qg-product-media{height:125px}}
@media(max-width:390px){main{padding-left:10px;padding-right:10px}.qg-package-card{padding:9px}.qg-product-card{padding:9px}.qg-qty{grid-template-columns:36px minmax(0,1fr) 36px;gap:4px}.qg-qty>button{width:36px;height:36px;min-height:36px}.qg-footer-save{padding:12px 12px;font-size:14px}.qg-footer-copy strong{font-size:21px}.qg-brand b{font-size:21px}}
