/* SVP 3.0.72 - stable responsive com_users login rebuild + no-flash boot */

/* SVP 3.0.72 - no-flash bootstrap. The server adds svp-login-booting before first paint. */
html.svp-login-booting body.svp-login-page main .com-users-login,
html.svp-login-booting body.svp-login-page main .login{opacity:0!important;visibility:hidden!important;pointer-events:none!important}
:root{--svp-green:#075b22;--svp-green-dark:#044618;--svp-lime:#9ed43a;--svp-navy:#071f3d;--svp-text:#10243d;--svp-muted:#657387}
html.svp-login-active,body.svp-login-page{min-height:100%}
body.svp-login-page{background:#eaf0eb!important}
body.svp-login-page main,body.svp-login-page .site-grid,body.svp-login-page .container-component,body.svp-login-page #sp-main-body{background:transparent!important}
body.svp-login-page main{position:relative!important;min-height:760px!important;padding:50px 24px 64px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#dbe7d2 url('../images/login-field-only.jpg') center center/cover no-repeat!important}
body.svp-login-page main:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.02));pointer-events:none}
body.svp-login-page .svp-login-shell{position:relative;z-index:2;display:grid!important;grid-template-columns:38% 62%;width:min(920px,calc(100vw - 48px));min-height:620px;margin:0 auto;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 26px 80px rgba(4,35,30,.28);font-family:inherit;color:var(--svp-text)}
body.svp-login-page .svp-login-brand{position:relative;display:flex;align-items:center;justify-content:center;padding:42px 34px;background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.12),transparent 28%),linear-gradient(145deg,#0a6829,#044618);color:#fff;text-align:center}
body.svp-login-page .svp-login-brand-logo{display:block;width:168px;height:168px;object-fit:contain;margin:0 auto 26px;filter:brightness(0) invert(1);opacity:.96}
body.svp-login-page .svp-login-brand-copy h2{margin:0;font-size:31px;line-height:1.17;font-weight:900;letter-spacing:-.025em;color:#fff}
body.svp-login-page .svp-login-accent{display:block;width:46px;height:3px;margin:22px auto;background:var(--svp-lime);border-radius:4px}
body.svp-login-page .svp-login-brand-copy p{margin:0;color:rgba(255,255,255,.92);font-size:16px;line-height:1.55}
body.svp-login-page .svp-login-values{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:42px}
body.svp-login-page .svp-login-values span{display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;font-weight:700;color:#fff}
body.svp-login-page .svp-login-values b{display:grid;place-items:center;width:32px;height:32px;font-size:22px;font-weight:500;color:#fff}
body.svp-login-page .svp-login-panel{position:relative;padding:50px 48px 42px;background:#fff;box-sizing:border-box}
body.svp-login-page .svp-login-head{display:flex;align-items:flex-start;gap:16px;margin-bottom:34px}
body.svp-login-page .svp-login-lock{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:#e9f4df;color:transparent;position:relative}
body.svp-login-page .svp-login-lock:before{content:"";position:absolute;width:19px;height:16px;border-radius:4px;background:#0a6525;left:19px;top:25px}
body.svp-login-page .svp-login-lock:after{content:"";position:absolute;width:13px;height:12px;border:3px solid #0a6525;border-bottom:0;border-radius:9px 9px 0 0;left:20px;top:13px}
body.svp-login-page .svp-login-head h1{margin:3px 0 4px!important;color:#075b22!important;font-size:30px!important;line-height:1.1!important;font-weight:900!important;letter-spacing:-.025em!important}
body.svp-login-page .svp-login-head p{margin:0;color:#4f5d6f;font-size:14px}
body.svp-login-page .svp-login-formmount form{border:0!important;outline:0!important;background:transparent!important;padding:0!important;margin:0!important;box-shadow:none!important;width:100%!important}
body.svp-login-page .svp-login-formmount fieldset{border:0!important;margin:0!important;padding:0!important;min-width:0!important}
body.svp-login-page .svp-login-formmount .control-group,body.svp-login-page .svp-login-formmount .mb-3,body.svp-login-page .svp-login-formmount .form-group{margin:0 0 18px!important}
body.svp-login-page .svp-login-formmount label{display:block!important;margin:0 0 7px!important;color:var(--svp-text)!important;font-weight:800!important;font-size:14px!important}
body.svp-login-page .svp-login-formmount input[type=text],body.svp-login-page .svp-login-formmount input[type=password],body.svp-login-page .svp-login-formmount input[type=email]{box-sizing:border-box!important;width:100%!important;min-height:56px!important;border:1px solid #ccd8e3!important;border-radius:10px!important;background:#fff!important;padding:0 50px 0 16px!important;font-size:16px!important;color:#10243d!important;box-shadow:none!important}
body.svp-login-page .svp-login-formmount input:focus{outline:3px solid rgba(158,212,58,.20)!important;border-color:#78ae25!important}
body.svp-login-page .svp-password-wrap,body.svp-login-page .svp-login-formmount .input-group{position:relative!important;display:flex!important;width:100%!important}
body.svp-login-page .svp-login-formmount .svp-eye-toggle{position:absolute!important;right:6px!important;top:50%!important;transform:translateY(-50%)!important;width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;border-radius:8px!important;background:transparent!important;color:#17334d!important;font-size:0!important;box-shadow:none!important;z-index:5!important;overflow:hidden!important}
body.svp-login-page .svp-eye-shape{position:absolute;left:11px;top:14px;width:21px;height:13px;border:2px solid #17334d;border-radius:55%/75%;box-sizing:border-box}
body.svp-login-page .svp-eye-shape:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:5px;border-radius:50%;background:#17334d}
body.svp-login-page .svp-login-formmount button[type=submit],body.svp-login-page .svp-login-formmount input[type=submit]{width:100%!important;min-height:52px!important;margin:4px 0 0!important;padding:0 24px!important;border:0!important;border-radius:9px!important;background:linear-gradient(90deg,#075b22,#0b6a28)!important;color:#fff!important;font-size:16px!important;font-weight:850!important;box-shadow:0 10px 22px rgba(7,91,34,.18)!important}
body.svp-login-page .svp-login-formmount .form-check,body.svp-login-page .svp-login-formmount .checkbox{display:flex!important;align-items:center!important;gap:9px!important;margin:8px 0 18px!important}
body.svp-login-page .svp-login-formmount input[type=checkbox]{width:19px!important;height:19px!important;margin:0!important;accent-color:#5c9820!important}
body.svp-login-page .svp-login-formmount .form-check label,body.svp-login-page .svp-login-formmount .checkbox label{margin:0!important;font-weight:650!important}
body.svp-login-page .svp-login-recovery{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px;padding-top:2px}
body.svp-login-page .svp-login-recovery-link{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:44px!important;padding:8px 10px!important;border-radius:9px!important;background:#f2f8ee!important;color:#176426!important;text-decoration:none!important;font-size:13px!important;font-weight:800!important;text-align:center!important}
body.svp-login-page .svp-login-recovery-link:hover{background:#e6f1df!important;text-decoration:none!important}
body.svp-login-page .svp-login-recovery-link span{font-size:16px}
body.svp-login-page .svp-login-sep{display:flex;align-items:center;gap:12px;margin:22px 0 8px;color:#7a8695;font-size:13px}
body.svp-login-page .svp-login-sep span{height:1px;background:#dce3e8;flex:1}.svp-login-sep em{font-style:normal}
body.svp-login-page .svp-login-passkey,body.svp-login-page .svp-login-formmount button[class*="passkey"],body.svp-login-page .svp-login-formmount button[data-webauthn-form]{width:230px!important;max-width:100%!important;min-height:48px!important;margin:22px auto 0!important;display:flex!important;align-items:center!important;justify-content:center!important;border:1px solid #d4dee5!important;border-radius:9px!important;background:#fff!important;color:#15273b!important;font-size:15px!important;font-weight:800!important;box-shadow:none!important}
body.svp-login-page .svp-login-formmount svg,body.svp-login-page .svp-login-panel svg{max-width:24px!important;max-height:24px!important;width:24px!important;height:24px!important}
body.svp-login-page .svp-field-message{display:block!important;margin:5px 0 0!important;color:#b42318!important;font-size:12px!important;font-weight:650!important;line-height:1.35!important}
body.svp-login-page .svp-login-version{position:absolute;right:18px;bottom:12px;color:#79a72b;font-size:11px;font-weight:800}
/* Suppress legacy containers/options that survived outside the rebuilt shell. */
body.svp-login-page main>.com-users-login:not(.svp-login-shell),body.svp-login-page main>.login:not(.svp-login-shell){display:none!important}
@media(max-width:860px){body.svp-login-page main{min-height:720px!important;padding:26px 14px 50px!important;background-position:72% center!important}body.svp-login-page .svp-login-shell{grid-template-columns:1fr;width:min(620px,calc(100vw - 24px));min-height:0}body.svp-login-page .svp-login-brand{padding:28px 24px 24px}body.svp-login-page .svp-login-brand-logo{width:95px;height:95px;margin-bottom:14px}body.svp-login-page .svp-login-brand-copy h2{font-size:23px}body.svp-login-page .svp-login-brand-copy p{font-size:14px}body.svp-login-page .svp-login-values{margin-top:20px}body.svp-login-page .svp-login-panel{padding:32px 24px 34px}body.svp-login-page .svp-login-head{margin-bottom:26px}body.svp-login-page .svp-login-head h1{font-size:26px!important}}
@media(max-width:520px){body.svp-login-page .svp-login-values{grid-template-columns:repeat(2,1fr)}body.svp-login-page .svp-login-recovery{grid-template-columns:1fr}body.svp-login-page .svp-login-panel{padding:28px 18px 32px}body.svp-login-page .svp-login-shell{border-radius:16px}}

/* SVP 3.0.66 - responsive geometry fix */
body.svp-login-page .svp-login-shell{box-sizing:border-box!important;grid-template-columns:minmax(0,39%) minmax(0,61%)!important;width:min(960px,calc(100vw - 48px))!important;min-height:570px!important;max-width:960px!important}
body.svp-login-page .svp-login-brand{box-sizing:border-box!important;min-width:0!important;overflow:hidden!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;padding:36px 30px!important}
body.svp-login-page .svp-login-brand-logo{flex:0 0 auto!important;width:150px!important;height:150px!important;max-width:65%!important;margin:0 auto 22px!important}
body.svp-login-page .svp-login-brand-copy{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;text-align:center!important;overflow:hidden!important}
body.svp-login-page .svp-login-brand-copy h2{max-width:100%!important;margin-left:auto!important;margin-right:auto!important;font-size:28px!important;overflow-wrap:normal!important;word-break:normal!important}
body.svp-login-page .svp-login-brand-copy p{max-width:100%!important;overflow-wrap:normal!important}
body.svp-login-page .svp-login-values{width:100%!important;max-width:290px!important;margin-left:auto!important;margin-right:auto!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
body.svp-login-page .svp-login-values span{min-width:0!important;white-space:normal!important;line-height:1.2!important}
body.svp-login-page .svp-login-panel{box-sizing:border-box!important;min-width:0!important;overflow:hidden!important;padding:42px 42px 36px!important}
body.svp-login-page .svp-login-formmount,body.svp-login-page .svp-login-formmount form,body.svp-login-page .svp-login-formmount fieldset{min-width:0!important;max-width:100%!important}
body.svp-login-page .svp-login-formmount input,body.svp-login-page .svp-login-formmount button{max-width:100%!important;box-sizing:border-box!important}
body.svp-login-page .svp-login-recovery{min-width:0!important}
body.svp-login-page .svp-login-recovery-link{min-width:0!important;white-space:normal!important}

@media (max-width:1100px){
  body.svp-login-page main{padding:34px 20px 48px!important}
  body.svp-login-page .svp-login-shell{width:min(900px,calc(100vw - 40px))!important;grid-template-columns:minmax(0,40%) minmax(0,60%)!important}
  body.svp-login-page .svp-login-panel{padding:38px 34px 34px!important}
  body.svp-login-page .svp-login-brand{padding:32px 24px!important}
  body.svp-login-page .svp-login-brand-logo{width:132px!important;height:132px!important}
  body.svp-login-page .svp-login-brand-copy h2{font-size:25px!important}
}

@media (max-width:860px){
  body.svp-login-page main{min-height:0!important;padding:24px 14px 40px!important;align-items:flex-start!important;background-position:68% center!important}
  body.svp-login-page .svp-login-shell{grid-template-columns:1fr!important;width:min(620px,calc(100vw - 28px))!important;min-height:0!important;border-radius:18px!important}
  body.svp-login-page .svp-login-brand{padding:24px 22px 22px!important}
  body.svp-login-page .svp-login-brand-logo{width:88px!important;height:88px!important;margin-bottom:12px!important}
  body.svp-login-page .svp-login-brand-copy h2{font-size:22px!important;line-height:1.16!important}
  body.svp-login-page .svp-login-accent{margin:14px auto!important}
  body.svp-login-page .svp-login-brand-copy p{font-size:13px!important;line-height:1.4!important}
  body.svp-login-page .svp-login-values{margin-top:16px!important;max-width:340px!important}
  body.svp-login-page .svp-login-panel{padding:30px 24px 32px!important}
  body.svp-login-page .svp-login-head{margin-bottom:24px!important}
  body.svp-login-page .svp-login-head h1{font-size:25px!important}
}

@media (max-width:520px){
  body.svp-login-page main{padding:14px 8px 28px!important}
  body.svp-login-page .svp-login-shell{width:calc(100vw - 16px)!important;border-radius:14px!important}
  body.svp-login-page .svp-login-brand{padding:20px 16px 18px!important}
  body.svp-login-page .svp-login-brand-logo{width:72px!important;height:72px!important}
  body.svp-login-page .svp-login-brand-copy h2{font-size:20px!important}
  body.svp-login-page .svp-login-values{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:4px!important;margin-top:14px!important}
  body.svp-login-page .svp-login-values b{width:27px!important;height:27px!important;font-size:18px!important}
  body.svp-login-page .svp-login-values span{font-size:9px!important}
  body.svp-login-page .svp-login-panel{padding:24px 16px 28px!important}
  body.svp-login-page .svp-login-head{gap:12px!important;margin-bottom:20px!important}
  body.svp-login-page .svp-login-lock{flex-basis:48px!important;width:48px!important;height:48px!important}
  body.svp-login-page .svp-login-lock:before{left:15px!important;top:21px!important}
  body.svp-login-page .svp-login-lock:after{left:16px!important;top:10px!important}
  body.svp-login-page .svp-login-head h1{font-size:23px!important}
  body.svp-login-page .svp-login-head p{font-size:13px!important}
  body.svp-login-page .svp-login-formmount input[type=text],body.svp-login-page .svp-login-formmount input[type=password],body.svp-login-page .svp-login-formmount input[type=email]{min-height:52px!important;font-size:15px!important}
  body.svp-login-page .svp-login-recovery{grid-template-columns:1fr!important;gap:8px!important;margin-top:18px!important}
  body.svp-login-page .svp-login-passkey{width:100%!important}
  body.svp-login-page .svp-login-version{position:static!important;text-align:right!important;margin-top:18px!important}
}

@media (max-height:720px) and (min-width:861px){
  body.svp-login-page main{min-height:600px!important;padding-top:24px!important;padding-bottom:30px!important}
  body.svp-login-page .svp-login-shell{min-height:530px!important}
  body.svp-login-page .svp-login-brand{padding-top:24px!important;padding-bottom:24px!important}
  body.svp-login-page .svp-login-brand-logo{width:112px!important;height:112px!important;margin-bottom:14px!important}
  body.svp-login-page .svp-login-brand-copy h2{font-size:24px!important}
  body.svp-login-page .svp-login-values{margin-top:22px!important}
  body.svp-login-page .svp-login-panel{padding-top:30px!important;padding-bottom:28px!important}
  body.svp-login-page .svp-login-head{margin-bottom:22px!important}
}

/* SVP 3.0.106 - mobile-first login refinement */
body.svp-login-page{
  --svp-green:#468028;
  --svp-green-dark:#18351e;
  --svp-green-deep:#0f2615;
  --svp-green-light:#a9d06d;
  --svp-green-soft:#eaf2e4;
  --svp-cream:#f7f5ee;
  --svp-text:#202520;
  --svp-muted:#647267;
}
body.svp-login-page .svp-login-brand{
  background:radial-gradient(circle at 50% 18%,rgba(255,255,255,.12),transparent 30%),linear-gradient(145deg,var(--svp-green),var(--svp-green-deep))!important;
}
body.svp-login-page .svp-login-head h1{color:var(--svp-green)!important}
body.svp-login-page .svp-login-lock{background:var(--svp-green-soft)!important}
body.svp-login-page .svp-login-lock:before{background:var(--svp-green)!important}
body.svp-login-page .svp-login-lock:after{border-color:var(--svp-green)!important}
body.svp-login-page .svp-login-formmount input:focus,
body.svp-login-page .svp-login-formmount select:focus{
  outline:3px solid rgba(70,128,40,.18)!important;
  border-color:var(--svp-green)!important;
}
body.svp-login-page .svp-login-formmount button[type=submit],
body.svp-login-page .svp-login-formmount input[type=submit]{
  background:linear-gradient(90deg,#468028,#376d24)!important;
  box-shadow:0 10px 22px rgba(70,128,40,.20)!important;
}
body.svp-login-page .svp-login-formmount input[type=checkbox]{accent-color:var(--svp-green)!important}
body.svp-login-page .svp-login-recovery-link{color:var(--svp-green)!important;background:#f2f6ef!important}
body.svp-login-page .svp-login-member-cta{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;
  margin-top:16px!important;padding:14px 16px!important;border:1px solid #d9e6d2!important;border-radius:12px!important;
  background:var(--svp-green-soft)!important;color:var(--svp-green-deep)!important;text-decoration:none!important;font-size:13px!important;
}
body.svp-login-page .svp-login-member-cta strong{color:var(--svp-green)!important;font-size:14px!important}
body.svp-login-page .svp-login-formmount select{
  width:100%!important;min-height:50px!important;border:1px solid #cdd8ca!important;border-radius:10px!important;background:#fff!important;
  padding:0 14px!important;color:var(--svp-text)!important;font-size:15px!important;
}
body.svp-login-page .svp-password-wrap>.svp-native-password-toggle,
body.svp-login-page .svp-password-wrap>button:not(.svp-eye-toggle),
body.svp-login-page .svp-password-wrap>.btn:not(.svp-eye-toggle){display:none!important}
body.svp-login-page .svp-login-formmount .svp-eye-toggle{display:block!important}

@media (max-width:600px){
  html.svp-login-active,body.svp-login-page{min-height:100%!important;background:#eef3ea!important}
  body.svp-login-page main{
    min-height:100svh!important;padding:12px 10px 24px!important;align-items:flex-start!important;
    background-position:72% center!important;background-attachment:scroll!important;
  }
  body.svp-login-page main:before{background:rgba(239,245,235,.54)!important;backdrop-filter:blur(1px)}
  body.svp-login-page .svp-login-shell{
    width:100%!important;max-width:480px!important;margin:0 auto!important;border-radius:20px!important;
    box-shadow:0 16px 44px rgba(15,38,21,.20)!important;overflow:hidden!important;background:#fff!important;
  }
  body.svp-login-page .svp-login-brand{
    min-height:124px!important;display:grid!important;grid-template-columns:58px 1fr!important;gap:15px!important;
    align-items:center!important;justify-content:stretch!important;padding:18px 20px!important;text-align:left!important;
  }
  body.svp-login-page .svp-login-brand-logo{
    width:58px!important;height:58px!important;max-width:none!important;margin:0!important;filter:brightness(0) invert(1)!important;
  }
  body.svp-login-page .svp-login-brand-copy{display:block!important;text-align:left!important;overflow:visible!important}
  body.svp-login-page .svp-login-brand-copy h2{
    margin:0!important;font-size:20px!important;line-height:1.18!important;letter-spacing:-.02em!important;text-align:left!important;
  }
  body.svp-login-page .svp-login-accent,
  body.svp-login-page .svp-login-brand-copy p,
  body.svp-login-page .svp-login-values{display:none!important}
  body.svp-login-page .svp-login-panel{padding:22px 18px 24px!important;overflow:visible!important}
  body.svp-login-page .svp-login-head{gap:12px!important;align-items:center!important;margin:0 0 20px!important}
  body.svp-login-page .svp-login-lock{flex:0 0 42px!important;width:42px!important;height:42px!important}
  body.svp-login-page .svp-login-lock:before{width:15px!important;height:13px!important;left:14px!important;top:19px!important}
  body.svp-login-page .svp-login-lock:after{width:11px!important;height:10px!important;left:14px!important;top:9px!important;border-width:2px!important}
  body.svp-login-page .svp-login-head h1{margin:0 0 2px!important;font-size:24px!important;line-height:1.05!important}
  body.svp-login-page .svp-login-head p{font-size:13px!important;line-height:1.35!important}
  body.svp-login-page .svp-login-formmount .control-group,
  body.svp-login-page .svp-login-formmount .mb-3,
  body.svp-login-page .svp-login-formmount .form-group{margin-bottom:14px!important}
  body.svp-login-page .svp-login-formmount label{margin-bottom:6px!important;font-size:13px!important}
  body.svp-login-page .svp-login-formmount input[type=text],
  body.svp-login-page .svp-login-formmount input[type=password],
  body.svp-login-page .svp-login-formmount input[type=email]{
    min-height:50px!important;height:50px!important;border-radius:11px!important;font-size:16px!important;padding-left:14px!important;
  }
  body.svp-login-page .svp-login-formmount button[type=submit],
  body.svp-login-page .svp-login-formmount input[type=submit]{
    min-height:50px!important;height:50px!important;margin-top:2px!important;border-radius:11px!important;font-size:16px!important;
  }
  body.svp-login-page .svp-login-formmount .form-check,
  body.svp-login-page .svp-login-formmount .checkbox{margin:5px 0 14px!important;font-size:13px!important}
  body.svp-login-page .svp-login-language{display:none!important}
  body.svp-login-page .svp-login-recovery{grid-template-columns:1fr!important;gap:8px!important;margin-top:15px!important}
  body.svp-login-page .svp-login-recovery-link{min-height:44px!important;padding:9px 12px!important;font-size:13px!important;border-radius:10px!important}
  body.svp-login-page .svp-login-member-cta{margin-top:12px!important;padding:12px 14px!important;flex-direction:column!important;align-items:flex-start!important;gap:3px!important}
  body.svp-login-page .svp-login-passkey,
  body.svp-login-page .svp-login-formmount button[class*="passkey"],
  body.svp-login-page .svp-login-formmount button[data-webauthn-form]{width:100%!important;min-height:44px!important;margin:14px 0 0!important}
  body.svp-login-page .svp-login-version{display:none!important}
}

@media (max-width:360px){
  body.svp-login-page main{padding-left:6px!important;padding-right:6px!important}
  body.svp-login-page .svp-login-shell{border-radius:16px!important}
  body.svp-login-page .svp-login-brand{grid-template-columns:50px 1fr!important;padding:15px 16px!important;min-height:108px!important}
  body.svp-login-page .svp-login-brand-logo{width:50px!important;height:50px!important}
  body.svp-login-page .svp-login-brand-copy h2{font-size:18px!important}
  body.svp-login-page .svp-login-panel{padding:20px 14px 22px!important}
}
