@charset "UTF-8";
/* ───────── 25.09.2026 (#53): ИИ-помощник — кнопка в шапке и правая панель (макет import/redant-dashboard-mockups/project/AI.dc.html,
   README «ИИ-помощник»; разбор и стык — DESIGN_53.md). Стили макета (AI.dc.html стр. 12–226) перенесены почти как есть, но:
   - все классы — с префиксом ai- и внутри #aipanel / #aibtn: в сайте уже есть .kpi (глобально), .lnk, .meta, .cmp, .err, .mx, .ok, .bad…;
   - переменные — --ai-* (имя --panel-w занято в style.css: 230px, старая правая панель), переменные сайта не переопределяем;
   - шрифт — сайта (style.css @font-face), строку Google Fonts из макета не переносим (политика сайта default-src 'self');
   - синяя кнопка сайта — .btn.primary (у дизайнера .pri). ───────── */
:root{
  --ai-w:400px;
  --ai-surface:#ffffff; --ai-surface-2:#fafaf8; --ai-line:#e4e4df; --ai-line-2:#ebebe6; --ai-ctl:#d6d6d0;
  --ai-text:#1c1e22; --ai-text-2:#33373d; --ai-muted:#6f737a; --ai-muted-2:#8a8e95;
  --ai-acc:#1f4fb8; --ai-acc-soft:#eaf0fb; --ai-acc-soft-2:#c9d6f0; --ai-acc-ink:#173c8c;
  --ai-ok:#1d6b3f; --ai-ok-dot:#2e9e5b; --ai-ok-soft:#e7f4ec;
  --ai-warn-dot:#e0a100;
  --ai-bad:#a3261c; --ai-bad-dot:#c0392b; --ai-bad-soft:#fdecea;
  --ai-block:#ead1dc;
}

/* кнопка в шапке: Lucide sparkles #1f4fb8 + «Помощник»; точка 9 px — новая сводка; открыта — кольцо (.btn.on из style.css) */
#aibtn{position:relative}
#aibtn svg.ai-sp{color:var(--ai-acc)}
#aibtn .ai-new{position:absolute;top:-3px;right:-3px;width:9px;height:9px;border-radius:50%;background:var(--ai-acc);box-shadow:0 0 0 2px var(--ai-surface)}
#aibtn .ai-new[hidden],#aibtn.on .ai-new{display:none}
/* узкое окно — только значок 32×32 с точкой, подпись — в title и aria-label; 06.10.2026: шаг — по ширине окна (style.css «шапка 06.10»), прежний hwai снят */

/* панель: справа, от низа второй строки шапки до низа окна; поверх таблицы с тенью, закрепленная — таблица сужается (body.ai-pinned) */
#aipanel{position:fixed;top:var(--ai-top,100px);right:0;bottom:0;width:var(--ai-w);background:var(--ai-surface);border-left:1px solid #d9d9d3;
  box-shadow:-12px 0 32px rgba(20,20,19,.12);display:flex;flex-direction:column;overflow:hidden;z-index:20;color:var(--ai-text);font-size:13px;
  transform:translateX(0);animation:aiIn .2s cubic-bezier(.2,.8,.3,1) both}
