:root { --azul: #1F3864; --azul-claro: #E8EEF7; --texto: #1d2433; --cinza: #5a6478; --borda: #d7dce6; --fundo: #f5f7fb; --vermelho: #b3261e; --verde: #1e7a46; }
* { box-sizing: border-box; }
body { margin: 0; font: 15px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: var(--texto); background: var(--fundo); }
a { color: var(--azul); }
.topo { display: flex; justify-content: space-between; align-items: center; padding: 12px 20px; background: var(--azul); color: #fff; }
.topo .marca { color: #fff; font-weight: 700; text-decoration: none; }
.conta { display: flex; gap: 12px; align-items: center; font-size: 14px; }
.conta form { margin: 0; }
button.link { background: none; border: 0; color: #fff; text-decoration: underline; cursor: pointer; padding: 0; font: inherit; }
.conteudo { max-width: 1000px; margin: 0 auto; padding: 24px 16px; }
.cartao { background: #fff; border: 1px solid var(--borda); border-radius: 10px; padding: 24px; }
.estreito { max-width: 400px; margin: 40px auto; }
h1 { font-size: 22px; margin: 0 0 16px; color: var(--azul); }
label { display: block; margin-bottom: 14px; font-weight: 600; font-size: 14px; }
input[type=email], input[type=password], input[type=text] { display: block; width: 100%; margin-top: 4px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 8px; font: inherit; }
button[type=submit]:not(.link) { width: 100%; padding: 11px; background: var(--azul); color: #fff; border: 0; border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; }
.erro { background: #fdecea; color: var(--vermelho); padding: 10px 12px; border-radius: 8px; }
.aviso { background: #e6f4ec; color: var(--verde); padding: 10px 12px; border-radius: 8px; }
.secundario, .dica { color: var(--cinza); font-size: 14px; }
.tabela { overflow-x: auto; background: #fff; border: 1px solid var(--borda); border-radius: 10px; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 10px 14px; border-bottom: 1px solid var(--borda); }
th { background: var(--azul-claro); font-size: 13px; color: var(--azul); }
.selo { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.selo.ativo { background: #e6f4ec; color: var(--verde); }
.selo.bloqueado { background: #fdecea; color: var(--vermelho); }
h2 { font-size: 16px; color: var(--azul); margin: 18px 0 10px; }
.cartao h2:first-child, .formulario h2:first-of-type { margin-top: 0; }
.cabecalho { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.cabecalho h1 { margin: 0; }
a.botao { display: inline-block; padding: 9px 16px; background: var(--azul); color: #fff; border-radius: 8px; text-decoration: none; font-weight: 600; }
.cartao + .cartao { margin-top: 16px; }
.formulario { max-width: 560px; }
label.caixa { display: flex; align-items: center; gap: 8px; font-weight: 400; }
dl.dados { display: grid; grid-template-columns: 200px 1fr; gap: 8px 16px; margin: 0; }
dl.dados dt { color: var(--cinza); }
dl.dados dd { margin: 0; }
button.vermelho { background: var(--vermelho) !important; }
button.verde { background: var(--verde) !important; }
button.pequeno { width: auto !important; padding: 6px 12px !important; font-size: 13px; }
.linha-usuario { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--borda); }
.linha-usuario:first-of-type { border-top: 0; }
.erro div + div { margin-top: 4px; }
@media (max-width: 600px) { dl.dados { grid-template-columns: 1fr; } dl.dados dd { margin-bottom: 8px; } }
.formulario.largo { max-width: 820px; }
.grade { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.cabecalho h2 { margin: 0; }
@media (max-width: 700px) { .grade { grid-template-columns: 1fr; } }
