/* CSS-слой ФинКонсьержа поверх готовой сборки интерфейса «Агент МИСИС» (ТЗ коллеги 02.10, goal-сессия ФК 0210).
   Веб из исходников не пересобираем: patch-web-fk.cjs (раздел 8) кладёт этот файл в dist/assets/fk-web-<sha256>.css
   и ставит ссылку в index.html сразу после основного index-*.css — равные по весу правила этого файла побеждают.
   Ворота — check-web-fk.mjs (ссылка есть, файл есть, хэш и содержимое совпали). Маркеры data-* в разметке ставит тот же
   patch-web-fk.cjs (разделы 6д–6ж). Каждое правило — с пояснением: что чинит и почему именно так. */

/* ── П. 2. Документ Word в панели прокручивается до конца ─────────────────────────────────────────────────────────
   Просмотр DOCX (mammoth) рисует .docx-page > .md.docx-preview прямо в .preview-body, а .preview-body у «своих»
   просмотров (PDF, XLSX, PPTX, DOCX) — overflow-hidden: PDF и таблица Excel прокручиваются в своём контейнере, у DOCX
   его нет, и видна только первая страница (замер коллеги 02.10: 3117 px документа, видно 819). Даём листу собственную
   прокрутку на всю высоту области просмотра: в боковой панели, в листе на весь экран (узкое окно, телефон, планшет) и
   в карточке документа в ленте (440 px) — та же ошибка во всех трёх. */
.preview-body > .docx-page {
  height: 100%;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/* В панели и листе (у их .preview-body есть min-h-0, у карточки в ленте — нет) прокрутка не утекает дальше: дочитали
   документ — фон не едет. Карточке в ленте утечку оставляем сознательно: дочитав её, колесо и палец листают ленту
   дальше, а не застревают на карточке посреди чата. */
.preview-body.min-h-0 > .docx-page {
  overscroll-behavior: contain;
}

/* Лист Word на телефоне: поля 18 + 54 px с каждой стороны оставляли тексту 230 px из 375 — строка по два слова.
   Поля ужимаем, сам «лист» (белая страница на сером фоне) сохраняем. */
@media (max-width: 640px) {
  .docx-page {
    padding: 10px 8px 20px;
  }

  .docx-preview {
    padding: 22px 16px;
  }
}

/* ── Широкие таблицы листаются вбок — и это видно ────────────────────────────────────────────────────────────────
   Таблица ответа (.md table) и таблица документа Word (.docx-preview — тоже .md) уже display:block + overflow-x:auto.
   Но системная полоса прокрутки на Mac, iPad и телефонах прячется, и последний столбец («Свободно, ₽») за краем
   не заметен (кадр 05-before-768). С 03.10 суммы в ячейках неразрывны (web-numbers.cjs), таблицы шире — поэтому своя
   тонкая полоса: свой вид ::-webkit-scrollbar Chromium и Safari рисуют всегда, когда есть что листать (и не прячут).
   Firefox — scrollbar-width: thin, только в нём: в Chrome ≥ 121 это свойство отменило бы ::-webkit-scrollbar.
   overscroll-behavior-x: contain — свайп до края таблицы не листает назад историю браузера. */
.md table {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.md table::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.md table::-webkit-scrollbar-track {
  background: transparent;
}

.md table::-webkit-scrollbar-thumb {
  border: 2px solid transparent;
  border-radius: 8px;
  background: color-mix(in srgb, var(--textPrimary) 28%, transparent) padding-box;
}

@supports (-moz-appearance: none) {
  .md table {
    scrollbar-width: thin;
    scrollbar-color: color-mix(in srgb, var(--textPrimary) 30%, transparent) transparent;
  }
}

/* ── П. 1. Одна кнопка «Скачать» ───────────────────────────────────────────────────────────────────────────────────
   Чип файла под ответом: вместо значка папки — стрелка и подпись «Скачать» (patch-web-fk.cjs, 6д, маркер
   data-fk-dl="chip"). Подпись мельче имени файла, чтобы чип не стал главнее самого файла. */
[data-fk-dl="chip"] {
  gap: 6px;
  font-size: 12.5px;
  font-weight: 500;
}

/* На телефоне чип с подписью не влезал в колонку (значок 22 + имя до 220 + «Скачать» ≈ 370 px при 343 доступных):
   имя файла ужимается раньше, многоточие остаётся. */
@media (max-width: 480px) {
  [data-testid="file-results"] .max-w-\[220px\] {
    max-width: min(220px, calc(100vw - 210px));
  }
}

/* ── П. 3. Карточка выданного исходного файла из 1С ───────────────────────────────────────────────────────────────
   Рисует patch-web-fk.cjs (6ж) вместо ссылки …/fk/file/<токен> в ответе. Язык — карточки документа в ленте (рамка,
   скругление 18, значок типа, имя), макет 03 коллеги: реквизиты строкой, зелёная строка «Доступ подтверждён», кнопки
   «Скачать» и «Открыть в панели». Разметка — span (карточка стоит внутри абзаца или пункта списка ответа). */
.fk-file-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 560px;
  margin: 8px 0;
  padding: 12px 14px;
  border: 1px solid var(--inputStrokeDefault);
  border-radius: 18px;
  background: var(--messageBg);
  font-size: 13.5px;
  line-height: 1.45;
  white-space: normal;
}

.fk-file-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.fk-file-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 600;
  color: var(--textPrimary);
}