#aipanel[hidden]{display:none}
#aipanel.ai-pinned{box-shadow:none}
@keyframes aiIn{from{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}
body.ai-pinned > #content,body.ai-pinned > #banners{margin-right:var(--ai-w)}
/* 19.10.2026 (#53, вариант «а» владельца 16.10): ширина — перетаскиванием левого края, как DevTools. Край — полоса 6 px внутри панели, курсор «↔»;
   при наведении, перетаскивании и фокусе клавиатурой — синяя линия 2 px у серой границы. Ширина (--ai-w) и пределы — ai.js applyW */
#aipanel .ai-grip{position:absolute;left:0;top:0;bottom:0;width:6px;z-index:6;cursor:col-resize;touch-action:none;outline:none}
#aipanel .ai-grip::after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ai-acc);opacity:0;transition:opacity .12s}
#aipanel .ai-grip:hover::after,#aipanel .ai-grip:focus-visible::after,body.ai-resizing #aipanel .ai-grip::after{opacity:1}
body.ai-resizing{cursor:col-resize;user-select:none}
#aipanel svg{display:block;flex-shrink:0}
#aipanel button{font:inherit;color:inherit}
#aipanel .btn.sm{height:28px;padding:0 10px;font-size:12.5px}
#aipanel .btn.primary{align-self:auto;font-weight:500;color:#fff}   /* 25.09.2026: белый текст — иначе сброс «#aipanel button{color:inherit}» (стр. 36) давал темный текст на синем */
#aipanel .btn.primary[disabled]{background:#c9d3ea;border-color:#c9d3ea;color:#fff}

/* заголовок 44 px: sparkles + «Помощник», закрепить, закрыть */
#aipanel .ai-h{height:44px;display:flex;align-items:center;gap:8px;padding:0 8px 0 14px;flex-shrink:0}
#aipanel .ai-h b{font-size:14px;font-weight:600;flex-grow:1;display:flex;align-items:center;gap:8px}
#aipanel .ai-h b svg{color:var(--ai-acc)}
#aipanel .ai-h .btn{color:var(--ai-muted)}
#aipanel .ai-h .btn.on{color:var(--ai-acc);box-shadow:none;background:transparent}
#aipanel .ai-h .btn.on:hover{background:#f0f0ec}
#aipanel .ai-h .btn.ai-x:hover{background:var(--ai-bad-soft);color:#8c1d15}
#aipanel .ai-h .btn .ai-pb{fill:none;transition:fill .14s}
#aipanel .ai-h .btn.on .ai-pb{fill:currentColor}

/* вкладки 36 px, активная — полоса 2 px снизу */
#aipanel .ai-tabs{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid var(--ai-line-2);flex-shrink:0}
#aipanel .ai-tabs button{border:0;background:transparent;height:36px;padding:0 10px;font-size:13px;font-weight:500;color:#5a5e65;cursor:pointer;position:relative;display:flex;align-items:center;gap:6px}
#aipanel .ai-tabs button:hover,#aipanel .ai-tabs button.on{color:var(--ai-text)}
#aipanel .ai-tabs button.on::after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--ai-acc)}
#aipanel .ai-tabs .ai-n{font-size:11px;font-weight:600;background:var(--ai-acc-soft);color:var(--ai-acc-ink);border-radius:9px;padding:0 6px;line-height:16px}
#aipanel .ai-tabs .ai-d{width:7px;height:7px;border-radius:50%;background:var(--ai-acc);display:block}

/* полоса «Образец» (AI_DEMO.demo): сервер помощника еще не подключен */
#aipanel .ai-demo{flex-shrink:0;background:#fff1d6;color:#6f4300;font-size:11.5px;line-height:16px;padding:6px 14px;border-bottom:1px solid #f0d49a}
#aipanel .ai-demo b{font-weight:600}

/* тело вкладки; блоки не сжимаются по высоте, иначе ссылки прилипают к краю карточки */
#aipanel .ai-b{flex-grow:1;min-height:0;overflow-y:auto;padding:14px 16px 18px;display:flex;flex-direction:column;gap:14px}
#aipanel .ai-b > *{flex-shrink:0}
#aipanel .ai-b.ai-tips{gap:10px}
#aipanel .ai-meta{font-size:11.5px;color:var(--ai-muted-2);display:flex;flex-wrap:wrap;gap:4px 10px}

/* сводка */
#aipanel .ai-s-h h3{margin:0;font-size:15px;font-weight:600}
#aipanel .ai-s-h .ai-meta{margin-top:2px}
#aipanel .ai-kpi{border-radius:8px;padding:12px 14px;background:var(--ai-bad-soft);display:flex;flex-direction:column;gap:6px}
#aipanel .ai-kpi.ok{background:var(--ai-ok-soft)}
#aipanel .ai-kpi .ai-big{display:flex;align-items:baseline;gap:8px;font-size:13px;color:var(--ai-text-2)}
#aipanel .ai-kpi .ai-big b{font-size:22px;font-weight:600;color:var(--ai-bad);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
#aipanel .ai-kpi.ok .ai-big b{color:var(--ai-ok)}
#aipanel .ai-kpi .ai-sub{font-size:12px;color:#5a5e65;display:flex;flex-wrap:wrap;gap:2px 12px;font-variant-numeric:tabular-nums}
#aipanel .ai-pts{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;font-size:13px;line-height:18px;color:var(--ai-text-2)}
#aipanel .ai-pts li{display:flex;gap:8px}
#aipanel .ai-pts li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--ai-muted-2);flex-shrink:0;margin-top:7px}
#aipanel .ai-sec-t{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ai-muted);font-weight:600;margin:0;display:flex;align-items:center;gap:6px}
#aipanel .ai-att{display:flex;flex-direction:column;border:1px solid var(--ai-line);border-radius:8px;overflow:hidden}
#aipanel .ai-att > div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 10px;padding:10px 12px;align-items:start}   /* 19.10 (_04, владелец: «что-то начинается от иконки, а что-то под ней»): две колонки — значок | текст; текст всегда от значка, ссылки — под текстом по его краю (было в _02: flex с переносом — длинный текст уходил под значок, ссылки с отступом 25 px); на широкой панели — справа (п. 8) */
#aipanel .ai-att > div + div{border-top:1px solid var(--ai-line-2)}
#aipanel .ai-att .ai-ic{margin-top:1px}
#aipanel .ai-att .ai-ic.bad{color:var(--ai-bad-dot)}
#aipanel .ai-att .ai-ic.warn{color:var(--ai-warn-dot)}
#aipanel .ai-att .ai-tx{flex-grow:1;min-width:0;font-size:12.5px;line-height:17px;color:var(--ai-text-2)}
#aipanel .ai-att .ai-tx b{font-weight:600;color:var(--ai-text)}
#aipanel .ai-att .ai-tx .ai-m2{display:block;color:var(--ai-muted);font-size:11.5px}
#aipanel .ai-att .ai-acts{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 14px}
#aipanel.ai-wide .ai-att > div{grid-template-columns:auto minmax(0,1fr) auto}
#aipanel.ai-wide .ai-att .ai-acts{grid-column:3;grid-row:1;flex-wrap:nowrap}
#aipanel .ai-lnk{border:0;background:transparent;padding:0;color:var(--ai-acc);cursor:pointer;font-size:12px;font-weight:500;white-space:nowrap;display:inline-flex;align-items:center;gap:4px;height:18px}
#aipanel .ai-lnk:hover span{text-decoration:underline;text-underline-offset:2px}
#aipanel .ai-lnk svg{position:relative;top:.5px}
#aipanel .ai-tgm{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ai-muted)}
#aipanel .ai-tgm svg{position:relative;top:.5px;color:#229ED9}
#aipanel .ai-fb{border-top:1px solid var(--ai-line-2);padding-top:12px;display:flex;flex-direction:column;gap:8px}
#aipanel .ai-fb-r{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ai-text-2)}
#aipanel .ai-fb-r span{flex-grow:1}
#aipanel .ai-fb .btn.ai-on-ok{background:var(--ai-ok-soft);border-color:#b9dcc6;color:var(--ai-ok)}
#aipanel .ai-fb .btn.ai-on-no{background:var(--ai-bad-soft);border-color:#f3c7c2;color:var(--ai-bad)}
#aipanel .ai-row-end{display:flex;justify-content:flex-end;gap:8px}
#aipanel textarea{width:100%;min-height:60px;resize:vertical;border:1px solid var(--ai-ctl);border-radius:6px;padding:7px 9px;font:inherit;font-size:12.5px;line-height:17px;color:var(--ai-text);background:#fff;outline:none}
#aipanel textarea:focus{border-color:var(--ai-acc);box-shadow:0 0 0 2px rgba(31,79,184,.15)}
#aipanel .ai-thx{font-size:12px;color:var(--ai-ok);display:flex;align-items:center;gap:6px}
#aipanel .ai-empty{flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:30px 18px;color:#5a5e65;font-size:12.5px;line-height:1.5}
#aipanel .ai-empty > svg{color:#b3b6bc}
#aipanel .ai-empty b{font-size:14px;color:var(--ai-text);font-weight:600}
#aipanel .ai-banner{display:flex;gap:10px;align-items:flex-start;border-radius:8px;padding:10px 12px;font-size:12.5px;line-height:17px}
#aipanel .ai-banner.old{background:#fff1d6;color:#6f4300}
#aipanel .ai-banner.bad{background:var(--ai-bad-soft);color:#8c1d15}
#aipanel .ai-banner svg{margin-top:1px}
#aipanel .ai-banner b{font-weight:600}
#aipanel .ai-prog{height:4px;border-radius:2px;background:#ebebe6;overflow:hidden;width:200px}
#aipanel .ai-prog i{display:block;height:100%;background:var(--ai-warn-dot);border-radius:2px}

/* советы */
#aipanel .ai-fl{display:flex;align-self:flex-start;padding:2px;background:#efefeb;border-radius:6px}   /* 19.10 (п. 6): по ширине надписей, как переключатели шапки */
#aipanel .ai-fl button{flex:0 0 auto;padding:0 12px;border:0;background:transparent;height:26px;border-radius:4px;font-size:12.5px;font-weight:500;color:#5a5e65;cursor:pointer;white-space:nowrap}
#aipanel .ai-fl button:hover{color:var(--ai-text)}
#aipanel .ai-fl button.on{background:var(--ai-surface);color:var(--ai-text);box-shadow:0 1px 2px rgba(0,0,0,.12)}
#aipanel .ai-fl button i{font-style:normal;color:var(--ai-muted-2);margin-left:4px}
#aipanel .ai-tc{border:1px solid var(--ai-line-2);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:9px;background:var(--ai-surface-2)}
#aipanel .ai-tc.new{background:var(--ai-surface);border-color:var(--ai-line);box-shadow:0 1px 3px rgba(20,20,19,.07)}
#aipanel .ai-tc.stale .ai-tc-n,#aipanel .ai-tc.stale .ai-chg,#aipanel .ai-tc.stale .ai-mx{opacity:.6}
#aipanel .ai-tc.ai-flash{animation:aiFlash 1.6s ease-out}
@keyframes aiFlash{0%{box-shadow:0 0 0 2px var(--ai-acc),0 0 0 6px rgba(31,79,184,.22)}100%{box-shadow:0 0 0 2px rgba(31,79,184,0),0 0 0 0 rgba(31,79,184,0)}}
#aipanel .ai-tc-top{display:flex;align-items:center;gap:8px}
#aipanel .ai-plat{font-size:11px;font-weight:600;border-radius:4px;padding:1px 6px;background:var(--ai-block);color:#6b2d47}
#aipanel .ai-plat.oz{background:#dbe7fb;color:#173c8c}
#aipanel .ai-plat.ym{background:#fff0c2;color:#6f4f00}
#aipanel .ai-tc-top .ai-lnk{margin-left:auto}
#aipanel .ai-tc-top .ai-lnk + .ai-tst{margin-left:12px}
#aipanel .ai-tst{margin-left:auto;font-size:11.5px;display:flex;align-items:center;gap:5px;color:var(--ai-muted)}
#aipanel .ai-tst i{width:6px;height:6px;border-radius:50%;background:#b3b5b9;display:block}
#aipanel .ai-tst.new{color:var(--ai-acc-ink);background:var(--ai-acc-soft);border-radius:9px;padding:1px 8px 1px 7px;font-weight:500}
#aipanel .ai-tst.new i{background:var(--ai-acc)}
#aipanel .ai-tst.ok{color:var(--ai-ok)}
#aipanel .ai-tst.ok i{background:var(--ai-ok-dot)}
#aipanel .ai-tst.no{color:var(--ai-bad)}
#aipanel .ai-tst.no i{background:var(--ai-bad-dot)}
#aipanel .ai-tc-n{font-size:13.5px;font-weight:600;line-height:18px;overflow-wrap:anywhere}
#aipanel .ai-tc-n .ai-id{display:block;font-size:11.5px;font-weight:400;color:var(--ai-muted-2);margin-top:1px;font-variant-numeric:tabular-nums}
#aipanel .ai-chg{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12.5px;align-items:baseline;font-variant-numeric:tabular-nums}
#aipanel .ai-chg .ai-k{color:var(--ai-muted)}
#aipanel .ai-chg .ai-v{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
#aipanel .ai-chg s{color:var(--ai-muted-2);text-decoration:none}
#aipanel .ai-chg .ai-to{font-weight:600;color:var(--ai-text)}
#aipanel .ai-chg .ai-dl{font-size:11.5px;font-weight:500;color:var(--ai-bad)}
#aipanel .ai-chg .ai-dl.up{color:var(--ai-ok)}
#aipanel .ai-mx{display:flex;flex-wrap:wrap;gap:2px 16px;font-size:12px;color:var(--ai-muted);font-variant-numeric:tabular-nums}
#aipanel .ai-mx b{font-weight:600;color:var(--ai-text-2)}
#aipanel .ai-mx b.bad{color:var(--ai-bad)}
#aipanel .ai-mx b.ok{color:var(--ai-ok)}
#aipanel .ai-why{font-size:12.5px;line-height:17px;color:var(--ai-text-2);margin:0}
#aipanel .ai-tc-a{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#aipanel .ai-tc-note{font-size:12px;color:var(--ai-muted);line-height:16px}
#aipanel .ai-rej{display:flex;flex-direction:column;gap:8px;background:var(--ai-surface-2);border:1px solid var(--ai-line-2);border-radius:6px;padding:10px}
#aipanel .ai-rej .ai-tc-note{color:var(--ai-text-2)}
#aipanel .ai-chips{display:flex;flex-wrap:wrap;gap:6px}
#aipanel .ai-chips button{height:26px;padding:0 10px;border-radius:13px;border:1px solid var(--ai-ctl);background:var(--ai-surface);font-size:12px;cursor:pointer}
#aipanel .ai-chips button:hover{background:#f3f3ef}
#aipanel .ai-chips button.on{background:var(--ai-acc-soft);border-color:var(--ai-acc);color:var(--ai-acc-ink);font-weight:500}
#aipanel .ai-ro{font-size:11.5px;color:var(--ai-muted);display:flex;align-items:center;gap:6px;background:var(--ai-surface-2);border-radius:6px;padding:7px 10px}

/* чат */
#aipanel .ai-chatp{flex-grow:1;display:flex;flex-direction:column;min-height:0}
#aipanel .ai-chat{flex-grow:1;min-height:0;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px}
#aipanel .ai-chat > *{flex-shrink:0}
#aipanel .ai-msg{max-width:92%;font-size:13px;line-height:19px;overflow-wrap:anywhere}
#aipanel .ai-msg.me{align-self:flex-end;background:var(--ai-acc-soft);color:var(--ai-acc-ink);border-radius:10px 10px 2px 10px;padding:7px 11px;white-space:pre-wrap}
#aipanel .ai-msg.bot{align-self:flex-start;color:var(--ai-text-2)}
#aipanel .ai-msg .ai-who{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ai-muted-2);margin-bottom:3px}
#aipanel .ai-msg .ai-who svg{color:var(--ai-acc)}
#aipanel .ai-num{border:0;background:transparent;padding:0 1px;font:inherit;font-weight:600;color:var(--ai-acc-ink);cursor:pointer;border-bottom:1px dashed var(--ai-acc);border-radius:2px;font-variant-numeric:tabular-nums}
#aipanel .ai-num:hover{background:var(--ai-acc-soft)}
#aipanel .ai-src{font-size:11px;color:var(--ai-muted-2);margin-top:4px}
/* 19.10.2026 (п. 9): «Источники (N)» — свернуто, щелчок раскрывает список (ai.js srcHTML) */
#aipanel .ai-src .ai-srct{color:var(--ai-muted-2);font-size:11px;font-weight:400;height:16px;gap:2px}
#aipanel .ai-src .ai-srct:hover{color:var(--ai-text-2)}
#aipanel .ai-src .ai-srct svg{width:12px;height:12px;transition:transform .15s}
#aipanel .ai-src .ai-srct[aria-expanded="true"] svg{transform:rotate(180deg)}
#aipanel .ai-srcl{margin-top:2px}
/* 27.10.2026 (#198 выкладка 3): блок «Расчет» (ai.js calcHTML) — раскрытие как у «Источников»; код — моноширинным, как .file в админке */
#aipanel .ai-calc+.ai-calc{margin-top:6px}
/* 27.10.2026 (#198 «вариант 2»): «Ход работы» (ai.js stepsHTML) — строки списка «Источников»; «показать расчет» — та же ссылка .ai-lnk в размер строки */
#aipanel .ai-step .ai-stepcalc{font-size:11px;height:auto;font-weight:400}
#aipanel .ai-calc .ai-code{margin-top:2px;white-space:pre-wrap;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
/* 28.10.2026 (#205 б): карточка файла под ответом (ai.js fileHTML) — строка списка «Требует внимания» (.ai-att) как есть; значок серый;
   срок хранения истек — имя серым, ссылки нет; «Скачиваю…» — курсор ожидания */
#aipanel .ai-msg .ai-files{margin-top:6px}
#aipanel .ai-files .ai-ic{color:var(--ai-muted)}
#aipanel .ai-files .ai-file.off .ai-tx b{color:var(--ai-muted)}
#aipanel .ai-files .ai-lnk[aria-disabled="true"]{cursor:progress}
#aipanel .ai-think{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ai-muted)}
#aipanel .ai-think .ai-lnk{margin-left:auto}
#aipanel .ai-dots{display:flex;gap:3px}
#aipanel .ai-dots i{width:5px;height:5px;border-radius:50%;background:var(--ai-acc);display:block;animation:aiDt 1.2s infinite ease-in-out}
#aipanel .ai-dots i:nth-child(2){animation-delay:.15s}
#aipanel .ai-dots i:nth-child(3){animation-delay:.3s}
@keyframes aiDt{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}
#aipanel .ai-err{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--ai-bad);background:var(--ai-bad-soft);border-radius:8px;padding:8px 10px}
#aipanel .ai-err span{flex-grow:1}
#aipanel .ai-qq{display:flex;flex-wrap:wrap;gap:6px;padding:0 16px 10px;flex-shrink:0}
#aipanel .ai-qq button{height:28px;padding:0 10px;border-radius:14px;border:1px solid var(--ai-acc-soft-2);background:var(--ai-surface);color:var(--ai-acc-ink);font-size:12px;cursor:pointer;white-space:nowrap}
#aipanel .ai-qq button:hover{background:var(--ai-acc-soft)}
#aipanel .ai-qq button[disabled]{color:#b3b5b9;border-color:#e2e2dc;cursor:default;background:var(--ai-surface)}
#aipanel .ai-cmp{border-top:1px solid var(--ai-line-2);padding:10px 12px;display:flex;flex-direction:column;gap:6px;flex-shrink:0;background:var(--ai-surface)}
#aipanel .ai-cmp-r{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--ai-ctl);border-radius:8px;padding:6px 6px 6px 10px}
#aipanel .ai-cmp-r:focus-within{border-color:var(--ai-acc);box-shadow:0 0 0 2px rgba(31,79,184,.15)}
#aipanel .ai-cmp-r textarea{border:0;box-shadow:none;padding:3px 0;min-height:24px;height:24px;max-height:96px;resize:none;font-size:13px;line-height:18px;overflow-y:hidden}
#aipanel .ai-cmp-r textarea:focus{box-shadow:none}
#aipanel .ai-cmp-r textarea[disabled]{background:#fafaf8;color:var(--ai-muted-2)}
#aipanel .ai-cmp-r .btn.ai-send{width:30px;height:30px;flex-shrink:0}
#aipanel .ai-cmp .ai-hint{font-size:11px;color:var(--ai-muted-2);display:flex;justify-content:space-between}
#aipanel .ai-lim{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;line-height:17px;color:#6f4300;background:#fff1d6;border-radius:8px;padding:9px 11px}
#aipanel .ai-lim b{font-weight:600}

/* записка «Показать в таблице» не сработала: рядом со ссылкой на 3 с */
#aipanel .ai-note{position:absolute;z-index:3;max-width:300px;background:#1c1e22;color:#fff;font-size:11.5px;line-height:16px;padding:5px 9px;border-radius:6px;
  box-shadow:0 6px 18px rgba(20,20,19,.18);pointer-events:none;animation:aiNote .16s cubic-bezier(.2,.8,.3,1) both}
