/* ==========================================================
   ASA Portal v2.1.5.D-LOGIN-01
   Premium Student Login Experience & Journey Gateway Upgrade
   Scope: /login only
   ========================================================== */

body.asa-auth{
  min-height:100vh;
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 14% 12%,rgba(56,89,225,.30),transparent 30%),
    radial-gradient(circle at 88% 84%,rgba(244,196,67,.16),transparent 28%),
    linear-gradient(135deg,#070638 0%,#100b5d 48%,#1c278b 100%) !important;
  font-family:"Plus Jakarta Sans","Inter","Segoe UI",Arial,sans-serif;
}

body.asa-auth::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:28px 28px;
  opacity:.12;
}

.asa-login-v215d01{
  width:min(1380px,100%) !important;
  min-height:720px !important;
  margin:auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(430px,.92fr) !important;
  border-radius:36px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 36px 100px rgba(0,0,0,.34) !important;
}

.asa-login-brand-v215d01{
  position:relative !important;
  min-height:720px !important;
  padding:34px 40px 30px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  overflow:hidden !important;
  color:#fff !important;
  background:
    radial-gradient(circle at 82% 18%,rgba(244,196,67,.17),transparent 30%),
    linear-gradient(145deg,#08063d 0%,#11105e 55%,#172170 100%) !important;
}

.asa-login-brand-v215d01::before{
  content:"";
  position:absolute;
  width:480px;height:480px;
  right:-220px;top:-220px;
  border-radius:999px;
  border:1px solid rgba(244,196,67,.20);
  box-shadow:0 0 0 46px rgba(244,196,67,.035),0 0 0 92px rgba(244,196,67,.025);
  pointer-events:none;
}

.asa-login-home-link{
  position:absolute;
  z-index:5;
  top:34px;right:34px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:42px;
  padding:0 15px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.07);
  color:#fff !important;
  font-size:12px;
  font-weight:800;
  text-decoration:none !important;
  backdrop-filter:blur(12px);
  transition:.2s ease;
}
.asa-login-home-link:hover{transform:translateY(-2px);background:rgba(255,255,255,.13)}

.asa-login-logo-v215d01{
  position:relative;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:13px;
  width:max-content;
  color:#fff !important;
  text-decoration:none !important;
}
.asa-login-logo-v215d01 img{
  width:64px !important;
  height:64px !important;
  object-fit:cover !important;
  border-radius:18px !important;
  box-shadow:0 13px 32px rgba(0,0,0,.18) !important;
}
.asa-login-logo-v215d01 span{display:flex;flex-direction:column;line-height:1}
.asa-login-logo-v215d01 b{font-size:18px;letter-spacing:.04em}
.asa-login-logo-v215d01 small{margin-top:7px;color:#f3c443;font-size:10px;font-weight:900;letter-spacing:.25em}

.asa-login-story-v215d01{
  position:relative;
  z-index:2;
  flex:1;
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(280px,1.28fr);
  align-items:center;
  gap:10px;
  padding-top:18px;
}

.asa-login-story-copy-v215d01{
  position:relative;
  z-index:3;
  align-self:center;
  padding-left:8px;
}
.asa-login-eyebrow-v215d01{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(244,196,67,.12);
  border:1px solid rgba(244,196,67,.22);
  color:#ffd45a;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
}
.asa-login-story-copy-v215d01 h1{
  margin:17px 0 14px !important;
  font-size:clamp(40px,4.2vw,64px) !important;
  line-height:.94 !important;
  letter-spacing:-.045em !important;
  color:#fff !important;
  font-weight:900 !important;
}
.asa-login-story-copy-v215d01 h1 strong{
  color:#f3c443;
  font-weight:900;
}
.asa-login-story-copy-v215d01 p{
  max-width:460px !important;
  margin:0 0 20px !important;
  color:#d7dcf1 !important;
  font-size:15px !important;
  line-height:1.7 !important;
}
.asa-login-story-pills-v215d01{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.asa-login-story-pills-v215d01 span{
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.075);
  border:1px solid rgba(255,255,255,.11);
  color:#fff;
  font-size:10px;
  font-weight:800;
}

.asa-login-character-v215d01{
  position:relative;
  align-self:end;
  margin:0 -80px -5px -80px;
  height:500px;
  overflow:hidden;
  border-radius:32px;
  isolation:isolate;
}
.asa-login-character-v215d01::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#11105e 0%,rgba(17,16,94,.18) 24%,rgba(17,16,94,0) 55%),
             linear-gradient(0deg,#11105e 0%,rgba(17,16,94,0) 28%);
  pointer-events:none;
}
.asa-login-character-v215d01 img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  object-fit:cover !important;
  object-position:29% 52% !important;
  transform:scale(1.05);
  border-radius:0 !important;
  box-shadow:none !important;
}

