/* Экран «ИИ-конвейер» (server/web/ai.js). Всё — только под #tab-ai, классы с префиксом ai-: стили экрана не должны протекать
   в остальную Respublika. Токены и вид — те же, что у остального сервиса (style.css) и «Кошельков» (wallets.css):
   панели --panel, рамки --border, акцент --accent, статусы --ok / --warn / --err. Глобальные правила button/input/select/th/td
   рассчитаны на формы (высокие поля, заголовки капсом) — где карточкам нужно компактнее, здесь они переопределены. */

#tab-ai.tab-pane { max-width: 1200px; }

/* ---------- общие мелочи ---------- */
#tab-ai .ai-dim { color: var(--muted); }
#tab-ai .ai-err { color: var(--err); }
#tab-ai .ai-warn { color: var(--warn); }
#tab-ai .ai-okt { color: var(--ok); }
#tab-ai .ai-box { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px 18px; margin-bottom: 14px; min-width: 0; }
#tab-ai .ai-box h3 { margin: 0 0 4px; font-size: 15px; }
#tab-ai .ai-state { padding: 30px 14px; text-align: center; color: var(--muted); font-size: 13px; }
#tab-ai .ai-note { color: var(--muted); font-size: 12.5px; line-height: 1.6; margin: 8px 0 0; overflow-wrap: anywhere; }
#tab-ai .ai-note b { color: var(--text2); }
#tab-ai .ai-pad { margin: 0 0 10px; }
#tab-ai .ai-back { display: inline-block; font-size: 13px; margin-bottom: 8px; }

/* ---------- кнопки (перебиваем глобальные button) ---------- */
#tab-ai .ai-btn {
  height: 32px; padding: 0 12px; font-size: 12.5px; font-weight: 600; white-space: nowrap;
  background: var(--panel2); border: 1px solid var(--border); color: var(--text2); border-radius: var(--radius-sm);
}
#tab-ai .ai-btn:hover { background: var(--panel3); border-color: var(--border2); color: var(--text); filter: none; }
#tab-ai .ai-btn.sm { height: 28px; padding: 0 10px; font-size: 12px; }
#tab-ai .ai-btn.primary { background: var(--accent); border-color: transparent; color: #0b0e12; }
#tab-ai .ai-btn.primary:hover { filter: brightness(1.08); background: var(--accent); color: #0b0e12; }
#tab-ai .ai-btn.danger { color: var(--err); }
#tab-ai .ai-btn.danger:hover { border-color: var(--err); background: rgba(255, 107, 107, .10); }
#tab-ai .ai-btn.danger-fill { background: rgba(255, 107, 107, .16); border-color: rgba(255, 107, 107, .5); color: var(--err); }
#tab-ai .ai-btn.danger-fill:hover { background: rgba(255, 107, 107, .24); }
#tab-ai button:disabled, #tab-ai input:disabled, #tab-ai select:disabled { opacity: .5; cursor: progress; }

/* ---------- верх экрана и вкладки ---------- */
#tab-ai .ai-head { display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap; margin-bottom: 12px; }
#tab-ai .ai-head h2 { margin: 0; font-size: 18px; }
#tab-ai .ai-head .ai-btn { margin-left: auto; }
#tab-ai .ai-wchip { font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--border); cursor: help; white-space: nowrap; }
#tab-ai .ai-wchip.on { color: var(--ok); border-color: rgba(70, 209, 158, .4); background: rgba(70, 209, 158, .08); }
#tab-ai .ai-wchip.off { color: var(--warn); border-color: rgba(255, 180, 84, .4); background: rgba(255, 180, 84, .08); }
/* Вкладки — сегментный переключатель, как меню парсера в шапке. Глобальное `nav` в style.css (на телефоне — order и ширина)
   рассчитано на шапку, поэтому здесь всё задано явно. На узком экране вкладки прокручиваются вбок, страница не едет. */
#tab-ai .ai-tabs {
  display: flex; gap: 2px; width: auto; max-width: 100%; order: 0; overflow-x: auto; scrollbar-width: none;
  background: var(--panel2); border: 1px solid var(--border); border-radius: 11px; padding: 3px; margin-bottom: 16px;
}
#tab-ai .ai-tabs::-webkit-scrollbar { display: none; }
#tab-ai .ai-tab {
  display: inline-flex; align-items: center; gap: 6px; flex: none; height: 30px; padding: 0 13px; border-radius: 8px;
  color: var(--muted); font-weight: 600; font-size: 13.5px; white-space: nowrap; text-decoration: none;
}
#tab-ai .ai-tab:hover { background: var(--panel3); color: var(--text2); text-decoration: none; }
#tab-ai .ai-tab.on { background: var(--panel3); color: var(--text); box-shadow: inset 0 0 0 1px var(--border2); }
#tab-ai .ai-cnt { background: var(--panel); color: var(--text2); border-radius: 999px; padding: 0 7px; font-size: 11.5px; line-height: 18px; }

/* ---------- плашки и итог действия ---------- */
#tab-ai .ai-banner {
  margin-bottom: 14px; padding: 10px 14px; border: 1px solid var(--border2); border-radius: var(--radius-sm);
  font-size: 13px; line-height: 1.55; overflow-wrap: anywhere;
}
#tab-ai .ai-banner.err { background: rgba(255, 107, 107, .08); border-color: rgba(255, 107, 107, .4); }
#tab-ai .ai-banner .ai-btn { margin-left: 8px; }
#tab-ai .ai-msg { margin: 10px 0; padding: 8px 12px; border-radius: var(--radius-sm); font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; border: 1px solid var(--border2); }
#tab-ai .ai-msg:empty { display: none; }
#tab-ai .ai-msg.ok { color: var(--ok); background: rgba(70, 209, 158, .07); border-color: rgba(70, 209, 158, .4); }
#tab-ai .ai-msg.err { color: var(--err); background: rgba(255, 107, 107, .07); border-color: rgba(255, 107, 107, .4); }

/* ---------- «Как устроено» ---------- */
#tab-ai .ai-flow { display: flex; align-items: stretch; gap: 8px; margin-top: 10px; }
#tab-ai .ai-flow > div {
  flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 3px;
  background: var(--panel2); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 10px 12px;
}
#tab-ai .ai-flow b { font-size: 13.5px; }
#tab-ai .ai-flow span { color: var(--muted); font-size: 12px; line-height: 1.45; }
#tab-ai .ai-flow > i { align-self: center; color: var(--muted); font-style: normal; flex: none; }

/* ---------- форма заказа ---------- */
#tab-ai .ai-form { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; margin-top: 14px; }
#tab-ai .ai-form > label:not(.ai-chk) { display: flex; flex-direction: column; gap: 4px; min-width: 0; max-width: 100%; color: var(--muted); font-size: 12px; }
#tab-ai .ai-form select, #tab-ai .ai-form input:not([type=checkbox]) { height: 34px; font-size: 13px; max-width: 100%; }
#tab-ai .ai-form select { min-width: 220px; }
#tab-ai .ai-in-n { width: 90px; }
#tab-ai .ai-chk { display: inline-flex; align-items: center; gap: 7px; color: var(--text2); font-size: 13px; cursor: pointer; min-height: 34px; }
#tab-ai .ai-chk input { width: 16px; height: 16px; accent-color: var(--accent); margin: 0; flex: none; }

/* ---------- таблицы ---------- */
#tab-ai .ai-box .table-wrap { margin-top: 10px; }
#tab-ai .ai-table th, #tab-ai .ai-table td { padding: 9px 10px; vertical-align: top; }
#tab-ai .ai-table td { font-size: 13px; }
#tab-ai .ai-table td.ai-wrap { white-space: normal; min-width: 210px; max-width: 380px; overflow-wrap: anywhere; }
#tab-ai .ai-num { text-align: right; font-variant-numeric: tabular-nums; }
#tab-ai .ai-table td.ai-cost { white-space: normal; min-width: 96px; max-width: 140px; }
#tab-ai .ai-sub { color: var(--muted); font-size: 12px; margin-top: 3px; line-height: 1.45; }
#tab-ai .ai-sub.ai-err { color: var(--err); }
#tab-ai .ai-sub.ai-warn { color: var(--warn); }
#tab-ai details.ai-sub summary { cursor: pointer; color: var(--warn); }
#tab-ai .ai-pill { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 11.5px; font-weight: 700; background: var(--panel3); color: var(--text2); white-space: nowrap; }
#tab-ai .ai-pill.wait { background: rgba(255, 180, 84, .12); color: var(--warn); }
#tab-ai .ai-pill.run { background: rgba(110, 168, 254, .15); color: var(--accent); }
#tab-ai .ai-pill.ok { background: rgba(70, 209, 158, .15); color: var(--ok); }
#tab-ai .ai-pill.warn { background: rgba(255, 180, 84, .18); color: var(--warn); }
#tab-ai .ai-pill.err { background: rgba(255, 107, 107, .15); color: var(--err); }

