@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&family=Noto+Sans+SC:wght@400;500;700&display=swap);.login-page{--bg:#2a2a2a;--surface:#262626;--surface-2:#2c2c2c;--border:hsla(0,0%,100%,0.08);--text:hsla(0,0%,100%,0.92);--text-muted:hsla(0,0%,100%,0.48);--accent:#4a9eff;--accent-soft:rgba(74,158,255,0.16);--shadow:0 12px 40px rgba(0,0,0,0.35);position:relative;width:100vw;height:100vh;overflow:hidden;background:var(--bg);color:var(--text);font-family:Manrope,Noto Sans SC,system-ui,-apple-system,Segoe UI,sans-serif}.login-page:before{width:520px;height:520px;right:-160px;top:-180px;filter:blur(48px)}.login-page:after,.login-page:before{content:"";position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(74,158,255,.14) 0,rgba(74,158,255,.09) 22%,rgba(74,158,255,.05) 42%,rgba(74,158,255,.02) 62%,rgba(74,158,255,0) 78%);pointer-events:none}.login-page:after{width:780px;height:780px;left:-280px;top:50%;transform:translateY(-50%);filter:blur(64px)}.login-shell{position:relative;z-index:1;width:100%;height:100%;margin:0 auto;padding:40px 28px 28px;box-sizing:border-box;flex-direction:column;gap:20px}.brand-title-row,.login-shell{display:flex;align-items:center;justify-content:center}.brand-title-row{gap:14px;max-width:min(520px,100%);animation:riseIn .55s ease both}.brand-logo{width:44px;height:44px;-o-object-fit:contain;object-fit:contain;flex-shrink:0;display:block}.brand-name{margin:0;font-size:clamp(22px,3vw,32px);font-weight:700;line-height:1.25;letter-spacing:-.02em;color:var(--text);text-align:left}.login-card{width:min(400px,100%);padding:28px 26px 24px;border-radius:18px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);animation:riseIn .55s ease .08s both}.brand-desc{margin:0;max-width:min(400px,100%);font-size:15px;line-height:1.7;font-weight:400;color:var(--text-muted);text-align:center;animation:riseIn .55s ease .12s both}@keyframes riseIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.card-head{margin-bottom:22px}.card-title{margin:0;font-size:22px;font-weight:650;letter-spacing:-.01em}.card-hint{margin:8px 0 0;font-size:13px;color:var(--text-muted)}.field-stack{display:flex;flex-direction:column;gap:8px}.field-label{margin-top:6px;font-size:13px;font-weight:500;color:hsla(0,0%,100%,.62)}.ds-input{width:100%;margin-bottom:6px}.ds-input .el-input__inner{height:44px;line-height:44px;border-radius:10px;border:1px solid hsla(0,0%,100%,.1);background:var(--surface-2);color:var(--text);font-family:inherit;font-size:14px;padding-left:40px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.ds-input .el-input__inner::-moz-placeholder{color:hsla(0,0%,100%,.32)}.ds-input .el-input__inner::placeholder{color:hsla(0,0%,100%,.32)}.ds-input .el-input__inner:hover{border-color:hsla(0,0%,100%,.18)}.ds-input .el-input__inner:focus{border-color:var(--accent);background:#303030;box-shadow:0 0 0 3px var(--accent-soft)}.ds-input .el-input__prefix{left:10px}.ds-input .el-input__prefix .el-input__icon,.ds-input .el-input__suffix .el-input__icon{line-height:44px;color:hsla(0,0%,100%,.42);transition:color .2s ease}.ds-input .el-input__inner:focus~.el-input__prefix .el-input__icon,.ds-input.is-focus .el-input__prefix .el-input__icon{color:var(--accent)}.login-btn{width:100%;height:44px;margin-top:12px;border:none;border-radius:10px;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:.04em;color:#0b1220;background:var(--accent);box-shadow:0 8px 20px rgba(74,158,255,.22);transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.login-btn:focus,.login-btn:hover{background:#63adff;color:#0b1220;transform:translateY(-1px);box-shadow:0 10px 24px rgba(74,158,255,.28)}.login-btn:active{transform:translateY(0);background:#3d8ff0}.login-meta{display:flex;align-items:center;justify-content:space-between;margin-top:16px}.remember-check .el-checkbox__label{color:var(--text-muted);font-family:inherit;font-size:13px;padding-left:8px}.remember-check .el-checkbox__inner{background:transparent;border-color:hsla(0,0%,100%,.28);border-radius:4px}.remember-check.is-checked .el-checkbox__inner{background-color:var(--accent);border-color:var(--accent)}.remember-check.is-checked .el-checkbox__inner:after{border-color:#0b1220}.link-btn{border:none;background:transparent;padding:0;cursor:pointer;font-family:inherit;font-size:13px;font-weight:600;color:var(--accent);transition:color .2s ease,opacity .2s ease}.link-btn:hover{color:#79baff}.login-footer{margin-top:8px;text-align:center;font-size:12px;color:hsla(0,0%,100%,.28)}.beian-link{margin-left:8px;color:hsla(0,0%,100%,.42);text-decoration:none;transition:color .2s ease}.beian-link:hover{color:var(--accent)}.pwd-dialog .el-dialog{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.pwd-dialog .el-dialog__title{color:var(--text);font-family:inherit;font-weight:650}.pwd-dialog .el-form-item__label{color:hsla(0,0%,100%,.65)}.pwd-dialog .el-input__inner{background:var(--surface-2);border-color:hsla(0,0%,100%,.1);color:var(--text)}.pwd-dialog .el-input__inner:focus{border-color:var(--accent)}.pwd-dialog .dialog-primary,.pwd-dialog .el-button--primary{background:var(--accent);border-color:var(--accent);color:#0b1220}.pwd-dialog .el-button--default{background:transparent;border-color:hsla(0,0%,100%,.18);color:hsla(0,0%,100%,.72)}@media (max-width:520px){.brand-title-row{flex-direction:column;gap:10px;text-align:center}.brand-name{font-size:22px;text-align:center}}