.login-page{position:relative;display:flex;justify-content:center;align-items:center;min-height:100vh;padding:48px 24px;overflow:hidden;background:linear-gradient(155deg,#8ec5ff,#a8c8fc 30%,#b8b8f5 62%,#c9b8f8)}.particle-canvas{width:100%;height:100%}.login-bg,.particle-canvas{position:absolute;inset:0;z-index:0;pointer-events:none}.login-bg{overflow:hidden}.bg-ribbons{position:absolute;inset:0;width:100%;height:100%}.ribbon-flow{stroke-linejoin:round}.bg-orb{position:absolute;border-radius:50%}.bg-orb--tl{top:-120px;left:-80px;width:320px;height:320px;background:radial-gradient(circle,rgba(160,210,255,.55) 0,transparent 68%)}.bg-orb--br{right:-100px;bottom:-100px;width:360px;height:360px;background:radial-gradient(circle,rgba(180,150,255,.45) 0,transparent 68%)}.bg-orb--ml{left:18%;bottom:8%;width:160px;height:160px;background:radial-gradient(circle,hsla(0,0%,100%,.28) 0,transparent 70%)}.bg-star{position:absolute;border-radius:50%;background:#fff;box-shadow:0 0 10px hsla(0,0%,100%,.85);animation:twinkle 3.4s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.3;transform:scale(.75)}50%{opacity:1;transform:scale(1.2)}}.card-particle-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:5;pointer-events:none;border-radius:inherit}.login-card{z-index:1;width:min(980px,100%);min-height:540px;background:#fff;border-radius:24px;box-shadow:0 24px 64px rgba(70,90,180,.2),0 4px 18px rgba(70,90,180,.08)}.login-card,.login-visual{position:relative;display:flex;overflow:hidden}.login-visual{flex:0 0 55%;align-items:center;justify-content:center;background:linear-gradient(165deg,#4f93f7,#5b6fe8 48%,#7a4fd6);padding:48px 64px 48px 36px}.visual-glow{background:radial-gradient(ellipse 70% 55% at 35% 45%,rgba(140,220,255,.28) 0,transparent 70%),radial-gradient(ellipse 50% 40% at 70% 80%,rgba(200,140,255,.22) 0,transparent 70%)}.visual-glow,.visual-ribbons{position:absolute;inset:0;pointer-events:none}.visual-ribbons{width:100%;height:100%;z-index:0;opacity:.95}.visual-content{position:relative;z-index:6;display:flex;flex-direction:column;align-items:center;gap:24px;width:100%;max-width:280px}.visual-logo{width:100px;height:auto;display:block;mix-blend-mode:screen;filter:drop-shadow(0 10px 24px rgba(20,30,90,.35));-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.visual-text{text-align:center}.visual-title{margin:0 0 10px;font-size:22px;font-weight:800;line-height:1.4;color:#fff;text-shadow:0 1px 0 hsla(0,0%,100%,.5),0 2px 0 rgba(55,40,160,.35),0 3px 0 rgba(40,30,120,.28),0 10px 22px rgba(10,20,80,.4),0 0 28px rgba(180,210,255,.45)}.visual-subtitle{margin:0 0 14px;font-size:14px;font-weight:600;line-height:1.6;letter-spacing:.5px;color:hsla(0,0%,100%,.92);text-shadow:0 1px 0 hsla(0,0%,100%,.35),0 2px 0 rgba(40,30,120,.28),0 8px 16px rgba(10,20,80,.32)}.visual-info p{margin:0 0 4px;font-size:13px;color:hsla(0,0%,100%,.75);line-height:1.7}.visual-wave{position:absolute;top:0;right:-1px;width:78px;height:100%;z-index:6;pointer-events:none;filter:drop-shadow(-2px 0 6px rgba(180,210,255,.35))}.login-panel{position:relative;flex:1;display:flex;flex-direction:column;justify-content:center;padding:48px 52px 44px 40px;min-width:0;background:radial-gradient(ellipse 80% 50% at 100% 0,rgba(167,139,250,.14) 0,transparent 55%),radial-gradient(ellipse 60% 45% at 90% 100%,rgba(96,165,250,.12) 0,transparent 50%),linear-gradient(160deg,#f8f9ff,#f3f5ff 45%,#eef2ff);overflow:hidden}.panel-decor{position:absolute;inset:0;pointer-events:none;z-index:0}.panel-ribbons{position:absolute;inset:0;width:100%;height:100%;opacity:.9}.panel-orb{position:absolute;border-radius:50%;filter:blur(2px)}.panel-orb--tr{top:-40px;right:-30px;width:140px;height:140px;background:radial-gradient(circle,rgba(167,139,250,.22) 0,transparent 70%)}.panel-orb--br{right:-20px;bottom:-50px;width:160px;height:160px;background:radial-gradient(circle,rgba(96,165,250,.18) 0,transparent 70%)}.panel-body{position:relative;z-index:6;display:flex;flex-direction:column;width:100%;max-width:340px}.panel-header{margin-bottom:30px}.panel-badge{display:inline-flex;align-items:center;margin-bottom:14px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.5px;color:#5b6fe8;background:linear-gradient(90deg,rgba(91,111,232,.1),rgba(138,85,240,.1));border:1px solid rgba(91,111,232,.16)}.panel-title{margin:0;font-size:26px;font-weight:700;letter-spacing:.5px;line-height:1.25;background:linear-gradient(120deg,#1a2f55,#3d4f8f 55%,#5b4fb8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.panel-subtitle{margin:10px 0 0;font-size:14px;color:#8b9bb0;letter-spacing:2px;padding-left:10px;border-left:3px solid #6b7ef0}.login-form{display:flex;flex-direction:column;width:100%}.login-form .el-form-item{margin-bottom:18px}.input-group{position:relative;display:flex;align-items:center;border:1px solid rgba(148,163,184,.28);border-radius:12px;background:hsla(0,0%,100%,.85);box-shadow:0 1px 2px rgba(70,90,160,.04),inset 0 1px 0 hsla(0,0%,100%,.8);transition:all .2s ease;padding:0 14px}.input-group:focus-within{border-color:#7c8ef5;background:#fff;box-shadow:0 0 0 3px rgba(99,102,241,.14),0 4px 14px rgba(99,102,241,.08)}.input-icon{font-size:16px;color:#94a3b8;margin-right:10px;flex-shrink:0;transition:color .2s}.input-group:focus-within .input-icon{color:#6366f1}.plain-input{flex:1}.plain-input ::v-deep .el-input{width:100%}.plain-input ::v-deep .el-input__inner{border:none!important;background:transparent!important;height:46px;line-height:46px;font-size:14px;color:#333;padding-left:0}.plain-input ::v-deep .el-input__inner:focus{border:none!important}.plain-input ::v-deep .el-input__prefix,.plain-input ::v-deep .el-input__suffix{display:none!important}.plain-input ::v-deep .el-input__inner::-webkit-input-placeholder{color:#b5b5bf}.verify-wrapper{display:flex;gap:10px;width:100%}.verify-input-box{flex:1}.verify-img{width:100px;height:46px;border-radius:10px;cursor:pointer;-o-object-fit:cover;object-fit:cover;flex-shrink:0;transition:transform .2s}.verify-img:hover{transform:scale(1.03)}.form-extra{margin-bottom:20px;display:flex;justify-content:flex-start}.form-extra ::v-deep .el-checkbox__inner{border-color:#ddd;background:transparent}.form-extra ::v-deep .el-checkbox__input.is-checked .el-checkbox__inner{background-color:#5b6fe8;border-color:#5b6fe8}.checkbox-label{font-size:13px;color:#888}.login-btn{width:100%;height:46px;font-size:15px;font-weight:600;letter-spacing:6px;border:none;border-radius:23px;background:linear-gradient(90deg,#4a90f0,#5f6ae8 52%,#8a55f0);color:#fff;box-shadow:0 10px 24px rgba(90,110,240,.38);transition:opacity .2s ease,box-shadow .2s ease,transform .2s ease}.login-btn:hover{background:linear-gradient(90deg,#3d82e8,#545cde 52%,#7a48e8);box-shadow:0 12px 30px rgba(90,110,240,.48);transform:translateY(-1px)}.login-btn:active{transform:translateY(0)}.login-btn.is-loading{background:linear-gradient(90deg,#4a90f0,#5f6ae8 52%,#8a55f0)}.panel-tip{margin:28px 0 0;font-size:12px;color:#a0aec0;letter-spacing:.5px;text-align:center}.mobile-card{flex-direction:column;min-height:auto;max-width:420px}@media(max-width:900px){.login-card{flex-direction:column;min-height:auto;max-width:420px}.login-visual{flex:none;min-height:220px;padding:32px 28px 24px}.visual-wave{display:none}.visual-logo{width:80px}.visual-title{font-size:18px}.login-panel{padding:32px 28px 36px}.panel-header{margin-bottom:24px}.panel-title{font-size:22px}.login-btn{border-radius:12px;letter-spacing:4px}}@media(max-width:480px){.login-page{padding:16px 12px}.login-card{border-radius:20px}.login-visual{min-height:160px;padding:24px 16px 20px}.login-panel{padding:24px 20px 28px}.panel-title{font-size:20px}}::v-deep .el-form-item__error{padding-top:4px;font-size:12px}