.login-page{--bg:#080c14;--surface:#0e1420;--surface2:#141b2a;--border:#1e2a3e;--accent:#00e5c3;--text:#e8edf5;--muted:#5c6b84;--dim:#2a3650;--danger:#ff4d6d;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;min-height:100vh;display:flex;align-items:center;justify-content:center;-webkit-font-smoothing:antialiased;position:relative;overflow:hidden}.login-page:before{inset:0;background-image:linear-gradient(rgba(0,229,195,.03) 1px,transparent 0),linear-gradient(90deg,rgba(0,229,195,.03) 1px,transparent 0);background-size:40px 40px}.login-page:after,.login-page:before{content:"";position:fixed;pointer-events:none}.login-page:after{top:-200px;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(0,229,195,.06) 0,transparent 70%)}.login-container{position:relative;z-index:1;width:100%;max-width:420px;padding:0 24px}.login-header{text-align:center;margin-bottom:40px}.login-logo{height:44px;width:auto;filter:invert(1);margin-bottom:32px}.login-title{font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.5px;margin-bottom:8px;color:var(--text)}.login-subtitle{font-size:14px;color:var(--muted)}.login-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:32px}.login-page .form-group{margin-bottom:20px}.login-page .form-label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin-bottom:8px}.login-page .form-input{width:100%;background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:14px 16px;font-size:15px;font-family:Inter,sans-serif;color:var(--text);outline:none;transition:border-color .2s}.login-page .form-input::placeholder{color:var(--dim)}.login-page .form-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(0,229,195,.1)}.login-page .form-input.error{border-color:var(--danger);box-shadow:0 0 0 3px rgba(255,77,109,.1)}.error-msg{font-size:12px;color:var(--danger);margin-top:0;margin-bottom:12px;padding:8px 12px;background:rgba(255,77,109,.08);border-radius:8px}.login-btn{width:100%;background:var(--accent);color:var(--bg);border:none;border-radius:10px;padding:14px;font-size:15px;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:all .2s;margin-top:8px;display:flex;align-items:center;justify-content:center;min-height:50px}.login-btn:hover{background:#00cfb0;transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-btn .btn-text{display:block}.login-btn .spinner{width:18px;height:18px;border:2px solid var(--bg);border-top:2px solid transparent;border-radius:50%;animation:login-spin .6s linear infinite}@keyframes login-spin{to{transform:rotate(1turn)}}@keyframes login-shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}.secure-badge{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:20px;font-size:11px;color:var(--dim)}.secure-badge svg{width:12px;height:12px}.login-footer{text-align:center;margin-top:24px}.login-footer a{color:var(--muted);font-size:13px;text-decoration:none;transition:color .2s}.login-footer a:hover{color:var(--accent)}.back-link{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:13px;text-decoration:none;margin-bottom:32px;transition:color .2s}.back-link:hover{color:var(--accent)}.back-link svg{width:14px;height:14px}