/* Access screen only. The operational interface retains its own layout. */
body.login-auth{margin:0;background:#f8f9f8;color:var(--text);min-width:320px;isolation:isolate}
.login-auth .login-layout{position:relative;min-height:100svh;overflow:hidden;background:transparent}
.login-auth .login-layout:before,.login-auth .login-layout:after{content:"";position:absolute;width:470px;height:470px;background:url('assets/access-wheel.svg') center/contain no-repeat;opacity:.075;pointer-events:none;z-index:-1}
.login-auth .login-layout:before{right:-230px;top:-180px;transform:rotate(14deg)}
.login-auth .login-layout:after{left:-290px;bottom:-230px;transform:rotate(-8deg)}
.login-auth .login-layout>.entry-v2{min-height:100svh;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:1fr auto;gap:0 64px;align-items:center;max-width:1280px;margin:auto;padding:100px 64px 0;background:transparent}
body.login-auth:before,body.login-auth:after{content:"";position:fixed;pointer-events:none;width:340px;height:48px;transform:rotate(-45deg);background:linear-gradient(to bottom,#e5e9e6 0 8px,#fff 8px 14px,#086a42 14px 28px,#fff 28px 37px,#096940 37px 40px,transparent 40px);z-index:0}
body.login-auth:before{top:39px;left:-96px}
body.login-auth:after{bottom:46px;right:-103px;background:linear-gradient(to bottom,#076740 0 15px,#fff 15px 24px,#d7ded9 24px 33px,#fff 33px 40px,#bc243b 40px 43px,transparent 43px)}
.login-auth .entry-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:44px;text-align:center;min-height:0;padding:0;background:none;border:0}
.login-auth .entry-banner>div:first-child{width:100%}
.login-auth .entry-banner .logo{display:block;width:min(100%,420px)!important;margin:0 auto 24px}
.login-auth .entry-banner h1{font-size:clamp(17px,1.6vw,23px);letter-spacing:.12em;line-height:1.35;font-weight:600;margin:0 auto;color:var(--text)}
.login-auth .brand-signature{display:flex;gap:18px;align-items:center;justify-content:center;margin-top:24px}
.login-auth .brand-signature i{height:2px;width:90px;background:#087044}
.login-auth .brand-signature i:last-child{background:#be243b}
.login-auth .brand-signature img{height:28px;width:28px}
.login-auth .entry-services{display:flex;flex-direction:row;justify-content:center;gap:32px;padding:0;width:100%}
.login-auth .entry-service{display:flex;gap:12px;align-items:center;text-align:left;font-size:15px;font-weight:600;line-height:1.6;min-width:0}
.login-auth .entry-service small{display:block;font-size:9px;letter-spacing:.14em}
.login-auth .entry-service>span:first-child{display:grid;place-items:center;width:42px;height:42px;flex-shrink:0;border:0;border-radius:50%;background:#e6f0e9;color:#126943}
.login-auth .entry-service .ui-icon{width:23px;height:23px}
.login-auth .entry-access{width:100%;max-width:440px;padding:36px 0 36px 36px;border-left:1px solid var(--line);margin:0;box-sizing:border-box}
.login-auth .entry-access h2{font-size:27px;line-height:1.2;letter-spacing:-.03em;margin:0 0 12px}
.login-auth .entry-access>p{font-size:14px;line-height:1.65;margin:0}
.login-auth .login-form{margin-top:26px}
.login-auth .login-form input{background:var(--panel);border:1px solid var(--line);border-radius:8px;color:var(--text);padding:13px 14px}
.login-auth .password-field input{padding-right:54px}
.login-auth .login-form>.primary{background:#086740;color:white;border:0;border-radius:8px;font-size:14px;font-weight:600;transition:background .18s ease,transform .18s ease}
.login-auth .login-form>.primary:hover{background:#075334}
.login-auth .login-form>.primary:active{transform:translateY(1px)}
.login-auth input:focus-visible,.login-auth a:focus-visible,.login-auth button:focus-visible{outline:2px solid #168151;outline-offset:3px}
.login-auth .entry-footer{grid-column:1/-1;background:none;border:0;text-align:center;padding:40px 0 22px;margin:0;font-size:11px;line-height:1.8}
.login-auth .entry-theme{right:24px;top:22px}
.login-auth .entry-access .login-error,.login-auth .entry-access .login-success{margin-top:16px}
html[data-theme="dark"] body.login-auth{background:#081d16}
html[data-theme="dark"] .login-auth .login-layout:before,html[data-theme="dark"] .login-auth .login-layout:after{filter:invert(1);opacity:.08}
html[data-theme="dark"] .login-auth .entry-service>span:first-child{background:#163b2c;color:#a3f49b}
html[data-theme="dark"] .login-auth .login-form>.primary{background:#a3f49b;color:#092519}
html[data-theme="dark"] .login-auth .login-form>.primary:hover{background:#b9ffb2}
@media(min-width:901px) and (prefers-reduced-motion:no-preference){.login-auth .entry-banner,.login-auth .entry-access{animation:access-enter .35s ease-out both}.login-auth .entry-access{animation-delay:.06s}@keyframes access-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1000px){.login-auth .login-layout>.entry-v2{gap:0 32px;padding-left:32px;padding-right:32px}.login-auth .entry-services{gap:20px}.login-auth .entry-service{font-size:13px}.login-auth .entry-access{padding-left:24px}}
@media(max-width:760px){.login-auth .login-layout>.entry-v2{display:flex;flex-direction:column;padding:90px 24px 0;gap:32px}.login-auth .entry-banner{width:100%;gap:24px}.login-auth .entry-banner .logo{width:245px!important;margin-bottom:16px}.login-auth .entry-banner h1{font-size:17px;letter-spacing:.1em}.login-auth .brand-signature{margin-top:16px;gap:14px}.login-auth .brand-signature i{width:65px}.login-auth .brand-signature img{width:23px;height:23px}.login-auth .entry-services{gap:28px}.login-auth .entry-access{padding:28px 0 0;border-left:0;border-top:1px solid var(--line);max-width:440px;margin:0}.login-auth .entry-access h2{font-size:25px}.login-auth .entry-footer{padding:0 0 24px;width:100%;margin-top:auto}.login-auth .login-layout:before{width:330px;height:330px;right:-200px;top:25px}.login-auth .entry-theme{top:16px;right:16px}.login-auth .entry-access .back{margin-top:22px}body.login-auth:before{left:-145px;top:17px}body.login-auth:after{right:-180px;bottom:14px}}
@media(max-width:360px){.login-auth .login-layout>.entry-v2{padding-left:20px;padding-right:20px}.login-auth .entry-services{gap:15px}.login-auth .entry-service{font-size:12px;gap:7px}.login-auth .entry-service>span:first-child{width:35px;height:35px}.login-auth .entry-access h2{font-size:23px}}
/* Decorative stripes sit behind content, including on short mobile screens. */
body.login-auth:before,body.login-auth:after{z-index:-1}
@media(min-width:761px) and (max-width:900px){.login-auth .login-layout>.entry-v2{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px}.login-auth .entry-services{gap:14px;flex-wrap:wrap}.login-auth .entry-banner h1{font-size:16px}}
@media(max-width:760px){body.login-auth{position:relative}body.login-auth:before,body.login-auth:after{position:absolute}body.login-auth:after{bottom:10px;right:-230px}}
body.login-auth{overflow-x:clip}
@media(max-width:760px){body.login-auth:after{display:none}}
