*{box-sizing:border-box;margin:0;padding:0}:root{--cor-fundo: #212121;--cor-fundo-sidebar: #171717;--cor-fundo-input: #2f2f2f;--cor-texto: #ececec;--cor-texto-suave: #9b9b9b;--cor-destaque: #10a37f;--cor-erro: #ef4444;--cor-borda: #3a3a3a}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--cor-fundo);color:var(--cor-texto)}button{cursor:pointer;font:inherit}.tela-carregando,.tela-login{display:flex;align-items:center;justify-content:center;min-height:100vh}.card-login{display:flex;flex-direction:column;gap:8px;width:100%;max-width:360px;padding:32px;background:var(--cor-fundo-input);border:1px solid var(--cor-borda);border-radius:12px}.card-login h1{text-align:center;font-size:1.5rem}.card-login .subtitulo{text-align:center;color:var(--cor-texto-suave);margin-bottom:16px}.card-login label{font-size:.85rem;color:var(--cor-texto-suave)}.card-login input{padding:10px 12px;border:1px solid var(--cor-borda);border-radius:8px;background:var(--cor-fundo);color:var(--cor-texto);margin-bottom:8px}.card-login button{margin-top:8px;padding:10px;border:none;border-radius:8px;background:var(--cor-destaque);color:#fff;font-weight:600}.card-login button:disabled{opacity:.6;cursor:default}.mensagem-erro{color:var(--cor-erro);font-size:.85rem;padding:8px 0}.tela-chat{display:flex;height:100vh}.sidebar{display:flex;flex-direction:column;width:260px;flex-shrink:0;background:var(--cor-fundo-sidebar);padding:12px;gap:12px}.botao-nova-conversa{padding:10px;border:1px solid var(--cor-borda);border-radius:8px;background:transparent;color:var(--cor-texto);text-align:left}.botao-nova-conversa:hover{background:var(--cor-fundo-input)}.lista-conversas{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:2px}.item-conversa{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:8px;cursor:pointer;color:var(--cor-texto)}.item-conversa:hover,.item-conversa.ativa{background:var(--cor-fundo-input)}.titulo-conversa{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.acoes-conversa{display:none;gap:4px}.item-conversa:hover .acoes-conversa{display:flex}.acoes-conversa button{border:none;background:transparent;color:var(--cor-texto-suave);font-size:.85rem}.acoes-conversa button:hover{color:var(--cor-texto)}.rodape-sidebar{display:flex;align-items:center;justify-content:space-between;padding-top:12px;border-top:1px solid var(--cor-borda)}.nome-usuario{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.botao-sair{border:none;background:transparent;color:var(--cor-texto-suave);font-size:.85rem}.botao-sair:hover{color:var(--cor-texto)}.area-chat{flex:1;display:flex;flex-direction:column;align-items:center;min-width:0}.area-chat .mensagem-erro{width:100%;max-width:768px;padding:8px 16px}.lista-mensagens{flex:1;width:100%;max-width:768px;overflow-y:auto;padding:24px 16px;display:flex;flex-direction:column;gap:16px}.lista-mensagens.vazia{align-items:center;justify-content:center;color:var(--cor-texto-suave);font-size:1.4rem}.mensagem{line-height:1.6;word-wrap:break-word}.mensagem.user{align-self:flex-end;max-width:80%;background:var(--cor-fundo-input);padding:10px 16px;border-radius:16px}.mensagem.assistant{align-self:stretch}.mensagem.assistant pre{background:#0d0d0d;padding:12px;border-radius:8px;overflow-x:auto;margin:8px 0}.mensagem.assistant code{background:#0d0d0d;padding:2px 5px;border-radius:4px;font-size:.9em}.mensagem.assistant pre code{padding:0}.mensagem.assistant p,.mensagem.assistant ul,.mensagem.assistant ol{margin-bottom:8px}.mensagem.assistant ul,.mensagem.assistant ol{padding-left:24px}.digitando,.cursor-stream{color:var(--cor-texto-suave)}.entrada-mensagem{display:flex;gap:8px;width:100%;max-width:768px;padding:12px 16px 24px}.entrada-mensagem textarea{flex:1;resize:none;padding:12px 16px;border:1px solid var(--cor-borda);border-radius:12px;background:var(--cor-fundo-input);color:var(--cor-texto);font:inherit;line-height:1.4;max-height:200px}.entrada-mensagem textarea:focus{outline:none;border-color:var(--cor-texto-suave)}.entrada-mensagem button{padding:0 20px;border:none;border-radius:12px;background:var(--cor-destaque);color:#fff;font-weight:600}.entrada-mensagem button:disabled{opacity:.4;cursor:default}
