/* Login reference layout. Uses the shared original brand palette. */
body.login-page.src-login-screen{
 display:grid;grid-template-columns:minmax(0,1fr);place-items:center;position:relative;isolation:isolate;
 min-height:100vh;min-height:100svh;margin:0;
 padding:76px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left));
 background:var(--src-charcoal)!important;color:var(--src-text);
}
.src-login-screen *{box-sizing:border-box}
.src-auth-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 48% 38%,var(--src-charcoal-2),var(--src-charcoal) 75%)}
.src-auth-backdrop:before,.src-auth-backdrop:after{content:"";position:absolute;width:clamp(600px,78vw,1600px);height:clamp(380px,50vw,950px);border:2px solid rgba(168,207,22,.66);border-radius:50%;background:linear-gradient(175deg,rgba(168,207,22,.14),rgba(31,36,43,.02) 35%);box-shadow:inset 0 16px 60px rgba(168,207,22,.045)}
.src-auth-backdrop:before{right:-37%;top:-64%;transform:rotate(24deg)}
.src-auth-backdrop:after{left:-47%;bottom:-74%;transform:rotate(24deg)}
.src-auth-language{position:absolute;top:max(16px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));width:250px;z-index:2}
.src-auth-language .row,.src-auth-language .form-group{margin:0!important}
.src-auth-language [class*=col-]{float:none;width:100%;padding:0}
.src-login-screen .src-auth-language .language_id{width:100%;max-width:none;height:44px;margin:0!important;padding:10px 18px;font-size:16px;background:#fff;border:1px solid var(--src-border);border-radius:9px;color:var(--src-text)}
.src-auth-main{width:680px;max-width:100%;min-width:0;position:relative}
.src-login-screen .login-box{width:100%;max-width:none;margin:0;padding:28px 54px 24px;border:1px solid var(--src-border);border-top:7px solid var(--src-lime);border-radius:30px;background:#fff;box-shadow:0 24px 64px rgba(0,0,0,.28)}
.src-login-screen .login-logo{margin:0 0 20px;text-align:center;line-height:1}
.src-login-screen .login-brand{display:inline-block;max-width:100%;vertical-align:top}
.src-login-screen .login-logo img{display:block;width:320px;height:128px;max-width:100%;max-height:none;object-fit:contain;padding:13px 20px;border-radius:19px;background:#fff;box-shadow:0 10px 23px rgba(31,36,43,.16)}
.src-login-screen .login-brand-name{display:block;font-size:28px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.src-login-screen .login-box-body{padding:0;background:transparent}
.src-login-screen .login-box-msg{margin:0 0 26px;padding:0;text-align:center;font-size:clamp(25px,3.5vw,36px);font-weight:750;letter-spacing:-.6px;line-height:1.3;color:var(--src-text)}
.src-login-screen .login-box-msg:after{content:"";display:block;width:108px;height:6px;border-radius:5px;background:var(--src-lime);margin:14px auto 0}
.src-login-screen .form-group{margin:0 0 16px;position:relative}
.src-login-screen #email{border-color:var(--src-lime-dark)}
.src-login-screen .form-control{display:block;width:100%;height:56px;border:1px solid var(--src-border);border-radius:10px;background:#fff;padding:13px 48px 13px 21px;font-size:17px;line-height:1.4;box-shadow:0 1px 2px rgba(31,36,43,.025)}
.src-login-screen .form-control::placeholder{color:var(--src-muted);opacity:1}
.src-login-screen .form-control:focus{border-color:var(--src-lime-dark);box-shadow:var(--src-focus);outline:none}
.src-login-screen .form-control-feedback{width:48px;height:56px;line-height:56px;font-size:19px;color:var(--src-muted);pointer-events:none}
.src-login-screen .btn-primary{width:100%;height:58px;margin-top:8px;border:1px solid var(--src-lime-dark);border-radius:10px;background:var(--src-lime-dark);color:#fff;font-size:22px;font-weight:700;line-height:1.2;box-shadow:none;transition:filter .12s ease}
.src-login-screen .btn-primary:hover,.src-login-screen .btn-primary:focus{background:var(--src-lime-dark);border-color:var(--src-lime-dark);filter:brightness(.94)}
.src-login-screen .btn-primary:disabled{opacity:.7;cursor:wait}
.src-auth-version{display:flex;align-items:center;gap:30px;margin:24px 8px 0;color:var(--src-muted);font-size:15px;white-space:nowrap;text-align:center}
.src-auth-version:before,.src-auth-version:after{content:"";height:1px;background:var(--src-border);flex:1}
.src-auth-support{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 28px;padding:10px 8px 0;font-size:13px}
.src-auth-support a{color:#fff;text-decoration:none;min-height:32px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;border:1px solid rgba(255,255,255,.28);border-radius:7px;background:var(--src-charcoal-2);font-weight:600}
.src-auth-support a svg,.src-auth-support small{color:var(--src-lime)}
.src-auth-support small{font-size:.78em;letter-spacing:.04em}
.src-auth-support a:hover,.src-auth-support a:focus{color:#fff;border-color:var(--src-lime);text-decoration:none}
.src-auth-support a:focus-visible{outline:2px solid var(--src-lime);outline-offset:2px}
@media(max-width:500px){
 .src-auth-support{gap:6px;padding-inline:0}
 .src-auth-support a{gap:4px;padding-inline:6px;white-space:nowrap}
 .src-auth-download-verb{display:none}
}
.src-auth-alert{margin:0 0 20px;padding:11px 14px;border:1px solid rgba(180,35,24,.25);border-radius:8px;background:rgba(180,35,24,.06);color:var(--src-danger);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.src-auth-alert.is-success{border-color:rgba(33,135,57,.25);background:var(--src-lime-soft);color:var(--src-success)}
@media(min-width:1800px){body.login-page.src-login-screen{padding-top:76px;padding-bottom:24px}.src-auth-backdrop:before{right:-30%;top:-66%}.src-auth-backdrop:after{left:-38%;bottom:-80%}}
@media(max-width:767px){
 body.login-page.src-login-screen{padding:72px 20px 12px;min-height:100svh}
 .src-auth-language{top:18px;left:20px;width:190px}
 .src-login-screen .src-auth-language .language_id{height:44px;font-size:16px;padding:8px 13px}
 .src-auth-main{width:540px}
 .src-login-screen .login-box{padding:30px 30px 27px;border-radius:24px;border-top-width:6px}
 .src-login-screen .login-logo img{width:284px;height:118px;padding:12px 17px}
 .src-login-screen .login-box-msg{margin-bottom:27px;font-size:29px}
 .src-auth-backdrop:before{right:-115%;top:-48%}.src-auth-backdrop:after{left:-125%;bottom:-64%}
}
@media(max-width:480px){
 body.login-page.src-login-screen{padding:72px 16px 12px}
 .src-auth-language{left:16px;top:16px;width:160px}
 .src-login-screen .login-box{padding:27px 22px 25px;border-radius:22px}
 .src-login-screen .login-logo{margin-bottom:23px}
 .src-login-screen .login-logo img{width:248px;height:103px;padding:11px 15px;border-radius:15px}
 .src-login-screen .login-box-msg{font-size:clamp(23px,6.5vw,28px);letter-spacing:-.4px;margin-bottom:26px}
 .src-login-screen .login-box-msg:after{width:82px;height:5px;margin-top:14px}
 .src-login-screen .form-control{height:52px;font-size:16px;padding-left:15px}
 .src-login-screen .form-control-feedback{height:52px;line-height:52px;font-size:17px}
 .src-login-screen .form-group{margin-bottom:17px}
 .src-login-screen .btn-primary{height:52px;font-size:19px;margin-top:6px}
 .src-auth-version{margin-top:25px;gap:18px;font-size:13px}
 .src-auth-support{font-size:12px;padding-top:12px}
}
/* Height-aware sizes keep the full card visible without zooming. */
@media(max-height:800px){
 body.login-page.src-login-screen{padding-top:68px;padding-bottom:10px}
 .src-auth-language{top:12px}
 .src-login-screen .src-auth-language .language_id{height:42px}
 .src-login-screen .login-box{padding-top:23px;padding-bottom:20px}
 .src-login-screen .login-logo{margin-bottom:16px}
 .src-login-screen .login-logo img{width:278px;height:108px}
 .src-login-screen .login-box-msg{font-size:clamp(22px,6.4vw,30px);margin-bottom:23px}
 .src-login-screen .login-box-msg:after{margin-top:12px;height:5px}
 .src-login-screen .form-group{margin-bottom:15px}
 .src-login-screen .form-control,.src-login-screen .form-control-feedback{height:50px;font-size:16px}
 .src-login-screen .form-control-feedback{line-height:50px}
 .src-login-screen .btn-primary{height:50px;font-size:20px;margin-top:5px}
 .src-auth-version{margin-top:21px;font-size:13px}
 .src-auth-support{padding-top:7px}
}
@media(max-height:700px){
 body.login-page.src-login-screen{padding-top:62px;padding-bottom:8px}
 .src-auth-language{top:10px}
 .src-login-screen .src-auth-language .language_id{height:40px}
 .src-login-screen .login-box{padding-top:17px;padding-bottom:17px;border-radius:22px;border-top-width:5px}
 .src-login-screen .login-logo{margin-bottom:12px}
 .src-login-screen .login-logo img{width:220px;height:82px;padding:8px 12px;border-radius:13px}
 .src-login-screen .login-box-msg{font-size:clamp(21px,6.4vw,25px);margin-bottom:17px}
 .src-login-screen .login-box-msg:after{width:82px;margin-top:10px;height:4px}
 .src-login-screen .form-group{margin-bottom:12px}
 .src-login-screen .form-control,.src-login-screen .form-control-feedback{height:44px}
 .src-login-screen .form-control-feedback{line-height:44px}
 .src-login-screen .btn-primary{height:44px;font-size:18px;margin-top:2px}
 .src-auth-version{margin-top:16px;font-size:12px}
 .src-auth-support{padding-top:5px;font-size:12px}
 .src-auth-support a{min-height:28px}
}
@media(max-height:600px){
 body.login-page.src-login-screen{padding-top:56px;padding-bottom:6px}
 .src-auth-language{top:8px}
 .src-login-screen .src-auth-language .language_id{height:38px}
 .src-login-screen .login-box{padding-top:14px;padding-bottom:14px}
 .src-login-screen .login-logo{margin-bottom:10px}
 .src-login-screen .login-logo img{width:182px;height:64px;padding:5px 9px}
 .src-login-screen .login-box-msg{font-size:clamp(20px,6.2vw,22px);margin-bottom:14px}
 .src-login-screen .login-box-msg:after{display:none}
 .src-login-screen .form-group{margin-bottom:10px}
 .src-auth-version{margin-top:14px}
}
@media(min-width:560px) and (max-height:550px){
 body.login-page.src-login-screen{padding-top:50px;padding-bottom:6px}
 .src-auth-language{top:6px;width:175px}
 .src-login-screen .src-auth-language .language_id{height:36px;font-size:14px;padding:5px 10px}
 .src-auth-main{width:720px}
 .src-login-screen .login-box{display:grid;grid-template-columns:minmax(130px,.65fr) minmax(0,1fr);align-items:center;gap:25px;padding:16px 24px;border-radius:18px}
 .src-login-screen .login-logo{margin:0}
 .src-login-screen .login-logo img{width:220px;height:auto;max-height:112px;padding:7px}
 .src-login-screen .login-box-msg{font-size:22px;margin-bottom:13px;letter-spacing:-.3px}
 .src-login-screen .form-control,.src-login-screen .form-control-feedback{height:40px}
 .src-login-screen .form-control{padding:8px 38px 8px 12px}
 .src-login-screen .form-control-feedback{line-height:40px;width:38px;font-size:16px}
 .src-login-screen .btn-primary{height:40px;font-size:17px;margin-top:0}
 .src-auth-version{margin-top:10px;font-size:11px}
 .src-auth-support{padding-top:3px}
 .src-auth-support a{min-height:24px}
}
@media(max-width:559px) and (max-height:550px){
 body.login-page.src-login-screen{padding-top:50px;padding-bottom:4px}
 .src-auth-language{top:6px}
 .src-login-screen .src-auth-language .language_id{height:36px;font-size:14px;padding:5px 10px}
 .src-login-screen .login-box{padding-top:10px;padding-bottom:10px;border-radius:17px}
 .src-login-screen .login-logo{margin-bottom:8px}
 .src-login-screen .login-logo img{width:142px;height:44px;padding:3px 7px;border-radius:8px}
 .src-login-screen .login-box-msg{font-size:20px;margin-bottom:10px}
 .src-login-screen .form-group{margin-bottom:8px}
 .src-login-screen .form-control,.src-login-screen .form-control-feedback{height:40px}
 .src-login-screen .form-control-feedback{line-height:40px}
 .src-login-screen .btn-primary{height:40px;font-size:17px;margin-top:0}
 .src-auth-version{margin-top:10px;font-size:11px}
 .src-auth-support{padding-top:3px}
 .src-auth-support a{min-height:24px}
}
@media(min-width:560px) and (max-height:360px){
 .src-login-screen .login-box{padding-top:10px;padding-bottom:10px}
 .src-login-screen .login-box-msg{font-size:20px;margin-bottom:10px}
 .src-login-screen .form-group{margin-bottom:8px}
 .src-auth-version{margin-top:8px}
}
/* A keyboard or enlarged accessibility text may still require vertical scroll. */
.src-login-screen .src-auth-language .language_id,
.src-login-screen .form-control,.src-login-screen .btn-primary,
.src-login-screen .src-auth-support a{min-height:44px}
@media(prefers-reduced-motion:reduce){.src-login-screen *{transition:none!important}}