/* ---------- полоса состояния очереди ---------- */
#tab-ai .ai-strip { display: flex; flex-wrap: wrap; gap: 6px 22px; align-items: center; font-size: 13px; }
#tab-ai .ai-strip > div { min-width: 0; overflow-wrap: anywhere; }
#tab-ai .ai-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 8px; vertical-align: 1px; }
#tab-ai .ai-dot.on { background: var(--ok); box-shadow: 0 0 0 3px rgba(70, 209, 158, .18); }
#tab-ai .ai-dot.off { background: var(--warn); box-shadow: 0 0 0 3px rgba(255, 180, 84, .18); }
#tab-ai .ai-fb { color: var(--text2); }

/* ---------- черновики ---------- */
#tab-ai .ai-drafts { display: flex; flex-direction: column; gap: 12px; margin-bottom: 14px; }
#tab-ai .ai-draft {
  display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; min-width: 0;
  background: var(--panel); border: 1px solid var(--border); border-left: 3px solid var(--border2); border-radius: var(--radius); padding: 14px 16px;
}
#tab-ai .ai-draft.on { border-color: rgba(110, 168, 254, .55); border-left-color: var(--accent); background: linear-gradient(0deg, rgba(110, 168, 254, .04), rgba(110, 168, 254, .04)), var(--panel); }
#tab-ai .ai-pickbox { padding-top: 2px; cursor: pointer; }
#tab-ai .ai-pickbox input { width: 18px; height: 18px; accent-color: var(--accent); margin: 0; cursor: pointer; }
#tab-ai .ai-dbody { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
#tab-ai .ai-dtitle { font-size: 15px; font-weight: 700; line-height: 1.4; overflow-wrap: anywhere; }
#tab-ai .ai-tag { display: inline-block; vertical-align: 2px; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; color: var(--accent); background: rgba(110, 168, 254, .14); cursor: help; }
/* Метка версии формул (v1 / v2) у заказов, диалогов и назначений: v2 — акцентом, как .ai-tag; v1 — приглушённо, как нейтральная плашка. */
#tab-ai .ai-ver.v1 { color: var(--text2); background: var(--panel3); }
#tab-ai .ai-dmeta { color: var(--muted); font-size: 12px; overflow-wrap: anywhere; }
#tab-ai .ai-line, #tab-ai .ai-srcs { font-size: 13px; color: var(--text2); line-height: 1.55; overflow-wrap: anywhere; }
#tab-ai .ai-line em, #tab-ai .ai-srcs em { font-style: normal; color: var(--muted); }
#tab-ai .ai-kws { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 2px; }
#tab-ai .ai-kw {
  font: 11.5px/1.35 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--text2); overflow-wrap: anywhere;
  background: var(--panel3); border: 1px solid var(--border); border-radius: 6px; padding: 3px 7px;
}
#tab-ai .ai-kw.cpc::after { content: " $"; color: var(--ok); font-weight: 700; }
#tab-ai .ai-kw.main { color: var(--text); font-weight: 700; border-color: var(--accent); }
#tab-ai .ai-src { display: inline-flex; align-items: baseline; gap: 5px; margin-right: 12px; }
#tab-ai .ai-us { font-size: 11.5px; color: var(--muted); }
#tab-ai .ai-us.ok { color: var(--ok); }
#tab-ai .ai-us.warn { color: var(--warn); }
#tab-ai .ai-us.err { color: var(--err); }
#tab-ai .ai-checks { display: flex; flex-direction: column; gap: 3px; font-size: 12.5px; overflow-wrap: anywhere; }
#tab-ai .ai-dact { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
#tab-ai .ai-draft .ai-msg { margin: 4px 0 0; }

/* формы правки и отказа внутри карточки */
#tab-ai .ai-edit, #tab-ai .ai-rej {
  display: flex; flex-direction: column; gap: 10px; margin-top: 6px; padding: 12px; border-radius: var(--radius-sm);
  background: var(--panel2); border: 1px solid var(--border2);
}
#tab-ai .ai-rej { flex-direction: row; flex-wrap: wrap; align-items: flex-end; }
#tab-ai .ai-edit label, #tab-ai .ai-rej label { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: var(--muted); font-size: 12px; }
#tab-ai .ai-rej .ai-grow { flex: 1 1 240px; }
#tab-ai .ai-edit input, #tab-ai .ai-edit select, #tab-ai .ai-rej input, #tab-ai .ai-rej select { height: 34px; font-size: 13px; width: 100%; max-width: 100%; }
#tab-ai .ai-rej select { min-width: 180px; }
#tab-ai .ai-edit textarea { font-size: 13px; line-height: 1.5; }
#tab-ai .ai-rej .ai-dact { margin-top: 0; }

/* панель выбранных: прилипает к низу, пока черновики листают */
#tab-ai .ai-pickbar {
  position: sticky; bottom: 12px; z-index: 3; display: flex; flex-direction: column; gap: 10px;
  padding: 12px 14px; border-radius: var(--radius); border: 1px solid rgba(110, 168, 254, .45);
  background: linear-gradient(0deg, rgba(110, 168, 254, .10), rgba(110, 168, 254, .10)), var(--panel2); box-shadow: var(--shadow);
}
#tab-ai .ai-pickrow { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; }
#tab-ai .ai-pickrow b { font-size: 13px; white-space: nowrap; }
#tab-ai .ai-inl { display: inline-flex; align-items: center; gap: 7px; color: var(--text2); font-size: 13px; }
#tab-ai .ai-inl select { height: 32px; font-size: 13px; }
#tab-ai .ai-buyers { display: flex; flex-wrap: wrap; gap: 2px 14px; align-items: center; color: var(--muted); font-size: 13px; }
#tab-ai .ai-buyers .ai-chk { min-height: 28px; }
#tab-ai .ai-bulkrej { margin-top: 0; }
#tab-ai .ai-pickhint { margin: 0 0 14px; }

/* ❗ / цифры на карточке в меню ставит app.js (loadHome) */

/* ---------- общее для задачи 15: ссылка-кнопка, «точно?», итог со списком ---------- */
#tab-ai a.ai-btn { display: inline-flex; align-items: center; text-decoration: none; }
#tab-ai a.ai-btn.primary:hover { text-decoration: none; }
#tab-ai .ai-confirm {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; padding: 8px 10px; font-size: 13px;
  border: 1px solid rgba(255, 107, 107, .45); border-radius: var(--radius-sm); background: rgba(255, 107, 107, .07); overflow-wrap: anywhere;
}
#tab-ai .ai-confirm span { flex: 1 1 220px; min-width: 0; }
#tab-ai .ai-problems { margin: 6px 0 0; padding-left: 18px; }
#tab-ai .ai-msg .ai-btn { margin-left: 6px; vertical-align: middle; }
#tab-ai .ai-h3gap { margin-top: 18px !important; }
#tab-ai code { font: 12px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; background: var(--panel3); border-radius: 5px; padding: 1px 5px; overflow-wrap: anywhere; }

/* ---------- «Связки»: строка ведёт в назначение, статус — список прямо в строке ---------- */
#tab-ai tr.ai-rowlink { cursor: pointer; }
#tab-ai tr.ai-rowlink:hover td { background: var(--panel2); }
#tab-ai select.ai-tstatus { height: 30px; font-size: 13px; min-width: 130px; }

/* ---------- назначение: шапка и полоска этапов ---------- */
#tab-ai .ai-thtop { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; }
#tab-ai .ai-thtop h3 { margin: 0; font-size: 17px; line-height: 1.4; overflow-wrap: anywhere; min-width: 0; }
#tab-ai .ai-taskhead .ai-dmeta { margin-top: 4px; }
#tab-ai .ai-delrow { margin-top: 10px; }
#tab-ai .ai-steps { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0 6px; padding: 0; }
#tab-ai .ai-step {
  display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px 5px 6px; border-radius: 999px; font-size: 12.5px;
  border: 1px solid var(--border); background: var(--panel2); color: var(--text2); line-height: 1.25;
}
#tab-ai .ai-stepn {
  display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; flex: none;
  font-size: 11px; font-weight: 700; background: var(--panel3); color: var(--muted);
}
#tab-ai .ai-stepl small { display: block; font-size: 10.5px; color: var(--muted); }
#tab-ai .ai-step.done { border-color: rgba(70, 209, 158, .35); }
#tab-ai .ai-step.done .ai-stepn { background: rgba(70, 209, 158, .18); color: var(--ok); }
#tab-ai .ai-step.now, #tab-ai .ai-step.cur { border-color: var(--accent); background: rgba(110, 168, 254, .12); color: var(--text); box-shadow: 0 0 0 2px rgba(110, 168, 254, .18); }
#tab-ai .ai-step.now .ai-stepn { background: var(--accent); color: #0b0e12; }
#tab-ai .ai-step.todo { color: var(--muted); }
#tab-ai .ai-step.later { opacity: .55; border-style: dashed; color: var(--muted); }

