.forgot-link {
  color: #287fbd;
  display: block;
  font-size: 0.82rem;
  font-weight: 750;
  margin-left: auto;
  text-align: right;
  text-decoration: none;
}
.login-options{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between;margin-top:-.35rem}.remember-device{align-items:center;color:#60798d;cursor:pointer;display:flex;font-size:.78rem;font-weight:700;gap:.48rem}.remember-device input{height:1px;opacity:0;position:absolute;width:1px}.remember-device span{background:#fbfdff;border:1px solid #bfd0dc;border-radius:6px;color:transparent;display:grid;flex:0 0 20px;height:20px;place-items:center;transition:.18s}.remember-device input:checked+span{background:#287fbd;border-color:#287fbd;color:#fff}.remember-device input:focus-visible+span{box-shadow:0 0 0 3px rgba(94,181,232,.22)}
.device-code-shell input{font-size:1.35rem;font-weight:850;letter-spacing:.28em;text-align:center}.device-security-note{align-items:flex-start;background:#edf8fe;border:1px solid #cbe7f7;border-radius:12px;color:#41677f;display:flex;font-size:.78rem;gap:.55rem;line-height:1.45;padding:.75rem .85rem}.device-security-note i{color:#287fbd;margin-top:.08rem}.device-cancel-form{text-align:center}.device-cancel-form button{background:none;border:0;color:#287fbd;cursor:pointer;font:inherit;font-size:.8rem;font-weight:750;margin-top:1rem;padding:.35rem}.device-cancel-form button:hover{text-decoration:underline}
.forgot-link:hover {
  text-decoration: underline;
}
.login-alert.login-alert-success {
  background: #ecfdf5;
  border-color: #bbf7d0;
  color: #166534;
}
.maintenance-notice {
  align-items: flex-start;
  background: #fff8e8;
  border: 1px solid #f1d38b;
  border-radius: 14px;
  color: #765414;
  display: flex;
  gap: 0.75rem;
  margin-bottom: 1rem;
  padding: 0.9rem 1rem;
}
.maintenance-notice > i {
  background: #ffedbd;
  border-radius: 10px;
  display: grid;
  flex: 0 0 36px;
  height: 36px;
  place-items: center;
}
.maintenance-notice strong,
.maintenance-notice span {
  display: block;
}
.maintenance-notice span {
  font-size: 0.8rem;
  line-height: 1.45;
  margin-top: 0.15rem;
}
.showcase-footer.is-maintenance .live-dot {
  background: #ffd56a;
  box-shadow: 0 0 0 6px rgba(255, 213, 106, 0.14);
}
.student-register-link{border-top:1px solid #e2ebf1;display:flex;flex-wrap:wrap;font-size:.82rem;gap:.45rem;justify-content:center;margin-top:1.15rem;padding-top:1rem}.student-register-link span{color:#718596}.student-register-link button,.student-register-link a{background:none;border:0;color:#287fbd;cursor:pointer;font:inherit;font-weight:800;padding:0;text-decoration:none}.student-register-link button:hover,.student-register-link a:hover{text-decoration:underline}
.registration-modal{display:none;inset:0;position:fixed;z-index:1000}.registration-modal.is-open{display:grid;place-items:center}.registration-backdrop{backdrop-filter:blur(8px);background:rgba(12,35,55,.62);inset:0;position:absolute}.registration-dialog{animation:registrationIn .28s ease both;background:#fff;border:1px solid rgba(255,255,255,.7);border-radius:24px;box-shadow:0 30px 90px rgba(7,30,50,.32);max-height:calc(100vh - 40px);max-width:980px;overflow:hidden;position:relative;width:calc(100% - 32px);z-index:1}.registration-dialog-head{align-items:center;background:linear-gradient(135deg,#f5fbff,#e8f5fd);border-bottom:1px solid #dceaf3;display:flex;gap:14px;padding:20px 24px}.registration-dialog-head>div:nth-child(2){min-width:0}.registration-dialog-head span{color:#287fbd;font-size:.69rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.registration-dialog-head h2{color:#17324a;font-size:1.42rem;margin:2px 0}.registration-dialog-head p{color:#687e90;font-size:.82rem;margin:0}.registration-modal-mark{background:linear-gradient(145deg,#287fbd,#174f7e);border-radius:15px;color:#fff;display:grid;flex:0 0 48px;font-size:1.25rem;height:48px;place-items:center}.registration-close{background:#fff;border:1px solid #d8e5ed;border-radius:50%;color:#547083;cursor:pointer;display:grid;flex:0 0 38px;height:38px;margin-left:auto;place-items:center}.registration-close:hover{background:#eaf6fd;color:#1d5f98}.registration-dialog-body{max-height:calc(100vh - 145px);overflow-y:auto;padding:22px 24px 26px}.registration-progress{align-items:center;display:flex;justify-content:center;margin:0 auto 20px;max-width:500px}.registration-progress span{align-items:center;color:#8a9ba8;display:flex;font-size:.76rem;font-weight:750;gap:7px;white-space:nowrap}.registration-progress b{background:#dce7ed;border-radius:50%;display:grid;height:26px;place-items:center;width:26px}.registration-progress span.active{color:#1d5f98}.registration-progress span.active b{background:#1d5f98;color:#fff}.registration-progress i{background:#dce7ed;display:block;height:2px;margin:0 12px;width:70px}.registration-alert{align-items:flex-start;border:1px solid;border-radius:12px;display:flex;font-size:.83rem;gap:9px;margin-bottom:17px;padding:11px 13px}.registration-alert.success{background:#effcf5;border-color:#b9ebcf;color:#176b42}.registration-alert.danger{background:#fff2f2;border-color:#f2c2c2;color:#9b3030}.registration-grid{display:grid;gap:15px;grid-template-columns:repeat(3,minmax(0,1fr))}.registration-field{display:flex;flex-direction:column;gap:6px}.registration-field.span-2,.registration-actions.span-2,.password-checklist.span-2{grid-column:span 2}.registration-field label,.registration-verification-form label{color:#314b60;font-size:.78rem;font-weight:800}.registration-field label small{color:#8595a3;font-weight:650}.registration-field input,.registration-field select,.registration-field textarea,.registration-verification-form input{background:#fbfdff;border:1px solid #cfdee8;border-radius:11px;color:#17324a;font:inherit;font-size:.88rem;min-height:44px;outline:none;padding:10px 12px;transition:.18s;width:100%}.registration-field textarea{resize:vertical}.registration-field input:focus,.registration-field select:focus,.registration-field textarea:focus,.registration-verification-form input:focus{background:#fff;border-color:#5eb5e8;box-shadow:0 0 0 3px rgba(94,181,232,.15)}.registration-field>small{color:#7b8d9b;font-size:.7rem}.registration-field.is-temporary input{background:#edf7fd;color:#477084}.registration-password{display:flex;position:relative}.registration-password input{padding-right:42px}.registration-password button{background:none;border:0;color:#6b8293;cursor:pointer;position:absolute;right:5px;top:50%;transform:translateY(-50%)}.password-checklist{background:#f7fbfe;border:1px solid #dceaf3;border-radius:13px;padding:12px 14px}.password-requirements{display:grid;gap:7px;list-style:none;margin:0;padding:0}.password-requirements li{align-items:center;color:#7a8e9e;display:flex;font-size:.76rem;font-weight:700;gap:8px;transition:.18s}.password-requirements li i{border:1.5px solid #b7c6d0;border-radius:50%;display:grid;font-size:.62rem;height:18px;place-items:center;width:18px}.password-requirements li.met{color:#16804d}.password-requirements li.met i{background:#dff7e9;border-color:#25a666;color:#16804d}.password-match{color:#7a8e9e;font-size:.76rem;font-weight:700;margin-top:7px}.password-match.met{color:#16804d}.registration-actions{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-top:3px}.registration-primary,.registration-secondary{border:0;border-radius:11px;cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;min-height:43px;padding:10px 17px}.registration-primary{background:linear-gradient(135deg,#2178b5,#174f7e);color:#fff}.registration-primary:hover{box-shadow:0 8px 18px rgba(29,95,152,.24);transform:translateY(-1px)}.registration-secondary{background:#edf3f7;color:#527084}.registration-verification-form{display:grid;gap:13px;margin:22px auto 0;max-width:460px}.registration-verification-form input{font-size:1.45rem;font-weight:850;letter-spacing:.32em;text-align:center}.registration-start-over{text-align:center}.registration-start-over button{background:none;border:0;color:#287fbd;cursor:pointer;font-size:.78rem;font-weight:750;margin-top:12px}.registration-modal-open{overflow:hidden}@keyframes registrationIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:760px){.registration-dialog{max-height:calc(100vh - 20px);width:calc(100% - 18px)}.registration-dialog-head{padding:16px}.registration-dialog-body{max-height:calc(100vh - 125px);padding:16px}.registration-grid{grid-template-columns:1fr 1fr}.registration-field.span-2,.registration-actions.span-2,.password-checklist.span-2{grid-column:1/-1}}@media(max-width:520px){.registration-grid{grid-template-columns:1fr}.registration-field.span-2,.registration-actions.span-2,.password-checklist.span-2{grid-column:auto}.registration-dialog-head p{display:none}.registration-progress span{font-size:.65rem}.registration-progress i{margin:0 7px;width:25px}.registration-actions{align-items:stretch;flex-direction:column-reverse}.registration-actions button{width:100%}}
.registration-dialog{max-width:840px}.registration-grid{gap:15px 18px;grid-template-columns:repeat(2,minmax(0,1fr))}.registration-field.span-2,.registration-actions.span-2,.password-checklist.span-2,.registration-section-label.span-2,.password-match.span-2{grid-column:1/-1}.registration-section-label{align-items:center;border-bottom:1px solid #e2ebf1;display:flex;gap:10px;margin-top:7px;padding:2px 0 9px}.registration-section-label:first-of-type{margin-top:0}.registration-section-label>i{background:#eaf6fd;border-radius:9px;color:#1d5f98;display:grid;flex:0 0 34px;height:34px;place-items:center}.registration-section-label strong,.registration-section-label small{display:block}.registration-section-label strong{color:#28465c;font-size:.82rem}.registration-section-label small{color:#8495a2;font-size:.68rem;margin-top:1px}.password-checklist{background:transparent;border:0;border-radius:0;padding:0 2px 3px}.password-requirements{gap:6px}.password-requirements li,.password-match{font-size:.75rem}@media(max-width:520px){.registration-field.span-2,.registration-actions.span-2,.password-checklist.span-2,.registration-section-label.span-2,.password-match.span-2{grid-column:auto}}
.registration-proof-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1}.registration-proof{background:#f8fbfd;border:1px solid #d9e7ef;border-radius:13px;cursor:pointer;display:grid;gap:8px;padding:12px}.registration-proof>i{color:#257caf;font-size:1.25rem}.registration-proof span strong,.registration-proof span small{display:block}.registration-proof span strong{color:#28465c;font-size:.76rem}.registration-proof span small{color:#7d909f;font-size:.66rem;line-height:1.4;margin-top:2px}.registration-proof input{font-size:.7rem;max-width:100%}.registration-consent{align-items:flex-start;background:#eef8fd;border:1px solid #d2e7f3;border-radius:11px;color:#526e82;display:flex;font-size:.72rem;gap:9px;grid-column:1/-1;line-height:1.45;padding:10px 12px}.registration-consent input{margin-top:2px}.span-2{grid-column:1/-1}@media(max-width:700px){.registration-proof-grid{grid-template-columns:1fr}}@media(max-width:520px){.registration-consent,.registration-proof-grid{grid-column:auto}}