.asa-login-brand-footer-v215d01{
  position:relative;
  z-index:4;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.asa-login-brand-footer-v215d01 span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 11px;
  border-radius:12px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.10);
  color:#cbd2eb;
  font-size:10px;
  font-weight:700;
}
.asa-login-brand-footer-v215d01 i{color:#f3c443}

.asa-login-panel-v215d01{
  min-width:0;
  padding:54px 58px !important;
  display:flex !important;
  align-items:center !important;
  background:
    radial-gradient(circle at 95% 0%,rgba(45,91,218,.06),transparent 27%),
    #fff !important;
}
.asa-login-panel-v215d01 .inner{
  width:100% !important;
  max-width:510px !important;
  margin:auto !important;
}
.asa-login-panel-top-v215d01{margin-bottom:30px}
.asa-login-mobile-home-v215d01{display:none}
.asa-login-security-v215d01{
  display:flex;
  align-items:center;
  gap:12px;
}
.asa-login-security-v215d01>span{
  display:grid;
  place-items:center;
  width:48px;height:48px;
  border-radius:16px;
  color:#13206e;
  background:#f1f3ff;
  border:1px solid #e4e8fb;
}
.asa-login-security-v215d01>div{display:flex;flex-direction:column;gap:3px}
.asa-login-security-v215d01 small{color:#7f8ba3;font-size:11px;letter-spacing:.06em}
.asa-login-security-v215d01 b{color:#0d0a52;font-size:15px}

.asa-login-heading-v215d01{margin-bottom:26px}
.asa-login-welcome-v215d01{
  color:#2a5ed3;
  font-size:10px;
  font-weight:900;
  letter-spacing:.17em;
}
.asa-login-panel-v215d01 h2{
  margin:10px 0 10px !important;
  color:#0a1739 !important;
  font-size:clamp(34px,3vw,48px) !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
  font-weight:900 !important;
}
.asa-login-panel-v215d01 h2 strong{color:#172170}
.asa-login-panel-v215d01 .sub{
  max-width:470px;
  margin:0 !important;
  color:#6d7891 !important;
  font-size:15px;
  line-height:1.65;
}

.asa-login-label-v215d01{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:end;
  margin:0 2px 8px;
}
.asa-login-label-v215d01 span{
  color:#1d2d50;
  font-size:12px;
  font-weight:900;
}
.asa-login-label-v215d01 small{
  color:#98a1b4;
  font-size:10px;
  font-weight:600;
}

.asa-login-panel-v215d01 .asa-login-input-v215d01{
  min-height:58px;
  border:1px solid #dce4f1 !important;
  border-radius:17px !important;
  overflow:hidden !important;
  background:#f9fbff !important;
  box-shadow:0 8px 24px rgba(23,49,92,.04);
  transition:.2s ease;
}
.asa-login-panel-v215d01 .asa-login-input-v215d01:focus-within{
  border-color:#9ab5ee !important;
  background:#fff !important;
  box-shadow:0 0 0 4px rgba(43,94,211,.08),0 12px 28px rgba(23,49,92,.06);
}
.asa-login-panel-v215d01 .asa-login-input-v215d01 .input-group-text{
  min-width:58px;
  justify-content:center;
  background:transparent !important;
  color:#53637c;
}
.asa-login-panel-v215d01 .asa-login-input-v215d01 .form-control{
  min-height:56px !important;
  background:transparent !important;
  color:#111c36 !important;
  font-size:15px !important;
}

.asa-login-options-v215d01{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:2px 0 22px;
}
.asa-login-options-v215d01 .icheck-cyan label{
  color:#17284d;
  font-weight:800;
  font-size:13px;
}
.asa-login-ready-v215d01{
  color:#18a46a;
  font-weight:800;
  white-space:nowrap;
}
.asa-login-ready-v215d01 i{font-size:7px;margin-right:5px}

.asa-login-submit-v215d01{
  min-height:56px !important;
  border:0 !important;
  border-radius:17px !important;
  background:linear-gradient(135deg,#171267 0%,#11105e 58%,#243aa1 100%) !important;
  box-shadow:0 14px 32px rgba(19,23,105,.22);
  font-size:15px !important;
  font-weight:900 !important;
  letter-spacing:.01em;
  transition:.2s ease;
}
.asa-login-submit-v215d01:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(19,23,105,.28);
}

.asa-login-secondary-v215d01{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #edf0f6;
  font-size:11px;
}
.asa-login-secondary-v215d01 span{color:#8a94a8}
.asa-login-secondary-v215d01 a{
  color:#173a93;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
}
.asa-login-secondary-v215d01 a i{font-size:9px;margin-left:4px}

.asa-login-foot-v215d01{
  display:flex !important;
  gap:7px !important;
  flex-wrap:wrap !important;
  margin-top:20px !important;
}
.asa-login-foot-v215d01 span{
  padding:7px 9px !important;
  border-radius:999px !important;
  background:#f4f7fb !important;
  color:#63708a !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:.04em;
}
.asa-login-privacy-v215d01{
  margin:18px 0 0;
  color:#98a1b2;
  font-size:9.5px;
  line-height:1.5;
}
.asa-login-privacy-v215d01 i{margin-right:5px;color:#6b79a4}

#infoMessage:empty{display:none}
#infoMessage.alert{border-radius:13px;font-size:12px}

@media(max-width:1120px){
  body.asa-auth{padding:16px}
  .asa-login-v215d01{
    grid-template-columns:minmax(0,.95fr) minmax(400px,1.05fr) !important;
  }
  .asa-login-brand-v215d01{padding:30px}
  .asa-login-story-v215d01{grid-template-columns:1fr}
  .asa-login-story-copy-v215d01{padding-right:30px}
  .asa-login-character-v215d01{
    position:absolute;
    right:-90px;bottom:38px;
    width:72%;
    height:390px;
    opacity:.63;
    z-index:1;
  }
  .asa-login-story-copy-v215d01{z-index:3}
  .asa-login-panel-v215d01{padding:44px 42px !important}
}

@media(max-width:820px){
  body.asa-auth{
    align-items:flex-start !important;
    padding:12px !important;
    background:linear-gradient(180deg,#0a0748 0%,#121369 32%,#eef3fb 32%,#eef3fb 100%) !important;
  }
  .asa-login-v215d01{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    border-radius:28px !important;
  }
  .asa-login-brand-v215d01{
    min-height:300px !important;
    padding:24px !important;
  }
  .asa-login-home-link{display:none}
  .asa-login-logo-v215d01 img{width:52px !important;height:52px !important;border-radius:15px !important}
  .asa-login-logo-v215d01 b{font-size:15px}
  .asa-login-story-v215d01{
    min-height:210px;
    display:block;
    padding-top:28px;
  }
  .asa-login-story-copy-v215d01{max-width:55%;padding:0}
  .asa-login-story-copy-v215d01 h1{font-size:36px !important}
  .asa-login-story-copy-v215d01 p{font-size:12px !important;line-height:1.55 !important}
  .asa-login-story-pills-v215d01{display:none}
  .asa-login-character-v215d01{
    display:block;
    position:absolute;
    right:-90px;
    bottom:-35px;
    width:68%;
    height:280px;
    margin:0;
    opacity:.85;
  }
  .asa-login-brand-footer-v215d01{display:none}

  .asa-login-panel-v215d01{
    padding:30px 24px 28px !important;
    align-items:flex-start !important;
  }
  .asa-login-mobile-home-v215d01{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:22px;
    color:#183a8e;
    font-size:11px;
    font-weight:900;
    text-decoration:none !important;
  }
  .asa-login-security-v215d01{display:none}
  .asa-login-heading-v215d01{margin-bottom:22px}
  .asa-login-panel-v215d01 h2{font-size:36px !important}
}

@media(max-width:520px){
  .asa-login-story-copy-v215d01{max-width:64%}
  .asa-login-story-copy-v215d01 h1{font-size:31px !important}
  .asa-login-eyebrow-v215d01{font-size:8px}
  .asa-login-character-v215d01{width:78%;right:-130px}
  .asa-login-label-v215d01 small{display:none}
  .asa-login-options-v215d01{align-items:flex-start}
  .asa-login-secondary-v215d01{
    flex-direction:column;
    gap:7px;
  }
}

@media(prefers-reduced-motion:reduce){
  .asa-login-home-link,
  .asa-login-submit-v215d01{transition:none}
  .asa-login-home-link:hover,
  .asa-login-submit-v215d01:hover{transform:none}
}
