/* 🔎 Ассистент закупок (app/asst.js): блок на главном экране собственника и лист с деталями. Цвета — токены «Стиль 2026». */
.as-box{background:var(--panel);border-radius:18px;padding:12px;display:flex;flex-direction:column;gap:8px;}
.as-h{display:flex;align-items:center;gap:8px;padding:0 2px;}
.as-h b{font-size:15px;font-weight:800;flex:1;}
.as-ai{font-size:11px;font-weight:800;color:var(--ai);background:var(--ai-bg);border-radius:999px;padding:3px 8px;white-space:nowrap;}
.as-camp{border:0;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:var(--panel2);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;min-width:0;width:100%;}
.as-camp:focus-visible,.as-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.as-camp-t{display:flex;align-items:center;gap:8px;justify-content:space-between;}
.as-camp-t b{font-size:14px;font-weight:800;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.as-nums{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;}
.as-nums div{display:flex;flex-direction:column;min-width:0;}
.as-nums b{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.as-nums small{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.as-nums .hl b{color:var(--info);}
.as-bar{display:flex;height:6px;border-radius:4px;overflow:hidden;background:var(--border);gap:2px;}
.as-bar i{display:block;height:100%;} .as-bar .r{background:var(--err);} .as-bar .o{background:var(--accent);} .as-bar .i{background:var(--info);}
.as-sub{font-size:12px;color:var(--text-dim);}
.as-chip{display:inline-flex;align-items:center;font-size:11px;font-weight:800;padding:3px 8px;border-radius:999px;white-space:nowrap;flex-shrink:0;}
.as-chip.new{background:var(--info-bg);color:var(--info);} .as-chip.warn{background:var(--warn-bg);color:var(--warn);}
.as-chip.ok{background:var(--ok-bg);color:var(--ok);} .as-chip.bad{background:var(--err-bg);color:var(--err);}
.as-chip.wait{background:var(--muted-bg);color:var(--text-dim);}

.as-wrap{position:fixed;inset:0;z-index:60;background:rgba(10,10,9,.45);display:flex;align-items:flex-end;justify-content:center;}
.as-sheet{background:var(--bg);color:var(--text);width:100%;max-width:640px;max-height:92vh;overflow:auto;border-radius:18px 18px 0 0;padding:0 14px calc(16px + env(safe-area-inset-bottom,0px));box-sizing:border-box;}
@media (min-width:700px){.as-wrap{align-items:center;}.as-sheet{border-radius:18px;}}
.as-sh{position:sticky;top:0;z-index:1;background:var(--bg);display:flex;align-items:center;gap:8px;padding:14px 2px 10px;}
.as-sh b{flex:1;font-size:18px;font-weight:800;}
.as-x{border:0;background:var(--panel);color:var(--text);width:40px;height:40px;border-radius:12px;font-size:22px;cursor:pointer;}
.as-sb{display:flex;flex-direction:column;gap:12px;}
.as-chips{display:flex;gap:6px;flex-wrap:wrap;}
.as-goal{margin:0;font-size:13px;color:var(--text-dim);}
.as-funnel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:var(--panel);border-radius:18px;padding:10px 4px;}
.as-funnel div{display:flex;flex-direction:column;align-items:center;border-left:1px solid var(--border);min-width:0;}
.as-funnel div:first-child{border-left:0;}
.as-funnel b{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums;} .as-funnel small{font-size:11px;color:var(--text-dim);}
.as-sec{background:var(--panel);border-radius:18px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0;}
.as-sec-h{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.as-sec-h b{font-size:12px;font-weight:800;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;}
.as-sec-h small{font-size:12px;color:var(--text-dim);}
.as-reply{display:flex;flex-direction:column;gap:8px;padding-top:8px;border-top:1px solid var(--border);}
.as-sec-h + .as-reply{border-top:0;padding-top:0;}
.as-reply-h{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;}
.as-reply-h div{display:flex;flex-direction:column;min-width:0;}
.as-reply-h b{font-size:14px;} .as-reply-h small{font-size:12px;color:var(--text-dim);}
.as-quote{font-size:13px;background:var(--panel2);border-radius:12px;padding:10px 12px;margin:0;}
.as-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px;margin:0;}
.as-facts dt{color:var(--text-dim);} .as-facts dd{margin:0;font-weight:600;min-width:0;overflow-wrap:anywhere;}
.as-btns{display:flex;gap:6px;flex-wrap:wrap;}
.as-btn{font:inherit;font-size:13px;font-weight:700;color:var(--text);background:transparent;border:1px solid var(--border);border-radius:12px;padding:9px 12px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;}
.as-btn[disabled]{opacity:.5;cursor:not-allowed;}
.as-btn.pri{background:var(--text);color:var(--bg);border-color:var(--text);width:100%;font-size:15px;min-height:50px;}
.as-tbl{overflow-x:auto;}
.as-tbl table{border-collapse:collapse;width:100%;font-size:12.5px;}
.as-tbl th{font-size:11px;text-align:left;color:var(--text-dim);font-weight:700;padding:6px;border-bottom:1px solid var(--border);white-space:nowrap;}
.as-tbl td{padding:7px 6px;border-bottom:1px solid var(--border);vertical-align:top;}
.as-tbl td.n{font-variant-numeric:tabular-nums;white-space:nowrap;}
.as-tbl tr.dim td{color:var(--text-dim);font-style:italic;}
.as-tbl .yes{color:var(--ok);font-weight:800;} .as-tbl .no{color:var(--err);font-weight:800;}
.as-rec{background:var(--ai-bg);border-radius:14px;padding:10px 12px;font-size:13px;display:flex;flex-direction:column;gap:3px;}
.as-rec b{color:var(--ai);font-size:12px;text-transform:uppercase;letter-spacing:.06em;}
.as-li{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--border);min-width:0;}
.as-sec-h + .as-li{border-top:0;}
.as-li > div{flex:1;min-width:0;display:flex;flex-direction:column;}
.as-li b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.as-li small,.as-li code{font-size:11.5px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.as-li code,.as-when{font-family:'JetBrains Mono',ui-monospace,monospace;}
.as-li input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;}
.as-li a{color:var(--info);font-size:12px;text-decoration:none;flex-shrink:0;}
.as-when{font-size:11px;color:var(--text-dim);text-align:right;white-space:nowrap;flex-shrink:0;}
.as-subj{font-size:13px;font-weight:700;}
.as-letter{background:var(--panel2);border-radius:12px;padding:10px 12px;font:inherit;font-size:12.5px;line-height:1.45;white-space:pre-wrap;margin:0;max-height:300px;overflow:auto;}
.as-note{font-size:12px;color:var(--text-dim);margin:6px 0 0;}
.as-confirm{background:var(--warn-bg);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px;}
.as-confirm p{margin:0;font-size:13.5px;font-weight:600;}
.as-toast{font-size:13px;font-weight:700;background:var(--ok-bg);color:var(--ok);border-radius:12px;padding:10px 12px;}

/* ═════════ 🧭 дизайн C «Диспетчерская» (html.ui-c): блок «🔎 Закупки» и лист запроса ═════════
   Та же разметка asst.js, вид — общие компоненты ui.css: панель со строками, плашки, цифры, таблица, ящик справа
   (на телефоне — снизу). Только токены; каждое правило под :root.ui-c — старый экран собственника не меняется. */
:root.ui-c .as-box{gap:0;padding:0;overflow:hidden;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--r-lg);font-size:var(--fs-md);line-height:var(--lh)}
:root.ui-c .as-h{min-height:44px;padding:0 14px;border-bottom:1px solid var(--border)}
:root.ui-c .as-h b{min-width:0;font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:var(--lh-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* плашки — как .ui-pill (◆ Альбина — .ui-pill.ai без точки) */
:root.ui-c :is(.as-ai,.as-chip){display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 7px;border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:var(--fw-medium);line-height:1;white-space:nowrap;flex-shrink:0}
:root.ui-c .as-chip::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}
:root.ui-c .as-chip.wait{background:var(--surface-3);color:var(--text-2)}
:root.ui-c .as-chip.bad{background:var(--crit-bg);color:var(--crit)}
:root.ui-c .as-chips .as-chip.wait::before{display:none}
/* запрос — строка панели: название · плашка, четыре цифры, полоса, итог */
:root.ui-c .as-camp{gap:8px;padding:12px 14px;border-radius:0;background:transparent;border-bottom:1px solid var(--border-soft);font-size:var(--fs-md);transition:background var(--t-fast)}
:root.ui-c .as-camp:last-child{border-bottom:0}
@media (hover:hover){:root.ui-c .as-camp:hover{background:var(--surface-2)}}
:root.ui-c .as-camp:active{background:var(--surface-2)}
:root.ui-c .as-camp:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}
:root.ui-c .as-camp-t b{font-size:var(--fs-md);font-weight:var(--fw-medium)}
:root.ui-c .as-nums{gap:8px}
:root.ui-c .as-nums b{font-size:var(--fs-xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-num);line-height:1.15}
:root.ui-c .as-nums small{font-size:var(--fs-xs);color:var(--text-3)}
:root.ui-c .as-bar{height:4px;gap:2px;border-radius:2px;background:var(--surface-3)}
:root.ui-c .as-bar .r{background:var(--crit)} :root.ui-c .as-bar .o{background:var(--accent)} :root.ui-c .as-bar .i{background:var(--info)}
:root.ui-c .as-sub{font-size:var(--fs-sm);color:var(--text-3)}

