/* ALBS POS · v0.7.36 · production-minded operator surface.
   Visual-only overrides. No transactional state, calculations or printing logic here.
   Real customer photo supplied -> photographic product card.
   No customer photo -> intentional legible commercial key, never a pretend image. */
#app .service-till.premium-reference-till{
  --operator-amber:#fa912a;
  --operator-ink:#f3f6f8;
  --operator-secondary:#a0adb7;
  --operator-border:#28343e;
  height:100vh;height:100dvh;
  grid-template-rows:76px minmax(0,1fr) 82px;
  background:#0a1015;
  color:var(--operator-ink);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
#app .service-till.premium-reference-till .till-top{
  height:76px;
  grid-template-columns:minmax(195px,1fr) minmax(120px,185px) minmax(360px,1.75fr) auto;
  gap:12px;
  padding:0 17px;
  background:#0d171f;
  border-bottom:1px solid #283643;
  box-shadow:none;
}
#app .service-till.premium-reference-till .brand-identity{
  height:48px;
  gap:11px;
  padding-right:14px;
  min-width:0;
  border-right:1px solid #293a47;
}
#app .service-till.premium-reference-till .brand-identity img{
  width:41px;height:41px;
  border-radius:8px;
  background:#fff;
  flex:0 0 auto;
  box-shadow:none;
}
#app .service-till.premium-reference-till .brand-identity span{min-width:0}
#app .service-till.premium-reference-till .brand-identity strong{
  display:block;font-size:23px;font-weight:800;letter-spacing:.005em;line-height:1.1;
  white-space:nowrap;
}
#app .service-till.premium-reference-till .brand-identity strong em{color:var(--operator-amber);font-style:normal}
#app .service-till.premium-reference-till .brand-identity small{
  display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#93a6b3;font-size:11px
}
#app .service-till.premium-reference-till .venue-identity{
  height:48px;padding:0 12px 0 2px;border-right:1px solid #293a47;
  display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:9px;
}
#app .service-till.premium-reference-till .venue-identity>.ui-icon{color:var(--operator-amber);width:20px;height:20px}
#app .service-till.premium-reference-till .venue-identity>span{display:block;min-width:0}
#app .service-till.premium-reference-till .venue-identity b{
  display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:#f4f6f8;font-size:13px;font-weight:730;
}
#app .service-till.premium-reference-till .venue-identity small{
  display:block;margin-top:5px;font-size:11px;color:#91a4b1;
}
#app .service-till.premium-reference-till .header-operational{
  justify-content:flex-start;gap:8px;min-width:0;
}
#app .service-till.premium-reference-till .operator-chip,
#app .service-till.premium-reference-till .header-state{
  height:48px;min-width:0;padding:6px 10px;
  background:#111f2a;border:1px solid #2b3e4c;
  border-radius:7px;box-shadow:none;
}
#app .service-till.premium-reference-till .operator-avatar{
  height:31px;width:31px;border-radius:50%;font-weight:750;
  background:#344451;
}
#app .service-till.premium-reference-till .header-state .ui-icon{color:#e0e8ee;width:19px;height:19px}
#app .service-till.premium-reference-till .operator-chip b,
#app .service-till.premium-reference-till .header-state b{font-size:12px;color:#f2f5f7}
#app .service-till.premium-reference-till .operator-chip small,
#app .service-till.premium-reference-till .header-state small{
  font-size:10px;color:#9dafba;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
#app .service-till.premium-reference-till .header-state.printer-state{cursor:pointer}
#app .service-till.premium-reference-till .header-state.printer-state.connected .status-light{
  background:#39c36c;box-shadow:none;
}
#app .service-till.premium-reference-till .top-actions{gap:10px;padding:0}
#app .service-till.premium-reference-till .session-status{
  height:auto;padding:0 10px 0 3px;
}
#app .service-till.premium-reference-till .session-status b{font-size:23px;font-weight:750}
#app .service-till.premium-reference-till .session-status small{font-size:10px;color:#9babb6}
#app .service-till.premium-reference-till .lock-btn{
  width:43px;height:43px;min-width:43px;padding:0;justify-content:center;
  background:#131f29;border-color:#324351;border-radius:7px;
}
#app .service-till.premium-reference-till .lock-btn span{display:none}

