.input-wrapper,body{align-items:center;display:flex}.login-btn,.toggle-password{cursor:pointer;transition:.3s}:root{--bg-dark:#0B1116;--bg-card:#141D24;--primary-green:#00E676;--secondary-blue:#00B0FF;--text-white:#F5F9FF;--text-grey:#A0B3C6;--glow-green:rgba(0, 230, 118, 0.4);--input-border:rgba(255,255,255,0.1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Poppins,sans-serif;background:var(--bg-dark);color:var(--text-white);min-height:100vh;justify-content:center;overflow:hidden;position:relative}a{text-decoration:none;color:inherit}@keyframes floatSpore{0%{transform:translateY(0) scale(1) rotate(0);opacity:.15}50%{transform:translateY(-40px) scale(1.1) rotate(180deg);opacity:.6}100%{transform:translateY(0) scale(1) rotate(360deg);opacity:.15}}@keyframes pulseRing{0%{transform:scale(.5);opacity:1}100%{transform:scale(4);opacity:0}}@keyframes spinSlow{from{transform:rotate(0)}to{transform:rotate(360deg)}}.bg-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.drone-grid,.drone-ping,.login-card::before,.spore{position:absolute}.spore{background:radial-gradient(circle at 30% 30%,#fff,var(--primary-green));border-radius:50%;box-shadow:0 0 15px var(--glow-green);animation:linear infinite floatSpore;opacity:0}.spore:first-child{width:6px;height:6px;left:10%;top:20%;animation-duration:8s}.spore:nth-child(2){width:12px;height:12px;left:30%;top:60%;animation-duration:11s;animation-delay:1s}.spore:nth-child(3){width:4px;height:4px;left:70%;top:30%;animation-duration:6s;animation-delay:2s}.spore:nth-child(4){width:8px;height:8px;left:85%;top:70%;animation-duration:9s;animation-delay:.5s}.spore:nth-child(5){width:15px;height:15px;left:50%;top:80%;animation-duration:12s;animation-delay:3s}.drone-ping{border:2px solid var(--secondary-blue);border-radius:50%;animation:4s linear infinite pulseRing;opacity:0}.drone-ping:nth-child(6){width:40px;height:40px;left:20%;top:40%;animation-delay:0s}.drone-ping:nth-child(7){width:60px;height:60px;left:75%;top:50%;animation-delay:1.5s}.drone-ping:nth-child(8){width:80px;height:80px;left:55%;top:25%;animation-delay:3s}.drone-grid{right:-100px;top:-100px;width:500px;height:500px;border:1px dashed rgba(0,176,255,.08);border-radius:50%;transform:rotate(45deg);animation:60s linear infinite spinSlow}.input-wrapper,.login-card,.login-footer,.login-form,.login-wrapper{position:relative}.drone-grid::before{content:'';position:absolute;top:20%;left:20%;width:60%;height:60%;border:1px dashed rgba(0,176,255,.04);border-radius:50%}.login-wrapper{z-index:1;width:100%;max-width:420px;padding:20px}.login-card{background:rgba(20,29,36,.92);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.06);border-radius:24px;padding:50px 40px 45px;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 40px rgba(0,230,118,.05);overflow:hidden}.login-card::before{content:'';top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at center,rgba(0,230,118,.03),transparent 60%);pointer-events:none}.login-header{text-align:center;margin-bottom:35px}.login-header .logo{font-size:2rem;font-weight:800;letter-spacing:-1px;display:inline-block}.login-header .logo span{color:var(--primary-green)}.login-header .subtitle{color:var(--text-grey);font-size:.9rem;margin-top:8px;font-weight:300;letter-spacing:2px}.login-divider{width:50px;height:3px;background:linear-gradient(90deg,var(--primary-green),var(--secondary-blue));margin:15px auto 0;border-radius:10px}.login-form{z-index:1}.form-group{margin-bottom:24px}.form-group label{display:block;font-size:.8rem;font-weight:600;color:var(--text-grey);margin-bottom:8px;letter-spacing:.5px;text-transform:uppercase}.input-wrapper{background:rgba(255,255,255,.04);border:1px solid var(--input-border);border-radius:12px;transition:.3s}.input-wrapper input,.login-btn{width:100%;border:none;font-family:Poppins,sans-serif}.input-wrapper:focus-within{border-color:var(--primary-green);box-shadow:0 0 0 3px rgba(0,230,118,.15),0 0 25px rgba(0,230,118,.08);background:rgba(255,255,255,.06)}.input-wrapper .icon{padding:0 0 0 16px;color:var(--text-grey);font-size:1rem;transition:.3s;min-width:40px}.input-wrapper input,.toggle-password:hover{color:var(--text-white)}.input-wrapper:focus-within .icon{color:var(--primary-green)}.input-wrapper input{padding:16px 16px 16px 4px;background:0 0;outline:0;font-size:1rem;font-weight:400}.input-wrapper input::placeholder{color:rgba(255,255,255,.25);font-weight:300;font-size:.9rem}.input-wrapper input:-webkit-autofill{-webkit-box-shadow:0 0 0 30px var(--bg-card) inset!important;-webkit-text-fill-color:var(--text-white)!important}.toggle-password{padding-right:16px;color:var(--text-grey);font-size:.9rem}.login-btn{padding:16px;background:linear-gradient(135deg,var(--primary-green),#00c853);border-radius:12px;color:var(--bg-dark);font-size:1rem;font-weight:700;letter-spacing:1px;margin-top:8px;display:flex;align-items:center;justify-content:center;gap:12px;box-shadow:0 0 20px rgba(0,230,118,.2)}.login-btn:hover{transform:translateY(-2px);box-shadow:0 0 40px rgba(0,230,118,.4)}.login-btn:active{transform:scale(.98)}.login-btn i{font-size:1.1rem;transition:.3s}.login-btn:hover i{transform:translateX(4px)}.login-footer{text-align:center;margin-top:25px;z-index:1}.login-footer a{color:var(--text-grey);font-size:.85rem;font-weight:300;transition:.3s}.login-footer a:hover{color:var(--primary-green)}.login-footer .sep{color:var(--text-grey);opacity:.3;margin:0 12px}.login-error{background:rgba(255,82,82,.12);border:1px solid rgba(255,82,82,.2);border-radius:10px;padding:12px 16px;color:#ff6b6b;font-size:.85rem;display:none;margin-bottom:20px;text-align:center}.login-error.show{display:block;animation:.4s shake}@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}@media (max-width:480px){.login-card{padding:35px 24px 30px;border-radius:18px}.login-header .logo{font-size:1.6rem}.input-wrapper input{padding:14px 14px 14px 4px;font-size:.95rem}.login-btn{padding:14px;font-size:.95rem}}@media (max-width:380px){.login-card{padding:28px 18px 24px}.login-header .subtitle{font-size:.75rem}}