/* BilviQ classic sidebar identity and logo-first loading states */
#sidebar .dq-brand{display:flex;align-items:center;gap:11px;padding:11px 9px 19px;border-bottom:1px solid rgba(244,213,161,.17);margin-bottom:11px;min-width:0}
#sidebar .dq-brand-icon{display:block;width:51px;height:51px;flex:0 0 51px;border-radius:14px;box-shadow:0 5px 18px #20071044}
#sidebar .dq-brand-copy{display:flex;flex-direction:column;min-width:0;gap:3px}
#sidebar .dq-brand-wordmark{display:block;width:143px;height:auto;max-height:39px;object-fit:contain;object-position:left center}
#sidebar .dq-brand-byline{font-family:Georgia,serif;font-size:10px;font-weight:400;letter-spacing:.035em;color:#e5c9a5;white-space:nowrap}
#sidebar .dq-brand-byline strong{font-weight:500;color:#f4d5a1}
#sidebar .dq-brand .brand-restaurant{margin-top:7px;color:#f8e9dc;font-size:11px;letter-spacing:0;font-weight:500;overflow-wrap:anywhere}
#sidebar .dq-brand .brand-restaurant-code{color:#c9aeb5;font-size:10px;letter-spacing:.025em}
#loader.overlay{background:rgba(27,9,16,.75);backdrop-filter:blur(5px)}
.dq-loader{width:112px;height:118px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#fff9f5;border:1px solid #e8d5c6;border-radius:22px;box-shadow:0 22px 65px #17040e66}
.dq-loader img{width:67px;height:67px;object-fit:contain;animation:dq-logo-breathe 1.45s ease-in-out infinite}
.dq-loader-progress{width:57px;height:3px;background:linear-gradient(90deg,#64162a,#e7aa50,#64162a);background-size:200% 100%;border-radius:4px;animation:dq-progress 1.5s linear infinite}
.dq-section-loader{width:62px;height:62px;object-fit:contain;animation:dq-logo-breathe 1.45s ease-in-out infinite}
.section-loading{background:#fff9f5;border:1px solid #e9dbd4;border-radius:17px;min-height:220px}
@keyframes dq-logo-breathe{0%,100%{transform:scale(.97);opacity:.82}50%{transform:scale(1.04);opacity:1}}
@keyframes dq-progress{to{background-position:200% 0}}
@media(prefers-reduced-motion:reduce){.dq-loader img,.dq-loader-progress,.dq-section-loader{animation:none}}
@media(max-width:820px){#sidebar .dq-brand{padding:10px 7px 17px}}

/* Compact DineviQ-only identity */
#sidebar .dq-brand{padding:12px 8px 17px!important;gap:9px!important}
#sidebar .dq-brand-icon{width:43px!important;height:43px!important;flex-basis:43px!important}
#sidebar .dq-brand-wordmark{width:151px!important;max-height:40px!important}
#sidebar .dq-brand-byline,#sidebar .brand-restaurant,#sidebar .brand-restaurant-code{display:none!important}
/* Printing control floats above the POS action row, leaving refunds on the same line */
#content.billing-mode .catalog>.pos-toolbar{position:relative!important;padding-top:35px!important}
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools){grid-template-columns:repeat(4,minmax(0,1fr))!important}
#content.billing-mode .catalog>.pos-toolbar #printToggleBtn{position:absolute!important;top:0!important;right:0!important;width:35px!important;min-width:35px!important;height:31px!important;min-height:31px!important;padding:4px!important;border-radius:9px!important;font-size:17px!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:1px!important;white-space:nowrap!important}
#content.billing-mode #printToggleBtn .dq-print-indicator{position:absolute;right:2px;bottom:2px;width:7px;height:7px;border:1px solid #fff;border-radius:50%;background:#a0a0a0}
#content.billing-mode #printToggleBtn.print-on .dq-print-indicator{background:#27935b}
#content.billing-mode #printToggleBtn.print-off .dq-print-indicator{background:#c95656}
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools)>#refundRequestsBtn{grid-column:auto!important;grid-row:auto!important}
@media(max-width:700px){#content.billing-mode .catalog>.pos-toolbar{padding-top:34px!important}#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools){grid-template-columns:repeat(4,minmax(0,1fr))!important}#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools)>button:not(#printToggleBtn){font-size:clamp(7px,2vw,10px)!important;padding:5px 2px!important;min-height:37px!important}}

/* POS toolbar refinement: Pending Payments and Refunds remain adjacent on one row. */
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools){
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:stretch!important;
  gap:6px!important;
  overflow:visible!important;
}
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools)>button:not(#printToggleBtn){
  grid-row:1!important;
  min-width:0!important;
  width:100%!important;
  padding:9px 5px!important;
  min-height:38px!important;
  border-radius:10px!important;
  white-space:nowrap!important;
  font-size:clamp(8px,.75vw,11px)!important;
  font-weight:500!important;
  letter-spacing:0!important;
}
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools)>#completedOrdersIcon{grid-column:1!important}
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools)>#previousOrdersBtn{grid-column:2!important}
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools)>#heldBillsBtn{grid-column:3!important}
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools)>#pendingPosBillsBtn{grid-column:4!important}
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools)>#refundRequestsBtn{grid-column:5!important}
#content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools):not(:has(#refundRequestsBtn)){grid-template-columns:repeat(4,minmax(0,1fr))!important}
#content.billing-mode .catalog>.pos-toolbar #printToggleBtn{z-index:2!important}
@media(max-width:700px){
 #content.billing-mode .catalog>.pos-toolbar{padding-top:37px!important}
 #content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools){gap:4px!important}
 #content.billing-mode .catalog>.pos-toolbar .billing-tools:not(.basic-billing-tools)>button:not(#printToggleBtn){
  font-size:clamp(7px,1.85vw,10px)!important;
  min-height:40px!important;
  padding:7px 2px!important;
  line-height:1.15!important;
  white-space:normal!important;
  overflow-wrap:normal!important;
  border-radius:8px!important;
 }
 #content.billing-mode .catalog>.pos-toolbar #pendingPosBillsBtn{font-size:clamp(7px,1.7vw,9px)!important}
 #content.billing-mode .catalog>.pos-toolbar #printToggleBtn{top:1px!important}
}

