*{box-sizing:border-box}
html{min-height:100%;background:#020b1b;color-scheme:dark}
body{margin:0;min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:36px 20px;font-family:Segoe UI,Arial,sans-serif;color:#e6f7ff;background:linear-gradient(180deg,rgba(1,7,20,.12),rgba(1,9,24,.36)),url("login-landscape.png?v=v402") center center/cover no-repeat fixed}
.login-card{width:min(420px,100%);padding:30px 38px 22px;text-align:center;border:1px solid rgba(70,213,255,.85);border-radius:20px;background:linear-gradient(145deg,rgba(9,31,59,.86),rgba(2,14,34,.9));box-shadow:0 0 0 5px rgba(5,42,77,.28),0 0 32px rgba(0,179,255,.23),0 24px 75px #0009,inset 0 1px 20px #22baff0b;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.login-logo{display:block;width:120px;height:120px;object-fit:contain;margin:0 auto 10px;border-radius:20px;box-shadow:0 0 27px #008aff30}
h1{margin:0;color:#ecfaff;font-size:38px;line-height:1.15;font-weight:800;letter-spacing:5px;text-shadow:0 0 20px #00bcff75}
.subtitle{margin:9px 0 0;font-size:12px;letter-spacing:5px;color:#81dfff;font-weight:600}
.divider{height:1px;margin:24px 0;background:linear-gradient(90deg,transparent,#24bce0a6,transparent)}
form{text-align:left}label{display:block;font-size:13px;color:#caeaff;margin-bottom:9px;font-weight:600}
input{display:block;width:100%;height:48px;margin-bottom:20px;padding:0 15px;border:1px solid #28739a;border-radius:8px;background:#021126bf;color:#f1fbff;font:inherit;font-size:14px;box-shadow:inset 0 2px 8px #0004}
input::placeholder{color:#8cacc2}input:focus-visible{outline:2px solid #69e7ff;outline-offset:3px;border-color:#55dfff}
button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:49px;margin-top:7px;border:1px solid #76ecff;border-radius:8px;background:linear-gradient(180deg,#24c9ef,#087abb);box-shadow:0 0 20px #00beff35,inset 0 1px 0 #ffffff50;color:#021425;font:inherit;font-weight:750;font-size:16px;cursor:pointer}
button:hover{background:linear-gradient(180deg,#66e5ff,#20a6df)}button:focus-visible{outline:2px solid white;outline-offset:4px}button:active{transform:translateY(1px)}
.version{margin:23px 0 0;font-size:11px;letter-spacing:1px;color:#9dbed4}
.flash{padding:12px;margin-bottom:18px;background:#351723e8;border:1px solid #e3839d;border-radius:8px;color:#ffe7ed;font-size:14px;line-height:1.5;text-align:left;overflow-wrap:anywhere}
@media(max-width:480px){body{padding:20px 16px;background-attachment:scroll}.login-card{padding:25px 25px 20px}h1{font-size:32px}.login-logo{width:104px;height:104px}}
@media(max-height:650px) and (min-width:481px){body{padding:20px}.login-card{padding:20px 32px}.login-logo{width:84px;height:84px}.divider{margin:18px 0}}
