.login-page[data-v-4dac3c46]{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;position:relative}.login-bg[data-v-4dac3c46]{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.bg-pattern[data-v-4dac3c46]{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><circle cx="50" cy="50" r="2" fill="rgba(255,255,255,0.1)"/></svg>') repeat;-webkit-animation:float-4dac3c46 20s ease-in-out infinite;animation:float-4dac3c46 20s ease-in-out infinite}@-webkit-keyframes float-4dac3c46{0%,to{-webkit-transform:translateY(0) rotate(0deg);transform:translateY(0) rotate(0deg)}50%{-webkit-transform:translateY(-20px) rotate(180deg);transform:translateY(-20px) rotate(180deg)}}@keyframes float-4dac3c46{0%,to{-webkit-transform:translateY(0) rotate(0deg);transform:translateY(0) rotate(0deg)}50%{-webkit-transform:translateY(-20px) rotate(180deg);transform:translateY(-20px) rotate(180deg)}}.login-container[data-v-4dac3c46]{-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:20px;position:relative;z-index:1}.login-container[data-v-4dac3c46],.login-header[data-v-4dac3c46]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.login-header[data-v-4dac3c46]{width:100%;max-width:400px;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:30px}.logo[data-v-4dac3c46]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:15px}.logo-img[data-v-4dac3c46]{height:50px;width:auto;-o-object-fit:contain;object-fit:contain}.logo h1[data-v-4dac3c46]{color:#fff;font-size:28px;font-weight:700;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3);white-space:nowrap}.help-link[data-v-4dac3c46]{color:hsla(0,0%,100%,.8);text-decoration:none;font-size:14px;-webkit-transition:color .3s;transition:color .3s}.help-link[data-v-4dac3c46]:hover{color:#fff}.login-card[data-v-4dac3c46]{background:#fff;border-radius:12px;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.1);box-shadow:0 8px 32px rgba(0,0,0,.1);padding:40px;width:100%;max-width:400px;-webkit-transition:all .3s ease;transition:all .3s ease}.login-card[data-v-4dac3c46] .van-tabs{margin-bottom:30px}.login-card[data-v-4dac3c46] .van-tabs__nav{background:transparent}.login-card[data-v-4dac3c46] .van-tab{font-size:16px;font-weight:500;color:#666;padding:12px 20px}.login-card[data-v-4dac3c46] .van-tab--active{color:#1890ff;font-weight:600}.login-card[data-v-4dac3c46] .van-tabs__line{background-color:#1890ff;height:3px;border-radius:3px}.login-card[data-v-4dac3c46] .van-cell-group{margin-bottom:20px;border-radius:8px;overflow:hidden;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.05);box-shadow:0 1px 3px rgba(0,0,0,.05)}.login-card[data-v-4dac3c46] .van-cell{padding:14px 16px;font-size:15px;-webkit-transition:background-color .2s;transition:background-color .2s}.login-card[data-v-4dac3c46] .van-cell:hover{background-color:#fafafa}.login-card[data-v-4dac3c46] .van-cell:after{border-color:#f0f0f0}.login-card[data-v-4dac3c46] .van-field__label{width:70px;color:#333;font-weight:500}.login-card[data-v-4dac3c46] .van-field__control{font-size:15px;color:#333;-webkit-transition:all .2s;transition:all .2s}.login-card[data-v-4dac3c46] .van-field__control:focus{color:#1890ff}.login-card[data-v-4dac3c46] .van-field__control::-webkit-input-placeholder{color:#c8c9cc}.login-card[data-v-4dac3c46] .van-field__control::-moz-placeholder{color:#c8c9cc}.login-card[data-v-4dac3c46] .van-field__control:-ms-input-placeholder{color:#c8c9cc}.login-card[data-v-4dac3c46] .van-field__control::-ms-input-placeholder{color:#c8c9cc}.login-card[data-v-4dac3c46] .van-field__control::placeholder{color:#c8c9cc}.login-card[data-v-4dac3c46] .van-field__error-message{font-size:12px;color:#ee0a24;-webkit-animation:shake-4dac3c46 .3s;animation:shake-4dac3c46 .3s}@-webkit-keyframes shake-4dac3c46{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-transform:translateX(-4px);transform:translateX(-4px)}75%{-webkit-transform:translateX(4px);transform:translateX(4px)}}@keyframes shake-4dac3c46{0%,to{-webkit-transform:translateX(0);transform:translateX(0)}25%{-webkit-transform:translateX(-4px);transform:translateX(-4px)}75%{-webkit-transform:translateX(4px);transform:translateX(4px)}}.login-card[data-v-4dac3c46] .van-checkbox__label{color:#666;font-size:14px}.login-card[data-v-4dac3c46] .van-checkbox__icon{font-size:18px}.login-card[data-v-4dac3c46] .van-checkbox__icon--checked{background-color:#1890ff;border-color:#1890ff}.login-card[data-v-4dac3c46] .van-button--primary{background:linear-gradient(135deg,#1890ff,#40a9ff);border:none;border-radius:8px;font-size:16px;font-weight:600;height:48px;-webkit-box-shadow:0 2px 8px rgba(24,144,255,.3);box-shadow:0 2px 8px rgba(24,144,255,.3);-webkit-transition:all .3s;transition:all .3s}.login-card[data-v-4dac3c46] .van-button--primary:hover:not(:disabled){-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 12px rgba(24,144,255,.4);box-shadow:0 4px 12px rgba(24,144,255,.4)}.login-card[data-v-4dac3c46] .van-button--primary:active{background:linear-gradient(135deg,#096dd9,#1890ff);-webkit-box-shadow:0 1px 4px rgba(24,144,255,.4);box-shadow:0 1px 4px rgba(24,144,255,.4);-webkit-transform:translateY(0);transform:translateY(0)}.login-card[data-v-4dac3c46] .van-button--loading{opacity:.8}.login-card[data-v-4dac3c46] .van-button--small{height:32px;padding:0 14px;font-size:13px;border-radius:6px;font-weight:500;-webkit-transition:all .3s;transition:all .3s}.login-card[data-v-4dac3c46] .van-button--small:hover:not(:disabled){background:linear-gradient(135deg,#40a9ff,#69c0ff);-webkit-transform:scale(1.02);transform:scale(1.02)}.login-card[data-v-4dac3c46] .van-button--small:active:not(:disabled){-webkit-transform:scale(.98);transform:scale(.98)}.login-card[data-v-4dac3c46] .van-button--disabled{background:#f5f5f5!important;color:#c8c9cc!important;-webkit-box-shadow:none!important;box-shadow:none!important;cursor:not-allowed!important}.forgot-link[data-v-4dac3c46]{color:#1890ff;text-decoration:none;font-size:14px}.forgot-link[data-v-4dac3c46]:hover{text-decoration:underline}.login-tabs[data-v-4dac3c46]{display:-webkit-box;display:-ms-flexbox;display:flex;margin-bottom:30px;border-bottom:1px solid #e8e8e8}.tab-item[data-v-4dac3c46]{-webkit-box-flex:1;-ms-flex:1;flex:1;text-align:center;padding:12px 0;cursor:pointer;color:#666;font-weight:500;-webkit-transition:all .3s;transition:all .3s;position:relative}.tab-item.active[data-v-4dac3c46]{color:#1890ff}.tab-item.active[data-v-4dac3c46]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background-color:#1890ff}.login-form[data-v-4dac3c46]{margin-bottom:30px}.form-group[data-v-4dac3c46]{position:relative;margin-bottom:20px}.form-input[data-v-4dac3c46]{width:100%;padding:12px 16px;border:1px solid #d9d9d9;border-radius:6px;font-size:16px;-webkit-transition:border-color .3s;transition:border-color .3s;-webkit-box-sizing:border-box;box-sizing:border-box}.form-input[data-v-4dac3c46]:focus{outline:none;border-color:#1890ff;-webkit-box-shadow:0 0 0 2px rgba(24,144,255,.2);box-shadow:0 0 0 2px rgba(24,144,255,.2)}.password-toggle[data-v-4dac3c46]{position:absolute;right:12px;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;font-size:18px}.verification-group[data-v-4dac3c46]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:10px}.verification-input[data-v-4dac3c46]{-webkit-box-flex:1;-ms-flex:1;flex:1}.send-code-btn[data-v-4dac3c46]{padding:12px 16px;background-color:#1890ff;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;white-space:nowrap;-webkit-transition:background-color .3s;transition:background-color .3s}.send-code-btn[data-v-4dac3c46]:hover:not(:disabled){background-color:#40a9ff}.send-code-btn[data-v-4dac3c46]:disabled{background-color:#d9d9d9;cursor:not-allowed}.form-options[data-v-4dac3c46]{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:20px;padding:0 2px}.form-options[data-v-4dac3c46],.remember-me[data-v-4dac3c46]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.remember-me[data-v-4dac3c46]{gap:6px;font-size:14px;color:#666;cursor:pointer}.forgot-password[data-v-4dac3c46]{color:#1890ff;text-decoration:none;font-size:14px}.forgot-password[data-v-4dac3c46]:hover{text-decoration:underline}.login-btn[data-v-4dac3c46]{width:100%;padding:14px;background:linear-gradient(135deg,#1890ff,#40a9ff);color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;-webkit-transition:-webkit-transform .2s,-webkit-box-shadow .2s;transition:-webkit-transform .2s,-webkit-box-shadow .2s;transition:transform .2s,box-shadow .2s;transition:transform .2s,box-shadow .2s,-webkit-transform .2s,-webkit-box-shadow .2s}.login-btn[data-v-4dac3c46]:hover:not(:disabled){-webkit-transform:translateY(-1px);transform:translateY(-1px);-webkit-box-shadow:0 4px 12px rgba(24,144,255,.3);box-shadow:0 4px 12px rgba(24,144,255,.3)}.login-btn[data-v-4dac3c46]:disabled{background:#d9d9d9;cursor:not-allowed;-webkit-transform:none;transform:none;-webkit-box-shadow:none;box-shadow:none}.register-link[data-v-4dac3c46]{text-align:center;color:#666;font-size:14px;padding-top:16px;border-top:1px solid #f0f0f0}.register-btn[data-v-4dac3c46]{color:#1890ff;text-decoration:none;font-weight:600;-webkit-transition:all .3s;transition:all .3s}.register-btn[data-v-4dac3c46]:hover{text-decoration:underline;opacity:.8}.login-footer[data-v-4dac3c46]{padding:20px;text-align:center;color:hsla(0,0%,100%,.8);position:relative;z-index:1}.footer-links[data-v-4dac3c46]{margin-bottom:10px}.footer-links a[data-v-4dac3c46]{color:hsla(0,0%,100%,.8);text-decoration:none;font-size:14px;margin:0 8px}.footer-links a[data-v-4dac3c46]:hover{color:#fff}.footer-links span[data-v-4dac3c46]{color:hsla(0,0%,100%,.5);margin:0 4px}.copyright[data-v-4dac3c46]{font-size:12px;color:hsla(0,0%,100%,.6)}@media (max-width:480px){.login-container[data-v-4dac3c46]{padding:10px}.login-card[data-v-4dac3c46]{padding:30px 20px;border-radius:8px}.login-header[data-v-4dac3c46]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:15px;text-align:center;margin-bottom:20px}.logo h1[data-v-4dac3c46]{font-size:24px}.logo-img[data-v-4dac3c46]{height:40px}.login-card[data-v-4dac3c46] .van-tab{font-size:14px;padding:10px 12px}.login-card[data-v-4dac3c46] .van-cell{padding:12px 14px}.login-card[data-v-4dac3c46] .van-field__label{width:60px;font-size:14px}.login-card[data-v-4dac3c46] .van-field__control{font-size:14px}.login-card[data-v-4dac3c46] .van-button--primary{height:44px;font-size:15px}.login-card[data-v-4dac3c46] .van-button--small{height:30px;padding:0 12px;font-size:12px}.form-options[data-v-4dac3c46]{font-size:13px}}@media (max-width:360px){.login-card[data-v-4dac3c46]{padding:24px 16px}.logo h1[data-v-4dac3c46]{font-size:22px}.login-card[data-v-4dac3c46] .van-tabs{margin-bottom:24px}.login-card[data-v-4dac3c46] .van-tab{font-size:13px;padding:10px 8px}.login-card[data-v-4dac3c46] .van-button--small{font-size:11px;padding:0 10px}}.login-card[data-v-4dac3c46] .van-tabs__content{-webkit-transition:height .3s ease;transition:height .3s ease}.login-form>div[data-v-4dac3c46]{-webkit-animation:fadeIn-4dac3c46 .3s ease;animation:fadeIn-4dac3c46 .3s ease}@-webkit-keyframes fadeIn-4dac3c46{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeIn-4dac3c46{0%{opacity:0;-webkit-transform:translateY(10px);transform:translateY(10px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.forgot-link[data-v-4dac3c46],.login-card[data-v-4dac3c46] .van-button,.login-card[data-v-4dac3c46] .van-checkbox,.register-btn[data-v-4dac3c46]{-webkit-tap-highlight-color:transparent;-ms-touch-action:manipulation;touch-action:manipulation}.login-card[data-v-4dac3c46] .van-button--loading .van-loading{color:#fff}.login-card[data-v-4dac3c46] .van-button--loading .van-button__text{margin-left:8px}