/* Лента переписки по отклику. Один вид на обе стороны - работодатель и
   кандидат читают один и тот же разговор, и выглядеть он должен одинаково.

   Своё сообщение прижато вправо и подсвечено, чужое слева: это единственный
   способ читать диалог, не вчитываясь в подписи. */

.q2ochat {
  display: block;
  margin-top: 8px;
}

.q2ochat__list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  /* Лента не растёт бесконечно вниз, иначе карточка кандидата уезжает за экран
     после десятого сообщения. */
  max-height: 320px;
  overflow-y: auto;
  padding: 4px 2px;
}

.q2ochat__msg {
  align-self: flex-start;
  max-width: 82%;
  background: var(--surface-2, #f4f4f5);
  border: 1px solid var(--border, #e4e4e7);
  border-radius: 12px 12px 12px 4px;
  padding: 9px 12px;
}

.q2ochat__msg--mine {
  align-self: flex-end;
  background: rgba(99, 102, 241, 0.09);
  border-color: rgba(99, 102, 241, 0.25);
  border-radius: 12px 12px 4px 12px;
}

.q2ochat__body {
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--text, #18181b);
  white-space: pre-wrap;
  word-break: break-word;
}

/* Перевод ПОД исходником, приглушённый: слова человека остаются главными, а
   машинный текст рядом помогает их понять. */
.q2ochat__tr {
  margin-top: 6px;
  padding-top: 6px;
  border-top: 1px dashed var(--border, #e4e4e7);
  font-size: 13px;
  line-height: 1.5;
  color: var(--text-secondary, #52525b);
  white-space: pre-wrap;
  word-break: break-word;
}

.q2ochat__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 5px;
  font-size: 11.5px;
  color: var(--text-muted, #a1a1aa);
}

.q2ochat__trbtn {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  font-size: 11.5px;
  color: var(--accent, #6366f1);
  cursor: pointer;
  text-decoration: underline;
}

.q2ochat__trbtn:disabled { opacity: 0.5; cursor: default; }

.q2ochat__empty,
.q2ochat__loading,
.q2ochat__locked {
  font-size: 13px;
  color: var(--text-muted, #a1a1aa);
  padding: 10px 2px;
  line-height: 1.5;
}

.q2ochat__form {
  display: flex;
  gap: 8px;
  align-items: flex-end;
  margin-top: 8px;
}

.q2ochat__input {
  flex: 1 1 auto;
  font: inherit;
  font-size: 13.5px;
  padding: 8px 10px;
  border: 1px solid var(--border, #e4e4e7);
  border-radius: 10px;
  background: var(--surface, #fff);
  color: var(--text, #18181b);
  resize: vertical;
  min-height: 40px;
}

.q2ochat__send {
  font: inherit;
  font-size: 13.5px;
  font-weight: 600;
  padding: 9px 16px;
  border: none;
  border-radius: 10px;
  background: var(--accent, #6366f1);
  color: #fff;
  cursor: pointer;
  /* Кнопка не должна быть ниже поля ввода: на телефоне палец мимо неё не
     попадает, а поле у нас растяжимое. */
  min-height: 44px;
  white-space: nowrap;
}

.q2ochat__send:disabled { opacity: 0.6; cursor: default; }

/* Тёмная тема. Остальные ленты продукта её умеют, и эта не должна быть
   единственной, которая светит белым пузырём на тёмной странице. */
[data-theme="dark"] .q2ochat__msg {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.10);
}
[data-theme="dark"] .q2ochat__msg--mine {
  background: rgba(99, 102, 241, 0.18);
  border-color: rgba(99, 102, 241, 0.35);
}
[data-theme="dark"] .q2ochat__tr { border-top-color: rgba(255, 255, 255, 0.12); }

@media (max-width: 600px) {
  .q2ochat__msg { max-width: 92%; }
  .q2ochat__form { flex-wrap: wrap; }
  .q2ochat__send { width: 100%; }
}
