/* rgnt — chat-sim: reprodução fiel do Slack dark (valores concretos via UX).
   Caixa de ALTURA FIXA — mensagens entram sem empurrar/reflow. */
.slack{
  --sl-bg:#1A1D21; --sl-side:#19171D; --sl-text:#D1D2D3; --sl-time:#8A8D91;
  --sl-hover:#222529; --sl-line:#2C2D30; --sl-link:#1D9BD1; --sl-green:#007A5A;
  font-family:"Lato",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:var(--sl-bg);border:1px solid var(--sl-line);border-radius:12px;
  overflow:hidden;box-shadow:0 24px 60px -20px rgba(0,0,0,.7);
  width:100%;max-width:560px;user-select:none;
}
.slack-head{height:49px;display:flex;align-items:center;justify-content:space-between;
  padding:0 20px;border-bottom:1px solid var(--sl-line);flex-shrink:0}
.slack-head .ch{display:flex;align-items:baseline;gap:4px;color:var(--sl-text);font-weight:700;font-size:15px}
.slack-head .ch .hash{color:var(--sl-time);font-weight:400}
.slack-head .members{color:var(--sl-time);font-size:13px;display:flex;align-items:center;gap:5px}
.slack-head .members svg{width:13px;height:13px;fill:var(--sl-time)}
/* corpo com ALTURA FIXA — não respira */
.slack-body{height:340px;overflow:hidden;padding:10px 0;display:flex;flex-direction:column;justify-content:flex-end}
.slack-scroll{display:flex;flex-direction:column;gap:2px}
.msg{display:flex;gap:8px;padding:4px 20px;align-items:flex-start;position:relative}
.msg-av{width:36px;height:36px;border-radius:4px;object-fit:cover;flex-shrink:0}
.msg-av.bot{background:#100c06}
.msg-body{min-width:0;flex:1}
.msg-head{display:flex;align-items:baseline;gap:8px;line-height:1.1}
.msg-name{font-weight:900;font-size:15px;color:var(--sl-text)}
.msg-name.bot-name{color:#e8b866}
.msg-tag{font-size:10px;font-weight:700;letter-spacing:.02em;background:#3a2c14;color:#e8b866;border-radius:3px;padding:1px 5px;text-transform:uppercase;position:relative;top:-1px}
.msg-time{font-size:12px;color:var(--sl-time)}
.msg-text{font-size:15px;line-height:1.4666;color:var(--sl-text);margin-top:1px;word-wrap:break-word}
.msg-text a,.msg-text .mention{color:var(--sl-link)}
.msg-text .mention{background:rgba(29,155,209,.14);border-radius:3px;padding:0 3px}
.msg-text b{font-weight:700}
.msg-text .cite{display:inline-flex;align-items:center;gap:5px;background:#222529;border:1px solid var(--sl-line);border-radius:5px;padding:2px 8px;margin-top:6px;font-size:13px;color:var(--sl-time)}
.msg-text .cite svg{width:12px;height:12px;fill:var(--sl-time)}
.msg-text .cite b{color:var(--sl-text);font-weight:600}
/* estado de entrada da mensagem (fade+slide, container não muda de altura) */
.msg.enter{opacity:0;transform:translateY(5px);transition:opacity .25s ease,transform .25s ease}
.msg.shown{opacity:1;transform:none}
/* "está digitando" */
.typing{display:flex;gap:8px;padding:4px 20px;align-items:center;opacity:.85}
.typing .dots{display:flex;gap:3px;padding:8px 12px;background:#222529;border-radius:12px}
.typing .dots i{width:5px;height:5px;border-radius:50%;background:var(--sl-time);animation:tdot 1.2s infinite}
.typing .dots i:nth-child(2){animation-delay:.2s}.typing .dots i:nth-child(3){animation-delay:.4s}
@keyframes tdot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
/* reunião: faces empilhadas no header */
.slack-head .faces{display:flex}
.slack-head .faces img{width:24px;height:24px;border-radius:4px;margin-left:-6px;border:2px solid var(--sl-bg)}
.slack-head .faces img:first-child{margin-left:0}
/* menção clicável (item 4): cursor de link, futura interação por data-mention */
.msg-text .mention{cursor:pointer}
.msg-text .mention:hover{background:rgba(29,155,209,.28)}
/* especialista criado (item 6): tag verde + aro distinto no avatar */
.msg-tag.spec{background:#0d3b2a;color:#3ddc97}
.msg-av.spec{box-shadow:0 0 0 2px #3ddc97}
.msg-name.spec-name{color:#e6e7e8}
/* linha de sistema "entrou no canal" */
.msg.join{padding:6px 20px 2px;color:var(--sl-time);font-size:13px;display:flex;align-items:center;gap:7px}
.msg.join b{color:var(--sl-text);font-weight:600}
.msg.join .join-dot{width:6px;height:6px;border-radius:50%;background:#3ddc97;flex-shrink:0}
/* link do plano (item 7): chip de link custom, não âncora nativa crua */
.plan-link{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:5px 10px;
  background:#222529;border:1px solid var(--sl-line);border-radius:6px;
  color:var(--sl-link);font-size:13px;text-decoration:none;cursor:pointer;transition:border-color .15s}
.plan-link:hover{border-color:var(--sl-link)}
.plan-link svg{width:14px;height:14px;fill:var(--sl-link);flex-shrink:0}

/* ---- MOBILE (≤560px): reflow próprio do chat-sim, não a versão desktop espremida.
   Aperta padding/avatar/altura; fontes de LEITURA ficam no piso (≥14px) pra não virar
   ilegível. Nada ultrapassa a largura da view (o container já é width:100%). ---- */
@media(max-width:560px){
  .slack{border-radius:10px}
  .slack-head{height:44px;padding:0 12px}
  .slack-head .ch{font-size:14px}
  .slack-head .members span{display:none}       /* só o ícone de membros no mobile */
  .slack-body{height:280px;padding:8px 0}
  .msg{gap:7px;padding:4px 12px}
  .msg-av{width:30px;height:30px}
  .msg-name{font-size:14px}
  .msg-time{font-size:11px}
  .msg-text{font-size:14px;line-height:1.45}     /* piso de leitura */
  .msg-text .cite{font-size:12px;padding:2px 7px}
  .msg.join,.plan-link{font-size:12px}
  .slack-head .faces img{width:20px;height:20px}
  .msg-tag{font-size:9px}
}
