/* BUILD196 — visible LIVE blink + auto-fit cashier screen + Price Inquiry shortcut.
   Blink is limited to tiny status LEDs (opacity only) to stay GPU-cheap and avoid UI lag. */
@keyframes b196LiveBlink{0%,42%{opacity:1;transform:scale(1)}43%,74%{opacity:.24;transform:scale(.78)}75%,100%{opacity:1;transform:scale(1)}}
.networkBadge.networkOnline i{animation:b196LiveBlink .9s steps(1,end) infinite!important;box-shadow:0 0 0 3px rgba(17,136,71,.12)}
.d1AutoLiveBadge{display:inline-flex!important;align-items:center!important;gap:7px!important}
.d1AutoLiveBadge::before{content:"";width:8px;height:8px;border-radius:50%;background:#0b914d;animation:b196LiveBlink .9s steps(1,end) infinite!important;box-shadow:0 0 0 3px rgba(11,145,77,.12)}

/* Price inquiry action and modal. */
.btnInquiry{background:#17795b!important}
.priceInquiryPanel{width:min(760px,94vw)!important}
.priceInquirySearchLabel{display:grid;gap:6px;font-size:11px;font-weight:900;color:#31533f}
.priceInquirySearchLabel input{min-height:50px;padding:10px 13px;border:2px solid #168654;border-radius:10px;font-size:18px;font-weight:850;letter-spacing:.3px;background:#fff}
.priceInquirySearchLabel input:focus{outline:0;box-shadow:0 0 0 3px rgba(22,134,84,.12)}
.priceInquiryEmpty{margin-top:10px;padding:20px;border:1px dashed #bdd6c6;border-radius:11px;background:#f8fcfa;text-align:center;color:#64766b;font-weight:800}
.priceInquiryMatches{display:grid;gap:5px;max-height:360px;margin-top:10px;overflow:auto;overscroll-behavior:contain}
.priceInquiryMatches button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;padding:8px 11px;border:1px solid #dbe9e0;border-radius:9px;background:#fff;color:#173728;text-align:left}
.priceInquiryMatches button:hover{background:#eef8f2;border-color:#9fc8ad}
.priceInquiryMatches button span{display:grid;min-width:0}.priceInquiryMatches button b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.priceInquiryMatches button small{color:#6b7d72}.priceInquiryMatches button strong{color:#087443;white-space:nowrap;font-size:16px}
.priceInquiryCard{margin-top:10px;padding:14px;border:1px solid #b8d7c4;border-radius:12px;background:#f8fcfa}
.priceInquiryName{font-size:20px;font-weight:950;color:#0a4127}
.priceInquiryMeta{display:grid;grid-template-columns:2fr 1fr 1fr;gap:7px;margin:10px 0}
.priceInquiryMeta span{padding:8px;border:1px solid #dfeae3;border-radius:8px;background:#fff}.priceInquiryMeta small,.priceInquiryPrices small{display:block;color:#718078;font-size:8px;font-weight:950;letter-spacing:.7px}.priceInquiryMeta b{display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.priceInquiryPrices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.priceInquiryPrices section{padding:12px;border-radius:10px;background:#075d34;color:#fff}.priceInquiryPrices section:nth-child(2){background:#6346a8}.priceInquiryPrices section.managerOnlyPrice{background:#4c5d54}.priceInquiryPrices strong{display:block;margin-top:4px;font-size:24px}.priceInquiryPrices small{color:rgba(255,255,255,.78)}
.priceInquiryCategory{margin-top:9px;color:#607267;font-size:11px;font-weight:800}.priceInquiryHint{text-align:center;color:#64766b;font-size:11px}

/* Auto-fit POS controls: use viewport-aware sizing instead of forcing a fixed desktop height. */
.posScreen{height:calc(100dvh - 58px)!important;min-height:0!important;padding:clamp(4px,1vh,9px) clamp(5px,.8vw,11px) clamp(5px,1vh,11px)!important}
.posHeading{padding:clamp(6px,1vh,10px) 12px!important;margin-bottom:clamp(4px,.8vh,8px)!important}
.posScreen .posToolbar{gap:clamp(4px,.7vh,8px)!important;padding:clamp(5px,.8vh,9px)!important;margin-bottom:clamp(4px,.8vh,8px)!important}
.posScreen .posToolbar input,.posScreen .posToolbar select,.posScreen .posToolbar button{min-height:clamp(36px,5vh,44px)!important}
.posScreen .posGrid.posCartOnly{height:auto!important;flex:1 1 auto!important;min-height:0!important}
.posScreen .cartPanel{min-height:0!important;padding:clamp(5px,.8vh,10px)!important;gap:clamp(3px,.6vh,6px)!important}
.cartFixedFooter{grid-template-columns:minmax(0,1fr) clamp(275px,22vw,350px)!important;gap:clamp(4px,.6vh,7px) clamp(6px,.8vw,10px)!important;padding-top:clamp(4px,.7vh,8px)!important}
.checkoutActions{gap:clamp(4px,.6vh,7px)!important}
.checkoutGroup{padding:clamp(18px,2.5vh,24px) 6px 6px!important;gap:clamp(3px,.55vh,6px)!important}
.posScreen .checkoutActions .posBtn{min-height:clamp(32px,5.1vh,42px)!important;padding:clamp(3px,.65vh,6px) 4px!important;font-size:clamp(8px,1.05vw,10px)!important}
.posScreen .checkoutActions .posBtn small{font-size:clamp(6px,.75vw,7px)!important;margin-bottom:1px!important}
.barcodeDock input{min-height:clamp(36px,5vh,42px)!important}
.cartTotal{min-height:clamp(52px,8vh,66px)!important}.cartTotal strong{font-size:clamp(20px,3.2vh,30px)!important}
.emptyCartState{min-height:clamp(100px,24vh,180px)!important}

/* Short-height cashier monitors: reduce rows by widening the shortcut grids. */
@media (max-height:820px) and (min-width:1041px){
  .posHeading .pageTitle{font-size:16px!important}.posHeading{padding:5px 9px!important}.posStatusBar>span{padding:5px 7px!important}.posStatusBar>span small{font-size:7px!important}.posStatusBar>span b{font-size:9px!important}
  .posScreen .posToolbar input,.posScreen .posToolbar select,.posScreen .posToolbar button{min-height:34px!important;font-size:11px!important}
  .checkoutGroup.shortcutGroup{grid-template-columns:repeat(3,minmax(0,1fr))!important}.checkoutGroup.utilityGroup{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .posScreen .checkoutActions .posBtn{min-height:31px!important;font-size:8px!important}.cartFixedFooter{grid-template-columns:minmax(0,1fr) clamp(315px,27vw,390px)!important}.cartTotal{min-height:48px!important}.barcodeDock input{min-height:34px!important;font-size:14px!important}
}
@media (max-height:680px) and (min-width:1041px){
  .posHeading{display:none!important}.posScreen{height:calc(100dvh - 54px)!important}.posScreen .posToolbar{padding:4px!important;margin-bottom:4px!important}.promoPosBanner{display:none!important}
  .checkoutGroup{padding-top:17px!important}.checkoutGroup.shortcutGroup{grid-template-columns:repeat(4,minmax(0,1fr))!important}.checkoutGroup.utilityGroup{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .posScreen .checkoutActions .posBtn{min-height:28px!important;padding:2px 3px!important;font-size:7.5px!important}.posScreen .checkoutActions .posBtn small{display:inline!important;margin-right:3px!important}.cartSummary>span{padding:4px!important}.cartTotal{min-height:42px!important;padding:7px!important}
}
@media(max-width:1040px){.cartFixedFooter{grid-template-columns:1fr!important}.priceInquiryPrices{grid-template-columns:1fr 1fr!important}}
@media(max-width:600px){.priceInquiryMeta{grid-template-columns:1fr!important}.priceInquiryPrices{grid-template-columns:1fr!important}.priceInquiryPrices strong{font-size:20px}}
@media(prefers-reduced-motion:reduce){.networkBadge.networkOnline i,.d1AutoLiveBadge::before{animation:none!important;opacity:1!important}}
