/* Impact3780 Google Login — premium wp-login.php UI. */
:root{
  --impact-login-blue:#17458f;
  --impact-login-blue-dark:#0f326d;
  --impact-login-azure:#00a2e0;
  --impact-login-gold:#f7a81b;
  --impact-login-ink:#172033;
  --impact-login-muted:#526173;
  --impact-login-border:#d8e2ef;
  --impact-login-bg:#eef4fb;
  --impact-login-danger:#fff1f2;
}

html{background:#eef4fb}
body.login.impact3780-premium-login{
  box-sizing:border-box;
  min-height:100vh;
  padding:34px 16px 56px;
  background:
    radial-gradient(circle at 88% 12%,rgba(0,162,224,.12),transparent 30%),
    radial-gradient(circle at 8% 88%,rgba(247,168,27,.10),transparent 25%),
    linear-gradient(145deg,#f7faff 0%,var(--impact-login-bg) 52%,#e7f1fb 100%)!important;
  color:var(--impact-login-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
body.login.impact3780-premium-login *{box-sizing:border-box}

body.login.impact3780-premium-login #login{
  display:grid;
  grid-template-columns:minmax(300px,.82fr) minmax(420px,1.18fr);
  gap:0 28px;
  align-items:start;
  width:min(1120px,100%);
  max-width:1120px;
  margin:0 auto;
  padding:0;
}

body.login.impact3780-premium-login #login > h1{
  grid-column:1/-1;
  margin:0 0 24px;
  padding:0;
  text-align:left;
}
body.login.impact3780-premium-login #login > h1 a{
  display:block;
  width:min(370px,75vw);
  height:82px;
  margin:0;
  background-position:left center!important;
  background-size:contain!important;
  background-repeat:no-repeat!important;
  outline-offset:4px;
}

.impact-login-intro{
  position:sticky;
  top:28px;
  grid-column:1;
  grid-row:2 / span 12;
  overflow:hidden;
  min-height:430px;
  padding:34px 32px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  background:linear-gradient(150deg,var(--impact-login-blue-dark),var(--impact-login-blue) 62%,#1268ad 100%);
  color:#fff;
  box-shadow:0 22px 54px rgba(23,69,143,.20);
}
.impact-login-intro:after{
  content:"";
  position:absolute;
  right:-74px;
  bottom:-88px;
  width:230px;
  height:230px;
  border-radius:50%;
  background:rgba(0,162,224,.22);
  pointer-events:none;
}
.impact-login-eyebrow{
  position:relative;
  z-index:1;
  display:inline-flex;
  margin:0 0 15px!important;
  padding:7px 11px;
  border:1px solid rgba(255,255,255,.27);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff!important;
  font-size:11px!important;
  font-weight:800;
  letter-spacing:.08em;
  line-height:1.35!important;
  text-transform:uppercase;
}
.impact-login-intro h1{
  position:relative;
  z-index:1;
  margin:0 0 14px!important;
  color:#fff!important;
  font-size:clamp(31px,3.8vw,45px)!important;
  font-weight:850!important;
  letter-spacing:-.025em;
  line-height:1.07!important;
}
.impact-login-lead{
  position:relative;
  z-index:1;
  margin:0 0 24px!important;
  color:#edf6ff!important;
  font-size:16px!important;
  line-height:1.65!important;
}
.impact-login-benefits{
  position:relative;
  z-index:1;
  display:grid;
  gap:12px;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.impact-login-benefits li{
  position:relative;
  margin:0!important;
  padding:0 0 0 30px!important;
  color:#fff!important;
  font-size:13.5px!important;
  font-weight:650;
  line-height:1.5!important;
}
.impact-login-benefits li:before{
  content:"✓";
  position:absolute;
  top:0;
  left:0;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--impact-login-gold);
  color:#3e2b00;
  font-size:12px;
  font-weight:900;
}
.impact-login-trust{
  position:relative;
  z-index:1;
  margin:26px 0 0!important;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.20);
  color:#dcecff!important;
  font-size:11.5px!important;
  line-height:1.55!important;
}

body.login.impact3780-premium-login #login > form,
body.login.impact3780-premium-login #login > .message,
body.login.impact3780-premium-login #login > #login_error,
body.login.impact3780-premium-login #login > .success,
body.login.impact3780-premium-login #login > #nav,
body.login.impact3780-premium-login #login > #backtoblog,
body.login.impact3780-premium-login #login > .privacy-policy-page-link{
  grid-column:2;
}

