
body.login-body{background:radial-gradient(ellipse at top left,#16305c 0%,var(--navy-950) 55%);min-height:100vh;overflow-x:hidden;}
.login-shell{min-height:100vh;display:flex;}
.login-brand{flex:1.1;position:relative;display:flex;flex-direction:column;justify-content:space-between;padding:44px;color:#fff;overflow:hidden;}
.login-brand::before{content:"";position:absolute;inset:0;background:linear-gradient(150deg,var(--navy-900),var(--blue-600) 120%);}
.login-brand::after{content:"";position:absolute;right:-120px;bottom:-120px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14),transparent 70%);}
.login-brand .content{position:relative;z-index:1;}
.login-brand .mark{width:46px;height:46px;border-radius:13px;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);}
.login-brand .mark i{font-size:22px;}
.route-line{position:relative;height:2px;background:rgba(255,255,255,.18);margin:34px 0;border-radius:2px;overflow:hidden;}
.route-line::after{content:"";position:absolute;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--sky-400);box-shadow:0 0 14px 3px rgba(79,195,247,.7);animation:fly 3.2s linear infinite;}
@keyframes fly{0%{left:0;}100%{left:calc(100% - 12px);}}
.login-stats{display:flex;gap:28px;position:relative;z-index:1;}
.login-stats div b{font-family:'Space Grotesk',sans-serif;font-size:22px;display:block;}
.login-stats div span{font-size:11.5px;opacity:.75;}
.login-form-side{flex:1;display:flex;align-items:center;justify-content:center;background:var(--cloud);padding:32px;}
.login-card{width:100%;max-width:400px;opacity:0;animation:card-in .6s ease forwards;}
.login-card .mark-sm{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--blue-500),var(--sky-400));display:flex;align-items:center;justify-content:center;margin-bottom:18px;box-shadow:0 8px 20px -6px rgba(59,116,245,.55);}
.input-icon{position:relative;}
.input-icon i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--slate-400);}
.input-icon input{padding-left:38px;}
.input-icon .toggle-pw{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:var(--slate-400);cursor:pointer;background:none;border:none;}
.divider-air{display:flex;align-items:center;gap:12px;color:var(--slate-400);font-size:11.5px;margin:20px 0;}
.divider-air::before,.divider-air::after{content:"";flex:1;height:1px;background:var(--slate-200);}
.sso-btn{border:1px solid var(--slate-200);background:#fff;border-radius:10px;padding:9px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12.8px;font-weight:600;color:var(--navy-800);transition:.18s;}
.sso-btn:hover{background:var(--slate-100);}
.shake{animation:shakeErr .4s;}
@keyframes shakeErr{0%,100%{transform:translateX(0);}20%{transform:translateX(-8px);}40%{transform:translateX(8px);}60%{transform:translateX(-5px);}80%{transform:translateX(5px);}}
@media (max-width:900px){ .login-brand{display:none;} }