/* ---------- блоки назначения ---------- */
#tab-ai .ai-gen { display: flex; flex-direction: column; gap: 6px; margin-top: 8px; }
#tab-ai .ai-tstate { margin: 6px 0; font-size: 13px; }
#tab-ai .ai-jobline { margin: 6px 0; padding: 7px 10px; border-radius: var(--radius-sm); font-size: 12.5px; line-height: 1.5; background: var(--panel2); border: 1px solid var(--border); overflow-wrap: anywhere; }
#tab-ai .ai-jobline.wait { border-color: rgba(255, 180, 84, .35); }
#tab-ai .ai-jobline.run { border-color: rgba(110, 168, 254, .4); }
#tab-ai .ai-jobline.err { border-color: rgba(255, 107, 107, .45); color: var(--err); }
#tab-ai .ai-jobline.warn { border-color: rgba(255, 180, 84, .45); color: var(--warn); }
#tab-ai .ai-jobline .ai-btn { margin-left: 6px; vertical-align: middle; }
#tab-ai .ai-tgrid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 14px; margin-top: 12px; }
#tab-ai .ai-tcol { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
#tab-ai .ai-tfield { display: flex; flex-direction: column; gap: 4px; color: var(--muted); font-size: 12px; min-width: 0; }
#tab-ai .ai-tfield i { font-style: normal; float: right; color: var(--muted); font-variant-numeric: tabular-nums; }
#tab-ai .ai-tfield textarea, #tab-ai .ai-artform textarea { font-size: 13px; line-height: 1.5; }
#tab-ai .ai-tfield input, #tab-ai .ai-artform input, #tab-ai .ai-artform select { height: 34px; font-size: 13px; width: 100%; max-width: 100%; }
#tab-ai .ai-box > .ai-dact { margin-top: 12px; }

/* связка v2 и тексты v2: плашки интента и ядра в шапке, текст на экране и скрипт билдера у озвучки, поля Facebook, ТЗ креативов */
#tab-ai .ai-plates { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
#tab-ai .ai-plate {
  display: inline-block; max-width: 100%; padding: 4px 10px; border-radius: var(--radius-sm); font-size: 12.5px; line-height: 1.45;
  background: rgba(110, 168, 254, .1); border: 1px solid rgba(110, 168, 254, .3); color: var(--text2); overflow-wrap: anywhere;
}
#tab-ai .ai-plate em { font-style: normal; color: var(--muted); margin-right: 2px; }
#tab-ai .ai-tvo { display: flex; flex-direction: column; gap: 6px; padding-bottom: 10px; border-bottom: 1px dashed var(--border); min-width: 0; }
#tab-ai .ai-tvo:last-child { border-bottom: 0; padding-bottom: 0; }
#tab-ai .ai-tbuild { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; font-size: 12px; overflow-wrap: anywhere; }
/* Настройки текста (интеграция 6, #10): интент, уровень, пожелание и «↻» — одной строкой под полем, на узком экране переносятся */
#tab-ai .ai-thl { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
#tab-ai .ai-topt { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; min-width: 0; }
#tab-ai .ai-topt select { height: 28px; font-size: 12px; padding: 0 24px 0 8px; background-position: calc(100% - 13px) 11px, calc(100% - 8px) 11px; max-width: 180px; }
#tab-ai .ai-topt input { height: 28px; font-size: 12px; flex: 1 1 140px; min-width: 0; width: auto; }
#tab-ai .ai-topt .ai-btn.sm { padding: 0 9px; font-size: 14px; }
#tab-ai .ai-toptnote { margin-top: 4px; }
#tab-ai .ai-tfb { margin-top: 14px; display: flex; flex-direction: column; gap: 6px; }
#tab-ai .ai-tfb h4, #tab-ai .ai-crea h4 { margin: 0; font-size: 13.5px; }
#tab-ai .ai-tfb .ai-btn, #tab-ai .ai-tbuild .ai-btn { vertical-align: middle; }
#tab-ai .ai-creas { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(260px, 100%), 1fr)); gap: 12px; margin-top: 12px; }
#tab-ai .ai-crea { display: flex; flex-direction: column; gap: 6px; padding: 12px 14px; border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--panel2); min-width: 0; }
#tab-ai .ai-prompt { margin-top: 6px; font: 12px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--text2); white-space: pre-wrap; overflow-wrap: anywhere; }

/* заказ статей */
#tab-ai .ai-artform { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; margin-top: 12px; }
#tab-ai .ai-artform > label { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: var(--muted); font-size: 12px; }
#tab-ai .ai-artform .ai-grow { flex: 1 1 260px; }
#tab-ai .ai-artform .ai-full { flex: 1 1 100%; }
#tab-ai .ai-artform select { min-width: 80px; }
#tab-ai .ai-inlnote { margin: 0; align-self: center; }

/* комплекты статей */
#tab-ai .ai-arts { display: flex; flex-direction: column; gap: 12px; margin-top: 14px; }
#tab-ai .ai-art { border: 1px solid var(--border); border-left: 3px solid var(--warn); border-radius: var(--radius); padding: 12px 14px; background: var(--panel2); min-width: 0; display: flex; flex-direction: column; gap: 8px; }
#tab-ai .ai-art.accepted { border-left-color: var(--ok); }
#tab-ai .ai-art.rejected { border-left-color: var(--border2); opacity: .8; }
#tab-ai .ai-arthead { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: 13px; overflow-wrap: anywhere; }
#tab-ai .ai-vtabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: thin; border-bottom: 1px solid var(--border); }
#tab-ai .ai-vtab {
  flex: none; height: 32px; padding: 0 12px; font-size: 12.5px; font-weight: 600; border-radius: 8px 8px 0 0;
  background: transparent; color: var(--muted); border: 1px solid transparent; border-bottom: 0;
}
#tab-ai .ai-vtab:hover { color: var(--text2); background: var(--panel3); filter: none; }
#tab-ai .ai-vtab.on { color: var(--text); background: var(--panel); border-color: var(--border); }
#tab-ai .ai-verr { display: inline-block; min-width: 18px; padding: 0 5px; border-radius: 999px; font-size: 11px; line-height: 17px; background: rgba(255, 107, 107, .18); color: var(--err); }
#tab-ai .ai-var { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
#tab-ai .ai-var h4 { margin: 4px 0 0; font-size: 15px; line-height: 1.4; overflow-wrap: anywhere; }
#tab-ai .ai-lead { margin: 4px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--text); font-weight: 500; overflow-wrap: anywhere; }
#tab-ai .ai-md, #tab-ai .ai-artsrc { font-size: 13px; line-height: 1.6; color: var(--text2); overflow-wrap: anywhere; max-height: 460px; overflow-y: auto; padding-right: 4px; }
#tab-ai .ai-md h5 { margin: 10px 0 2px; font-size: 13.5px; color: var(--text); }
#tab-ai .ai-md p, #tab-ai .ai-artsrc p { margin: 0 0 6px; }
#tab-ai .ai-artsrc { max-height: none; border-top: 1px dashed var(--border); padding-top: 6px; }
#tab-ai .ai-artsrc em { font-style: normal; color: var(--muted); font-size: 12px; display: block; margin-bottom: 2px; }

/* пакет: блоки с «Копировать» */
#tab-ai .ai-pkghead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 12px; }
#tab-ai .ai-pkghead h3 { margin: 0; }
#tab-ai mark.ai-verify { background: rgba(255, 180, 84, .16); color: var(--warn); border-radius: 5px; padding: 0 6px; font-size: 11.5px; font-weight: 700; }
#tab-ai .ai-dimchecks { margin-top: 8px; }
#tab-ai .ai-copies { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); align-items: start; gap: 10px; margin-top: 12px; }
#tab-ai .ai-copysub { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; }
#tab-ai .ai-copy { border: 1px solid var(--border); border-radius: var(--radius-sm); background: var(--panel2); padding: 10px 12px; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
#tab-ai .ai-copy.long { grid-column: 1 / -1; }
#tab-ai .ai-copyhead { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--text2); }
#tab-ai .ai-copyhead b { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
#tab-ai .ai-copytext {
  margin: 0; font: 12.5px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--text); white-space: pre-wrap; overflow-wrap: anywhere;
  max-height: 260px; overflow-y: auto; background: var(--panel); border: 1px solid var(--border); border-radius: 7px; padding: 8px 10px;
}
#tab-ai .ai-trgrow { display: grid; grid-template-columns: 56px minmax(0, 1fr); align-items: baseline; gap: 8px; font-size: 13px; }
#tab-ai .ai-trgval { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; min-width: 0; }

/* ---------- «Сторожа» и запасной путь ---------- */
#tab-ai .ai-table tr.ai-off td { color: var(--muted); }
#tab-ai .ai-wt td.ai-wrap, #tab-ai .ai-pt td.ai-wrap { min-width: 110px; max-width: 240px; }
#tab-ai .ai-wt th, #tab-ai .ai-wt td { padding: 9px 8px; }
#tab-ai .ai-table td.ai-act { white-space: normal; min-width: 120px; }
#tab-ai .ai-table td.ai-act .ai-confirm { margin-top: 0; min-width: 240px; }
#tab-ai .ai-token {
  margin-top: 14px; padding: 12px 14px; border-radius: var(--radius-sm); font-size: 13px; line-height: 1.5;
  border: 1px solid rgba(70, 209, 158, .5); background: rgba(70, 209, 158, .07); display: flex; flex-direction: column; gap: 8px; overflow-wrap: anywhere;
}
#tab-ai .ai-tokrow { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#tab-ai code.ai-tokcode { font-size: 13px; padding: 6px 8px; user-select: all; flex: 1 1 260px; min-width: 0; word-break: break-all; }
#tab-ai .ai-token .ai-note { margin: 0; }
#tab-ai .ai-token > .ai-btn { align-self: flex-start; }
#tab-ai .ai-setrow { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 16px; margin-top: 10px; font-size: 13px; }
#tab-ai .ai-capform { margin-top: 10px; }
#tab-ai .ai-spent { font-size: 13px; color: var(--text2); align-self: center; }

