/* SP-RC168.4.42 — Login Mi Portal ECP Golden Master
   Scoped exclusively to .ecp-student-login / .ecp-student-login-page. */
.ecp-student-login{
  --esl-navy:#06214a;
  --esl-navy-2:#0a2d61;
  --esl-blue:#0868f4;
  --esl-blue-2:#0b7cff;
  --esl-line:#d4e2f2;
  --esl-muted:#637796;
  --esl-danger:#c6283d;
  --esl-success:#168447;
  --esl-gold:#f2b705;
  --esl-shadow:0 28px 72px rgba(7,35,76,.12);
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:22px 24px 46px;
  color:var(--esl-navy);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  background:
    radial-gradient(circle at 88% 38%,rgba(41,136,255,.12),transparent 27%),
    radial-gradient(circle at 7% 82%,rgba(8,104,244,.08),transparent 28%),
    linear-gradient(180deg,#f8fbff 0%,#f2f8ff 100%);
}
.ecp-student-login::before{
  content:"";
  position:absolute;
  left:-2%;
  bottom:-8%;
  width:31%;
  height:88%;
  z-index:-1;
  opacity:.085;
  background-image:var(--esl-campus-image);
  background-size:cover;
  background-position:center;
  filter:saturate(.7) contrast(.9);
  -webkit-mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 58%,transparent 100%),linear-gradient(0deg,#000 0%,#000 68%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,rgba(0,0,0,.85) 58%,transparent 100%);
  pointer-events:none;
}
.ecp-student-login::after{
  content:"";
  position:absolute;
  right:-130px;
  top:54px;
  width:420px;
  height:420px;
  border-radius:50%;
  z-index:-1;
  background:radial-gradient(circle,rgba(8,104,244,.13),rgba(8,104,244,0) 70%);
  pointer-events:none;
}
.ecp-student-login *{box-sizing:border-box}
.ecp-student-login-page .ecp-public-main>.ecp-flash{display:none}

.ecp-student-login .esl-shell{
  width:min(1450px,100%);
  min-height:650px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,52%) minmax(0,48%);
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(186,208,234,.72);
  border-radius:27px;
  box-shadow:var(--esl-shadow);
}