body.login.impact3780-premium-login #login > form{
  margin:0!important;
  padding:30px!important;
  border:1px solid rgba(216,226,239,.96)!important;
  border-radius:24px!important;
  background:#fff!important;
  color:var(--impact-login-ink)!important;
  box-shadow:0 22px 54px rgba(23,69,143,.12)!important;
}
body.login.impact3780-premium-login #loginform:before{
  content:"Sign in to your account";
  display:block;
  margin:0 0 5px;
  color:var(--impact-login-blue-dark);
  font-size:27px;
  font-weight:850;
  letter-spacing:-.015em;
  line-height:1.2;
}
body.login.impact3780-premium-login #loginform:after{
  content:"Secure access to the Impact3780 District network.";
  display:block;
  clear:both;
  margin:24px 0 0;
  padding-top:16px;
  border-top:1px solid #e7edf5;
  color:#718096;
  font-size:11.5px;
  line-height:1.5;
  text-align:center;
}

body.login.impact3780-premium-login form p:not(.forgetmenot):not(.submit):not(.impact-google-wrap){margin:0 0 17px!important}
body.login.impact3780-premium-login label{
  color:#233b5e!important;
  font-size:14px!important;
  font-weight:750!important;
  line-height:1.4!important;
}
body.login.impact3780-premium-login .input,
body.login.impact3780-premium-login input[type="text"],
body.login.impact3780-premium-login input[type="email"],
body.login.impact3780-premium-login input[type="password"]{
  width:100%!important;
  min-height:50px!important;
  margin:7px 0 0!important;
  padding:10px 13px!important;
  border:1px solid #b8c8db!important;
  border-radius:10px!important;
  background:#fff!important;
  color:var(--impact-login-ink)!important;
  font-size:16px!important;
  line-height:1.4!important;
  box-shadow:0 1px 2px rgba(15,50,109,.04)!important;
  transition:border-color .16s ease,box-shadow .16s ease;
}
body.login.impact3780-premium-login .input:focus,
body.login.impact3780-premium-login input[type="text"]:focus,
body.login.impact3780-premium-login input[type="email"]:focus,
body.login.impact3780-premium-login input[type="password"]:focus{
  border-color:var(--impact-login-azure)!important;
  outline:0!important;
  box-shadow:0 0 0 3px rgba(0,162,224,.18)!important;
}
body.login.impact3780-premium-login .wp-pwd{margin-top:7px}
body.login.impact3780-premium-login .wp-pwd .input{margin-top:0!important;padding-right:48px!important}
body.login.impact3780-premium-login .button.wp-hide-pw{
  top:5px!important;
  right:4px!important;
  min-width:42px!important;
  min-height:40px!important;
  border:0!important;
  color:var(--impact-login-blue)!important;
  box-shadow:none!important;
}

.impact-google-wrap{
  display:block;
  margin:18px 0 21px!important;
  padding:0!important;
}
.impact-google-button{
  box-sizing:border-box;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:11px;
  width:100%;
  min-height:50px;
  padding:10px 15px;
  border:1px solid #b8c8db!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#172033!important;
  font-size:15px;
  font-weight:750!important;
  line-height:1.2;
  text-decoration:none!important;
  box-shadow:0 5px 14px rgba(15,50,109,.06)!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease;
}
.impact-google-button:hover{
  transform:translateY(-1px);
  border-color:#8ea8c7!important;
  background:#f9fbfe!important;
  color:#172033!important;
  box-shadow:0 8px 18px rgba(15,50,109,.10)!important;
}
.impact-google-button svg{width:20px;height:20px;flex:0 0 20px}
.impact-login-divider{
  display:flex;
  align-items:center;
  gap:11px;
  margin:18px 0 0;
  color:#6a7788;
  font-size:11.5px;
  font-weight:650;
  line-height:1.3;
  text-align:center;
}
.impact-login-divider:before,.impact-login-divider:after{content:"";height:1px;flex:1;background:#dfe7f0}
.impact-login-divider span{white-space:nowrap}

body.login.impact3780-premium-login .forgetmenot{
  float:left!important;
  margin:5px 0 18px!important;
  color:var(--impact-login-muted)!important;
}
body.login.impact3780-premium-login .forgetmenot label{font-size:13px!important;font-weight:600!important}
body.login.impact3780-premium-login input[type="checkbox"]{
  width:18px!important;
  height:18px!important;
  margin:-2px 7px 0 0!important;
  border:1px solid #a9bbcf!important;
  border-radius:4px!important;
}
body.login.impact3780-premium-login .submit{margin:0!important;padding:0!important}
body.login.impact3780-premium-login .button-primary{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:132px!important;
  min-height:48px!important;
  padding:10px 20px!important;
  border:1px solid var(--impact-login-blue)!important;
  border-radius:10px!important;
  background:var(--impact-login-blue)!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:850!important;
  line-height:1.2!important;
  text-shadow:none!important;
  box-shadow:0 10px 22px rgba(23,69,143,.20)!important;
  transition:transform .16s ease,background .16s ease,box-shadow .16s ease;
}
body.login.impact3780-premium-login .button-primary:hover{
  transform:translateY(-1px);
  background:var(--impact-login-blue-dark)!important;
  color:#fff!important;
  box-shadow:0 13px 28px rgba(23,69,143,.24)!important;
}

body.login.impact3780-premium-login #login > .message,
body.login.impact3780-premium-login #login > #login_error,
body.login.impact3780-premium-login #login > .success{
  margin:0 0 14px!important;
  padding:13px 15px!important;
  border:1px solid #bddbf0!important;
  border-left:4px solid var(--impact-login-azure)!important;
  border-radius:10px!important;
  background:#eef7ff!important;
  color:#17365d!important;
  font-size:13px!important;
  line-height:1.55!important;
  box-shadow:none!important;
}
body.login.impact3780-premium-login #login > #login_error{
  border-color:#f0b8bd!important;
  border-left-color:#c62828!important;
  background:var(--impact-login-danger)!important;
  color:#7a1c24!important;
}
body.login.impact3780-premium-login #login > .message a,
body.login.impact3780-premium-login #login > #login_error a{color:var(--impact-login-blue-dark)!important;font-weight:750}

