.loginPage{background:linear-gradient(135deg,#f5f5f5 0%,#e8e8e8 100%);justify-content:center;align-items:center;width:1920px;height:1080px;display:flex;position:fixed;top:0;left:0}.loginPage .loginContainer{justify-content:center;align-items:center;width:100%;max-width:480px;padding:20px;display:flex}.loginPage .loginBox{background:#fff;border-radius:20px;width:100%;padding:50px 40px;box-shadow:0 10px 40px #00000014}.loginPage .logoSection{text-align:center;margin-bottom:40px}.loginPage .logoSection .logo{margin-bottom:16px}.loginPage .logoSection .welcomeText{color:#999;margin:0;font-size:14px}.loginPage .loginForm{flex-direction:column;gap:20px;display:flex}.loginPage .loginForm .inputGroup{flex-direction:column;gap:8px;display:flex}.loginPage .loginForm .inputGroup label{color:#333;font-size:14px;font-weight:500}.loginPage .loginForm .inputGroup .inputWrapper{position:relative}.loginPage .loginForm .inputGroup .inputWrapper input{color:#333;box-sizing:border-box;background:#fafafa;border:1px solid #e0e0e0;border-radius:12px;width:100%;padding:14px 16px;font-size:14px;transition:all .2s}.loginPage .loginForm .inputGroup .inputWrapper input::placeholder{color:#bbb}.loginPage .loginForm .inputGroup .inputWrapper input:focus{background:#fff;border-color:#9c27b080;outline:none;box-shadow:0 0 0 3px #9c27b01a}.loginPage .loginForm .optionsRow{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.loginPage .loginForm .optionsRow .checkboxLabel{color:#666;cursor:pointer;align-items:center;gap:8px;padding-left:26px;font-size:13px;display:flex;position:relative}.loginPage .loginForm .optionsRow .checkboxLabel input[type=checkbox]{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.loginPage .loginForm .optionsRow .checkboxLabel .checkmark{background:#fff;border:1px solid #ddd;border-radius:4px;width:18px;height:18px;transition:all .2s;position:absolute;top:50%;left:0;transform:translateY(-50%)}.loginPage .loginForm .optionsRow .checkboxLabel .checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:4px;height:9px;display:none;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.loginPage .loginForm .optionsRow .checkboxLabel input:checked~.checkmark{background:#9c27b0;border-color:#9c27b0}.loginPage .loginForm .optionsRow .checkboxLabel input:checked~.checkmark:after{display:block}.loginPage .loginForm .optionsRow .forgotPassword{color:#9c27b0;font-size:13px;text-decoration:none;transition:color .2s}.loginPage .loginForm .optionsRow .forgotPassword:hover{color:#9c27b0cc;text-decoration:underline}.loginPage .loginForm .loginBtn{color:#fff;cursor:pointer;background:#9c27b0;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:10px;padding:16px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.loginPage .loginForm .loginBtn:hover:not(:disabled){background:#9c27b0e6;transform:translateY(-1px);box-shadow:0 4px 12px #9c27b04d}.loginPage .loginForm .loginBtn:active:not(:disabled){transform:translateY(0)}.loginPage .loginForm .loginBtn:disabled{cursor:not-allowed;opacity:.7}.loginPage .loginForm .loginBtn .spinner{flex-shrink:0;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loginPage .bottomLinks{text-align:center;border-top:1px solid #eee;margin-top:30px;padding-top:20px}.loginPage .bottomLinks p{color:#999;margin:0;font-size:13px}.loginPage .bottomLinks p a{color:#9c27b0;margin-left:4px;font-weight:500;text-decoration:none}.loginPage .bottomLinks p a:hover{text-decoration:underline}.loginPage .errorMessage{color:#d32f2f;background:#f443361a;border-left:3px solid #f44336;border-radius:6px;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;font-size:13px;animation:.3s fadeIn;display:flex}.loginPage .errorMessage svg{color:#f44336;flex-shrink:0}.loginPage .errorMessage span{line-height:1.4}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
