[hidden]{display:none !important}
:root{--fundo:#f3f5f9;--cartao:#fff;--texto:#1b2333;--sub:#5d6b82;--marca:#1456d6;--marca2:#0d3fa3;--borda:#dde3ee;
--eu:#1456d6;--eu-t:#fff;--ia:#fff;--erro:#c62828;--sombra:0 6px 24px rgba(20,40,80,.08)}
@media (prefers-color-scheme:dark){:root{--fundo:#0f1420;--cartao:#171e2e;--texto:#e7ecf5;--sub:#9aa7bd;--borda:#2a3449;
--ia:#1d2638;--sombra:0 6px 24px rgba(0,0,0,.35)}}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--texto);font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
min-height:100vh;display:flex;flex-direction:column}
.topo{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--cartao);
border-bottom:1px solid var(--borda);position:sticky;top:0;z-index:2}
.marca{display:flex;gap:10px;align-items:center}.marca small{display:block;color:var(--sub);font-size:12px}
.logo{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--marca);color:#fff;font-weight:800}
#acoes{display:flex;gap:8px;align-items:center}
main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:16px;display:flex;flex-direction:column}
.cartao{background:var(--cartao);border:1px solid var(--borda);border-radius:16px;padding:24px;box-shadow:var(--sombra);
max-width:400px;width:100%;margin:8vh auto 0}
h1{margin:0 0 4px;font-size:22px}.sub{margin:0 0 16px;color:var(--sub)}
label{display:block;font-size:14px;color:var(--sub);margin-bottom:12px}
input,textarea{width:100%;font:inherit;color:var(--texto);background:var(--fundo);border:1px solid var(--borda);
border-radius:10px;padding:10px 12px;margin-top:4px}
input:focus,textarea:focus{outline:2px solid var(--marca);outline-offset:1px}
button{font:inherit;font-weight:600;border:0;border-radius:10px;padding:10px 18px;background:var(--marca);color:#fff;cursor:pointer}
button:hover{background:var(--marca2)}button:disabled{opacity:.55;cursor:wait}
button.sec{background:transparent;color:var(--marca);border:1px solid var(--marca);padding:7px 12px;font-size:14px}
button.link{background:none;color:var(--sub);padding:6px;font-weight:500;font-size:14px}
.erro{color:var(--erro);min-height:1.2em;margin:8px 0 0;font-size:14px}
#telaChat{display:flex;flex-direction:column;flex:1;gap:12px}
#conversa{flex:1;display:flex;flex-direction:column;gap:10px;padding-bottom:8px}
.msg{max-width:85%;padding:10px 14px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word;box-shadow:var(--sombra)}
.msg.pessoa{align-self:flex-end;background:var(--eu);color:var(--eu-t);border-bottom-right-radius:4px}
.msg.ia{align-self:flex-start;background:var(--ia);border:1px solid var(--borda);border-bottom-left-radius:4px}
.msg.sis{align-self:center;background:none;box-shadow:none;color:var(--sub);font-size:14px;text-align:center}
.msg .tag{display:block;font-size:12px;opacity:.75;margin-top:4px}
.digitando{display:inline-flex;gap:4px}.digitando i{width:7px;height:7px;border-radius:50%;background:var(--sub);
animation:pula 1s infinite}.digitando i:nth-child(2){animation-delay:.15s}.digitando i:nth-child(3){animation-delay:.3s}
@keyframes pula{0%,80%,100%{opacity:.3}40%{opacity:1}}
.caixa{background:var(--cartao);border:1px solid var(--borda);border-radius:16px;padding:12px;box-shadow:var(--sombra);
position:sticky;bottom:12px}
.caixa textarea{resize:vertical;margin:0 0 8px}
.linha{display:flex;justify-content:space-between;align-items:center;gap:8px}
.anexo{margin:0;color:var(--marca);font-weight:600;cursor:pointer;font-size:15px}
#previa{display:flex;align-items:center;gap:8px;margin-bottom:8px}#previa img{max-height:70px;border-radius:8px;border:1px solid var(--borda)}
@media (max-width:480px){.marca small{display:none}.msg{max-width:92%}}
a.botao{display:inline-block;background:var(--marca);color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:10px}
a.botao:hover{background:var(--marca2)}