/* ---------- «Методички» ---------- */
#tab-ai label.ai-file { position: relative; display: inline-flex; align-items: center; cursor: pointer; }
#tab-ai label.ai-file input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
#tab-ai label.ai-file.is-busy { opacity: .5; cursor: progress; }
#tab-ai .ai-table tr.ai-cur td { background: rgba(70, 209, 158, .05); }
#tab-ai .ai-mview { margin-top: 12px; border: 1px solid var(--border2); border-radius: var(--radius-sm); background: var(--panel2); padding: 10px 12px; min-width: 0; }
#tab-ai .ai-mviewhead { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 8px; font-size: 13px; }
#tab-ai .ai-mviewhead b { flex: 1 1 auto; }
/* Формулы v2: группы методичек, матрица «ветка × модуль», переключатели входов. Матрица широкая — внутри .table-wrap она прокручивается вбок,
   страница не едет; клетки переносятся по словам, первая колонка (модуль) не сжимается. */
#tab-ai .ai-grouphead { margin: 22px 0 4px; font-size: 16px; }
#tab-ai .ai-grouptext { margin: 0 0 12px; }
#tab-ai .ai-mx th, #tab-ai .ai-mx td { white-space: normal; overflow-wrap: anywhere; min-width: 150px; max-width: 280px; font-size: 12.5px; line-height: 1.45; text-align: left; }
#tab-ai .ai-mx th[scope="row"] { min-width: 130px; color: var(--text); text-transform: none; letter-spacing: 0; font-size: 12.5px; }
#tab-ai .ai-v2tog { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
#tab-ai .ai-v2row { min-width: 0; }
#tab-ai .ai-v2row .ai-sub { margin: 2px 0 0 0; overflow-wrap: anywhere; }
#tab-ai .ai-v2sw { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: var(--text2); font-size: 13px; cursor: pointer; min-height: 34px; }
#tab-ai .ai-v2name { min-width: 150px; }
#tab-ai .ai-v2end { font-weight: 600; color: var(--muted); }
#tab-ai .ai-v2end.on { color: var(--accent); }
#tab-ai .ai-v2sw input { appearance: none; -webkit-appearance: none; position: relative; width: 40px; height: 22px; margin: 0; flex: none; border-radius: 11px; background: var(--line, #c9d0dc); cursor: pointer; transition: background .15s; }
#tab-ai .ai-v2sw input::before { content: ""; position: absolute; top: 3px; left: 3px; width: 16px; height: 16px; border-radius: 50%; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.25); transition: transform .15s; }
#tab-ai .ai-v2sw input:checked { background: var(--accent); }
#tab-ai .ai-v2sw input:checked::before { transform: translateX(18px); }
#tab-ai .ai-v2sw input:disabled { opacity: .5; cursor: default; }
#tab-ai .ai-v2sw input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
/* «Формулы: как настроено / v1 / v2» в форме заказа (A/B-тест) — своей строкой во всю ширину формы; кнопки — те же .ai-seg, что у соседних полей.
   Вне формы (у «С нуля» — над формой и режимами) — с отступом сверху, как у строки режимов. */
#tab-ai .ai-fx { display: flex; flex-direction: column; gap: 4px; flex: 1 1 100%; min-width: 0; max-width: 100%; color: var(--muted); font-size: 12px; }
#tab-ai .ai-fx .ai-sub { margin: 0; overflow-wrap: anywhere; }
#tab-ai .ai-fxout { margin-top: 12px; }
#tab-ai .ai-pre {
  margin: 0; max-height: 480px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere;
  font: 12.5px/1.55 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--text2);
}

/* ---------- этап 2: подвкладки «Заказа», скейл, конкурент, диалог (server/web/ai-entries.js) ---------- */
#tab-ai .ai-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
#tab-ai label.ai-file:focus-within { box-shadow: 0 0 0 3px rgba(110, 168, 254, .35); border-color: var(--accent); }
#tab-ai label.ai-file.is-off { opacity: .5; cursor: not-allowed; }
#tab-ai label.ai-file.is-off input { cursor: not-allowed; }
/* подвкладки — легче вкладок экрана: подчёркнутые ссылки в строку, на узком экране прокручиваются вбок */
#tab-ai .ai-subtabs { display: flex; gap: 4px; max-width: 100%; overflow-x: auto; scrollbar-width: none; margin: -6px 0 14px; border-bottom: 1px solid var(--border); }
#tab-ai .ai-subtabs::-webkit-scrollbar { display: none; }
#tab-ai .ai-subtab {
  display: inline-flex; align-items: center; gap: 6px; flex: none; height: 34px; padding: 0 12px; margin-bottom: -1px;
  color: var(--muted); font-weight: 600; font-size: 13px; white-space: nowrap; text-decoration: none; border-bottom: 2px solid transparent;
}
#tab-ai .ai-subtab:hover { color: var(--text2); text-decoration: none; }
#tab-ai .ai-subtab.on { color: var(--text); border-bottom-color: var(--accent); }

/* скейл: баер и период, таблица топиков, части */
#tab-ai .ai-sctop { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 18px; margin: 12px 0 4px; }
#tab-ai .ai-scfield { display: flex; flex-direction: column; gap: 4px; min-width: 0; max-width: 100%; color: var(--muted); font-size: 12px; }
#tab-ai .ai-scfield select { height: 34px; font-size: 13px; min-width: 240px; max-width: 100%; }
#tab-ai .ai-scwho b { color: var(--text); font-size: 14px; line-height: 34px; overflow-wrap: anywhere; }
#tab-ai .ai-seg { display: inline-flex; align-self: flex-start; gap: 2px; padding: 2px; border: 1px solid var(--border); border-radius: 10px; background: var(--panel2); }
#tab-ai .ai-segi { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 12px; border-radius: 7px; font-size: 13px; color: var(--muted); cursor: pointer; white-space: nowrap; }
#tab-ai .ai-segi input { width: 14px; height: 14px; margin: 0; accent-color: var(--accent); }
#tab-ai .ai-segi.on { background: var(--panel3); color: var(--text); box-shadow: inset 0 0 0 1px var(--border2); }
#tab-ai .ai-segi:focus-within { box-shadow: 0 0 0 2px rgba(110, 168, 254, .45); }
#tab-ai .ai-table td.ai-radio { width: 1%; padding-right: 0; }
#tab-ai .ai-table td.ai-radio input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--accent); cursor: pointer; }
#tab-ai .ai-topics td.ai-wrap { min-width: 180px; }
#tab-ai .ai-table tr.ai-sel td { background: rgba(110, 168, 254, .08); }
#tab-ai .ai-parts {
  display: flex; flex-direction: column; gap: 8px; margin-top: 12px; padding: 12px 14px; border-radius: var(--radius-sm);
  border: 1px solid rgba(110, 168, 254, .45); background: rgba(110, 168, 254, .05); min-width: 0;
}
#tab-ai .ai-partshead { font-size: 13px; color: var(--text2); overflow-wrap: anywhere; }
#tab-ai .ai-part { align-items: flex-start; line-height: 1.5; min-height: 0; }
#tab-ai .ai-part input { margin-top: 3px; }
#tab-ai .ai-part span { min-width: 0; overflow-wrap: anywhere; }
#tab-ai .ai-part2 { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
#tab-ai .ai-part2 .ai-part { flex: 1 1 300px; }
#tab-ai .ai-part2 select { height: 30px; min-width: 70px; }
/* интеграция 6: поиск и «Раскрыть список» у топиков (#01), опции частей 1 и 3 (#03, #04) */
#tab-ai .ai-tsearch { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 6px 12px; margin: 10px 0 6px; }
#tab-ai .ai-tsfield input { height: 34px; font-size: 13px; width: 300px; max-width: 100%; }
#tab-ai .ai-tmore { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 8px; font-size: 12.5px; }
#tab-ai .ai-psub { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 14px; flex: 1 1 100%; padding-left: 23px; font-size: 13px; }
#tab-ai .ai-psub .ai-chk { min-height: 28px; }
#tab-ai .ai-psubnote { flex: 1 1 100%; margin: 0; }

/* форма «Из конкурента» */
#tab-ai .ai-cform { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; margin-top: 12px; }
#tab-ai .ai-cform > label { display: flex; flex-direction: column; gap: 4px; min-width: 0; max-width: 100%; color: var(--muted); font-size: 12px; }
#tab-ai .ai-cform > label i { font-style: normal; float: right; font-variant-numeric: tabular-nums; }
#tab-ai .ai-cform select, #tab-ai .ai-cform input { height: 34px; font-size: 13px; width: 100%; max-width: 100%; }
#tab-ai .ai-cform select { min-width: 220px; }
#tab-ai .ai-cform textarea { font-size: 13px; line-height: 1.5; }
#tab-ai .ai-cform .ai-grow { flex: 1 1 280px; }
#tab-ai .ai-cform .ai-full { flex: 1 1 100%; }
#tab-ai .ai-flabel { display: block; color: var(--muted); font-size: 12px; margin-bottom: 4px; }