@keyframes aiNote{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* наведение и нажатие — как во всем проекте (README «Анимации в панели»): 0,14 с, нажатие мгновенное */
#aipanel .ai-chips button,#aipanel .ai-qq button,#aipanel .ai-fl button,#aipanel .ai-tabs button,#aipanel .ai-num,#aipanel .ai-lnk{
  transition:background-color .14s ease-out,border-color .14s ease-out,color .14s ease-out,box-shadow .14s ease-out}
#aipanel .ai-tabs button::after{transition:opacity .14s}
#aipanel .ai-chips button:active,#aipanel .ai-qq button:not([disabled]):active,#aipanel .ai-fl button:active,#aipanel .ai-num:active{transition-duration:0s;background:#ebebe6}
@media (prefers-reduced-motion: reduce){
  #aipanel,#aipanel .ai-dots i,#aipanel .ai-tc.ai-flash,#aipanel .ai-note{animation:none}
  #aipanel .ai-chips button,#aipanel .ai-qq button,#aipanel .ai-fl button,#aipanel .ai-tabs button,#aipanel .ai-num,#aipanel .ai-lnk,
  #aipanel .ai-tabs button::after,#aipanel .ai-h .btn .ai-pb{transition:none}
  #aipanel .ai-tc.ai-flash{box-shadow:0 0 0 2px var(--ai-acc)}
}