/* 2026-11-10: remove legacy printer-toggle spacer on all screen sizes. */
#content.billing-mode .catalog > .pos-toolbar {
  padding-top: 0 !important; padding-bottom: 6px !important;
  margin-top: 0 !important; min-height: 0 !important;
  align-content: start !important;
}
#content.billing-mode .catalog > .pos-toolbar .pos-source-tabs { margin-top: 0 !important; }
@media (max-width: 1100px) {
  #content.billing-mode .catalog > .pos-toolbar { padding-top: 0 !important; }
}
@media (max-width: 700px) {
  #content.billing-mode .catalog > .pos-toolbar { padding-top: 0 !important; }
}

/* Kitchen KDS: smooth, visible horizontal navigation and compact stage cards. */
#kitchenBody{max-width:100%;min-width:0;overflow-x:auto!important;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin!important;scrollbar-color:#b48b75 #f4ece6;}
#kitchenBody::-webkit-scrollbar,.kboard::-webkit-scrollbar{display:block!important;height:7px!important;}
#kitchenBody::-webkit-scrollbar-thumb,.kboard::-webkit-scrollbar-thumb{background:#b48b75;border-radius:8px;}
#kitchenBody .kboard{display:flex!important;min-width:0!important;width:max-content;max-width:none;overflow-x:visible!important;gap:12px;scroll-snap-type:x proximity;padding:4px 4px 16px;}
#kitchenBody .kboard .kcol{flex:0 0 clamp(250px,29vw,340px);scroll-snap-align:start;background:#f7f1ed;border:1px solid #eaded6;border-radius:14px;min-height:240px;}
#kitchenBody .kboard .kcol h3{position:sticky;top:0;background:#f7f1ed;color:#64162a;padding:8px 4px;z-index:1;}
#kitchenBody .ticket{border-radius:12px;box-shadow:0 2px 9px #4213220b;}
#kitchenBody .kds-ready-note{padding:9px;color:#64162a;background:#f8ead9;border-radius:8px;text-align:center;font-size:12px;}
@media(max-width:700px){#kitchenBody .kboard .kcol{flex-basis:min(82vw,320px);}#kitchenBody .kboard{gap:10px;}}

/* 2026-11-11: compact cashier payment selection */
.dq-pay-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0 12px}.dq-pay-choice{border:1px solid #d9c8c5;border-radius:9px;background:#fffaf7;color:#64162a;padding:10px 5px;font-size:13px;font-weight:600;cursor:pointer}.dq-pay-choice.selected{background:#64162a;color:white;border-color:#64162a}.dq-split-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.dq-split-quick label{font-size:12px;color:#64162a}.dq-split-quick input{width:100%;min-width:0;margin-top:5px;box-sizing:border-box}.dq-split-remaining{font-size:13px;margin:10px 0;color:#64162a;font-weight:600}

/* Cashier-ready panel: compact and scoped to Billing POS */
#dqReadyOrdersBtn{white-space:nowrap}#dqReadyOrdersBtn.dq-ready-active{background:#fff0c9!important;color:#64162a!important;border:1px solid #c99a55!important;animation:dqReadyGlow 1.8s ease-in-out infinite}@keyframes dqReadyGlow{50%{box-shadow:0 0 0 4px #e7b65b45}}.dq-ready-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid #eadfdb;flex-wrap:wrap}.dq-ready-row strong{color:#64162a}.dq-ready-row button{min-width:110px}

/* Compact classic Ready Orders modal */
.dq-ready-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.dq-ready-title h2{margin:0!important;font-size:20px!important;font-weight:600!important;color:#64162a}.dq-ready-live{font-size:10px;letter-spacing:1.2px;color:#876b43;background:#fbf2e2;padding:5px 9px;border-radius:6px}.dq-ready-list{display:grid;gap:14px}.dq-ready-section{border:1px solid #ebdfd9;border-radius:12px;overflow:hidden;background:#fff}.dq-ready-section-head{display:flex;align-items:center;justify-content:space-between;background:#faf6f3;padding:11px 14px;color:#64162a;font-size:13px;font-weight:600}.dq-ready-count{background:#eee2dd;border-radius:99px;padding:2px 9px;font-size:12px}.dq-ready-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-top:1px solid #f1eae6;flex-wrap:nowrap}.dq-ready-order{display:flex;align-items:center;gap:10px;min-width:0}.dq-ready-order strong{font-size:20px;color:#64162a;font-weight:650;white-space:nowrap}.dq-ready-order small{font-size:10px;letter-spacing:.5px;color:#8b7d79}.dq-ready-serve{background:#64162a!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:8px 13px!important;min-width:0!important;font-size:12px!important;white-space:nowrap}.dq-ready-serve:disabled{opacity:.5}.dq-ready-status{font-size:10px;letter-spacing:.7px;color:#805e25;background:#fdf1da;padding:6px 9px;border-radius:6px}.dq-ready-empty{padding:18px 14px;color:#9b8a86;text-align:center;font-size:12px}@media(max-width:500px){.dq-ready-row{padding:10px 12px}.dq-ready-order strong{font-size:18px}}

/* Mobile header: compact, classic, with no horizontal overflow. */
.header-actions{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.header-actions .sound-toggle{width:auto!important;max-width:100%;min-width:0!important;flex:0 0 auto;white-space:nowrap;padding:8px 10px!important;border-radius:7px!important;font-size:12px!important;font-weight:500!important;letter-spacing:0!important;line-height:1.2!important}
#dqOrderDisplayTop{background:#fffaf5!important;color:#64162a!important;border:1px solid #dfcfca!important}
#dqReadyOrdersBtn{background:#fffaf5!important;color:#64162a!important;border:1px solid #dfcfca!important}
#dqReadyOrdersBtn.dq-ready-active{background:#fff0cf!important;border-color:#b88b46!important}
.dq-ready-done{background:#fffaf5!important;color:#64162a!important;border:1px solid #d8c8c4!important;border-radius:7px!important;padding:7px 13px!important;font-size:12px!important;font-weight:500!important;min-width:0!important}
.dq-ready-done:disabled{opacity:.5}
@media(max-width:700px){
 .main>header{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 10px;padding:10px 12px!important;min-width:0;box-sizing:border-box}
 .main>header>#menuBtn{grid-column:1;grid-row:1}
 .main>header>div:not(.header-actions){grid-column:2;grid-row:1;min-width:0;overflow:hidden}
 .main>header .header-actions{grid-column:1/-1;grid-row:2;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;min-width:0;gap:6px;justify-content:stretch;box-sizing:border-box}
 .main>header .header-actions .sound-toggle{width:100%!important;min-width:0!important;overflow:hidden;text-overflow:ellipsis;padding:9px 4px!important;font-size:11px!important;text-align:center}
 .main>header .header-actions #liveChip,.main>header .header-actions #shiftChip{display:none!important}
 .main>header .header-actions #dqReadyOrdersBtn[style*="none"]{display:none!important}
 .main>header .header-actions #soundBtn{grid-column:1}
 .main>header .header-actions #dqReadyOrdersBtn{grid-column:2}
 .main>header .header-actions #dqOrderDisplayTop{grid-column:3}
 .main>header .header-actions:not(:has(#dqReadyOrdersBtn:not([style*="none"]))) #dqOrderDisplayTop{grid-column:2/4}
}

/* BilviQ compact header actions — icon-only, raised ivory buttons, one row. */
.main>header{min-width:0!important}
.main>header .header-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-end!important;gap:7px!important;min-width:0!important;width:auto!important}
.main>header .header-actions #soundBtn,.main>header .header-actions #dqReadyOrdersBtn,.main>header .header-actions #dqOrderDisplayTop{position:relative!important;display:inline-flex;align-items:center;justify-content:center;flex:0 0 39px!important;width:39px!important;height:39px!important;min-width:39px!important;max-width:39px!important;min-height:39px!important;padding:0!important;margin:0!important;border-radius:12px!important;background:linear-gradient(145deg,#fffefd,#f7eee9)!important;border:1px solid #e7d8d1!important;color:#64162a!important;box-shadow:0 3px 0 #ddcbc4,0 5px 10px rgba(65,20,34,.12),inset 0 1px 0 #fff!important;font-size:19px!important;line-height:1!important;letter-spacing:0!important;white-space:nowrap!important;overflow:visible!important;text-overflow:clip!important;grid-column:auto!important}
.main>header .header-actions #soundBtn:active,.main>header .header-actions #dqReadyOrdersBtn:active,.main>header .header-actions #dqOrderDisplayTop:active{transform:translateY(2px);box-shadow:0 1px 0 #ddcbc4,0 2px 5px rgba(65,20,34,.12)!important}
.main>header .header-actions #dqReadyOrdersBtn.dq-ready-active{background:linear-gradient(145deg,#fff1c8,#f7db9c)!important;border-color:#d3a34e!important;box-shadow:0 3px 0 #c29a55,0 4px 11px rgba(193,137,47,.22)!important}
.dq-header-count{position:absolute;top:-7px;right:-6px;min-width:17px;height:17px;border-radius:10px;background:#64162a;color:white;font:600 10px/17px system-ui;text-align:center;padding:0 3px;border:2px solid #fff;box-sizing:content-box}
@media(max-width:700px){
 .main>header{display:flex!important;flex-direction:row!important;align-items:center!important;gap:9px!important;padding:10px 11px!important;grid-template-columns:none!important}
 .main>header>#menuBtn{flex:0 0 34px!important;grid-column:auto!important;grid-row:auto!important}
 .main>header>div:not(.header-actions){flex:1 1 auto!important;min-width:0!important;grid-column:auto!important;grid-row:auto!important}
 .main>header>div:not(.header-actions) h2{font-size:clamp(15px,4.3vw,21px)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .main>header>div:not(.header-actions) small{font-size:9px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
 .main>header .header-actions{flex:0 0 auto!important;grid-column:auto!important;grid-row:auto!important;display:flex!important;grid-template-columns:none!important;width:auto!important;gap:5px!important}
 .main>header .header-actions #soundBtn,.main>header .header-actions #dqReadyOrdersBtn,.main>header .header-actions #dqOrderDisplayTop{flex-basis:34px!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:35px!important;min-height:35px!important;border-radius:10px!important;font-size:17px!important}
 .main>header .header-actions #dqReadyOrdersBtn[style*="none"]{display:none!important}
 .main>header .header-actions #liveChip,.main>header .header-actions #shiftChip{display:none!important}
}
@media(max-width:365px){.main>header{gap:5px!important;padding:9px 7px!important}.main>header .header-actions{gap:4px!important}.main>header .header-actions #soundBtn,.main>header .header-actions #dqReadyOrdersBtn,.main>header .header-actions #dqOrderDisplayTop{flex-basis:31px!important;width:31px!important;min-width:31px!important;max-width:31px!important}}

/* Subscription-gated header actions; no flash of inaccessible controls. */
.main>header .header-actions #soundBtn[hidden],.main>header .header-actions #dqReadyOrdersBtn[hidden],.main>header .header-actions #dqOrderDisplayTop[hidden]{display:none!important}
/* Do not show the previous page while asynchronous navigation is loading. */
#content:empty{min-height:45vh;background:transparent!important}

/* Ready service: bounded scroll area and compact tap-to-expand order details */
#dqReadyList.dq-ready-list{max-height:min(64dvh,560px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;display:block;padding-right:2px}
#dqReadyList .dq-ready-section{margin-bottom:12px}
#dqReadyList .dq-ready-entry{border-top:1px solid #f1eae6}
#dqReadyList .dq-ready-entry .dq-ready-row{border-top:0;flex-wrap:nowrap}
#dqReadyList .dq-ready-expand{min-width:0!important;flex:1;text-align:left;border:0!important;background:transparent!important;box-shadow:none!important;display:flex;align-items:center;gap:9px;padding:7px 2px!important;color:#64162a!important}
#dqReadyList .dq-ready-expand strong{font-size:17px;white-space:nowrap}
#dqReadyList .dq-ready-expand small{font-size:10px;color:#8b7d79;overflow:hidden;text-overflow:ellipsis}
#dqReadyList .dq-ready-chevron{margin-left:auto;font-size:19px;color:#8b7d79}
#dqReadyList .dq-ready-expand[aria-expanded="true"] .dq-ready-chevron{transform:rotate(180deg)}
#dqReadyList .dq-ready-details{padding:3px 14px 12px;background:#fffcfa}
#dqReadyList .dq-ready-details[hidden]{display:none!important}
#dqReadyList .dq-ready-item{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid #f2e9e5;font-size:12px;color:#50373b}
#dqReadyList .dq-ready-item b{white-space:nowrap;color:#64162a}
@media(max-width:420px){#dqReadyList.dq-ready-list{max-height:60dvh}#dqReadyList .dq-ready-row{gap:6px;padding:9px}#dqReadyList .dq-ready-serve,#dqReadyList .dq-ready-done{padding:7px 9px!important;font-size:11px!important}}

/* Classic waiter add-order: ivory surfaces, burgundy accents only */
.waiter-menu-shell,.waiter-menu-shell .waiter-menu-layout,.waiter-menu-shell .waiter-cart-panel,.waiter-menu-shell .waiter-cart-items,.waiter-menu-shell .waiter-cart-title,.waiter-menu-shell .waiter-cart-foot,.waiter-menu-shell .waiter-cart-line{background:#fffdf9!important;color:#342b2c!important}
.waiter-menu-shell .waiter-cart-panel{border:1px solid #e8ddd9!important;border-radius:15px!important;box-shadow:0 8px 24px rgba(63,32,35,.08)!important}
.waiter-menu-shell .waiter-cart-title{border-bottom:1px solid #ede4df!important}
.waiter-menu-shell .waiter-cart-foot{border-top:1px solid #ede4df!important}
.waiter-menu-shell .waiter-cart-name,.waiter-menu-shell .waiter-cart-name b,.waiter-menu-shell .waiter-cart-title b,.waiter-menu-shell .waiter-cart-line b,.waiter-menu-shell .waiter-cart-foot b{color:#342b2c!important}
.waiter-menu-shell .waiter-cart-title span,.waiter-menu-shell .waiter-qty .soft{background:#f5eeea!important;color:#64162a!important;border:1px solid #e8d9d7!important}
.waiter-menu-shell .waiter-cart-line{border-bottom:1px solid #f0e8e3!important}
.waiter-menu-shell .waiter-cart-panel .primary{background:#64162a!important;color:white!important}
.waiter-menu-shell .waiter-menu-card{background:white!important;border:1px solid #e9dfdb!important;color:#342b2c!important}
.waiter-menu-shell .waiter-menu-grid{background:#faf7f4!important}
.completed-orders-icon.completed-awaiting-payment:not(.completed-needs-print){background:#fff0d7!important;border-color:#c18a32!important;color:#6b3b10!important;box-shadow:0 0 0 2px rgba(193,138,50,.18)!important}