/* вложения: кнопка, подпись, миниатюры */
#tab-ai .ai-attach { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
#tab-ai .ai-attrow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
#tab-ai .ai-attnote { font-size: 12px; }
#tab-ai .ai-thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
#tab-ai .ai-thumb {
  position: relative; margin: 0; width: 88px; height: 88px; flex: none; border-radius: 8px; overflow: hidden;
  border: 1px solid var(--border2); background: var(--panel3);
}
#tab-ai .ai-thumb a { display: block; width: 100%; height: 100%; }
#tab-ai .ai-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
#tab-ai .ai-thumbwait { display: grid; place-items: center; font-size: 11.5px; color: var(--muted); }
#tab-ai .ai-thumbx {
  position: absolute; top: 3px; right: 3px; width: 24px; height: 24px; padding: 0; border-radius: 50%; line-height: 22px;
  font-size: 16px; font-weight: 700; background: rgba(11, 14, 18, .78); color: var(--text); border: 1px solid var(--border2);
}
#tab-ai .ai-thumbx:hover { background: rgba(255, 107, 107, .85); filter: none; }

/* список диалогов */
#tab-ai .ai-dlgs td.ai-wrap { min-width: 200px; }
#tab-ai .ai-clip { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* диалог: переписка и ответ */
#tab-ai .ai-dlghead .ai-thtop h3 { font-size: 16px; }
#tab-ai .ai-dlghead .ai-jobline { margin-top: 10px; }
#tab-ai .ai-chat { display: flex; flex-direction: column; gap: 10px; margin-top: 10px; }
#tab-ai .ai-bub {
  max-width: min(760px, 100%); min-width: 0; padding: 10px 12px; border-radius: var(--radius-sm); border: 1px solid var(--border);
  background: var(--panel2); display: flex; flex-direction: column; gap: 6px;
}
#tab-ai .ai-bub.buyer { align-self: flex-end; border-color: rgba(110, 168, 254, .4); background: rgba(110, 168, 254, .07); }
#tab-ai .ai-bub.agent { align-self: flex-start; }
#tab-ai .ai-bubhead { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; font-size: 12px; }
#tab-ai .ai-bubhead b { color: var(--text2); }
#tab-ai .ai-bubtext { font-size: 13.5px; line-height: 1.6; color: var(--text); white-space: pre-wrap; overflow-wrap: anywhere; }
#tab-ai .ai-reply { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--border2); }
#tab-ai .ai-reply .ai-dact { margin-top: 0; align-items: center; }
#tab-ai .ai-ro { margin-top: 14px; }

/* черновики: анализ ключей скейла; «Доступ»: баер в трекере */
#tab-ai details.ai-anl { margin-top: 4px; }
#tab-ai details.ai-anl summary { cursor: pointer; color: var(--accent); font-size: 12.5px; }
#tab-ai .ai-anltext { margin-top: 4px; padding: 8px 10px; border-radius: 7px; background: var(--panel2); border: 1px solid var(--border); font-size: 12.5px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; color: var(--text2); }
#tab-ai select.ai-tbuyer { height: 30px; font-size: 13px; min-width: 170px; max-width: 260px; }
#tab-ai .ai-box > .ai-jobline:first-child { margin-top: 0; }

/* ---------- этап 3: части скейла 3–5, «Статьи для взятых», тексты угла, блоки назначения ---------- */
#tab-ai .ai-msg.warn { color: var(--warn); background: rgba(255, 180, 84, .07); border-color: rgba(255, 180, 84, .4); }
#tab-ai .ai-partnote { margin: 0; }
#tab-ai .ai-aall { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 8px; }
#tab-ai .ai-aall select { height: 28px; font-size: 12.5px; min-width: 56px; }
#tab-ai .ai-table td .ai-msg { margin: 6px 0 0; font-size: 12.5px; }
#tab-ai .ai-angle { display: flex; flex-direction: column; gap: 4px; white-space: normal; }
#tab-ai .ai-anghead { color: var(--muted); font-size: 12px; font-weight: 700; margin-top: 2px; }
#tab-ai .ai-anglist { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 4px; }
#tab-ai .ai-anglist li { white-space: pre-wrap; overflow-wrap: anywhere; }

/* картинки поста: карточки с миниатюрой, подписью и стрелками */
#tab-ai .ai-pimgup { margin-top: 10px; }
#tab-ai .ai-pimgs { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 10px; margin-top: 10px; }
#tab-ai .ai-pimg {
  margin: 0; min-width: 0; display: flex; flex-direction: column; gap: 6px; padding: 6px; border-radius: var(--radius-sm);
  border: 1px solid var(--border); background: var(--panel2);
}
#tab-ai .ai-pimg.cover { border-color: rgba(70, 209, 158, .5); }
#tab-ai .ai-pimgthumb { display: block; aspect-ratio: 1 / 1; border-radius: 7px; overflow: hidden; background: var(--panel3); border: 1px solid var(--border); }
#tab-ai .ai-pimgthumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
#tab-ai .ai-pimg figcaption { display: flex; flex-direction: column; gap: 5px; min-width: 0; font-size: 12px; }
#tab-ai .ai-pimghead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; }
#tab-ai .ai-pimgname { font: 11.5px/1.35 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--muted); overflow-wrap: anywhere; }
#tab-ai .ai-pimgact { display: flex; flex-wrap: wrap; gap: 4px; }
#tab-ai .ai-pimgact .ai-btn { padding: 0 8px; }
#tab-ai .ai-pimg .ai-confirm { margin-top: 0; padding: 6px 8px; }
#tab-ai .ai-pimg .ai-confirm span { flex-basis: 100%; }
#tab-ai .ai-pimgwait { display: grid; place-items: center; min-height: 140px; color: var(--muted); font-size: 12px; }

/* подсказка ставки */
#tab-ai .ai-bidlines { display: flex; flex-direction: column; gap: 4px; margin-top: 10px; }
#tab-ai .ai-bidline { font-size: 13.5px; line-height: 1.5; color: var(--text); overflow-wrap: anywhere; }
#tab-ai .ai-bidcap { margin-top: 12px; }
#tab-ai .ai-box .ai-ladder { margin-top: 0; }
#tab-ai .ai-ladder th, #tab-ai .ai-ladder td { padding: 7px 10px; }
#tab-ai .ai-bidsetups { margin: 4px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 3px; font-size: 13.5px; line-height: 1.5; overflow-wrap: anywhere; }
#tab-ai .ai-bidsug {
  display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin-top: 12px; padding: 10px 12px; border-radius: var(--radius-sm);
  border: 1px solid rgba(110, 168, 254, .45); background: rgba(110, 168, 254, .06);
}
#tab-ai .ai-bidsug b { font-size: 17px; font-variant-numeric: tabular-nums; }
/* интеграция 6 (#08): выплата, ручная ставка (карандаш), поле своей ставки */
#tab-ai .ai-bidpay { color: var(--text); }
#tab-ai .ai-bidpen { min-width: 30px; padding: 0 8px; }
#tab-ai .ai-bidman { margin-top: 6px; }
#tab-ai .ai-bidform { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; margin-top: 8px; }
#tab-ai .ai-bidform input { height: 32px; width: 140px; max-width: 100%; }

/* строка автозалива: поля сеткой, на узком экране — в столбец */
#tab-ai .ai-lform { margin-top: 12px; }
#tab-ai .ai-lgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 10px 12px; align-items: end; }
#tab-ai .ai-lfield { display: flex; flex-direction: column; gap: 4px; min-width: 0; color: var(--muted); font-size: 12px; }
#tab-ai .ai-lfield.ai-lwide { grid-column: 1 / -1; }
#tab-ai .ai-lfield.ai-warn { color: var(--warn); font-size: 12.5px; line-height: 1.5; }
#tab-ai .ai-lfield input, #tab-ai .ai-lfield select { height: 34px; font-size: 13px; width: 100%; max-width: 100%; min-width: 0; }
#tab-ai .ai-lfield textarea { font-size: 13px; line-height: 1.5; width: 100%; max-width: 100%; }
#tab-ai .ai-lrange { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; max-width: 420px; }
#tab-ai .ai-lform .ai-dact { margin-top: 12px; }
#tab-ai .ai-lwarns { margin-top: 8px; }
#tab-ai .ai-lcopy { margin-top: 10px; }

