/* ==========================================================================
   Ход работ в отчёте клиенту
   ==========================================================================
   Два поля свободного текста на экране настроек. Они стоят ПОД сеткой
   параметров и во всю её ширину, а не ячейками в ней: остальные параметры
   это пороги и галочки, а здесь набирают предложения, которые прочитает
   клиент. В колонке шириной в четверть экрана такой текст не набирают -
   его правят в другом месте, а потом удивляются, что в отчёт уехало старое.

   Двумя колонками, потому что задачи и планы пишут парой и сверяют глазами:
   что сделали - что из этого следует делать дальше. */
.narrative-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

/* Моноширинный намеренно: строка здесь делится вертикальной чертой,
   и в пропорциональном шрифте разделитель теряется среди букв. */
textarea.narrative {
  width: 100%;
  min-height: 200px;
  /* Тянется мышью только по высоте: ширину задаёт сетка, и растянутое
     поле разъезжалось бы с соседним. */
  resize: vertical;
  font-family: var(--font-mono);
  font-size: 12.5px;
  line-height: 1.55;
  padding: 10px 12px;
}

textarea.narrative::placeholder { color: var(--text-3); }


/* Запись отчёта в документ клиента. Отделена от прочих кнопок чертой
   намеренно: это единственное действие инструмента, которое видит клиент. */
.publish-box {
  margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line);
  display: flex; flex-direction: column; gap: 6px;
}
.publish-box > button { width: 100%; }


/* Списки переключателей в колонке настроек: в столбик, а не в строку -
   иначе длинные подписи рвут сетку. */
.state-list.compact-list { display: flex; flex-direction: column; gap: 4px; }

/* Целей бывает десяток и больше: список прокручивается вместо того,
   чтобы растягивать экран. */
.scroll-list { max-height: 148px; overflow-y: auto; padding-right: 4px; }

/* Поле с подписью в одну строку: «Маржинальность, %» и число рядом. */
.inline-field {
  display: flex; align-items: center; gap: 8px; margin-top: 6px;
  font-size: 12px; color: var(--text-2);
}
.inline-field input { width: 88px; }

/* Ссылка на документ длинная, ей нужна вся строка сетки. */
.field.wide { grid-column: 1 / -1; }

/* Строка, на которую смотрят: источник данных проекта. */
.hint.strong { color: var(--text); font-weight: 600; }


/* Подсказка «какие цели есть в данных». Свёрнута по умолчанию: список
   на несколько десятков строк, и открывают его только когда вписывают
   новую цель. Идентификатор в конфиг вписывают по памяти, и промах виден
   лишь нулём в готовом отчёте - поэтому подсказка есть. */
.goals-found { margin-top: 6px; }
.goals-found > summary {
  cursor: pointer; font-size: 12px; color: var(--accent); user-select: none;
}
.goals-found .hint {
  max-height: 132px; overflow-y: auto; margin-top: 6px;
  font-family: var(--font-mono);
  font-size: 11.5px; line-height: 1.6;
}