/* лист запроса — ящик справа (как PFUI.drawer), на телефоне — снизу */
:root.ui-c .as-wrap{z-index:var(--z-scrim);align-items:stretch;justify-content:flex-end;background:var(--scrim)}
:root.ui-c .as-sheet{width:min(560px,100%);max-width:none;max-height:none;height:100%;padding:0 0 calc(24px + var(--safe-b));border-left:1px solid var(--border-strong);border-radius:0;
  background:var(--surface);color:var(--text);box-shadow:var(--shadow-pop);font-size:var(--fs-md);line-height:var(--lh);overscroll-behavior:contain}
:root.ui-c .as-sh{gap:8px;min-height:52px;margin-bottom:16px;padding:calc(8px + var(--safe-t)) 10px 8px 16px;background:var(--surface);border-bottom:1px solid var(--border)}
:root.ui-c .as-sh b{min-width:0;font-size:var(--fs-lg);font-weight:var(--fw-semibold);line-height:var(--lh-tight);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
:root.ui-c .as-x{display:inline-grid;place-items:center;width:var(--ctl-h);height:var(--ctl-h);padding:0;border-radius:var(--r-md);background:transparent;color:var(--text-2);font-size:20px;line-height:1;flex-shrink:0}
@media (hover:hover){:root.ui-c .as-x:hover{background:var(--surface-2);color:var(--text)}}
:root.ui-c .as-sb{gap:14px;padding:0 16px}
:root.ui-c .as-goal{font-size:var(--fs-md);color:var(--text-2)}
/* воронка — полоса цифр как .ui-kpis.sm */
:root.ui-c .as-funnel{padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}
:root.ui-c .as-funnel div{align-items:flex-start;gap:2px;padding:10px 12px;border-left:1px solid var(--border)}
:root.ui-c .as-funnel b{font-size:var(--fs-2xl);font-weight:var(--fw-semibold);letter-spacing:var(--ls-num);line-height:1.1}
:root.ui-c .as-funnel small{font-size:var(--fs-xs);color:var(--text-3)}
/* разделы — панели */
:root.ui-c .as-sec{gap:0;padding:0;overflow:hidden;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg)}
:root.ui-c .as-sec-h{min-height:40px;padding:0 14px;border-bottom:1px solid var(--border)}
:root.ui-c .as-sec-h b{font-size:var(--fs-md);font-weight:var(--fw-semibold);letter-spacing:0;text-transform:none;color:var(--text)}
:root.ui-c .as-sec-h small{font-size:var(--fs-xs);color:var(--text-3)}
:root.ui-c .as-reply{gap:8px;padding:12px 14px;border-top:1px solid var(--border-soft)}
:root.ui-c .as-sec-h + .as-reply{border-top:0}
:root.ui-c .as-reply-h b{font-size:var(--fs-md);font-weight:var(--fw-medium)}
:root.ui-c .as-reply-h small{font-size:var(--fs-sm);color:var(--text-3)}
:root.ui-c :is(.as-quote,.as-letter){padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--field);color:var(--text);font-size:var(--fs-md)}
:root.ui-c .as-letter{margin:0 14px 14px;font:var(--fs-sm)/1.5 var(--font-mono)}
:root.ui-c .as-subj{padding:12px 14px 8px;font-size:var(--fs-md);font-weight:var(--fw-semibold)}
:root.ui-c .as-facts{gap:4px 14px;font-size:var(--fs-md)}
:root.ui-c .as-facts dt{color:var(--text-3)}
:root.ui-c .as-facts dd{font-weight:var(--fw-medium)}
/* сравнение — как .ui-tbl */
:root.ui-c .as-tbl table{font-size:var(--fs-md);border-collapse:separate;border-spacing:0}
:root.ui-c .as-tbl th{height:32px;padding:0 12px;font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text-3);vertical-align:middle;border-bottom:1px solid var(--border)}
:root.ui-c .as-tbl td{height:var(--row-h);padding:0 12px;vertical-align:middle;border-bottom:1px solid var(--border-soft)}
:root.ui-c .as-tbl td.n{text-align:right}
:root.ui-c .as-tbl tr.dim td{color:var(--text-3);font-style:normal}
:root.ui-c .as-tbl tbody tr:last-child td{border-bottom:0}
:root.ui-c .as-tbl .yes{color:var(--ok);font-weight:var(--fw-semibold)} :root.ui-c .as-tbl .no{color:var(--crit);font-weight:var(--fw-semibold)}
/* рекомендация — как .ui-alert с ИИ-полосой */
:root.ui-c .as-rec{gap:4px;margin:12px 14px 14px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--ai) 35%,transparent);border-radius:var(--r-md);background:var(--ai-bg);
  box-shadow:inset 3px 0 0 var(--ai);font-size:var(--fs-md);color:var(--text)}