/* ---------- этап 4: «С нуля» (режим, идея, гео чипами, «Ещё»), «сегодня: k из N», диалог по типу, вердикты ---------- */
#tab-ai .ai-sform { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; margin-top: 12px; min-width: 0; }
#tab-ai .ai-srow { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px 18px; min-width: 0; max-width: 100%; }
#tab-ai .ai-sfield { display: flex; flex-direction: column; gap: 4px; min-width: 0; max-width: 100%; color: var(--muted); font-size: 12px; }
#tab-ai .ai-sfield > span i { font-style: normal; margin-left: 8px; font-variant-numeric: tabular-nums; }
#tab-ai .ai-sfwide { align-self: stretch; }
#tab-ai .ai-sfield select, #tab-ai .ai-sfield input[type=text], #tab-ai .ai-sfield input[type=number] { height: 34px; font-size: 13px; max-width: 100%; }
#tab-ai .ai-sfield select { min-width: 220px; }
#tab-ai .ai-sfwide input[type=text], #tab-ai .ai-sfwide textarea { width: 100%; }
#tab-ai .ai-sfield textarea { font-size: 13px; line-height: 1.5; }
#tab-ai .ai-sfield [aria-invalid="true"] { border-color: var(--err); }
#tab-ai .ai-fielderr { display: block; color: var(--err); font-size: 12px; line-height: 1.45; }
#tab-ai .ai-seg.ai-modes { flex-wrap: wrap; max-width: 100%; }
#tab-ai .ai-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
#tab-ai .ai-chip {
  display: inline-flex; align-items: center; gap: 2px; height: 30px; padding: 0 3px 0 11px; border-radius: 999px;
  border: 1px solid rgba(110, 168, 254, .45); background: rgba(110, 168, 254, .08); color: var(--text); font-size: 13px; white-space: nowrap;
}
#tab-ai .ai-chipx {
  width: 24px; height: 24px; padding: 0; border-radius: 50%; border: 0; background: transparent; color: var(--muted);
  font-size: 16px; font-weight: 700; line-height: 24px;
}
#tab-ai .ai-chipx:hover { background: rgba(255, 107, 107, .16); color: var(--err); filter: none; }
#tab-ai .ai-chips select { min-width: 190px; }
#tab-ai .ai-sform > .ai-chk { min-height: 0; }
#tab-ai .ai-more { display: flex; flex-direction: column; gap: 10px; align-self: stretch; padding-top: 10px; border-top: 1px dashed var(--border2); }
#tab-ai .ai-morehead { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
#tab-ai .ai-morehead .ai-sub { margin: 0; }
#tab-ai .ai-more .ai-sfwide { flex: 1 1 100%; }
/* свёрнутое «Ещё» — hidden; правило автора .ai-srow { display: flex } перебило бы [hidden] браузера */
#tab-ai .ai-more [hidden] { display: none; }
#tab-ai .ai-sfgo { align-items: center; gap: 8px 14px; }
#tab-ai .ai-daily { color: var(--muted); font-size: 12.5px; font-variant-numeric: tabular-nums; cursor: help; }
#tab-ai .ai-daily.full { color: var(--warn); }
#tab-ai .ai-dact .ai-daily { align-self: center; }
#tab-ai td.ai-acts { white-space: nowrap; }
#tab-ai td.ai-acts > * + * { margin-left: 6px; }
#tab-ai .ai-dkind { color: var(--muted); font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; margin: 2px 0 4px; }
#tab-ai .ai-verdicts { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 8px; }
#tab-ai .ai-verdict {
  display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 8px 10px; border-radius: var(--radius-sm);
  border: 1px solid var(--border); background: var(--panel);
}
#tab-ai .ai-verdict.ok { border-color: rgba(70, 209, 158, .45); }
#tab-ai .ai-verdict.err { border-color: rgba(255, 107, 107, .45); }
#tab-ai .ai-verdict.wait { border-color: rgba(255, 180, 84, .45); }
#tab-ai .ai-vhead { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 8px; font-size: 13px; }
#tab-ai .ai-vhead b { color: var(--text); overflow-wrap: anywhere; }
#tab-ai .ai-vwhy { font-size: 13px; line-height: 1.5; color: var(--text2); white-space: pre-wrap; overflow-wrap: anywhere; }
#tab-ai .ai-bubsvc { padding-top: 6px; border-top: 1px dashed var(--border2); color: var(--muted); font-size: 12px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; }

/* ---------- интеграция 5, этап 3: «Связки → деньги», ID связки в шапке, подсказка TSP, «Результат» ---------- */
#tab-ai .ai-resbar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 12px 0 6px; }
#tab-ai .ai-rs th, #tab-ai .ai-rt th { white-space: nowrap; }
#tab-ai .ai-rs td { white-space: nowrap; }
#tab-ai .ai-rt td.ai-wrap { min-width: 140px; max-width: 260px; }
#tab-ai .ai-rt tr.ai-total td { font-weight: 700; border-top: 2px solid var(--border2); background: var(--panel2); }
#tab-ai .ai-rt td.ai-num { white-space: nowrap; }
#tab-ai .ai-early { white-space: nowrap; cursor: help; }
#tab-ai .ai-idline { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-top: 8px; font-size: 13px; color: var(--text2); }
#tab-ai .ai-idline code { font-size: 13px; user-select: all; }
#tab-ai .ai-resgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px 16px; margin: 6px 0 8px; }
#tab-ai .ai-resgrid > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 13px; }
#tab-ai .ai-resgrid .ai-dim { font-size: 12px; }

/* ---------- этап 4: «Расход», «В день», версия сторожа, факт-чек ---------- */
#tab-ai .ai-spendbar { margin: 12px 0 6px; }
#tab-ai .ai-seg { display: inline-flex; gap: 2px; background: var(--panel2); border: 1px solid var(--border); border-radius: 10px; padding: 3px; max-width: 100%; }
#tab-ai .ai-segb { height: 28px; padding: 0 13px; font-size: 12.5px; font-weight: 600; border-radius: 7px; background: transparent; border: 0; color: var(--muted); white-space: nowrap; }
#tab-ai .ai-segb:hover { background: var(--panel3); color: var(--text2); filter: none; }
#tab-ai .ai-segb.on { background: var(--panel3); color: var(--text); box-shadow: inset 0 0 0 1px var(--border2); }
#tab-ai .ai-sp th, #tab-ai .ai-sd th { white-space: nowrap; }
#tab-ai .ai-sp td.ai-wrap { min-width: 120px; max-width: 220px; }
#tab-ai .ai-sp tr.ai-total td { font-weight: 700; border-top: 2px solid var(--border2); background: var(--panel2); }
#tab-ai .ai-share { min-width: 110px; }
#tab-ai .ai-share .ai-num { display: block; text-align: left; margin-bottom: 4px; }
#tab-ai .ai-sd .ai-day { white-space: nowrap; font-weight: 600; }
#tab-ai .ai-barcell { min-width: 120px; }
#tab-ai .ai-barcell .ai-num { display: block; text-align: left; margin-bottom: 4px; }
#tab-ai .ai-bar { display: block; height: 6px; min-width: 70px; border-radius: 999px; background: var(--panel3); overflow: hidden; }
#tab-ai .ai-bar i { display: block; height: 100%; border-radius: inherit; background: var(--accent); }
#tab-ai .ai-bar.ok i { background: var(--ok); }
#tab-ai .ai-bar.warn i { background: var(--warn); }
#tab-ai .ai-bar.err i { background: var(--err); }
#tab-ai .ai-bar.sub i { background: var(--text2); opacity: .7; }
#tab-ai input.ai-dmax { width: 150px; max-width: 100%; height: 30px; font-size: 13px; }
#tab-ai .ai-vwarn { font-weight: 600; }
#tab-ai .ai-stepl small.ai-stepfc { font-weight: 700; }
#tab-ai .ai-stepl small.ai-stepfc.ok { color: var(--ok); }
#tab-ai .ai-stepl small.ai-stepfc.warn { color: var(--warn); }
#tab-ai .ai-fc { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 14px; padding: 10px 12px; border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--panel); }
#tab-ai .ai-fc.ok { border-color: rgba(70, 209, 158, .45); }
#tab-ai .ai-fc.todo { flex-direction: column; align-items: stretch; border-color: rgba(255, 180, 84, .5); }
#tab-ai .ai-fcmain { flex: 1 1 260px; min-width: 0; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
#tab-ai .ai-fcnote { margin-top: 2px; color: var(--text2); font-size: 12.5px; }
#tab-ai .ai-fc .ai-dact { margin-top: 0; }

