/* ============================================================
   ie-auth.css — Acceso frontend Inmobiliarie® · glassmorphism
   Todo va dentro de .ieauth (no toca el resto del sitio).
   ============================================================ */
.ieauth{
  --bg:#0A1628; --bg2:#060E1C; --line:#1E3050;
  --gold:#C9A84C; --gold2:#E8C46B;
  --tx:#fff; --tx2:#B8C4D6; --mut:#7A8FA8;
  --err:#ff7b7b; --ok:#4cd08a;
  position:relative; isolation:isolate; box-sizing:border-box;
  display:flex; justify-content:center; align-items:center;
  min-height:580px; margin:16px 0; padding:44px 16px;
  border-radius:22px; overflow:hidden;
  color:var(--tx); font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif; line-height:1.5;
  background:
    radial-gradient(60% 50% at 12% 8%, rgba(201,168,76,.24), transparent 62%),
    radial-gradient(55% 55% at 92% 96%, rgba(56,104,190,.30), transparent 62%),
    radial-gradient(40% 40% at 70% 20%, rgba(232,196,107,.10), transparent 70%),
    linear-gradient(160deg,var(--bg),var(--bg2));
}
.ieauth *,.ieauth *::before,.ieauth *::after{box-sizing:border-box}

/* Tarjeta de cristal templado */
.ieauth-card{
  position:relative; width:100%; max-width:460px; padding:34px 26px 26px;
  border-radius:22px;
  background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.04));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 24px 70px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.28), inset 0 -1px 0 rgba(255,255,255,.05);
  -webkit-backdrop-filter:blur(22px) saturate(150%); backdrop-filter:blur(22px) saturate(150%);
}
.ieauth[data-vista="registro"] .ieauth-card{max-width:520px}
/* filo dorado superior (brillo) */
.ieauth-card::before{
  content:""; position:absolute; left:26px; right:26px; top:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--gold2),transparent); opacity:.95;
}
@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
  .ieauth-card{background:rgba(10,22,40,.93)}
}

/* Marca */
.ieauth-brand{text-align:center;margin:0 0 22px}
.ieauth-brand img{display:block;width:90px;height:auto;margin:0 auto 14px}
.ieauth-brand h2{margin:0 0 6px;font-size:clamp(22px,6vw,28px);line-height:1.2;font-weight:800;color:var(--tx);letter-spacing:.2px}
.ieauth-brand p{margin:0;font-size:14px;color:var(--tx2)}

