/* Porta de entrada do ConsignaKey.
   É a única página pública do sistema, então o arquivo é pequeno de propósito:
   quem abre isso quer clicar em "Entrar" e seguir a vida. */

:root {
  --p-primaria: #0b2c56;
  --p-acento: #ff7b1c;
  --p-texto: #101a2b;
  --p-suave: #64748b;
  --p-raio: 14px;
  --p-fonte: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --p-fonte-titulo: "Plus Jakarta Sans", var(--p-fonte);
}

* { box-sizing: border-box; }

body {
  margin: 0;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 1.5rem 1rem;
  font-family: var(--p-fonte);
  line-height: 1.6;
  color: var(--p-texto);
  background: var(--p-primaria);
  background-image:
    radial-gradient(circle at 12% -5%, #1a4f8f 0%, transparent 55%),
    radial-gradient(circle at 105% 105%, #7a3400 0%, transparent 48%);
  -webkit-font-smoothing: antialiased;
}

.porta { width: min(480px, 100%); }

.porta__caixa {
  padding: clamp(1.5rem, 6vw, 2.5rem);
  text-align: center;
  background: #fff;
  border-radius: var(--p-raio);
  box-shadow: 0 30px 70px -35px rgba(0, 0, 0, .9);
}

.porta__logo { display: block; width: min(200px, 60%); height: auto; margin: 0 auto 1rem; }

.porta__marca {
  margin: 0 0 .35rem;
  font-family: var(--p-fonte-titulo);
  font-size: clamp(1.6rem, 7vw, 2rem);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--p-primaria);
}

.porta__tagline {
  margin: 0 0 1.25rem;
  font-size: .74rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--p-acento);
}

.porta__texto { margin: 0 0 1.5rem; color: var(--p-suave); font-size: .95rem; }

/* Laranja com texto azul-marinho: ~5:1 de contraste. Branco sobre laranja
   ficaria em 2,5:1 e falharia em qualquer leitura ao sol. */
.porta__btn {
  display: block;
  padding: .9rem 1.5rem;
  font-weight: 700;
  font-size: 1rem;
  text-decoration: none;
  color: var(--p-primaria);
  background: var(--p-acento);
  border-radius: 10px;
  min-height: 52px;
  transition: background .15s ease, transform .15s ease;
}
.porta__btn:hover { background: #e86c0e; }
.porta__btn:active { transform: translateY(1px); }
.porta__btn:focus-visible { outline: 3px solid var(--p-primaria); outline-offset: 3px; }

.porta__lista {
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid #e2e8f0;
  display: grid;
  gap: .7rem;
  text-align: left;
  font-size: .89rem;
  color: #45566d;
}
.porta__lista li { display: flex; align-items: flex-start; gap: .65rem; }
.porta__lista .ic { flex: 0 0 auto; color: var(--p-acento); margin-top: .1rem; }
.porta__lista strong { color: var(--p-texto); }

.porta__rodape {
  margin-top: 1.25rem;
  text-align: center;
  font-size: .8rem;
  color: rgba(255, 255, 255, .55);
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
