:root{--bg-base:#010104;--glass-bg:#080810b3;--glass-border:#ffffff0d;--glass-highlight:#06b6d433;--neon-violet:#8b5cf6;--neon-cyan:#06b6d4;--text-main:#f8fafc;--text-muted:#64748b;--font-body:"Poppins",sans-serif;--font-display:"Montserrat",sans-serif}*,:before,:after{box-sizing:border-box}body{background-color:var(--bg-base);color:var(--text-main);font-family:var(--font-body);margin:0;overflow-x:hidden}.login-wrapper{justify-content:center;align-items:center;width:100vw;min-height:100vh;padding:1.5rem;display:flex;position:relative}.login-container{z-index:10;flex-direction:column;align-items:center;width:100%;max-width:420px;animation:.8s ease-out fadeIn;display:flex;position:relative}.bg-orbs{z-index:0;pointer-events:none;background:radial-gradient(circle,#02020600 0%,#010104 100%);position:fixed;inset:0}.orb{filter:blur(150px);opacity:.25;border-radius:50%;animation:20s ease-in-out infinite alternate breathe;position:absolute}.orb-violet{background:var(--neon-violet);width:50vw;height:50vw;top:-10%;left:-10%}.orb-cyan{background:var(--neon-cyan);width:40vw;height:40vw;animation-delay:-5s;bottom:-10%;right:-10%}.login-brand{flex-direction:column;align-items:center;gap:.8rem;margin-bottom:2.5rem;display:flex}.login-logo{filter:drop-shadow(0 0 15px #06b6d466);width:50px;height:50px}.brand-name{font-family:var(--font-display);letter-spacing:-.02em;background:linear-gradient(to right,#fff,var(--neon-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-size:1.8rem;font-style:italic;font-weight:900}.glass-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(30px);border:1px solid var(--glass-border);border-radius:1.5rem;width:100%;padding:2.5rem 2rem;box-shadow:0 20px 50px #00000080}.card-header{text-align:center;margin-bottom:2rem}.auth-badge{font-family:var(--font-display);color:var(--neon-cyan);letter-spacing:.25em;background:#06b6d40d;border:1px solid #06b6d44d;border-radius:100px;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:.4rem 1rem;font-size:.55rem;font-weight:900;display:inline-flex}.pulsing-cyan-dot{background:var(--neon-cyan);width:6px;height:6px;box-shadow:0 0 10px var(--neon-cyan);border-radius:50%;animation:1.5s infinite pulse}.login-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.8rem;font-style:italic;font-weight:900}.login-subtitle{color:var(--text-muted);font-size:.75rem;font-weight:500}.login-form{flex-direction:column;gap:1.5rem;display:flex}.input-group{flex-direction:column;gap:.6rem;display:flex}.input-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em;align-items:center;gap:.5rem;font-size:.65rem;font-weight:700;display:flex}.login-input{color:#fff;width:100%;font-family:var(--font-body);background:#0006;border:1px solid #ffffff14;border-radius:10px;outline:none;padding:1rem;font-size:.9rem;transition:all .3s}.login-input:focus{border-color:var(--neon-cyan);background:#0009;box-shadow:0 0 15px #06b6d426}.error-alert{color:var(--neon-violet);background:#8b5cf61a;border:1px solid #8b5cf64d;border-radius:8px;align-items:center;gap:.5rem;padding:.8rem;font-size:.7rem;font-weight:700;animation:.4s ease-in-out shake;display:flex}.btn-login{color:#000;font-family:var(--font-display);text-transform:uppercase;letter-spacing:.15em;cursor:pointer;background:#fff;border:none;border-radius:12px;justify-content:center;align-items:center;gap:.6rem;margin-top:1rem;padding:1.1rem;font-size:.8rem;font-weight:900;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;box-shadow:0 10px 20px #0003}.btn-login:hover:not(:disabled){background:var(--neon-cyan);transform:translateY(-3px);box-shadow:0 10px 30px #06b6d44d}.btn-login:active:not(:disabled){transform:scale(.97)}.btn-login:disabled{opacity:.5;cursor:not-allowed}.rotating{animation:1s linear infinite spin}.card-footer{text-align:center;margin-top:2rem}.encryption-text{color:var(--text-muted);text-transform:uppercase;letter-spacing:.2em;justify-content:center;align-items:center;gap:.4rem;font-size:.55rem;font-weight:700;display:flex}@media (max-width:320px){.login-card{padding:1.5rem 1rem}.brand-name,.login-title{font-size:1.4rem}.btn-login{font-size:.7rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%{opacity:.15;transform:scale(1)}to{opacity:.3;transform:scale(1.1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}
