/* EMND LMS authentication palette. Scoped: does not alter other pages. */
.lms-auth {
  --auth-navy: #2E5077;
  --auth-teal: #4DA1A9;
  --auth-mint: #79D7BE;
  --auth-cream: #F4EDD3;
  --auth-text: #213b56;
  --auth-link: #276F77;
  --auth-border: #d8e2df;
  background: var(--auth-cream) !important;
  color: var(--auth-text);
  min-height: 100vh;
}
/* Let long password-reset screens scroll, even when legacy page CSS hides overflow. */
html:has(body.lms-auth), html:has(body.lms-auth) body {height: auto !important; overflow: auto !important;}
.lms-auth .reset-panel {height: auto !important; min-height: 100vh; overflow: visible !important;}
.lms-auth > .container-fluid > .row {min-height:100vh;}
.lms-auth .row > .bg-primary {
  background: linear-gradient(155deg, #2E5077 0%, #244967 65%, #276F77 100%) !important;
  color: #F4EDD3 !important;
  position: relative;
}
.lms-auth .row > .bg-primary h1,
.lms-auth .row > .bg-primary h5 {color: #ffffff !important;}
.lms-auth .row > .bg-primary .lead {color:#e3f2ec; line-height:1.65;}
.lms-auth .row > .bg-primary .bi-mortarboard-fill {color:var(--auth-mint);}
.lms-auth .row > .bg-primary .border-light {
  background: rgba(255,255,255,.06);
  border-color: rgba(244,237,211,.24) !important;
  color: #f1f5f3;
}
.lms-auth .col-lg-5, .lms-auth .reset-panel {background:var(--auth-cream);}
.lms-auth .card {
  border: 1px solid rgba(46,80,119,.12) !important;
  border-radius: 1.4rem !important;
  background: #fff;
  box-shadow: 0 20px 60px rgba(46,80,119,.13) !important;
}
.lms-auth .card-body {padding: clamp(1.4rem,3vw,2.5rem) !important;}
.lms-auth .card h2 {color:var(--auth-navy);letter-spacing:-.025em;}
.lms-auth .card .text-muted {color:#52687a !important;}
.lms-auth .card .rounded-circle.bg-primary {
  background:rgba(77,161,169,.15) !important;
  color:var(--auth-link) !important;
}
.lms-auth .card .text-primary {color:var(--auth-link) !important;}
.lms-auth .form-label {color:var(--auth-navy);}
.lms-auth .form-control, .lms-auth .input-group-text {
  border-color:var(--auth-border);
  background:#fff;
  color:var(--auth-text);
  min-height:46px;
}
.lms-auth .input-group-text {background:#edf7f3;color:var(--auth-link);}
.lms-auth .form-control:focus {
  border-color:var(--auth-teal);
  box-shadow:0 0 0 .22rem rgba(77,161,169,.2);
}
.lms-auth .btn-primary {
  --bs-btn-color:#163a59;
  --bs-btn-bg:#79D7BE;
  --bs-btn-border-color:#79D7BE;
  --bs-btn-hover-color:#163a59;
  --bs-btn-hover-bg:#9be3ce;
  --bs-btn-hover-border-color:#9be3ce;
  --bs-btn-active-color:#163a59;
  --bs-btn-active-bg:#65c5ab;
  --bs-btn-active-border-color:#65c5ab;
  font-weight:700;
  border-radius:.8rem;
}
.lms-auth .btn-link,.lms-auth a:not(.btn) {color:var(--auth-link);}
.lms-auth .btn-link:hover,.lms-auth a:not(.btn):hover {color:#194e55;}
.lms-auth .alert-danger {background:#ffe6e4;border-color:#C94C4C;color:#752727;}
.lms-auth .alert-success {background:#e0f6ed;border-color:#79D7BE;color:#175a49;}
.lms-auth .alert-info {background:#e3f3f5;border-color:#4DA1A9;color:#245e66;}
.lms-auth .card hr {border-color:var(--auth-border);opacity:1;}
.lms-auth-mfa .card {max-width:470px !important;}
.lms-auth-mfa .container {padding-block:2rem;}
@media(max-width:991.98px) {
  .lms-auth .col-lg-5, .lms-auth .reset-panel {min-height:100vh;}
  .lms-auth .card {max-width:500px !important;}
}
@media(max-width:575.98px) {
  .lms-auth .card {box-shadow:0 10px 30px rgba(46,80,119,.09) !important;}
  .lms-auth .card-body {padding:1.5rem !important;}
}
