/* linked-row.css — СТРОКА СВЯЗАННОЙ ЗАПИСИ (.lrow). Общий элемент, общий файл, БЕЗ скоупа под вкладку.
 *
 * Один и тот же предмет — «запись, на которую можно перейти, со своими реквизитами» — рисовался в шести
 * местах по-разному: строкой с аватаром, строкой с иконкой, строкой без знака, голой синей ссылкой, текстом
 * с кнопкой. Здесь он один.
 *
 * ⚠️ БЕЗ #tab-… В СЕЛЕКТОРАХ, И ЭТО ГЛАВНОЕ СВОЙСТВО ФАЙЛА. Правила, заскоупленные под чужую вкладку, в
 *    проекте уже трижды давали одну и ту же беду: пикер сотрудников выглядел голым в «Клиентах», .wrap не
 *    доставался новой панели, пометка «не работает» не применялась вне заявок. Строка связанной записи
 *    нужна минимум трём разделам — значит и лежать обязана там, где её видят все.
 *
 * ⚠️ ЗНАЧЕНИЯ — НЕ НОВЫЕ. Это дословный перенос .crm-row из crm-panel.css: рамка 1px, радиус 10, белый фон,
 *    паддинг 9/11, gap 10, знак 28×28, заголовок 14/600, подпись 12 muted. Вид выбран потому, что он уже
 *    работал в четырёх местах из шести, и потому, что связанная запись ВТОРИЧНА: тень и полоса срочности —
 *    язык главного списка (.zay-row, .eh-row), где строка и есть предмет работы. Сверено замером «до/после»
 *    по четырём местам: расхождений ноль.
 *
 * ⚠️ СПИСКИ РАЗДЕЛОВ СЮДА НЕ ВХОДЯТ: реестр заявок, список поручений и лента уведомлений говорят на своём
 *    языке (полоса срочности, чипы статуса, чекбоксы выбора, точка непрочитанного). Сведение их к этому виду
 *    означало бы переверстать три главных экрана.
 *
 * СОСТАВ (что различается, названо в разметке, а не в стилях):
 *   .lrow            строка целиком — <button> или <a>
 *     .lrow__ic      знак слева: иконка сущности (.lrow__ic--co / --ct) либо аватар (.lrow__ava)
 *     .lrow__b       тело: заголовок и подпись
 *       .lrow__t     что это
 *       .lrow__s     реквизиты через « · »
 *     .lrow__go      шеврон «отсюда можно провалиться»
 *   .lrows           список строк
 *   .lrow-wrap       обёртка со свободным местом справа (крестик отвязки)
 *     .lrow-wrap__x  сам крестик
 */

.lrows { display: flex; flex-direction: column; gap: 6px; }

.lrow { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left;
    border: 1px solid var(--border); border-radius: 10px; background: #fff; padding: 9px 11px; cursor: pointer;
    font: inherit; line-height: normal; color: var(--text); }
.lrow:hover { border-color: var(--primary); }
/* ⚠️ line-height ПОСЛЕ font: inherit И НЕ СЛУЧАЙНО. Сокращение font сбрасывает межстрочный интервал на
   унаследованный, и строка начинала зависеть от того, в какой коробке лежит: внутри подсказки модалки
   (.zay-modal-warn, line-height 1.4) она вырастала на 6px против точно такой же строки в справочнике.
   Поймано замером «строка в заявке против строки в справочнике». Значение normal — ровно то, что строка
   вычисляла в справочнике, так что вид там не меняется ни на пиксель. */

/* Строка-справка: та же вёрстка, но не действие.
   ⚠️ ПОТРЕБИТЕЛЯ У ЭТОГО ВАРИАНТА СЕЙЧАС НЕТ. Он держал заявки клиента, пока в них нельзя было провалиться;
   теперь они кликабельны и ходят по общей строке. Правило оставлено намеренно: оно описывает «строка,
   которая никуда не ведёт», и такой список появится снова — удалять его вместе с последним потребителем
   значит заводить заново через месяц. Прежняя оговорка «переход придёт вместе с решением о правах» снята:
   переход сделан, а решение о видимости справочника от него не зависит (ТЗ-Клиенты, раздел 9). */
.lrow--flat { cursor: default; }
.lrow--flat:hover { border-color: var(--border); }

/* Шеврон «провалиться»: тот же знак, что у соседних панелей. Не сжимается — сжимаются подписи слева. */
.lrow__go { flex: none; display: flex; align-items: center; color: var(--muted); }
.lrow:hover .lrow__go { color: var(--primary); }

.lrow__ic { flex: none; width: 28px; height: 28px; border-radius: 8px; display: flex;
    align-items: center; justify-content: center; font-size: 15px; }
.lrow__ic--co { background: #dbeafe; }
.lrow__ic--ct { background: #e0e7ff; }

/* Аватар человека — тот же размер, что иконка, но круглый и с инициалами.
   ⚠️ ЗНАЧЕНИЯ СОВПАДАЮТ С АВАТАРОМ АВТОРА В ЛЕНТЕ (.tc-ava из task-comments.css), но класс СВОЙ: тот
   принадлежит ленте переписки, и навесить его на строку справочника значило бы связать два несвязанных
   места — правка отступов в ленте поехала бы в карточку. */
.lrow__ava { flex: none; width: 28px; height: 28px; border-radius: 50%; background: #e5e7eb;
    color: #374151; display: flex; align-items: center; justify-content: center; font-size: 12px;
    font-weight: 700; }

.lrow__b { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.lrow__t { font-size: 14px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lrow__s { font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Строка с ДЕЙСТВИЕМ справа: «Это он» у кандидата, «Открыть» у дубля. Кнопка занимает место в потоке, а не
   лежит поверх, — в отличие от крестика: у слова ширина не фиксирована, и запас в 38px его не вместит.
   ⚠️ СТРОКА ЗДЕСЬ .lrow--flat, А НЕ КНОПКА. Действие одно и оно названо словом; сделай мы кликабельной и
      строку, у одной записи оказалось бы два разных исхода нажатия в трёх пикселях друг от друга. */
.lrow-act { display: flex; align-items: center; gap: 8px; }
.lrow-act > .lrow { flex: 1; min-width: 0; }

/* Строка с крестиком отвязки: сама строка остаётся кнопкой перехода, крестик лежит поверх справа.
   ⚠️ ПОВЕРХ, А НЕ ВНУТРИ: вложенная кнопка в кнопке недопустима в разметке, и браузеры чинят это сами —
   непредсказуемо. Отсюда position: absolute и запас справа у самой строки. */
.lrow-wrap { position: relative; }
.lrow-wrap .lrow { padding-right: 38px; }
.lrow-wrap__x { position: absolute; top: 50%; right: 8px; transform: translateY(-50%);
    border: 0; background: none; font-size: 18px; line-height: 1; color: var(--muted); cursor: pointer;
    padding: 2px 6px; }
.lrow-wrap__x:hover { color: var(--danger); }
