/* Reference layout: full-height image panel and an unboxed authentication form. */
:root{--auth-visual-width:33.333333%;--auth-accent:#00c968}
body{background:#fff}
.auth-visual{position:fixed;inset:0 auto 0 0;width:var(--auth-visual-width);overflow:hidden;background:#172b24;color:#fff}
.auth-visual__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center}
.auth-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(9,25,18,.4) 0%,rgba(9,25,18,.03) 35%,rgba(9,25,18,.28) 55%,rgba(9,25,18,.9) 100%)}
.auth-visual__copy{position:absolute;left:clamp(24px,2.55vw,48px);right:clamp(24px,2.55vw,48px);bottom:63px;z-index:1}
.auth-visual__copy h1{max-width:400px;margin:0 0 28px;font-size:clamp(26px,2.17865vw,36px);line-height:1.2;font-weight:700;letter-spacing:0;color:#fff}
.auth-visual__copy p{margin:15px 0 0;max-width:340px;font-size:14px;line-height:20px;color:rgba(255,255,255,.78)}
.auth-visual__copy strong{display:block;margin-bottom:0;font-size:16px;line-height:24px;font-weight:700;color:#fff}
.auth-header{position:absolute;top:0;left:0;right:0;background:transparent;border:0;pointer-events:none}
.auth-header__inner{width:auto;min-height:88px;margin:0;padding:24px clamp(24px,2.55vw,48px);align-items:flex-start}
.auth-header__logo{color:#fff;pointer-events:auto;line-height:34px;font-size:28px;font-weight:700;transform:translateY(30px)}
body[data-current-screen="login"] .auth-header__logo{transition:translate .2s cubic-bezier(.22,.61,.36,1),opacity .2s cubic-bezier(.22,.61,.36,1)}
body[data-current-screen="login"] .auth-header__logo:hover{translate:0 -2px;opacity:.8}
.auth-header .language-picker{pointer-events:auto}
.auth-center,.auth-center-wide{margin-left:var(--auth-visual-width);padding:96px 40px 24px;display:grid;place-items:center;flex:1 0 auto}
html body .auth-card{width:min(400px,100%);padding:0;background:transparent;border:0;border-radius:0;box-shadow:none}
.auth-card h1{font-size:30px;line-height:1.2;font-weight:700;letter-spacing:-.025em;color:#171d1a;margin:0 0 8px;text-align:center}
.auth-card>.sub{font-size:14px;line-height:1.5;text-align:center;color:#7a827e;margin:0 0 28px}

#screen-forgot .auth-card .field{position:relative;margin-bottom:13px}
#screen-forgot .auth-card .field label{position:absolute;left:14px;top:7px;z-index:1;margin:0;font-size:11px;line-height:1.25;font-weight:400;color:#7b827e;pointer-events:none}
html body #screen-forgot .auth-card .field input{display:block;height:58px;padding:22px 14px 7px;font-size:14px;line-height:20px;color:#242d28;border:1px solid #e4e8e5;border-radius:9px;background:#fff;box-shadow:0 1px 2px rgba(15,31,25,.025)}
html body #screen-forgot .auth-card .field input:focus{border-color:#00ad59;box-shadow:0 0 0 3px rgba(0,201,104,.15);outline:0}
.auth-card .password-rules{margin:0 0 15px;padding:0;list-style:none;font-size:11px;line-height:1.65;color:#7b827e}
.auth-card .password-rules li{margin:0}
.auth-card .captcha-demo{min-height:46px;padding:11px 13px;margin:0 0 14px;border:1px solid #e4e8e5;border-radius:9px;background:#fafbf9;font-size:12px}
.auth-card .captcha-demo span{font-size:9px;white-space:nowrap}
.auth-card .check{gap:7px}
.auth-card input[type=checkbox]{accent-color:var(--auth-accent);flex-shrink:0}
.auth-card .captcha-demo input[type=checkbox]:checked:hover{accent-color:var(--brand-hover)}
.auth-card .agreement-check{font-size:12px;line-height:1.5;margin:3px 0 18px;color:#656e68}
.auth-card .form-line{font-size:12px;margin:4px 0 22px;color:#656e68}
.auth-card .form-line a{color:#008747;font-weight:600}
html body .auth-card .auth-main-btn{min-height:47px;border-radius:999px;font-size:14px;font-weight:700;box-shadow:none;margin:0}
.auth-switch{text-align:center;font-size:12px;color:#8a918c;margin:26px 0 0;line-height:1.6}
.auth-switch-link{color:#008747;font-weight:700;text-decoration:none;margin-left:4px}
.auth-switch-link:hover{text-decoration:underline}
.auth-footer{margin-left:var(--auth-visual-width);padding:14px 24px 20px;font-size:10px;color:#969e98;text-align:center}
.auth-card .back-link{display:inline-block;font-size:13px;margin-bottom:24px;color:#008747}
.auth-feedback{font-size:12px!important}
.forgot-success{z-index:100}
@media(min-width:1700px){:root{--auth-visual-width:36%}.auth-center{padding-top:100px}}
@media(max-width:900px){:root{--auth-visual-width:36%}.auth-center,.auth-center-wide{padding:96px 28px 24px}.auth-visual__copy h1{font-size:28px}.auth-visual__copy{left:24px;right:24px;bottom:58px}.auth-header__inner{padding-inline:24px}.auth-card h1{font-size:28px}}
@media(max-width:680px){.auth-visual{display:none}.auth-header{position:relative;flex:none}.auth-header__inner{min-height:80px;padding:19px 22px}.auth-header__logo{color:#142929;font-size:27px;line-height:42px;transform:none}.auth-center,.auth-center-wide{margin-left:0;padding:28px 24px 32px}.auth-footer{margin-left:0;padding:12px 22px 20px}.auth-card h1{font-size:28px}.auth-card>.sub{margin-bottom:26px}#screen-forgot .auth-card .field label{font-size:10px}.auth-switch{margin-top:24px}}
@media(prefers-reduced-motion:reduce){body[data-current-screen="login"] .auth-header__logo{transition:none}}

/* Match checked checkbox hover feedback to the auth primary button hover green. */
body[data-current-screen="login"] .auth-card input[type="checkbox"]:checked:hover,
body[data-current-screen="signup"] .auth-card input[type="checkbox"]:checked:hover{
 accent-color:var(--brand-hover);
}

/* Shared authentication logo asset sizing. */
.auth-header__logo-image{display:block;width:145px;height:34px;max-width:min(32vw,160px);object-fit:contain;image-rendering:auto}
@media(max-width:680px){.auth-header__logo-image{width:128px;height:30px;max-width:min(42vw,150px)}}

/* Keep the authentication logo hover response available on every auth screen. */
body[data-current-screen="login"] .auth-header__logo,
body[data-current-screen="signup"] .auth-header__logo,
body[data-current-screen="forgot"] .auth-header__logo{
  transition:transform .2s cubic-bezier(.22,.61,.36,1),opacity .2s cubic-bezier(.22,.61,.36,1);
}
@media (hover:hover){
  body[data-current-screen="login"] .auth-header__logo:hover,
  body[data-current-screen="signup"] .auth-header__logo:hover,
  body[data-current-screen="forgot"] .auth-header__logo:hover,
  body[data-current-screen="login"] .auth-header__logo:focus-visible,
  body[data-current-screen="signup"] .auth-header__logo:focus-visible,
  body[data-current-screen="forgot"] .auth-header__logo:focus-visible{
    transform:translateY(28px);
    translate:none;
    opacity:.8;
  }
}
@media (max-width:680px) and (hover:hover){
  body[data-current-screen="login"] .auth-header__logo:hover,
  body[data-current-screen="signup"] .auth-header__logo:hover,
  body[data-current-screen="forgot"] .auth-header__logo:hover,
  body[data-current-screen="login"] .auth-header__logo:focus-visible,
  body[data-current-screen="signup"] .auth-header__logo:focus-visible,
  body[data-current-screen="forgot"] .auth-header__logo:focus-visible{
    transform:translateY(-2px);
  }
}@media (prefers-reduced-motion:reduce){
  body[data-current-screen="login"] .auth-header__logo,
  body[data-current-screen="signup"] .auth-header__logo,
  body[data-current-screen="forgot"] .auth-header__logo{transition:none;}
}