.login-page[data-v-703a68c2]{display:flex;min-height:100vh;width:100%;position:absolute;top:0;left:0;right:0;bottom:0}.brand-panel[data-v-703a68c2]{flex:0 0 45%;max-width:45%;background:linear-gradient(135deg,#1e1b4b,#312e81 50%,#4f46e5);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:60px 50px;position:relative;overflow:hidden}.brand-panel[data-v-703a68c2]:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 50%,rgba(99,102,241,.15) 0,transparent 50%),radial-gradient(circle at 70% 80%,rgba(139,92,246,.1) 0,transparent 40%);pointer-events:none}.brand-content[data-v-703a68c2]{position:relative;z-index:1;max-width:400px;text-align:center}.brand-logo[data-v-703a68c2]{margin-bottom:32px}.logo-icon[data-v-703a68c2]{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:18px;background:hsla(0,0%,100%,.12);border:1px solid hsla(0,0%,100%,.18);backdrop-filter:blur(10px)}.logo-icon i[data-v-703a68c2]{font-size:36px;color:#fff}.brand-title[data-v-703a68c2]{color:#fff;font-size:28px;font-weight:700;margin:0 0 16px 0;letter-spacing:1px}.brand-desc[data-v-703a68c2]{color:hsla(0,0%,100%,.7);font-size:14px;line-height:1.8;margin:0 0 40px 0}.feature-list[data-v-703a68c2]{list-style:none;padding:0;margin:0;text-align:left}.feature-item[data-v-703a68c2]{display:flex;align-items:center;padding:12px 16px;margin-bottom:8px;border-radius:10px;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.08);transition:all .3s ease}.feature-item[data-v-703a68c2]:hover{background:hsla(0,0%,100%,.12);transform:translateX(4px)}.feature-item i[data-v-703a68c2]{font-size:18px;color:#a5b4fc;margin-right:14px;flex-shrink:0}.feature-item span[data-v-703a68c2]{color:hsla(0,0%,100%,.9);font-size:14px}.brand-footer[data-v-703a68c2]{position:absolute;bottom:30px;z-index:1}.brand-footer p[data-v-703a68c2]{color:hsla(0,0%,100%,.35);font-size:12px;margin:0}.login-panel[data-v-703a68c2]{flex:1;display:flex;align-items:center;justify-content:center;background:#f8f9fc;padding:40px;overflow-y:auto}.login-form-wrapper[data-v-703a68c2]{width:100%;max-width:420px}.login-header[data-v-703a68c2]{margin-bottom:36px}.login-title[data-v-703a68c2]{font-size:26px;font-weight:700;color:#1e1b4b;margin:0 0 8px 0}.login-subtitle[data-v-703a68c2]{font-size:14px;color:#9ca3af;margin:0}.mode-switch[data-v-703a68c2]{display:flex;gap:0;background:#eef0f6;border-radius:10px;padding:4px;margin-bottom:28px}.mode-btn[data-v-703a68c2]{flex:1;padding:10px 8px;border:none;background:transparent;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .25s ease;outline:none}.mode-btn[data-v-703a68c2]:hover{color:#4f46e5}.mode-btn.active[data-v-703a68c2]{background:#fff;color:#4f46e5;font-weight:600;box-shadow:0 1px 3px rgba(0,0,0,.08)}.login-form-section[data-v-703a68c2]{animation:fadeIn-703a68c2 .25s ease}@keyframes fadeIn-703a68c2{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.login-form .el-form-item[data-v-703a68c2]{margin-bottom:20px}.login-form[data-v-703a68c2] .el-input__inner{height:46px;line-height:46px;border-radius:10px;border:1.5px solid #e5e7eb;padding-left:42px;font-size:14px;transition:border-color .25s ease,box-shadow .25s ease}.login-form[data-v-703a68c2] .el-input__inner:focus{border-color:#4f46e5;box-shadow:0 0 0 3px rgba(79,70,229,.08)}.login-form[data-v-703a68c2] .el-input__prefix{left:12px}.login-form[data-v-703a68c2] .el-input__icon{line-height:46px;font-size:16px;color:#9ca3af}.captcha-row[data-v-703a68c2]{display:flex;align-items:center;gap:12px}.captcha-input[data-v-703a68c2]{flex:1}.captcha-img-wrapper[data-v-703a68c2]{flex-shrink:0;height:46px;border-radius:10px;overflow:hidden;cursor:pointer;border:1.5px solid #e5e7eb;display:flex;align-items:center}.captcha-img[data-v-703a68c2]{height:44px;display:block}.code-row[data-v-703a68c2]{display:flex;align-items:center;gap:10px}.code-input[data-v-703a68c2]{flex:1}.send-code-btn[data-v-703a68c2]{flex-shrink:0;height:46px;min-width:110px;border-radius:10px;font-size:13px;border:1.5px solid #e5e7eb;color:#4f46e5;background:#fff;transition:all .25s ease}.send-code-btn[data-v-703a68c2]:hover:not(:disabled){border-color:#4f46e5;background:#f5f3ff}.send-code-btn[data-v-703a68c2]:disabled{color:#9ca3af;cursor:not-allowed}.form-options[data-v-703a68c2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.form-options[data-v-703a68c2] .el-checkbox__label{color:#6b7280;font-size:13px}.forgot-link[data-v-703a68c2]{font-size:13px;color:#4f46e5;text-decoration:none}.forgot-link[data-v-703a68c2]:hover{text-decoration:underline}.login-btn[data-v-703a68c2]{width:100%;height:46px;border-radius:10px;font-size:15px;font-weight:600;letter-spacing:2px;background:linear-gradient(135deg,#4f46e5,#6366f1);border:none;transition:all .3s ease}.login-btn[data-v-703a68c2]:hover{transform:translateY(-1px);box-shadow:0 4px 14px rgba(79,70,229,.35)}.social-divider[data-v-703a68c2]{display:flex;align-items:center;margin:32px 0 24px 0}.divider-line[data-v-703a68c2]{flex:1;height:1px;background:#e5e7eb}.divider-text[data-v-703a68c2]{padding:0 16px;font-size:12px;color:#9ca3af;white-space:nowrap}.social-login[data-v-703a68c2]{display:flex;justify-content:center;gap:20px}.social-btn[data-v-703a68c2]{display:flex;align-items:center;justify-content:center;gap:8px;width:120px;height:44px;border-radius:10px;border:1.5px solid #e5e7eb;background:#fff;cursor:pointer;transition:all .25s ease;outline:none}.social-btn[data-v-703a68c2]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.06)}.social-btn i[data-v-703a68c2]{font-size:20px}.social-btn span[data-v-703a68c2]{font-size:13px;font-weight:500}.qq-btn i[data-v-703a68c2]{color:#0ae}.qq-btn[data-v-703a68c2]:hover{border-color:#0ae;background:#f0f9ff}.weibo-btn i[data-v-703a68c2]{color:#e05244}.weibo-btn[data-v-703a68c2]:hover{border-color:#e05244;background:#fff5f5}@media (max-width:900px){.brand-panel[data-v-703a68c2]{display:none}.login-panel[data-v-703a68c2]{padding:30px 20px}}@media (max-width:480px){.login-form-wrapper[data-v-703a68c2]{max-width:100%}.mode-btn[data-v-703a68c2]{font-size:12px;padding:8px 4px}.social-btn[data-v-703a68c2]{width:100px}}