:root.ui-c .as-rec b{font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:0;text-transform:none;color:var(--ai)}
/* строки фирм */
:root.ui-c .as-li{gap:10px;min-height:44px;margin:0;padding:8px 14px;border-top:1px solid var(--border-soft);color:var(--text);font-size:var(--fs-md);font-weight:var(--fw-regular)}
:root.ui-c .as-sec-h + .as-li{border-top:0}
:root.ui-c .as-li b{font-size:var(--fs-md);font-weight:var(--fw-medium)}
:root.ui-c :is(.as-li small,.as-li code){font-size:var(--fs-sm);color:var(--text-3)}
:root.ui-c :is(.as-li code,.as-when){font-family:var(--font-mono)}
:root.ui-c .as-when{font-size:var(--fs-xs);color:var(--text-3)}
:root.ui-c .as-li input{width:16px;height:16px;margin:0;accent-color:var(--accent)}
:root.ui-c .as-li a{color:var(--accent);font-size:var(--fs-sm);font-weight:var(--fw-medium)}
/* кнопки — как .ui-btn / .ui-btn.pri */
:root.ui-c .as-btns{gap:6px}
:root.ui-c .as-reply .as-btns{padding-top:2px}
:root.ui-c .as-btn{gap:6px;height:var(--ctl-h);min-height:0;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:var(--surface);color:var(--text);
  font-size:var(--fs-md);font-weight:var(--fw-medium);line-height:1;white-space:nowrap;transition:background var(--t-fast)}
