/* WORDPRESS AUTH — EXACT APPROVED PROTOTYPE BRIDGE */
body.nsp-auth-screen{
  margin:0!important;
  background:var(--paper)!important;
  color:var(--ink)!important;
  min-height:100dvh!important;
}
body.nsp-auth-screen .site-header,
body.nsp-auth-screen .site-footer,
body.nsp-auth-screen #wpadminbar{
  display:none!important;
}
body.nsp-auth-screen #main-content,
body.nsp-auth-screen .entry-content,
body.nsp-auth-screen .page-content,
body.nsp-auth-screen .site-main,
body.nsp-auth-screen main{
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  width:100%!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp{
  margin:0!important;
  padding:0!important;
  max-width:none!important;
  width:100%!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  color:var(--ink)!important;
  background:var(--paper)!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth{
  min-height:100dvh!important;
  display:grid!important;
  grid-template-columns:minmax(330px,.7fr) minmax(0,1.3fr)!important;
  background:var(--paper)!important;
}

/* Approved dark brand panel */
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right{
  order:1!important;
  min-height:100dvh!important;
  padding:42px!important;
  background:var(--ink)!important;
  background-image:none!important;
  color:#fff!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  align-items:stretch!important;
  overflow:hidden!important;
  position:relative!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right::before,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right::after{
  display:none!important;
  content:none!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo{
  position:relative!important;
  inset:auto!important;
  width:210px!important;
  height:50px!important;
  flex:0 0 auto!important;
  margin:0!important;
  z-index:2!important;
  color:#fff!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo .site-logo-fallback{
  display:flex!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo .site-logo-name{color:#fff!important}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo .site-logo-mark{
  border-color:#75a68d!important;
  color:#fff!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo img{
  background:transparent!important;
  object-fit:contain!important;
  object-position:left center!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-pitch{
  max-width:520px!important;
  margin:auto 0 0!important;
  padding-top:80px!important;
  color:#fff!important;
  position:relative!important;
  z-index:1!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp .nsp-auth-pitch h2{
  margin:0!important;
  max-width:520px!important;
  color:#fff!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:clamp(2.6rem,5vw,5rem)!important;
  line-height:.94!important;
  letter-spacing:-.055em!important;
  font-weight:600!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp .nsp-auth-pitch p{
  max-width:440px!important;
  margin:22px 0 0!important;
  color:#aebbb3!important;
  font-size:.92rem!important;
  line-height:1.6!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-pitch-grid,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-intent-card,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-intent-badge,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-disclaimer,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-mob-disclaimer{
  display:none!important;
}

/* Approved light form panel */
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
  order:2!important;
  min-height:100dvh!important;
  padding:36px!important;
  background:var(--paper)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left>.nsp-auth-brand{
  display:none!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-card,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel{
  width:min(560px,100%)!important;
  max-width:560px!important;
  margin:0!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel{
  background:transparent!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-card{
  background:transparent!important;
  border:0!important;
  border-top:2px solid var(--ink)!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding-top:28px!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading{
  margin:0 0 28px!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading h1{
  margin:0!important;
  color:var(--ink)!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:2.6rem!important;
  line-height:1!important;
  letter-spacing:-.045em!important;
  font-weight:600!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading p{
  max-width:520px!important;
  margin:10px 0 0!important;
  color:var(--muted)!important;
  font-size:.95rem!important;
  line-height:1.55!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-tabs{
  display:none!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-form{
  display:grid;
  gap:18px!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-row{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:16px!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-col{
  min-width:0!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-label{
  display:block!important;
  margin:0 0 7px!important;
  color:var(--ink)!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:.84rem!important;
  line-height:1.3!important;
  font-weight:600!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-input,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha-in,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-search-select .nsp-ss-trigger{
  width:100%!important;
  min-height:48px!important;
  height:48px!important;
  margin:0!important;
  padding:0 13px!important;
  color:var(--ink)!important;
  background:var(--surface)!important;
  border:1px solid var(--line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:.9rem!important;
  line-height:1!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-input::placeholder,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha-in::placeholder{
  color:#647168!important;
  opacity:1!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-input:focus,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha-in:focus,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-search-select .nsp-ss-trigger:focus{
  border-color:var(--green)!important;
  box-shadow:none!important;
  outline:2px solid var(--green)!important;
  outline-offset:2px!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-search-select{
  position:relative!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-search-select .nsp-ss-dropdown{
  border-radius:0!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
  background:var(--surface)!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha{
  min-height:52px!important;
  margin:0!important;
  padding:8px 10px 8px 13px!important;
  display:grid!important;
  grid-template-columns:auto 1fr 86px!important;
  gap:10px!important;
  align-items:center!important;
  background:var(--green-soft)!important;
  border:1px solid var(--line)!important;
  border-radius:0!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha-icon{color:var(--green)!important}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha-text{color:var(--ink)!important;font-weight:600!important}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha-in{
  height:36px!important;
  min-height:36px!important;
  background:#fff!important;
  text-align:center!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-submit{
  width:100%!important;
  min-height:50px!important;
  margin:4px 0 0!important;
  padding:0 16px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--green)!important;
  color:#fff!important;
  border:1px solid var(--green)!important;
  border-radius:0!important;
  box-shadow:none!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:.9rem!important;
  font-weight:700!important;
  text-transform:none!important;
  letter-spacing:0!important;
  transform:none!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-submit:hover,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-submit:focus{
  background:var(--green-deep)!important;
  border-color:var(--green-deep)!important;
  box-shadow:none!important;
  transform:none!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-password-field{
  position:relative!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-password-field .nsp-input{
  padding-right:70px!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-password-toggle{
  position:absolute!important;
  right:8px!important;
  bottom:7px!important;
  height:34px!important;
  padding:0 8px!important;
  border:0!important;
  background:transparent!important;
  color:var(--green)!important;
  font-size:.8rem!important;
  font-weight:600!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links{
  width:min(560px,100%)!important;
  display:flex!important;
  justify-content:space-between!important;
  gap:18px!important;
  flex-wrap:wrap!important;
  margin-top:18px!important;
  font-size:.88rem!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links a,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links button{
  padding:0!important;
  color:var(--ink)!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid currentColor!important;
  border-radius:0!important;
  font:inherit!important;
  line-height:1.4!important;
  cursor:pointer!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links a:hover,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links button:hover{
  color:var(--green)!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-foot{
  width:min(560px,100%)!important;
  margin-top:28px!important;
  padding-top:18px!important;
  border-top:1px solid var(--line)!important;
  color:var(--muted)!important;
  font-size:.82rem!important;
  line-height:1.55!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-footer,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-forgot-link{
  display:none!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-err-banner,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-success-banner,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-success-note{
  border-radius:0!important;
  box-shadow:none!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-err-banner,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-success-banner{
  margin:0 0 20px!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel .nsp-auth-form{
  padding:0!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel .nsp-reset-back{
  color:var(--ink)!important;
  text-decoration:none!important;
  border:0!important;
  border-bottom:1px solid currentColor!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel h2{
  margin:24px 0 8px!important;
  color:var(--ink)!important;
  font-size:2.25rem!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel p{
  color:var(--muted)!important;
  line-height:1.55!important;
}

@media(max-width:900px){
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth{
    grid-template-columns:1fr!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right{
    order:1!important;
    min-height:260px!important;
    padding:28px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo{
    width:190px!important;
    height:46px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-pitch{
    padding-top:50px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp .nsp-auth-pitch h2{
    font-size:3rem!important;
    max-width:620px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
    order:2!important;
    min-height:auto!important;
    padding:30px 18px 44px!important;
  }
}
@media(max-width:479px){
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right{
    min-height:230px!important;
    padding:24px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo{
    width:172px!important;
    height:42px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-pitch{
    padding-top:38px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp .nsp-auth-pitch h2{
    font-size:2.7rem!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
    padding:26px 16px 40px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading h1{
    font-size:2.25rem!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-row{
    grid-template-columns:1fr!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links{
    display:grid!important;
    grid-template-columns:1fr!important;
    justify-items:start!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha{
    grid-template-columns:auto 1fr 76px!important;
  }
}

/* 18.1.3 VIEWPORT-LOCKED AUTH RESPONSIVENESS */
/* 18.1.3 VIEWPORT-LOCKED AUTH RESPONSIVENESS */
html.ns-auth-root{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
  background:var(--paper)!important;
}
body.nsp-auth-screen{
  width:100%!important;
  height:var(--ns-auth-vh,100dvh)!important;
  min-height:0!important;
  max-height:var(--ns-auth-vh,100dvh)!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
body.nsp-auth-screen #nsp-app#nsp-app,
body.nsp-auth-screen #nsp-app#nsp-app .nsp{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
  min-height:0!important;
  max-height:100%!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
  overflow:hidden!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-card,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel{
  max-height:100%!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-card{
  flex-direction:column!important;
  overflow:hidden!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left > .nsp-auth-card:not([style*="display:none"]){
  display:flex!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel .nsp-auth-card{
  display:flex!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading{
  flex:0 0 auto!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-form{
  min-height:0!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-foot{
  flex:0 0 auto!important;
}

/* Registration is intentionally stepped so the auth screen stays an app surface. */
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-progress{
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:14px!important;
  align-items:center!important;
  margin:0 0 16px!important;
  padding:0 0 12px!important;
  border-bottom:1px solid var(--line)!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-progress strong{
  color:var(--ink)!important;
  font-size:.82rem!important;
  font-weight:600!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-progress span{
  color:var(--muted)!important;
  font:500 .68rem ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-meter{
  grid-column:1/-1!important;
  height:2px!important;
  background:var(--line)!important;
  overflow:hidden!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-meter i{
  display:block!important;
  width:50%!important;
  height:100%!important;
  background:var(--green)!important;
  transition:width .18s ease!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-step[hidden]{display:none!important}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-step{
  display:grid!important;
  gap:14px!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-step .nsp-row{
  gap:14px!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:10px!important;
  margin-top:2px!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-next,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-back{
  min-height:48px!important;
  padding:0 14px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:0!important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important;
  font-size:.88rem!important;
  font-weight:700!important;
  box-shadow:none!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-next{
  grid-column:2!important;
  background:var(--green)!important;
  color:#fff!important;
  border:1px solid var(--green)!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-next:hover{background:var(--green-deep)!important;border-color:var(--green-deep)!important}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-back{
  background:transparent!important;
  color:var(--ink)!important;
  border:1px solid var(--ink)!important;
}
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-back:hover{color:var(--green)!important;border-color:var(--green)!important}

/* Desktop: exactly one viewport, no page scroll. */
@media(min-width:901px){
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth{
    grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr)!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right{
    height:100%!important;
    min-height:0!important;
    padding:clamp(28px,4vh,42px)!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
    height:100%!important;
    padding:clamp(20px,3.2vh,36px)!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-pitch{
    padding-top:clamp(30px,7vh,80px)!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp .nsp-auth-pitch h2{
    font-size:clamp(2.45rem,4.8vw,4.8rem)!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-card,
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel{
    width:min(560px,100%)!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading{
    margin-bottom:clamp(16px,2.5vh,28px)!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-foot{
    margin-top:clamp(14px,2.5vh,28px)!important;
    padding-top:clamp(10px,1.8vh,18px)!important;
  }
}

/* Tablet and mobile: compact brand bar + remaining viewport for the form. */
@media(max-width:900px){
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth{
    grid-template-columns:1fr!important;
    grid-template-rows:96px minmax(0,1fr)!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right{
    order:1!important;
    width:100%!important;
    height:96px!important;
    min-height:96px!important;
    max-height:96px!important;
    padding:18px 22px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    overflow:hidden!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo{
    width:180px!important;
    height:42px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-pitch,
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-disclaimer{
    display:none!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
    order:2!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    padding:18px 20px!important;
    justify-content:center!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-card,
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-reset-panel{
    width:min(600px,100%)!important;
    max-width:600px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading{
    margin-bottom:16px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading h1{
    font-size:2.15rem!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading p{
    margin-top:7px!important;
    font-size:.88rem!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-form{
    gap:12px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-row{
    gap:12px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-input,
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-search-select .nsp-ss-trigger{
    min-height:44px!important;
    height:44px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha{
    min-height:48px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-submit,
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-next,
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-back{
    min-height:46px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links{
    margin-top:12px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-foot{
    display:none!important;
  }
}

@media(max-width:560px){
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth{
    grid-template-rows:76px minmax(0,1fr)!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right{
    height:76px!important;
    min-height:76px!important;
    max-height:76px!important;
    padding:13px 16px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo{
    width:158px!important;
    height:38px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
    padding:14px 16px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading{
    margin-bottom:13px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading h1{
    font-size:1.95rem!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading p{
    font-size:.82rem!important;
    line-height:1.4!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-row{
    grid-template-columns:1fr!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-step .nsp-row{
    grid-template-columns:1fr!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-label{
    margin-bottom:5px!important;
    font-size:.78rem!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-input,
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-search-select .nsp-ss-trigger{
    min-height:42px!important;
    height:42px!important;
    padding-inline:11px!important;
    font-size:.84rem!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha{
    min-height:44px!important;
    grid-template-columns:auto 1fr 72px!important;
    padding:6px 8px 6px 10px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-captcha-in{
    height:32px!important;
    min-height:32px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links{
    display:flex!important;
    grid-template-columns:none!important;
    justify-content:space-between!important;
    gap:10px 16px!important;
    margin-top:10px!important;
    font-size:.8rem!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-progress{
    margin-bottom:11px!important;
    padding-bottom:9px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-step{
    gap:10px!important;
  }
}

/* Very short screens remain contained; only the form pane scrolls if the keyboard leaves no physical room. */
@media(max-height:680px){
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading{
    margin-bottom:10px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-heading p{
    display:none!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-form{
    gap:9px!important;
  }
  body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-links{
    margin-top:8px!important;
  }
}
html.ns-auth-keyboard body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-width:thin!important;
}

/* 18.1.4 — screenshot-specific auth corrections. Only registration + reset states. */
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-auth-left > .nsp-auth-card:not(.nsp-approved-reset-card),
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-approved-auth-links-login,
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-approved-auth-links-register{
  display:none!important;
}
body.nsp-auth-screen.ns-auth-mode-login #nsp-app#nsp-app .nsp-approved-auth-links-register,
body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-auth-links-login{
  display:none!important;
}
body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-auth-links-register,
body.nsp-auth-screen.ns-auth-mode-login #nsp-app#nsp-app .nsp-approved-auth-links-login{
  display:flex!important;
}
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-reset-panel{
  display:block!important;
  width:min(560px,100%)!important;
}
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-reset-panel > .nsp-auth-card{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  border-top:2px solid var(--ink)!important;
  padding-top:22px!important;
}
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-reset-back{
  width:max-content!important;
  margin:0 0 20px!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:0!important;
  color:var(--green)!important;
  font-size:.82rem!important;
  font-weight:700!important;
}
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-reset-panel h2{
  margin:0 0 10px!important;
  font-size:2rem!important;
}
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-reset-panel p{
  margin:0 0 18px!important;
  font-size:.88rem!important;
}
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-reset-panel form{
  display:grid!important;
  gap:12px!important;
}
body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-reset-panel form .nsp-label{
  margin:0 0 -5px!important;
}

@media(max-width:560px){
  /* Registration on a phone is one readable column. The 2-step wizard keeps it within the viewport. */
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-auth-left{
    justify-content:flex-start!important;
    padding-top:16px!important;
  }
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-reg-step .nsp-row{
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-auth-heading{
    margin-bottom:10px!important;
  }
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-auth-heading h1{
    font-size:1.85rem!important;
  }
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-auth-heading p{
    font-size:.79rem!important;
    line-height:1.38!important;
  }
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-reg-progress{
    margin-bottom:9px!important;
    padding-bottom:8px!important;
  }
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-reg-step{
    gap:9px!important;
  }
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-auth-links-register{
    margin-top:9px!important;
    font-size:.78rem!important;
  }
  body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-auth-left{
    justify-content:center!important;
    padding:14px 16px!important;
  }
  body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-reset-panel > .nsp-auth-card{
    padding-top:18px!important;
  }
  body.nsp-auth-screen.ns-auth-mode-reset #nsp-app#nsp-app .nsp-reset-panel h2{
    font-size:1.9rem!important;
  }
}

@media(max-height:680px) and (max-width:560px){
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-approved-auth-heading p{
    display:none!important;
  }
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-input,
  body.nsp-auth-screen.ns-auth-mode-register #nsp-app#nsp-app .nsp-search-select .nsp-ss-trigger{
    min-height:40px!important;
    height:40px!important;
  }
}

/* v18.2.1 accessibility hardening */
.screen-reader-text:focus,.skip-link:focus{
  clip:auto!important;clip-path:none!important;width:auto!important;height:auto!important;margin:0!important;
  overflow:visible!important;white-space:normal!important;position:fixed!important;left:12px!important;top:12px!important;
  z-index:100000!important;padding:12px 16px!important;background:#fcfdfb!important;color:#11241a!important;
  border:2px solid #0b6b40!important;box-shadow:0 4px 18px rgba(17,36,26,.18)!important;text-decoration:none!important;
}
.mega-intro .mega-title{margin:0;font-size:2.1rem;line-height:1;letter-spacing:-.045em;font-weight:600;color:var(--ink)}
.search-trigger{width:44px;min-width:44px;height:44px;min-height:44px}
.signin{min-height:44px}
.mobile-trigger{width:46px;min-width:46px;height:46px;min-height:46px}
.text-link,.trust-row a{min-height:32px;display:inline-flex;align-items:center}
.breadcrumb a{display:inline-flex;align-items:center;min-height:32px}
.footer-group a{min-height:32px;display:flex;align-items:center;margin-top:3px;padding-block:4px}
.footer-bottom-new a{min-height:32px;display:inline-flex;align-items:center;padding-block:4px}
.footer-workspace-link{min-height:36px;align-items:center}
.footer-help-links a{min-height:46px}
.discovery-search input,.help-search-box input,.finder-row input,.dialog-search input,.search-form-approved input{min-height:44px}
input::placeholder,textarea::placeholder{color:#647168;opacity:1}
.reason-btn[aria-pressed="true"]{font-weight:700}
[aria-invalid="true"]{border-color:#8d3030!important;outline-color:#8d3030!important}
.course-code-field small:not(:empty),.field-error:not(:empty){color:#8d3030}
@media(max-width:767px){
  .footer-group a,.footer-bottom-new a,.breadcrumb a,.text-link,.trust-row a{min-height:36px}
  .search-trigger{width:46px;min-width:46px;height:46px;min-height:46px}
}
@media(prefers-contrast:more){
  :focus-visible{outline-width:3px!important}
  body.ns-approved-prototype{--muted:#45564c;--line:#7e8b83;--line-soft:#9aa69f}
}
@media(forced-colors:active){
  .hmh-shade,.hmh-wash{display:none}
  .hmh-copy h1,.hmh-copy h1 span,.hmh-copy p,.hmh-secondary{color:CanvasText!important}
  .hmh-primary{border:2px solid ButtonText!important}
}


/* 18.3.1 final dark-mode authority. This file loads after Portal CSS, so dark
   ownership belongs here too instead of relying on an earlier stylesheet. */
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp,
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth,
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-left{
  background:#0d1511!important;color:#f2f7f4!important;
}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right{background:#06120c!important;color:#f4f8f5!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right :where(h1,h2,h3,h4,p,strong,span){color:#f4f8f5!important;-webkit-text-fill-color:#f4f8f5!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right p{color:#bdcbc3!important;-webkit-text-fill-color:#bdcbc3!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-auth-card,.nsp-reset-panel,.nsp-auth-form,.nsp-approved-reg-step){background:transparent!important;color:#f2f7f4!important;border-color:#405248!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-approved-auth-heading h1,h1,h2,h3,h4,.nsp-label,strong,.nsp-approved-reg-progress strong){color:#f2f7f4!important;-webkit-text-fill-color:#f2f7f4!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-approved-auth-heading p,.nsp-auth-sec-note,.nsp-auth-security-note,.nsp-field-hint,.nsp-reset-panel p,.nsp-approved-reg-progress span){color:#b4c1b9!important;-webkit-text-fill-color:#b4c1b9!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-input,input,select,textarea,.nsp-ss-trigger,.nsp-ss-dropdown){background:#121d17!important;color:#f2f7f4!important;-webkit-text-fill-color:#f2f7f4!important;border-color:#405248!important;box-shadow:none!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(input,textarea)::placeholder{color:#a2b0a8!important;-webkit-text-fill-color:#a2b0a8!important;opacity:1!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-captcha,.nsp-security-row){background:#19261f!important;color:#f2f7f4!important;border-color:#405248!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-captcha-text,.nsp-captcha-icon){color:#e1ebe5!important;-webkit-text-fill-color:#e1ebe5!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(a,.nsp-link,.nsp-forgot-link a,.nsp-approved-auth-links a,.nsp-approved-auth-links button,.nsp-reset-back){color:#9be0b7!important;-webkit-text-fill-color:#9be0b7!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-submit,button[type="submit"],.nsp-approved-reg-next){background:#2c7f52!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#2c7f52!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-approved-reg-back,.nsp-password-toggle){background:transparent!important;color:#9be0b7!important;-webkit-text-fill-color:#9be0b7!important;border-color:#405248!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-auth-tabs,.nsp-approved-reg-progress,.nsp-approved-auth-links,.nsp-approved-auth-foot,.nsp-auth-security-note){border-color:#405248!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-meter{background:#405248!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-meter i{background:#77d09d!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #121d17 inset!important;-webkit-text-fill-color:#f2f7f4!important;caret-color:#f2f7f4!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-card{border-top-color:#f2f7f4!important}

/* 18.3.2 auth logo/background correction */
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo,
body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo :where(a,.custom-logo-link,img){background:transparent!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo,
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-auth-logo :where(a,.custom-logo-link,img){background:transparent!important}

/* 18.3.3 unified auth palette. Loaded last by design. */
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp,.nsp-auth,.nsp-auth-left){background:#08110c!important;color:#f2f7f4!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right{background:#06100a!important;color:#f2f7f4!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right :where(h1,h2,h3,h4,strong){color:#f2f7f4!important;-webkit-text-fill-color:#f2f7f4!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-right :where(p,small){color:#aebdb4!important;-webkit-text-fill-color:#aebdb4!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-auth-card,.nsp-reset-panel,.nsp-auth-form,.nsp-approved-reg-step){background:transparent!important;color:#f2f7f4!important;border-color:#35483e!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-approved-auth-heading h1,h1,h2,h3,h4,.nsp-label,strong,.nsp-approved-reg-progress strong){color:#f2f7f4!important;-webkit-text-fill-color:#f2f7f4!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-approved-auth-heading p,.nsp-auth-sec-note,.nsp-auth-security-note,.nsp-field-hint,.nsp-reset-panel p,.nsp-approved-reg-progress span){color:#aebdb4!important;-webkit-text-fill-color:#aebdb4!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-input,input,select,textarea,.nsp-ss-trigger,.nsp-ss-dropdown){background:#0f1a14!important;color:#f2f7f4!important;-webkit-text-fill-color:#f2f7f4!important;border-color:#4b6054!important;box-shadow:none!important;color-scheme:dark!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(input,textarea)::placeholder{color:#a5b4ab!important;-webkit-text-fill-color:#a5b4ab!important;opacity:1!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-captcha,.nsp-security-row){background:#15231b!important;color:#f2f7f4!important;border-color:#35483e!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-captcha-text,.nsp-captcha-icon){color:#d3dfd8!important;-webkit-text-fill-color:#d3dfd8!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(a,.nsp-link,.nsp-forgot-link a,.nsp-approved-auth-links a,.nsp-approved-auth-links button,.nsp-reset-back,.nsp-password-toggle){color:#a8e9c2!important;-webkit-text-fill-color:#a8e9c2!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-submit,button[type="submit"],.nsp-approved-reg-next){background:#2f8155!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#2f8155!important;background-image:none!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-approved-reg-back,.nsp-password-toggle){background:transparent!important;border-color:#51675b!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app :where(.nsp-auth-tabs,.nsp-approved-reg-progress,.nsp-approved-auth-links,.nsp-approved-auth-foot,.nsp-auth-security-note){border-color:#35483e!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-meter{background:#35483e!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-approved-reg-meter i{background:#8dddb0!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #0f1a14 inset!important;-webkit-text-fill-color:#f2f7f4!important;caret-color:#f2f7f4!important}
html[data-theme="dark"] body.nsp-auth-screen #nsp-app#nsp-app .nsp-auth-card{border-top-color:#f2f7f4!important}
