/* BN727 - UI/UX Pro Max pass: 44px touch targets and 8px spacing on touch screens (56px on the register), bigger checkboxes, visible
   field labels, tables as cards on phones, line icons instead of glyphs. Desktop mouse layouts are unchanged. */
@media (pointer:coarse){
  /* app */
  .bn-content .bn-btn,.bn-content .btn,.bn-content button:not(.bn-menu-btn),.bn-content a.bn-pill,.bn-content .bn432-mini,.bn-content .bn432-more>summary,.bn-content .bn711-actions a,.bn-content .bn711-actions summary,.bn-content details>summary,.bn-content .bn720-bar button,
  .bn-content select,.bn-content input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=file]):not([type=range]){min-height:44px!important}
  .bn-content a.bn-pill,.bn-content .bn432-mini,.bn-content .bn432-more>summary{display:inline-flex!important;align-items:center}
  .bn-submenu a,.bn-sidebar .bn-submenu a{min-height:44px;display:flex!important;align-items:center}
  .bn-content input[type=checkbox],.bn-content input[type=radio]{width:22px!important;height:22px!important}
  .bn432-actions,.bn-action-strip,.bn711-actions,.tag-toolbar,.bn720-bar,.bn432-tools,.bn432-export{gap:8px!important}
  /* register: 56px keys */
  body:has(#posScan) .bn-content button,body:has(#posScan) .bn-content .bn-btn{min-height:56px!important}
  body:has(#posScan) .bn-content table button,body:has(#posScan) .bn-content table .bn-btn{min-height:44px!important;min-width:44px}
  /* public site */
  header.site nav a,header.site nav a.link,header.site .nav a,header.site a.brand,header.site>.wrap>a{min-height:44px!important;display:inline-flex!important;align-items:center}
  header.site a,header.site .btn,footer.site a,.sf-foot a,.sh-dir a,.sf-top a,.sf-top .btn,.sf-bar .btn,.sf-filter .btn{min-height:44px;display:inline-flex!important;align-items:center}
  footer.site a,footer.site nav a,.sf-foot a{min-height:44px!important;display:inline-flex!important;align-items:center;padding:0 6px!important}
  main input[type=radio],main input[type=checkbox]{width:22px;height:22px}
  .bn-auth-footer a,.auth-footer a,body:has(input[name=password]) footer a{min-height:44px;display:inline-flex;align-items:center;padding:0 8px}
}
/* visible labels added by bn727-touch.js */
.bn727-field{display:flex;flex-direction:column;min-width:0}.bn727-field>input,.bn727-field>select,.bn727-field>textarea{width:100%}
.bn727-lbl{display:block;font-size:13px;font-weight:600;color:#475569;margin:0 0 4px}
/* tables as cards on phones */
@media (max-width:640px){
  table.bn727-cards,table.bn727-cards tbody,table.bn727-cards tr,table.bn727-cards td{display:block;width:100%!important;min-width:0!important}
  table.bn727-cards thead{display:none}
  table.bn727-cards tr{border:1px solid #e6e8ec!important;border-radius:14px;padding:10px 12px;margin:0 0 10px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.05)}
  table.bn727-cards td{border:0!important;padding:3px 0!important;text-align:left!important;display:flex;justify-content:space-between;gap:12px;align-items:center}
  table.bn727-cards td[data-label]:not([data-label=""])::before{content:attr(data-label);color:#64748b;font-size:13px;font-weight:600;flex:none}
}
/* line icons replacing glyphs */
.bn727-ico{width:18px;height:18px;flex:none;vertical-align:-3px}
/* register on phones: one column within the screen (it was 558px wide on a 390px phone, with the right side cut off) */
@media (max-width:640px){
  section.pos{grid-template-columns:minmax(0,1fr)!important}
  section.pos>*,section.pos .c{min-width:0!important;max-width:100%!important}
  section.pos .man{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  section.pos .scan{flex-wrap:wrap!important}
  section.pos .scan>input,section.pos .scan>.bn727-field{min-width:0!important;flex:1 1 180px!important}
  .bn727-field>input,.bn727-field>select,.bn727-field>textarea{flex:none!important}
}