.fk-file-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.fk-file-line {
  color: var(--textSecondary);
  overflow-wrap: anywhere;
}

.fk-file-ok {
  color: #15803d;
  font-weight: 500;
}

html.dark .fk-file-ok {
  color: #4ade80;
}

.fk-file-err {
  color: var(--statusError);
  font-weight: 500;
}

.fk-file-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* .md a красит ссылки ответа в цвет ссылки — у кнопки «Скачать» (это <a download>) цвет кнопки. */
.fk-file-btn,
.md a.fk-file-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid var(--inputStrokeDefault);
  border-radius: 999px;
  background: var(--messageBg);
  color: var(--textPrimary);
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.12s;
}

.fk-file-btn:hover,
.md a.fk-file-btn:hover {
  background: var(--sideMenuChatsListBgHoverActive);
}

/* ── П. 4. Оценку можно изменить ────────────────────────────────────────────────────────────────────────────────────
   Подпись рядом с поставленной оценкой (макет 04: «👎 … · Оценку можно изменить»; patch-web-feedback.cjs). Тише
   соседних кнопок строки: это подсказка, а не действие. */
[data-feedback-hint] {
  opacity: 0.75;
  white-space: nowrap;
}

/* ── П. 5. Телефон и планшет ───────────────────────────────────────────────────────────────────────────────────────
   Мобильный слой облака в основном index-*.css (сборка 24.09) находит оболочку и панель чатов ПУТЁМ «#root > div» и
   «#root > div > nav». С 13.09 десктоп обернул приложение в div.md-app-host, путь стал «#root > div.md-app-host > div
   > nav», и слой тихо отвалился: на телефоне вернулась полоса чатов 60 px с одинаковыми значками, отступы оболочки
   легли на обёртку и сложились с её собственными (8 + 12 px вместо 4), название чата сжалось до «А… и…» (кадр
   05-before). Облако НейроАгента чинило ровно это 03.10 маркером на панели (apps/web/vite.config.js,
   cloud-platform.css) — здесь те же правила по маркерам, которые ставит patch-web-fk.cjs (6е):
   [data-cloud-nav-panel] на <nav> панели чатов и [data-fk-shell] на оболочке приложения. */

/* ≤ 900: отступы оболочки — как в облаке (8 px и безопасные зоны); обёртку md-app-host, на которую их клал старый путь,
   возвращаем к нулю — иначе отступы двоятся. */
@media (max-width: 900px) {
  html.cloud-platform #root > div.md-app-host {
    padding: 0;
  }

  html.cloud-platform [data-fk-shell] {
    padding:
      max(8px, var(--na-safe-top), env(safe-area-inset-top))
      max(8px, var(--na-safe-right), env(safe-area-inset-right))
      max(8px, var(--na-safe-bottom), env(safe-area-inset-bottom))
      max(8px, var(--na-safe-left), env(safe-area-inset-left));
    gap: 8px;
  }
}

/* Панель чатов — выезжающая, по кнопке ☰ «Чаты» в шапке чата. Ниже 900 px интерфейс и сам переходит в этот режим
   (navNarrow: полоса 60 px с единственной кнопкой «развернуть», развёрнутая панель — поверх чата), а облако на телефоне
   (≤ 760) полосу убирает совсем: её роль у ☰. Делаем так же и на 761–899 (планшет в портрете 768, телефон в альбоме):
   по макету коллеги 768 — кнопка ☰, полосы нет. От 900 px — без изменений (полоса или панель — по выбору человека).
   Свёрнутая панель скрыта; развёрнутая выходит из потока и ложится поверх чата (её шторку и затемнение рисует сама
   панель — data-nav-drawer / data-nav-backdrop). */