/* Permanent three-zone trading chassis */
#app .service-till.premium-reference-till .till-body{
  grid-template-columns:178px minmax(0,1fr) 366px;
  min-height:0;gap:0;background:#0b141b;
}
#app .service-till.premium-reference-till .category-rail{
  min-height:0;padding:8px 8px 10px 10px;
  background:#0d171f;
  border-right:1px solid var(--operator-border);
}
#app .service-till.premium-reference-till .category-track{gap:2px;padding-right:0}
#app .service-till.premium-reference-till .category-track .cat-btn{
  height:52px;min-height:52px;
  display:grid;grid-template-columns:29px minmax(0,1fr);gap:10px;
  padding:0 11px;border-radius:5px;border:1px solid transparent;
  background:transparent;color:#d8e0e6;
}
#app .service-till.premium-reference-till .category-track .cat-btn:hover{background:#182631;border-color:#293d4b}
#app .service-till.premium-reference-till .category-track .cat-btn.active{
  background:#fa912a;border:1px solid #ffad5e;color:#151b20;
  box-shadow:none;
}
#app .service-till.premium-reference-till .category-track .cat-icon,
#app .service-till.premium-reference-till .category-track .cat-btn.active .cat-icon{
  background:transparent;border:0;width:26px;height:26px;color:inherit;
}
#app .service-till.premium-reference-till .category-track .cat-icon .ui-icon{height:22px;width:22px}
#app .service-till.premium-reference-till .category-track .cat-copy b{
  font-size:14px;line-height:1.1;font-weight:670;letter-spacing:0;
}
#app .service-till.premium-reference-till .category-rail-tools{
  border-top:1px solid #293742;padding-top:10px;gap:3px;
}
#app .service-till.premium-reference-till .category-rail-tools button{
  height:42px;border:0;border-radius:5px;background:transparent;color:#cbd7de;font-size:12px;
}
#app .service-till.premium-reference-till .category-rail-tools button:hover{background:#182630}
#app .service-till.premium-reference-till .product-area{
  grid-template-rows:68px minmax(0,1fr);
  min-width:0;min-height:0;gap:0;background:#0c151c;
}
#app .service-till.premium-reference-till .selling-head{
  height:68px;display:grid;grid-template-columns:minmax(160px,1fr) auto;
  gap:9px;padding:9px 12px;
  background:#0d171f;border-bottom:1px solid #202e3a;
}
#app .service-till.premium-reference-till .pos-search{
  height:46px;min-width:0;background:#121f2a;border:1px solid #344653;
  border-radius:6px;padding:0 13px;
}
#app .service-till.premium-reference-till .pos-search input{font-size:13px}
#app .service-till.premium-reference-till .pos-search input::placeholder{color:#8c9eac}
#app .service-till.premium-reference-till .pos-search:focus-within{
  border-color:#ef9748;box-shadow:0 0 0 2px rgba(239,151,72,.12);
}
#app .service-till.premium-reference-till .selling-meta{gap:7px}
#app .service-till.premium-reference-till .view-buttons{gap:6px}
#app .service-till.premium-reference-till .view-buttons button{
  height:45px;border-radius:6px;padding:0 11px;background:#16222d;
  color:#d9e1e6;border:1px solid #354550;font-size:12px;font-weight:700;
}
#app .service-till.premium-reference-till .view-buttons button.active{
  color:#faa34f;border-color:#f28b2c;background:#191d1b;
}
#app .service-till.premium-reference-till .product-canvas{
  padding:12px;background:#0b141b;
  overflow:hidden;min-height:0;
}
#app .service-till.premium-reference-till .product-grid{
  height:100%;grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:176px;gap:10px;padding:0 4px 12px 0;
}
#app .service-till.premium-reference-till .product-tile{
  height:176px;min-width:0;width:100%;
  position:relative;overflow:hidden;display:flex;flex-direction:column;
  padding:0;gap:0;border:1px solid #374651;border-radius:7px;
  box-shadow:none;background:#141f28;color:#fff;transition:border-color .08s,background .08s;
}
#app .service-till.premium-reference-till .product-tile::before,
#app .service-till.premium-reference-till .product-tile::after{display:none}
#app .service-till.premium-reference-till .product-tile:hover:not(:disabled){
  border-color:#f1a15a;background:#172631;filter:none;transform:none;
}
#app .service-till.premium-reference-till .product-tile:active:not(:disabled),
#app .service-till.premium-reference-till .product-tile.tap-pulse{
  background:#1b2e3b;transform:scale(.985);box-shadow:inset 0 0 0 1px #e7964e;
}
/* Genuine photograph: large edge-to-edge image with crisp product information. */
#app .service-till.premium-reference-till .product-tile.has-photo .tile-photo{
  display:block;flex:1 1 auto;min-height:0;width:100%;overflow:hidden;background:#19252d;
}
#app .service-till.premium-reference-till .product-tile.has-photo .tile-photo img{
  width:100%;height:100%;object-fit:cover;filter:none;
}
#app .service-till.premium-reference-till .product-tile.has-photo .tile-details{
  flex:0 0 auto;min-height:58px;padding:8px 11px 9px;background:#13202a;
}
#app .service-till.premium-reference-till .product-tile.has-photo .tile-copy b{font-size:14px!important;font-weight:700}
#app .service-till.premium-reference-till .product-tile.has-photo .tile-bottom strong{font-size:14px!important}
/* Unphotographed catalogue items are designed POS keys, not empty "photo" cards. */
#app .service-till.premium-reference-till .product-tile.no-photo .tile-photo,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-photo{display:none}
#app .service-till.premium-reference-till .product-tile.no-photo,
#app .service-till.premium-reference-till .product-tile.photo-failed{
  background:#18252e;
  border-color:#3b4b56;
}
#app .service-till.premium-reference-till .product-tile.no-photo .tile-details,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-details{
  display:flex;flex:1;flex-direction:column;justify-content:space-between;
  padding:18px 15px 14px;gap:10px;background:transparent;min-height:0;
  border-top:3px solid color-mix(in srgb,var(--tile,#a2b3be) 60%,#4b626e);
}
#app .service-till.premium-reference-till .product-tile.no-photo .tile-copy,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-copy{
  display:flex;flex-direction:column-reverse;gap:14px;
}
#app .service-till.premium-reference-till .product-tile.no-photo .tile-copy b,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-copy b{
  font-size:18px!important;line-height:1.15!important;font-weight:740!important;
  color:#fff!important;letter-spacing:-.015em;
}
#app .service-till.premium-reference-till .product-tile.no-photo .tile-copy small,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-copy small{
  display:block;font-size:10px!important;color:#9eafbb!important;
  text-transform:uppercase;letter-spacing:.07em;
}
#app .service-till.premium-reference-till .product-tile.no-photo .tile-bottom strong,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-bottom strong{
  font-size:24px!important;font-weight:770!important;letter-spacing:-.025em!important;
}
#app .service-till.premium-reference-till .product-tile.no-photo .tile-bottom::after,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-bottom::after{
  content:'+';position:absolute;bottom:12px;right:13px;
  width:30px;height:30px;display:grid;place-items:center;
  font-size:23px;line-height:1;font-weight:500;color:#d1e0e8;
  border:1px solid #4b5e6b;border-radius:6px;
}
#app .service-till.premium-reference-till .product-tile.stock-blocked{opacity:.5;cursor:not-allowed}
#app .service-till.premium-reference-till .product-tile.stock-blocked .tile-copy small{color:#ffaaa6!important}
#app .service-till.premium-reference-till.view-list .product-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:76px;
}
#app .service-till.premium-reference-till.view-list .product-tile{height:76px;flex-direction:row}
#app .service-till.premium-reference-till.view-list .product-tile.has-photo .tile-photo{width:110px;min-width:110px;flex:0 0 110px}
#app .service-till.premium-reference-till.view-list .product-tile.no-photo .tile-details,
#app .service-till.premium-reference-till.view-list .product-tile.photo-failed .tile-details{
  flex-direction:row;align-items:center;padding:10px 14px;border-top:0;border-left:3px solid var(--tile);
}
#app .service-till.premium-reference-till.view-list .product-tile.no-photo .tile-copy small{display:none}
#app .service-till.premium-reference-till.view-list .product-tile.no-photo .tile-copy b{font-size:14px!important}
#app .service-till.premium-reference-till.view-list .product-tile.no-photo .tile-bottom::after{display:none}
#app .service-till.premium-reference-till.view-list .product-tile.no-photo .tile-bottom strong{font-size:17px!important}