/* ---------- «С нуля» формулы v2 (задача 11б): режимы, ручная форма связки, файл, карточки предложений с карандашами ---------- */
#tab-ai .ai-omodes { margin-top: 12px; }
#tab-ai .ai-sfgrow { flex: 1 1 320px; }
#tab-ai .ai-sfgrow input[type=text] { width: 100%; }
#tab-ai .ai-mform .ai-sfield input[type=text] { min-width: 180px; }
#tab-ai .ai-mkeys { align-self: stretch; display: flex; flex-direction: column; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
#tab-ai .ai-mkeys legend { padding: 0; margin-bottom: 4px; color: var(--muted); font-size: 12px; }
#tab-ai .ai-mkeys legend i { font-style: normal; margin-left: 8px; font-variant-numeric: tabular-nums; }
#tab-ai .ai-mkey { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 8px; align-items: center; }
#tab-ai .ai-mkey input[type=text] { height: 32px; font-size: 13px; width: 100%; min-width: 0; }
#tab-ai .ai-mkey select { height: 32px; font-size: 12.5px; min-width: 150px; }
#tab-ai .ai-mkmain { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 11.5px; cursor: pointer; white-space: nowrap; }
#tab-ai .ai-mkmain input { width: 15px; height: 15px; margin: 0; accent-color: var(--accent); }
#tab-ai .ai-mform .ai-msg { align-self: stretch; margin: 0; }
#tab-ai .ai-ownfile { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 12px; }
#tab-ai .ai-ownfile .ai-sub { margin: 0; }
#tab-ai .ai-ferrs { margin: 6px 0 0; padding-left: 18px; color: var(--err); font-size: 12.5px; line-height: 1.5; overflow-wrap: anywhere; }
#tab-ai .ai-fwarns { margin-top: 6px; color: var(--warn); font-size: 12.5px; overflow-wrap: anywhere; }
#tab-ai .ai-proplist { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
#tab-ai .ai-prop {
  display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 12px 14px;
  background: var(--panel2); border: 1px solid var(--border); border-left: 3px solid var(--accent); border-radius: var(--radius);
}
#tab-ai .ai-prop.bad { border-left-color: var(--err); }
#tab-ai .ai-prophead { font-size: 12px; }
#tab-ai .ai-pf { display: grid; grid-template-columns: 130px minmax(0, 1fr) 30px; gap: 4px 10px; align-items: start; font-size: 13px; line-height: 1.55; }
#tab-ai .ai-pfl { color: var(--muted); }
#tab-ai .ai-pfv { min-width: 0; color: var(--text2); overflow-wrap: anywhere; white-space: pre-wrap; }
#tab-ai .ai-pfv .ai-kws { white-space: normal; }
#tab-ai .ai-btn.ai-pencil { height: 24px; min-width: 26px; padding: 0 6px; background: transparent; border-color: transparent; color: var(--muted); }
#tab-ai .ai-btn.ai-pencil:hover, #tab-ai .ai-btn.ai-pencil:focus-visible { background: var(--panel3); border-color: var(--border2); color: var(--text); }
#tab-ai .ai-pfedit { display: flex; flex-direction: column; gap: 6px; padding: 10px; border: 1px solid var(--border2); border-radius: var(--radius-sm); background: var(--panel); }
#tab-ai .ai-pfedit input[type=text], #tab-ai .ai-pfedit select { height: 32px; font-size: 13px; width: 100%; max-width: 100%; }
#tab-ai .ai-pfedit textarea { width: 100%; font-size: 13px; line-height: 1.5; }
#tab-ai .ai-pfedit .ai-sfield > span i { font-style: normal; margin-left: 8px; font-variant-numeric: tabular-nums; }

/* Проверка креатива до запуска (26.10): строка в шапке назначения, сводка риска, «что поправить», кадры с находками */
#tab-ai .ai-ccrow { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#tab-ai .ai-ccgeo { display: flex; flex-direction: column; gap: 4px; font-size: 13px; min-height: 34px; justify-content: flex-end; }
#tab-ai .ai-ccsum { margin: 12px 0 4px; padding: 10px 12px; border-radius: var(--radius); background: var(--panel3); font-size: 14px; }
#tab-ai .ai-ccsum.cc-high { background: rgba(255, 107, 107, .12); color: var(--err); }
#tab-ai .ai-ccsum.cc-medium { background: rgba(255, 180, 84, .12); color: var(--warn); }
#tab-ai .ai-ccsum.cc-low { background: rgba(70, 209, 158, .12); color: var(--ok); }
#tab-ai .ai-cc h4 { margin: 12px 0 4px; font-size: 13.5px; }
#tab-ai .ai-ccfix { margin: 4px 0 12px; padding-left: 20px; line-height: 1.5; font-size: 13px; }
#tab-ai .ai-ccgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: 12px 0; }
#tab-ai .ai-ccframe { margin: 0; border: 1px solid var(--border); border-left-width: 3px; border-radius: var(--radius); padding: 10px; min-width: 0; }
#tab-ai .ai-ccframe.cc-high { border-left-color: var(--err); }
#tab-ai .ai-ccframe.cc-medium { border-left-color: var(--warn); }
#tab-ai .ai-ccframe.cc-low { border-left-color: var(--ok); }
#tab-ai .ai-ccthumb { height: 240px; background: var(--panel3); border-radius: 6px; overflow: hidden; display: grid; place-items: center; margin-bottom: 8px; }
#tab-ai .ai-ccthumb a { display: block; width: 100%; height: 100%; }
#tab-ai .ai-ccthumb img, #tab-ai .ai-ccthumb video { display: block; width: 100%; height: 100%; object-fit: contain; }
#tab-ai .ai-ccfind { margin: 6px 0; padding-left: 18px; font-size: 12.5px; line-height: 1.45; }
#tab-ai .ai-ccgood { color: var(--ok); }
#tab-ai .ai-ccline { font-size: 12.5px; padding: 2px 0; border-bottom: 1px dashed var(--border); overflow-wrap: anywhere; }
#tab-ai .ai-cclist tr.on td { background: var(--panel3); }
@media (max-width: 760px) {
  #tab-ai .ai-flow { flex-direction: column; }
  #tab-ai .ai-flow > i { transform: rotate(90deg); }
  #tab-ai .ai-tgrid { grid-template-columns: minmax(0, 1fr); }
}
/* «Черновики»: фильтры (топик, тип заказа, часть скейла, гео, заказ) и подпись «топик · гео · часть» (интеграция 6, #06) */
#tab-ai .ai-dfilters { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
#tab-ai .ai-dfsel { display: flex; flex-wrap: wrap; gap: 8px 14px; }
#tab-ai .ai-dfsel select { max-width: 260px; }
#tab-ai .ai-dfchips .ai-chip { border-color: var(--accent); white-space: normal; height: auto; min-height: 30px; overflow-wrap: anywhere; }
#tab-ai .ai-dcap { color: var(--text2); font-size: 12px; font-weight: 600; letter-spacing: .01em; margin-bottom: 2px; overflow-wrap: anywhere; }
/* Вариации креатива у связки «Из конкурента» (интеграция 6, #12) */
#tab-ai .ai-crv { margin: 6px 0; font-size: 13px; }
#tab-ai .ai-crv ol { margin: 6px 0 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
#tab-ai .ai-crvp { color: var(--text2); white-space: pre-wrap; overflow-wrap: anywhere; }

/* Выбор вертикали: поиск над выпадашкой с группами по вертикали трекера и «Своя вертикаль» (интеграция 6, #13) */
#tab-ai .ai-vpick { min-width: 260px; flex: 1 1 280px; }
#tab-ai .ai-vpick .ai-vpq { height: 30px; font-size: 13px; margin-bottom: 4px; }
#tab-ai .ai-vpick select, #tab-ai .ai-vpick .ai-vptext { width: 100%; min-width: 0; }
#tab-ai .ai-vpick .ai-vptext { margin-top: 4px; }
/* «Из конкурента» новой формы (интеграция 6, #12): ролик, ход загрузки, свои ключи под кнопкой, скрипт и статья конкурента под ответом агента */
#tab-ai .ai-vidprog { font-size: 12.5px; color: var(--text2); margin-top: 6px; }
#tab-ai .ai-vidcard { position: relative; margin: 8px 0 0; max-width: 260px; }
#tab-ai .ai-vidcard video { display: block; width: 100%; max-height: 360px; border-radius: 8px; background: var(--panel3); }
#tab-ai .ai-vidcard figcaption { font-size: 12px; margin-top: 3px; overflow-wrap: anywhere; }
#tab-ai .ai-vidcard .ai-thumbx { position: absolute; top: 4px; right: 4px; }
#tab-ai .ai-cfkw { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
#tab-ai .ai-cpybox { display: flex; flex-direction: column; gap: 6px; margin: 8px 0; }
#tab-ai .ai-cpy { border: 1px solid var(--border); border-radius: 8px; padding: 6px 10px; }
#tab-ai .ai-cpy summary { cursor: pointer; font-size: 13px; font-weight: 600; }
#tab-ai .ai-cpytext { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 13px; line-height: 1.5; margin: 8px 0; max-height: 420px; overflow-y: auto; }
@media (max-width: 640px) {
  #tab-ai .ai-box { padding: 14px; }
  #tab-ai .ai-draft { padding: 12px; gap: 10px; }
  #tab-ai .ai-form select { min-width: 0; width: 100%; }
  #tab-ai .ai-form > label:not(.ai-chk) { flex: 1 1 100%; }
  #tab-ai .ai-pickbar { bottom: 6px; padding: 10px 12px; }
  #tab-ai .ai-table td.ai-wrap { min-width: 200px; }
  #tab-ai .ai-artform > label { flex: 1 1 100%; }
  #tab-ai .ai-art { padding: 10px 11px; }
  #tab-ai .ai-step { font-size: 12px; padding: 4px 9px 4px 5px; }
  #tab-ai .ai-cform > label { flex: 1 1 100%; }
  #tab-ai .ai-cform select, #tab-ai .ai-scfield select { min-width: 0; width: 100%; }
  #tab-ai .ai-scfield { flex: 1 1 100%; }
  #tab-ai .ai-tsfield input { width: 100%; }
  #tab-ai .ai-psub { padding-left: 0; }
  #tab-ai .ai-bub { max-width: 100%; }
  #tab-ai .ai-thumb { width: 72px; height: 72px; }
  #tab-ai .ai-sform { align-items: stretch; }
  #tab-ai .ai-srow > .ai-sfield { flex: 1 1 100%; }
  #tab-ai .ai-sfield select, #tab-ai .ai-chips select { min-width: 0; width: 100%; }
  #tab-ai td.ai-acts { white-space: normal; }
  #tab-ai .ai-pf { grid-template-columns: minmax(0, 1fr) 30px; }
  #tab-ai .ai-pfl { grid-column: 1 / -1; margin-bottom: -4px; font-size: 12px; }
  #tab-ai .ai-mkey { grid-template-columns: auto minmax(0, 1fr); }
  #tab-ai .ai-mkey select { grid-column: 2; min-width: 0; width: 100%; }
  #tab-ai .ai-mform .ai-sfield input[type=text] { min-width: 0; width: 100%; }
}

