
/* ==============================================================
   ZIMULA2 V3.8.3 AUTH PRODUCTION
   Visual-only overlay for the EXISTING login/register forms.
   ============================================================== */
:root{
  --v383-ink:#081638;
  --v383-text:#445778;
  --v383-muted:#74839f;
  --v383-blue:#2a6ff4;
  --v383-cyan:#25c6e7;
  --v383-purple:#735ff4;
  --v383-line:#d8e3f4;
  --v383-surface:#ffffff;
  --v383-soft:#f6f9ff;
  --v383-dark:#0b1430;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.v383-auth-body{
  min-height:100vh;
  color:var(--v383-ink);
  background:
    radial-gradient(circle at 8% 8%,rgba(37,198,231,.13),transparent 28%),
    radial-gradient(circle at 92% 8%,rgba(115,95,244,.13),transparent 30%),
    linear-gradient(180deg,#f8fbff,#f2f6ff);
  overflow:auto!important;
}
.v383-auth-top{
  width:min(1220px,calc(100% - 28px));
  min-height:70px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.v383-auth-back,.v383-auth-brand{
  color:var(--v383-ink);
  text-decoration:none;
  font-size:.78rem;
  font-weight:900;
}
.v383-auth-back{
  display:inline-flex;
  align-items:center;
  min-height:40px;
  padding:0 13px;
  border:1px solid var(--v383-line);
  border-radius:12px;
  background:rgba(255,255,255,.88);
}
.v383-auth-brand{display:flex;align-items:center;gap:8px}
.v383-auth-brand img{width:34px;height:34px;object-fit:contain}
.v383-guest-content{width:100%}

/* LOGIN */
body.v383-auth-body .z2-login-page{
  min-height:auto!important;
  padding:0 14px 34px!important;
  background:transparent!important;
}
body.v383-auth-body .z2-login-shell{
  width:min(1220px,100%)!important;
  min-height:650px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.03fr) minmax(390px,.92fr)!important;
  overflow:hidden!important;
  border:1px solid rgba(174,194,230,.72)!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(18,42,91,.15)!important;
}
body.v383-auth-body .z2-login-showcase{
  position:relative!important;
  min-height:650px!important;
  padding:42px!important;
  display:grid!important;
  grid-template-rows:auto 1fr auto!important;
  align-items:center!important;
  overflow:hidden!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 83% 18%,rgba(37,198,231,.20),transparent 27%),
    radial-gradient(circle at 16% 84%,rgba(115,95,244,.28),transparent 34%),
    linear-gradient(140deg,#0a1534 0%,#10265b 52%,#313d91 100%)!important;
}
body.v383-auth-body .z2-login-showcase:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px)!important;
  background-size:50px 50px!important;
}
body.v383-auth-body .z2-login-showcase>*{position:relative!important;z-index:2!important}
body.v383-auth-body .z2-login-eyebrow{
  display:inline-flex!important;
  width:max-content!important;
  padding:7px 11px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  color:#dce9ff!important;
  font-size:.68rem!important;
  font-weight:950!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
}
body.v383-auth-body .z2-login-showcase h1{
  margin:13px 0 12px!important;
  color:#fff!important;
  font-size:clamp(2.6rem,4.3vw,4.7rem)!important;
  line-height:.94!important;
  letter-spacing:-.065em!important;
}
body.v383-auth-body .z2-login-showcase h1 em{
  display:block!important;
  color:#72dcff!important;
  font-style:normal!important;
}
body.v383-auth-body .z2-login-showcase-copy>p{
  max-width:560px!important;
  color:rgba(232,241,255,.82)!important;
  font-size:.96rem!important;
  line-height:1.55!important;
}
body.v383-auth-body .z2-login-zimu{
  min-height:260px!important;
  display:grid!important;
  place-items:center!important;
}
body.v383-auth-body .z2-login-zimu img{
  width:min(330px,90%)!important;
  max-height:330px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 25px 30px rgba(0,0,0,.24))!important;
}
body.v383-auth-body .z2-login-benefits{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
body.v383-auth-body .z2-login-benefits article{
  min-height:72px!important;
  padding:11px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.07)!important;
}
body.v383-auth-body .z2-login-benefits strong{color:#fff!important}
body.v383-auth-body .z2-login-benefits small{color:rgba(229,239,255,.72)!important}

body.v383-auth-body .z2-login-form-panel{
  min-height:650px!important;
  padding:42px clamp(28px,4vw,58px)!important;
  display:flex!important;
  align-items:center!important;
  background:#fff!important;
}
body.v383-auth-body .z2-login-form-inner{width:100%!important;max-width:470px!important;margin:auto!important}
body.v383-auth-body .z2-login-chip{
  display:inline-flex!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  color:#285fd2!important;
  background:#eaf2ff!important;
  font-size:.66rem!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.v383-auth-body .z2-login-intro h2{
  margin:11px 0 7px!important;
  color:var(--v383-ink)!important;
  font-size:2rem!important;
  letter-spacing:-.04em!important;
}
body.v383-auth-body .z2-login-intro p{color:var(--v383-muted)!important;line-height:1.5!important}
body.v383-auth-body .z2-login-field{margin-top:14px!important}
body.v383-auth-body .z2-login-field>span:first-child{
  color:#314463!important;
  font-size:.7rem!important;
  font-weight:900!important;
}
body.v383-auth-body .z2-login-input{
  min-height:50px!important;
  margin-top:6px!important;
  border:1px solid #cad8eb!important;
  border-radius:14px!important;
  background:#f9fbff!important;
  box-shadow:none!important;
}
body.v383-auth-body .z2-login-input:focus-within{
  border-color:#7ba6ff!important;
  box-shadow:0 0 0 4px rgba(42,111,244,.09)!important;
  background:#fff!important;
}
body.v383-auth-body .z2-login-input input{color:var(--v383-ink)!important;background:transparent!important}
body.v383-auth-body .z2-login-submit,
body.v383-auth-body .z2-login-register{
  min-height:48px!important;
  border-radius:14px!important;
  font-weight:950!important;
}
body.v383-auth-body .z2-login-submit{
  background:linear-gradient(135deg,var(--v383-cyan),var(--v383-blue),var(--v383-purple))!important;
  color:#fff!important;
  box-shadow:0 13px 28px rgba(42,111,244,.20)!important;
}
body.v383-auth-body .z2-login-register{
  border:1px solid #cbd9ec!important;
  background:#fff!important;
  color:#23477f!important;
}
body.v383-auth-body .z2-login-links a{color:#2a6ff4!important}
body.v383-auth-body .z2-login-tip{
  border:1px solid #d7e3f3!important;
  border-radius:13px!important;
  background:#f5f8fe!important;
  color:#5f708b!important;
}

/* REGISTER */
html.z2reg-active,body.z2reg-active{overflow:auto!important;height:auto!important}
body.v383-auth-body #z2reg-app{
  position:relative!important;
  inset:auto!important;
  min-height:auto!important;
  padding:0 14px 34px!important;
  background:transparent!important;
}
body.v383-auth-body .z2reg-orb{display:none!important}
body.v383-auth-body .z2reg-page{
  min-height:auto!important;
  padding:0!important;
  overflow:visible!important;
}
body.v383-auth-body .z2reg-shell{
  width:min(1220px,100%)!important;
  min-height:760px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr)!important;
  overflow:hidden!important;
  border:1px solid rgba(174,194,230,.72)!important;
  border-radius:30px!important;
  background:#fff!important;
  box-shadow:0 28px 80px rgba(18,42,91,.15)!important;
}
body.v383-auth-body .z2reg-brand-panel{
  position:relative!important;
  min-height:760px!important;
  padding:38px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(37,198,231,.20),transparent 27%),
    radial-gradient(circle at 18% 82%,rgba(115,95,244,.28),transparent 34%),
    linear-gradient(140deg,#0a1534 0%,#10265b 52%,#313d91 100%)!important;
}
body.v383-auth-body .z2reg-grid{
  opacity:.7!important;
  background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px)!important;
}
body.v383-auth-body .z2reg-eyebrow{
  color:#dce9ff!important;
  border-color:rgba(255,255,255,.16)!important;
  background:rgba(255,255,255,.07)!important;
}
body.v383-auth-body .z2reg-brand-content h1{
  margin-top:13px!important;
  color:#fff!important;
  font-size:clamp(2.6rem,4vw,4.5rem)!important;
  line-height:.96!important;
  letter-spacing:-.065em!important;
}
body.v383-auth-body .z2reg-brand-content h1 em{color:#72dcff!important;font-style:normal!important}
body.v383-auth-body .z2reg-brand-lead{color:rgba(232,241,255,.82)!important;line-height:1.55!important}
body.v383-auth-body .z2reg-zimu-scene{min-height:280px!important}
body.v383-auth-body .z2reg-zimu-scene img{
  width:min(330px,88%)!important;
  max-height:330px!important;
  object-fit:contain!important;
  filter:drop-shadow(0 25px 30px rgba(0,0,0,.24))!important;
}
body.v383-auth-body .z2reg-floating-note{
  border-color:rgba(255,255,255,.15)!important;
  background:rgba(255,255,255,.10)!important;
  color:#fff!important;
}
body.v383-auth-body .z2reg-floating-note small{color:rgba(235,243,255,.72)!important}
body.v383-auth-body .z2reg-brand-mark img{max-width:160px!important;filter:brightness(0) invert(1) opacity(.92)!important}
body.v383-auth-body .z2reg-benefits article{
  border-color:rgba(255,255,255,.13)!important;
  background:rgba(255,255,255,.07)!important;
}
body.v383-auth-body .z2reg-benefits strong{color:#fff!important}
body.v383-auth-body .z2reg-benefits small{color:rgba(229,239,255,.72)!important}
body.v383-auth-body .z2reg-brand-footer{color:rgba(229,239,255,.58)!important}

body.v383-auth-body .z2reg-form-panel{
  min-height:760px!important;
  padding:36px clamp(24px,3vw,45px)!important;
  background:#fff!important;
  overflow:auto!important;
}
body.v383-auth-body .z2reg-form-header h2{
  margin:8px 0 6px!important;
  color:var(--v383-ink)!important;
  font-size:2rem!important;
  letter-spacing:-.04em!important;
}
body.v383-auth-body .z2reg-form-header>p:last-child{color:var(--v383-muted)!important}
body.v383-auth-body .z2reg-form-kicker{
  color:#285fd2!important;
  background:#eaf2ff!important;
  border-color:#d6e4ff!important;
}
body.v383-auth-body .z2reg-section{
  margin-top:15px!important;
  padding:15px!important;
  border:1px solid #d7e2f1!important;
  border-radius:17px!important;
  background:#fbfcff!important;
}
body.v383-auth-body .z2reg-section legend{
  width:100%!important;
  padding:0 0 10px!important;
  color:var(--v383-ink)!important;
}
body.v383-auth-body .z2reg-section legend>span{
  background:linear-gradient(135deg,var(--v383-cyan),var(--v383-blue),var(--v383-purple))!important;
  color:#fff!important;
}
body.v383-auth-body .z2reg-section legend small{color:var(--v383-muted)!important}
body.v383-auth-body .z2reg-field-label{color:#314463!important}
body.v383-auth-body .z2reg-input-wrap{
  min-height:47px!important;
  border:1px solid #cad8eb!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.v383-auth-body .z2reg-input-wrap:focus-within{
  border-color:#7ba6ff!important;
  box-shadow:0 0 0 4px rgba(42,111,244,.09)!important;
}
body.v383-auth-body .z2reg-input-wrap input,
body.v383-auth-body .z2reg-input-wrap select{color:var(--v383-ink)!important;background:transparent!important}
body.v383-auth-body .z2reg-terms{color:#50617d!important}
body.v383-auth-body .z2reg-submit{
  min-height:49px!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,var(--v383-cyan),var(--v383-blue),var(--v383-purple))!important;
  box-shadow:0 13px 28px rgba(42,111,244,.20)!important;
}
body.v383-auth-body .z2reg-actions p,
body.v383-auth-body .z2reg-actions a{color:#526681!important}
body.v383-auth-body .z2reg-actions a{color:#2a6ff4!important}

@media(max-width:980px){
  body.v383-auth-body .z2-login-shell,
  body.v383-auth-body .z2reg-shell{grid-template-columns:1fr!important}
  body.v383-auth-body .z2-login-showcase,
  body.v383-auth-body .z2reg-brand-panel{min-height:auto!important}
  body.v383-auth-body .z2-login-form-panel,
  body.v383-auth-body .z2reg-form-panel{min-height:auto!important}
}
@media(max-width:650px){
  .v383-auth-top{width:min(100% - 16px,1220px)}
  .v383-auth-brand strong{display:none}
  body.v383-auth-body .z2-login-page,
  body.v383-auth-body #z2reg-app{padding-inline:8px!important}
  body.v383-auth-body .z2-login-showcase,
  body.v383-auth-body .z2-login-form-panel,
  body.v383-auth-body .z2reg-brand-panel,
  body.v383-auth-body .z2reg-form-panel{padding:24px 18px!important}
  body.v383-auth-body .z2-login-benefits,
  body.v383-auth-body .z2reg-benefits,
  body.v383-auth-body .z2reg-field-grid{grid-template-columns:1fr!important}
}


/* ==============================================================
   V3.8.3.1 - DETALLES VISUALES AUTH / ESTABILIDAD
   ============================================================== */
body.v383-auth-body .z2-login-zimu img,
body.v383-auth-body .z2reg-zimu-scene img{aspect-ratio:1/1}
body.v383-auth-body .z2-login-form-panel,
body.v383-auth-body .z2reg-form-panel{contain:layout paint}
body.v383-auth-body .z2reg-floating-note{min-width:134px;border-radius:16px}
body.v383-auth-body .z2reg-note-help strong{display:block}
