/* Инструменты и ИИ: ассистент (as-), письмо (lt-), калькулятор (ca-), база знаний (kb-),
   рассылки (ml-), расшифровка (au-), сжатие (pz-), общее (tl-). Цвета — только токенами. */

/* ---------- общее ---------- */
.tl-md{line-height:1.55;overflow-wrap:anywhere}
.tl-md p{margin:0 0 8px}.tl-md p:last-child{margin-bottom:0}
.tl-md h3,.tl-md h4,.tl-md h5{margin:12px 0 6px}
.tl-md h3{font-size:17px}.tl-md h4{font-size:15.5px}.tl-md h5{font-size:14.5px}
.tl-md ul,.tl-md ol{margin:0 0 8px;padding-left:22px}
.tl-md li{margin:2px 0}
.tl-md code{background:var(--fill2);border-radius:6px;padding:1px 5px;font-size:.92em}
.tl-md blockquote{margin:0 0 8px;padding:6px 12px;border-left:3px solid var(--acc-border);background:var(--fill);border-radius:0 8px 8px 0}
.tl-pick{position:relative}
.tl-pick-r{position:absolute;left:0;right:0;top:100%;margin-top:4px;z-index:30;background:var(--card-solid);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-md);max-height:300px;overflow:auto;padding:4px}
.tl-pick-r button{display:block;width:100%;text-align:left;border:0;background:none;font:inherit;color:var(--ink);padding:8px 10px;border-radius:8px;cursor:pointer}
.tl-pick-r button:hover{background:var(--fill)}
.tl-chosen{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:var(--tap)}
.tl-chips{display:flex;gap:6px;flex-wrap:wrap}
.tl-grid2{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.tl-grid2>*{min-width:0}
.tl-kpis{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
.tl-kpis .kpi{padding:9px 11px}
.tl-kpis .kpi .v{font-size:17px}
.tl-bad{color:var(--bad3)!important}.tl-ok{color:var(--ok3)!important}
.tl-progress{height:8px;border-radius:999px;background:var(--fill2);overflow:hidden}
.tl-progress>i{display:block;height:100%;background:var(--acc);border-radius:999px;transition:width .3s var(--ease)}

/* ---------- ассистент ---------- */
.as-wrap{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}
.as-side{position:sticky;top:76px;max-height:calc(100vh - 100px);overflow:auto;padding:12px}
.as-side .it{display:block;width:100%;text-align:left;border:0;background:none;font:inherit;color:var(--ink2);padding:8px 10px;border-radius:9px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-side .it:hover{background:var(--fill)}
.as-side .it.on{background:var(--acc-soft);color:var(--acc3);font-weight:600}
.as-main{display:flex;flex-direction:column;min-height:calc(100vh - 120px);padding:0;overflow:hidden}
.as-log{flex:1;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.as-msg{max-width:min(760px,92%);padding:10px 14px;border-radius:16px;background:var(--card-solid);border:1px solid var(--line-soft)}
.as-msg.me{align-self:flex-end;background:var(--acc);color:var(--acc-ink);border-color:transparent;white-space:pre-wrap;overflow-wrap:anywhere}
.as-msg .refs{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px}
.as-msg .refs a{font-size:11.5px}
.as-input{display:flex;gap:8px;align-items:flex-end;padding:12px;border-top:1px solid var(--line);background:var(--bg2);position:sticky;bottom:0}
.as-input textarea{min-height:44px;max-height:200px}
.as-hello{margin:auto;text-align:center;max-width:560px;color:var(--mut)}
.as-hello h3{color:var(--ink);margin-bottom:6px}
.as-typing{color:var(--mut);font-size:13px}
@media(max-width:820px){
  .as-wrap{grid-template-columns:1fr}
  .as-side{position:static;max-height:220px}
  .as-main{min-height:60vh}
}

/* ---------- письмо ---------- */
.lt-body textarea[name=body]{min-height:280px}
.lt-goals .chip{font-size:12px}

/* ---------- калькулятор ---------- */
.ca-scen{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));align-items:start}
.ca-scen>.panel{min-width:0;margin-bottom:0}
.ca-sc-h{display:flex;gap:8px;align-items:center;margin-bottom:10px}
.ca-sc-h input[name=name]{font-weight:650}
.ca-f{display:grid;gap:8px;grid-template-columns:1fr 1fr;align-items:end}
.ca-f label.f{min-width:0}
.ca-f .wide{grid-column:1/-1}
.ca-sub{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--mut2);margin:12px 0 6px}
.ca-roles{display:grid;gap:6px}
.ca-role{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr) minmax(0,1fr) 30px;gap:6px;align-items:center}
.ca-role .btn{padding:0;width:30px;height:30px}
.ca-res{margin-top:12px;border-top:1px solid var(--line);padding-top:12px}
.ca-res .ln{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:2px 0}
.ca-res .ln b{font-variant-numeric:tabular-nums;white-space:nowrap}
.ca-res .big{font-size:15px;font-weight:700;padding:5px 0}

/* ---------- база знаний ---------- */
.kb-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.kb-list .card{display:block;margin-bottom:8px;color:var(--ink);text-decoration:none!important}
.kb-list .card:hover{border-color:var(--acc-border)}
.kb-list .card .meta{margin-top:3px}
.kb-art{max-width:860px}
.kb-art h2{margin-bottom:6px}
.kb-edit textarea[name=body]{min-height:340px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}
.kb-prev{min-height:340px;border:1px solid var(--line);border-radius:12px;padding:12px;overflow:auto}

/* ---------- рассылки ---------- */
.ml-seg{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.ml-box{border:1px solid var(--line);border-radius:12px;padding:8px 10px;max-height:180px;overflow:auto}
.ml-box label.ck{display:flex;margin:3px 0;font-size:13px}
.ml-vars .chip{font-family:ui-monospace,Menlo,monospace;font-size:11.5px}
.ml-sum{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.ml-prev{border:1px solid var(--line);border-radius:12px;padding:12px;background:var(--card-solid);white-space:pre-wrap;overflow-wrap:anywhere}
.ml-editor textarea[name=body]{min-height:220px}

/* ---------- расшифровка ---------- */
.au-drop{border:2px dashed var(--line2);border-radius:var(--radius);padding:22px;text-align:center;color:var(--mut);cursor:pointer}
.au-drop.over{border-color:var(--acc);background:var(--acc-soft)}
.au-text{min-height:260px}
.au-rec{color:var(--bad3);font-weight:650}

/* ---------- сжатие ---------- */
.pz-drop{border:2px dashed var(--line2);border-radius:var(--radius);padding:26px;text-align:center;color:var(--mut);cursor:pointer}
.pz-drop.over{border-color:var(--acc);background:var(--acc-soft)}
.pz-list{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.pz-it{min-width:0}
.pz-it img{width:100%;height:150px;object-fit:contain;background:var(--fill);border-radius:10px;display:block}
.pz-it .nm{font-size:12.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:6px}
