/* ==========================================================================
   Páginas fora do sistema: ativação, desbloqueio, planos (vendas), instalação, termos e privacidade
   ========================================================================== */
.publica { min-height: 100dvh; background: var(--bg); }
.publica-topo { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); padding: var(--sp-4) var(--sp-6); background: var(--surface); border-bottom: 1px solid var(--border); }
.publica-topo .auth-logo { height: 44px; }
.publica-usuario { text-align: right; }
.publica-conteudo { width: 100%; max-width: 1040px; margin: 0 auto; padding: var(--sp-6); display: grid; gap: var(--sp-6); }
@media (max-width: 640px) { .publica-topo { padding: var(--sp-3) var(--sp-4); } .publica-conteudo { padding: var(--sp-4); } .publica-topo .auth-logo { height: 36px; } }

.planos-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--sp-4); align-items: stretch; }
@media (max-width: 860px) { .planos-grid { grid-template-columns: minmax(0, 1fr); } }
.plano-card { height: 100%; }
.plano-card.atual, .plano-card.destaque { border-color: var(--accent); box-shadow: 0 0 0 2px var(--accent-soft-2); }
.plano-card .card-body { height: 100%; display: flex; flex-direction: column; }
.plano-card .stack-sm { height: 100%; }
.plano-lista { flex: 1; margin: var(--sp-2) 0 var(--sp-3); }
.preco { font-size: var(--fs-3xl); font-weight: var(--fw-semibold); letter-spacing: -0.02em; color: var(--accent); line-height: 1.1; }
.preco small { font-size: var(--fs-sm); color: var(--text-2); font-weight: var(--fw-regular); letter-spacing: 0; }
.como li { padding-left: var(--sp-4); position: relative; }
.como li::before { content: ""; position: absolute; left: 0; top: 0.6em; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); }
.chave-campo { font-family: var(--font-mono); letter-spacing: .12em; text-transform: uppercase; }
.perfil-btn { display: flex; align-items: center; gap: var(--sp-3); width: 100%; padding: var(--sp-3); border: 1px solid var(--border); background: var(--surface); border-radius: var(--r-md); text-align: left; }
.perfil-btn:hover { background: var(--surface-2); border-color: var(--accent-soft-2); }

/* Página de vendas */
.hero { background: var(--accent); color: var(--on-accent); }
.hero-in { max-width: 1040px; margin: 0 auto; padding: var(--sp-12) var(--sp-6); display: grid; gap: var(--sp-5); }
.hero h1 { font-size: clamp(1.75rem, 4vw, 2.75rem); line-height: 1.15; max-width: 760px; }
.hero p { font-size: var(--fs-lg); max-width: 640px; color: rgba(255, 255, 255, 0.88); }
.hero .btn-primary { background: #fff; color: var(--accent); }
.hero .btn-primary:hover { background: var(--accent-soft); }
.hero .auth-logo.branca { height: 64px; }
.secao { display: grid; gap: var(--sp-4); }
.secao h2 { font-size: var(--fs-2xl); }
.passos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-4); counter-reset: p; }
@media (max-width: 860px) { .passos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .passos { grid-template-columns: minmax(0, 1fr); } }
.passos li { counter-increment: p; padding: var(--sp-4); background: var(--surface); border: 1px solid var(--border); border-radius: var(--r-lg); display: grid; gap: var(--sp-2); align-content: start; }
.passos li::before { content: counter(p); width: 30px; height: 30px; border-radius: 50%; background: var(--accent-soft); color: var(--accent); display: grid; place-items: center; font-weight: var(--fw-semibold); }
.rodape-publico { padding: var(--sp-8) var(--sp-6); text-align: center; color: var(--text-2); font-size: var(--fs-sm); display: grid; gap: var(--sp-2); }
.texto-legal { max-width: 760px; display: grid; gap: var(--sp-4); }
.texto-legal h2 { font-size: var(--fs-xl); margin-top: var(--sp-4); }
.texto-legal ul { list-style: disc; padding-left: var(--sp-6); display: grid; gap: var(--sp-2); }
.instalar-passos { display: grid; gap: var(--sp-3); }
