/* auth.css — estilos de login/registro (tema Empresentia) */
:root{
  --bg-void:#0d0d10;
  --bg-panel:#1a1b1f;
  --border-subtle:#323337;
  --accent-forge:#e81b0a;
  --accent-forge-dim:rgba(232,27,10,.15);
  --accent-steel:#b7b8bc;
  --text-primary:#f2f2f0;
  --text-muted:#9a9a9e;
  --text-faint:#5c5c60;
}
*{box-sizing:border-box;}
body{
  background:
    radial-gradient(ellipse 900px 500px at 15% -10%, rgba(232,27,10,.11), transparent 60%),
    radial-gradient(ellipse 700px 500px at 100% 10%, rgba(183,184,188,.06), transparent 55%),
    var(--bg-void);
  color:var(--text-primary);
  font-family:'Inter',sans-serif;
  min-height:100vh;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
}
.auth-card{
  width:100%; max-width:420px;
  background:var(--bg-panel);
  border:1px solid var(--border-subtle);
  border-top:3px solid var(--accent-forge);
  border-radius:6px;
  padding:36px 32px;
}
.auth-eyebrow{
  color:var(--accent-forge); font-weight:600; letter-spacing:.25em;
  font-size:.68rem; text-transform:uppercase;
  display:flex; align-items:center; gap:10px; margin-bottom:10px;
}
.auth-eyebrow::before{content:""; width:24px; height:2px; background:var(--accent-forge);}
.auth-card h1{
  font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.04em;
  font-size:1.7rem; margin:0 0 4px;
}
.auth-card h1 span{color:var(--accent-forge);}
.auth-sub{color:var(--text-muted); font-size:.88rem; margin-bottom:24px;}
label{
  display:block; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em;
  color:var(--text-faint); margin:16px 0 6px;
}
input[type=text], input[type=email], input[type=password]{
  width:100%; background:var(--bg-void);
  border:1px solid var(--border-subtle); border-radius:4px;
  color:var(--text-primary); font-family:'JetBrains Mono',monospace; font-size:.9rem;
  padding:11px 12px;
}
input:focus{outline:none; border-color:var(--accent-forge);}
.btn-forge{
  width:100%; margin-top:26px;
  background:var(--accent-forge); border:none; border-radius:4px;
  color:#fff; font-family:'Oswald',sans-serif; text-transform:uppercase;
  letter-spacing:.08em; font-size:1rem; padding:12px;
  cursor:pointer; transition:.15s;
}
.btn-forge:hover{filter:brightness(1.12);}
.auth-alt{
  margin-top:20px; text-align:center; font-size:.84rem; color:var(--text-muted);
}
.auth-alt a{color:var(--accent-forge); text-decoration:none; font-weight:600;}
.auth-alt a:hover{text-decoration:underline;}
.msg{
  border-radius:4px; padding:11px 14px; font-size:.84rem; margin-bottom:18px;
}
.msg.error{background:var(--accent-forge-dim); border:1px solid rgba(232,27,10,.4); color:#ff8a73;}
.msg.ok{background:rgba(143,185,150,.14); border:1px solid rgba(143,185,150,.4); color:#8fb996;}

@media (max-width:480px){
  body{padding:16px calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left));}
  .auth-card{padding:26px 22px; border-radius:10px;}
  .auth-card h1{font-size:1.45rem;}
  /* iOS hace zoom automático si el input tiene menos de 16px al enfocar */
  input[type=text], input[type=email], input[type=password]{font-size:16px; padding:13px 12px;}
  .btn-forge{padding:14px; min-height:48px;}
}
