.login-page{
    min-height:100vh;
    background:#050d18;
    overflow-x:hidden;
}
.login-page::before,.login-page::after{
    content:"";
    position:fixed;
    border-radius:50%;
    pointer-events:none;
    filter:blur(2px);
}
.login-page::before{width:580px;height:580px;left:-220px;top:-250px;background:radial-gradient(circle,#1679bd35 0,transparent 70%)}
.login-page::after{width:520px;height:520px;right:-190px;bottom:-260px;background:radial-gradient(circle,#d6af4530 0,transparent 70%)}
.login-shell{
    position:relative;
    isolation:isolate;
    grid-template-columns:minmax(0,1.2fr) minmax(430px,.8fr);
    background:linear-gradient(120deg,rgba(6,20,34,.92),rgba(4,12,23,.98));
}
.login-cyber-map{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:.72}.login-cyber-map::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 34% 48%,transparent 0 24%,rgba(5,13,24,.18) 58%,rgba(5,13,24,.78) 100%)}.login-cyber-map svg{position:absolute;left:-3%;top:5%;width:72%;height:90%;overflow:visible;filter:drop-shadow(0 0 12px rgba(23,181,221,.2))}.login-cyber-map .district{fill:rgba(8,53,74,.18);stroke:#2aaecb;stroke-width:1.25;vector-effect:non-scaling-stroke}.login-cyber-map .district:nth-child(3n){fill:rgba(20,91,112,.15);stroke:#4ccbe0}.login-cyber-map .district:nth-child(4n){fill:rgba(167,132,48,.08);stroke:#a98d47}.login-cyber-map .district-node{fill:#65dcf1;filter:drop-shadow(0 0 5px #3edcf2);animation:cyberNode 2.6s ease-in-out infinite}.login-cyber-map .district-ring{fill:none;stroke:#52cfe8;stroke-width:1;animation:cyberRing 3s ease-out infinite;transform-box:fill-box;transform-origin:center}.cyber-map-label{position:absolute;z-index:2;left:5.5%;bottom:7%;display:flex;flex-direction:column;padding-left:12px;border-left:2px solid #38bdd8;color:#668fa5;font-size:9px;letter-spacing:1.8px}.cyber-map-label b{margin-top:5px;color:#70d5e8;font-size:12px;letter-spacing:2.4px}@keyframes cyberNode{50%{opacity:.35}}@keyframes cyberRing{0%{transform:scale(.4);opacity:.8}80%,100%{transform:scale(2.2);opacity:0}}.login-brand,.login-card-wrap{z-index:1}
.login-shell::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    opacity:.42;
    background-image:linear-gradient(rgba(45,119,167,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(45,119,167,.12) 1px,transparent 1px);
    background-size:52px 52px;
    mask-image:linear-gradient(90deg,#000 5%,rgba(0,0,0,.65) 55%,transparent 92%);
}
.login-brand{padding:clamp(55px,8vw,130px);justify-content:center}
.login-brand::after{z-index:-1;background:none}
.login-brand-logo{position:relative;align-self:flex-start;width:min(430px,76%);height:auto;aspect-ratio:auto;object-fit:contain;margin:0 0 30px;border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important}
.login-brand .eyebrow{position:relative;width:max-content;padding:7px 12px;border-radius:999px;background:rgba(34,170,208,.08);color:#58cae8;font-size:12px;letter-spacing:2px}
.login-brand h1{position:relative;max-width:720px;margin:22px 0 18px;font-size:clamp(38px,4.3vw,66px);line-height:1.04;letter-spacing:-2.6px;background:linear-gradient(100deg,#f4f8fc 10%,#b9d5e7 72%);-webkit-background-clip:text;background-clip:text;color:transparent}
.login-brand>p{position:relative;max-width:610px;margin:0;color:#8ca5b8;font-size:16px;line-height:1.75}
.login-stats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px;width:min(590px,100%);margin-top:42px}
.login-stats div{padding:16px 18px;border:1px solid rgba(39,90,121,.55);border-radius:12px;background:linear-gradient(145deg,rgba(11,34,53,.75),rgba(6,20,33,.4));backdrop-filter:blur(12px)}
.login-stats strong{font-size:23px;color:#dcecf6}.login-stats span{font-size:11px;letter-spacing:.5px;color:#68869b}
.login-card-wrap{position:relative;padding:clamp(24px,5vw,75px);border-left:1px solid rgba(38,78,105,.55);background:linear-gradient(180deg,rgba(4,13,24,.65),rgba(5,15,27,.9));backdrop-filter:blur(14px)}
.login-card-wrap::before{content:"SECURE ACCESS";position:absolute;right:26px;top:24px;color:#27445a;font-size:10px;font-weight:800;letter-spacing:2.4px}
.login-card{position:relative;width:min(470px,100%);padding:clamp(30px,4vw,48px);border:1px solid rgba(44,88,117,.72);border-radius:20px;background:linear-gradient(145deg,rgba(11,29,47,.96),rgba(6,19,33,.97));box-shadow:0 34px 90px rgba(0,0,0,.48),inset 0 1px rgba(255,255,255,.025)}
.login-card::before{content:"";position:absolute;left:24px;right:24px;top:0;height:1px;background:linear-gradient(90deg,transparent,#38c5e5,transparent)}
.login-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.login-online{display:inline-flex;align-items:center;gap:6px;color:#61d6a7;font-size:11px;font-weight:750}.login-online i{width:7px;height:7px;border-radius:50%;background:#29d695;box-shadow:0 0 10px #29d695}
.login-card h2{margin:18px 0 7px;font-size:32px;letter-spacing:-.8px}.login-card>.muted{margin:0 0 28px;color:#7892a8}
.login-card label{margin:18px 0 8px;color:#b7c8d7;font-size:13px;font-weight:750;letter-spacing:.2px}
.login-card input{height:50px;margin-top:8px;padding:0 15px;border:1px solid #213d53;border-radius:10px;background:#061523;color:#eef7ff;transition:border-color .2s,box-shadow .2s,background .2s}
.login-card input::placeholder{color:#486278}.login-card input:focus{border-color:#2ca9d2;background:#081b2c;box-shadow:0 0 0 4px rgba(44,169,210,.12)}
.login-card .input-wrap input{padding-left:43px;padding-right:44px}.login-card .input-icon{left:15px;top:25px;color:#4f819c}.login-card .toggle-password{right:7px;top:16px;color:#6c8ba0}
.login-card .btn.primary{min-height:50px;margin-top:9px;border-radius:10px;background:linear-gradient(115deg,#0c76b5,#16a5c6);box-shadow:0 12px 30px rgba(14,132,183,.25);letter-spacing:.2px}
.login-card .btn.primary:hover{filter:brightness(1.1);box-shadow:0 15px 38px rgba(14,132,183,.34)}
.security-note{margin:24px 0 0;padding-top:18px;border-top:1px solid rgba(41,75,99,.5);color:#587489;font-size:11px}
.mobile-logo{width:100%;justify-content:center;margin-bottom:30px}.mobile-logo img{width:72px;height:auto;object-fit:contain}.mobile-logo b{font-size:18px;letter-spacing:2px}.mobile-logo small{margin-top:3px;color:#668499;font-size:9px;font-weight:600;letter-spacing:.3px}
@media(max-width:980px){.login-shell{grid-template-columns:minmax(0,1fr) 430px}.login-brand{padding:55px}.login-brand h1{font-size:42px}.login-stats{grid-template-columns:1fr}.login-stats div{padding:11px 14px}.login-stats div{flex-direction:row;align-items:center;gap:10px}.login-stats span{margin:0}}
@media(max-width:760px){.login-shell{display:block}.login-brand{display:none}.login-card-wrap{min-height:100svh;padding:30px 18px;border:0;background:rgba(4,13,24,.78)}.login-card-wrap::before{display:none}.login-card{padding:30px 24px;border-radius:18px}.mobile-logo{display:flex}.login-page::before{left:-360px}.login-page::after{right:-330px}.login-cyber-map{opacity:.3}.login-cyber-map svg{left:-48%;top:4%;width:190%;height:92%}.cyber-map-label{display:none}}
@media(max-width:420px){.login-card-wrap{padding:14px 10px}.login-card{padding:25px 18px;border-radius:14px}.login-card h2{font-size:27px}.login-card-top{align-items:flex-start}.login-online{font-size:10px}}
.login-page .mobile-logo img{border:0!important;border-radius:0!important;box-shadow:none!important;filter:none!important}
@media(prefers-reduced-motion:reduce){.login-cyber-map .district-node,.login-cyber-map .district-ring{animation:none}}
