.login-page{min-height:100vh;background-color:#000;color:#fff;display:flex;flex-direction:column;position:relative}.login-page:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(45deg,rgba(0,0,0,.7),rgba(0,0,0,.9));z-index:0}.login-container{flex:1 1;display:flex;justify-content:center;align-items:center;padding:2rem;position:relative;z-index:1;margin-top:4rem}.login-card{width:100%;max-width:450px;background:hsla(0,0%,100%,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:20px;border:1px solid hsla(0,0%,100%,.2);padding:3rem 2rem;box-shadow:0 8px 32px rgba(0,0,0,.1)}.login-title{font-size:2rem;margin-bottom:2rem;text-align:center;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.error-message{background-color:rgba(255,0,0,.1);color:#ff6b6b;padding:1rem;border-radius:8px;border:1px solid rgba(255,0,0,.2);text-align:center;font-size:.9rem;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.error-message,.login-form .form-group{margin-bottom:1.5rem}.login-form .form-group label{display:block;margin-bottom:.5rem;font-size:.9rem;color:hsla(0,0%,100%,.8)}.login-form .form-group input{width:100%;padding:.8rem 1rem;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fff;font-size:1rem;transition:all .3s ease}.login-form .form-group input:focus{outline:none;border-color:hsla(0,0%,100%,.5);box-shadow:0 0 0 2px hsla(0,0%,100%,.1)}.login-form .form-group input::placeholder{color:hsla(0,0%,100%,.4)}.login-form .submit-button{width:100%;padding:1rem;background-color:hsla(0,0%,100%,.2);color:#fff;border:1px solid hsla(0,0%,100%,.3);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);margin-bottom:1.5rem}.login-form .submit-button:hover:not(:disabled){background-color:hsla(0,0%,100%,.3);border-color:hsla(0,0%,100%,.5);transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2)}.login-form .submit-button:active:not(:disabled){transform:translateY(1px)}.login-form .submit-button:disabled{background-color:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.2);color:hsla(0,0%,100%,.5);cursor:not-allowed;transform:none;box-shadow:none}.login-form .divider{position:relative;text-align:center;margin:0 0 1.5rem}.login-form .divider:before{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background-color:hsla(0,0%,100%,.2)}.login-form .divider span{position:relative;background-color:rgba(0,0,0,.8);padding:0 1rem;color:hsla(0,0%,100%,.6);font-size:.9rem}.login-form .google-button{width:100%;padding:1rem;background-color:rgba(66,133,244,.2);color:#fff;border:1px solid rgba(66,133,244,.4);border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.8rem}.login-form .google-button svg{width:18px;height:18px}.login-form .google-button:hover{background-color:rgba(66,133,244,.3);border-color:rgba(66,133,244,.6);transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2)}.login-form .google-button:active{transform:translateY(1px)}.login-form .forgot-row{margin-top:1.5rem;text-align:center}.login-form .forgot-row .forgot-link{display:inline-block;font-size:.9rem;color:hsla(0,0%,100%,.85);background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.25);padding:.45rem 1.2rem;border-radius:9999px;cursor:pointer;transition:all .3s ease;text-decoration:none;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}.login-form .forgot-row .forgot-link:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.35);color:#fff;transform:translateY(-2px);box-shadow:0 4px 15px rgba(0,0,0,.2)}.login-form .forgot-row .forgot-link:active{transform:translateY(1px)}.login-footer{margin-top:2rem;text-align:center}.login-footer p{font-size:.9rem;color:hsla(0,0%,100%,.7)}.login-footer .toggle-link{color:#fff;font-weight:600;text-decoration:none;padding:.3rem .5rem;margin-left:.5rem;transition:all .3s ease}.login-footer .toggle-link:hover{text-decoration:underline}@media(max-width:768px){.login-card{padding:2rem 1.5rem}.login-title{font-size:1.8rem}}