.cartao-login { max-width: 420px; }
.logo-marca { max-height: 40px; max-width: 160px; }
.aviso-conta { border-left: 4px solid var(--marca-destaque, #e08a1e); }
#form-novo-cliente { max-width: 640px; }
.logo-fundo { background: #fff; border-radius: 6px; padding: 3px 8px; display: inline-flex; }
.logo-login { max-height: 72px; max-width: 260px; }
.logo-previa { max-height: 80px; max-width: 280px; background: #fff; border: 1px solid #dee2e6; border-radius: 6px; padding: 6px; }
.cartao-numero { font-size: 1.8rem; font-weight: 600; line-height: 1; }
.form-estreito { max-width: 720px; }
.arvore-plano .nivel-2 { padding-left: 1.5rem; }
.arvore-plano .nivel-3 { padding-left: 3rem; }
.arvore-plano .inativo { opacity: .55; }
.amostra-cor { width: 1.1rem; height: 1.1rem; border-radius: 3px; display: inline-block; border: 1px solid rgba(0,0,0,.15); vertical-align: middle; }
.campo-cor { width: 3.5rem; padding: .2rem; }
.previa-marca { border: 1px solid #dee2e6; border-radius: 8px; overflow: hidden; }
.previa-marca .previa-menu { background: var(--p-menu-fundo); color: var(--p-menu-texto); padding: .6rem 1rem; font-weight: 600; }
.previa-marca .previa-corpo { background: var(--p-fundo); padding: 1rem; }
.previa-marca .previa-botao { background: var(--p-primaria); color: var(--p-primaria-texto); border: 0; border-radius: 6px; padding: .35rem .9rem; }
.previa-marca .previa-link { color: var(--p-primaria); text-decoration: underline; }
.previa-marca .previa-destaque { background: var(--p-destaque); color: var(--p-destaque-texto); border-radius: 4px; padding: .1rem .5rem; font-size: .85rem; }
.previa-marca .previa-apoio { background: var(--p-secundaria); height: .5rem; border-radius: 3px; }
.status-previsto { background: #fff3cd; color: #664d03; }
.status-confirmado { background: #cfe2ff; color: #084298; }
.status-conciliado { background: #d1e7dd; color: #0f5132; }
.status-cancelado { background: #e9ecef; color: #6c757d; }
.linha-tempo li { border-left: 2px solid #dee2e6; padding: .25rem 0 .25rem .75rem; }
.tabela-extrato td { vertical-align: top; }
.fatura-aberta { background: #cfe2ff; color: #084298; }
.fatura-paga { background: #d1e7dd; color: #0f5132; }
.fatura-vencida { background: #f8d7da; color: #842029; }
.fatura-cancelada { background: #e9ecef; color: #6c757d; }
.fatura-aberta { background: #cfe2ff; color: #084298; }
.fatura-paga { background: #d1e7dd; color: #0f5132; }
.fatura-vencida { background: #f8d7da; color: #842029; }
.fatura-cancelada { background: #e9ecef; color: #6c757d; }
/* Páginas públicas (conta.ind.br) */
body.publico { background: #f6f7f9; display: flex; flex-direction: column; min-height: 100vh; }
body.publico > main { flex: 1; }
.publico-topo { background: #16233b; }
.publico-topo .navbar-brand { color: #fff; }
.publico-ponto { color: #6fd0b5; }
.publico-heroi { background: #16233b; color: #fff; }
.publico-heroi-nota { color: #b9c3d6; }
.publico-amostra { background: #fff; color: #212529; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.publico-passo { width: 2rem; height: 2rem; border-radius: 50%; background: #16233b; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 600; margin-bottom: .75rem; }
.publico-faixa { background: #fff; border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; }
.publico-lista { padding-left: 1.1rem; }
.publico-lista li { margin-bottom: .35rem; }
.publico-preco { background: #fff; border: 1px solid #dee2e6; border-radius: 12px; }
.publico-valor { font-size: 2.2rem; font-weight: 700; }
.publico-valor span { font-size: 1rem; font-weight: 400; color: #6c757d; }
.publico-resumo { top: 1rem; }
.publico-rodape { background: #fff; border-top: 1px solid #e5e7eb; padding: 1.25rem 0; color: #6c757d; }
.campo-escondido { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.documento-legal { max-width: 820px; }
.documento-legal h2 { font-size: 1.1rem; margin-top: 2rem; }
.lacuna { background: #fff3cd; padding: 0 .25rem; border-radius: 3px; }
.passos-wizard { display: flex; gap: .25rem; overflow-x: auto; }
.passos-wizard .passo { flex: 1; min-width: 6rem; border-bottom: 3px solid #dee2e6; padding: .4rem .25rem; color: #6c757d; font-size: .85rem; text-decoration: none; }
.passos-wizard .passo.feito { border-color: #198754; color: #198754; }
.passos-wizard .passo.atual { border-color: var(--bs-primary); color: #212529; font-weight: 600; }
