*{box-sizing:border-box}
:root{color-scheme:light;font-family:"Segoe UI",Arial,sans-serif;color:#081953}
body{margin:0;min-height:100dvh;display:grid;place-items:center;padding:24px 20px;background:radial-gradient(ellipse at center,#0876be,#06366d 65%,#042b5b);--panel-width:clamp(420px,31.7vw,533px)}
/* Each complete scene fits its own side without stretching or desktop cover cropping. */
body::before,body::after{content:"";position:fixed;top:0;bottom:0;width:calc((100% - var(--panel-width))/2 - 12px);background-position:center;background-size:contain;background-repeat:no-repeat;pointer-events:none;z-index:-1}
body::before{left:0;background-image:url('/assets/login-facility.png')}
body::after{right:0;background-image:url('/assets/login-production.png')}
.login{position:relative;isolation:isolate;overflow:hidden;width:var(--panel-width);max-width:100%;min-width:0;min-height:64dvh;padding:18px clamp(24px,2.45vw,42px) 62px;text-align:center;border:3px solid white;border-radius:32px;background:radial-gradient(ellipse at 50% 55%,#fff 22%,#f0f8ff 65%,#82c6fa 100%);box-shadow:0 0 0 7px #007fe1aa,0 0 18px 8px #00b7ff,0 22px 50px #001e55aa,inset 0 0 14px #fff}
.logo{display:block;width:clamp(190px,17.3vw,266px);max-width:100%;height:auto;margin:0 auto 12px}
.eyebrow{display:flex;align-items:center;gap:12px;margin:8px 0;color:#081953;font-size:clamp(10px,.87vw,12px);font-weight:650;letter-spacing:3px;white-space:nowrap}
.eyebrow:before,.eyebrow:after{content:"";height:2px;flex:1;background:#0965bd}
h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(32px,2.45vw,40px);letter-spacing:-1px;line-height:1.12;margin:10px -12px}
.intro{margin:8px -14px 18px;padding:7px 4px;background:linear-gradient(90deg,transparent,#0579e8 13%,#082e80 50%,#0579e8 87%,transparent);color:#fff;font-size:clamp(16px,1.23vw,20px);font-weight:700}
form{text-align:left}label{display:flex;align-items:center;gap:9px;font-size:clamp(14px,.87vw,16px);font-weight:650;margin:10px 5px 5px}label svg,footer svg{width:18px;height:20px;flex-shrink:0}
input[type=email],input[type=password],input[type=text]{width:100%;height:40px;padding:9px 16px;border:1px solid #b7cee7;border-radius:13px;background:#ffffffed;color:#173957;font:inherit;box-shadow:0 2px 2px #143b6520}
input::placeholder{color:#59728e;opacity:1}
.show-password{font-size:13px;font-weight:500;margin:9px 2px;gap:7px;cursor:pointer}.show-password input{accent-color:#075bb0;width:16px;height:16px;margin:0}
button{display:block;width:100%;padding:10px;margin-top:10px;border:1px solid #2caaff;border-radius:16px;background:linear-gradient(#007eff,#06418f 40%,#031a45);box-shadow:0 4px 6px #103a6740,inset 0 1px 2px #73d2ff;color:white;font:700 clamp(20px,1.37vw,24px) "Segoe UI",Arial,sans-serif;cursor:pointer}button span{margin-right:9px}button:hover{filter:brightness(1.1)}button:active{transform:translateY(1px)}button:disabled{opacity:.65;cursor:wait}
input:focus-visible,button:focus-visible{outline:3px solid #0875d1;outline-offset:3px}
#administrator-message{color:#9c2222;font-size:14px;line-height:1.4;margin:12px 0 0}#administrator-message:empty{display:none}
footer{display:flex;align-items:center;justify-content:center;gap:8px;font-size:clamp(14px,.98vw,16px);font-weight:500;margin-top:18px}
.panel-waves{position:absolute;bottom:0;left:0;width:100%;height:54px;z-index:-1}
@media(min-width:1000px) and (min-height:850px){.login{display:flex;flex-direction:column;justify-content:center}.logo{margin-bottom:12px}}
@media(max-width:1000px){body{padding:30px 20px;background:#06366d url('/assets/login-background-mobile.png') center/contain no-repeat fixed}body::before,body::after{display:none}.login{width:60vw;min-height:0;padding-top:25px;border-radius:32px}.intro{font-size:19px}}
@media(max-width:600px){body{padding:22px 14px;background-position:center}.login{width:100%;min-width:0;padding:24px 22px 75px;border-radius:28px}.logo{width:260px}.eyebrow{font-size:9px;letter-spacing:2px;gap:8px}h1{font-size:32px}.intro{font-size:16px;margin:12px -10px 20px}footer{font-size:15px;margin-top:22px}input[type=email],input[type=password],input[type=text]{font-size:16px}.panel-waves{height:56px}}
@media(prefers-reduced-motion:reduce){button:active{transform:none}}
