/* Точечные переопределения кита (публичные классы .chip/.badge/.tag-input):
   аперкейс кит ставит всем бейджам/чипам глобально, но теги должны читаться
   в оригинальном регистре (имена тегов регистрозависимы по смыслу). Прочие
   бейджи (статус/приоритет/проект/время) остаются как в ките. */
.tag-input .chip,
.tag-suggest .chip,
.tag-badge {
  text-transform: none;
}

/* Спиннер обновления данных: под топбаром в правом углу, контент не сдвигает */
.refresh-loader {
  position: fixed;
  top: 66px;
  right: 18px;
  z-index: 500;
}
/* --- iOS Safari (типовые проблемы, 2026-09-23) --- */

/* Зум полей при фокусе: iOS Safari автоматически зумит страницу, если у поля
   font-size < 16px, и зум застревает после blur (ломает весь layout). У кита
   поля/селекты 15px (наследуют body), поле тегов 13px — на touch-устройствах
   поднимаем до 16px; на десктопе вид не меняется. */
@media (hover: none) and (pointer: coarse) {
  .form-group .label .input,
  .form-group .label .select-wrap .select,
  .tag-input .tag-input-field {
    font-size: 16px;
  }
}

/* 100vh в iOS Safari выше видимой области (учитывает свёрнутую панель) — низ
   drawer'ов/модалок уезжает под панель браузера и индикатор «домой». dvh —
   фактическая высота (Safari 15.4+); на старых Safari невалидное значение
   игнорируется и остаётся китовский 100vh. */
.drawer .drawer-panel {
  min-height: 100dvh;
}
.nav-drawer {
  max-height: 100dvh;
  padding-bottom: env(safe-area-inset-bottom);
}
.modal .modal-dialog {
  max-height: calc(100dvh - 48px);
}

/* viewport-fit=cover: контент уходит под жест-индикатор «домой» и «чёлку».
   Тосты прижаты к bottom:15px кита — поднимаем на safe-area; в браузерном
   Safari inset снизу = 0, поведение не меняется. */
.toast.a-show {
  bottom: calc(15px + env(safe-area-inset-bottom));
}
/* контент drawer'а не упирается в индикатор «домой» */
.drawer .drawer-body {
  padding-bottom: calc(18px + env(safe-area-inset-bottom));
}
/* в PWA (standalone) верх страницы уходит под статус-бар: топбар отступает
   (в браузере inset = 0) */
.nav-topbar {
  padding-top: env(safe-area-inset-top);
}
/* спиннер обновления держится ниже топбара, который в PWA становится выше */
.refresh-loader {
  top: calc(66px + env(safe-area-inset-top));
}

/* Серая тап-подсветка WebKit поверх кнопок/чипов/ссылок — не в стиле кита.
   Активное состояние у кита есть (media hover:none) — подсветка не нужна. */
a,
button,
.chip,
.badge,
.tag-input-wrap {
  -webkit-tap-highlight-color: transparent;
}

/* iOS иногда раздувает текст при повороте в landscape — запрещаем */
html {
  -webkit-text-size-adjust: 100%;
}