/* Mensajes */
.ieauth-msg{margin:0 0 18px;padding:13px 15px;border-radius:14px;font-size:14px;font-weight:600;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:var(--tx)}
.ieauth-msg[hidden]{display:none}
.ieauth-msg.is-err{background:rgba(255,107,107,.13);border-color:rgba(255,107,107,.45);color:#ffd0d0}
.ieauth-msg.is-ok{background:rgba(76,208,138,.13);border-color:rgba(76,208,138,.45);color:#c8f5dc}

/* Campos */
.ieauth-field{margin:0 0 16px}
.ieauth label{display:block;margin:0 0 7px;font-size:13px;font-weight:600;letter-spacing:.2px;color:var(--tx2)}
.ieauth input[type=text],.ieauth input[type=email],.ieauth input[type=tel],.ieauth input[type=password],.ieauth select{
  display:block; width:100%; min-height:54px; margin:0; padding:0 16px;
  font:inherit; font-size:16px; color:#fff;
  background:rgba(6,14,28,.55); border:1px solid rgba(255,255,255,.16); border-radius:14px;
  outline:0; box-shadow:none; -webkit-appearance:none; appearance:none;
  transition:border-color .2s, box-shadow .2s, background .2s;
}
.ieauth input::placeholder{color:var(--mut)}
.ieauth input:focus,.ieauth select:focus{
  border-color:var(--gold); background:rgba(6,14,28,.75); box-shadow:0 0 0 4px rgba(201,168,76,.22);
}
.ieauth input.is-bad{border-color:var(--err);box-shadow:0 0 0 4px rgba(255,107,107,.16)}
.ieauth input:-webkit-autofill{-webkit-text-fill-color:#fff;transition:background-color 9999s ease-out}
.ieauth select{
  cursor:pointer; padding-right:34px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23C9A84C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat; background-position:right 14px center;
}
.ieauth select option{color:#0A1628;background:#fff}

/* Teléfono: lada + número */
.ieauth-tel{display:flex;gap:10px}
.ieauth-tel select{flex:0 0 118px;width:118px}
.ieauth-tel input{flex:1 1 auto;min-width:0}

/* Contraseña con botón Ver */
.ieauth-pw{position:relative}
.ieauth-pw input{padding-right:78px}
.ieauth-eye{
  position:absolute; top:50%; right:8px; transform:translateY(-50%);
  min-width:58px; min-height:40px; padding:0 12px; border:0; border-radius:10px; cursor:pointer;
  font:inherit; font-size:13px; font-weight:700; color:var(--gold2);
  background:rgba(255,255,255,.07);
}
.ieauth-eye:hover{background:rgba(255,255,255,.14)}

/* Medidor de contraseña */
.ieauth-meter{margin-top:10px}
.ieauth-meter[hidden]{display:none}
.ieauth-bar{display:flex;gap:6px}
.ieauth-bar i{flex:1;height:6px;border-radius:6px;background:rgba(255,255,255,.14);transition:background .25s}
.ieauth-meter-txt{display:block;margin-top:6px;font-size:12px;font-weight:700;color:var(--tx2)}
.ieauth-meter[data-level="1"] .ieauth-bar i:nth-child(1){background:#ff5c5c}
.ieauth-meter[data-level="2"] .ieauth-bar i:nth-child(-n+2){background:#ffb43c}
.ieauth-meter[data-level="3"] .ieauth-bar i{background:var(--ok)}
.ieauth-meter[data-level="1"] .ieauth-meter-txt{color:#ff8f8f}
.ieauth-meter[data-level="2"] .ieauth-meter-txt{color:#ffc86b}
.ieauth-meter[data-level="3"] .ieauth-meter-txt{color:#7fe0ad}

/* Checkbox de políticas */
.ieauth-check{display:flex;gap:12px;align-items:flex-start;margin:4px 0 18px}
.ieauth-check input{flex:0 0 24px;width:24px;height:24px;min-height:0;margin:1px 0 0;accent-color:var(--gold);cursor:pointer}
.ieauth-check label{margin:0;font-size:14px;font-weight:500;color:var(--tx2);cursor:pointer}

/* Enlaces */
.ieauth a{color:var(--gold2);text-decoration:none;font-weight:600}
.ieauth a:hover{text-decoration:underline}
.ieauth-forgot{margin:-4px 0 18px;text-align:right;font-size:14px}
.ieauth-foot{margin:20px 0 0;text-align:center;font-size:14px;color:var(--tx2)}

/* Botón CTA */
.ieauth-btn{
  position:relative; display:flex; align-items:center; justify-content:center; width:100%; min-height:56px; margin:0;
  padding:0 20px; border:0; border-radius:14px; cursor:pointer;
  font:inherit; font-size:16px; font-weight:800; letter-spacing:1px; text-transform:uppercase; text-decoration:none!important;
  color:#0A1628!important;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  box-shadow:0 10px 26px rgba(201,168,76,.35), inset 0 1px 0 rgba(255,255,255,.55);
  transition:transform .15s, box-shadow .2s, filter .2s;
}
.ieauth-btn:hover{transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 14px 32px rgba(201,168,76,.45), inset 0 1px 0 rgba(255,255,255,.6)}
.ieauth-btn:active{transform:translateY(1px)}
.ieauth-btn:focus-visible{outline:0;box-shadow:0 0 0 4px rgba(232,196,107,.45)}
.ieauth-btn[disabled]{cursor:progress;filter:saturate(.7) brightness(.9)}
.ieauth-btn.is-loading span{opacity:.55}
.ieauth-btn.is-loading::after{
  content:""; width:18px; height:18px; margin-left:12px; border-radius:50%;
  border:3px solid rgba(10,22,40,.25); border-top-color:#0A1628; animation:ieauth-spin .7s linear infinite;
}
.ieauth-btn.is-ghost{margin-top:12px;color:var(--tx)!important;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);box-shadow:none}
@keyframes ieauth-spin{to{transform:rotate(360deg)}}

/* Anti-bots: campo trampa fuera de pantalla (no display:none) y Turnstile */
.ieauth-hp{position:absolute!important;left:-9999px!important;top:auto;width:1px;height:1px;overflow:hidden}
.ieauth-ts{margin:0 0 16px;max-width:100%;min-height:65px;overflow:hidden}

/* Móvil */
@media (max-width:480px){
  .ieauth{min-height:0;padding:22px 10px;border-radius:18px}
  .ieauth-card{padding:28px 18px 22px;border-radius:20px}
  .ieauth-tel select{flex-basis:104px;width:104px}
}
@media (prefers-reduced-motion:reduce){
  .ieauth *,.ieauth *::before,.ieauth *::after{transition:none!important;animation-duration:.01ms!important}
}