body.login.impact3780-premium-login #nav,
body.login.impact3780-premium-login #backtoblog{
  margin:14px 0 0!important;
  padding:0!important;
  color:var(--impact-login-muted)!important;
  font-size:13px!important;
  line-height:1.7!important;
  text-align:center;
}
body.login.impact3780-premium-login #backtoblog{margin-top:7px!important}
body.login.impact3780-premium-login #nav a,
body.login.impact3780-premium-login #backtoblog a,
body.login.impact3780-premium-login .privacy-policy-page-link a{
  color:var(--impact-login-blue)!important;
  font-weight:750!important;
  text-decoration:none!important;
}
body.login.impact3780-premium-login #nav a:hover,
body.login.impact3780-premium-login #backtoblog a:hover{text-decoration:underline!important}
body.login.impact3780-premium-login #nav a.impact-login-register-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:36px;
  margin:4px 5px 4px 0;
  padding:6px 12px;
  border:1px solid #e99b08;
  border-radius:9px;
  background:var(--impact-login-gold);
  color:#172033!important;
  font-weight:850!important;
  text-decoration:none!important;
}
body.login.impact3780-premium-login #nav a.impact-login-register-link:hover{background:#e99b08!important;text-decoration:none!important}
body.login.impact3780-premium-login .privacy-policy-page-link{grid-column:2;margin:14px 0 0!important;text-align:center}

/* hCaptcha / anti-bot controls remain inside the normal WordPress login form. */
body.login.impact3780-premium-login .h-captcha,
body.login.impact3780-premium-login [class*="hcaptcha"],
body.login.impact3780-premium-login .cf-turnstile{
  max-width:100%;
  margin:18px 0!important;
  overflow:hidden;
}

body.login.impact3780-premium-login a:focus-visible,
body.login.impact3780-premium-login button:focus-visible,
body.login.impact3780-premium-login input:focus-visible{
  outline:3px solid rgba(247,168,27,.75)!important;
  outline-offset:2px!important;
}

@media(max-width:900px){
  body.login.impact3780-premium-login{padding:24px 14px 44px}
  body.login.impact3780-premium-login #login{grid-template-columns:1fr;gap:18px}
  body.login.impact3780-premium-login #login > h1{grid-column:1;margin-bottom:4px}
  body.login.impact3780-premium-login #login > h1 a{margin:0 auto;width:min(350px,80vw);height:76px;background-position:center!important}
  .impact-login-intro{position:relative;top:auto;grid-column:1;grid-row:auto;min-height:auto;padding:26px 25px}
  .impact-login-benefits{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
  body.login.impact3780-premium-login #login > form,
  body.login.impact3780-premium-login #login > .message,
  body.login.impact3780-premium-login #login > #login_error,
  body.login.impact3780-premium-login #login > .success,
  body.login.impact3780-premium-login #login > #nav,
  body.login.impact3780-premium-login #login > #backtoblog,
  body.login.impact3780-premium-login #login > .privacy-policy-page-link{grid-column:1}
}

@media(max-width:600px){
  body.login.impact3780-premium-login{padding:16px 10px 34px}
  body.login.impact3780-premium-login #login{width:100%;gap:14px}
  body.login.impact3780-premium-login #login > h1 a{width:min(320px,84vw);height:68px}
  .impact-login-intro{padding:22px 19px;border-radius:18px}
  .impact-login-intro h1{font-size:30px!important}
  .impact-login-lead{font-size:14.5px!important}
  .impact-login-benefits{grid-template-columns:1fr}
  .impact-login-trust{display:none}
  body.login.impact3780-premium-login #login > form{padding:22px 18px!important;border-radius:18px!important}
  body.login.impact3780-premium-login #loginform:before{font-size:24px}
  .impact-login-divider span{font-size:10.5px;white-space:normal}
  body.login.impact3780-premium-login .forgetmenot{float:none!important;margin-bottom:12px!important}
  body.login.impact3780-premium-login .submit{float:none!important}
  body.login.impact3780-premium-login .button-primary{width:100%!important}
}
