* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--surface-base); color: var(--text-body); font: 300 17px/1.6 var(--font); min-height: 100vh; display: flex; flex-direction: column; overflow-wrap: anywhere; }
h1, h2, h3, p, ul, ol { margin: 0; }
h1, h2, h3 { color: var(--text-title); font-weight: 400; line-height: 1.25; }
h1 { font-size: 32px; }
h2 { font-size: 24px; margin-top: var(--sp-8); }
h3 { font-size: 19px; margin-top: var(--sp-6); }
p, ul, ol { margin-top: var(--sp-3); }
ul, ol { padding-left: var(--sp-6); }
li + li { margin-top: var(--sp-2); }
a { color: var(--accent-hover); text-underline-offset: 3px; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: none; box-shadow: var(--glow-focus); }
.topo { border-bottom: 1px solid var(--line); background: var(--surface-base); }
.topo-in { max-width: 720px; margin: 0 auto; padding: var(--sp-3) var(--sp-4); display: flex; align-items: center; gap: var(--sp-4); flex-wrap: wrap; justify-content: space-between; }
.marca { display: flex; align-items: center; gap: var(--sp-3); color: var(--text-title); text-decoration: none; font-weight: 400; }
.logo { height: 28px; width: auto; flex: none; }
.logo-a { fill: var(--text-title); }
.logo-b { fill: var(--accent); }
.topo nav { display: flex; gap: var(--sp-4); flex-wrap: wrap; }
.topo nav a { min-height: 44px; display: inline-flex; align-items: center; }
main { flex: 1; width: 100%; max-width: 720px; margin: 0 auto; padding: var(--sp-8) var(--sp-4) var(--sp-12); }
main:focus { outline: none; }
main.largo { max-width: 1100px; }
body:has(main.largo) .topo-in, body:has(main.largo) .rodape-in { max-width: 1100px; }
.lead { font-size: 19px; color: var(--text-soft); }
.acoes { display: flex; gap: var(--sp-3); flex-wrap: wrap; margin-top: var(--sp-6); }
.btn { font: 500 17px/1.2 var(--font); min-height: 44px; padding: 0 var(--sp-6); border-radius: var(--r-md); border: 1px solid var(--line-strong); background: var(--surface-base); color: var(--text-title); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; transition: background var(--dur-fast) var(--ease-out); }
.btn:hover { background: var(--surface-raised); }
.btn.primario { background: var(--accent-hover); border-color: var(--accent-hover); color: var(--text-oncta); }
.btn.primario:hover { background: var(--accent); border-color: var(--accent); }
.btn.pequeno { min-height: 44px; padding: 0 var(--sp-4); font-size: 15px; }
.btn[disabled] { opacity: .6; cursor: not-allowed; }
.cartao { background: var(--surface-raised); border: 1px solid var(--line); border-radius: var(--r-lg); padding: var(--sp-6); margin-top: var(--sp-6); }
.cartao h2, .cartao h3 { margin-top: 0; }
.garantias { display: grid; gap: var(--sp-4); grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); margin-top: var(--sp-4); }
.garantias .cartao { margin-top: 0; padding: var(--sp-4); }
.garantias h3 { font-size: 17px; font-weight: 500; }
.garantias p { font-size: 15px; margin-top: var(--sp-2); }
.passos { list-style: none; padding: 0; counter-reset: passo; }
.passos li { counter-increment: passo; display: flex; gap: var(--sp-3); align-items: flex-start; }
.passos li::before { content: counter(passo); flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--accent); color: var(--accent-hover); display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 500; }
label, .rotulo { display: block; margin-top: var(--sp-6); color: var(--text-title); font-weight: 500; font-size: 17px; }
.ajuda { display: block; font-size: 15px; color: var(--text-soft); font-weight: 300; margin-top: 2px; }
input[type=text], input[type=email], input[type=search], select, textarea { display: block; width: 100%; min-height: 44px; margin-top: var(--sp-2); padding: var(--sp-2) var(--sp-3); font: 400 17px/1.5 var(--font); color: var(--text-body); background: var(--surface-base); border: 1px solid var(--line-strong); border-radius: var(--r-md); }
textarea { min-height: 160px; resize: vertical; }
.opcao { display: flex; gap: var(--sp-3); align-items: center; min-height: 44px; margin-top: var(--sp-6); font-weight: 400; }
.opcao input { width: 22px; height: 22px; accent-color: var(--accent-hover); margin: 0; flex: none; }
.contador { font-size: 15px; color: var(--text-soft); text-align: right; margin-top: var(--sp-2); }
.aviso { background: var(--status-intel-bg); border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); margin-top: var(--sp-6); font-size: 15px; }
.aviso.alerta { background: var(--status-alert-bg); }
.erro { background: var(--status-error-bg); border: 1px solid var(--status-error); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); margin-top: var(--sp-4); color: var(--text-title); }
.ok { background: var(--status-ok-bg); border: 1px solid var(--accent); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); margin-top: var(--sp-4); color: var(--text-title); }
.invalido { border-color: var(--status-error); }
.campo-erro { color: var(--text-title); font-size: 15px; margin-top: var(--sp-2); }
.honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.destaque { background: var(--surface-base); border: 2px solid var(--line-strong); border-radius: var(--r-lg); padding: var(--sp-6); margin-top: var(--sp-6); }
.destaque .valor { font: 500 28px/1.3 var(--mono); color: var(--text-title); letter-spacing: .04em; word-break: break-all; margin-top: var(--sp-2); }
.destaque .valor + .acoes { margin-top: var(--sp-3); }
.destaque .rotulo { margin-top: var(--sp-4); }
.destaque .rotulo:first-child { margin-top: 0; }
.selo { display: inline-block; padding: 2px var(--sp-3); border-radius: var(--r-sm); font-size: 15px; font-weight: 500; background: var(--surface-sunken); color: var(--text-title); }
.selo.espera { background: var(--status-alert-bg); }
.selo.fim { background: var(--status-ok-bg); }
.conversa { display: grid; gap: var(--sp-3); margin-top: var(--sp-4); }
.msg { border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--sp-3) var(--sp-4); background: var(--surface-base); white-space: pre-wrap; }
.msg.comite { background: var(--accent-a08); }
.msg small { display: block; color: var(--text-soft); font-size: 13px; margin-bottom: 2px; }
.dados { display: grid; grid-template-columns: max-content 1fr; gap: var(--sp-2) var(--sp-6); margin-top: var(--sp-4); }
.dados dt { color: var(--text-soft); }
.dados dd { margin: 0; color: var(--text-title); }
.leitura h1 { font-size: 28px; }
.leitura h2 { font-size: 21px; }
.rodape { border-top: 1px solid var(--line); background: var(--surface-raised); font-size: 15px; color: var(--text-soft); }
.rodape-in { max-width: 720px; margin: 0 auto; padding: var(--sp-6) var(--sp-4); }
.rodape p { margin: 0 0 var(--sp-2); }
.faixa { background: var(--text-title); color: var(--text-oncta); font-size: 15px; }
.faixa-in { max-width: 1100px; margin: 0 auto; padding: var(--sp-2) var(--sp-4); display: flex; gap: var(--sp-4); justify-content: space-between; align-items: center; flex-wrap: wrap; }
.faixa .btn { background: transparent; color: var(--text-oncta); border-color: var(--text-oncta); min-height: 44px; }
.filtros { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: var(--sp-3); align-items: end; margin-top: var(--sp-4); }
.filtros label { margin-top: 0; font-size: 15px; }
.tabela-wrap { overflow-x: auto; margin-top: var(--sp-4); border: 1px solid var(--line); border-radius: var(--r-md); }
table { width: 100%; border-collapse: collapse; font-size: 15px; }
th, td { text-align: left; padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--line); vertical-align: top; }
th { background: var(--surface-raised); color: var(--text-title); font-weight: 500; }
tr:last-child td { border-bottom: 0; }
.duas { display: grid; grid-template-columns: 1fr; gap: var(--sp-6); }
@media (min-width: 900px) { .duas { grid-template-columns: 3fr 2fr; } }
.duas .cartao { margin-top: var(--sp-4); }
.texto-relato { white-space: pre-wrap; background: var(--surface-base); border: 1px solid var(--line); border-radius: var(--r-md); padding: var(--sp-4); margin-top: var(--sp-3); }
.carregando { color: var(--text-soft); margin-top: var(--sp-6); }
@media (max-width: 480px) { h1 { font-size: 26px; } .destaque .valor { font-size: 17px; letter-spacing: 0; } .dados { grid-template-columns: 1fr; gap: 0; } .dados dd { margin-bottom: var(--sp-3); } .btn { width: 100%; } .acoes .btn { flex: 1 1 100%; } }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
textarea.curto { min-height: 96px; }
strong { font-weight: 500; }
