/* Portal do Cliente: estilo próprio, feito para celular primeiro. Sem rolagem lateral; links de navegação em forma de botão. */
:root {
  --fundo: #f4f6f8; --cartao: #ffffff; --texto: #1d2733; --apoio: #5b6773; --borda: #d5dbe1;
  --primaria: #14507a; --primaria-texto: #ffffff; --alerta-fundo: #fdecea; --alerta-texto: #8a1f17; --teste: #fff3cd;
}
@media (prefers-color-scheme: dark) {
  :root { --fundo: #11171d; --cartao: #1a232c; --texto: #e8edf2; --apoio: #a3afbb; --borda: #33414e; --primaria: #5aa9e0; --primaria-texto: #08131c; --alerta-fundo: #3b1d1a; --alerta-texto: #ffb4ab; --teste: #4a3d10; }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 18px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background: var(--fundo); color: var(--texto); overflow-x: hidden; }
.faixa-teste { background: var(--teste); text-align: center; padding: 6px 12px; font-size: 0.85rem; }
.topo-portal { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: var(--cartao); border-bottom: 1px solid var(--borda); }
.marca-portal { font-weight: 700; }
.pagina-portal { max-width: 640px; margin: 0 auto; padding: 20px 16px 40px; }
h1 { font-size: 1.6rem; margin: 8px 0 12px; }
h2 { font-size: 1.15rem; margin: 0 0 10px; padding-top: 12px; border-top: 2px solid var(--borda); }
.cartao h2:first-child { border-top: 0; padding-top: 0; }
.apoio { color: var(--apoio); }
.cartao { background: var(--cartao); border: 1px solid var(--borda); border-radius: 10px; padding: 16px; margin: 16px 0; }
label { display: block; font-weight: 600; margin: 4px 0 6px; }
input[type="email"], input[type="text"] { width: 100%; font: inherit; padding: 12px; border: 1px solid var(--borda); border-radius: 8px; background: var(--fundo); color: var(--texto); }
.campo-codigo { font-size: 1.8rem; letter-spacing: 0.4em; text-align: center; }
.botao, .botao-secundario { display: inline-block; font: inherit; font-weight: 600; text-decoration: none; text-align: center; border-radius: 8px; padding: 12px 18px; margin-top: 14px; cursor: pointer; }
.botao { background: var(--primaria); color: var(--primaria-texto); border: 0; width: 100%; }
.botao-secundario { background: transparent; color: var(--primaria); border: 2px solid var(--primaria); margin-top: 0; }
a { color: var(--primaria); text-decoration: underline; }
.aviso { background: var(--alerta-fundo); color: var(--alerta-texto); border-radius: 8px; padding: 10px 12px; }
.lista-empresas { list-style: none; margin: 0; padding: 0; }
.lista-empresas li { padding: 10px 0; border-top: 1px solid var(--borda); display: flex; flex-direction: column; overflow-wrap: anywhere; }
.lista-empresas li:first-child { border-top: 0; }
.sair { margin: 0; }
.navegacao { margin: 8px 0; }
.rodape-portal { max-width: 640px; margin: 0 auto; padding: 0 16px 24px; color: var(--apoio); font-size: 0.9rem; }