:root.ui-c .as-btn.pri{width:100%;height:calc(var(--ctl-h) + 8px);min-height:0;background:var(--fill);border-color:var(--fill-border);color:var(--on-fill);font-size:var(--fs-lg)}
:root.ui-c .as-btn[disabled]{opacity:.5}
@media (hover:hover){
  :root.ui-c .as-btn:not([disabled]):hover{background:var(--surface-2)}
  :root.ui-c .as-btn.pri:not([disabled]):hover{background:var(--fill-hover)}
}
:root.ui-c #asRemBox{display:flex;flex-direction:column;gap:6px;padding:10px 14px 12px;border-top:1px solid var(--border-soft)}
:root.ui-c .as-note{margin:6px 0 0;font-size:var(--fs-xs);color:var(--text-3)}
:root.ui-c #asRemBox .as-note{margin:0}
/* подтверждение и итог — как .ui-alert */
:root.ui-c .as-confirm{gap:8px;padding:12px;border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);border-radius:var(--r-md);background:var(--warn-bg);box-shadow:inset 3px 0 0 var(--warn)}
:root.ui-c .as-confirm p{font-size:var(--fs-md);font-weight:var(--fw-medium);color:var(--text)}
:root.ui-c .as-toast{padding:10px 12px;border:1px solid color-mix(in srgb,var(--ok) 35%,transparent);border-radius:var(--r-md);background:var(--ok-bg);color:var(--text);
  box-shadow:inset 3px 0 0 var(--ok);font-size:var(--fs-md);font-weight:var(--fw-medium)}

