*{box-sizing:border-box}
.login-page{margin:0;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:32px 18px;background:#030e1b;color:#f3f7ff;font:16px/1.5 Inter,"Segoe UI",Arial,sans-serif}
.login-card{position:relative;z-index:1;width:min(440px,100%);padding:28px 30px 25px;border:1px solid #5e99cb80;border-radius:18px;background:linear-gradient(135deg,#16324caa,#041321ed);box-shadow:0 20px 65px #0006,inset 0 1px 0 #ffffff0b;backdrop-filter:blur(12px);animation:login-enter .36s ease-out both}
.login-brand.unified-brand{display:flex;align-items:center;justify-content:center;width:84px;height:84px;margin:0 auto 18px;background:transparent}
.login-brand #official-logo{display:block;width:84px;height:84px;object-fit:contain}
.login-card h1{margin:0 0 8px;text-align:center;font-size:23px;font-weight:650;line-height:1.25;letter-spacing:-.4px}
.login-subtitle{margin:0;text-align:center;font-size:14px;color:#9eb2c9}
.login-card form{margin-top:25px}.login-card label{display:block;margin-bottom:6px;font-size:14px;font-weight:600}
.auth-field{display:flex;align-items:center;gap:11px;min-height:46px;padding:0 13px;border:1px solid #38516a;border-radius:9px;background:#10203291;color:#8ca6c0;transition:border-color .16s ease,box-shadow .16s ease}
.auth-field:focus-within{border-color:#40a5ff;box-shadow:0 0 0 3px #218bff1c}
.auth-field>svg{width:19px;height:19px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.auth-field input{width:100%;min-width:0;padding:11px 0;background:transparent;color:#eff6ff;border:0;outline:0;font:inherit;font-size:16px;line-height:22px}
.auth-field input::placeholder{color:#8496ad;opacity:1}.login-card label[for=password]{margin-top:17px}
#password-toggle{flex:none;width:30px;height:34px;padding:0;background:transparent;border:0;color:#9bb5d1;font-size:0;cursor:pointer}
#password-toggle:after{content:'';display:block;width:30px;height:30px;background:url('/branding/eye.svg') center/21px 21px no-repeat}#password-toggle[aria-pressed=true]:after{opacity:.6}
#login-submit{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:47px;margin-top:21px;border:1px solid #219dff;border-radius:9px;background:linear-gradient(110deg,#239fff,#0866f8);color:#fff;font:600 16px Inter,"Segoe UI",Arial,sans-serif;box-shadow:0 5px 20px #007aff20;cursor:pointer;transition:filter .16s ease,transform .16s ease,box-shadow .16s ease}
#login-submit>svg{position:absolute;right:15px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#login-submit:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px);box-shadow:0 7px 24px #007aff30}#login-submit:active:not(:disabled){transform:translateY(0)}#login-submit:disabled{opacity:.65;cursor:wait}
#login-error{margin:0;color:#ffadbd;font-size:13px;overflow-wrap:anywhere}#login-error:not(:empty){padding:9px 11px;margin-top:12px;border:1px solid #ff6d8e44;border-radius:8px;background:#ff6d8e0b}
#login-progress{margin:10px 0 0;text-align:center;font-size:13px;color:#a9c9e9}
.login-recovery{margin:16px 0 0;text-align:center;font-size:13px;color:#32baff}.login-recovery summary{cursor:pointer;list-style:none;transition:color .16s ease}.login-recovery summary:hover{color:#79d2ff}.login-recovery summary::-webkit-details-marker{display:none}.login-recovery p{max-width:35ch;margin:10px auto 0;color:#adc0d5;font-size:13px}
#login-theme{position:fixed;z-index:2;top:18px;right:18px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #5481aa44;border-radius:9px;background:#0b1c2bad;color:#b9d5f1;cursor:pointer;transition:background .16s ease}
#login-theme svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}.login-page button:focus-visible,.login-page summary:focus-visible{outline:2px solid #48adff;outline-offset:3px}
.login-page.light .login-card{background:linear-gradient(135deg,rgba(247,251,255,.96),rgba(230,240,250,.96));color:#173048;border-color:#9abbd6}.login-page.light .login-subtitle{color:#48627c}.login-page.light .auth-field{background:#fff9;border-color:#adc5d9}.login-page.light .auth-field input{color:#132a40}.login-page.light .auth-field input::placeholder{color:#526a83}.login-page.light .login-recovery{color:#0869bb}.login-page.light .login-recovery p{color:#456077}.login-page.light #login-error{color:#a72b43}
@keyframes login-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.login-page{padding:52px 14px 24px}.login-card{padding:24px 22px;border-radius:15px}.login-card h1{font-size:21px}.login-brand.unified-brand{margin-bottom:15px}.login-card form{margin-top:22px}}
@media(prefers-reduced-motion:reduce){.login-page *{animation:none!important;transition:none!important;scroll-behavior:auto!important}#login-submit:hover:not(:disabled){transform:none}}

/* Decorative server racks behind the login; no telemetry or functional status. */
.login-racks{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;display:flex;align-items:center;justify-content:space-between;padding:5vh 4vw;opacity:.35;perspective:1000px}
.login-rack{display:grid;gap:9px;width:min(19vw,240px);padding:16px 12px;border:1px solid #28465d88;border-radius:8px;background:linear-gradient(90deg,#030a12cc,#0b22307a);transform:rotateY(18deg);box-shadow:0 0 70px #029dda0b}
.login-rack:last-child{transform:rotateY(-18deg)}.login-rack-unit{position:relative;display:block;height:40px;border:1px solid #42607855;border-radius:3px;background:repeating-linear-gradient(0deg,transparent 0 3px,#4862781a 3px 4px);box-shadow:inset 0 0 15px #0008}
.login-rack-unit i,.login-rack-unit b{position:absolute;right:10px;top:10px;width:4px;height:4px;border-radius:50%;background:#24d8be;box-shadow:0 0 6px #24d8be;animation:rack-led 4.7s ease-in-out infinite}
.login-rack-unit b{right:20px;top:22px;background:#399cff;box-shadow:0 0 6px #399cff;animation-duration:6.3s;animation-delay:-2.7s}.login-rack-unit:nth-child(2n) i{animation-delay:-1.4s}.login-rack-unit:nth-child(3n) i{animation-delay:-3.1s}.login-rack:last-child .login-rack-unit i{animation-duration:5.9s;animation-delay:-2s}
@keyframes rack-led{0%,32%,45%,100%{opacity:.25}37%,40%,63%,70%{opacity:1}}
.login-page.light .login-racks{opacity:.22}.login-page.light .login-rack{background:#d8e5ef80;border-color:#9cb5c6}.login-page.light .login-rack-unit{box-shadow:none}
@media(max-width:800px){.login-racks{padding:0;opacity:.17}.login-rack{width:20vw;padding:10px 6px;gap:7px}.login-rack-unit{height:34px}}
@media(prefers-reduced-motion:reduce){.login-rack-unit i,.login-rack-unit b{animation:none;opacity:.55}}

#login-remember{display:flex;align-items:center;gap:.65rem;min-height:44px;margin:0;cursor:pointer}
#login-remember[hidden]{display:none}
#remember-24h{appearance:auto;width:1.15rem;height:1.15rem;flex:none;margin:0;accent-color:#168feb}