/* ───────── 16.10.2026 (#53 этап 3, plan_page_chat.md §1, §1а, Р2 а, Р3 а, К18): доступ, чат с сервером ─────────
   - помощник учетке закрыт: кнопка — .btn[disabled] шапки (style.css), значок sparkles — тем же серым, что текст неактивной кнопки;
   - строка разговоров над лентой — меню того же вида, что «Период» / «Каналы»: .dd > .btn (значок 15, подпись, chevron-down 14) и
     .menu / .mh / .mi / .msep из style.css; ниже — только размеры внутри панели и цвета пунктов, которые перебивает «#aipanel button»;
   - ответ — разметка ai-md.js: заголовки, абзацы, списки, таблица — вид table.t админки («Вызвано инструментов»), широкая листается вбок;
   - «Сегодня задано N из L» — в строке подсказки под полем; на узком окне панель не шире окна. */
#aibtn[disabled] svg.ai-sp{color:#b3b5b9}
#aipanel{max-width:100vw}
#aipanel .ai-chr{display:flex;align-items:center;gap:6px;padding:8px 12px;border-bottom:1px solid var(--ai-line-2);flex-shrink:0;position:relative;z-index:2}
#aipanel .ai-chr .dd{flex:0 1 auto;min-width:0;display:flex}   /* 19.10 (п. 3): по ширине названия — «+» сразу за ним */
#aipanel .ai-chr .dd > .btn{min-width:0;max-width:100%}
#aipanel .ai-chr .dd > .btn .ai-cht{min-width:0;overflow:hidden;text-overflow:ellipsis}
#aipanel .ai-chr .dd > .btn svg{color:var(--ai-muted)}
#aipanel .ai-chr .menu{right:auto;min-width:0;width:480px;max-width:min(calc(var(--ai-w) - 24px),calc(100vw - 24px))}   /* 19.10 (п. 4): не во всю ширину широкой панели; уже панели — по ней */
#aipanel .ai-chr > .btn.ib{flex-shrink:0;color:var(--ai-muted)}       /* 19.10 (п. 3): «+» — новый чат */
#aipanel .ai-chl{max-height:320px;overflow-y:auto;overscroll-behavior:contain}
#aipanel .ai-chr .mi .ai-chn{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
#aipanel .ai-chr .mi .ai-chd{flex-shrink:0;font-size:11.5px;font-weight:400;color:var(--ai-muted-2);font-variant-numeric:tabular-nums}
#aipanel .ai-chempty{padding:6px 10px 8px;font-size:12.5px;color:var(--ai-muted)}
#aipanel svg.ai-tg{color:#229ED9}
#aipanel .mi.on{color:#173c8c}
#aipanel .mi.danger{color:#a8231b}
#aipanel .mi.danger:hover{color:#8c1d15}
#aipanel .ai-msg.bot .ai-md > :first-child{margin-top:0}
#aipanel .ai-msg.bot .ai-md > :last-child{margin-bottom:0}
#aipanel .ai-md p{margin:0 0 6px}
#aipanel .ai-md h4{margin:10px 0 4px;font-size:13.5px;font-weight:600;color:var(--ai-text)}
#aipanel .ai-md h5{margin:8px 0 2px;font-size:13px;font-weight:600;color:var(--ai-text)}
#aipanel .ai-md ul,#aipanel .ai-md ol{margin:0 0 6px;padding-left:20px}
#aipanel .ai-md li{margin:2px 0}
#aipanel .ai-md b{font-weight:600;color:var(--ai-text)}
#aipanel .ai-md hr{border:0;border-top:1px solid var(--ai-line-2);margin:8px 0}
#aipanel .ai-md .ai-md-tw{overflow-x:auto;margin:4px 0 8px;border:1px solid var(--ai-line);border-radius:8px}
/* сброс правил таблицы листа (style.css: table-layout fixed, закрепленные шапка и первый столбец 168 px, обрезка «…») — как у таблиц в окнах
   (restyle.css «.modal table»): иначе шапка таблицы ответа (z-index 5) ложилась поверх меню разговоров */
