/* KUAIDI: общие правила телефона для ВСЕХ страниц (ночь 10.10, раздел 10). Подключается в конец <head> middleware mobile_core.py.
   Не зависит от оболочки страницы (aurora, кабинет поставщика, вход, презентация): только селекторы тегов и data-атрибуты, которые ставит mobile_core.js. */
:root{--kb:0px;--vvh:100dvh}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-height:100vh;min-height:100dvh}
img,video,canvas,svg{max-width:100%}
img{height:auto}
img[width][height]{height:auto}
pre,code{overflow-wrap:anywhere}
/* таблицы без явного обёртывания не должны раздвигать страницу на ПК */
@media (max-width:1000px){
  html,body{max-width:100%}
  body{overflow-wrap:break-word}
}
/* ссылки внутри текста отличимы не только цветом (доступность) */
p a:not([class]),li a:not([class]),td a:not([class]),small a:not([class]),.muted a:not([class]){text-decoration:underline;text-underline-offset:2px}
/* ---- сенсорные цели ≥ 44 px, поля ≥ 16 px (iOS не приближает страницу при фокусе) ---- */
@media (max-width:1000px),(pointer:coarse){
  button,input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea,summary,[role=button],.action-button,.button,.btn{min-height:44px!important;box-sizing:border-box}
  input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea{font-size:16px!important}
  summary{padding-top:10px;padding-bottom:10px}
  select{-webkit-appearance:none;appearance:none;height:auto;padding:8px 38px 8px 12px;border:1px solid rgba(128,128,128,.45);border-radius:10px;background-color:transparent;background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' fill='none' stroke='%238a94a6' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");color:inherit;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
  select[multiple]{background-image:none;padding-right:12px}
  summary{min-height:44px!important}
  input[type=checkbox],input[type=radio]{width:24px;height:24px;min-height:24px;flex:0 0 auto;margin:10px 8px 10px 0}
  label:has(>input[type=checkbox]),label:has(>input[type=radio]),label.k-tap-label{display:flex;align-items:center;gap:6px;min-height:44px;cursor:pointer}
  .lang a,.app-back,.pager a,.tabs a,.k-tabs a,.chips a,.k-chips a,.filters a{display:inline-flex;align-items:center;min-height:44px;box-sizing:border-box}
  a[data-tap]{box-sizing:border-box;min-height:44px;align-items:center}
  a[data-tap="i"]{display:inline-flex}
  a[data-tap="b"]{display:flex}
  a[data-tap="x"]{display:inline-flex}
  .k-pager a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;box-sizing:border-box}
}
/* планшет и телефон в альбомной ориентации (640–1000 px): таблица остаётся таблицей, но прокручивается внутри себя, страница не уезжает вбок */
@media (min-width:640px) and (max-width:1000px){
  table:not([data-keep-table]){display:block;width:100%!important;min-width:0!important;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
}
@media (max-width:1000px){select,input,textarea{max-width:100%}label{min-width:0}.panel,.card,main>*,.wrap>*,.grid>*,.grid2>*,.k-grid>*{min-width:0;max-width:100%}input[type=file]{min-height:44px!important;box-sizing:border-box;max-width:100%}.filters{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))!important}}
/* ---- таблицы < 640 px → карточки (каждая строка — карточка, подписи колонок из заголовка; data-label ставит mobile_core.js) ---- */
@media (max-width:639.98px){
  table:not([data-keep-table]),table:not([data-keep-table]) tbody,table:not([data-keep-table]) tfoot,table:not([data-keep-table]) tr{display:block;width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box}
  table:not([data-keep-table]) thead,table:not([data-keep-table]) colgroup,table:not([data-keep-table]) caption.k-sr{display:none!important}
  table:not([data-keep-table]) tr{border:1px solid rgba(128,128,128,.3);border:1px solid color-mix(in srgb,currentColor 16%,transparent);border-radius:14px;padding:6px 12px;margin:0 0 10px}
  table:not([data-keep-table]) td,table:not([data-keep-table]) th{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;width:auto!important;min-width:0!important;max-width:100%!important;border:0!important;padding:7px 0!important;text-align:right!important;overflow-wrap:anywhere;box-sizing:border-box;white-space:normal!important;position:static!important;writing-mode:horizontal-tb!important;transform:none!important;height:auto!important;background:transparent!important}
  table:not([data-keep-table]) td+td,table:not([data-keep-table]) td+th,table:not([data-keep-table]) th+td{border-top:1px solid rgba(128,128,128,.14)!important}
  table:not([data-keep-table]) td[data-label]:not([data-label=""])::before,table:not([data-keep-table]) th[data-label]:not([data-label=""])::before{content:attr(data-label);flex:0 0 38%;max-width:44%;text-align:left;font-weight:600;font-size:.82em;opacity:.7;overflow-wrap:anywhere}
  table:not([data-keep-table]) tr>:first-child{display:block;text-align:left!important;font-weight:600;padding:8px 0 9px!important;border-bottom:1px solid rgba(128,128,128,.2)!important}
  table:not([data-keep-table]) tr>:first-child::before{display:none!important}
  table:not([data-keep-table]) td[data-label=""]:not(:first-child){flex-direction:column;align-items:stretch;text-align:left!important}
  table:not([data-keep-table]) td:empty{display:none}
  table:not([data-keep-table]) td>*{max-width:100%}
  table:not([data-keep-table]) tr[data-hrow]{display:none!important}
  table:not([data-keep-table]) td[data-multi]{flex-wrap:wrap}
  table:not([data-keep-table]) td[data-multi]>*{flex:1 1 100%;min-width:0;text-align:left}
  table:not([data-keep-table]) td form,table:not([data-keep-table]) td .row-actions{text-align:right}
  /* прежние «обёртки с прокруткой» вокруг таблиц больше не нужны */
  .table-wrap,.tbl-wrap,.k-table-wrap,.scroll-x,.table-scroll,.overflow-x{overflow-x:visible!important}
}
/* ---- клавиатура: панели ввода внизу экрана поднимаются на высоту клавиатуры (mobile_core.js считает --kb из visualViewport) ---- */
[data-kb-bar]{transition:transform .12s ease-out;transform:translateY(calc(var(--kb,0px) * -1))}
html[data-kb-open] body{padding-bottom:calc(var(--kb,0px) + 24px)!important}
html[data-kb-open] .buyer-tabbar,html[data-kb-open] .k-tabbar{display:none!important}
/* ---- поворот экрана: альбомная ориентация телефона — шапка и нижние панели не съедают высоту ---- */
@media (orientation:landscape) and (max-height:480px){
  header{min-height:0!important}
  .buyer-tabbar{padding-top:4px!important;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))!important}
  .k-auth,.k-public{min-height:0}
}
/* ---- без hover-меню: на сенсорных устройствах подсказки и выпадающие меню не зависят от :hover ---- */
@media (hover:none){
  [data-hover-menu]>*:not(:first-child){display:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* фокус виден всегда (клавиатура, внешняя клавиатура iPad) */
:focus-visible{outline:3px solid #28a8b0;outline-offset:2px}