/* телефон: лист — снизу; цели ≥ 40 px */
@media (max-width:599px){
  :root.ui-c .as-wrap{align-items:flex-end;justify-content:center}
  :root.ui-c .as-sheet{width:100%;height:auto;max-height:calc(100% - 24px - var(--safe-t));border-left:0;border-top:1px solid var(--border-strong);border-radius:var(--r-lg) var(--r-lg) 0 0}
  :root.ui-c .as-sh{padding-top:8px}
  :root.ui-c .as-nums b{font-size:var(--fs-lg)}
  :root.ui-c .as-funnel div{padding:10px 8px}
  :root.ui-c .as-funnel b{font-size:var(--fs-xl)}
}
@media (max-width:599px),(pointer:coarse){
  :root.ui-c .as-btn,:root.ui-c .as-x{min-height:40px}
  :root.ui-c .as-x{min-width:40px}
  :root.ui-c :is(.as-ai,.as-chip){height:24px}
  :root.ui-c .as-li{min-height:52px}
  :root.ui-c .as-li input{width:20px;height:20px}
  :root.ui-c .as-li a{display:inline-flex;align-items:center;min-height:40px}
}

/* ═════════ 💬 закупка изнутри: «Картина от Альбины» + чат (макет v2, 05.10) — работает и в старом виде, и в «Диспетчерской» (ui-c) ═════════ */
.as-sheet.wide{max-width:1180px;}
:root.ui-c .as-sheet.wide{width:min(1180px,100%);}
.as-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:14px;align-items:start;}
@media (max-width:880px){.as-layout{grid-template-columns:minmax(0,1fr);}}
.as-main{display:flex;flex-direction:column;gap:12px;min-width:0;}
:root.ui-c .as-main{gap:14px;}
/* ◆ Картина */
.as-pic{background:var(--ai-bg,var(--surface-2,var(--panel2)));border-radius:16px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;}
:root.ui-c .as-pic{border:1px solid var(--border);border-radius:var(--r-lg);padding:0 0 12px;gap:8px;}
:root.ui-c .as-pic > :not(.as-sec-h){margin:0 14px;}
.as-pic .as-sec-h b{color:var(--ai,var(--info));}
.as-pic-t{font-size:16px;font-weight:800;line-height:1.3;}
.as-pic ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:3px;font-size:13.5px;}
.as-need{background:var(--surface,var(--panel));border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:8px;}
.as-need b{font-size:13px;}
.as-tbl tr.as-var td{background:var(--ai-bg,var(--surface-2,var(--panel2)));}
.as-chip.ai{background:var(--ai-bg,var(--info-bg));color:var(--ai,var(--info));}
/* 💬 чат */
.as-chat{position:sticky;top:64px;display:flex;flex-direction:column;min-width:0;max-height:calc(100vh - 96px);background:var(--surface,var(--panel));border:1px solid var(--border);border-radius:18px;overflow:hidden;}
@media (max-width:880px){.as-chat{position:static;max-height:none;}}
.as-chat-h{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid var(--border);}
.as-chat-h div{display:flex;flex-direction:column;min-width:0;}
.as-chat-h b{font-size:15px;} .as-chat-h small{font-size:12px;color:var(--text-2,var(--text-dim));}
.as-av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--ai,var(--info));color:#fff;flex-shrink:0;}
.as-mem{font-size:12px;color:var(--text-2,var(--text-dim));padding:6px 12px;background:var(--surface-2,var(--panel2));border-bottom:1px solid var(--border);}
.as-msgs{display:flex;flex-direction:column;gap:10px;padding:12px;overflow:auto;flex:1;min-height:180px;}
@media (max-width:880px){.as-msgs{max-height:60vh;}}
.as-empty{font-size:13px;color:var(--text-2,var(--text-dim));padding:8px 2px;}
.as-m{max-width:94%;display:flex;flex-direction:column;gap:5px;}
.as-m.me{align-self:flex-end;}
.as-bub{border-radius:14px;padding:9px 11px;font-size:13.5px;line-height:1.45;overflow-wrap:anywhere;}
.as-m.me .as-bub{background:var(--text);color:var(--surface,var(--bg));border-bottom-right-radius:5px;}
.as-m.al .as-bub{background:var(--surface-2,var(--panel2));border-bottom-left-radius:5px;}
.as-bub p{margin:0 0 6px;} .as-bub p:last-child{margin:0;}
.as-bub ul{margin:2px 0 6px;padding-left:18px;display:flex;flex-direction:column;gap:2px;}
.as-think{color:var(--text-2,var(--text-dim));font-style:italic;}
.as-meta{font-size:11px;color:var(--text-3,var(--text-dim));}
.as-m.me .as-meta{text-align:right;}
.as-src{display:flex;flex-wrap:wrap;gap:4px;}
.as-src a{font-size:11px;color:var(--info);text-decoration:none;background:var(--info-bg);border-radius:6px;padding:2px 7px;}
.as-done{font-size:12px;font-weight:700;color:var(--ok);}
.as-input{display:flex;gap:8px;align-items:flex-end;padding:10px;border-top:1px solid var(--border);}
.as-input textarea{flex:1;min-width:0;resize:none;border:1px solid var(--border);border-radius:12px;padding:9px 11px;font:inherit;font-size:14px;background:var(--field,var(--panel2));color:var(--text);max-height:140px;}
.as-mic{flex-shrink:0;min-width:46px;height:46px;border:0;border-radius:23px;padding:0 12px;background:var(--ai,var(--info));color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer;}
.as-mic.rec-on{background:var(--crit,var(--err));}
.as-send{flex-shrink:0;width:46px;height:46px;border:0;border-radius:12px;background:var(--text);color:var(--surface,var(--bg));font-size:18px;cursor:pointer;}
.as-mic:focus-visible,.as-send:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.as-hint{font-size:11.5px;color:var(--text-3,var(--text-dim));margin:0;padding:0 12px 10px;}
.as-need .as-btn.pri,.as-m .as-btn.pri{width:auto;min-height:40px;font-size:13px;}
