.hero-ass { max-width: 760px; margin: 24px auto 32px; text-align: center; color: #fff; }
.hero-ass h1 { font-size: clamp(30px, 6vw, 44px); margin-bottom: 10px; }
.hero-ass p { opacity: .8; line-height: 1.6; }
.carregando-txt { color: #fff; opacity: .7; text-align: center; grid-column: 1 / -1; }
.aviso { max-width: 760px; margin: 0 auto 24px; padding: 14px 18px; border-radius: 8px; font-weight: 600; }
.aviso.ok { background: #e3f6ea; color: #17733f; }
.aviso.pendente { background: #fff6dd; color: #8a6100; }
.aviso.falhou { background: var(--marca-clara); color: var(--marca-escura); }

.planos { max-width: 1060px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 340px)); justify-content: center; gap: 18px; }
.plano {
  background: #fff; border-radius: 12px; padding: 28px 24px; display: flex; flex-direction: column; gap: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.3); border: 2px solid transparent; transition: border-color .15s;
}
.plano.escolhido { border-color: var(--marca); }
.plano h3 { font-size: 20px; }
.plano .valor { font-size: 34px; font-weight: 700; }
.plano .valor small { font-size: 15px; font-weight: 400; color: var(--texto-2); }
.plano p { color: var(--texto-2); line-height: 1.5; flex: 1; }
.plano .btn-principal { justify-self: stretch; width: 100%; }

.bloco { max-width: 760px; margin: 28px auto 0; background: #fff; border-radius: 12px; padding: 26px 24px; }
.bloco h2 { font-size: 20px; margin-bottom: 18px; }
.bloco form { max-width: none; }
.linha { display: flex !important; gap: 10px; flex-wrap: wrap; }
.linha input { flex: 1; min-width: 200px; }
.seguro { font-size: 13px; color: var(--texto-2); }

.status-card { margin-top: 22px; border: 1px solid var(--linha); border-radius: 10px; padding: 22px; display: grid; gap: 14px; }
.status-topo { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; }
.status-topo h3 { font-size: 18px; }
.selo { padding: 4px 12px; border-radius: 20px; font-size: 13px; font-weight: 700; text-transform: capitalize; }
.selo.ativa { background: #e3f6ea; color: #17733f; }
.selo.pendente { background: #fff6dd; color: #8a6100; }
.selo.vencida, .selo.cancelada { background: var(--marca-clara); color: var(--marca-escura); }
.contagem { display: flex; align-items: baseline; gap: 10px; }
.contagem strong { font-size: 52px; line-height: 1; }
.contagem span { color: var(--texto-2); }
.barra { height: 10px; border-radius: 10px; background: #edeff2; overflow: hidden; }
.barra div { height: 100%; background: var(--ok); border-radius: 10px; }
.barra.alerta div { background: #e0a100; }
.barra.fim div { background: var(--marca); }
.status-card .btn-principal { justify-self: start; }
