:root { --tinta: #1d2430; --fundo: #f6f5f2; --cartao: #fff; --linha: #dedbd3; --destaque: #1f5f8b; --erro: #a8322d; --aviso: #8a6100; }
* { box-sizing: border-box; }
body { margin: 0; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--tinta); background: var(--fundo); }
.topo { display: flex; gap: 16px; align-items: center; padding: 12px 24px; background: var(--cartao); border-bottom: 1px solid var(--linha); }
.marca { font-weight: 700; color: var(--tinta); text-decoration: none; margin-right: auto; }
.quem { font-size: 14px; color: #5b6472; }
main { max-width: 960px; margin: 0 auto; padding: 24px 16px 64px; }
a { color: var(--destaque); }
h1 { font-size: 24px; margin: 0 0 16px; }
.caixa { max-width: 420px; margin: 48px auto; background: var(--cartao); padding: 24px; border: 1px solid var(--linha); border-radius: 8px; }
label { display: block; margin: 12px 0; font-weight: 600; }
input, textarea, select { display: block; width: 100%; margin-top: 4px; padding: 8px; font: inherit; border: 1px solid var(--linha); border-radius: 6px; background: #fff; }
button, .botao { display: inline-block; padding: 8px 16px; font: inherit; font-weight: 600; color: #fff; background: var(--destaque); border: 0; border-radius: 6px; cursor: pointer; text-decoration: none; }
button.link { background: none; color: var(--destaque); padding: 0; font-weight: 400; }
.erro { color: var(--erro); background: #fbeceb; padding: 8px 12px; border-radius: 6px; }
.aviso { color: var(--aviso); background: #fdf4e0; padding: 8px 12px; border-radius: 6px; }
.cabecalho { display: flex; justify-content: space-between; align-items: center; }
.lista { width: 100%; border-collapse: collapse; background: var(--cartao); }
.lista th, .lista td { text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--linha); }
.conversa { display: flex; flex-direction: column; gap: 12px; margin: 16px 0; }
.msg { padding: 12px 16px; border-radius: 8px; border: 1px solid var(--linha); overflow-x: auto; }
.msg.user { background: #eaf1f7; align-self: flex-end; max-width: 85%; }
.msg.assistant { background: var(--cartao); }
.fala { white-space: pre-wrap; margin: 0; font: inherit; }
.msg table { border-collapse: collapse; }
.msg th, .msg td { border: 1px solid var(--linha); padding: 4px 8px; }
#ao-vivo .msg { margin-bottom: 12px; }
.espera { padding: 12px 16px; background: var(--cartao); border: 1px dashed var(--destaque); border-radius: 8px; }
.status { font-size: 14px; font-weight: 400; color: #5b6472; }
.acoes { display: flex; gap: 12px; margin: 16px 0; }
iframe.previa { width: 100%; height: 80vh; border: 1px solid var(--linha); background: #fff; }
.nota { font-size: 14px; color: #5b6472; }
fieldset.pendencia { background: var(--cartao); border: 1px solid var(--linha); border-radius: 8px; margin: 0 0 16px; padding: 12px 16px; }
fieldset.pendencia legend { font-weight: 700; padding: 0 4px; }
details.corrigir { background: var(--cartao); border: 1px solid var(--linha); border-radius: 8px; padding: 12px 16px; margin: 16px 0; }
.correcao { border-top: 1px solid var(--linha); padding-top: 8px; }
form.tipo fieldset { background: var(--cartao); border: 1px solid var(--linha); border-radius: 8px; margin: 16px 0; padding: 12px 16px; }
form.tipo legend { font-weight: 700; padding: 0 4px; }
form.tipo label { margin-right: 20px; white-space: nowrap; }
details.omitidos { background: var(--cartao); border: 1px solid var(--linha); border-radius: 8px; padding: 12px 16px; margin: 16px 0; }

.rodape { margin: 3rem auto 1rem; text-align: center; font-size: .85rem; }
.texto { max-width: 46rem; }
