html:has(body.edbs-login-standalone),
body.edbs-login-standalone{
  margin:0!important;
  min-height:100%!important;
  background:#f7f5fb!important;
}
body.edbs-login-standalone{
  overflow-x:hidden!important;
}
body.edbs-login-standalone #wpadminbar{
  z-index:999999;
}
.edbs-login-shell,
.edbs-login-shell *{
  box-sizing:border-box;
}
.edbs-login-shell{
  --edbs-login-primary:#3b247f;
  --edbs-login-accent:#b7a57a;
  --edbs-login-visual:#25145f;
  width:100%;
  min-height:100vh;
  margin:0;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  color:#241b3c;
}

/* Pantalla principal - diseño final EDBS */
.edbs-login-screen{
  --edbs-login-primary:#4a2697;
  --edbs-login-accent:#b7a57a;
  width:100%;
  height:100vh;
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(0,54%) minmax(420px,46%);
  overflow:hidden;
  background:#f7f5ff;
}
.edbs-login-visual{
  position:relative;
  height:100vh;
  min-height:0;
  overflow:hidden;
  padding:32px 16px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#4b2b9d;
}

.edbs-login-hero-image{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  border-radius:22px;
  user-select:none;
  -webkit-user-drag:none;
}


/* Lado del formulario */
.edbs-login-auth{
  min-height:100vh;
  height:100vh;
  padding:28px 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg,#faf9ff 0%,#f4f1fd 100%);
  overflow:hidden;
}
.edbs-login-auth-inner{
  width:min(500px,100%);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
}
.edbs-login-auth-topline{
  align-self:flex-end;
  padding-right:4px;
  color:#6f6591;
  font-size:10px;
  letter-spacing:.02em;
}
.edbs-login-auth-topline span{padding:0 7px;color:#8f84b2}
.edbs-login-card{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  background:#fff;
  border:1px solid rgba(45,31,103,.11);
  border-radius:24px;
  padding:34px 34px 30px!important;
  box-shadow:0 18px 48px rgba(45,31,103,.09);
}
.edbs-login-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  max-width:100%;
  padding:4px 11px;
  border-radius:11px;
  background:#f0ecf8;
  color:var(--edbs-login-primary);
  font-weight:800;
  font-size:12px;
  letter-spacing:.06em;
  margin:0 auto 18px;
}
.edbs-login-brand{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  color:var(--edbs-login-primary);
  font-size:13px;
  font-weight:800;
  letter-spacing:.04em;
}
.edbs-login-brand img{
  display:block;
  width:auto;
  height:40px;
  max-width:170px;
  object-fit:contain;
}
.edbs-login-card h2{
  margin:0 0 10px!important;
  color:#17102e!important;
  font-size:27px!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
  text-align:center!important;
}
.edbs-login-subtitle,
.edbs-login-card p{
  margin:0 0 16px!important;
  color:#6d6780!important;
  font-size:13px!important;
  line-height:1.45!important;
}
.edbs-login-form label{
  display:block;
  margin:0 0 6px!important;
  color:#28175f!important;
  font-weight:700!important;
  font-size:13px!important;
}
.edbs-login-form input[type="text"],
.edbs-login-form input[type="password"]{
  width:100%!important;
  height:46px!important;
  min-height:46px!important;
  border:1px solid #d9d4e7!important;
  border-radius:10px!important;
  padding:0 12px!important;
  font-size:14px!important;
  background:#fff!important;
  color:#241b3c!important;
  box-sizing:border-box!important;
  outline:none!important;
  margin:0 0 15px!important;
  box-shadow:none!important;
}
.edbs-login-form input[type="text"]:focus,
.edbs-login-form input[type="password"]:focus{
  border-color:var(--edbs-login-primary)!important;
  box-shadow:0 0 0 3px rgba(59,36,127,.10)!important;
}
.edbs-password-field{position:relative!important}
.edbs-password-field input[type="password"],
.edbs-password-field input[type="text"]{padding-right:40px!important}
.edbs-password-toggle,
.edbs-password-toggle:hover,
.edbs-password-toggle:focus,
.edbs-password-toggle:active,
.edbs-password-toggle[aria-pressed="true"]{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:absolute!important;
  right:10px!important;
  top:21px!important;
  transform:translateY(-50%)!important;
  width:22px!important;
  min-width:22px!important;
  max-width:22px!important;
  height:22px!important;
  min-height:22px!important;
  max-height:22px!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  color:#817a91!important;
  background:transparent!important;
  background-color:transparent!important;
  border:0!important;
  border-radius:50%!important;
  box-shadow:none!important;
  outline:none!important;
  line-height:1!important;
  font-size:0!important;
}
.edbs-password-toggle:hover,
.edbs-password-toggle:focus-visible{color:var(--edbs-login-primary)!important;background:transparent!important;box-shadow:none!important}
.edbs-password-toggle svg{width:16px!important;height:16px!important;fill:currentColor!important;display:block!important;margin:0!important;padding:0!important}
.edbs-login-row{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:12px!important;
  margin:0 0 16px!important;
  flex-wrap:nowrap!important;
}
.edbs-remember{
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  font-weight:500!important;
  color:#5f5871!important;
  font-size:13px!important;
  white-space:nowrap!important;
}
.edbs-remember input{margin:0!important;width:15px!important;height:15px!important}
.edbs-forgot-link,
.edbs-back-link{color:var(--edbs-login-primary)!important;font-size:12px!important;font-weight:700!important;text-decoration:none!important}
.edbs-forgot-link{white-space:nowrap!important}
.edbs-forgot-link:hover,
.edbs-back-link:hover{text-decoration:underline!important}
.edbs-back-link{display:inline-block;margin-top:16px!important}
.edbs-login-submit,
.edbs-login-btn{
  width:auto!important;
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  height:46px!important;
  padding:0 22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:12px!important;
  background:var(--edbs-login-primary)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:800!important;
  letter-spacing:.03em!important;
  text-decoration:none!important;
  cursor:pointer!important;
  box-shadow:none!important;
  transition:transform .15s ease,opacity .15s ease!important;
}
.edbs-login-submit:hover,
.edbs-login-btn:hover{opacity:.94!important;transform:translateY(-1px)!important}
.edbs-login-error,
.edbs-login-success{
  margin:0 0 15px!important;
  padding:10px 11px!important;
  border-radius:10px!important;
  font-size:13px!important;
  line-height:1.4!important;
}
.edbs-login-error{background:#fff3f4;border:1px solid #f1c5ca;color:#a52836}
.edbs-login-success{background:#f0faf4;border:1px solid #bfe3ca;color:#236a3b}
.edbs-login-actions{display:flex;gap:9px;flex-wrap:wrap}
.edbs-login-link-btn{
  min-height:40px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border:1px solid #d7d0e8!important;
  border-radius:12px!important;
  color:var(--edbs-login-primary)!important;
  font-weight:800!important;
  font-size:13px!important;
  text-decoration:none!important;
}


.edbs-login-card-tagline{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:20px;
  color:#8a829d;
  font-size:11px;
  white-space:nowrap;
}
.edbs-login-card-tagline span{height:1px;flex:1;background:#ddd8e8}
.edbs-login-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  padding:0 12px;
  color:#70668e;
}
.edbs-login-benefits>div{display:flex;align-items:center;justify-content:center;gap:8px;text-align:left;font-size:10px;line-height:1.25}
.edbs-login-benefits b{font-size:20px;line-height:1;color:#5b35b2;font-weight:500}
.edbs-login-benefits span{display:block}

/* Recuperar / reset / sesión ya iniciada: limpio y centrado */
.edbs-login-simple{
  --edbs-login-primary:#3b247f;
  --edbs-login-accent:#b7a57a;
  --edbs-login-visual:#25145f;
  width:100%;
  min-height:100vh;
  padding:24px 18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}
.edbs-login-simple .edbs-login-card{width:min(430px,100%)!important}


@media (min-width:821px){
  html:has(body.edbs-login-standalone),body.edbs-login-standalone{overflow:hidden!important;height:100%!important}
}
@media (max-width:1100px) and (min-width:821px){
  .edbs-login-screen{grid-template-columns:minmax(0,52%) minmax(380px,48%)}
  .edbs-login-visual{padding:26px 13px}
  .edbs-login-auth{padding:20px 28px}
  .edbs-login-auth-inner{width:min(470px,100%)}
  .edbs-login-card{padding:28px 28px 26px!important}
  .edbs-login-card h2{font-size:24px!important}
  .edbs-login-benefits{gap:8px;padding:0}
}
@media (max-width:820px){
  body.edbs-login-standalone{overflow:auto!important}
  .edbs-login-screen{display:block;height:auto;min-height:100vh;overflow:visible}
  .edbs-login-visual{height:auto;min-height:0;padding:18px 10px 0;background:#4b2b9d}
  .edbs-login-hero-image{width:100%;height:auto;object-fit:contain}
  .edbs-login-auth{height:auto;min-height:auto;padding:26px 16px 36px;overflow:visible}
  .edbs-login-auth-inner{width:min(480px,100%);gap:12px}
  .edbs-login-auth-topline{display:none}
  .edbs-login-benefits{display:none}
  .edbs-login-card{padding:28px 24px!important;border-radius:18px}
}
@media (max-width:540px){
  .edbs-login-card{padding:24px 20px!important}
  .edbs-login-card h2{font-size:23px!important}
  .edbs-login-row{flex-wrap:wrap!important;align-items:flex-start!important;gap:8px!important}
  .edbs-login-card-tagline{font-size:10px;white-space:normal;text-align:center}
}