/* Checkout remains operational, clean and permanently visible */
#app .service-till.premium-reference-till .basket-panel{
  background:#101b24;border-left:1px solid #35434c;box-shadow:none;
  grid-template-rows:76px minmax(0,1fr) auto auto;
}
#app .service-till.premium-reference-till .basket-head{
  height:76px;padding:11px 14px;background:#15232d;border-bottom:1px solid #33434e;
}
#app .service-till.premium-reference-till .order-number-row h2{font-size:19px;font-weight:780;letter-spacing:-.015em}
#app .service-till.premium-reference-till .basket-lines{background:#101b24;padding:0 12px}
#app .service-till.premium-reference-till .basket-line{
  background:transparent;border:0;border-bottom:1px solid #2f3e48;
  min-height:75px;padding:12px 0;gap:7px;
}
#app .service-till.premium-reference-till .line-main b{font-size:13px;font-weight:720}
#app .service-till.premium-reference-till .line-main small{color:#a6b4bf;font-size:10px}
#app .service-till.premium-reference-till .line-total{font-size:13px}
#app .service-till.premium-reference-till .qty button{border-radius:5px}
#app .service-till.premium-reference-till .basket-summary{
  padding:12px 14px 8px;background:#101b24;
}
#app .service-till.premium-reference-till .grand{
  padding-top:12px!important;border-top:1px solid #5a6872;
}
#app .service-till.premium-reference-till .grand span{font-size:18px}
#app .service-till.premium-reference-till .grand strong{font-size:26px!important}
#app .service-till.premium-reference-till .basket-actions{
  padding:2px 12px 13px;gap:7px;grid-template-rows:44px 64px 46px!important;
  background:#101b24;
}
#app .service-till.premium-reference-till .send-primary{
  height:44px;border-radius:6px;background:#152430;border-color:#84623c;color:#f3b46e;
  letter-spacing:0;text-transform:none;font-size:12px;font-weight:720;
}
#app .service-till.premium-reference-till .pay-action{
  height:64px!important;min-height:64px;background:#18b741;
  border:1px solid #45d063;color:#fff;border-radius:7px;box-shadow:none;
}
#app .service-till.premium-reference-till .pay-action:hover:not(:disabled){background:#20c34a;filter:none}
#app .service-till.premium-reference-till .pay-action>span{font-size:22px;font-weight:750}
#app .service-till.premium-reference-till .pay-action>strong{font-size:23px;font-weight:800}
#app .service-till.premium-reference-till .order-tool-row{
  border-radius:6px;border-color:#364652;background:#172631;
}
#app .service-till.premium-reference-till .order-tool-row button{
  background:#172631;font-size:11px;color:#e3ebf0;
}
#app .service-till.premium-reference-till .till-bottom-nav{
  height:82px;min-height:82px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));
  gap:8px;padding:8px 10px;
  background:#0c151c;border-top:1px solid #2d3b45;
}
#app .service-till.premium-reference-till .bottom-key{
  background:#14212b;border:1px solid #33434e;border-radius:6px;
  color:#e4ebf0;font-size:12px;font-weight:700;
}
#app .service-till.premium-reference-till .bottom-key.active{
  color:#ffa242;background:#201c18;border-color:#f28b2c;
}
#app .service-till.premium-reference-till .bottom-key .ui-icon{height:23px;width:23px}
#app .service-till.premium-reference-till .offline-block{inset:76px 0 82px}
@media(max-width:1460px){
 #app .service-till.premium-reference-till .till-body{grid-template-columns:156px minmax(0,1fr) 345px}
 #app .service-till.premium-reference-till .till-top{grid-template-columns:185px 140px minmax(360px,1fr) 100px;gap:7px;padding:0 10px}
 #app .service-till.premium-reference-till .brand-identity strong{font-size:20px}
 #app .service-till.premium-reference-till .venue-identity b{font-size:12px}
 #app .service-till.premium-reference-till .header-operational{gap:5px}
 #app .service-till.premium-reference-till .header-state{padding:5px 7px;gap:6px}
 #app .service-till.premium-reference-till .header-state b{font-size:11px}
 #app .service-till.premium-reference-till .header-state small{font-size:9px}
 #app .service-till.premium-reference-till .operator-chip{padding:5px 6px}
 #app .service-till.premium-reference-till .operator-chip small{font-size:9px}
 #app .service-till.premium-reference-till .session-status{padding-right:0}
 #app .service-till.premium-reference-till .session-status b{font-size:19px}
 #app .service-till.premium-reference-till .lock-btn{display:none}
 #app .service-till.premium-reference-till .category-track .cat-btn{padding:0 6px;gap:5px}
 #app .service-till.premium-reference-till .category-track .cat-copy b{font-size:13px}
 #app .service-till.premium-reference-till .product-grid{grid-auto-rows:166px;gap:8px}
 #app .service-till.premium-reference-till .product-tile{height:166px}
 #app .service-till.premium-reference-till .product-tile.no-photo .tile-copy b{font-size:16px!important}
}
@media(max-width:1140px){
 #app .service-till.premium-reference-till .till-body{grid-template-columns:132px minmax(0,1fr) 315px}
 #app .service-till.premium-reference-till .header-operational .header-state:not(.printer-state){display:none}
 #app .service-till.premium-reference-till .till-top{grid-template-columns:180px 145px minmax(150px,1fr) 90px}
 #app .service-till.premium-reference-till .category-track .cat-copy b{font-size:12px}
 #app .service-till.premium-reference-till .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #app .service-till.premium-reference-till .bottom-key{font-size:10px}
}
@media(max-height:740px) and (min-width:921px){
 #app .service-till.premium-reference-till{grid-template-rows:68px minmax(0,1fr) 66px}
 #app .service-till.premium-reference-till .till-top{height:68px}
 #app .service-till.premium-reference-till .category-track .cat-btn{min-height:45px;height:45px}
 #app .service-till.premium-reference-till .product-area{grid-template-rows:58px minmax(0,1fr)}
 #app .service-till.premium-reference-till .selling-head{height:58px}
 #app .service-till.premium-reference-till .product-grid{grid-auto-rows:142px}
 #app .service-till.premium-reference-till .product-tile{height:142px}
 #app .service-till.premium-reference-till .basket-actions{grid-template-rows:36px 50px 41px!important;padding-bottom:6px;gap:4px}
 #app .service-till.premium-reference-till .send-primary{height:36px}
 #app .service-till.premium-reference-till .pay-action{height:50px!important;min-height:50px}
 #app .service-till.premium-reference-till .order-tool-row,#app .service-till.premium-reference-till .order-tool-row button{height:41px!important}
 #app .service-till.premium-reference-till .till-bottom-nav{height:66px;min-height:66px;padding:6px}
 #app .service-till.premium-reference-till .bottom-key .ui-icon{height:17px;width:17px}
 #app .service-till.premium-reference-till .offline-block{inset:68px 0 66px}
}
/* Readability correction: product names and categories align with the physical key edge,
   rather than floating in the centre of large empty cards. */
#app .service-till.premium-reference-till .product-tile.no-photo .tile-details,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-details{
  align-items:stretch;justify-content:space-between;text-align:left;
}
#app .service-till.premium-reference-till .product-tile.no-photo .tile-copy,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-copy{
  flex:0 1 auto!important;align-self:stretch!important;
  margin:0!important;padding:0!important;
  align-items:flex-start!important;justify-content:flex-start!important;
  text-align:left!important;
}
#app .service-till.premium-reference-till .product-tile.no-photo .tile-copy b,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-copy b{
  max-width:100%;text-align:left!important;margin:0!important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
#app .service-till.premium-reference-till .product-tile.no-photo .tile-bottom,
#app .service-till.premium-reference-till .product-tile.photo-failed .tile-bottom{
  position:static;align-self:stretch;justify-content:flex-start;margin:0;
}
#app .service-till.premium-reference-till .basket-line{
  box-shadow:none!important;border-radius:0!important;margin:0!important;
  padding-left:0!important;padding-right:0!important;
}