#aipanel .ai-md table.t{table-layout:auto;border-collapse:collapse;font-size:12.5px;min-width:100%}
#aipanel .ai-md table.t th,#aipanel .ai-md table.t td,#aipanel .ai-md table.t tbody td:first-child,#aipanel .ai-md table.t thead th:first-child{position:static;
  width:auto;min-width:0;max-width:none;height:30px;padding:0 10px;border:0;border-bottom:1px solid #f0f0ec;font-size:12.5px;font-weight:400;
  background:none;text-align:left;vertical-align:middle;white-space:nowrap;overflow:visible;text-overflow:clip;line-height:16px}
#aipanel .ai-md table.t thead th,#aipanel .ai-md table.t thead th:first-child{background:var(--ai-surface-2);border-bottom:1px solid var(--ai-line);
  font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--ai-muted)}
#aipanel .ai-md table.t tbody tr:last-child td{border-bottom:0}
#aipanel .ai-md table.t .num,#aipanel .ai-md table.t tbody td.num:first-child{text-align:right;font-variant-numeric:tabular-nums}
#aipanel .ai-md table.t b{font-weight:600}
#aipanel .ai-cmp .ai-hint{flex-wrap:wrap;gap:2px 12px}
#aipanel .ai-cmp .ai-hint .ai-day{flex-basis:100%;font-variant-numeric:tabular-nums}   /* своей строкой под «Enter… / Может ошибаться» */
#aipanel .ai-cmp .ai-ro{line-height:16px}
