/* ═══ Телефон — продажа ═══
   Окно по центру становится листом во весь экран: сверху пробивают,
   под этим печатается тот же чек — рваная лента на тёмном поле. Кнопка
   «Пробить чек» липнет к низу: сумму набрали, платят, не листая назад.
   Суммы набираются системной цифровой клавиатурой (inputmode у поля). */
.dlg.dlg-sale{
  top:0;left:0;right:0;bottom:0;width:auto;max-width:none;max-height:none;
  border-radius:0;transform:translateY(6%);--sl-rail:auto;
}
.dlg.dlg-sale.open{transform:none}
.sl-main{grid-template-columns:1fr;overflow-y:auto;overscroll-behavior:contain}
/* Одна колонка — два ряда сетки. С min-height:0 у ряда нет своей высоты,
   и сетка делит между рядами высоту экрана: форма ужимается, плитки уходят
   под ленту чека. Автоматический минимум возвращает ряду рост содержимого. */
.sl-left{border-right:0;border-bottom:1px solid var(--rule);min-height:auto}
.sl-left::after{display:none}
.sl-head{padding-top:env(safe-area-inset-top,0px);min-height:calc(53px + env(safe-area-inset-top,0px))}
/* На компьютере форма — своя прокрутка в колонке (flex:1, min-height:0); в одной
   колонке телефона она такой же высоты, как её содержимое: иначе сетка ужимает
   ряд формы под высоту экрана, и плитки уходят под ленту чека. */
.sl-form{flex:none;overflow:visible;padding:14px 16px 18px}
.sl-picks{grid-template-columns:repeat(2,1fr)}
.sl-pick{min-height:56px}
.sl-rail{padding:16px 16px 0;min-height:auto}
.rc-body{overflow:visible}
.sl-act{
  position:sticky;bottom:0;z-index:1;
  padding:12px 0 calc(14px + env(safe-area-inset-bottom,0px));background:var(--band);
}
.sl-punch{min-height:48px}
.sl-done{position:sticky;bottom:0;margin-bottom:calc(12px + env(safe-area-inset-bottom,0px))}
