/* Тестовая сборка 2026-09-13: каталог, которым управляют словами.
   Только новые элементы; базовые стили — app.css. */
.tb-badge {
  display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 6px;
  font-size: 10px; font-weight: 600; letter-spacing: .4px; vertical-align: middle;
  color: var(--ink-soft); border: 1px solid var(--line); background: var(--cream);
}
.tb-search-label {
  display: block; margin: 0 16px 6px; font-size: 14px; font-weight: 600; color: var(--navy);
}
.tb-microcopy { display: block !important; margin: 6px 16px 0; font-size: 12.5px; color: var(--ink-soft); }
.tb-examples { display: flex; gap: 8px; padding: 10px 16px 4px; overflow-x: auto; scrollbar-width: none; }
.tb-examples::-webkit-scrollbar { display: none; }
.tb-ex {
  flex: 0 0 auto; padding: 9px 13px; border-radius: 999px; font: inherit; font-size: 13px;
  color: var(--navy); background: var(--paper); border: 1px solid var(--line); cursor: pointer;
  white-space: nowrap;
}
.tb-ex:active, .tb-ex.is-busy { background: var(--cream); }
.tb-result { margin: 10px 16px 0; padding: 12px 14px; border-radius: 14px; background: var(--cream); border: 1px solid var(--line); }
.tb-result[hidden] { display: none; }
.tb-headline { font-size: 15px; font-weight: 700; color: var(--navy); line-height: 1.3; }
.tb-summary { font-size: 13px; color: var(--ink-soft); margin-top: 2px; }
.tb-result-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.tb-act {
  padding: 7px 11px; border-radius: 10px; font: inherit; font-size: 12.5px; cursor: pointer;
  color: var(--navy); background: var(--paper); border: 1px solid var(--line);
}
.tb-act-save { border-color: var(--terracotta); color: var(--terracotta); }
.tb-refine { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.tb-refine:empty { display: none; }
.tb-refine .tb-chip {
  padding: 6px 10px; border-radius: 999px; font: inherit; font-size: 12.5px; cursor: pointer;
  color: var(--ink); background: var(--paper); border: 1px dashed var(--line);
}
.tb-note { margin-top: 8px; font-size: 12.5px; color: var(--ink-soft); }
.tb-note[hidden] { display: none; }
.tb-context { color: var(--ink-soft); font-weight: 500; }
.tb-context:not(:empty)::after { content: ' · '; }
/* ответ-уточнение (когда условий извлечь не удалось) */
.tb-clarify { color: var(--terracotta); }
/* контекстная подсказка после 3–4 карточек */
#tb-context-prompt {
  margin: 8px 16px; padding: 12px 14px; border-radius: 14px; background: var(--paper);
  border: 1px solid var(--line); font-size: 13.5px; color: var(--ink); display: flex; gap: 10px; align-items: center;
}
#tb-context-prompt button { margin-left: auto; white-space: nowrap; }
/* карточка: похожие и уточнения по контексту */
.tb-detail-actions { display: flex; flex-wrap: wrap; gap: 6px; padding: 4px 16px 10px; }
.tb-detail-actions .tb-chip { padding: 8px 12px; border-radius: 999px; font: inherit; font-size: 13px; color: var(--navy); background: var(--cream); border: 1px solid var(--line); cursor: pointer; }
.tb-detail-actions .tb-chip.primary { background: var(--navy); color: #fff; border-color: var(--navy); }
/* компактная кнопка связи в ленте (по триггерам) */
.tb-card-contact {
  display: block; width: calc(100% - 24px); margin: 0 12px 12px; padding: 9px; border-radius: 10px;
  font: inherit; font-size: 13px; font-weight: 600; cursor: pointer;
  color: #fff; background: var(--terracotta); border: 0;
}
/* квалификация: один вопрос кнопками */
.tb-qual { margin: 8px 16px; padding: 10px 14px; border-radius: 14px; background: var(--paper); border: 1px solid var(--line); font-size: 13.5px; }
.tb-qual .tb-qual-opts { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
/* резюме перед передачей менеджеру */
.tb-resume { white-space: pre-line; font-size: 14px; line-height: 1.45; }
.tb-busy { opacity: .6; pointer-events: none; }

/* ── Первый экран: строка в две линии, кнопка во всю ширину, иконка
   фильтров — с подписью. Метка «тест» — в строке подписи, не в бренде. ── */
.brand .tb-badge { display: none; }
.tb-search-label .tb-badge { margin-left: 8px; vertical-align: 2px; }
.search-box { flex-wrap: wrap; row-gap: 8px; padding: 8px 8px 8px 12px; }
.search-box input { flex: 1 1 0; font-size: 15px; }
#search-submit.assist-submit { flex: 1 0 100% !important; height: 44px; font-size: 15px; border-radius: 10px; }
#search-filter-btn { width: auto; padding: 0 10px 0 8px; gap: 6px; border-radius: 10px; }
#search-filter-btn::after { content: 'Фильтры'; font-size: 13px; color: var(--navy); }
#search-filter-btn .search-filter-badge { position: static; margin-left: 2px; }

/* ── Экран результата v2: две строки, карточки сразу под ними ── */
.tb-microcopy[hidden] { display: none !important; }
#feed-end { display: none !important; }              /* «Больше объектов нет» — убрано */
.search-wrap.tb-collapsed .tb-search-label,
.search-wrap.tb-collapsed .search-box,
.search-wrap.tb-collapsed .tb-examples { display: none; }
.tb-query-line {
  display: flex; align-items: center; gap: 8px; width: calc(100% - 32px); margin: 0 16px;
  padding: 10px 12px; border-radius: 12px; font: inherit; font-size: 14px; text-align: left;
  color: var(--ink); background: var(--paper); border: 1px solid var(--line); cursor: pointer;
}
.tb-query-line[hidden] { display: none; }
.tb-query-line #tb-query-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tb-ql-edit { color: var(--terracotta); font-size: 13px; }
.tb-result { margin: 8px 16px 0; padding: 10px 14px; }
.tb-r-title { font-size: 16px; font-weight: 700; color: var(--navy); line-height: 1.25; }
.tb-r-cond { font-size: 13px; color: var(--ink-soft); margin-top: 3px; display: flex; gap: 8px; align-items: baseline; }
.tb-r-cond #tb-cond { flex: 1; min-width: 0; }
.tb-link { border: 0; background: none; padding: 0; font: inherit; font-size: 13px; color: var(--terracotta); cursor: pointer; }
.tb-r-status { margin-top: 6px; font-size: 12.5px; color: var(--ink); line-height: 1.4; }
.tb-r-status[hidden] { display: none; }
.tb-r-status .tb-link { margin-left: 6px; }
.tb-editor { margin-top: 10px; padding-top: 10px; border-top: 1px dashed var(--line); }
.tb-editor[hidden] { display: none; }
.tb-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.tb-chips .tb-chip-x {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 8px 6px 11px; border-radius: 999px;
  font: inherit; font-size: 13px; color: var(--navy); background: var(--paper); border: 1px solid var(--line); cursor: pointer;
}
.tb-chips .tb-chip-x .x { font-size: 15px; line-height: 1; color: var(--ink-soft); }
.tb-chips .tb-chip-x.approx { border-style: dashed; }
.tb-editor-actions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.tb-act-quiet { border-color: transparent; color: var(--ink-soft); background: transparent; padding-left: 6px; padding-right: 6px; }
.tb-refine { margin-top: 8px; }