/* Left — authentication */
.ecp-student-login .esl-access{
  position:relative;
  z-index:3;
  min-width:0;
  padding:48px clamp(42px,4vw,66px) 34px;
  background:linear-gradient(180deg,#fff 0%,#fff 82%,#fbfdff 100%);
}
.ecp-student-login .esl-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  padding:8px 14px;
  border:1px solid #cde2fb;
  border-radius:999px;
  background:#eff6ff;
  color:#0968e8;
  font-size:12px;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.ecp-student-login .esl-badge svg{width:17px;height:17px;stroke-width:1.9}
.ecp-student-login .esl-title{
  margin:18px 0 0;
  color:#08234f;
  font-size:clamp(34px,2.45vw,43px);
  line-height:1.09;
  letter-spacing:-.034em;
  font-weight:820;
}
.ecp-student-login .esl-accent{
  display:block;
  width:52px;
  height:4px;
  margin:11px 0 15px;
  border-radius:999px;
  background:linear-gradient(90deg,#f6b900,#efad00);
}
.ecp-student-login .esl-subtitle{
  max-width:650px;
  margin:0;
  color:#566b86;
  font-size:16px;
  line-height:1.55;
}
.ecp-student-login .esl-alert{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:18px 0 -4px;
  padding:11px 13px;
  border:1px solid #f0bcc4;
  border-radius:11px;
  background:#fff6f7;
  color:#9f2435;
  font-size:12px;
  line-height:1.45;
  font-weight:650;
}
.ecp-student-login .esl-alert--success{border-color:#b9dfc7;background:#f2fbf5;color:#176b39}
.ecp-student-login .esl-alert svg{width:18px;height:18px;flex:0 0 auto;margin-top:1px}
.ecp-student-login .esl-form{margin-top:19px}
.ecp-student-login .esl-field{margin-bottom:14px}
.ecp-student-login .esl-field label{display:block;margin:0 0 7px;color:#0a2a57;font-size:13px;font-weight:800}
.ecp-student-login .esl-required{color:#de3148}
.ecp-student-login .esl-control{position:relative}
.ecp-student-login .esl-control__icon{
  position:absolute;
  left:16px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  color:#617895;
  pointer-events:none;
}
.ecp-student-login .esl-control__icon svg{width:20px;height:20px}
.ecp-student-login .esl-input{
  width:100%;
  height:55px;
  padding:0 48px 0 49px;
  border:1px solid #c9daef;
  border-radius:11px;
  background:#f9fbfe;
  color:#0b2a53;
  font:inherit;
  font-size:14px;
  outline:none;
  transition:border-color .17s ease,box-shadow .17s ease,background .17s ease;
}
.ecp-student-login .esl-input::placeholder{color:#96a7bb}
.ecp-student-login .esl-input:hover{border-color:#9fc0e9;background:#fff}
.ecp-student-login .esl-input:focus{border-color:#2c7df1;background:#fff;box-shadow:0 0 0 4px rgba(8,104,244,.095)}
.ecp-student-login .esl-field.has-error .esl-input{border-color:#e29aa5;background:#fffafb;box-shadow:0 0 0 3px rgba(198,40,61,.06)}
.ecp-student-login .esl-input:-webkit-autofill,
.ecp-student-login .esl-input:-webkit-autofill:hover,
.ecp-student-login .esl-input:-webkit-autofill:focus{
  -webkit-text-fill-color:#0b2a53;
  -webkit-box-shadow:0 0 0 1000px #f9fbfe inset;
  box-shadow:0 0 0 1000px #f9fbfe inset;
  transition:background-color 9999s ease-out 0s;
}
.ecp-student-login .esl-toggle{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:39px;
  height:39px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#607896;
  display:grid;
  place-items:center;
  cursor:pointer;
}
.ecp-student-login .esl-toggle:hover{background:#eef5fd;color:#0868f4}
.ecp-student-login .esl-toggle:focus-visible{outline:2px solid #3182f6;outline-offset:1px}
.ecp-student-login .esl-toggle svg{width:20px;height:20px}
.ecp-student-login .esl-error{display:flex;align-items:flex-start;gap:5px;margin-top:6px;color:var(--esl-danger);font-size:11px;font-weight:700;line-height:1.4}
.ecp-student-login .esl-options{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:2px 0 17px}
.ecp-student-login .esl-remember{display:flex;align-items:center;gap:9px;color:#52657e;font-size:12px;font-weight:720;cursor:pointer}
.ecp-student-login .esl-remember input{width:18px;height:18px;margin:0;accent-color:var(--esl-blue)}
.ecp-student-login .esl-forgot{color:#0865df;font-size:12px;font-weight:820;text-decoration:none}
.ecp-student-login .esl-forgot:hover{text-decoration:underline;text-underline-offset:3px}
.ecp-student-login .esl-submit{
  width:100%;
  height:57px;
  padding:0 17px;
  border:0;
  border-radius:11px;
  background:linear-gradient(90deg,#075ae6 0%,#0a79fa 100%);
  color:#fff;
  display:grid;
  grid-template-columns:32px 1fr 32px;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 14px 30px rgba(18,105,232,.22);
  transition:filter .16s ease,transform .16s ease,box-shadow .16s ease;
}
.ecp-student-login .esl-submit:hover{filter:brightness(1.035);transform:translateY(-1px);box-shadow:0 17px 34px rgba(18,105,232,.27)}
.ecp-student-login .esl-submit:focus-visible{outline:3px solid rgba(8,104,244,.28);outline-offset:3px}
.ecp-student-login .esl-submit:disabled{opacity:.76;cursor:wait;transform:none}
.ecp-student-login .esl-submit svg{width:20px;height:20px}
.ecp-student-login .esl-submit>svg:last-child{justify-self:end}
.ecp-student-login .esl-spinner{display:none;width:17px;height:17px;border:2px solid rgba(255,255,255,.52);border-top-color:#fff;border-radius:50%;animation:eslSpin .7s linear infinite}
.ecp-student-login .esl-submit.is-loading .esl-spinner{display:inline-block}
.ecp-student-login .esl-submit.is-loading .esl-submit__leading{display:none}
@keyframes eslSpin{to{transform:rotate(360deg)}}
.ecp-student-login .esl-divider{display:flex;align-items:center;gap:12px;margin:16px 0;color:#8493a7;font-size:10.5px}
.ecp-student-login .esl-divider:before,.ecp-student-login .esl-divider:after{content:"";height:1px;flex:1;background:#e2eaf3}
.ecp-student-login .esl-google{width:100%;height:48px;border:1px solid #ccdced;border-radius:11px;background:#fff;color:#16345d;display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:12px;font-weight:800}
.ecp-student-login .esl-google:hover{background:#f8fbff;border-color:#aac8eb}
.ecp-student-login .esl-google__mark{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid #e2e8f0;color:#4285f4;font-weight:900}
.ecp-student-login .esl-register{display:flex;align-items:center;gap:12px;margin-top:15px}
.ecp-student-login .esl-register:before,.ecp-student-login .esl-register:after{content:"";height:1px;flex:1;background:#e1e8f0}
.ecp-student-login .esl-register span{color:#6d7d93;font-size:11px;white-space:nowrap}
.ecp-student-login .esl-register-btn{margin-top:10px;width:100%;height:48px;border:1px solid #2e7df0;border-radius:10px;background:#fff;color:#0865df;display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-size:13px;font-weight:850;transition:background .16s,border-color .16s,transform .16s}
.ecp-student-login .esl-register-btn:hover{background:#f5f9ff;border-color:#0868f4;transform:translateY(-1px)}
.ecp-student-login .esl-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;color:#72839a;font-size:11px}
.ecp-student-login .esl-security svg{width:16px;height:16px;color:#168447}

/* Right — visual experience */
.ecp-student-login .esl-aside{
  position:relative;
  overflow:hidden;
  min-width:0;
  min-height:650px;
  padding:48px 42px 28px;
  background:
    radial-gradient(circle at 84% 16%,rgba(8,104,244,.17),transparent 24%),
    radial-gradient(circle at 108% 68%,rgba(8,104,244,.22),transparent 34%),
    radial-gradient(circle at -8% 104%,rgba(242,183,5,.10),transparent 26%),
    linear-gradient(145deg,#eef7ff 0%,#f7fbff 45%,#e9f4ff 100%);
  border-left:1px solid #dce9f7;
}
.ecp-student-login .esl-aside::before,
.ecp-student-login .esl-aside::after{
  content:"";
  position:absolute;
  border-radius:50%;
  pointer-events:none;
}
.ecp-student-login .esl-aside::before{width:360px;height:360px;right:-145px;top:-190px;border:48px solid rgba(255,255,255,.34)}
.ecp-student-login .esl-aside::after{width:280px;height:280px;right:-90px;bottom:54px;background:rgba(8,104,244,.08)}
.ecp-student-login .esl-aside__content{position:relative;z-index:4;max-width:54%}
.ecp-student-login .esl-aside h2{margin:10px 0 0;color:#08234f;font-size:clamp(32px,2.3vw,41px);font-weight:830;line-height:1.02;letter-spacing:-.036em}
.ecp-student-login .esl-aside__content>p{margin:0;color:#5f738e;font-size:14px;line-height:1.53}
.ecp-student-login .esl-aside .esl-accent{margin:12px 0 17px;width:48px}
.ecp-student-login .esl-aside-visual{position:absolute;z-index:5;right:34px;top:42px;width:178px;height:158px;pointer-events:none}
.ecp-student-login .esl-cap{position:absolute;right:42px;top:18px;width:92px;height:92px;border-radius:26px;background:rgba(255,255,255,.52);backdrop-filter:blur(8px);display:grid;place-items:center;color:#0c4d98;box-shadow:0 15px 36px rgba(27,84,145,.10);transform:rotate(-3deg)}
.ecp-student-login .esl-cap svg{width:58px;height:58px}
.ecp-student-login .esl-chip{position:absolute;right:0;display:flex;align-items:center;gap:6px;padding:8px 11px;border-radius:11px;box-shadow:0 8px 20px rgba(28,78,135,.07);font-size:10px;font-weight:850;backdrop-filter:blur(6px)}
.ecp-student-login .esl-chip--courses{top:0;background:rgba(220,236,255,.9);color:#1766c2}
.ecp-student-login .esl-chip--certs{top:50px;right:-4px;background:rgba(220,247,242,.94);color:#078b78}
.ecp-student-login .esl-chip--payments{top:101px;right:4px;background:rgba(255,241,201,.96);color:#94600a}
.ecp-student-login .esl-student-photo{
  position:absolute;
  z-index:2;
  right:-22px;
  bottom:86px;
  width:56%;
  height:57%;
  object-fit:cover;
  object-position:62% 42%;
  border-radius:160px 0 0 0;
  box-shadow:-20px 24px 60px rgba(8,49,105,.11);
  filter:saturate(.92) brightness(1.08);
}
.ecp-student-login .esl-student-fade{
  position:absolute;
  z-index:3;
  right:0;
  bottom:78px;
  width:61%;
  height:63%;
  pointer-events:none;
  background:linear-gradient(90deg,#eef7ff 0%,rgba(238,247,255,.82) 12%,rgba(238,247,255,.18) 34%,transparent 57%),linear-gradient(0deg,#eaf5ff 0%,rgba(234,245,255,.25) 20%,transparent 43%);
}
.ecp-student-login .esl-tagline{position:absolute;z-index:5;right:20px;top:160px;color:#1163cc;font:700 17px/1.08 "Segoe Script","Bradley Hand",cursive;transform:rotate(-6deg);text-align:center;opacity:.88}
.ecp-student-login .esl-tagline::after{content:"";display:block;width:72px;height:3px;margin:8px auto 0;border-radius:999px;background:#f2b705}
.ecp-student-login .esl-benefits{display:grid;gap:12px;margin-top:23px}
.ecp-student-login .esl-benefit{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:14px;min-width:0}
.ecp-student-login .esl-benefit__icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:0 0 48px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.65)}
.ecp-student-login .esl-benefit:nth-child(1) .esl-benefit__icon{background:#deecff;color:#1768d8}
.ecp-student-login .esl-benefit:nth-child(2) .esl-benefit__icon{background:#dff7ea;color:#13a05d}
.ecp-student-login .esl-benefit:nth-child(3) .esl-benefit__icon{background:#fff0bf;color:#e59a00}
.ecp-student-login .esl-benefit__icon svg{display:block;width:23px;height:23px;max-width:23px;max-height:23px;flex:0 0 23px;overflow:visible;stroke-linecap:round;stroke-linejoin:round}
.ecp-student-login .esl-benefit strong{display:block;margin-bottom:3px;color:#0a2a55;font-size:13px;line-height:1.22}
.ecp-student-login .esl-benefit span{display:block;color:#6a7e97;font-size:11px;line-height:1.38}
.ecp-student-login .esl-help{position:absolute;z-index:7;left:28px;right:28px;bottom:24px;min-height:74px;padding:13px 15px 13px 72px;border:1px solid #d5e5f5;border-radius:15px;background:rgba(255,255,255,.92);box-shadow:0 12px 28px rgba(14,58,112,.07);backdrop-filter:blur(9px)}
.ecp-student-login .esl-help::before{content:"?";position:absolute;left:18px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;display:grid;place-items:center;border:2px solid #287df3;color:#287df3;font-weight:900;background:#edf6ff}
.ecp-student-login .esl-help strong{display:block;color:#0a2a55;font-size:12px}
.ecp-student-login .esl-help p{margin:4px 160px 0 0!important;color:#6a7e97!important;font-size:10.5px!important;line-height:1.35!important}
.ecp-student-login .esl-help a{position:absolute;right:14px;top:50%;transform:translateY(-50%);min-width:142px;height:42px;padding:0 14px;border:1px solid #78adf2;border-radius:9px;color:#0865df;background:#fff;display:flex;align-items:center;justify-content:center;gap:7px;font-size:11px;font-weight:850;text-decoration:none;box-shadow:0 5px 14px rgba(8,104,244,.05)}
.ecp-student-login .esl-help a:hover{background:#f5f9ff;border-color:#2e7df0}

@media(max-width:1240px){
  .ecp-student-login .esl-shell{grid-template-columns:minmax(0,55%) minmax(0,45%)}
  .ecp-student-login .esl-access{padding-inline:42px}
  .ecp-student-login .esl-aside{padding-inline:32px}
  .ecp-student-login .esl-aside__content{max-width:58%}
  .ecp-student-login .esl-student-photo{width:58%;height:54%}
  .ecp-student-login .esl-aside-visual{right:22px}
  .ecp-student-login .esl-tagline{display:none}
}
@media(max-width:980px){
  .ecp-student-login{padding:26px 18px 42px}
  .ecp-student-login::before{display:none}
  .ecp-student-login .esl-shell{grid-template-columns:1fr;min-height:0}
  .ecp-student-login .esl-aside{min-height:520px;border-left:0;border-top:1px solid #dce9f7}
  .ecp-student-login .esl-aside__content{max-width:56%}
  .ecp-student-login .esl-student-photo{width:52%;height:58%;bottom:80px}
  .ecp-student-login .esl-help{left:26px;right:26px}
}
@media(max-width:720px){
  .ecp-student-login{padding:18px 12px 32px}
  .ecp-student-login .esl-shell{border-radius:20px}
  .ecp-student-login .esl-access{padding:30px 22px 26px}
  .ecp-student-login .esl-title{font-size:clamp(29px,8vw,36px)}
  .ecp-student-login .esl-subtitle{font-size:14px}
  .ecp-student-login .esl-options{align-items:flex-start;flex-direction:column;gap:10px}
  .ecp-student-login .esl-register span{white-space:normal;text-align:center}
  .ecp-student-login .esl-aside{min-height:auto;padding:30px 22px 118px}
  .ecp-student-login .esl-aside__content{max-width:100%}
  .ecp-student-login .esl-aside h2{font-size:30px}
  .ecp-student-login .esl-aside-visual{position:relative;right:auto;top:auto;width:100%;height:120px;margin-bottom:4px}
  .ecp-student-login .esl-cap{left:0;right:auto;top:3px;width:80px;height:80px;border-radius:22px}
  .ecp-student-login .esl-cap svg{width:48px;height:48px}
  .ecp-student-login .esl-chip{right:0}
  .ecp-student-login .esl-chip--courses{top:0}.ecp-student-login .esl-chip--certs{top:40px}.ecp-student-login .esl-chip--payments{top:80px}
  .ecp-student-login .esl-student-photo,.ecp-student-login .esl-student-fade,.ecp-student-login .esl-tagline{display:none}
  .ecp-student-login .esl-benefits{grid-template-columns:1fr;margin-top:20px}
  .ecp-student-login .esl-help{left:18px;right:18px;bottom:18px;padding-left:58px}
  .ecp-student-login .esl-help::before{left:12px;width:34px;height:34px}
  .ecp-student-login .esl-help p{margin-right:0!important;padding-right:0}
  .ecp-student-login .esl-help a{position:static;transform:none;width:100%;margin-top:10px}
}
@media(max-width:430px){
  .ecp-student-login .esl-access{padding:26px 18px 24px}
  .ecp-student-login .esl-badge{font-size:10.5px}
  .ecp-student-login .esl-title{font-size:29px}
  .ecp-student-login .esl-input{height:53px}
  .ecp-student-login .esl-submit{height:54px;font-size:14px}
  .ecp-student-login .esl-aside{padding-inline:18px}
}
@media(prefers-reduced-motion:reduce){
  .ecp-student-login .esl-submit,.ecp-student-login .esl-input,.ecp-student-login .esl-register-btn{transition:none}
  .ecp-student-login .esl-submit:hover,.ecp-student-login .esl-register-btn:hover{transform:none}
  .ecp-student-login .esl-spinner{animation-duration:1.4s}
}

/* =====================================================================
   SP-RC168.4.44 — Precision layer / Golden Master del login
   Alcance deliberadamente cerrado: SOLO .ecp-student-login.
   Header, navegación global y footer no reciben selectores nuevos.
   ===================================================================== */
.ecp-student-login{
  --esl-shadow:0 24px 64px rgba(5,36,80,.10);
  padding:24px 36px 22px;
  background:
    radial-gradient(circle at 93% 42%,rgba(32,126,246,.11),transparent 28%),
    radial-gradient(circle at 4% 88%,rgba(18,112,240,.065),transparent 25%),
    linear-gradient(180deg,#f8fbff 0%,#f2f7fd 100%);
}
.ecp-student-login::before{
  left:-1%;
  bottom:-10%;
  width:27%;
  height:84%;
  opacity:.055;
}
.ecp-student-login::after{
  right:-150px;
  top:34px;
  width:460px;
  height:460px;
  background:radial-gradient(circle,rgba(8,104,244,.10),rgba(8,104,244,0) 71%);
}
.ecp-student-login .esl-shell{
  width:min(1608px,100%);
  min-height:622px;
  grid-template-columns:minmax(0,47.5%) minmax(0,52.5%);
  border:1px solid rgba(178,205,235,.76);
  border-radius:30px;
  box-shadow:0 24px 64px rgba(8,45,94,.105);
}
.ecp-student-login .esl-access{
  padding:45px clamp(50px,4vw,68px) 24px;
  background:linear-gradient(180deg,#fff 0%,#fff 86%,#fcfdff 100%);
}
.ecp-student-login .esl-badge{
  padding:8px 15px;
  gap:9px;
  font-size:12px;
  border-color:#c9e0fb;
  background:#eef6ff;
  box-shadow:0 6px 18px rgba(8,104,244,.035);
}
.ecp-student-login .esl-title{
  margin-top:18px;
  font-size:clamp(34px,2.45vw,42px);
  line-height:1.08;
  letter-spacing:-.038em;
}
.ecp-student-login .esl-accent{
  width:56px;
  height:4px;
  margin:11px 0 14px;
}
.ecp-student-login .esl-subtitle{
  max-width:660px;
  font-size:16px;
  line-height:1.52;
}
.ecp-student-login .esl-form{margin-top:18px}
.ecp-student-login .esl-alert{
  margin:17px 0 -2px;
  min-height:46px;
  align-items:center;
  padding:10px 13px;
}
.ecp-student-login .esl-field{margin-bottom:13px}
.ecp-student-login .esl-field label{margin-bottom:7px;font-size:13px}
.ecp-student-login .esl-control__icon{
  left:16px;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ecp-student-login .esl-control__icon svg{
  display:block;
  width:19px;
  height:19px;
  margin:0;
  flex:0 0 19px;
}
.ecp-student-login .esl-input{
  height:52px;
  padding-left:49px;
  border-color:#c5d9ef;
  border-radius:10px;
  background:#fbfdff;
  font-size:14px;
}
.ecp-student-login .esl-toggle{
  right:7px;
  width:39px;
  height:39px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ecp-student-login .esl-toggle svg{display:block;margin:0;width:19px;height:19px}
.ecp-student-login .esl-options{margin:1px 0 14px;gap:18px}
.ecp-student-login .esl-remember{gap:8px;font-size:12px}
.ecp-student-login .esl-remember input{width:17px;height:17px}
.ecp-student-login .esl-forgot{font-size:12px}
.ecp-student-login .esl-submit{
  height:55px;
  border-radius:10px;
  background:linear-gradient(90deg,#095be5 0%,#0781f7 100%);
  box-shadow:0 12px 26px rgba(13,105,230,.20);
  grid-template-columns:32px 1fr 32px;
  font-size:15px;
}
.ecp-student-login .esl-submit__leading,
.ecp-student-login .esl-submit>svg{
  display:flex;
  align-items:center;
  justify-content:center;
  justify-self:center;
}
.ecp-student-login .esl-submit svg{display:block;margin:0}
.ecp-student-login .esl-register{margin-top:14px}
.ecp-student-login .esl-register-btn{height:49px;border-radius:10px}
.ecp-student-login .esl-security{margin-top:14px;gap:8px;font-size:11px;line-height:1.3}
.ecp-student-login .esl-security svg{
  display:block;
  width:16px;
  height:16px;
  margin:0;
  flex:0 0 16px;
}

/* Panel derecho: composición editorial del Golden Master */
.ecp-student-login .esl-aside{
  min-height:622px;
  padding:46px 46px 22px;
  background:
    radial-gradient(circle at 89% 9%,rgba(62,151,255,.18),transparent 19%),
    radial-gradient(circle at 72% 70%,rgba(255,255,255,.45),transparent 32%),
    radial-gradient(circle at 106% 72%,rgba(8,104,244,.17),transparent 31%),
    linear-gradient(145deg,#edf7ff 0%,#f8fbff 43%,#eaf4ff 100%);
  border-left:1px solid #d8e8f7;
}
.ecp-student-login .esl-aside::before{
  width:410px;
  height:410px;
  right:-150px;
  top:-215px;
  border:54px solid rgba(255,255,255,.32);
}
.ecp-student-login .esl-aside::after{
  width:300px;
  height:300px;
  right:86px;
  bottom:104px;
  background:rgba(246,190,24,.82);
  box-shadow:0 0 0 46px rgba(255,255,255,.035);
}
.ecp-student-login .esl-aside__content{
  position:relative;
  z-index:6;
  max-width:48.5%;
  padding-top:8px;
}
.ecp-student-login .esl-aside h2{
  margin:10px 0 0;
  font-size:clamp(35px,2.35vw,42px);
  line-height:1.02;
  letter-spacing:-.04em;
}
.ecp-student-login .esl-aside .esl-accent{width:51px;margin:12px 0 17px}
.ecp-student-login .esl-aside__content>p{font-size:14px;line-height:1.52;color:#627894}
.ecp-student-login .esl-aside-visual{
  right:36px;
  top:28px;
  width:184px;
  height:164px;
  z-index:8;
}
.ecp-student-login .esl-cap{
  right:45px;
  top:28px;
  width:92px;
  height:92px;
  border-radius:28px;
  background:rgba(255,255,255,.55);
  box-shadow:0 14px 32px rgba(22,79,145,.08);
}
.ecp-student-login .esl-cap svg{display:block;width:58px;height:58px;margin:0}
.ecp-student-login .esl-chip{
  min-height:31px;
  padding:7px 11px;
  gap:6px;
  align-items:center;
  justify-content:center;
  border-radius:11px;
  font-size:10px;
  line-height:1;
}
.ecp-student-login .esl-chip svg{display:block;margin:0;flex:0 0 auto}
.ecp-student-login .esl-chip--courses{top:0;right:3px}
.ecp-student-login .esl-chip--certs{top:53px;right:-4px}
.ecp-student-login .esl-chip--payments{top:107px;right:1px}
.ecp-student-login .esl-student-photo{
  z-index:3;
  right:-2px;
  top:88px;
  bottom:0;
  width:48.5%;
  height:calc(100% - 88px);
  object-fit:cover;
  object-position:57% 49%;
  border-radius:185px 0 0 0;
  box-shadow:-18px 20px 55px rgba(7,46,101,.10);
  filter:saturate(.96) brightness(1.05) contrast(1.01);
}
.ecp-student-login .esl-student-fade{
  z-index:4;
  right:0;
  top:88px;
  bottom:0;
  width:56%;
  height:auto;
  background:
    linear-gradient(90deg,#eff8ff 0%,rgba(239,248,255,.80) 10%,rgba(239,248,255,.22) 30%,transparent 52%),
    linear-gradient(0deg,#eaf5ff 0%,rgba(234,245,255,.16) 13%,transparent 33%);
}
.ecp-student-login .esl-tagline{
  z-index:9;
  right:31px;
  top:31px;
  font-size:16px;
  line-height:1.04;
  transform:rotate(-7deg);
}
.ecp-student-login .esl-tagline::after{width:68px;margin-top:7px}
.ecp-student-login .esl-benefits{gap:14px;margin-top:22px}
.ecp-student-login .esl-benefit{
  grid-template-columns:50px minmax(0,1fr);
  gap:14px;
  align-items:center;
}
.ecp-student-login .esl-benefit__icon{
  width:50px;
  height:50px;
  flex:0 0 50px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:0;
}
.ecp-student-login .esl-benefit__icon svg{
  display:block;
  width:23px;
  height:23px;
  margin:0;
  flex:0 0 23px;
  transform:none;
}
.ecp-student-login .esl-benefit strong{margin-bottom:3px;font-size:13px;line-height:1.2}
.ecp-student-login .esl-benefit span{font-size:11px;line-height:1.34}
.ecp-student-login .esl-help{
  z-index:10;
  left:49px;
  right:44px;
  bottom:18px;
  min-height:72px;
  padding:12px 158px 12px 70px;
  border-radius:15px;
  background:rgba(255,255,255,.94);
  box-shadow:0 12px 28px rgba(14,58,112,.065);
}
.ecp-student-login .esl-help::before{
  left:17px;
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  padding:0;
}
.ecp-student-login .esl-help strong{font-size:12px;line-height:1.25}
.ecp-student-login .esl-help p{margin:4px 0 0!important;padding:0!important;font-size:10.5px!important;line-height:1.35!important}
.ecp-student-login .esl-help a{
  right:14px;
  width:140px;
  min-width:140px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
}
.ecp-student-login .esl-help a svg{display:block;margin:0;flex:0 0 16px}

@media(max-width:1240px){
  .ecp-student-login{padding-inline:22px}
  .ecp-student-login .esl-shell{grid-template-columns:minmax(0,51%) minmax(0,49%)}
  .ecp-student-login .esl-access{padding-inline:40px}
  .ecp-student-login .esl-aside{padding-inline:32px}
  .ecp-student-login .esl-aside__content{max-width:54%}
  .ecp-student-login .esl-student-photo{width:50%;object-position:60% 50%}
  .ecp-student-login .esl-aside-visual{right:20px}
  .ecp-student-login .esl-tagline{display:none}
  .ecp-student-login .esl-help{left:28px;right:28px}
}
@media(max-width:980px){
  .ecp-student-login{padding:24px 18px 38px}
  .ecp-student-login .esl-shell{grid-template-columns:1fr;min-height:0}
  .ecp-student-login .esl-access{padding:38px 42px 30px}
  .ecp-student-login .esl-aside{min-height:520px;padding:34px 34px 108px}
  .ecp-student-login .esl-aside__content{max-width:58%}
  .ecp-student-login .esl-student-photo{top:80px;height:calc(100% - 80px);width:51%}
  .ecp-student-login .esl-student-fade{top:80px}
  .ecp-student-login .esl-help{left:26px;right:26px;bottom:18px}
}
@media(max-width:720px){
  .ecp-student-login{padding:18px 12px 30px}
  .ecp-student-login .esl-shell{border-radius:20px}
  .ecp-student-login .esl-access{padding:30px 22px 26px}
  .ecp-student-login .esl-title{font-size:clamp(29px,8vw,36px)}
  .ecp-student-login .esl-aside{min-height:auto;padding:30px 22px 120px}
  .ecp-student-login .esl-aside__content{max-width:100%}
  .ecp-student-login .esl-aside h2{font-size:30px}
  .ecp-student-login .esl-aside-visual{position:relative;right:auto;top:auto;width:100%;height:120px;margin-bottom:5px}
  .ecp-student-login .esl-cap{left:0;right:auto;top:3px;width:80px;height:80px;border-radius:22px}
  .ecp-student-login .esl-cap svg{width:48px;height:48px}
  .ecp-student-login .esl-chip{right:0}
  .ecp-student-login .esl-chip--courses{top:0}
  .ecp-student-login .esl-chip--certs{top:40px}
  .ecp-student-login .esl-chip--payments{top:80px}
  .ecp-student-login .esl-student-photo,
  .ecp-student-login .esl-student-fade,
  .ecp-student-login .esl-tagline{display:none}
  .ecp-student-login .esl-help{left:18px;right:18px;bottom:18px;padding:12px 12px 12px 58px}
  .ecp-student-login .esl-help::before{left:12px;width:34px;height:34px}
  .ecp-student-login .esl-help a{position:static;transform:none;width:100%;margin-top:10px}
}


/* RC168.4.61.2 — /login: microajustes visuales autorizados (aislados) */
.ecp-student-login-page .ecp-student-login .esl-benefit__icon{
  position:relative;
  display:grid;
  place-items:center;
  line-height:0;
  overflow:hidden;
}
.ecp-student-login-page .ecp-student-login .esl-benefit__icon svg{
  position:static !important;
  inset:auto !important;
  display:block !important;
  width:20px !important;
  height:20px !important;
  max-width:20px !important;
  max-height:20px !important;
  margin:0 !important;
  flex:0 0 20px !important;
  transform:none !important;
  overflow:visible;
}
.ecp-student-login-page .ecp-student-login .esl-tagline{
  width:118px;
  right:28px;
  top:23px;
  font-size:15px;
  line-height:1.24;
  letter-spacing:0;
  text-align:center;
  white-space:normal;
}
.ecp-student-login-page .ecp-student-login .esl-tagline::after{
  margin-top:6px;
}
.ecp-student-login-page .ecp-student-login .esl-help a{
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:10.5px;
  line-height:1;
  white-space:nowrap;
}
.ecp-student-login-page .ecp-student-login .esl-help a svg{
  width:15px;
  height:15px;
  flex:0 0 15px;
}

/* RC168.4.61.3 — /login: corrección quirúrgica exclusiva de superposición en capa decorativa derecha */
@media (min-width:1241px){
  .ecp-student-login-page .ecp-student-login .esl-tagline{
    width:auto;
    min-width:150px;
    max-width:160px;
    right:30px;
    top:18px;
    font-size:15px;
    line-height:1.18;
    letter-spacing:0;
    text-align:center;
    white-space:nowrap;
    z-index:10;
  }
  .ecp-student-login-page .ecp-student-login .esl-tagline::after{
    margin-top:6px;
  }
  .ecp-student-login-page .ecp-student-login .esl-aside-visual{
    top:88px;
  }
}