@media (max-width: 899px) {
  html.cloud-platform [data-cloud-nav-panel] {
    position: fixed;
    z-index: 60;
    top: max(8px, var(--na-safe-top), env(safe-area-inset-top));
    bottom: max(8px, var(--na-safe-bottom), env(safe-area-inset-bottom));
    left: max(8px, var(--na-safe-left), env(safe-area-inset-left));
    height: auto !important;
  }

  html.cloud-platform[data-cloud-nav="collapsed"] [data-cloud-nav-panel] {
    display: none;
  }

  html.cloud-platform [data-cloud-nav-panel] + div {
    margin-left: 0;
  }

  html.cloud-platform [data-cloud-nav-toggle] {
    display: inline-flex;
  }

  /* Вкладки и шестерёнка «Настройки» в шторке — 37 и 36 px, меньше пальца. */
  html.cloud-platform [data-cloud-nav-panel] .rounded-2xl.p-1 > button,
  html.cloud-platform [data-cloud-nav-panel] [data-tip="Настройки"] {
    min-width: 44px;
    min-height: 44px;
  }

  /* Шапка чата прозрачна: на широком окне под ней пусто, а без полосы чатов колонка текста идёт прямо под ней — между
     ☰, названием и кнопками просвечивали строки ленты (снимок 768). Облако закрывает это почти непрозрачной подложкой
     до 760 px (основной index-*.css); то же — и на 761–899. Окна шапки («Поделиться») рисуются порталом в body —
     размытие фона их не задевает. */
  html.cloud-platform [data-cloud-chat-header-bar] {
    background: color-mix(in srgb, var(--bgColor10) 96%, transparent);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
}

@media (max-width: 760px) {
  /* Боковые отступы оболочки на телефоне — 4 px (как в облаке): каждый пиксель — названию чата и таблице. */
  html.cloud-platform [data-fk-shell] {
    padding-left: max(4px, var(--na-safe-left), env(safe-area-inset-left));
    padding-right: max(4px, var(--na-safe-right), env(safe-area-inset-right));
  }

  /* Поля шапки чата 16 → 12 px: ещё 8 px названию чата (☰, «Поделиться» и «Панель» остаются в ряду). */
  html.cloud-platform [data-cloud-chat-header-bar] > header {
    padding-left: 12px;
    padding-right: 12px;
  }

  /* Строка под ответом (время · Копировать · 👍 👎 · подпись оценки): элементы-кнопки без запрета переноса, и при
     нехватке места браузер ломал текст ВНУТРИ кнопки. Кнопку целиком не рвём — уводим на следующую строку. Выбор
     причины «Что не так?» — длинный ряд, ему переноситься можно. */
  html.cloud-platform [data-turn-footer] {
    flex-wrap: wrap;
    row-gap: 6px;
  }

  html.cloud-platform [data-turn-footer] > * {
    white-space: nowrap;
    flex-shrink: 0;
  }

  html.cloud-platform [data-turn-footer] > [data-feedback-reasons] {
    flex-wrap: wrap;
    row-gap: 6px;
    white-space: normal;
    flex-shrink: 1;
  }
}

/* Цели касания не меньше 40 px (ТЗ, п. 5) — на телефоне и на любом сенсорном экране (планшет в альбоме — 1024 px).
   Кнопки строки под ответом (Копировать, 👍, 👎, причины) — 18 px высотой: геометрию строки не меняем, добавляем
   невидимое поле касания сверху и снизу (как облако у чипа шапки). Кнопки карточки документа в ленте (28 px), шапки
   листа просмотра (32 px), «Скачать» в списке файлов (20 px) — просто крупнее. */
@media (max-width: 760px), (hover: none) and (pointer: coarse) {
  html.cloud-platform [data-turn-footer] button {
    position: relative;
  }

  html.cloud-platform [data-turn-footer] button::after {
    content: "";
    position: absolute;
    inset: -12px -6px;
  }

  html.cloud-platform [data-fk-doc-card] > div:first-child button,
  html.cloud-platform [data-preview-sheet] > div:first-child button {
    min-width: 40px;
    min-height: 40px;
  }

  html.cloud-platform [data-fk-dl="list"] {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    min-height: 40px;
  }

  .fk-file-btn,
  .md a.fk-file-btn {
    min-height: 44px;
  }
}
