.login-page[data-v-a34685f2]{height:100%;display:flex;justify-content:center;align-items:center;background:linear-gradient(135deg,#1b2138,#2a3a5c 40%,#1a3668);position:relative;overflow:hidden}.login-bg[data-v-a34685f2]{position:absolute;inset:0;pointer-events:none}.bg-circle[data-v-a34685f2]{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.03)}.bg-circle-1[data-v-a34685f2]{width:500px;height:500px;top:-150px;right:-100px}.bg-circle-2[data-v-a34685f2]{width:300px;height:300px;bottom:-80px;left:-60px}.bg-circle-3[data-v-a34685f2]{width:200px;height:200px;bottom:30%;right:15%;background:rgba(64,158,255,.06)}.login-card[data-v-a34685f2]{position:relative;z-index:1;width:420px;padding:48px 40px 36px;background:var(--bg-card);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3),0 0 0 1px hsla(0,0%,100%,.08)}.login-header[data-v-a34685f2]{text-align:center;margin-bottom:36px}.login-logo[data-v-a34685f2]{font-size:44px;color:var(--color-primary);margin-bottom:12px}.login-logo-img[data-v-a34685f2]{width:48px;height:48px;-o-object-fit:contain;object-fit:contain;margin-bottom:12px}.login-title[data-v-a34685f2]{font-size:28px;font-weight:700;color:var(--text-primary);margin:0 0 8px 0;letter-spacing:2px}.login-subtitle[data-v-a34685f2]{font-size:14px;color:var(--text-secondary);margin:0}.login-form[data-v-a34685f2]{margin-top:8px}.login-form[data-v-a34685f2] .el-input__inner{height:44px;line-height:44px;font-size:14px;padding-left:40px}.login-form[data-v-a34685f2] .el-input__prefix{left:12px}.login-form[data-v-a34685f2] .el-input__prefix .el-icon-lock,.login-form[data-v-a34685f2] .el-input__prefix .el-icon-user-solid{font-size:18px;color:var(--text-secondary)}.login-actions[data-v-a34685f2]{margin-top:28px}.btn-login-full[data-v-a34685f2]{width:100%;height:44px;font-size:15px;letter-spacing:4px;font-weight:600}.otp-section[data-v-a34685f2]{text-align:center}.otp-header[data-v-a34685f2]{margin-bottom:28px}.otp-icon[data-v-a34685f2]{font-size:48px;color:var(--color-primary);margin-bottom:12px}.otp-title[data-v-a34685f2]{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 8px 0}.otp-desc[data-v-a34685f2]{font-size:13px;color:var(--text-secondary);margin:0}.otp-form[data-v-a34685f2]{margin-top:8px}.otp-form[data-v-a34685f2] .el-input__inner{height:48px;line-height:48px;font-size:20px;text-align:center;letter-spacing:8px;padding-left:40px}.otp-actions[data-v-a34685f2]{margin-top:24px}.btn-otp-back[data-v-a34685f2],.btn-otp-confirm[data-v-a34685f2]{width:calc(50% - 6px);height:44px;font-size:15px;letter-spacing:4px;font-weight:600}.btn-otp-confirm[data-v-a34685f2]{float:left}.btn-otp-back[data-v-a34685f2]{float:right}.login-footer[data-v-a34685f2]{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color-light);text-align:center}.login-footer p[data-v-a34685f2]{font-size:12px;color:var(--text-secondary);margin:0 0 8px 0}.reset-cmd[data-v-a34685f2]{display:inline-block;padding:4px 12px;background:var(--bg-hover);border:1px solid #e4e7ed;border-radius:4px;font-size:12px;color:var(--text-primary);font-family:Menlo,Monaco,Consolas,monospace;-webkit-user-select:all;-moz-user-select:all;user-select:all}@media (max-width:480px){.login-card[data-v-a34685f2]{width:90%;padding:36px 24px 28px}.login-title[data-v-a34685f2]{font-size:24px}.login-subtitle[data-v-a34685f2]{font-size:13px}.login-form[data-v-a34685f2] .el-input__inner{height:42px;line-height:42px;font-size:13px}.btn-login-full[data-v-a34685f2]{height:42px;font-size:14px}.reset-cmd[data-v-a34685f2]{font-size:11px;padding:3px 8px}}.theme-toggle-fixed{position:fixed;top:20px;right:20px;z-index:100;width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:hsla(0,0%,100%,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:hsla(0,0%,100%,.8);font-size:18px;transition:all var(--transition-fast)}.theme-toggle-fixed:hover{background:hsla(0,0%,100%,.2);color:var(--text-inverse)}html.dark .login-card{background:var(--bg-card)!important;box-shadow:0 20px 60px rgba(0,0,0,.5)!important}html.dark .login-card .el-input__inner{background:var(--bg-hover)!important;border-color:var(--border-color)!important;color:var(--text-primary)!important}html.dark .login-title,html.dark .otp-title{color:var(--text-primary)!important}html.dark .login-subtitle,html.dark .otp-desc{color:var(--text-secondary)!important}