/* NexProx · auth.css */
:root {
  --azul:#1E47B8; --azul-claro:#3D6BE0; --azul-esc:#14328A;
  --bg:#F6F7F9; --card:#fff; --ink:#14181F; --mut:#5B6472;
  --borda:#E7EAF0; --ok:#1B9E4B;
}
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:'Inter',system-ui,sans-serif; background:var(--bg); color:var(--ink); font-size:15px; }
h1,h2 { font-family:'Bricolage Grotesque','Inter',sans-serif; letter-spacing:-.01em; }
a { color:var(--azul); text-decoration:none; font-weight:600; }

.auth-wrap { display:grid; grid-template-columns:1fr 1fr; min-height:100dvh; }
.auth-side {
  background:linear-gradient(160deg, #10151D, #14328A 130%);
  color:#fff; padding:40px; display:flex; flex-direction:column; gap:30px;
  position:relative; overflow:hidden;
}
.auth-side::after { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.05) 1px, transparent 1px); background-size:22px 22px; pointer-events:none; }
.auth-logo { font-family:'Bricolage Grotesque'; font-weight:800; font-size:24px; color:#7C9BF0; display:inline-block; transform:skewX(-8deg); letter-spacing:-.02em; }
.auth-logo span { color:#B7C0CE; }
.auth-hero h1 { font-size:38px; line-height:1.1; }
.auth-hero p { color:#B9C3D4; margin-top:10px; max-width:380px; }
.auth-feats { display:flex; flex-direction:column; gap:10px; font-size:14px; color:#D7DEEA; }
.auth-feats span { color:#5BD98A; margin-right:6px; }

.auth-main { display:flex; align-items:center; justify-content:center; padding:30px 18px; }
.auth-box { width:100%; max-width:400px; }
.mobile-logo { display:none; font-family:'Bricolage Grotesque'; font-weight:800; font-size:24px; margin-bottom:18px; text-align:center; color:var(--azul); letter-spacing:-.02em; }
.mobile-logo span { color:#39414E; }
.auth-box h2 { font-size:26px; }
.auth-box .sub { color:var(--mut); margin:4px 0 22px; }
.field { margin-bottom:14px; }
.field label { display:block; font-size:13px; font-weight:600; margin-bottom:5px; color:var(--ink); }
.input { width:100%; background:var(--card); border:1.5px solid var(--borda); border-radius:12px; padding:12px 14px; font-size:15px; font-family:inherit; color:var(--ink); }
.input:focus { outline:none; border-color:var(--azul); }
select.input { appearance:auto; }
.duplo { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:7px; border:none; border-radius:12px; font-weight:700; font-size:14.5px; padding:13px 18px; cursor:pointer; font-family:inherit; transition:filter .15s; }
.btn-azul { background:var(--azul); color:#fff; }
.btn-azul:hover { filter:brightness(1.1); }
.btn-azul:disabled { opacity:.6; cursor:wait; }
.btn-block { width:100%; }
.alt { text-align:center; color:var(--mut); margin-top:18px; font-size:14px; }
.msg { border-radius:12px; padding:12px 14px; font-size:13.5px; margin-bottom:14px; display:none; }
.msg.erro { display:block; background:#FCEBEB; color:#A52E2E; }
.msg.ok { display:block; background:#E8F7EE; color:#1B7A41; }

@media (max-width:860px) {
  .auth-wrap { grid-template-columns:1fr; }
  .auth-side { display:none; }
  .mobile-logo { display:block; }
}

.input-prefix{display:flex;align-items:center;border:1px solid #E1E6EF;border-radius:14px;background:#fff;overflow:hidden}
.input-prefix span{padding:0 0 0 14px;color:#687386;font-size:14px;white-space:nowrap}
.input-prefix .input{border:0;border-radius:0;background:transparent;padding-left:3px}
.input-prefix:focus-within{border-color:#1E47B8;box-shadow:0 0 0 3px rgba(30,71,184,.10)}
@media(max-width:560px){.input-prefix{align-items:stretch;flex-direction:column}.input-prefix span{padding:10px 14px 0}}
