/*
 * RU: Дополнительные стили раздела БИ6 «Сообщения и заявки» и «Уведомления» нового кабинета /biz/app/. Общие компоненты (card, btn, tbl, tabs, pill…) уже в
 *     /css/biztools.css; здесь — только то, чего там нет. Правила — внутри body.bt-page и на токенах сайта (--k-*), без
 *     литералов цвета (храповик check:theme). Файл свой у каждой фазы, чтобы параллельные потоки не правили один файл.
 * EN: Extra styles of the BI6 "Messages" and "Notifications" section of the new /biz/app/ cabinet. Shared components (card, btn, tbl, tabs, pill…) are
 *     already in /css/biztools.css; only what is missing goes here. Rules sit inside body.bt-page and use site tokens
 *     (--k-*), no colour literals (the check:theme ratchet). Each phase has its own file so parallel tracks never edit one.
 */

/* RU: Заявки: новая выделена полосой слева — цвет не единственный признак, рядом плашка «Новая». EN: Leads: a new one gets a left bar — colour is not the only cue, the «Новая» pill sits next to it. */
body.bt-page .bt-leads tr.is-new td:first-child {box-shadow: inset 3px 0 0 var(--k-warn); font-weight: 650;}
body.bt-page .bt-lead-contact {display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 2px;}
body.bt-page .bt-lead-contact a {color: var(--k-brand-ink); font-weight: 600; overflow-wrap: anywhere;}
body.bt-page .bt-leads td {vertical-align: top;}
/* RU: Список статуса не уже самой длинной подписи («Обработана»): в узкой колонке она обрезалась. EN: The status list is no narrower than the longest caption ("Обработана"): it was clipped in a narrow column. */
body.bt-page .bt-leads select.inp {min-width: 9.5em;}

/* RU: Переписка: длинная лента прокручивается внутри карточки, а не растягивает страницу. EN: Chats: a long feed scrolls inside the card instead of stretching the page. */
body.bt-page .chat-msgs {max-height: 60vh;}
body.bt-page .msg.is-auto {background: var(--k-surface); border: 1px dashed var(--k-border-strong); color: var(--k-text-muted);}
body.bt-page .msg a {color: inherit; text-decoration: underline; text-underline-offset: 3px;}
body.bt-page .bt-msg-warn {display: flex; align-items: center; gap: 4px; font-size: var(--k-fs-1); font-weight: 650; color: var(--k-warn);}
body.bt-page .msg.is-me .bt-msg-warn {color: var(--k-text-on-accent);}
body.bt-page p.chat-input {margin: 0;}

/* RU: Запись: день — заголовок и список броней; время — моноширинными цифрами, чтобы столбец не прыгал. EN: Booking: a day is a heading and a list of bookings; times use tabular digits so the column does not jump. */
body.bt-page .bt-bk-days {display: grid; gap: var(--k-s-3); margin-top: var(--k-s-2);}
body.bt-page .bt-bk-day {display: grid; gap: 6px; padding-top: var(--k-s-2); border-top: 1px solid var(--k-border);}
body.bt-page .bt-bk-day:first-child {border-top: 0; padding-top: 0;}
body.bt-page .bt-bk-day > b {font-size: var(--k-fs-2);}
body.bt-page .bt-bk-row {display: flex; flex-wrap: wrap; align-items: flex-start; gap: 6px 12px; padding: 8px 10px; border-radius: var(--k-r-2); background: var(--k-surface-2);}
body.bt-page .bt-bk-row .grow {display: grid; gap: 2px;}
body.bt-page .bt-bk-time {min-width: 96px; font-weight: 650; font-variant-numeric: tabular-nums;}

/* RU: Уведомления: строка события без доступа — приглушена, клетки в ней — замки. EN: Notifications: an event row without access is dimmed, its cells are locks. */
body.bt-page tr.bt-nt-off .xb-ev {opacity: 0.6;}
body.bt-page .bt-mail-text a {color: var(--k-brand-ink); overflow-wrap: anywhere;}
body.bt-page .bt-mail-text p {overflow-wrap: anywhere;}

@media (max-width: 640px) {
  /* RU: На телефоне время записи над описанием, кнопки — на всю ширину строки. EN: On a phone the booking time sits above the description, buttons take the row width. */
  body.bt-page .bt-bk-time {min-width: 0; width: 100%;}
  body.bt-page .chat-msgs {max-height: 50vh;}
}
