/* Bob’s Liquor Store: compact desktop register; portal and inventory are unchanged. */
/* The theme stylesheet otherwise inherits dark text onto these dark-green controls. */
.utility-suite .utility-controls button{color:#fff!important}
.utility-suite .utility-brand img{background:#fff;border-radius:3px;padding:2px 5px;box-sizing:content-box}
/* Smaller sidebar identity brings the menu closer to the top without changing the artwork. */
@media screen and (min-width:901px){
  #app>.sidebar{padding-top:12px}
  #app>.sidebar .grocery-store-logo{display:flex!important;flex-direction:column;align-items:center!important;gap:4px;padding:0 0 10px;margin:0 0 10px}
  #app>.sidebar .grocery-store-logo img{width:153.4px!important;height:auto!important;max-height:93.6px!important;object-fit:contain;margin:0 auto}
  #app>.sidebar .grocery-store-logo span{font-size:12px!important;line-height:1.15!important;letter-spacing:.035em!important;margin:0}
}
/* Bridge Street-style inline lookup, retaining Bob's mandatory 21+ controls. */
#view-pos .grocery-member-gate{grid-template-columns:minmax(0,1fr);gap:4px;padding:6px 8px}
#view-pos .grocery-member-gate>div:first-child{display:flex;align-items:center;gap:8px;min-width:0}
#view-pos .grocery-member-gate>div:first-child .eyebrow{display:none}
#view-pos .grocery-member-gate #selected-member-name{font-size:12px;line-height:16px;min-width:0;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#view-pos .grocery-member-gate #selected-member-status{margin:0;font-size:9px;line-height:16px;min-width:0}
#view-pos .grocery-member-gate .verification-actions{display:grid;grid-template-columns:minmax(0,1fr) 116px 126px;gap:5px;min-width:0}
#view-pos .grocery-member-gate .verification-actions input,#view-pos .grocery-member-gate .verification-actions button{width:100%;height:34px;min-height:34px;padding:5px 7px;font-size:10px;line-height:12px;border-radius:7px}
#view-pos .grocery-member-gate .verification-status-line{height:16px;min-height:16px;padding:2px 5px;font-size:7px;line-height:12px;letter-spacing:0}
@media(max-width:700px){#view-pos .grocery-member-gate .verification-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#view-pos .grocery-member-gate .verification-actions input{grid-column:1/-1}}
@media screen and (min-width:901px){
  #view-pos{--register-tile-height:clamp(64px,calc((100dvh - 540px)/6),90px)}
  /* Six columns and six visible rows, independent of how many buttons exist. */
  #view-pos #department-buttons,#view-pos #product-results{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:var(--register-tile-height);gap:8px;align-content:start;align-items:start;height:min(100%,calc(6 * var(--register-tile-height) + 44px))!important;max-height:calc(6 * var(--register-tile-height) + 44px);min-height:0;padding:2px;box-sizing:border-box;overflow-x:hidden!important;overflow-y:auto!important;scrollbar-gutter:stable;overscroll-behavior:contain}
  #view-pos #department-buttons button{width:100%;height:var(--register-tile-height)!important;min-height:var(--register-tile-height)!important;max-height:var(--register-tile-height);display:flex;align-items:center;justify-content:center;text-align:center;font-size:14px;line-height:1.2;padding:8px;overflow-wrap:anywhere}
  #view-pos #category-buttons{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:48px;max-height:110px;padding:2px 0!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable;align-content:start}
  #view-pos #product-results .product-card{height:var(--register-tile-height)!important;min-height:var(--register-tile-height)!important;max-height:var(--register-tile-height);padding:5px 7px 5px 9px!important;gap:2px!important;display:grid;grid-template-rows:40px 16px 12px;align-content:center;border-radius:9px}
  #view-pos #product-results .product-card-name{font-size:12px!important;line-height:16px!important;height:32px;min-height:32px!important;margin:0}
  #view-pos #product-results .product-card-meta{grid-column:1/-1;grid-row:2;line-height:16px;min-height:0;align-items:center}
  #view-pos #product-results .product-card-upc{font-size:9px}
  #view-pos #product-results .product-card .price{font-size:13px!important}
  #view-pos #product-results .product-card-requirement{grid-column:1/-1;grid-row:3;font-size:8px;line-height:12px;padding:0;min-height:0;margin:0}
  #view-pos #product-results .product-card-brand,#view-pos #product-results .product-card-unit{display:none}
  #view-pos .catalog-panel,#view-pos .sale-panel{height:100%;min-height:0}
  #view-pos .catalog-panel{overflow:hidden}
}
/* Restore the compact square control; smaller labels fit in either language. */
#view-pos .sale-panel .cart-line{grid-template-columns:minmax(0,1fr) 34px 50px 20px;min-height:38px}
#view-pos .sale-panel .cart-line .cart-quantity-button{width:34px;height:34px;min-height:34px;display:grid;grid-template-rows:8px 16px;align-content:center;justify-items:center;gap:0;padding:2px!important;border-radius:7px;white-space:normal}
#view-pos .cart-quantity-label{display:block;width:100%;font-size:7px!important;line-height:8px;height:8px;letter-spacing:0;transform:none;text-transform:none;white-space:nowrap;overflow:hidden;text-align:center}
#view-pos .cart-quantity-value{font-size:12px!important;line-height:16px;height:16px;font-variant-numeric:tabular-nums;text-align:center}
/* Keep the familiar verification box and controls, with compact typography. */
#view-pos .grocery-member-gate .eyebrow{font-size:8px;line-height:1.1}
#view-pos .grocery-member-gate #selected-member-name{font-size:13px;line-height:1.1}
#view-pos .grocery-member-gate>div:first-child small{font-size:8px;line-height:1.15}
#view-pos .verification-actions button{font-size:8px;line-height:1.1}
#view-pos .verification-status-line{font-size:6.5px;letter-spacing:0;line-height:1.15}
.receipt-actions .printer-note{font-size:11px;line-height:1.4}
.receipt-actions #print-status{min-height:2.8em;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.receipt-actions a.soft{display:grid;place-items:center;min-height:48px;text-align:center}
.receipt-actions a[aria-disabled="true"]{opacity:.5;pointer-events:none}
@media print{
  body:has(#receipt-dialog[open])>*:not(#receipt-dialog){display:none!important}
  html:has(#receipt-dialog[open]),body:has(#receipt-dialog[open]){height:auto!important;overflow:visible!important}
  #receipt-dialog[open]::backdrop{display:none!important}
  #receipt-dialog[open] .receipt-logo{width:52mm!important;height:auto!important;background:#fff!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
  #receipt-dialog[open] .receipt-item,#receipt-dialog[open] .receipt-totals,#receipt-dialog[open] .receipt-payment,#receipt-dialog[open] .loyalty-receipt{break-inside:avoid}
}

/* Preserve Bob’s bottle photography within the D3 compact tile. */
@media screen and (min-width:901px){#view-pos #product-results .product-card{grid-template-columns:26px minmax(0,1fr)}#view-pos #product-results .product-card-photo{width:26px;height:40px;grid-row:1;object-fit:contain}#view-pos #product-results .product-card:not(:has(.product-card-photo)){grid-template-columns:minmax(0,1fr)}}
@media screen and (min-width:901px) and (max-height:950px){#view-pos #product-results .product-card{grid-template-rows:26px 12px 10px;padding-top:3px!important;padding-bottom:3px!important}#view-pos #product-results .product-card-name{height:26px;min-height:26px!important;font-size:10px!important;line-height:13px!important}#view-pos #product-results .product-card-photo{height:26px}#view-pos #product-results .product-card-meta{line-height:12px}#view-pos #product-results .product-card-requirement{line-height:10px}}
#view-pos .catalog-panel{grid-template-rows:37px auto minmax(0,1fr)}
.quick-scan-status:empty{display:none}
#view-pos .catalog-panel:not(:has(.quick-scan-status:not(:empty))){grid-template-rows:37px minmax(0,1fr)}

/* Bob's register controls: manual keyboard and customer lookup dialog. */
.utility-suite{width:152px!important}
.utility-suite .utility-controls{justify-content:center!important;gap:6px!important}
.utility-suite .utility-controls button{flex:0 0 40px!important;width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;font-size:15px!important;line-height:1!important}
.utility-suite .utility-controls #keyboard-toggle-btn[aria-pressed="true"]{border-color:#fff!important;background:#fff!important;color:#176544!important;box-shadow:0 0 0 2px #58c993!important}
#view-pos .grocery-member-gate{display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:8px}
#view-pos #selected-customer-summary{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:0;text-align:center}
#view-pos #selected-customer-summary[hidden]{display:none!important}
#view-pos #selected-customer-summary #selected-member-name{font-size:14px;line-height:18px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#view-pos #selected-customer-summary #selected-member-status{font-size:12px;line-height:16px;margin:0}
#view-pos .grocery-member-gate .verification-actions{display:flex;justify-content:center;align-items:center;gap:8px;width:100%}
#view-pos .grocery-member-gate .verification-actions button{flex:0 1 145px;width:145px;min-width:0;height:38px;min-height:38px;font-size:11px;line-height:14px}
/* Retain live verification announcements and checkout enforcement without an extra row. */
#view-pos #verification-status-line{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
#view-pos #member-id-card{display:none!important}
@media(max-width:700px){.utility-suite{top:10px!important;bottom:auto!important}.utility-suite .utility-controls{display:flex!important}}

/* Keep scan, browser, and feedback in separate flex rows; status never shifts the heading. */
#view-pos .catalog-panel{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:9px}
#view-pos .catalog-panel>.search-row{order:0;flex:0 0 37px;min-height:37px;margin:0}
#view-pos .catalog-panel>.department-browser-screen,#view-pos .catalog-panel>.product-browser-screen{order:1;flex:1 1 0;min-width:0;min-height:0}
#view-pos .catalog-panel>.department-browser-screen{grid-template-rows:minmax(42px,max-content) minmax(0,1fr);align-content:start}
#view-pos .catalog-panel .browse-screen-heading{min-height:42px;align-self:start}
#view-pos .catalog-panel>.quick-scan-status{order:2;flex:0 0 auto;min-width:0;max-height:90px;overflow:auto;overflow-wrap:anywhere;margin:0}
#view-pos .catalog-panel>.quick-scan-status:empty{display:none}
