/* EL PROFE QUE APRENDE · Login route visual 2026 */
body:is(.page-login,.page-registro) { background:#061a42; }
body:is(.page-login,.page-registro) .site-main {padding:0!important; max-width:none!important; }
body:is(.page-login,.page-registro) .auth-flash-wrap {position:relative;z-index:5;}
body:is(.page-login,.page-registro) .epqa-login-experience {
  position:relative!important;isolation:isolate;overflow:hidden;min-height:calc(100svh - 78px);
  display:flex!important;align-items:center;justify-content:center;
  padding:clamp(22px,3vw,45px) 18px!important;
  background:radial-gradient(ellipse at 85% 6%,rgba(7,151,226,.37),transparent 31%),
             radial-gradient(ellipse at 11% 20%,rgba(34,89,225,.35),transparent 34%),
             radial-gradient(ellipse at 50% 90%,rgba(105,63,234,.15),transparent 38%),
             linear-gradient(135deg,#071c4b 0%,#041638 46%,#081b51 100%)!important;
}
body:is(.page-login,.page-registro) .epqa-login-experience::before {
  content:"";position:absolute;inset:-10%;pointer-events:none;opacity:.33;z-index:0;
  background:radial-gradient(circle at 14% 30%,#09c7fd 0 3px,transparent 5px),
             radial-gradient(circle at 80% 46%,#09c7fd 0 3px,transparent 6px),
             radial-gradient(circle at 87% 84%,#5c5cff 0 4px,transparent 7px),
             radial-gradient(ellipse at 0% 95%,#204bbd,transparent 32%),
             radial-gradient(ellipse at 100% 80%,#2453c4,transparent 30%);
}
body:is(.page-login,.page-registro) .epqa-login-experience::after {
  content:"";pointer-events:none;position:absolute;z-index:0;
  width:min(92vw,1150px);height:min(75vh,710px);left:50%;top:47%;transform:translate(-50%,-50%);
  opacity:.47;border:3px dashed #128ff3;border-left-color:transparent;border-bottom-color:#693fea;
  border-radius:49% 51% 45% 55%;rotate:-12deg;
}
body:is(.page-login,.page-registro) .epqa-login-ambient {position:absolute;z-index:0;pointer-events:none;color:#65c8ff;}
body:is(.page-login,.page-registro) .epqa-login-ambient--left {left:clamp(2%,6vw,9%);top:31%;}
body:is(.page-login,.page-registro) .epqa-login-script {display:block;font-family:cursive;font-size:clamp(23px,2.8vw,43px);line-height:1.21;font-style:italic;transform:rotate(-7deg);color:#73aeff;text-shadow:0 5px 25px #001b56;}
body:is(.page-login,.page-registro) .epqa-login-script strong {color:#22cafa;font-weight:500;}
body:is(.page-login,.page-registro) .epqa-float-symbol {display:block;font-size:60px;color:#0dbbff;line-height:1;}
body:is(.page-login,.page-registro) .epqa-login-ambient--right {right:clamp(2%,6vw,9%);top:20%;display:grid;gap:clamp(35px,5vw,75px);}
body:is(.page-login,.page-registro) .epqa-orbit-note {display:flex;align-items:center;gap:16px;font:italic 19px/1.2 "Nunito",sans-serif;color:#a1c4ff;transform:rotate(-7deg);}
body:is(.page-login,.page-registro) .epqa-orbit-note span {display:grid;place-items:center;width:68px;height:68px;border-radius:20px;transform:rotate(9deg);border:1px solid #3e8cff;font-size:34px;color:#64d9ff;background:linear-gradient(140deg,#184d9e99,#081d58c9);box-shadow:0 10px 35px #00153c99;}
body:is(.page-login,.page-registro) .epqa-login-experience .auth-card {
  position:relative!important;z-index:2;width:min(100%,570px)!important;max-width:570px!important;
  margin:0 auto!important;padding:clamp(24px,3vw,36px)!important;
  border:1px solid #429cfa!important;border-radius:28px!important;
  background:linear-gradient(145deg,rgba(13,45,104,.96),rgba(6,23,61,.97) 58%,rgba(24,51,116,.96))!important;
  color:#f2f6ff!important;
  box-shadow:0 20px 80px #020e30a8,inset 0 1px 18px #1887f42b,0 0 16px #168ffe30!important;
}
body:is(.page-login,.page-registro) .epqa-login-brand {display:flex!important;justify-content:center;align-items:center;min-height:100px!important;margin:0 auto 15px!important;padding:10px 16px!important;width:min(100%,388px);border-radius:19px;background:linear-gradient(150deg,#fff,#e7f4ff)!important;border:1px solid #afdbff;box-shadow:0 10px 32px #020c2855;}
body:is(.page-login,.page-registro) .epqa-login-brand img {display:block!important;object-fit:contain!important;max-width:min(100%,350px)!important;width:100%!important;height:auto!important;max-height:125px!important;background:none!important;box-shadow:none!important;border:0!important;}
body:is(.page-login,.page-registro) .auth-eyebrow {width:max-content;max-width:100%;margin:4px auto 13px!important;padding:8px 18px!important;border:1px solid #2287e2;border-radius:100px;background:linear-gradient(90deg,#063f7f,#30207e)!important;color:#eef6ff!important;font-size:13px!important;letter-spacing:0!important;text-transform:none!important;}
body:is(.page-login,.page-registro) .auth-eyebrow i {color:#12ccfa;margin-right:6px;}
body:is(.page-login,.page-registro) .epqa-login-experience .auth-title {margin:0 0 12px!important;text-align:center;color:#fff!important;font-family:Poppins,sans-serif;font-size:clamp(32px,4vw,46px)!important;line-height:1.12!important;letter-spacing:-.045em!important;font-weight:800!important;}
body:is(.page-login,.page-registro) .auth-title span {color:#00bafd!important;position:relative;}
body:is(.page-login,.page-registro) .auth-title span::after {content:"";position:absolute;bottom:-6px;left:18%;width:78%;height:4px;border-radius:20px;background:linear-gradient(90deg,#00bafd,#693fea);transform:rotate(-4deg);}
body:is(.page-login,.page-registro) .auth-subtitle {color:#cedcf6!important;font-size:15px!important;line-height:1.5!important;max-width:450px;margin:16px auto 21px!important;text-align:center;}
body:is(.page-login,.page-registro) .social-auth-grid {margin-bottom:15px!important;}
body:is(.page-login,.page-registro) .btn-google-auth {display:flex!important;align-items:center;justify-content:center;gap:10px;min-height:50px;border-radius:13px!important;border:1px solid #a5cfff!important;background:linear-gradient(180deg,#f7fbff,#d7e7ff)!important;color:#052458!important;font-weight:900!important;box-shadow:0 5px 16px #0045a749!important;}
body:is(.page-login,.page-registro) .btn-google-auth .google-g svg {width:24px;height:24px;}
body:is(.page-login,.page-registro) .auth-separator {color:#8db3ee!important;gap:14px;margin:11px 0 17px!important;}
body:is(.page-login,.page-registro) .auth-separator span {color:#93b8ed!important;}
body:is(.page-login,.page-registro) .auth-separator::before,body:is(.page-login,.page-registro) .auth-separator::after {background:#4a6b9f!important;}
body:is(.page-login,.page-registro) .auth-form {gap:13px!important;}
body:is(.page-login,.page-registro) .auth-form .form-group {position:relative;margin:0!important;}
body:is(.page-login,.page-registro) .auth-form .form-label {color:#eaf2ff!important;font-weight:850!important;font-size:13px!important;margin-bottom:6px!important;}
body:is(.page-login,.page-registro) .auth-form .form-control {background:rgba(4,18,52,.78)!important;border:1px solid #338dce!important;border-radius:12px!important;min-height:50px!important;color:#fff!important;padding:11px 15px 11px 44px!important;box-shadow:inset 0 0 9px #0d68a72e!important;}
body:is(.page-login,.page-registro) .auth-form .form-control::placeholder {color:#97b2d9!important;opacity:1;}
body:is(.page-login,.page-registro) .auth-form .form-control:focus {border-color:#39d9ff!important;box-shadow:0 0 0 3px #19baff35!important;outline:0!important;}
/* Iconos SVG auténticos: sin escapes CSS ni caracteres literales visibles. */
body:is(.page-login,.page-registro) .epqa-login-field .epqa-login-field-icon {
  position:absolute;left:15px;bottom:14px;z-index:2;width:22px;height:22px;
  display:flex;align-items:center;justify-content:center;pointer-events:none;color:#79bdfb;
}
body:is(.page-login,.page-registro) .epqa-login-field .epqa-login-field-icon svg {width:21px;height:21px;display:block;flex-shrink:0;}
body:is(.page-login,.page-registro) .epqa-login-field .form-control {padding-left:49px!important;font-weight:600!important;min-width:0;}
body:is(.page-login,.page-registro) .epqa-login-field .form-control::placeholder {font-weight:500!important;}
body:is(.page-login,.page-registro) .form-check {color:#eff5ff!important;font-weight:750!important;font-size:14px!important;}
body:is(.page-login,.page-registro) .form-check input {accent-color:#087efe;}
body:is(.page-login,.page-registro) .btn-auth-primary {width:100%;display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px!important;border:1px solid #59ccff!important;border-radius:13px!important;clip-path:none!important;background:linear-gradient(110deg,#05bdfa,#2367f8 47%,#8231e9)!important;color:#fff!important;box-shadow:0 5px 22px #0a83e770!important;font-size:17px!important;font-weight:900!important;}
body:is(.page-login,.page-registro) .btn-auth-primary:hover {filter:brightness(1.11);transform:translateY(-1px);}
body:is(.page-login,.page-registro) .btn-auth-primary img {object-fit:contain;flex:none;}
body:is(.page-login,.page-registro) .auth-links {margin:17px 0 0!important;justify-content:center!important;gap:18px!important;align-items:center!important;flex-wrap:wrap;}
body:is(.page-login,.page-registro) .auth-links a {color:#bcd4fe!important;font-size:13px!important;text-decoration:underline;text-underline-offset:3px;}
body:is(.page-login,.page-registro) .auth-links .epqa-create-account {padding:10px 24px!important;text-decoration:none!important;border:1px solid #93b8ff;border-radius:12px;font-weight:800;color:#fff!important;background:#122f67;}
body:is(.page-login,.page-registro) .auth-links .epqa-create-account:hover {background:#2151a2;}
body:is(.page-login,.page-registro) .auth-alert {position:relative;z-index:2;}
@media(max-width:1170px){body:is(.page-login,.page-registro) .epqa-login-ambient {opacity:.24;}body:is(.page-login,.page-registro) .epqa-login-ambient--left{left:1%;}body:is(.page-login,.page-registro) .epqa-login-ambient--right{right:1%;}}
@media(max-width:800px){body:is(.page-login,.page-registro) .epqa-login-ambient{display:none!important;}body:is(.page-login,.page-registro) .epqa-login-experience::after{opacity:.15;}body:is(.page-login,.page-registro) .epqa-login-experience{padding:18px 12px!important;}body:is(.page-login,.page-registro) .epqa-login-experience .auth-card{padding:23px 20px!important;border-radius:23px!important;}body:is(.page-login,.page-registro) .auth-title{font-size:clamp(30px,8vw,42px)!important;}}
@media(prefers-reduced-motion:reduce){body:is(.page-login,.page-registro) .btn-auth-primary:hover{transform:none;}}

/* Tema claro: paleta independiente para que el login no conserve el panel oscuro. */
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) {background:#eaf5ff!important;color:#092a62!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-login-experience {
  background:radial-gradient(ellipse at 88% 10%,rgba(23,168,239,.22),transparent 34%),
             radial-gradient(ellipse at 8% 26%,rgba(81,121,238,.20),transparent 38%),
             radial-gradient(ellipse at 50% 95%,rgba(105,63,234,.09),transparent 44%),
             linear-gradient(135deg,#eaf6ff 0%,#f8fcff 47%,#e8f2ff 100%)!important;
}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-login-experience::before {opacity:.20;background:radial-gradient(circle at 14% 30%,#038ace 0 3px,transparent 5px),radial-gradient(circle at 80% 46%,#038ace 0 3px,transparent 6px),radial-gradient(circle at 87% 84%,#693fea 0 4px,transparent 7px),radial-gradient(ellipse at 0% 95%,#5aacef,transparent 32%),radial-gradient(ellipse at 100% 80%,#96b8ff,transparent 30%);}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-login-experience::after {border-color:#459ae6;border-left-color:transparent;border-bottom-color:#a393e8;opacity:.26;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-login-experience .auth-card {
  background:linear-gradient(145deg,rgba(255,255,255,.985),rgba(246,251,255,.99) 56%,rgba(232,242,255,.985))!important;
  border:1px solid #a9d1fa!important;
  box-shadow:0 24px 68px #124a831e,inset 0 1px 1px #ffffff,0 0 0 1px #d9ebff55!important;
  color:#0a2860!important;
}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-login-brand {background:linear-gradient(150deg,#fff,#eef8ff)!important;border-color:#d6e8fc;box-shadow:0 4px 18px #0b478b17;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-eyebrow {background:linear-gradient(90deg,#e6f7ff,#eae5ff)!important;color:#093d89!important;border:1px solid #9bc9f8!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-eyebrow i {color:#0078ce!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-login-experience .auth-title {color:#042066!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-title span {color:#057fca!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-subtitle {color:#3d5376!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .btn-google-auth {background:linear-gradient(180deg,#fff,#eef5ff)!important;border-color:#a9c8ee!important;color:#092c65!important;box-shadow:0 6px 17px #285e9a19!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-separator,html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-separator span {color:#486d9a!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-separator::before,html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-separator::after {background:#bad1ed!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-form .form-label {color:#092e69!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-form .form-control {
  color:#09275e!important;background:#fff!important;border:1px solid #a4c7ed!important;
  box-shadow:inset 0 1px 2px #1748760a!important;
}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-form .form-control::placeholder {color:#657c9d!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-form .form-control:focus {border-color:#0589df!important;box-shadow:0 0 0 3px #08aef22d!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-login-field .epqa-login-field-icon {color:#166abe!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .form-check {color:#214271!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-links a {color:#20539b!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-links .epqa-create-account {background:#edf6ff!important;color:#0a3c8c!important;border-color:#8bbbee!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .auth-links .epqa-create-account:hover {background:#dceeff!important;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-login-script {color:#3868ac;text-shadow:none;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-login-script strong {color:#067eca;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-orbit-note {color:#31558c;}
html:not([data-theme="dark"]) body:is(.page-login,.page-registro) .epqa-orbit-note span {color:#167ac2;background:linear-gradient(140deg,#fff,#e0efff);border-color:#9dcdf6;box-shadow:0 8px 22px #13498620;}
@media(max-width:520px){
  body:is(.page-login,.page-registro) .epqa-login-brand {max-width:340px!important;padding:8px 12px!important;min-height:0!important;}
  body:is(.page-login,.page-registro) .epqa-login-brand img {max-height:100px!important;}
  body:is(.page-login,.page-registro) .auth-form .form-control {font-size:16px!important;min-height:52px!important;}
  body:is(.page-login,.page-registro) .epqa-login-field .epqa-login-field-icon {bottom:15px;}
  body:is(.page-login,.page-registro) .epqa-login-experience .auth-card {width:100%!important;box-sizing:border-box;}
}

/* Registro 2026: misma identidad que Ingresar con ancho y densidad adecuados para cinco campos. */
body.page-registro .epqa-login-experience .auth-card {
  width:min(100%,760px)!important;max-width:760px!important;
  padding:clamp(23px,3vw,38px)!important;
}
body.page-registro .epqa-login-experience {height:auto!important;min-height:calc(100svh - 78px);overflow:hidden;padding-block:32px!important;}
body.page-registro .auth-header {text-align:center;}
body.page-registro .auth-title {font-size:clamp(30px,3.6vw,44px)!important;line-height:1.13!important;}
body.page-registro .auth-subtitle {max-width:560px!important;}
body.page-registro .epqa-login-brand img {max-height:108px!important;}
body.page-registro .auth-form {display:grid!important;gap:14px!important;}
body.page-registro .auth-form .auth-grid {display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;}
body.page-registro .auth-form .form-group {min-width:0;position:relative;}
body.page-registro .auth-form .form-control {width:100%;min-width:0;}
body.page-registro .auth-form .form-control[type="password"] {letter-spacing:normal;}
body.page-registro .auth-form .form-check {margin:0!important;display:flex;align-items:flex-start;gap:9px;line-height:1.5;}
body.page-registro .auth-form .form-check input {flex:none;margin:4px 0 0;width:17px;height:17px;accent-color:#00a8fe;}
body.page-registro .auth-form .form-check span {display:inline;color:inherit!important;}
body.page-registro .auth-form .form-check a {color:#a9e5ff!important;font-weight:800;text-decoration:underline;text-underline-offset:3px;}
body.page-registro .auth-actions {margin-top:4px;}
body.page-registro .auth-links .epqa-register-login-link {display:inline-block;padding:9px 18px;border:1px solid #679adc;border-radius:12px;color:#e6f5ff!important;text-decoration:none!important;font-weight:850;}
body.page-registro .auth-links .epqa-register-login-link:hover {background:#1a4788;}
body.page-registro .auth-provider-note {color:#bed8ff!important;font-size:13px;}
html:not([data-theme="dark"]) body.page-registro .auth-form .form-check a {color:#0759ad!important;}
html:not([data-theme="dark"]) body.page-registro .auth-links .epqa-register-login-link {color:#174a92!important;background:#f3f8ff!important;border-color:#b6d6ff!important;}
html:not([data-theme="dark"]) body.page-registro .auth-links .epqa-register-login-link:hover {background:#e5f0ff!important;}
html:not([data-theme="dark"]) body.page-registro .auth-provider-note {color:#43638b!important;}
@media(max-width:760px) {
 body.page-registro .auth-form .auth-grid {grid-template-columns:1fr!important;gap:14px!important;}
 body.page-registro .epqa-login-experience .auth-card {width:100%!important;max-width:570px!important;padding:23px 20px!important;}
 body.page-registro .epqa-login-experience {padding:18px 12px!important;}
}
@media(max-width:520px) {
 body.page-registro .auth-form .form-control {font-size:16px!important;}
 body.page-registro .auth-title {font-size:clamp(29px,8vw,39px)!important;}
 body.page-registro .epqa-login-brand {padding:8px 12px!important;}
 body.page-registro .epqa-login-brand img {max-height:96px!important;}
 body.page-registro .auth-form .form-check {font-size:13px!important;}
}
