/* МАКЕТ ассистента 2.0 (26.10.2026, ПЛАН-АССИСТЕНТ.md): переписка, «Что ассистент помнит», заявки, запись, рассылки, площадки,
   окно «Проверить ассистента», плашка «МАКЕТ». Подключается после y2k.css: берёт его токены (body.v5) и правила APCA —
   основной текст от 15 px на белом, на цветной заливке — 16 px или полужирный, метки — 14 px жирные, мельче не бывает. */

/* ---------- плашка «МАКЕТ»: справа в закреплённой шапке — видна при любой прокрутке и не накрывает содержимое ---------- */
.as-mock-badge{margin-left:auto;flex:none;max-width:56%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  padding:6px 14px;border-radius:999px;background:#FFF7ED;color:#7C2D12;font-family:inherit;font-size:14px;font-weight:700;line-height:1.35;
  box-shadow:0 0 0 1.5px #FDBA74}
.as-mock-badge .s{display:none}
@media (max-width:760px){.as-mock-badge .l{display:none}.as-mock-badge .s{display:inline}}

/* ---------- общие мелочи ---------- */
.as-plate{display:block;margin:0 0 16px;padding:10px 16px;border-radius:16px;background:#fff;
  font-size:15px;line-height:1.55;color:var(--body-ink);box-shadow:0 0 0 1.5px #DCE2F4,0 10px 22px -18px rgba(29,78,216,.45)}
.as-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.as-gap{margin-top:16px}
.as-note{margin:12px 0 0;padding:12px 16px;border-radius:16px;background:#F5F7FF;box-shadow:inset 0 0 0 1.5px #C9D5FF;
  font-size:15px;font-weight:600;line-height:1.55;color:var(--ink)}
.as-note b{font-weight:700}
.as-note.warm{background:#FFF7F2;box-shadow:inset 0 0 0 1.5px #FFD0B8}
.as-ul{margin:0;padding-left:20px;font-size:15px;line-height:1.6;color:var(--body-ink)}
.as-ul li+li{margin-top:6px}
.as-stage{margin-left:auto}
.as-h3{margin:0;font-family:var(--font-display);font-size:16px;font-weight:650;color:var(--y-navy);letter-spacing:-.01em}
.as-h3.as-gap{margin-top:24px}
.as-sub{margin:4px 0 0;font-size:15px;font-weight:500;line-height:1.5;color:var(--muted)}
.as-ic{width:16px;height:16px;flex:none}

/* ---------- Разговоры: список · переписка (слово основателя 26.10: в раскладке кабинета, в высоту экрана, «назад») ----------
   Шапка и вкладки остаются на месте: колонки высотой в экран листаются внутри, переписка открывается на последних сообщениях;
   на телефоне — список или переписка, у переписки «←». «Что ассистент помнит» — строкой над перепиской и окном. */
.as-inbox{display:grid;grid-template-columns:320px minmax(0,1fr);gap:16px;align-items:stretch;height:calc(100vh - 300px);min-height:520px}
.as-inbox > .card{display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden}
.as-only-narrow{display:none}
@media (max-width:980px){
  .as-inbox{grid-template-columns:minmax(0,1fr);height:calc(100vh - 230px);min-height:460px}
  .as-inbox .as-hide-narrow{display:none}
  .as-only-narrow{display:inline-flex}
}

.as-lh{padding:16px 16px 12px;border-bottom:1px solid var(--line)}
.as-seg{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.as-seg button{padding:6px 12px;border:0;border-radius:999px;background:#fff;font-family:inherit;font-size:15px;font-weight:600;line-height:1.3;color:var(--ink);cursor:pointer;
  box-shadow:inset 0 0 0 1.5px #DCE2F4;transition:background-color .3s,box-shadow .3s}
.as-seg button:hover{box-shadow:inset 0 0 0 1.5px #9FB0E0}
.as-seg button[aria-pressed="true"]{background:var(--blue-soft);box-shadow:inset 0 0 0 1.5px var(--blue);color:var(--ink);font-weight:700}
.as-cvs{list-style:none;margin:0;padding:6px;flex:1;min-height:0;overflow:auto}
.as-cv{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:2px 10px;width:100%;padding:12px;border:0;border-radius:16px;
  background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background-color .3s}
.as-cv:hover{background:#F5F7FF}
.as-cv[aria-current="true"]{background:#fff;box-shadow:inset 0 0 0 2px var(--blue)}
.as-cv .gl,.as-cv .i{grid-row:1 / 3;width:20px;height:20px;margin-top:2px}
.as-cv-nm{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-cv-t{font-size:15px;font-weight:600;color:var(--muted);white-space:nowrap}
.as-cv-last{grid-column:2 / 4;font-size:15px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.as-cv-tags{grid-column:2 / 4;display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.as-cv-tags:empty{display:none}
.as-lmore{margin:4px 16px 16px;font-size:15px;font-weight:500;color:var(--muted)}

/* переписка */
.as-ch-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:16px 20px;border-bottom:1px solid var(--line)}
.as-ch-h .gl{width:20px;height:20px}
.as-ch-nm{font-family:var(--font-display);font-size:17px;font-weight:650;color:var(--y-navy)}
.as-ch-b{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}
.as-msgs{display:flex;flex-direction:column;gap:14px;padding:20px}
.as-chat .as-msgs{flex:1;min-height:0;overflow:auto}
.as-day{align-self:center;padding:4px 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px #DCE2F4;font-size:14px;font-weight:700;color:var(--ink)}
.as-more{align-self:center;padding:8px 16px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px #C9D5FF;
  font-family:inherit;font-size:15px;font-weight:600;line-height:1.4;color:var(--ink);cursor:pointer}
.as-msg{display:flex;flex-direction:column;gap:6px;max-width:min(78%,560px)}
.as-msg.in{align-self:flex-start}
.as-msg.out{align-self:flex-end;align-items:flex-end}
.as-who{font-size:14px;font-weight:700;color:var(--ink)}
.as-who span{font-weight:700;color:var(--muted)}
.as-bub{padding:10px 14px;border-radius:18px;background:#fff;box-shadow:0 0 0 1.5px #DCE2F4;font-size:16px;line-height:1.5;color:var(--body-ink);
  overflow-wrap:anywhere}
.as-msg.in .as-bub{border-bottom-left-radius:6px}
.as-msg.bot .as-bub{background:#EEF2FF;box-shadow:0 0 0 1.5px #C9D5FF;border-bottom-right-radius:6px}
.as-msg.human .as-bub{background:#FFF4EC;box-shadow:0 0 0 1.5px #FFD0B8;border-bottom-right-radius:6px}
.as-voice{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.as-voice .i{width:18px;height:18px}
.as-tr{display:block;margin-top:8px;padding-top:8px;border-top:1.5px dashed #DCE2F4;font-size:16px;line-height:1.5;color:var(--body-ink)}
.as-tr b{font-weight:700;color:var(--ink)}
.as-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px 8px;max-width:100%}
.as-msg.in .as-meta{justify-content:flex-start}
.as-meta .src{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
body.v5 .content .as-meta .src{border-radius:14px}
@media (max-width:560px){.as-msg{max-width:92%}.as-msgs{padding:16px}}
.as-sys{display:flex;align-items:flex-start;gap:8px;align-self:center;max-width:min(92%,560px);padding:8px 14px;border-radius:14px;background:#fff;
  box-shadow:inset 0 0 0 1.5px #DCE2F4;font-size:15px;font-weight:600;line-height:1.5;color:var(--ink)}
.as-sys .i{width:16px;height:16px;flex:none;margin-top:3px;color:var(--blue-ink)}
.as-sys.warn{background:#FFF7F2;box-shadow:inset 0 0 0 1.5px #FFD0B8}
.as-compose{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:16px 20px;border-top:1px solid var(--line)}
.as-compose input{flex:1 1 220px;min-width:0;height:46px;padding:0 16px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px #C2CCE8;
  font-family:inherit;font-size:15px;font-weight:500;color:var(--ink)}
.as-compose input::placeholder{color:#3B4560;opacity:1}
.as-compose input:disabled{background:#F3F5FC}
.as-compose .cap{flex:1 1 100%;margin:0}
/* настоящая переписка (А4): разговор не выбран, сообщение не дошло, площадка встала */
.as-pick{margin:auto;padding:24px;font-size:15px;font-weight:600;color:var(--muted);text-align:center}
.as-dn{display:inline-flex;align-items:flex-start;gap:6px;max-width:100%;font-size:14px;font-weight:700;line-height:1.45;color:var(--m2-red-ink);text-align:left}
.as-dn .i{width:16px;height:16px;flex:none;margin-top:1px}
.as-ch-warn{margin:12px 20px 0}
.as-lseg{margin:0 0 16px}
/* телефон: переписке — почти весь экран (страница докручивается до неё), поле ответа компактнее; правило «15 минут и 12 часов»
   уже стоит строкой в переписке («Вы взяли разговор…») */
@media (max-width:980px){.as-inbox{height:calc(100vh - 120px);min-height:600px}}
@media (max-width:560px){
  .as-compose{padding:12px 16px}
  .as-compose .cap{display:none}
  .as-compose .btn{flex:1 1 auto;justify-content:center}
  .as-ch-h{padding:12px 16px}
  .as-ch-b{margin-left:0}
}

/* «Что ассистент помнит» — окно из переписки */
.as-card{margin:0;display:grid;gap:12px}
.as-card > div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:start}
.as-card dt{grid-column:1;font-size:14px;font-weight:700;color:var(--ink)}
.as-card dd{grid-column:1;margin:0;font-size:15px;line-height:1.5;color:var(--body-ink)}
.as-card .icon-btn{grid-column:2;grid-row:1 / 3}
.as-card .as-fsrc{grid-column:1;margin-top:2px}
.as-sum{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.as-sum p{margin:6px 0 0;font-size:15px;line-height:1.55;color:var(--body-ink)}
.as-memline{margin:16px 0 0;font-size:15px;font-weight:500;line-height:1.5;color:var(--muted)}

/* ---------- Заявки ---------- */
.as-leads{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.as-lead{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(0,1.6fr) minmax(0,1.5fr) auto;gap:8px 20px;align-items:start;padding:16px 20px}
.as-lead .k{display:block;font-size:14px;font-weight:700;color:var(--ink)}
.as-lead .v{display:block;margin-top:2px;font-size:15px;line-height:1.5;color:var(--body-ink)}
.as-lead-nm{font-family:var(--font-display);font-size:16px;font-weight:650;color:var(--y-navy)}
.as-lead .v.as-row{display:flex;gap:6px}
.as-lead .as-row .gl,.as-lead .as-row .i{width:16px;height:16px;flex:none}
.as-lead-b{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
@media (max-width:900px){.as-lead{grid-template-columns:minmax(0,1fr)}.as-lead-b{align-items:flex-start;flex-direction:row;flex-wrap:wrap}}

.as-to{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}

/* подключения строками: CRM, календарь */
.as-ints{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.as-int{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 16px;align-items:center;padding:14px 16px;border-radius:18px;background:#fff;
  box-shadow:0 0 0 1.5px #DCE2F4}
.as-int-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;font-size:16px;font-weight:700;color:var(--ink)}
.as-int p{grid-column:1;margin:0;font-size:15px;font-weight:500;line-height:1.5;color:var(--muted)}
.as-int .btn{grid-column:2;grid-row:1 / 3}
.as-int-b{grid-column:2;grid-row:1 / 3;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.as-int-b .btn{grid-column:auto;grid-row:auto}
@media (max-width:560px){.as-int{grid-template-columns:minmax(0,1fr)}.as-int .btn{grid-column:1;grid-row:auto;justify-self:start}
  .as-int-b{grid-column:1;grid-row:auto;justify-content:flex-start}}
/* выбор в окнах (воронка и этап amoCRM, календарь) */
.as-sel{width:100%;height:46px;padding:0 12px;border-radius:16px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px #C2CCE8;
  font-family:inherit;font-size:15px;font-weight:500;color:var(--ink)}
.as-sel:focus{outline:none;box-shadow:inset 0 0 0 2px var(--blue)}
.as-chw label.k.as-gap{margin-top:16px}

/* как выглядит уведомление бота AiDa */
.as-tg{max-width:420px;margin-top:12px;border-radius:18px;background:#fff;overflow:hidden;
  box-shadow:0 0 0 1.5px #C9D5FF,0 12px 26px -18px rgba(29,78,216,.45)}
.as-tg-h{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);font-size:15px;font-weight:700;color:var(--ink)}
.as-tg-h .i{width:18px;height:18px;color:var(--blue-ink)}
.as-tg-b{padding:12px 14px;font-size:15px;line-height:1.6;color:var(--body-ink)}
.as-tg-b b{color:var(--ink)}
.as-tg-btn{padding:10px 14px;border-top:1px solid var(--line);text-align:center;font-size:15px;font-weight:700;color:var(--blue-ink)}

/* ---------- Запись ---------- */
.as-bks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.as-bk{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:4px 16px;align-items:center;padding:12px 16px;border-radius:18px;background:#fff;
  box-shadow:0 0 0 1.5px #DCE2F4}
.as-bk-d{display:flex;flex-direction:column;align-items:center;justify-content:center;width:72px;height:64px;border-radius:16px;background:var(--blue-soft);
  box-shadow:inset 0 0 0 1.5px #C9D5FF;color:var(--ink)}
.as-bk-d b{font-family:var(--font-display);font-size:22px;line-height:1;font-weight:700}
.as-bk-d span{margin-top:4px;font-size:14px;font-weight:700}
.as-bk-t{font-size:16px;font-weight:700;color:var(--ink)}
.as-bk-s{margin-top:2px;font-size:15px;font-weight:500;line-height:1.5;color:var(--muted)}
@media (max-width:560px){.as-bk{grid-template-columns:64px minmax(0,1fr)}.as-bk-d{width:64px}.as-bk > .pill,.as-bk > .btn{grid-column:2;justify-self:start}}
.as-bk-m{margin-top:8px;font-family:var(--font-display);font-size:16px;font-weight:700;color:var(--y-navy)}
/* запись: состояние и кнопки справа, на узком — под текстом */
.as-bk-b{display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.as-bk-b .as-row{justify-content:flex-end;gap:8px}
@media (max-width:560px){.as-bk-b{grid-column:2;align-items:flex-start}.as-bk-b .as-row{justify-content:flex-start}}
/* окно «Как записываем»: услуги, дни с часами, три выбора в ряд */
.as-svc{display:grid;grid-template-columns:minmax(0,1fr) 150px 40px;gap:8px;align-items:center;margin-top:8px}
.as-svc .icon-btn{width:40px;height:40px}
.as-days{display:grid;gap:8px;margin-top:8px}
.as-dayg{display:grid;gap:6px}
.as-day{display:grid;grid-template-columns:minmax(130px,1fr) 110px 12px 110px 40px;gap:8px;align-items:center;font-size:15px;color:var(--ink)}
.as-day .icon-btn{width:40px;height:40px}
.as-day .icon-btn[hidden]{display:none}
.as-day .icon-btn:disabled{opacity:.5;cursor:default}
.as-day-k{display:flex;align-items:center;gap:10px;font-weight:600}
.as-chw .as-day-k input[type="checkbox"]{flex:none;width:20px;height:20px;padding:0;margin:0;border-radius:6px;box-shadow:none;background:none;accent-color:var(--blue)}
.as-chw .as-day input[type="time"]{height:42px;padding:0 10px}
.as-chw .as-day input:disabled{opacity:.5}
/* три списка в ряд не влезали («без перерыв…», подпись в две строки): по 180 px, лишний — вниз */
.as-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}
.as-chw span.k{display:block;margin-bottom:6px;font-size:15px;font-weight:700;color:var(--ink)}
@media (max-width:640px){.as-2{grid-template-columns:minmax(0,1fr)}.as-svc{grid-template-columns:minmax(0,1fr) 120px 40px}
  /* телефон: день — своей строкой, под ним «с — до» и «+» / «×» */
  .as-day{grid-template-columns:minmax(0,1fr) 10px minmax(0,1fr) 36px;gap:6px;border-radius:20px}
  .as-day-k{grid-column:1/-1}
  .as-day > span:first-child{display:none}
  .as-day .icon-btn{width:36px;height:36px}}

/* ---------- настройки строками «название — значение» ---------- */
.as-kv{margin:0;display:grid;gap:14px}
.as-kv > div{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:4px 16px;align-items:baseline}
.as-kv dt{font-size:15px;font-weight:700;color:var(--ink)}
.as-kv dd{margin:0;font-size:15px;line-height:1.55;color:var(--body-ink)}
@media (max-width:640px){.as-kv > div{grid-template-columns:minmax(0,1fr)}}
/* Заголовок над .as-kv — та же сетка: кнопка встаёт по линии значений */
@media (min-width:641px){
  .as-kvh{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:4px 16px}
  .as-kvh > .btn{justify-self:start}
}

/* выбор вариантов (как «Одобрение» у завода) */
.as-rads{display:grid;gap:8px}
.as-rad{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 1.5px #DCE2F4;cursor:pointer;
  font-size:15px;line-height:1.5;color:var(--body-ink)}
.as-rad input{margin:4px 0 0;flex:none;accent-color:var(--blue)}
/* общее «.as-chw input» (поле во всю ширину) растягивало и кружок выбора — окно уезжало вбок (27.10) */
.as-chw .as-rad input[type="radio"]{width:20px;height:20px;padding:0;margin:2px 0 0;border-radius:50%;box-shadow:none;background:none}
.as-rad b{display:block;color:var(--ink)}
.as-rad.on{background:#fff;box-shadow:inset 0 0 0 2px var(--blue)}

/* ---------- Рассылки ---------- */
.as-form{display:grid;gap:16px}
.as-form label.k{display:block;margin-bottom:6px;font-size:15px;font-weight:700;color:var(--ink)}
.as-form textarea,.as-form input[type="text"]{width:100%;padding:12px 16px;border-radius:16px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px #C2CCE8;
  font-family:inherit;font-size:15px;font-weight:500;line-height:1.5;color:var(--ink);resize:vertical}
.as-chips{display:flex;flex-wrap:wrap;gap:8px}
.as-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px #DCE2F4;
  font-size:15px;font-weight:600;color:var(--ink);cursor:pointer}
.as-chip input{margin:0;accent-color:var(--blue)}
.as-chip.on{background:var(--blue-soft);box-shadow:inset 0 0 0 1.5px var(--blue)}
.as-hist{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.as-hist li{padding:12px 16px;border-radius:16px;background:#fff;box-shadow:0 0 0 1.5px #DCE2F4}
.as-hist b{display:block;font-size:15px;color:var(--ink)}
.as-hist span{display:block;margin-top:2px;font-size:15px;font-weight:500;color:var(--muted)}

/* ---------- Где отвечает ---------- */
.as-chs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.as-chs > :last-child:nth-child(odd){grid-column:1/-1} /* последняя без пары — во всю ширину, без пустой половины ряда */
@media (max-width:900px){.as-chs{grid-template-columns:minmax(0,1fr)}}
.as-chc{display:flex;flex-direction:column;gap:10px}
.as-chc-h{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.as-chc-h .gl,.as-chc-h .i{width:22px;height:22px}
.as-chc-h .as-on{margin-left:auto;min-height:40px;padding:0} /* рубильник «Отвечает здесь» — справа, как «Канал активен» у Афины */
.as-chc .as-biz-ask{display:grid;gap:10px;margin:0} /* «Это ваш аккаунт?» — подключение Telegram для бизнеса */
.as-chc .as-biz-ask p{color:var(--ink)}
.as-chc p{margin:0;font-size:15px;line-height:1.55;color:var(--body-ink)}
.as-chc p.as-note{margin:0;color:var(--ink)}
.as-chc .card-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}
/* «Код для сайта»: строка кода целиком, моноширинно */
.as-chw textarea.as-code{width:100%;padding:12px 14px;border:0;border-radius:16px;background:#F5F7FF;box-shadow:inset 0 0 0 1.5px #C2CCE8;
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;line-height:1.5;color:var(--ink);resize:none;word-break:break-all}
/* «Уведомления вам»: кто получает и «Отключить» */
.as-who-l{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.as-who-l li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:10px 14px;border-radius:16px;background:#fff;
  box-shadow:inset 0 0 0 1.5px #DCE2F4}
.as-who-l li > span{display:grid;gap:2px;flex:1 1 200px;min-width:0;font-size:15px;line-height:1.5;color:var(--ink)}
.as-who-l b{font-weight:700;overflow-wrap:anywhere}
/* окно «Подключить Telegram»: бот завода в один шаг, шаги, ключ, ошибка словами */
.as-chw{display:grid;gap:16px}
.as-chw .as-steps{gap:10px}
.as-chw label.k{display:block;margin-bottom:6px;font-size:15px;font-weight:700;color:var(--ink)}
.as-chw input{width:100%;height:46px;padding:0 16px;border-radius:16px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px #C2CCE8;
  font-family:inherit;font-size:15px;font-weight:500;color:var(--ink)}
.as-chw input:focus{outline:none;box-shadow:inset 0 0 0 2px var(--blue)}
.as-chw .cap{margin:8px 0 0}
.as-chw .as-note{margin:0}
.as-reuse{display:grid;gap:8px;padding:12px 16px;border-radius:16px;background:#F5F7FF;box-shadow:inset 0 0 0 1.5px #C9D5FF}
.as-reuse p{margin:0;font-size:15px;line-height:1.55;color:var(--ink)}
.as-reuse-r{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.as-reuse-r .btn{max-width:100%}
.as-reuse-r .cap{margin:0;min-width:0}
.as-err{margin:0;font-size:15px;font-weight:600;line-height:1.5;color:var(--m2-red-ink)}
.as-err:empty{display:none}

/* ---------- Как отвечает: свёрнутые разделы с текущим значением в заголовке (как «Как пишем») ---------- */
.as-acc > summary{flex-wrap:wrap;justify-content:flex-start;gap:2px 14px;padding:16px 20px}
.as-acc > summary > span:first-child{font-size:16px}
.as-acc > summary > .cap{flex:1 1 160px;min-width:0;font-weight:500;color:var(--muted)}
details.fold.as-acc > summary > .cap::before,details.fold.as-acc[open] > summary > .cap::before{content:none}
.as-acc > summary::after{content:"показать";margin-left:auto;font-size:14px;font-weight:700;color:var(--ink)}
.as-acc[open] > summary::after{content:"скрыть"}
.as-acc > .fold-b{padding:20px}
.as-acc .as-quote{margin:0 0 12px;padding:12px 16px;border-radius:16px;background:#F5F7FF;box-shadow:inset 0 0 0 1.5px #C9D5FF;font-size:16px;line-height:1.55;color:var(--body-ink)}
.as-accs{display:grid;gap:12px}

/* ---------- Новый ассистент ---------- */
.as-new{max-width:760px;margin-left:auto;margin-right:auto} /* страница — одна форма: по центру (29.10) */
.as-steps{list-style:none;margin:0;padding:0;display:grid;gap:12px;counter-reset:st}
.as-steps li{display:grid;grid-template-columns:36px minmax(0,1fr);gap:12px;align-items:start;font-size:15px;line-height:1.55;color:var(--body-ink)}
.as-steps li::before{counter-increment:st;content:counter(st);display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--blue-soft);
  box-shadow:inset 0 0 0 1.5px #C9D5FF;font:700 15px/1 var(--font-display);color:var(--ink)}
.as-steps b{display:block;color:var(--ink)}

/* ---------- окно «Проверить ассистента» ---------- */
.as-test .as-msgs{max-height:none;padding:4px 0 8px}
.as-test-in{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.as-test-in input{flex:1 1 220px;min-width:0;height:46px;padding:0 16px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px #C2CCE8;
  font-family:inherit;font-size:15px;font-weight:500;color:var(--ink)}
.as-test-in input::placeholder{color:#3B4560;opacity:1}

@media (prefers-reduced-motion:reduce){.as-seg button,.as-cv{transition:none}}

/* ---------- кнопки-«чипы» (тон в «Как отвечает») ---------- */
button.as-chip{border:0;font-family:inherit;line-height:1.3;transition:background-color .3s,box-shadow .3s}
button.as-chip:hover{box-shadow:inset 0 0 0 1.5px #9FB0E0}
button.as-chip.on:hover{box-shadow:inset 0 0 0 1.5px var(--blue)}

/* ---------- Разговоры: строка «что ассистент помнит» и низ переписки ---------- */
.as-strip{display:flex;flex-wrap:wrap;gap:6px 20px;margin:0;padding:10px 20px;border-bottom:1px solid var(--line);background:#F7F9FF}
.as-strip div{display:flex;gap:6px;align-items:baseline;min-width:0}
.as-strip dt{font-size:14px;font-weight:700;color:var(--ink)}
.as-strip dd{margin:0;font-size:15px;line-height:1.5;color:var(--body-ink)}
.as-cmp-t{flex:1 1 260px;margin:0;font-size:15px;font-weight:500;line-height:1.5;color:var(--muted)}
@media (max-width:560px){.as-strip{display:none}}

/* ---------- шапка ассистента: «←», «Отвечает клиентам», «Всё сохраняется само» ---------- */
.fh-nm .as-back{text-decoration:none;color:var(--ink)}
.as-on{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 4px;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer}
.as-saved{display:flex;align-items:center;gap:8px;margin:12px 0 0;font-size:15px;font-weight:500;line-height:1.5;color:var(--muted)}
.as-saved .i{width:16px;height:16px;flex:none;color:#15803D}
.as-test-narrow{display:none}
@media (max-width:1180px){.as-test-narrow{display:inline-flex}}

/* ---------- «Настройка» — первый экран: поля открыты сразу, справа «Проверить ассистента» ---------- */
.as-setup{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:16px;align-items:start}
.as-main{min-width:0}
/* верх левой колонки — вровень с окном «Проверить ассистента» (слово основателя 29.10: «почему диалог с ассистентом выше
   остального?»): у «Что готово» сверху отступа нет, шаг после «Читаем сайт» и плашек — их отступ снизу */
.as-main > #as-ready-box > .as-ready{margin-top:0}
.as-main > #as-rd-box:not(:empty){margin-bottom:16px}
/* прилипает посередине свободной высоты экрана — под шапкой 64px (слово основателя 29.10); --try-h — высота окна, её ставит
   assistant-chat.js; окно выше экрана — у шапки, как раньше */
.as-side{position:sticky;top:max(80px,calc(50vh + 32px - var(--try-h,0px) / 2));min-width:0}
@media (max-width:1180px){.as-setup{grid-template-columns:minmax(0,1fr)}.as-side{position:static}}

.as-fs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}
.as-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.as-f.wide{grid-column:1 / -1}
.as-f-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.as-f-h label,.as-f .lbl{font-size:15px;font-weight:700;color:var(--ink)}
.as-f input,.as-f textarea{width:100%;padding:11px 14px;border-radius:14px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px #C2CCE8;
  font-family:inherit;font-size:15px;font-weight:500;line-height:1.5;color:var(--ink);resize:none;overflow:hidden;transition:box-shadow .3s}
.as-f input:focus,.as-f textarea:focus{outline:none;box-shadow:inset 0 0 0 2px var(--blue),0 0 0 4px rgba(29,78,216,.12)}
.as-f input::placeholder,.as-f textarea::placeholder{color:#3B4560;opacity:1}
.as-f .cap{margin:0}
.as-f .as-ul{margin-top:4px}
@media (max-width:760px){.as-fs{grid-template-columns:minmax(0,1fr)}}

/* «Что готово» — только настоящие числа */
.as-ready ul{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 20px}
.as-ready li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--body-ink)}
.as-ready-a{font-weight:700;color:var(--ink);text-decoration:none}
.as-ready-a:hover{text-decoration:underline}
.as-setup [id^="h-"]{scroll-margin-top:96px}
.as-ready-i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;flex:none;background:#E2F7F0;color:#14532D;box-shadow:inset 0 0 0 1.5px #9EDFCB}
.as-ready .todo .as-ready-i{background:#FFF1E8;color:#9A3412;box-shadow:inset 0 0 0 1.5px #FFC9A8}
.as-ready-i .i{width:14px;height:14px}
@media (max-width:640px){.as-ready ul{grid-template-columns:minmax(0,1fr)}}

/* материалы из БД: файлы, ход чтения, пункты */
.as-files{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.as-file{padding:14px 16px;border-radius:18px;background:#fff;box-shadow:0 0 0 1.5px #DCE2F4}
.as-file-h{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.as-file-nm{font-size:16px;font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.as-file > .cap{margin:6px 0 0}
.as-items{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.as-items li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:10px;font-size:15px;line-height:1.5;color:var(--body-ink)}
.as-items b{font-weight:700;color:var(--ink)}
.as-items li.old span{color:var(--muted)}
.as-more-l{display:inline-block;margin-top:10px;padding:0;border:0;background:none;font-family:inherit;font-size:15px;font-weight:700;color:var(--blue-ink);cursor:pointer;text-align:left}
.as-more-l:hover{text-decoration:underline}
.as-reading{display:inline-flex;align-items:center;gap:6px}
.as-reading::before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:as-spin 1.2s linear infinite}
@keyframes as-spin{to{transform:rotate(360deg)}}

/* частые вопросы */
.as-qa-find input{width:100%;max-width:420px;height:44px;padding:0 16px;border-radius:999px;border:0;background:#fff;box-shadow:inset 0 0 0 1.5px #C2CCE8;
  font-family:inherit;font-size:15px;font-weight:500;color:var(--ink)}
.as-qa-find input::placeholder{color:#3B4560;opacity:1}
.as-qas{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:10px}
.as-qa{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:8px 20px;padding:14px 16px;border-radius:18px;background:#fff;box-shadow:0 0 0 1.5px #DCE2F4}
.as-qa-q{font-size:15px;font-weight:700;line-height:1.5;color:var(--ink)}
.as-qa-a{font-size:15px;line-height:1.55;color:var(--body-ink)}
.as-qa-m{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.as-qa-x{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-size:15px;font-weight:600;color:var(--ink);cursor:pointer}
.as-setup .src{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:left}
body.v5 .content .as-setup .src{border-radius:14px}
@media (max-width:760px){.as-qa{grid-template-columns:minmax(0,1fr)}.as-qa-x{margin-left:0}}

/* «Проверить ассистента» справа */
.as-try{padding:16px 18px}
.as-try-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.as-try .as-test .as-msgs{max-height:calc(100vh - 400px);min-height:220px;overflow:auto;margin-top:10px;padding:12px 2px;border-top:1px solid var(--line)}
.as-try .as-msg{max-width:92%}
.as-try .as-test > .cap{margin:10px 0 0}
/* поле и кнопка отправки — в одну строку: узкая колонка, кнопка — значком, как в мессенджерах */
.as-try .as-test-in{flex-wrap:nowrap}
.as-try .as-test-in input{flex:1 1 0}
.as-try .as-send{flex:none;width:46px;height:46px;padding:0;justify-content:center}
.as-try .as-send .i{margin:0}
@media (max-width:1180px){.as-try .as-test .as-msgs{max-height:60vh}}

/* «Настройка» без нейросети (проба на номере уже была): «Проверить ассистента» нет — одна колонка */
.as-setup.solo{grid-template-columns:minmax(0,1fr)}
/* чат проверки: ваше сообщение и «печатает…», пока ждём ответ, — как обычные строки разговора; конец лимита — строка жирнее */
.as-wait{display:contents}
.as-try .as-empty{margin:auto 0;text-align:center}
.as-try .as-cap-off{font-weight:600;color:var(--ink)}
/* поле: ошибка словами, своя строка с подписью-полем и корзиной */
.as-f .err-msg{margin:0;font-size:15px;font-weight:600;line-height:1.45;color:var(--m2-red-ink)}
/* подсказка в пустом поле темнее общей серой (y2k.css): APCA, подсказка — Lc ≥ 60 */
body.v5 .as-f input::placeholder,body.v5 .as-f textarea::placeholder,body.v5 .as-qa-find input::placeholder{color:#3B4560}
.as-f .err-msg:empty{display:none}
.as-f.has-err input,.as-f.has-err textarea{box-shadow:inset 0 0 0 2px var(--m2-red)}
.as-f-h .icon-btn{margin-left:auto}
.as-f input.as-f-l{flex:1 1 160px;width:auto;min-width:0;margin-left:-10px;padding:4px 10px;border-radius:10px;background:transparent;box-shadow:none;font-weight:700}
.as-f input.as-f-l:hover{box-shadow:inset 0 0 0 1.5px #C2CCE8}
.as-f input.as-f-l:focus{box-shadow:inset 0 0 0 2px var(--blue),0 0 0 4px rgba(29,78,216,.12)}
.as-new{padding:14px 16px;border-radius:18px;background:#F7F9FF;box-shadow:0 0 0 1.5px #DCE2F4}
/* строка под шапкой: «Сохраняем…», «Сохранено…», «Не всё сохранилось…» */
.as-saved.busy .i{color:var(--muted)}
.as-saved.err{color:var(--m2-red-ink);font-weight:600}
.as-saved.err .i{color:var(--m2-red)}
/* частые вопросы: ответ с переносами строк, пара в правке и новая пара */
.as-qa-a{white-space:pre-line}
.as-qa.edit{grid-template-columns:minmax(0,1fr)}
.as-qa.edit .as-qa-m .btn{margin-left:auto}

@media (prefers-reduced-motion:reduce){.as-reading::before{animation:none}.as-f input,.as-f textarea{transition:none}}
