:root{
  --фон:#0d1117; --фон2:#151b23; --фон3:#1c242e; --рамка:#2a3441;
  --текст:#e6edf3; --текст2:#9aa7b5; --текст3:#6b7885;
  --акцент:#5b8cff; --акцент2:#8b5cf6;
  --успех:#3fb950; --внимание:#d29922; --беда:#f85149;
  --моно:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--фон); color:var(--текст); font:15px/1.55 -apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--акцент);text-decoration:none}
a:hover{text-decoration:underline}

/* шапка */
.шапка{
  display:flex;align-items:center;gap:22px;padding:0 22px;height:56px;
  background:var(--фон2);border-bottom:1px solid var(--рамка);position:sticky;top:0;z-index:20;
}
.лого{display:flex;align-items:center;gap:10px;font-weight:650;letter-spacing:-.01em;white-space:nowrap}
.лого .знак{
  width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:14px;
  background:linear-gradient(135deg,var(--акцент),var(--акцент2));color:#fff;font-weight:800;
}
.меню{display:flex;gap:4px;flex:1;overflow:auto}
.меню a{
  padding:7px 13px;border-radius:8px;color:var(--текст2);font-size:14px;white-space:nowrap;
}
.меню a:hover{background:var(--фон3);color:var(--текст);text-decoration:none}
.меню a.активно{background:var(--фон3);color:var(--текст)}
.режим{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--текст2);white-space:nowrap}
.точка{width:8px;height:8px;border-radius:50%;background:var(--текст3)}
.точка.вкл{background:var(--успех);box-shadow:0 0 0 3px rgba(63,185,80,.15)}
.точка.заглушка{background:var(--внимание);box-shadow:0 0 0 3px rgba(210,153,34,.15)}

/* каркас */
.полотно{max-width:1560px;margin:0 auto;padding:20px 22px 44px}
.колонки{display:grid;gap:18px}
.к-2{grid-template-columns:minmax(360px,440px) 1fr}
.к-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:1080px){.к-2,.к-3{grid-template-columns:1fr}}

.карта{background:var(--фон2);border:1px solid var(--рамка);border-radius:14px;overflow:hidden}
.карта>h2{
  margin:0;padding:13px 16px;font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;
  color:var(--текст2);border-bottom:1px solid var(--рамка);display:flex;align-items:center;gap:9px;
}
.карта>h2 .хвост{margin-left:auto;font-weight:400;text-transform:none;letter-spacing:0;font-size:12px;color:var(--текст3)}
.тело{padding:16px}

/* чат в стиле MAX */
.телефон{
  background:var(--фон3);border:1px solid var(--рамка);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column;height:calc(100vh - 168px);min-height:520px;
}
.т-шапка{
  display:flex;align-items:center;gap:11px;padding:11px 15px;
  background:linear-gradient(135deg,#2b5fd9,#7048d6);color:#fff;
}
.т-шапка .аватар{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.22);display:grid;place-items:center;font-size:15px}
.т-шапка b{font-size:14.5px;display:block;line-height:1.25}
.т-шапка span{font-size:11.5px;opacity:.85}
.лента{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:9px;background:
  radial-gradient(1200px 400px at 50% -10%,rgba(91,140,255,.06),transparent 70%),var(--фон3)}
