/* Перенос по словам в командном центре (BL-530, слово Великого Шкипера 12.08.2026).
   Что чинит: (1) плашка родительской задачи над названием и строки подзадач в карточке —
   обрывались многоточием и уезжали вправо; (2) текст приложенного .md в панели просмотра —
   лежал одной строкой с горизонтальным ползунком.
   Правится ТОЛЬКО на нашем прокси (TimeWeb), сама Huly не тронута.
   ⚠ Классы Huly хешированные (svelte-xxxx) и меняются при обновлении — поэтому цепляемся
   за смысловые имена (issue-title, parent-issue, presenter-label, select-text), а не за хеш. */

/* 1. Плашка родительской задачи над названием */
.parent-issue .issue-title,
.parent-issue.overflow-label,
.antiTitle .issue-title {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.25;
}

/* 2. Названия подзадач в списке под карточкой */
.expandcollapse-content .antiList__row .presenter-label,
.expandcollapse-content .antiList__row .presenter-label a,
.expandcollapse-content .antiList__row .overflow-label {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: break-word;
  word-break: normal;
  line-height: 1.25;
}
.expandcollapse-content .antiList__row {
  height: auto !important;
  min-height: 2.25rem;
  align-items: flex-start;
  padding-top: .3rem;
  padding-bottom: .3rem;
}

/* 3. Текст приложенного .md в панели просмотра */
/* ⚠ Специфичность: у Huly своё правило pre.svelte-xxxx { white-space: pre !important } —
   вес тот же, а лежит оно ПОЗЖЕ (Svelte вставляет стили в head после нашего link), поэтому
   ровно pre.select-text проигрывает. Добавлены html body — вес выше, спор решён. */
html body pre.select-text {
  white-space: pre-wrap !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 4. Блок подзадач шире видимой области — строки уезжали под правую панель свойств
   (ряд .listGrid тянется по сумме колонок и получает min-width:100% от него же).
   Прижимаем блок к ширине карточки: тогда название переносится, а не уползает. */
.popupPanel-body__main-content .expandcollapse-container,
.popupPanel-body__main-content .expandcollapse-content,
.popupPanel-body__main-content .listGrid-container,
.popupPanel-body__main-content .expandcollapse-content .antiList__row {
  min-width: 0 !important;
  max-width: 100% !important;
}
.popupPanel-body__main-content .expandcollapse-content .presenter-label {
  min-width: 0 !important;
  flex: 1 1 auto;
}

/* 5. Название подзадачи должно занимать всю свободную ширину строки — иначе оно зажато
   между значками и рвётся по буквам даже при переносе по словам. */
.antiList__row .presenter-label.with-margin,
.antiList__row .presenter-label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* 6. В строке подзадачи 376 пикселей занимала скрытая панель действий (.hidden-panel) —
   названию оставалось 133, и даже перенос по словам рвал слова пополам. Панель эта
   всплывает при наведении, поэтому ей место НАД строкой, а не в её ширине. */
.antiList__row .hidden-panel {
  position: absolute !important;
  right: 0;
  width: auto !important;
}
.antiList__row { position: relative; }

/* 7. Подзадачи в карточке: значки, дата и аватар съедали 189 из 440 пикселей строки, названию
   оставалось 133 — при любой ширине слова делились пополам. Разрешаем строке переноситься и
   отдаём названию всю ширину: значки уходят на свою линию, название читается целиком.
   ⚠ Только в панели карточки (.panel-instance) — общий список задач трекера не трогаем,
   там строки обязаны быть одной высоты. */
.panel-instance .antiList__row { flex-wrap: wrap !important; row-gap: .15rem; }
.panel-instance .antiList__row .presenter-label { flex: 1 1 100% !important; order: 5; }
.panel-instance .antiList__row .grow-container { flex-grow: 0 !important; }
