/* ===== InvestarPro — Gate de membresía (login) ===== */
#auth-gate{
  position:fixed; inset:0; z-index:200000;
  display:flex; align-items:center; justify-content:center;
  padding:24px 18px; box-sizing:border-box;
  background:radial-gradient(120% 100% at 50% -10%, rgba(11,26,61,.92), rgba(6,13,31,.98)), #060d1f;
  font-family:'Inter',system-ui,sans-serif;
  overflow-y:auto;
}
html.ip-authed #auth-gate{ display:none !important; }

#auth-gate .auth-card{
  width:100%; max-width:420px; box-sizing:border-box;
  background:linear-gradient(180deg,#fff,#f6f8fc);
  border:1px solid rgba(11,26,61,.08); border-radius:22px;
  box-shadow:0 40px 90px -30px rgba(0,0,0,.6);
  padding:30px 26px 24px; text-align:center;
}
#auth-gate .auth-logo{ height:38px; width:auto; max-width:78%; margin:0 auto 4px; display:block; }
#auth-gate .auth-title{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:1.25rem; color:#0B1A3D; margin:12px 0 4px; letter-spacing:-.3px; }
#auth-gate .auth-sub{ color:#4d5c80; font-size:.9rem; line-height:1.42; margin-bottom:18px; }
#auth-gate .auth-field{ text-align:left; margin-bottom:13px; }
#auth-gate .auth-field label{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.3px; text-transform:uppercase; color:#0B1A3D; margin-bottom:5px; }
#auth-gate .auth-field input{
  width:100%; height:46px; padding:10px 14px; box-sizing:border-box;
  border:1px solid rgba(11,26,61,.16); border-radius:12px;
  font-size:.95rem; color:#0B1A3D; background:#fff; outline:none;
  transition:border-color .15s, box-shadow .15s; font-family:inherit;
}
#auth-gate .auth-field input:focus{ border-color:#F05A28; box-shadow:0 0 0 3px rgba(240,90,40,.14); }
#auth-gate .auth-btn{
  width:100%; height:48px; margin-top:4px;
  border:none; border-radius:999px; cursor:pointer;
  background:linear-gradient(135deg,#F05A28,#FC5E1E); color:#fff;
  font-family:'Inter',sans-serif; font-weight:800; font-size:1rem;
  box-shadow:0 8px 20px -6px rgba(240,90,40,.5);
  transition:filter .15s, transform .1s;
}
#auth-gate .auth-btn:hover{ filter:brightness(1.05); }
#auth-gate .auth-btn:active{ transform:translateY(1px); }
#auth-gate .auth-btn:disabled{ opacity:.6; cursor:default; }
#auth-gate .auth-links{ margin-top:16px; display:flex; flex-direction:column; gap:9px; }
#auth-gate .auth-link{ background:none; border:none; cursor:pointer; color:#4d5c80; font-size:.82rem; font-family:inherit; text-decoration:underline; padding:2px; }
#auth-gate .auth-link:hover{ color:#F05A28; }
#auth-gate .auth-msg{ font-size:.82rem; line-height:1.4; margin:2px 0 12px; padding:0 2px; display:none; }
#auth-gate .auth-msg.show{ display:block; }
#auth-gate .auth-msg.err{ color:#c0392b; }
#auth-gate .auth-msg.ok{ color:#15803d; }
#auth-gate .auth-view{ display:none; }
#auth-gate .auth-view.active{ display:block; }
#auth-gate .auth-foot{ margin-top:18px; font-size:.72rem; color:#8b95a8; }
@media (max-width:480px){
  #auth-gate .auth-card{ padding:24px 18px; border-radius:18px; }
  #auth-gate .auth-title{ font-size:1.12rem; }
}
