/* Estilo das telas públicas de acesso (login, recuperar e definir senha).
   Fica fora de /mcjia/ de propósito: base.css do curso é conteúdo pago e
   está atrás do cadeado — quem não tem sessão não conseguiria carregá-lo. */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#0B0E14;--panel:#12161F;--ink:#F2F5FA;--soft:#95A0B2;--dim:#6B7688;
  --line:#1E2530;--line-2:#2A3340;--blue:#2F5BFF;--blue-soft:#7A97FF;--blue-deep:#1E3FCC;--green:#4ED6A0;--red:#FF6B6B}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:Inter,-apple-system,'Segoe UI',sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased;min-height:100vh;display:grid;place-items:center;padding:28px 20px}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(900px 440px at 14% -10%, rgba(47,91,255,.12), transparent 62%),
    radial-gradient(700px 500px at 95% 20%, rgba(78,214,160,.05), transparent 60%)}
.caixa{position:relative;z-index:1;width:100%;max-width:412px}
.marca{display:flex;align-items:center;gap:11px;justify-content:center;margin-bottom:26px}
.marca img{width:38px;height:38px}
.marca b{font-size:15px;font-weight:800;letter-spacing:-.02em;line-height:1.2}
.marca em{font-style:normal;color:var(--blue-soft)}
.marca small{display:block;font-weight:700;font-size:9px;color:var(--dim);letter-spacing:.2em;text-transform:uppercase}
.cartao{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:32px 30px 28px}
h1{font-size:23px;font-weight:800;letter-spacing:-.03em;line-height:1.2;margin-bottom:6px}
.sub{color:var(--soft);font-size:14px;margin-bottom:24px}
label{display:block;font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);margin-bottom:7px}
input{width:100%;background:#080A0F;border:1px solid var(--line-2);border-radius:11px;padding:13px 15px;
  color:var(--ink);font-size:15px;font-family:inherit;transition:.18s}
input:focus{outline:0;border-color:var(--blue);box-shadow:0 0 0 3px rgba(47,91,255,.18)}
.campo{margin-bottom:16px}
.btn{width:100%;background:var(--blue);color:#fff;border:0;border-radius:11px;padding:14px;
  font-size:15px;font-weight:800;font-family:inherit;cursor:pointer;transition:.18s;
  box-shadow:0 10px 28px rgba(47,91,255,.3), inset 0 1px 0 rgba(255,255,255,.18)}
.btn:hover:not(:disabled){background:var(--blue-deep)}
.btn:disabled{opacity:.55;cursor:progress}
.aviso{display:none;border-radius:11px;padding:12px 14px;font-size:13.5px;margin-bottom:18px;line-height:1.5}
.aviso.erro{display:block;background:rgba(255,107,107,.1);border:1px solid rgba(255,107,107,.32);color:#FFB3B3}
.aviso.ok{display:block;background:rgba(78,214,160,.1);border:1px solid rgba(78,214,160,.32);color:#A6EFD0}
.pe{text-align:center;margin-top:20px;font-size:13.5px;color:var(--dim)}
.pe a{color:var(--blue-soft);text-decoration:none;font-weight:600}
.pe a:hover{text-decoration:underline}
.rodape{text-align:center;margin-top:22px;font-size:12px;color:#4B535D;line-height:1.6}
