/* Painel Vallidus — design system
   Mesma linguagem do painel de leads: tema claro, tipografia institucional,
   teal profundo. Nada de dark mode aqui (briefing: "não quero cores escuras"). */

:root{
  --papel:#EFF3F5; --branco:#FFFFFF; --tinta:#14262F; --tinta-fraca:#5A6D77;
  --regua:#DCE4E8; --teal:#0E7C86; --teal-escuro:#0A626A; --teal-fraco:#E3F0F1;
  --verde:#2E9E6B; --ambar:#DE8B26; --vermelho:#CE4038;
  --r:10px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--papel); color:var(--tinta);
  font-family:'Source Sans 3',system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.5;
}

/* ---------- tela de entrada ---------- */
.entrada{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.cartao{width:100%;max-width:400px;background:var(--branco);border:1px solid var(--regua);
        border-radius:var(--r);padding:30px 28px}
.marca{font-family:'Archivo',sans-serif;font-weight:700;font-size:20px;letter-spacing:-.02em}
.marca-sub{font-family:'Archivo',sans-serif;font-weight:600;font-size:10.5px;
           letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-fraca);margin-top:3px}
.cartao h1{font-family:'Archivo',sans-serif;font-size:19px;font-weight:700;
           letter-spacing:-.02em;margin-top:22px}
.cartao p.ajuda{color:var(--tinta-fraca);font-size:14.5px;margin:6px 0 20px}

label{display:block;font-family:'Archivo',sans-serif;font-weight:600;font-size:11px;
      letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-fraca);
      margin:14px 0 5px}
input[type=email],input[type=password],input[type=text]{
  width:100%;font-family:inherit;font-size:15.5px;padding:11px 12px;
  border:1px solid var(--regua);border-radius:7px;background:var(--papel);color:var(--tinta)}
input:focus-visible,button:focus-visible,a:focus-visible{
  outline:2px solid var(--teal);outline-offset:2px}

.btn{width:100%;margin-top:20px;font-family:'Archivo',sans-serif;font-weight:600;
     font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--branco);
     background:var(--tinta);border:none;border-radius:7px;padding:13px;cursor:pointer}
.btn:hover{background:#0B1A21}
.btn.teal{background:var(--teal)} .btn.teal:hover{background:var(--teal-escuro)}

.aviso{border-radius:var(--r);padding:12px 14px;font-size:14.5px;margin-top:18px}
.aviso.erro{background:#FBEAE9;border:1px solid #F0C4C1;color:#9B2F28}
.aviso.ok{background:#E8F5EE;border:1px solid #BFE3CF;color:#1F6E48}
.aviso.info{background:var(--teal-fraco);border:1px solid #C2DEE0;color:#0A626A}

.rodape{text-align:center;margin-top:22px;font-size:13px;color:var(--tinta-fraca)}
.rodape a{color:var(--teal);text-decoration:none}
.rodape a:hover{text-decoration:underline}

.requisitos{font-size:13.5px;color:var(--tinta-fraca);margin-top:8px;line-height:1.6}
.requisitos li{margin-left:18px}