.пузырь{max-width:82%;padding:9px 13px;border-radius:16px;font-size:14.5px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word;animation:всплыть .18s ease-out}
@keyframes всплыть{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.пузырь.клиент{align-self:flex-end;background:linear-gradient(135deg,#2b5fd9,#4f46e5);color:#fff;border-bottom-right-radius:5px}
.пузырь.агент{align-self:flex-start;background:var(--фон2);border:1px solid var(--рамка);border-bottom-left-radius:5px}
.пузырь.система{align-self:center;background:transparent;color:var(--текст3);font-size:12.5px;text-align:center;max-width:92%}
.печатает{align-self:flex-start;display:flex;gap:4px;padding:11px 14px}
.печатает i{width:7px;height:7px;border-radius:50%;background:var(--текст3);animation:прыг 1.1s infinite}
.печатает i:nth-child(2){animation-delay:.16s}.печатает i:nth-child(3){animation-delay:.32s}
@keyframes прыг{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}
.ввод{display:flex;gap:9px;padding:11px;border-top:1px solid var(--рамка);background:var(--фон2)}
.ввод input{
  flex:1;background:var(--фон3);border:1px solid var(--рамка);border-radius:20px;padding:10px 15px;
  color:var(--текст);font-size:14.5px;font-family:inherit;outline:none;
}
.ввод input:focus{border-color:var(--акцент)}

/* кнопки */
.кнопка{
  background:var(--акцент);color:#fff;border:0;border-radius:9px;padding:9px 15px;font-size:14px;
  font-family:inherit;cursor:pointer;transition:filter .12s;white-space:nowrap;
}
.кнопка:hover{filter:brightness(1.12)}
.кнопка:disabled{opacity:.45;cursor:default}
.кнопка.тихая{background:var(--фон3);color:var(--текст);border:1px solid var(--рамка)}
.кнопка.тихая:hover{background:var(--рамка)}
.кнопка.опасная{background:transparent;color:var(--беда);border:1px solid rgba(248,81,73,.35)}
.кнопка.мелкая{padding:6px 11px;font-size:13px;border-radius:7px}
.сценарии{display:flex;flex-wrap:wrap;gap:7px}

/* конвейер агентов */
.конвейер{display:flex;flex-direction:column;gap:8px}
.роль{
  display:flex;align-items:flex-start;gap:11px;padding:11px 13px;border-radius:11px;
  background:var(--фон3);border:1px solid var(--рамка);transition:border-color .2s,opacity .2s;opacity:.42;
}
.роль.работает{opacity:1;border-color:var(--акцент);box-shadow:0 0 0 3px rgba(91,140,255,.12)}
.роль.готово{opacity:1}
.роль.блок{opacity:1;border-color:var(--беда);box-shadow:0 0 0 3px rgba(248,81,73,.12)}
.роль .номер{
  width:25px;height:25px;border-radius:8px;background:var(--фон2);border:1px solid var(--рамка);
  display:grid;place-items:center;font-size:12px;color:var(--текст2);flex:none;font-weight:600;
}
.роль.готово .номер{background:rgba(63,185,80,.14);border-color:rgba(63,185,80,.35);color:var(--успех)}
.роль.блок .номер{background:rgba(248,81,73,.14);border-color:rgba(248,81,73,.4);color:var(--беда)}
.роль .имя{font-size:13.5px;font-weight:600}
.роль .что{font-size:12.5px;color:var(--текст2);margin-top:2px}
.роль .мета{font-size:11.5px;color:var(--текст3);margin-top:4px;font-family:var(--моно)}

/* фрагменты */
.фрагмент{padding:10px 12px;border-radius:10px;background:var(--фон3);border:1px solid var(--рамка);margin-bottom:8px}
.фрагмент .путь{font-size:11.5px;color:var(--текст3);font-family:var(--моно);word-break:break-word}
.фрагмент .текст{font-size:13px;margin-top:5px;color:var(--текст2);max-height:74px;overflow:hidden}
.оценка{
  display:inline-block;min-width:44px;text-align:center;padding:1px 7px;border-radius:6px;
  font-size:11.5px;font-family:var(--моно);background:rgba(91,140,255,.16);color:#a8c3ff;
}
.оценка.низкая{background:rgba(210,153,34,.16);color:#e3b341}

/* показатели */
.плитки{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:12px}
.плитка{background:var(--фон2);border:1px solid var(--рамка);border-radius:13px;padding:14px 15px}
.плитка .подпись{font-size:12px;color:var(--текст2);line-height:1.3;min-height:31px}
.плитка .число{font-size:28px;font-weight:640;letter-spacing:-.02em;margin-top:5px;font-variant-numeric:tabular-nums}
.плитка .хвостик{font-size:11.5px;color:var(--текст3);margin-top:3px;font-family:var(--моно)}
.плитка.важная .число{background:linear-gradient(135deg,#7fb0ff,#b98bff);-webkit-background-clip:text;background-clip:text;color:transparent}

/* таблицы */
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{
  text-align:left;padding:9px 11px;color:var(--текст2);font-weight:600;font-size:12px;
  text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--рамка);position:sticky;top:0;background:var(--фон2);
}
td{padding:9px 11px;border-bottom:1px solid var(--рамка);vertical-align:top}
tr:last-child td{border-bottom:0}
tr:hover td{background:rgba(255,255,255,.017)}
td.ч,th.ч{text-align:right;font-variant-numeric:tabular-nums;font-family:var(--моно)}

/* мелочи */
.метка{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11.5px;background:var(--фон3);border:1px solid var(--рамка);color:var(--текст2)}
.метка.зелёная{background:rgba(63,185,80,.13);border-color:rgba(63,185,80,.3);color:#7ee787}
.метка.жёлтая{background:rgba(210,153,34,.13);border-color:rgba(210,153,34,.3);color:#e3b341}
.метка.красная{background:rgba(248,81,73,.13);border-color:rgba(248,81,73,.32);color:#ff8a80}
.метка.синяя{background:rgba(91,140,255,.13);border-color:rgba(91,140,255,.3);color:#a8c3ff}
.тихо{color:var(--текст3);font-size:13px}
.моно{font-family:var(--моно);font-size:12.5px}
.поле{display:flex;align-items:center;gap:9px;margin-bottom:11px;font-size:13.5px}
.поле label{color:var(--текст2);min-width:180px}
.поле input[type=text],.поле input[type=number],.поле input[type=url],.поле select,textarea{
  background:var(--фон3);border:1px solid var(--рамка);border-radius:8px;padding:8px 11px;
  color:var(--текст);font-size:13.5px;font-family:inherit;outline:none;
}
.поле input:focus,textarea:focus,select:focus{border-color:var(--акцент)}
textarea{width:100%;resize:vertical;min-height:88px;line-height:1.5}
.пусто{padding:34px 16px;text-align:center;color:var(--текст3);font-size:13.5px}
.полоса{height:6px;border-radius:4px;background:var(--фон3);overflow:hidden;margin-top:7px}
.полоса i{display:block;height:100%;background:linear-gradient(90deg,var(--акцент),var(--акцент2))}
details{border:1px solid var(--рамка);border-radius:10px;padding:10px 13px;background:var(--фон3);margin-bottom:9px}
summary{cursor:pointer;font-size:13.5px;color:var(--текст2)}
summary:hover{color:var(--текст)}
pre{background:var(--фон);border:1px solid var(--рамка);border-radius:9px;padding:12px;overflow:auto;font-family:var(--моно);font-size:12.5px;line-height:1.5}
code{font-family:var(--моно);font-size:.92em;background:var(--фон3);padding:1px 5px;border-radius:5px}
pre code{background:none;padding:0}
.баннер{padding:11px 14px;border-radius:10px;font-size:13.5px;margin-bottom:15px}
.баннер.жёлтый{background:rgba(210,153,34,.1);border:1px solid rgba(210,153,34,.3);color:#e3b341}
.баннер.синий{background:rgba(91,140,255,.09);border:1px solid rgba(91,140,255,.26);color:#a8c3ff}