/* ---------- панель «Чаты» (интеграция 6, #05; ai-chats.js) ----------
   Колонка справа на любой вкладке конвейера: экран шире на её ширину. Свёрнута — одна кнопка «Чаты» в колонке. Уже 1100px — панель строкой
   над экраном (свёрнута по умолчанию), список раскрывается под ней и прокручивается сам: страница вбок не едет. */
#tab-ai.tab-pane:has(> .ai-cols) { max-width: 1500px; }
#tab-ai .ai-cols { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
#tab-ai .ai-cols:has(> .ai-chats.closed) { grid-template-columns: minmax(0, 1fr) auto; }
#tab-ai .ai-colmain { min-width: 0; }
#tab-ai .ai-chats {
  position: sticky; top: 12px; max-height: calc(100vh - 24px); display: flex; flex-direction: column; min-width: 0;
  background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden;
}
#tab-ai .ai-chats.closed { background: transparent; border: 0; }
#tab-ai .ai-chtoggle {
  display: flex; align-items: center; gap: 8px; width: 100%; height: 40px; padding: 0 14px; margin: 0; border: 0; border-bottom: 1px solid var(--border);
  background: var(--panel2); color: var(--text); font-size: 14px; font-weight: 700; cursor: pointer; border-radius: 0; text-transform: none; letter-spacing: 0;
}
#tab-ai .ai-chtoggle:hover { background: var(--panel3); filter: none; }
#tab-ai .ai-chats.closed .ai-chtoggle { border: 1px solid var(--border); border-radius: var(--radius); width: auto; }
#tab-ai .ai-chcaret { margin-left: auto; color: var(--muted); font-size: 12px; }
#tab-ai .ai-chats.closed .ai-chcaret { margin-left: 4px; }
#tab-ai .ai-chask { font-size: 11.5px; font-weight: 700; color: var(--warn); background: rgba(255, 180, 84, .12); border-radius: 999px; padding: 0 7px; line-height: 18px; }
#tab-ai .ai-chbody { overflow-y: auto; padding: 8px; min-height: 0; }
#tab-ai .ai-chall { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text2); margin: 2px 4px 8px; cursor: pointer; }
#tab-ai .ai-chall input { width: auto; height: auto; margin: 0; }
#tab-ai .ai-chstale { font-size: 12px; color: var(--warn); margin: 0 4px 6px; overflow-wrap: anywhere; }
#tab-ai .ai-chlist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
#tab-ai .ai-chitem {
  display: flex; flex-direction: column; gap: 3px; padding: 8px 10px; border-radius: var(--radius-sm); border: 1px solid transparent;
  color: var(--text2); text-decoration: none; min-width: 0;
}
#tab-ai .ai-chitem:hover { background: var(--panel2); border-color: var(--border); text-decoration: none; }
#tab-ai .ai-chitem.on { background: var(--panel3); border-color: var(--border2); }
#tab-ai .ai-chtop { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-width: 0; }
#tab-ai .ai-chname { color: var(--text); font-size: 13.5px; line-height: 1.35; overflow-wrap: anywhere; min-width: 0; }
#tab-ai .ai-chtop .ai-pill { flex: none; padding: 1px 8px; font-size: 11px; }
#tab-ai .ai-chmeta { color: var(--muted); font-size: 11.5px; overflow-wrap: anywhere; }
#tab-ai .ai-chlast {
  color: var(--text2); font-size: 12px; line-height: 1.4; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow-wrap: anywhere;
}
#tab-ai .ai-chkeep { margin: 10px 4px 2px; font-size: 11.5px; }
/* строка чата над диалогом */
#tab-ai .ai-chbar { padding: 12px 16px; }
#tab-ai .ai-chbrow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; min-width: 0; }
#tab-ai .ai-chblabel { color: var(--muted); font-size: 11.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
#tab-ai .ai-chbname { font-size: 15px; overflow-wrap: anywhere; min-width: 0; }
#tab-ai .ai-chpen { padding: 0 8px; }
#tab-ai .ai-chrename { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; flex: 1 1 320px; min-width: 0; }
#tab-ai .ai-chrename input { flex: 1 1 200px; min-width: 0; height: 32px; font-size: 13.5px; }
#tab-ai .ai-chacts { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 10px; }
#tab-ai .ai-chacts .ai-inlnote { margin: 0; }
#tab-ai .ai-chask2 { font-size: 12.5px; color: var(--text2); }
#tab-ai .ai-chbar .ai-msg { margin: 10px 0 0; }
@media (max-width: 1100px) {
  #tab-ai .ai-cols, #tab-ai .ai-cols:has(> .ai-chats.closed) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  #tab-ai .ai-chats { order: -1; position: static; max-height: none; }
  #tab-ai .ai-chats.closed .ai-chtoggle { width: 100%; }
  #tab-ai .ai-chbody { max-height: 50vh; }
}

/* ---------- «Спай AdPlexity» (интеграция 6, ai-spy.js) ---------- */
#tab-ai .ai-spy-run { margin-top: 10px; font-size: 13px; color: var(--text2); line-height: 1.7; }
#tab-ai .ai-spy-credits { font-size: 13.5px; color: var(--text2); }
#tab-ai .ai-spy-admin .ai-dact { margin-top: 10px; }
#tab-ai .ai-spy-set .ai-full, #tab-ai .ai-spy-take .ai-full { flex: 1 1 100%; }
#tab-ai .ai-spy-set .ai-sfield input[type=number] { width: 120px; height: 34px; }
#tab-ai .ai-spy-set textarea { width: 100%; font-size: 13px; resize: vertical; }
#tab-ai .ai-spy-dict { margin-top: 10px; font-size: 12.5px; color: var(--muted); }
#tab-ai .ai-spy-dict summary { cursor: pointer; }
#tab-ai .ai-spy-filters { display: flex; flex-wrap: wrap; gap: 10px 12px; align-items: flex-end; margin: 0 0 12px; }
#tab-ai .ai-spy-filters select { height: 34px; font-size: 13px; min-width: 140px; max-width: 100%; }
#tab-ai .ai-spy-list { display: flex; flex-direction: column; gap: 12px; }
#tab-ai .ai-spy-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 14px; background: var(--panel); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 12px 14px; min-width: 0; }
#tab-ai .ai-spy-card.taken { opacity: .78; }
#tab-ai .ai-spy-media img { width: 150px; max-height: 260px; object-fit: cover; border-radius: var(--radius-sm); display: block; background: var(--panel2); }
#tab-ai .ai-spy-noimg { display: flex; align-items: center; justify-content: center; width: 150px; height: 150px; font-size: 40px; background: var(--panel2);
  border-radius: var(--radius-sm); }
#tab-ai .ai-spy-thumbs { display: flex; gap: 6px; margin-top: 6px; }
#tab-ai .ai-spy-thumbs img { width: 72px; height: 72px; }
#tab-ai .ai-spy-body { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
#tab-ai .ai-spy-top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
#tab-ai .ai-spy-score { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 24px; padding: 0 8px; border-radius: 999px;
  font-weight: 800; font-size: 12.5px; color: #0b0e12; background: var(--accent); cursor: help; }
#tab-ai .ai-spy-line { font-size: 13px; color: var(--text2); line-height: 1.6; overflow-wrap: anywhere; }
#tab-ai .ai-spy-line.ai-dim { color: var(--muted); }
#tab-ai .ai-spy-up { color: var(--ok); }
#tab-ai .ai-spy-down { color: var(--err); }
#tab-ai .ai-spy-title { font-weight: 700; font-size: 14px; overflow-wrap: anywhere; }
#tab-ai .ai-spy-text { font-size: 12.5px; color: var(--text2); line-height: 1.6; overflow-wrap: anywhere; white-space: pre-line; }
#tab-ai .ai-spy-body > .ai-btn.sm { align-self: flex-start; }
#tab-ai .ai-spy-flags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 2px; }
#tab-ai .ai-spy-flags .ai-pill { white-space: normal; cursor: help; }
#tab-ai .ai-spy-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 4px; }
#tab-ai .ai-spy-take { margin-top: 6px; }
@media (max-width: 640px) {
  #tab-ai .ai-spy-card { grid-template-columns: minmax(0, 1fr); }
  #tab-ai .ai-spy-media img, #tab-ai .ai-spy-noimg { width: 100%; max-height: 320px; }
  #tab-ai .ai-spy-filters .ai-sfield { flex: 1 1 100%; }
  #tab-ai .ai-spy-filters select { width: 100%; }
}
