/* Модуль «Мессенджеры» */
.ms-page{display:grid;grid-template-columns:340px minmax(0,1fr);height:var(--ms-h,calc(100dvh - 57px));min-height:380px}
.ms-side{display:flex;flex-direction:column;gap:8px;padding:12px;border-right:1px solid var(--line);background:var(--card);min-height:0;min-width:0}
.ms-side-h{display:flex;gap:8px;align-items:center}
.ms-side-h b{font-size:16px}
.ms-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.ms-chips .chip span{margin-left:5px}
.ms-owner{width:auto;min-height:30px;padding:3px 8px;font-size:13px;flex:1;min-width:140px}
.ms-list{flex:1;overflow-y:auto;margin:0 -12px;min-height:0;overscroll-behavior:contain}
.ms-row{display:flex;gap:10px;min-width:0;padding:9px 12px;text-decoration:none;color:var(--text);border-left:3px solid transparent}
.ms-row:hover{background:var(--bg)}
.ms-row.on{background:var(--accent-soft);border-left-color:var(--accent)}
.ms-row-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ms-row-t,.ms-row-s{display:flex;gap:6px;align-items:baseline;justify-content:space-between;min-width:0}
.ms-row-t b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.ms-row.unr .ms-row-t b{font-weight:800}
.ms-prev{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:var(--muted);min-width:0}
.ms-row.unr .ms-prev{color:var(--text)}
.ms-unr{flex:none;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.ms-row-b{display:flex;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.ms-wait{color:#b7791f;font-weight:600}.ms-wait.late{color:var(--danger)}
.ms-av{flex:none;width:40px;height:40px;border-radius:50%;object-fit:cover;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;background:var(--muted)}
.ms-main{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}
.ms-empty{margin:auto;text-align:center;color:var(--muted);padding:24px}.ms-empty div{font-size:44px}
.ms-chat{display:flex;flex-direction:column;height:100%;min-height:0}
.ms-head{display:flex;gap:10px;align-items:center;padding:10px 14px;background:var(--card);border-bottom:1px solid var(--line);flex-wrap:wrap}
.ms-head-m{flex:1;min-width:160px}
.ms-name{cursor:pointer;font-size:16px}.ms-name:hover{text-decoration:underline dotted}
.ms-head-a{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.ms-head-a select{width:auto;min-height:32px;padding:4px 8px;font-size:13px;max-width:170px}
.ms-back{display:none;text-decoration:none;font-size:22px;color:var(--text);padding:0 4px}
.ms-ai{background:color-mix(in srgb,var(--accent) 6%,var(--card));border-bottom:1px solid var(--line);padding:8px 14px;max-height:42vh;overflow-y:auto;font-size:14px}
.ms-ai-h{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ms-ai-h .link-btn{font-weight:600;color:var(--accent)}
.ms-ai-b p{margin:8px 0}
.ms-hot{background:#fde3e3;color:#c53030}.ms-warm{background:#fef3d6;color:#a8671a}.ms-cold{background:#e2ecf8;color:#2b6cb0}
:root[data-theme=dark] .ms-hot{background:#4a2326;color:#feb2b2}:root[data-theme=dark] .ms-warm{background:#43361c;color:#f6d38b}:root[data-theme=dark] .ms-cold{background:#1f2f44;color:#a7c7ef}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ms-hot{background:#4a2326;color:#feb2b2}:root:not([data-theme=light]) .ms-warm{background:#43361c;color:#f6d38b}:root:not([data-theme=light]) .ms-cold{background:#1f2f44;color:#a7c7ef}}
.ms-wants{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.ms-wants .chip{cursor:default}
.ms-ai-tasks{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}
.ms-ai-task{display:flex;gap:10px;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:7px 10px}
.ms-ai-task>div{min-width:0}
.ms-reply{background:var(--card);border:1px dashed var(--line);border-radius:8px;padding:8px 10px;margin-bottom:8px;display:flex;flex-direction:column;gap:6px;align-items:flex-start;white-space:pre-wrap}
.ms-mgr{background:color-mix(in srgb,#f5b04a 12%,var(--card));border-radius:8px;padding:8px 10px}.ms-mgr ul{margin:4px 0 0;padding-left:18px}
.ms-msgs{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:4px;min-height:0;overscroll-behavior:contain}
.ms-older{align-self:center;margin-bottom:8px}
.ms-day{text-align:center;margin:10px 0 6px}.ms-day span{background:var(--card);color:var(--muted);font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line)}
.ms-m{display:flex}.ms-m.out{justify-content:flex-end}
.ms-b{max-width:min(560px,78%);background:var(--card);border:1px solid var(--line);border-radius:14px 14px 14px 4px;padding:7px 10px 5px;word-wrap:break-word;overflow-wrap:anywhere;box-shadow:var(--shadow)}
.ms-m.out .ms-b{background:var(--accent-soft);border-color:color-mix(in srgb,var(--accent) 25%,var(--line));border-radius:14px 14px 4px 14px}
.ms-who{display:block;font-size:11px;font-weight:600;color:var(--accent);margin-bottom:2px}
.ms-t{display:block;text-align:right;font-size:11px;color:var(--muted);margin-top:2px;white-space:nowrap}
.ms-st{margin-left:4px}.ms-st.rd{color:var(--accent)}.ms-st.err{color:var(--danger);cursor:help}
.ms-err{font-size:12px;color:var(--danger)}
.ms-img{display:block;max-width:100%;max-height:320px;border-radius:8px;margin:2px 0 4px}
.ms-b audio{max-width:100%;margin:2px 0}
.ms-doc{display:inline-block;margin:2px 0 4px;word-break:break-all}
.ms-comp{display:flex;gap:8px;align-items:flex-end;padding:10px 14px;background:var(--card);border-top:1px solid var(--line)}
.ms-comp textarea{resize:none;min-height:40px;max-height:160px;line-height:1.35}
.ms-comp.off{opacity:.7}
.ms-clip{flex:none;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px}
.ms-menu{display:flex;flex-direction:column;gap:8px}.ms-menu button{text-align:left}
.ms-ctl-wrap{overflow-x:auto}
.ms-ctl{width:100%;border-collapse:collapse;font-size:14px;min-width:720px}
.ms-ctl th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--line)}
.ms-ctl td{padding:8px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}
.ms-ctl-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ms-ctl-row{text-decoration:none;color:var(--text)}.ms-ctl-row:hover{background:var(--bg)}
.ms-steps{margin:0 0 10px;padding-left:20px;line-height:1.5}
.ms-key input{flex:1;min-width:220px}
.ms-chname{width:200px}
#msSet select[data-chown]{width:240px}
.ms-qr{display:block;width:180px;height:180px;margin-top:8px;image-rendering:pixelated;background:#fff;border-radius:6px}
.ms-ai-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
@media (max-width:900px){.ms-ctl-cols{grid-template-columns:1fr}.ms-page{grid-template-columns:280px minmax(0,1fr)}}
@media (max-width:720px){
  .ms-page{grid-template-columns:minmax(0,1fr)}
  .ms-side-h .sm-btn,.ms-side-h button{padding:4px 9px}
  .ms-page.ms-open .ms-side{display:none}
  .ms-page:not(.ms-open) .ms-main{display:none}
  .ms-side{border-right:none}
  .ms-back{display:inline-block}
  .ms-head{padding:8px 10px;gap:8px}
  .ms-head-m{min-width:0}
  .ms-head .ms-av{width:34px;height:34px;font-size:14px}
  .ms-head-a{width:100%}
  .ms-b{max-width:88%}
  .ms-ai{max-height:34vh}
  .ms-comp{padding:8px}
  .ms-comp button.primary{padding:7px 10px}
  #msSet .item{flex-wrap:wrap}.ms-chname,#msSet select[data-chown]{width:100%}
}
