.login-container{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 80px);padding:2.3rem 2.3rem calc(2.3rem + 120px);position:relative;z-index:10;flex:1}.login-box{background:#1a1a2eed;border:1px solid rgba(168,85,247,.28);border-radius:1.4rem;padding:2.8rem 3.2rem;width:100%;max-width:417px;box-shadow:0 19px 57px #00000061}.login-header{text-align:center;margin-bottom:2.3rem}.login-logo{display:flex;align-items:center;justify-content:center;margin-bottom:1.7rem}.login-logo-img{height:48px;width:auto;object-fit:contain;filter:drop-shadow(0 4px 16px rgba(168,85,247,.3))}.login-title{font-size:1.47rem;font-weight:600;color:#fff;margin-bottom:.53rem}.login-subtitle{font-size:.89rem;color:#888}.login-form{display:flex;flex-direction:column;gap:1.3rem}.login-form .form-group{display:flex;flex-direction:column;gap:.53rem}.login-form .form-label{font-size:.89rem;font-weight:600;color:#fff}.login-form .form-input{background:#0000004a;border:1px solid rgba(168,85,247,.21);border-radius:.73rem;padding:.89rem 1.13rem;font-size:.94rem;color:#fff;transition:all .3s}.login-form .form-input:focus{outline:none;border-color:#a855f7;box-shadow:0 0 0 3px #a855f72b}.login-form .form-input::placeholder{color:#888}.btn-login{background:linear-gradient(135deg,#a855f7,#7c3aed);border:none;border-radius:.76rem;padding:1.03rem;font-size:1.01rem;font-weight:600;color:#fff;cursor:pointer;transition:all .3s;margin-top:.47rem}.btn-login:hover{box-shadow:0 11px 29px #a855f763}.error-message{background:#ef444424;border:1px solid rgba(239,68,68,.31);border-radius:.71rem;padding:.91rem 1.17rem;color:#fca5a5;font-size:.87rem;display:none;margin-bottom:1.5rem}.error-message.show{display:block;animation:shake .4s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-11px)}75%{transform:translate(11px)}}.login-footer{text-align:center;margin-top:1.9rem;padding-top:1.9rem;border-top:1px solid rgba(168,85,247,.11)}.login-footer a{color:#a855f7;text-decoration:none;font-size:.87rem;transition:color .3s}.login-footer a:hover{color:#7c3aed}.register-box{max-width:500px}.login-footer p{margin-bottom:.9rem;color:#888;font-size:.87rem}.login-footer p a{color:#a855f7;font-weight:600}.required{color:#ef4444}.form-hint{display:block;font-size:.78rem;color:#888;margin-top:-.3rem}.field-validation{font-size:.81rem;margin-top:.4rem;display:none}.field-validation.error,.field-validation.success{display:block}.field-validation.error{color:#fca5a5}.field-validation.success{color:#86efac}.form-input.valid{border-color:#22c55e}.form-input.invalid{border-color:#ef4444}.password-input-wrapper{position:relative}.password-input-wrapper .form-input{padding-right:3rem}.toggle-password{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#888;cursor:pointer;padding:.4rem;display:flex;align-items:center;justify-content:center;transition:color .3s}.toggle-password:hover,.toggle-password.active{color:#a855f7}.toggle-password .eye-icon{width:20px;height:20px}.password-strength{margin-top:.7rem}.strength-bars{display:flex;gap:.4rem;margin-bottom:.5rem}.strength-bar{flex:1;height:4px;background:#8883;border-radius:2px;transition:background-color .3s}.strength-bar.weak{background:#ef4444}.strength-bar.medium{background:#f59e0b}.strength-bar.strong{background:#22c55e}.strength-text{display:block;font-size:.78rem;color:#888}.strength-text.weak{color:#fca5a5}.strength-text.medium{color:#fcd34d}.strength-text.strong{color:#86efac}.checkbox-label{display:flex;align-items:flex-start;gap:.7rem;cursor:pointer;font-size:.87rem;color:#ccc}.checkbox-label input[type=checkbox]{margin-top:.2rem;width:18px;height:18px;cursor:pointer;accent-color:#a855f7}.checkbox-label a{color:#a855f7;text-decoration:underline}.checkbox-label a:hover{color:#7c3aed}.btn-login:disabled{opacity:.6;cursor:not-allowed}@media(max-width:640px){.login-container{padding:1.5rem 1.5rem calc(1.5rem + 100px);min-height:calc(100vh - 60px)}.login-box,.register-box{padding:2rem 1.8rem}.login-title{font-size:1.3rem}.login-subtitle{font-size:.85rem}}
