/* Full-viewport architectural scene. All selectors remain scoped to login. */
.auth-login{position:relative;isolation:isolate;display:block;min-height:100dvh;overflow:hidden;background:#071324;color:#e3edfc;color-scheme:dark}
.auth-login .auth-aside{position:absolute;inset:0;min-height:100%;height:100%;width:100%;padding:0;display:block;border:0;background:none;pointer-events:none}
.login-backdrop{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 50% 12%,#17356865,transparent 57%),linear-gradient(125deg,#08172b,#071120 55%,#0a1b34)}
.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(#7daaff08 1px,transparent 1px),linear-gradient(90deg,#7daaff08 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse at center,transparent 8%,#000 80%)}
.architecture-glow{position:absolute;inset:10% 0;background:radial-gradient(ellipse at 18% 55%,#2766cb23,transparent 35%),radial-gradient(ellipse at 87% 42%,#2977ea20,transparent 35%);animation:architecture-breathe 14s ease-in-out infinite alternate}
.architecture-scene{position:absolute;width:100%;height:100%;inset:0;pointer-events:none}.block-surface{fill:url(#blockSurface)}.block-grid{stroke:#5488d1;stroke-width:.7;opacity:.22}.block-outline{stroke:#608fce;stroke-width:1;opacity:.33}.block-underlay{stroke:#4f7fbf;stroke-width:.7;opacity:.18}.block-edge{stroke:url(#edgeLight);stroke-width:1.2;opacity:.6}.structure-left .architecture-block{animation:structure-drift 16s ease-in-out infinite alternate}.structure-right .architecture-block{animation:structure-drift 19s ease-in-out -7s infinite alternate-reverse}
.route-lines{stroke:#32619e;stroke-width:1;opacity:.27}.route-lights{stroke:#77b6ff;stroke-width:1.5;stroke-dasharray:55 1120;stroke-linecap:round;filter:drop-shadow(0 0 4px #5595f6);opacity:.7}.route-lights path{animation:route-travel 15s linear infinite}.route-lights path:nth-child(2){animation-delay:-6s;animation-duration:18s}.route-lights path:nth-child(3){animation-delay:-11s;animation-duration:21s}.route-lights path:nth-child(4){animation-delay:-3s;animation-duration:17s}.architecture-nodes rect{fill:#0e2543;stroke:#477ab9;stroke-width:1}.architecture-nodes circle{fill:#86baff;animation:node-breathe 5s ease-in-out infinite alternate}.architecture-nodes g:nth-child(2n) circle{animation-delay:-3s}.coordinate-marks{stroke:#476c9c;stroke-width:1;opacity:.4}.login-vignette{position:absolute;inset:0;background:linear-gradient(#06122333,transparent 25%,transparent 78%,#06122388);pointer-events:none}
.login-brand-row{position:absolute;top:32px;left:42px;right:42px;display:flex;justify-content:space-between;align-items:center;gap:18px;z-index:3}.auth-login .brand{font-size:16px;color:#ecf3ff;gap:12px;pointer-events:auto}.auth-login .brandmark{width:37px;height:37px;border-radius:9px;background:#235ee1;border:1px solid #5b8ff365;color:#fff;box-shadow:0 4px 24px #2864f625}.auth-login .brand small{color:#7292bf;letter-spacing:1.8px;font-size:9px;margin-top:5px}.motion-toggle{pointer-events:auto;border:1px solid #526e942e;border-radius:6px;color:#96aecf;background:#0c203b80;padding:8px 13px;font-size:11px;line-height:1.5;cursor:pointer}.motion-toggle:hover{color:#e2edff;border-color:#526e9470;background:#183252}.motion-toggle:focus-visible{outline:2px solid #8bb8ff;outline-offset:4px}
.auth-login .auth-main{position:relative;z-index:1;display:grid;place-items:center;min-height:100dvh;max-width:none;margin:0;padding:110px 24px 92px;background:none;pointer-events:none}.auth-login .auth-card{pointer-events:auto;position:relative;width:100%;max-width:440px;padding:35px 38px 31px;border:1px solid #4a699046;border-top-color:#7699c36e;border-radius:13px;background:linear-gradient(145deg,#132641ed,#0d1d34f5);box-shadow:0 28px 90px #0004,0 0 75px #2670e808,inset 0 1px #d6e7ff06;backdrop-filter:blur(18px)}
.auth-login .auth-card:before{content:"";position:absolute;left:38px;right:38px;top:-1px;height:1px;background:linear-gradient(90deg,transparent,#72a6ee9c,transparent);pointer-events:none}.login-form-kicker{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:2.3px;color:#7e9fcd;margin-bottom:21px}.login-form-kicker:before{content:"";width:6px;height:6px;border:1px solid #7eacfb;background:#397be340;box-shadow:0 0 12px #74aaff26}.auth-login .auth-card h2{font-size:27px;line-height:1.4;font-weight:600;letter-spacing:-.4px;color:#e9f2ff;margin-bottom:10px}.auth-login .auth-card>p{font-size:12px;line-height:1.85;color:#90a7c7;margin-bottom:29px}.auth-login .auth-form{gap:20px}.auth-login .auth-form label{font-size:12px;font-weight:500;color:#b9cae2;gap:9px}.auth-login .auth-form input{height:47px;padding:12px 14px;background:#09192d;border:1px solid #3e587b75;border-radius:6px;color:#edf4ff;box-shadow:inset 0 2px 5px #00000012;caret-color:#a5c9ff}.auth-login .auth-form input::placeholder{color:#66809f}.auth-login .auth-form input:focus{border-color:#5f99f5;box-shadow:0 0 0 3px #5188eb1a;background:#0c1e35}.auth-login .auth-form input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #102440 inset;-webkit-text-fill-color:#e6f0ff;caret-color:#e6f0ff}.auth-login .auth-form .primary{height:47px;margin-top:5px;background:#2c69f5;border:1px solid #5489ff80;border-radius:6px;font-size:13px;letter-spacing:.7px;color:#fff;box-shadow:0 4px 18px #1764f229}.auth-login .auth-form .primary:hover{background:#3879ff;border-color:#91b5ff99;box-shadow:0 5px 25px #2864f638}.auth-login .auth-form .error{color:#ff9fae}.auth-login .auth-help{margin-top:24px;padding-top:20px;border-top:1px solid #56759b26;font-size:11px;line-height:1.9;color:#839abb}.auth-login .auth-help a{color:#9bc2ff}.auth-login .auth-help a:hover{color:#d4e6ff}.auth-login .inline-info{color:#97afd0;margin-top:15px;line-height:1.8}.auth-login .transport-note{background:#352c1b;color:#e6c991;border-color:#766138}
.login-form-footer{position:absolute;bottom:27px;left:42px;right:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:10px;letter-spacing:.5px;color:#617da4;pointer-events:none}.login-form-footer span:last-child{letter-spacing:2px;color:#7393bf}
.motion-paused .architecture-glow,.motion-paused .architecture-block,.motion-paused .route-lights path,.motion-paused .architecture-nodes circle{animation-play-state:paused}
@keyframes route-travel{from{stroke-dashoffset:1175}to{stroke-dashoffset:0}}@keyframes architecture-breathe{from{opacity:.65}to{opacity:1}}@keyframes structure-drift{from{transform:translateY(-7px)}to{transform:translateY(7px)}}@keyframes node-breathe{from{opacity:.4}to{opacity:1}}
@media(min-width:1700px){.auth-login .auth-card{max-width:460px;padding:42px}.auth-login .auth-card h2{font-size:29px}.auth-login .auth-card>p{font-size:13px}.auth-login .auth-form label{font-size:13px}.auth-login .auth-form input,.auth-login .auth-form .primary{height:50px}.login-brand-row{top:40px;left:56px;right:56px}.login-form-footer{left:56px;right:56px;bottom:32px}}
@media(max-height:760px) and (min-width:601px){.auth-login .auth-main{padding:90px 24px 65px}.auth-login .auth-card{padding:28px 34px}.login-brand-row{top:24px}.login-form-kicker{margin-bottom:15px}.auth-login .auth-card>p{margin-bottom:22px}.auth-login .auth-form{gap:17px}.auth-login .auth-help{margin-top:19px;padding-top:17px}.login-form-footer{bottom:21px}}
@media(max-width:600px){.login-brand-row{top:24px;left:23px;right:23px}.auth-login .brand{font-size:14px;gap:9px}.auth-login .brandmark{width:33px;height:33px}.auth-login .brand small{font-size:8px;letter-spacing:1.5px}.motion-toggle{display:none}.auth-login .auth-main{min-height:100dvh;padding:105px 21px 80px}.auth-login .auth-card{max-width:410px;padding:29px 25px 27px;backdrop-filter:none;background:#102139f2}.auth-login .auth-card h2{font-size:25px}.auth-login .auth-card>p{font-size:12px;margin-bottom:25px}.auth-login .auth-form{gap:19px}.login-form-kicker{font-size:8px;margin-bottom:19px}.login-form-footer{left:21px;right:21px;bottom:25px;justify-content:center;font-size:9px}.login-form-footer span:last-child{display:none}.architecture-scene{opacity:.5;min-width:750px;left:50%;transform:translateX(-50%)}.blueprint-grid{background-size:45px 45px}.architecture-glow,.architecture-block,.route-lights path,.architecture-nodes circle{animation:none!important}.route-lights{opacity:.25}}
@media(prefers-reduced-motion:reduce){.architecture-glow,.architecture-block,.route-lights path,.architecture-nodes circle{animation:none!important}}
