.aplicacao { width: min(1440px, calc(100vw - 36px)); height: min(900px, calc(100dvh - 36px)); margin: 18px auto; background: var(--superficie); border-radius: 30px; overflow: hidden; display: grid; grid-template-columns: 380px minmax(430px, 1fr) 320px; box-shadow: var(--sombra); border: 1px solid #e7e7e7; position: relative; }
.coluna-conversas, .painel-chat, .painel-comunidade { min-width: 0; min-height: 0; background: #fff; }
.coluna-conversas { border-right: 1px solid var(--linha); position: relative; display: flex; flex-direction: column; }
.cabecalho-lista { flex: 0 0 auto; background: #fff; border-bottom: 1px solid var(--linha); }
.marca-linha { min-height: 68px; display: grid; grid-template-columns: 42px 1fr 38px 38px; align-items: center; gap: 6px; padding: 10px 14px 2px; }
.marca-linha strong { font-size: 21px; letter-spacing: -.5px; }
.marca-app { width: 38px; height: 38px; border-radius: 12px; background: #151515; display: grid; place-items: center; box-shadow: inset 0 -5px 12px rgba(255,255,255,.05); }
.marca-app span { width: 20px; height: 14px; border-radius: 8px; background: #fff; position: relative; }
.marca-app span::after { content:""; position:absolute; left:3px; bottom:-4px; width:7px; height:7px; background:#fff; clip-path: polygon(0 0,100% 0,0 100%); }
.historias { display: flex; gap: 11px; overflow-x: auto; scrollbar-width: none; padding: 13px 14px 12px; }
.historias::-webkit-scrollbar { display: none; }
.historia { width: 54px; flex: 0 0 54px; text-align: center; padding: 0; }
.historia .avatar-historia { width: 43px; height: 43px; margin: 0 auto 5px; border: 2px solid #fff; box-shadow: 0 0 0 1px #dadada; position: relative; }
.historia .avatar-historia.online::after { content:""; position:absolute; width:9px; height:9px; right:-2px; bottom:1px; border-radius:50%; background:var(--verde); border:2px solid #fff; }
.historia .avatar-historia.adicionar { border: 1px solid #e3e3e3; box-shadow: none; font-size: 28px; font-weight: 400; color: #333; }
.historia small { display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:10px; color:#434343; }
.abas-lista, .abas-comunidade { display: flex; gap: 22px; padding: 0 16px; height: 43px; align-items: end; overflow-x: auto; scrollbar-width: none; }
.abas-lista button, .abas-comunidade button { height: 42px; padding: 0 0 11px; color: #a0a0a0; font-size: 12px; white-space: nowrap; position: relative; }
.abas-lista button.ativo, .abas-comunidade button.ativo { color: #171717; font-weight: 650; }
.abas-lista button.ativo::after, .abas-comunidade button.ativo::after { content:""; position:absolute; height:2px; border-radius:2px; background:#171717; left:0; right:0; bottom:0; }
.busca-inline { margin: 10px 14px; background: #f5f5f5; border-radius: 12px; height: 0; opacity: 0; display: flex; align-items: center; gap: 8px; overflow: hidden; transition: .22s ease; padding: 0 12px; }
.busca-inline.visivel { height: 40px; opacity: 1; }
.busca-inline svg { width: 17px; color:#777; }
.busca-inline input { border:0; outline:0; background:transparent; width:100%; color:#222; }
.conteudo-lista { overflow: auto; padding-bottom: 90px; scrollbar-width: thin; scrollbar-color: #d8d8d8 transparent; }
.secao-lista { padding: 10px 0 0; }
.titulo-lista { padding: 4px 15px 7px; display:flex; align-items:center; gap:8px; font-size: 12px; color:#7d7d7d; }
.titulo-lista strong { font-weight: 550; color:#6c6c6c; }
.titulo-lista.simples { padding-top: 12px; }
.conversa { width:100%; min-height:68px; padding:9px 14px; display:grid; grid-template-columns:48px minmax(0,1fr) auto; grid-template-rows:auto auto; gap:2px 10px; text-align:left; border-bottom:1px solid #f1f1f1; position:relative; transition: background .16s ease; }
.conversa:hover, .conversa.ativa { background:#f6f6f6; }
.conversa .avatar { grid-row:1/3; width:46px; height:46px; align-self:center; }
.conversa strong { font-size:13px; font-weight:650; align-self:end; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.conversa time { font-size:10px; color:#8e8e8e; align-self:end; }
.conversa .preview { font-size:11px; color:#979797; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; padding-right:8px; }
.conversa .meta { display:flex; align-items:center; justify-content:flex-end; min-width:26px; }
.selo { min-width:20px; height:20px; border-radius:10px; background:#171717; color:#fff; font-size:10px; display:grid; place-items:center; padding:0 5px; }
.pin { color:#222; font-size:13px; }
.estado-vazio { padding:32px 18px; text-align:center; display:flex; flex-direction:column; gap:5px; color:#888; }
.estado-vazio strong { color:#444; font-size:14px; }
.botao-flutuante { position:absolute; right:18px; bottom:20px; width:54px; height:54px; border-radius:50%; background:#181818; color:#fff; display:grid; place-items:center; box-shadow:0 12px 28px rgba(0,0,0,.2); z-index:4; }
.botao-flutuante svg { width:23px; height:23px; }
.painel-chat { display:flex; flex-direction:column; background:#fff; }
.cabecalho-chat { min-height:69px; border-bottom:1px solid var(--linha); padding:0 13px; display:flex; align-items:center; gap:8px; }
.cabecalho-chat .voltar { display:none; }
.avatar-chat { width:38px; height:38px; }
.identidade-chat { text-align:left; min-width:0; flex:1; padding:4px 2px; display:flex; flex-direction:column; gap:2px; }
.identidade-chat strong { font-size:13px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.identidade-chat span { color:#969696; font-size:10px; }
.mensagens { flex:1; overflow:auto; padding:19px 18px 22px; background:#fff; scrollbar-width:thin; scrollbar-color:#ddd transparent; }
.separador-data { width:max-content; margin:0 auto 19px; background:#f2f2f2; color:#6e6e6e; font-size:10px; padding:5px 11px; border-radius:999px; }
.linha-mensagem { display:flex; margin:0 0 11px; gap:8px; align-items:flex-end; }
.linha-mensagem.minha { justify-content:flex-end; }
.linha-mensagem .avatar-mini { width:30px; height:30px; }
.bolha { max-width:min(74%, 530px); background:#efefef; color:#282828; border-radius:7px 13px 13px 13px; padding:9px 11px 7px; font-size:13px; line-height:1.34; box-shadow:0 1px 0 rgba(0,0,0,.02); }
.minha .bolha { background:#171717; color:#fff; border-radius:13px 7px 13px 13px; }
.autor { display:block; font-size:10px; font-weight:700; margin-bottom:3px; color:#555; }
.meta-msg { display:flex; justify-content:flex-end; gap:4px; font-size:9px; opacity:.55; margin-top:3px; }
.anexo-imagem { margin:7px -3px 2px; border-radius:10px; overflow:hidden; background:#ddd; }
.anexo-imagem img { display:block; width:100%; max-height:240px; object-fit:cover; }
.anexo-legenda { display:flex; justify-content:space-between; gap:12px; font-size:9px; color:#8a8a8a; padding:6px 2px 0; }
.compositor { min-height:68px; display:flex; align-items:center; gap:4px; border-top:1px solid var(--linha); padding:8px 11px calc(8px + env(safe-area-inset-bottom)); background:#fff; }
.campo-mensagem { flex:1; background:#f5f5f5; border-radius:24px; min-height:42px; padding:10px 8px 8px 14px; display:flex; }
.campo-mensagem textarea { width:100%; resize:none; border:0; outline:0; background:transparent; max-height:92px; color:#222; font-size:13px; }
.botao-enviar { width:40px; height:40px; border-radius:50%; background:#171717; color:#fff; display:none; place-items:center; }
.botao-enviar.visivel { display:grid; }
.painel-comunidade { border-left:1px solid var(--linha); display:flex; flex-direction:column; }
.cabecalho-comunidade { border-bottom:1px solid var(--linha); }
.titulo-comunidade { min-height:69px; padding:0 14px; display:flex; align-items:center; justify-content:space-between; }
.titulo-comunidade h2 { margin:0; font-size:21px; letter-spacing:-.4px; }
.titulo-comunidade > div { display:flex; }
.abas-comunidade { justify-content:space-between; gap:12px; }
.lista-pessoas { overflow:auto; }
.pessoa { min-height:63px; display:grid; grid-template-columns:44px 1fr 34px; align-items:center; gap:10px; padding:8px 12px; border-bottom:1px solid #f1f1f1; }
.pessoa .avatar { width:42px; height:42px; }
.pessoa div { min-width:0; }
.pessoa strong { display:block; font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pessoa span { display:block; font-size:10px; color:#999; margin-top:3px; }
.pessoa .mais-pessoa { color:#777; font-size:20px; }
.barra-mobile { display:none; }
.sobreposicao { position:fixed; inset:0; z-index:50; background:rgba(0,0,0,.23); backdrop-filter:blur(2px); }
.painel-perfil { position:fixed; z-index:60; right:0; top:0; bottom:0; width:min(430px, 100%); background:#fff; box-shadow:-20px 0 60px rgba(0,0,0,.16); transform:translateX(105%); transition:transform .28s ease; padding:calc(18px + env(safe-area-inset-top)) 22px calc(22px + env(safe-area-inset-bottom)); overflow:auto; }
.painel-perfil.aberto { transform:translateX(0); }
.painel-perfil > header { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:22px; }
.painel-perfil h2 { margin:2px 0 0; font-size:28px; letter-spacing:-.8px; }
.rotulo { font-size:9px; letter-spacing:2px; color:#999; }
.perfil-resumo { display:flex; align-items:center; gap:14px; position:relative; padding-bottom:20px; border-bottom:1px solid var(--linha); }
.avatar-grande { width:68px; height:68px; font-size:20px; }
.perfil-resumo div { display:flex; flex-direction:column; gap:4px; }
.perfil-resumo strong { font-size:18px; }
.perfil-resumo span { color:#929292; font-size:12px; }
.perfil-resumo > i { left:52px; right:auto; bottom:20px; width:12px; height:12px; }
.abas-perfil { display:flex; gap:24px; border-bottom:1px solid var(--linha); margin:16px 0 20px; }
.abas-perfil button { height:38px; color:#999; position:relative; padding:0; }
.abas-perfil button.ativo { color:#171717; font-weight:650; }
.abas-perfil button.ativo::after { content:""; position:absolute; height:2px; left:0; right:0; bottom:-1px; background:#171717; }
.formulario-perfil { display:flex; flex-direction:column; gap:17px; }
.formulario-perfil label { display:flex; flex-direction:column; gap:7px; position:relative; }
.formulario-perfil label > span { font-size:11px; font-weight:650; color:#555; }
.formulario-perfil input, .formulario-perfil textarea, .formulario-perfil select { width:100%; border:1px solid #dedede; border-radius:12px; padding:12px 13px; outline:none; background:#fff; color:#222; }
.formulario-perfil input:focus, .formulario-perfil textarea:focus, .formulario-perfil select:focus { border-color:#555; box-shadow:0 0 0 3px #f1f1f1; }
.formulario-perfil small { position:absolute; right:10px; bottom:8px; color:#aaa; font-size:9px; }
.formulario-perfil small b { font-weight:500; }
.botao-primario { min-height:46px; border-radius:13px; background:#171717; color:#fff; font-weight:650; margin-top:4px; }
.nota-tecnica { color:#9a9a9a; font-size:10px; line-height:1.45; margin:0; }
.titulo-dispositivos { margin-bottom:12px; }
.titulo-dispositivos strong { display:block; font-size:13px; }
.titulo-dispositivos span { display:block; color:#999; font-size:10px; line-height:1.45; margin-top:4px; }
.resumo-sessoes { margin:0 0 12px; padding:10px 12px; border-radius:12px; background:#f6f6f6; color:#777; font-size:10px; }
.dispositivo { border:1px solid #ececec; border-radius:14px; padding:13px; display:grid; grid-template-columns:40px 1fr auto; gap:10px; align-items:center; margin-bottom:9px; }
.dispositivo .icone-dispositivo { width:38px; height:38px; border-radius:10px; background:#f3f3f3; display:grid; place-items:center; }
.dispositivo strong { display:block; font-size:12px; }
.dispositivo span { display:block; font-size:10px; color:#999; margin-top:3px; }
.dispositivo em { font-size:9px; color:#555; background:#f2f2f2; border-radius:999px; padding:5px 7px; font-style:normal; }


/* RC02 I02 · perfil completo */
.editor-foto-perfil { display:grid; grid-template-columns:74px 1fr; gap:14px; align-items:center; padding:14px; border:1px solid var(--linha); border-radius:16px; background:var(--superficie-2); }
.botao-foto-perfil { width:74px; height:74px; position:relative; padding:0; border-radius:22px; }
.avatar-foto-editor { width:74px; height:74px; border-radius:22px; font-size:20px; background:var(--campo); border:1px solid var(--linha-forte); }
.avatar-foto-editor img { width:100%; height:100%; object-fit:cover; }
.selo-editar-foto { position:absolute; right:-3px; bottom:-3px; width:28px; height:28px; border-radius:50%; background:#171717; color:#fff; display:grid; place-items:center; border:3px solid var(--superficie-2); box-shadow:0 4px 12px rgba(0,0,0,.14); }
.selo-editar-foto svg { width:13px; height:13px; stroke:currentColor; fill:none; stroke-width:1.8; }
.texto-foto-perfil { min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.texto-foto-perfil strong { font-size:12px; }
.texto-foto-perfil span { color:var(--texto-3); font-size:9px; line-height:1.45; }
.texto-foto-perfil button { margin-top:3px; padding:0; color:var(--texto-2); font-size:9px; text-decoration:underline; text-underline-offset:2px; }
.campo-identificador { width:100%; min-height:43px; border:1px solid #dedede; border-radius:12px; display:grid; grid-template-columns:auto 1fr; align-items:center; background:#fff; overflow:hidden; transition:border-color .15s ease, box-shadow .15s ease; }
.campo-identificador:focus-within { border-color:#555; box-shadow:0 0 0 3px #f1f1f1; }
.campo-identificador b { padding-left:13px; color:#929292; font-size:13px; font-weight:600; }
.campo-identificador input { border:0 !important; border-radius:0 !important; box-shadow:none !important; padding-left:5px !important; background:transparent !important; }
.formulario-perfil label > em { color:var(--texto-3); font-size:9px; line-height:1.35; font-style:normal; margin-top:-2px; }
.perfil-resumo .avatar img, .avatar-grande img { width:100%; height:100%; object-fit:cover; }

@media (max-width: 1120px) {
  .aplicacao { grid-template-columns: 360px minmax(430px, 1fr); }
  .painel-comunidade { display:none; }
}

@media (max-width: 760px) {
  body { background:#fff; overflow:hidden; }
  .aplicacao { width:100%; height:100dvh; margin:0; border:0; border-radius:0; box-shadow:none; display:block; overflow:hidden; }
  .coluna-conversas, .painel-chat, .painel-comunidade { position:absolute; inset:0; width:100%; height:100%; border:0; }
  .coluna-conversas { padding-bottom:72px; display:flex; }
  .painel-chat { transform:translateX(102%); transition:transform .25s ease; z-index:10; }
  .painel-comunidade { display:flex; transform:translateX(102%); transition:transform .25s ease; z-index:8; padding-bottom:72px; }
  .aplicacao.chat-aberto .painel-chat { transform:translateX(0); }
  .aplicacao.area-comunidade .painel-comunidade { transform:translateX(0); }
  .aplicacao.area-comunidade .coluna-conversas { transform:translateX(-16%); }
  .marca-linha { padding-top:calc(8px + env(safe-area-inset-top)); min-height:calc(64px + env(safe-area-inset-top)); grid-template-columns: 1fr 38px 38px; }
  .marca-app { display:none; }
  .marca-linha strong { font-size:20px; }
  .historias { padding-top:10px; }
  .cabecalho-chat { padding-top:env(safe-area-inset-top); min-height:calc(62px + env(safe-area-inset-top)); }
  .cabecalho-chat .voltar { display:grid; }
  .mensagens { padding:17px 12px 18px; }
  .bolha { max-width:82%; font-size:12px; }
  .compositor { min-height:64px; }
  .compositor .icone-botao:not(.compositor-mais) { width:34px; height:34px; }
  .titulo-comunidade { padding-top:env(safe-area-inset-top); min-height:calc(64px + env(safe-area-inset-top)); }
  .barra-mobile { position:absolute; display:grid; grid-template-columns:repeat(4,1fr); left:0; right:0; bottom:0; height:calc(68px + env(safe-area-inset-bottom)); padding:7px 8px env(safe-area-inset-bottom); background:#171717; z-index:20; }
  .barra-mobile button { color:#bdbdbd; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; font-size:9px; }
  .barra-mobile button svg { width:20px; height:20px; }
  .barra-mobile button.ativo { color:#fff; font-weight:650; }
  .aplicacao.chat-aberto .barra-mobile { display:none; }
  .botao-flutuante { bottom:86px; }
  .toast { bottom:calc(84px + env(safe-area-inset-bottom)); max-width:calc(100vw - 30px); overflow:hidden; text-overflow:ellipsis; }
}

@media (max-width: 380px) {
  .abas-lista { gap:16px; }
  .historias { gap:8px; }
  .historia { width:50px; flex-basis:50px; }
}

/* RC01 I03 · aparência e responsividade */
.campo-aparencia { border:0; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; min-width:0; }
.campo-aparencia legend { padding:0; margin:0 0 1px; font-size:11px; font-weight:650; color:#555; }
.seletor-tema { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
.seletor-tema button { min-width:0; min-height:58px; padding:8px 6px; border:1px solid var(--campo-borda); border-radius:12px; background:var(--superficie); color:var(--texto-2); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; font-size:10px; transition:border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease; }
.seletor-tema button:hover { background:var(--superficie-2); }
.seletor-tema button:active { transform:scale(.98); }
.seletor-tema button.ativo { border-color:var(--texto); color:var(--texto); box-shadow:0 0 0 1px var(--texto) inset; font-weight:650; }
.amostra-tema { width:28px; height:18px; border-radius:7px; border:1px solid var(--linha-forte); overflow:hidden; position:relative; display:block; }
.amostra-tema.claro { background:#fff; }
.amostra-tema.escuro { background:#171719; border-color:#343438; }
.amostra-tema.sistema { background:linear-gradient(90deg,#fff 0 50%,#171719 50% 100%); }
.descricao-tema { color:var(--texto-3); font-size:9px; line-height:1.4; }

html[data-tema="escuro"] .aplicacao,
html[data-tema="escuro"] .coluna-conversas,
html[data-tema="escuro"] .painel-chat,
html[data-tema="escuro"] .painel-comunidade,
html[data-tema="escuro"] .cabecalho-lista,
html[data-tema="escuro"] .mensagens,
html[data-tema="escuro"] .compositor,
html[data-tema="escuro"] .painel-perfil { background:var(--superficie); }
html[data-tema="escuro"] .aplicacao { border-color:var(--linha-forte); }
html[data-tema="escuro"] .marca-app { background:#f2f2f3; }
html[data-tema="escuro"] .marca-app span,
html[data-tema="escuro"] .marca-app span::after { background:#111113; }
html[data-tema="escuro"] .historia .avatar-historia { border-color:var(--superficie); box-shadow:0 0 0 1px var(--linha-forte); }
html[data-tema="escuro"] .historia .avatar-historia.online::after { border-color:var(--superficie); }
html[data-tema="escuro"] .historia small,
html[data-tema="escuro"] .abas-lista button.ativo,
html[data-tema="escuro"] .abas-comunidade button.ativo,
html[data-tema="escuro"] .estado-vazio strong,
html[data-tema="escuro"] .pin,
html[data-tema="escuro"] .titulo-lista strong,
html[data-tema="escuro"] .formulario-perfil label > span,
html[data-tema="escuro"] .campo-aparencia legend { color:var(--texto); }
html[data-tema="escuro"] .abas-lista button.ativo::after,
html[data-tema="escuro"] .abas-comunidade button.ativo::after,
html[data-tema="escuro"] .abas-perfil button.ativo::after { background:var(--texto); }
html[data-tema="escuro"] .busca-inline,
html[data-tema="escuro"] .campo-mensagem,
html[data-tema="escuro"] .resumo-sessoes,
html[data-tema="escuro"] .dispositivo .icone-dispositivo { background:var(--campo); }
html[data-tema="escuro"] .busca-inline input,
html[data-tema="escuro"] .campo-mensagem textarea,
html[data-tema="escuro"] .formulario-perfil input,
html[data-tema="escuro"] .formulario-perfil textarea,
html[data-tema="escuro"] .formulario-perfil select { color:var(--texto); }
html[data-tema="escuro"] .conversa,
html[data-tema="escuro"] .pessoa { border-bottom-color:var(--linha); }
html[data-tema="escuro"] .conversa:hover,
html[data-tema="escuro"] .conversa.ativa { background:var(--superficie-hover); }
html[data-tema="escuro"] .selo,
html[data-tema="escuro"] .botao-flutuante,
html[data-tema="escuro"] .botao-primario { background:var(--contraste); color:var(--texto-contraste); }
html[data-tema="escuro"] .separador-data { background:var(--superficie-3); color:var(--texto-2); }
html[data-tema="escuro"] .bolha { background:var(--superficie-3); color:var(--texto); }
html[data-tema="escuro"] .minha .bolha { background:var(--bolha-minha); color:var(--texto-bolha-minha); }
html[data-tema="escuro"] .autor { color:var(--texto-2); }
html[data-tema="escuro"] .anexo-imagem { background:var(--superficie-3); }
html[data-tema="escuro"] .painel-perfil { box-shadow:var(--sombra-painel); }
html[data-tema="escuro"] .editor-foto-perfil { background:var(--superficie-2); border-color:var(--linha); }
html[data-tema="escuro"] .selo-editar-foto { background:var(--contraste); color:var(--texto-contraste); border-color:var(--superficie-2); }
html[data-tema="escuro"] .campo-identificador { background:var(--superficie-2); border-color:var(--campo-borda); }
html[data-tema="escuro"] .campo-identificador:focus-within { border-color:#77777d; box-shadow:0 0 0 3px #242428; }
html[data-tema="escuro"] .campo-identificador input { color:var(--texto); }

html[data-tema="escuro"] .sobreposicao { background:var(--sobreposicao); }
html[data-tema="escuro"] .abas-perfil button.ativo { color:var(--texto); }
html[data-tema="escuro"] .formulario-perfil input,
html[data-tema="escuro"] .formulario-perfil textarea,
html[data-tema="escuro"] .formulario-perfil select { background:var(--superficie-2); border-color:var(--campo-borda); }
html[data-tema="escuro"] .formulario-perfil input:focus,
html[data-tema="escuro"] .formulario-perfil textarea:focus,
html[data-tema="escuro"] .formulario-perfil select:focus { border-color:#77777d; box-shadow:0 0 0 3px #242428; }
html[data-tema="escuro"] .dispositivo { border-color:var(--linha); }
html[data-tema="escuro"] .barra-mobile { background:var(--barra-mobile); }
html[data-tema="escuro"] .barra-mobile button { color:var(--texto-barra); }
html[data-tema="escuro"] .barra-mobile button.ativo { color:var(--texto-barra-ativo); }

@media (min-width: 1121px) and (max-width: 1320px) {
  .aplicacao { grid-template-columns:350px minmax(410px,1fr) 285px; width:calc(100vw - 24px); height:calc(100dvh - 24px); margin:12px auto; }
}

@media (min-width: 901px) and (max-width: 1120px) {
  .aplicacao { width:calc(100vw - 24px); height:calc(100dvh - 24px); margin:12px auto; grid-template-columns:340px minmax(0,1fr); }
  .painel-comunidade { display:none; }
}

@media (min-width: 761px) and (max-width: 900px) {
  body { background:var(--superficie); }
  .aplicacao { width:100%; height:100dvh; margin:0; border:0; border-radius:0; box-shadow:none; grid-template-columns:300px minmax(0,1fr); }
  .painel-comunidade { display:none; }
  .marca-linha { grid-template-columns:38px minmax(0,1fr) 34px 34px; padding-left:10px; padding-right:8px; }
  .marca-linha strong { font-size:18px; }
  .historias { gap:7px; padding-left:10px; padding-right:10px; }
  .historia { width:48px; flex-basis:48px; }
  .historia .avatar-historia { width:40px; height:40px; }
  .abas-lista { gap:15px; padding-left:11px; padding-right:11px; }
  .conversa { padding-left:10px; padding-right:10px; grid-template-columns:43px minmax(0,1fr) auto; gap-column:8px; }
  .conversa .avatar { width:42px; height:42px; }
  .cabecalho-chat { padding-left:9px; padding-right:9px; }
  .mensagens { padding-left:12px; padding-right:12px; }
  .bolha { max-width:82%; }
  .compositor { padding-left:7px; padding-right:7px; }
  .compositor .icone-botao:not(.compositor-mais) { width:34px; height:34px; }
}

@media (max-width: 760px) {
  html[data-tema="escuro"] body { background:var(--superficie); }
  .marca-linha { padding-left:max(14px, env(safe-area-inset-left)); padding-right:max(10px, env(safe-area-inset-right)); }
  .cabecalho-chat { padding-left:max(7px, env(safe-area-inset-left)); padding-right:max(7px, env(safe-area-inset-right)); }
  .mensagens { padding-left:max(12px, env(safe-area-inset-left)); padding-right:max(12px, env(safe-area-inset-right)); }
  .compositor { padding-left:max(8px, env(safe-area-inset-left)); padding-right:max(8px, env(safe-area-inset-right)); }
  .barra-mobile { padding-left:max(8px, env(safe-area-inset-left)); padding-right:max(8px, env(safe-area-inset-right)); background:var(--barra-mobile); }
  .barra-mobile button { color:var(--texto-barra); }
  .barra-mobile button.ativo { color:var(--texto-barra-ativo); }
  .painel-perfil { padding-left:max(20px, env(safe-area-inset-left)); padding-right:max(20px, env(safe-area-inset-right)); }
}

@media (max-width: 430px) {
  .marca-linha strong { font-size:19px; }
  .historias { gap:9px; padding-left:12px; padding-right:12px; }
  .historia { width:51px; flex-basis:51px; }
  .abas-lista { padding-left:13px; padding-right:13px; }
  .conversa { min-height:66px; padding-left:12px; padding-right:12px; }
  .titulo-lista { padding-left:13px; padding-right:13px; }
}

@media (max-width: 360px) {
  .abas-lista { gap:13px; }
  .abas-lista button { font-size:11px; }
  .historias { gap:6px; }
  .historia { width:47px; flex-basis:47px; }
  .compositor .icone-botao:not(.compositor-mais) { display:none; }
  .campo-mensagem { padding-left:12px; }
}

/* RC02 I01 · autenticação */
.tela-autenticacao { position:fixed; inset:0; z-index:120; display:grid; grid-template-columns:minmax(360px,1fr) minmax(420px,520px); background:var(--fundo); color:var(--texto); }
.tela-autenticacao.oculta { display:none; }
.aplicacao.autenticacao-bloqueada { visibility:hidden; pointer-events:none; }
.autenticacao-apresentacao { position:relative; padding:clamp(42px,6vw,86px); display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; background:var(--superficie); border-right:1px solid var(--linha); }
.autenticacao-apresentacao::after { content:""; position:absolute; width:min(42vw,560px); aspect-ratio:1; right:-18%; bottom:-28%; border:1px solid var(--linha-forte); border-radius:50%; box-shadow:0 0 0 42px color-mix(in srgb,var(--linha) 44%,transparent),0 0 0 88px color-mix(in srgb,var(--linha) 22%,transparent); pointer-events:none; }
.marca-login { width:58px; height:58px; border-radius:17px; display:grid; place-items:center; background:var(--contraste); color:var(--texto-contraste); box-shadow:var(--sombra); position:relative; z-index:1; }
.marca-login > span { width:29px; height:21px; border-radius:8px; background:currentColor; position:relative; }
.marca-login > span::after { content:""; position:absolute; left:5px; bottom:-5px; width:9px; height:9px; background:currentColor; clip-path:polygon(0 0,100% 0,0 100%); }
.autenticacao-apresentacao > div:not(.autenticacao-detalhe) { max-width:610px; position:relative; z-index:1; }
.rotulo-login { margin:0 0 12px; color:var(--texto-3); font-size:11px; letter-spacing:.22em; font-weight:700; }
.autenticacao-apresentacao h1 { margin:0; max-width:700px; font-size:clamp(48px,6vw,86px); line-height:.98; letter-spacing:-.055em; font-weight:720; }
.autenticacao-apresentacao p:not(.rotulo-login) { max-width:520px; margin:26px 0 0; color:var(--texto-2); font-size:clamp(17px,1.5vw,22px); line-height:1.5; }
.autenticacao-detalhe { display:flex; gap:8px; position:relative; z-index:1; }
.autenticacao-detalhe span { width:8px; height:8px; border-radius:50%; background:var(--linha-forte); }
.autenticacao-detalhe span:first-child { width:32px; border-radius:999px; background:var(--texto); }
.autenticacao-cartao { display:grid; place-items:center; padding:42px; background:var(--superficie-2); }
.autenticacao-marca-mobile { display:none; }
.formulario-login { width:min(100%,380px); padding:38px; border:1px solid var(--linha); border-radius:26px; background:var(--superficie); box-shadow:0 20px 60px rgba(0,0,0,.07); display:flex; flex-direction:column; gap:18px; }
.titulo-login { margin-bottom:6px; }
.titulo-login h2 { margin:0 0 7px; font-size:34px; letter-spacing:-.035em; }
.titulo-login p { margin:0; color:var(--texto-2); font-size:13px; }
.formulario-login > label { display:flex; flex-direction:column; gap:7px; }
.formulario-login > label > span { color:var(--texto-2); font-size:11px; font-weight:650; }
.formulario-login input { width:100%; height:48px; border:1px solid var(--campo-borda); border-radius:13px; background:var(--superficie); color:var(--texto); padding:0 14px; outline:0; transition:border-color .16s ease,box-shadow .16s ease,background .16s ease; }
.formulario-login input:focus { border-color:var(--texto-2); box-shadow:0 0 0 3px color-mix(in srgb,var(--texto) 8%,transparent); }
.campo-senha { position:relative; }
.campo-senha input { padding-right:72px; }
.campo-senha button { position:absolute; right:7px; top:50%; transform:translateY(-50%); height:34px; padding:0 8px; border-radius:8px; color:var(--texto-2); font-size:10px; font-weight:650; }
.campo-senha button:hover { background:var(--superficie-2); color:var(--texto); }
.mensagem-login { min-height:16px; margin:-4px 0 -2px; color:var(--perigo); font-size:11px; }
.botao-login { min-height:50px; padding:0 18px; border-radius:14px; background:var(--contraste); color:var(--texto-contraste); display:flex; align-items:center; justify-content:space-between; font-weight:680; transition:transform .16s ease,opacity .16s ease; }
.botao-login:active { transform:scale(.99); }
.botao-login:disabled { opacity:.6; cursor:wait; }
.botao-login i { font-style:normal; font-size:20px; }
.nota-login { margin:0; text-align:center; color:var(--texto-3); font-size:10px; line-height:1.5; }
.botao-sair { min-height:42px; border:1px solid var(--linha-forte); border-radius:12px; color:var(--perigo); font-weight:650; background:var(--superficie); }
.botao-sair:hover { background:var(--superficie-2); }

html[data-tema="escuro"] .autenticacao-apresentacao,
html[data-tema="escuro"] .formulario-login { background:var(--superficie); }
html[data-tema="escuro"] .autenticacao-cartao { background:var(--superficie-2); }
html[data-tema="escuro"] .formulario-login { box-shadow:0 24px 70px rgba(0,0,0,.34); }

@media (max-width: 860px) {
  .tela-autenticacao { grid-template-columns:1fr; background:var(--superficie); overflow:auto; }
  .autenticacao-apresentacao { display:none; }
  .autenticacao-cartao { min-height:100dvh; padding:max(28px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left)); background:var(--superficie); align-content:center; gap:34px; }
  .autenticacao-marca-mobile { display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; }
  .autenticacao-marca-mobile .marca-login { margin-bottom:8px; }
  .autenticacao-marca-mobile strong { font-size:27px; letter-spacing:-.035em; }
  .autenticacao-marca-mobile small { color:var(--texto-2); font-size:13px; }
  .formulario-login { border:0; box-shadow:none; padding:0; border-radius:0; width:min(100%,430px); }
  .titulo-login h2 { font-size:29px; }
  .nota-login { margin-top:2px; }
}

/* RC02 I03 · múltiplos dispositivos vinculados */
.resumo-sessoes { display:flex; flex-direction:column; gap:4px; margin:0 0 14px; padding:12px 13px; border:1px solid var(--linha, #ececec); border-radius:14px; background:var(--superficie-suave, #fafafa); }
.resumo-sessoes strong { font-size:12px; }
.resumo-sessoes span { color:var(--texto-secundario, #8b8b8b); font-size:10px; line-height:1.45; }
.resumo-sessoes code { font:600 9px/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; padding:2px 5px; border-radius:6px; background:var(--campo, #f0f0f0); color:var(--texto, #161616); }
.dispositivo { grid-template-columns:40px minmax(0,1fr) auto; transition:border-color .18s ease, background .18s ease; }
.dispositivo.dispositivo-atual { border-color:#cfcfcf; background:var(--superficie-suave, #fafafa); }
.dispositivo-info { min-width:0; }
.dispositivo-info strong,.dispositivo-info span,.dispositivo-info small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dispositivo-info small { display:block; color:var(--texto-terciario, #a0a0a0); font-size:9px; margin-top:4px; }
.dispositivo-acoes { display:flex; flex-direction:column; align-items:flex-end; gap:7px; }
.dispositivo-acoes em { white-space:nowrap; }
.acao-renomear-dispositivo { border:0; background:transparent; color:var(--texto-secundario, #777); font-size:9px; font-weight:700; padding:2px 0; cursor:pointer; }
.acao-renomear-dispositivo:hover { color:var(--texto, #111); }
html[data-tema="escuro"] .resumo-sessoes { border-color:var(--linha); background:var(--superficie-suave); }
html[data-tema="escuro"] .dispositivo.dispositivo-atual { border-color:#4a4a4a; background:var(--superficie-suave); }
@media (max-width: 520px) {
  .dispositivo { grid-template-columns:38px minmax(0,1fr); }
  .dispositivo-acoes { grid-column:2; flex-direction:row; align-items:center; justify-content:space-between; }
}

/* RC02 I04 · recuperação de acesso e controle de sessões */
.link-recuperacao,.voltar-login { align-self:flex-start; border:0; background:transparent; color:var(--texto-2); font-size:11px; font-weight:700; padding:0; cursor:pointer; }
.link-recuperacao:hover,.voltar-login:hover { color:var(--texto); }
.formulario-recuperacao { gap:16px; }
.etapa-recuperacao { display:flex; flex-direction:column; gap:16px; }
.ajuda-recuperacao { color:var(--texto-3); font-size:9px; line-height:1.45; margin-top:-8px; }
.codigo-dev { margin:0; padding:10px 12px; border:1px dashed var(--linha); border-radius:12px; background:var(--superficie-suave); color:var(--texto-2); font:600 11px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; }
.seguranca-sessoes { margin-top:20px; padding-top:18px; border-top:1px solid var(--linha); }
.cabecalho-seguranca-sessoes { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; margin-bottom:10px; }
.cabecalho-seguranca-sessoes strong { display:block; font-size:13px; }
.cabecalho-seguranca-sessoes span { display:block; color:var(--texto-3); font-size:10px; line-height:1.45; margin-top:4px; max-width:260px; }
.cabecalho-seguranca-sessoes button { flex:none; border:1px solid var(--linha); background:var(--superficie); color:var(--texto); border-radius:999px; padding:7px 10px; font-size:9px; font-weight:750; cursor:pointer; }
.sessao-item { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; padding:12px 0; border-bottom:1px solid var(--linha); }
.sessao-item:last-child { border-bottom:0; }
.sessao-info { min-width:0; }
.sessao-info strong { display:flex; align-items:center; gap:7px; font-size:11px; }
.sessao-info span,.sessao-info small { display:block; color:var(--texto-3); font-size:9px; margin-top:4px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.selo-sessao-atual { display:inline-flex; align-items:center; border-radius:999px; background:var(--campo); color:var(--texto-2); padding:3px 6px; font-size:8px; font-style:normal; font-weight:750; }
.botao-encerrar-sessao { border:0; background:transparent; color:var(--perigo); font-size:9px; font-weight:750; padding:4px 0; cursor:pointer; }
.botao-encerrar-sessao.atual { color:var(--texto-2); }
@media (max-width:760px) {
  .cabecalho-seguranca-sessoes { align-items:center; }
  .cabecalho-seguranca-sessoes span { max-width:220px; }
}

/* RC03 · Estado de conectividade realtime: só aparece quando exige atenção. */
.estado-realtime{position:fixed;z-index:9998;top:max(8px,env(safe-area-inset-top));left:50%;transform:translate(-50%,-14px);opacity:0;pointer-events:none;padding:8px 14px;border-radius:999px;background:var(--cor-texto,#171717);color:var(--cor-fundo,#fff);font-size:12px;font-weight:650;box-shadow:0 10px 30px rgba(0,0,0,.12);transition:.2s ease}.estado-realtime.visivel{opacity:1;transform:translate(-50%,0)}.estado-realtime[data-estado=erro],.estado-realtime[data-estado=desconectado]{background:#2b2b2b}@media(max-width:760px){.estado-realtime{top:max(6px,env(safe-area-inset-top));font-size:11px;max-width:calc(100vw - 28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* RC04 · Contatos */
.busca-pessoas{margin:0 14px 10px;height:40px;border:1px solid var(--linha);border-radius:14px;display:flex;align-items:center;gap:8px;padding:0 12px;background:var(--superficie-suave,#f7f7f7)}
.busca-pessoas svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;color:#8a8a8a}.busca-pessoas input{border:0;outline:0;background:transparent;width:100%;font:inherit;color:inherit}.pessoa{position:relative}.pessoa-acoes{margin-left:auto;display:flex;align-items:center;gap:6px}.pessoa-acoes button{border:1px solid var(--linha);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:650;background:transparent;color:inherit}.pessoa-acoes button.primario{background:#171717;color:#fff;border-color:#171717}.pessoa-acoes button.perigo{color:#b42318}.pessoa-meta{display:flex;flex-direction:column;min-width:0;flex:1}.pessoa-meta em{font-style:normal;color:#8d8d8d;font-size:11px}.estrela-contato{font-size:17px!important;padding:5px 8px!important}.grupo-contato{font-size:10px;background:#f2f2f2;padding:3px 7px;border-radius:8px;color:#737373}.lista-pessoas .estado-vazio-contatos{padding:42px 20px;text-align:center;color:#888;display:flex;flex-direction:column;gap:5px}.lista-pessoas .estado-vazio-contatos strong{color:inherit}.menu-contato{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px}
html[data-tema="escuro"] .busca-pessoas{background:#171717}html[data-tema="escuro"] .pessoa-acoes button.primario{background:#f5f5f5;color:#111;border-color:#f5f5f5}html[data-tema="escuro"] .grupo-contato{background:#242424;color:#bbb}

/* RC04 I03 · folha premium de organização */
.sobreposicao-contato{position:fixed;inset:0;background:rgba(0,0,0,.18);backdrop-filter:blur(7px);z-index:80}.folha-contato{position:fixed;right:22px;top:50%;transform:translate(120%,-50%);width:min(390px,calc(100vw - 28px));background:var(--superficie,#fff);border:1px solid var(--linha);border-radius:26px;box-shadow:0 26px 70px rgba(0,0,0,.18);z-index:81;transition:transform .25s ease;overflow:hidden}.folha-contato.aberta{transform:translate(0,-50%)}.folha-contato header{padding:20px 20px 14px;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid var(--linha)}.folha-contato h2{margin:2px 0 0;font-size:21px}.folha-contato-conteudo{padding:18px 20px 22px;display:grid;gap:16px}.resumo-contato-folha{display:flex;align-items:center;gap:12px}.resumo-contato-folha>div{display:flex;flex-direction:column;gap:2px}.resumo-contato-folha span{color:#8a8a8a;font-size:12px}.campo-folha{display:grid;gap:7px}.campo-folha>span{font-size:12px;font-weight:650}.campo-folha select{width:100%;height:44px;border:1px solid var(--linha);border-radius:14px;background:transparent;color:inherit;padding:0 12px}.opcao-favorito{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 0}.opcao-favorito>span{display:grid;gap:3px}.opcao-favorito small{color:#898989}.opcao-favorito input{width:22px;height:22px;accent-color:#171717}@media(max-width:760px){.folha-contato{right:10px;left:10px;bottom:10px;top:auto;width:auto;border-radius:26px;transform:translateY(120%)}.folha-contato.aberta{transform:translateY(0)}}
/* RC04 · correção de densidade responsiva das ações de contato */
.pessoa:has(.pessoa-acoes){grid-template-columns:44px minmax(0,1fr) auto}
@media(max-width:760px){
  .pessoa-acoes{max-width:148px;flex-wrap:wrap;justify-content:flex-end}
  .pessoa-acoes button{padding:6px 8px;font-size:10px}
  .abas-comunidade{justify-content:flex-start;gap:22px}
}

/* RC05 · Conversa individual */
.estado-chat-vazio{min-height:260px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;color:var(--texto-secundario)}.estado-chat-vazio span{font-size:34px;filter:grayscale(1)}.estado-chat-vazio strong{font-size:15px;color:var(--texto)}.estado-chat-vazio small{font-size:12px}.carregar-anteriores{display:block;margin:8px auto 14px;border:0;background:var(--superficie-2,#f2f2f2);color:var(--texto);font:inherit;font-size:12px;font-weight:650;padding:8px 14px;border-radius:999px;cursor:pointer}.campo-mensagem textarea:disabled{opacity:.58;cursor:not-allowed}.pessoa-acoes .primario{white-space:nowrap}
html[data-tema="escuro"] .carregar-anteriores{background:#252525;color:#f4f4f4}

/* RC06 · ciclo completo da mensagem */
.estado-envio{display:inline-flex;align-items:center;justify-content:center;min-width:11px;font-size:9px;font-weight:800;letter-spacing:-2px;line-height:1;transition:opacity .18s ease,transform .18s ease}.estado-envio.enviando{letter-spacing:0;opacity:.58;font-size:10px}.estado-envio.enviada{letter-spacing:0;opacity:.62}.estado-envio.entregue{opacity:.72}.estado-envio.lida{opacity:1}.minha .estado-envio{color:currentColor}.meta-msg{align-items:center}.separador-data{position:sticky;top:5px;z-index:2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
html[data-tema="escuro"] .separador-data{background:rgba(38,38,38,.88);color:#aaa}
@media (max-width:760px){.estado-envio{font-size:8px}.estado-envio.enviando{font-size:9px}}


/* RC07 · Interações com mensagens */
.contexto-compositor{display:flex;align-items:center;gap:10px;padding:8px 14px;border-top:1px solid var(--linha);background:var(--superficie-1,#fff)}
.contexto-compositor.oculto{display:none}.contexto-compositor>div{min-width:0;flex:1;border-left:3px solid var(--texto,#171717);padding-left:10px}.contexto-compositor span{display:block;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.contexto-compositor strong{display:block;font-size:12px;font-weight:500;color:var(--texto-secundario,#777);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contexto-compositor .icone-botao{font-size:22px}
.linha-mensagem{position:relative}.acao-mensagem{align-self:center;border:0;background:transparent;color:#aaa;opacity:0;width:30px;height:30px;border-radius:50%;font-weight:800;cursor:pointer;transition:.16s}.linha-mensagem:hover .acao-mensagem,.acao-mensagem:focus-visible{opacity:1}.acao-mensagem:hover{background:#f2f2f2;color:#222}.minha .acao-mensagem{order:-1}
.citacao-mensagem{border-left:3px solid currentColor;background:rgba(127,127,127,.10);border-radius:6px;padding:5px 8px;margin-bottom:7px;max-width:100%}.citacao-mensagem span{display:block;font-size:10px;font-weight:800;opacity:.9}.citacao-mensagem small{display:block;font-size:11px;opacity:.72;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:290px}.rotulo-encaminhada{font-size:10px;opacity:.62;font-weight:700;margin-bottom:5px}.msg-editada{font-size:9px;opacity:.62}.mensagem-apagada{opacity:.62;font-style:italic}.linha-mensagem.apagada .bolha{background:transparent!important;border:1px solid var(--linha);color:var(--texto-secundario,#777);box-shadow:none}
.menu-mensagem{position:fixed;z-index:1500;width:190px;background:var(--superficie-1,#fff);border:1px solid var(--linha);border-radius:16px;padding:6px;box-shadow:0 18px 60px rgba(0,0,0,.18);animation:menuMsgIn .14s ease-out}.menu-mensagem button{display:flex;width:100%;gap:9px;align-items:center;border:0;background:transparent;color:var(--texto,#171717);padding:10px 11px;border-radius:10px;text-align:left;font:inherit;cursor:pointer}.menu-mensagem button:hover{background:var(--superficie-2,#f5f5f5)}.menu-mensagem button.perigo{color:#d33}.menu-mensagem span{font-size:12px;font-weight:650}@keyframes menuMsgIn{from{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:none}}
.seletor-encaminhar{position:fixed;inset:0;z-index:1600;background:rgba(0,0,0,.28);backdrop-filter:blur(6px);display:grid;place-items:center;padding:18px}.seletor-card{width:min(440px,100%);max-height:min(620px,85vh);background:var(--superficie-1,#fff);border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.22);overflow:hidden}.seletor-card header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid var(--linha)}.seletor-card header span{display:block;font-size:9px;letter-spacing:.14em;color:var(--texto-secundario,#777)}.seletor-card header strong{font-size:17px}.seletor-card header button{border:0;background:transparent;font-size:26px;cursor:pointer;color:var(--texto)}.seletor-lista{padding:8px;overflow:auto;max-height:520px}.seletor-lista>button{width:100%;display:flex;align-items:center;gap:12px;border:0;background:transparent;border-radius:14px;padding:10px;text-align:left;color:var(--texto);cursor:pointer}.seletor-lista>button:hover{background:var(--superficie-2,#f5f5f5)}.seletor-lista>button>span:last-child{min-width:0;display:grid}.seletor-lista strong{font-size:13px}.seletor-lista small{font-size:11px;color:var(--texto-secundario);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.acao-mensagem{opacity:.72;width:27px}.menu-mensagem.folha{left:10px!important;right:10px!important;top:auto!important;bottom:calc(10px + env(safe-area-inset-bottom));width:auto;border-radius:22px;padding:9px}.menu-mensagem.folha button{padding:13px 14px}.citacao-mensagem small{max-width:210px}.seletor-encaminhar{align-items:end;padding:0}.seletor-card{width:100%;border-radius:24px 24px 0 0;max-height:78vh;padding-bottom:env(safe-area-inset-bottom)}}
html[data-tema="escuro"] .acao-mensagem:hover{background:var(--superficie-3)}


/* RC08 · Experiência de conversa */
.conteudo-mensagem{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:min(72%,560px)}.minha .conteudo-mensagem{align-items:flex-end}.reacoes-mensagem{display:flex;gap:5px;flex-wrap:wrap;margin-top:-3px;z-index:3}.reacao-chip{height:25px;min-width:38px;border:1px solid var(--linha);border-radius:999px;background:var(--superficie-1,#fff);color:var(--texto);display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:0 8px;box-shadow:0 4px 14px rgba(0,0,0,.06);cursor:pointer;font:inherit}.reacao-chip span{font-size:14px}.reacao-chip b{font-size:10px}.reacao-chip.minha{border-color:#222;background:#1d1d1d;color:#fff}.reacoes-rapidas{display:flex;align-items:center;justify-content:space-between;padding:5px 4px 8px;border-bottom:1px solid var(--linha);margin-bottom:4px}.reacoes-rapidas button{width:28px!important;height:28px!important;padding:0!important;justify-content:center!important;font-size:17px!important;border-radius:50%!important}.marcador-novas{display:flex;align-items:center;gap:10px;color:var(--texto-secundario);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:12px 0}.marcador-novas::before,.marcador-novas::after{content:'';height:1px;background:var(--linha);flex:1}.marcador-novas span{padding:0 4px}.saltar-ultima{position:absolute;right:22px;bottom:83px;z-index:15;border:1px solid var(--linha);background:var(--superficie-1,#fff);color:var(--texto);border-radius:999px;height:38px;padding:0 13px;display:flex;align-items:center;gap:7px;box-shadow:0 12px 34px rgba(0,0,0,.14);font:inherit;cursor:pointer;transition:.18s ease}.saltar-ultima.oculto{opacity:0;pointer-events:none;transform:translateY(8px)}.saltar-ultima span{font-size:18px;line-height:1}.saltar-ultima b{font-size:11px}.indicador-digitando{min-height:30px;display:flex;align-items:center;gap:8px;padding:4px 20px;color:var(--texto-secundario);font-size:11px;background:var(--superficie-1,#fff)}.indicador-digitando.oculto{display:none}.pontos-digitando{display:flex;gap:3px;align-items:center;background:var(--superficie-2,#f2f2f2);padding:7px 9px;border-radius:999px}.pontos-digitando i{width:5px;height:5px;border-radius:50%;background:currentColor;animation:digitaPonto 1.1s infinite ease-in-out}.pontos-digitando i:nth-child(2){animation-delay:.14s}.pontos-digitando i:nth-child(3){animation-delay:.28s}@keyframes digitaPonto{0%,60%,100%{transform:translateY(0);opacity:.42}30%{transform:translateY(-3px);opacity:1}}.campo-mensagem textarea{resize:none;overflow-y:auto;max-height:112px;transition:height .12s ease}.mensagens{scroll-behavior:smooth;overscroll-behavior:contain}.linha-mensagem{animation:mensagemEntra .16s ease-out}@keyframes mensagemEntra{from{opacity:.45;transform:translateY(3px)}to{opacity:1;transform:none}}
html[data-tema="escuro"] .reacao-chip{background:#191919}html[data-tema="escuro"] .reacao-chip.minha{background:#f1f1f1;color:#111;border-color:#f1f1f1}html[data-tema="escuro"] .indicador-digitando{background:var(--superficie-1,#111)}
@media(max-width:760px){.conteudo-mensagem{max-width:76%}.saltar-ultima{right:12px;bottom:calc(80px + env(safe-area-inset-bottom));height:36px}.saltar-ultima b{display:none}.indicador-digitando{padding:3px 12px}.reacoes-rapidas button{font-size:19px!important;width:38px!important;height:38px!important}.reacao-chip{height:24px}}
@media(prefers-reduced-motion:reduce){.pontos-digitando i,.linha-mensagem,.saltar-ultima{animation:none!important;transition:none!important}.mensagens{scroll-behavior:auto}}

/* RC09 · grupos */
.cabecalho-grupos-ui{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px 12px;border-bottom:1px solid var(--linha)}.cabecalho-grupos-ui>div{display:flex;flex-direction:column;gap:3px}.cabecalho-grupos-ui strong{font-size:13px}.cabecalho-grupos-ui span{font-size:10px;color:var(--texto-3)}.cabecalho-grupos-ui button{border:0;border-radius:999px;background:var(--contraste);color:var(--texto-contraste);padding:9px 13px;font:inherit;font-size:10px;font-weight:750}.avatar-grupo-ui{background:#171717;color:#fff;font-weight:800;letter-spacing:.03em}.pessoa .avatar-grupo-ui{display:grid;margin-top:0;color:#fff}.grupo-item-ui .pessoa-meta em{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:760px){.abas-comunidade{overflow-x:auto;scrollbar-width:none}.abas-comunidade::-webkit-scrollbar{display:none}.abas-comunidade button{flex:0 0 auto}.cabecalho-grupos-ui{padding:12px}.grupo-item-ui .pessoa-acoes{max-width:112px}.grupo-item-ui .pessoa-acoes button{min-width:0;padding-inline:10px}}


/* RC10 · recursos avançados de grupos */
.mencao-texto{font-weight:800;text-decoration:none;background:color-mix(in srgb,var(--contraste) 8%,transparent);padding:0 3px;border-radius:5px}.faixa-fixadas-grupo{border-bottom:1px solid var(--linha);background:var(--superficie);padding:7px 13px;z-index:3}.faixa-fixadas-grupo.oculto{display:none}.faixa-fixadas-grupo>button{width:100%;border:0;background:transparent;display:grid;grid-template-columns:26px 1fr auto;text-align:left;align-items:center;gap:8px;color:var(--texto);font:inherit}.faixa-fixadas-grupo div{display:grid;min-width:0}.faixa-fixadas-grupo strong{font-size:10px}.faixa-fixadas-grupo small{font-size:10px;color:var(--texto-suave);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.faixa-fixadas-grupo b{font-size:9px;border-radius:999px;background:var(--contraste);color:var(--texto-contraste);padding:4px 7px}.sugestoes-mencao{position:absolute;left:45px;right:54px;bottom:calc(100% + 8px);background:var(--superficie);border:1px solid var(--linha);border-radius:18px;box-shadow:0 16px 50px rgba(0,0,0,.14);padding:7px;display:grid;z-index:30;max-height:270px;overflow:auto}.sugestoes-mencao button{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--texto);border-radius:12px;padding:8px;text-align:left;font:inherit}.sugestoes-mencao button:hover{background:var(--superficie-secundaria)}.sugestoes-mencao button>span:last-child{display:grid}.sugestoes-mencao strong{font-size:11px}.sugestoes-mencao small{font-size:9px;color:var(--texto-suave)}.overlay-grupo-avancado{position:fixed;inset:0;background:rgba(0,0,0,.30);backdrop-filter:blur(8px);z-index:120;display:flex;justify-content:flex-end}.painel-grupo-avancado{width:min(430px,100%);height:100%;background:var(--superficie);box-shadow:-20px 0 60px rgba(0,0,0,.16);display:flex;flex-direction:column;animation:grupoPainel .22s ease-out}@keyframes grupoPainel{from{transform:translateX(18px);opacity:.5}to{transform:none;opacity:1}}.painel-grupo-avancado>header{padding:22px 20px 16px;border-bottom:1px solid var(--linha);display:flex;align-items:flex-start;justify-content:space-between}.painel-grupo-avancado h2{font-size:20px;margin:2px 0}.painel-grupo-avancado header p{font-size:10px;color:var(--texto-suave);margin:0}.grupo-avancado-corpo{overflow:auto;padding:14px;display:grid;gap:12px}.cartao-grupo-avancado{border:1px solid var(--linha);background:var(--superficie);border-radius:18px;padding:14px;box-shadow:0 7px 24px rgba(0,0,0,.035)}.cartao-grupo-avancado h3{font-size:12px;margin:0 0 10px}.titulo-cartao{display:flex;align-items:center;justify-content:space-between}.titulo-cartao span{font-size:9px;color:var(--texto-suave)}.opcoes-chip{display:flex;flex-wrap:wrap;gap:6px}.opcoes-chip button,.lista-fixadas-grupo button{border:1px solid var(--linha);background:var(--superficie-secundaria);color:var(--texto);font:inherit;font-size:9px;padding:7px 9px;border-radius:999px}.opcoes-chip button.ativo{background:var(--contraste);color:var(--texto-contraste);border-color:var(--contraste)}.lista-fixadas-grupo{display:grid;gap:7px}.lista-fixadas-grupo article{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:8px;border-radius:12px;background:var(--superficie-secundaria)}.lista-fixadas-grupo article div{display:grid;min-width:0}.lista-fixadas-grupo article strong{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lista-fixadas-grupo article small,.timeline-grupo small{font-size:8px;color:var(--texto-suave)}.timeline-grupo{display:grid}.timeline-grupo article{display:grid;grid-template-columns:14px 1fr;gap:7px;padding:7px 0;border-bottom:1px solid var(--linha)}.timeline-grupo article:last-child{border-bottom:0}.timeline-grupo i{width:7px;height:7px;border-radius:50%;background:var(--contraste);margin-top:4px}.timeline-grupo article div{display:grid}.timeline-grupo strong{font-size:10px;text-transform:none}.vazio-grupo-avancado{font-size:9px;color:var(--texto-suave);margin:4px 0}.compositor{position:relative}
@media(max-width:760px){.overlay-grupo-avancado{align-items:flex-end}.painel-grupo-avancado{height:min(82dvh,720px);width:100%;border-radius:26px 26px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.15)}.painel-grupo-avancado>header{padding-top:18px}.sugestoes-mencao{left:10px;right:10px}.faixa-fixadas-grupo{padding-left:10px;padding-right:10px}}


/* RC11 · Arquivos e mídia */
.entrada-arquivo-oculta{display:none!important}.anexos-mensagem{display:grid;gap:7px;margin:-4px -6px 4px}.anexo-imagem{margin:0;min-width:210px;max-width:340px}.anexo-imagem button{display:block;border:0;background:none;padding:0;width:100%;cursor:pointer}.anexo-imagem img{display:block;width:100%;max-height:360px;object-fit:cover;border-radius:14px}.legenda-anexo{margin:7px 8px 0;font-size:14px}.anexo-video{min-width:240px;max-width:350px}.anexo-video video{display:block;width:100%;max-height:300px;border-radius:14px;background:#111}.anexo-video>div{display:flex;justify-content:space-between;gap:12px;padding:7px 4px 2px;font-size:12px}.anexo-video span{color:var(--texto-secundario)}.anexo-documento{display:flex;align-items:center;gap:10px;min-width:230px;padding:10px;border-radius:13px;background:color-mix(in srgb,var(--superficie) 74%,var(--texto) 4%);text-decoration:none;color:inherit}.icone-documento{display:grid;place-items:center;width:42px;height:42px;border-radius:10px;background:var(--texto);color:var(--fundo);font-weight:800;font-size:10px}.anexo-documento div{display:grid;min-width:0;flex:1}.anexo-documento strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.anexo-documento small{color:var(--texto-secundario)}.anexo-audio{display:grid;grid-template-columns:36px minmax(0,1fr) 34px;align-items:center;gap:6px;width:245px;max-width:100%;min-width:0;padding:6px 4px}.audio-play{width:36px;height:36px;border-radius:50%;border:0;background:var(--texto);color:var(--fundo);cursor:pointer}.forma-onda{min-width:0;height:34px;display:flex;gap:2px;align-items:center;overflow:hidden}.forma-onda i{display:block;width:3px;height:calc(5px + var(--onda)*25px);min-height:5px;border-radius:9px;background:currentColor;opacity:.58}.duracao-audio{font-size:11px;color:var(--texto-secundario)}.uploads-ativos{position:absolute;left:14px;right:14px;bottom:72px;z-index:26;display:grid;gap:7px}.uploads-ativos.oculto{display:none}.upload-item{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;background:var(--superficie);border:1px solid var(--borda);border-radius:15px;padding:9px 10px;box-shadow:0 10px 32px rgba(0,0,0,.12)}.upload-item>span{font-size:20px;text-align:center}.upload-item>div{display:grid;min-width:0}.upload-item strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-item small{font-size:10px;color:var(--texto-secundario)}.upload-item i{height:3px;margin-top:5px;border-radius:8px;background:var(--borda);overflow:hidden}.upload-item i b{display:block;height:100%;background:var(--texto);transition:width .18s}.upload-item button{border:0;background:transparent;color:inherit;cursor:pointer;font-size:12px}.upload-item.erro i b{background:#e5484d}.menu-midia{position:absolute;left:8px;bottom:62px;width:260px;background:var(--superficie);border:1px solid var(--borda);border-radius:18px;padding:7px;box-shadow:0 18px 50px rgba(0,0,0,.18);z-index:30}.menu-midia button{width:100%;display:flex;align-items:center;gap:10px;border:0;background:transparent;color:inherit;padding:10px;border-radius:12px;text-align:left;cursor:pointer}.menu-midia button:hover{background:var(--superficie-elevada)}.menu-midia button>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--texto);color:var(--fundo)}.menu-midia button div{display:grid}.menu-midia strong{font-size:13px}.menu-midia small{font-size:10px;color:var(--texto-secundario)}body.gravando-audio #gravar-audio{background:#111;color:#fff;animation:pulso-audio 1.2s infinite}@keyframes pulso-audio{50%{box-shadow:0 0 0 7px rgba(229,72,77,.18)}}.overlay-galeria{position:fixed;inset:0;z-index:96;background:rgba(0,0,0,.28);display:flex;justify-content:flex-end;backdrop-filter:blur(6px)}.painel-galeria{width:min(520px,100%);height:100%;background:var(--fundo);display:flex;flex-direction:column;box-shadow:-18px 0 70px rgba(0,0,0,.16)}.painel-galeria header{display:flex;justify-content:space-between;align-items:center;padding:22px 20px 12px;border-bottom:1px solid var(--borda)}.painel-galeria header h2{margin:3px 0 0;font-size:22px}.painel-galeria nav{display:flex;padding:8px 14px;border-bottom:1px solid var(--borda);gap:5px;overflow:auto}.painel-galeria nav button{border:0;background:transparent;color:var(--texto-secundario);font-weight:650;padding:8px 10px;border-radius:10px;white-space:nowrap}.painel-galeria nav button.ativo{background:var(--texto);color:var(--fundo)}.galeria-conteudo{padding:14px;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.galeria-imagem{aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--superficie-elevada)}.galeria-imagem img{width:100%;height:100%;object-fit:cover}.galeria-arquivo,.galeria-link{grid-column:1/-1;display:flex;gap:11px;align-items:center;padding:12px;border:1px solid var(--borda);border-radius:14px;text-decoration:none;color:inherit}.galeria-arquivo>span{font-size:22px}.galeria-arquivo div,.galeria-link{min-width:0}.galeria-arquivo div{display:grid;min-width:0}.galeria-arquivo strong,.galeria-link strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.galeria-arquivo small,.galeria-link span{font-size:11px;color:var(--texto-secundario);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.galeria-link{display:grid}.galeria-vazia{grid-column:1/-1;padding:80px 22px;text-align:center;display:grid;gap:8px}.galeria-vazia span{color:var(--texto-secundario)}.carregar-galeria{grid-column:1/-1;border:1px solid var(--borda);background:var(--superficie);color:inherit;padding:10px;border-radius:12px;cursor:pointer}
@media(max-width:760px){.anexo-imagem{min-width:180px;max-width:290px}.anexo-video{min-width:205px;max-width:290px}.anexo-documento{min-width:0;width:190px;max-width:100%}.anexo-audio{width:210px;max-width:100%;min-width:0;grid-template-columns:32px minmax(0,1fr) 30px;gap:5px}.audio-play{width:31px;height:31px}.duracao-audio{font-size:10px;text-align:right;white-space:nowrap}.uploads-ativos{bottom:75px;left:8px;right:8px}.menu-midia{left:7px;right:7px;width:auto}.painel-galeria{width:100%}.galeria-conteudo{grid-template-columns:repeat(3,minmax(0,1fr))}}

.bolha:has(.anexos-mensagem){max-width:100%}

/* v0.11.5 · cadastro por e-mail */
.separador-autenticacao{display:flex;align-items:center;gap:12px;color:var(--texto-3);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.separador-autenticacao::before,.separador-autenticacao::after{content:"";height:1px;background:var(--linha);flex:1}.botao-secundario-login{min-height:48px;border:1px solid var(--campo-borda);border-radius:14px;background:var(--superficie);color:var(--texto);font-weight:700;transition:background .16s ease,transform .16s ease}.botao-secundario-login:active{transform:scale(.99)}.formulario-cadastro{max-height:min(760px,calc(100dvh - 84px));overflow:auto;scrollbar-width:thin}.etapa-cadastro{display:flex;flex-direction:column;gap:18px}.etapa-cadastro>label{display:flex;flex-direction:column;gap:7px}.etapa-cadastro>label>span{color:var(--texto-2);font-size:11px;font-weight:650}.email-confirmacao{padding:13px 14px;border-radius:13px;background:var(--superficie-2);border:1px solid var(--linha);display:flex;flex-direction:column;gap:4px}.email-confirmacao span{font-size:10px;color:var(--texto-3)}.email-confirmacao strong{font-size:13px;word-break:break-all}.campo-identificador-cadastro{height:48px;border:1px solid var(--campo-borda);border-radius:13px;background:var(--superficie);display:flex;align-items:center;padding:0 13px;gap:3px}.campo-identificador-cadastro:focus-within{border-color:var(--texto-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--texto) 8%,transparent)}.campo-identificador-cadastro>span{font-weight:700;color:var(--texto-2)}.campo-identificador-cadastro input{height:44px;border:0!important;box-shadow:none!important;padding:0!important}.codigo-dev{padding:10px 12px;border:1px dashed var(--linha-forte);border-radius:12px;background:var(--superficie-2);font-size:11px;color:var(--texto-2)}
@media(max-width:760px){.formulario-cadastro{max-height:none;overflow:visible}.autenticacao-cartao:has(.formulario-cadastro:not(.oculto)){align-content:start;padding-top:max(24px,env(safe-area-inset-top))}.formulario-cadastro{padding-bottom:max(24px,env(safe-area-inset-bottom))}}
