/* ============================================================
   Актив-Б — мобильная вёрстка (карта ~/cloud/05 §8 п.8). Субагент #3.
   Файл ТОЛЬКО мобильных правил: media-запросы ≤900/≤600px.
   Десктоп не трогаем. brand.css / brand-dashboard.css / brand-talk.css — чужие.
   Проверено на 375×812 (iPhone X), темы dark+light:
   /cloud/login, /cloud/apps/files/, /cloud/apps/spreed/
   ============================================================ */

/* ---------- базовые мобильные удобства (только узкие экраны) ---------- */
@media (max-width: 900px) {
  html, body { -webkit-text-size-adjust: 100%; }

  /* ---------- меню Актив-Б: только иконки + свой горизонтальный скролл ---------- */
  /* Было: 6 подписей суммарно ~707px при экране 375 → «Таблицы» обрезана,
     «Контакты»/«Меню▾» за экраном и недостижимы; элементы наезжали на
     иконки NC (поиск/уведомления). Стало: узкие квадратные тап-зоны 44px,
     навигация свайпом внутри самой панели, страница не шире вьюпорта. */
  #header #ab-menu {
    flex: 1 1 auto;
    min-width: 0;
    margin-inline-start: 8px;
    gap: 2px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;           /* Firefox */
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    touch-action: pan-x manipulation;
  }
  #header #ab-menu::-webkit-scrollbar { display: none; }

  #ab-menu .ab-menu__item {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    min-width: 44px;
    padding: 0 !important;
    justify-content: center;
    gap: 0;
    border-radius: 10px;
    scroll-snap-align: start;
    -webkit-tap-highlight-color: rgba(255, 164, 33, 0.25);
  }
  /* подписи прячем — остаются иконки */
  #ab-menu .ab-menu__item span { display: none; }
  #ab-menu .ab-menu__item svg { width: 20px; height: 20px; }

  #ab-menu .ab-menu__item.is-active {
    box-shadow: inset 0 -3px 0 #ffa421;
  }

  /* «Меню▾» → бургер: стандартный мобильный знак «ещё» */
  #ab-menu .ab-menu__toggle svg { display: none; }
  #ab-menu .ab-menu__toggle::before {
    content: '';
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: currentColor;
    box-shadow: 0 -5px 0 currentColor, 0 5px 0 currentColor;
  }

  /* дропдаун «Меню»: fixed и на всю ширину — не обрезается скроллом
     навигации и не уезжает за экран */
  #ab-menu .ab-menu__drop {
    position: fixed;
    top: var(--header-height, 50px);
    left: 8px;
    right: 8px;
    min-width: 0;
    max-width: none;
    max-height: 70vh;
    overflow-y: auto;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
  }
  #ab-menu .ab-menu__drop a {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 12px 16px;
    font-size: 15px;
  }
}

/* ---------- смартфоны: экономим место по мелочам ---------- */
@media (max-width: 600px) {
  /* логотип-зона в шапке: компактнее, больше места меню */
  #header .header-start .logo,
  #header .header-start a {
    max-width: 46px;
    overflow: hidden;
  }
  #header .header-start img { max-width: 40px; }

  #header #ab-menu { margin-inline-start: 6px; }

  /* вспомогательный блок NC не должен вылезать за экран (замер: right=399 при 375,
     давал body.scrollWidth 384). fixed + отступы от края вьюпорта */
  #skip-actions.vue-skip-actions {
    position: fixed;
    inset-inline: 8px;
    max-width: calc(100vw - 16px);
    box-sizing: border-box;
    overflow: hidden;
  }
  #skip-actions .vue-skip-actions__container {
    max-width: 100%;
    box-sizing: border-box;
    overflow: hidden;
  }
  #skip-actions .vue-skip-actions__headline,
  #skip-actions .vue-skip-actions__buttons {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  /* кнопки внутри — flex со сжатием, а не фикс. ширина */
  #skip-actions .vue-skip-actions__buttons .button-vue {
    max-width: 100%;
  }

  /* ---------- логин ---------- */
  #body-login .wrapper {
    padding: 0 10px;
    box-sizing: border-box;
  }
  /* логотип-зона: не съедает пол-экрана */
  #body-login header .logo,
  #body-login .logo {
    max-height: 96px;
    margin: 12px auto 4px;
  }
  #body-login .login-box {
    padding: 18px 14px;
    border-radius: 12px;
  }
  /* поля и «Войти» — на всю ширину формы, тап-зона ≥44px, шрифт 16px против iOS-зума */
  #body-login input[type='text'],
  #body-login input[type='password'],
  #body-login input[type='email'] {
    width: 100%;
    box-sizing: border-box;
    min-height: 44px;
    font-size: 16px;
  }
  #body-login .primary,
  #body-login button.primary,
  #body-login input.primary,
  #body-login .login-form__submit {
    width: 100%;
    box-sizing: border-box;
    min-height: 46px !important;
    height: auto !important;
    font-size: 16px;
  }
  /* NC33 принудительно держит кнопки 34px (.button-vue--legacy34 c !important) —
     перебиваем точечнее: тап-зона логина ≥44px */
  #body-login .login-form__fieldset .button-vue--legacy34,
  #body-login .login-form__submit.button-vue--legacy34 {
    min-height: 46px !important;
    height: auto !important;
  }
  /* глазок показа пароля 30×30 → 40×40 */
  #body-login .login-form__item .button-vue,
  #body-login input[type='password'] ~ button,
  #body-login .password-with-toggle button {
    min-width: 40px;
    min-height: 40px;
  }
  /* альтернативные входы и «Забыли пароль?» — блочные, во всю ширину, тап ≥44px.
     NC33 рендерит их как button-vue--legacy с min-height 34px — берём точечно. */
  #body-login .lost-password-container a,
  #body-login a.button,
  #body-login .alternative-logins a,
  #body-login [class*='alternative'] a,
  #body-login .log-in-with-device,
  #body-login .login-form__link,
  #body-login .login-box a.button-vue,
  #body-login .login-box .button-vue--secondary,
  #body-login .login-box__wrapper .button-vue--legacy,
  #body-login .login-box__wrapper button {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-height: 44px !important;
    height: auto !important;
    margin: 6px 0 0;
    padding: 10px 12px;
    text-align: center;
  }
  #body-login .lost-password-container { width: 100%; }
  /* мелкий линк в футере 57×16 → нормальная тап-зона */
  #body-login footer a {
    display: inline-block;
    min-height: 32px;
    padding: 6px 10px;
  }
  #body-login footer { padding: 10px 14px 20px; }
}
