*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:auto}body{font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0f;color:#e0e0e0}.page-bg{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px 16px;background:radial-gradient(ellipse at 50% 0%,rgba(108,92,231,.08) 0%,transparent 60%),radial-gradient(ellipse at 80% 100%,rgba(0,184,212,.04) 0%,transparent 50%),#0a0a0f;background-image:linear-gradient(rgba(255,255,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.015) 1px,transparent 1px);background-size:40px 40px}.card{width:100%;max-width:420px;padding:40px 36px;background:#16161ee6;border:1px solid rgba(255,255,255,.06);border-radius:12px;box-shadow:0 4px 24px #0006}.card-logo{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:28px}.card-logo-icon{width:36px;height:36px;background:linear-gradient(135deg,#6c5ce7,#00b8d4);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff}.card-logo-text{font-size:20px;font-weight:700;color:#fff;letter-spacing:.5px}.card-title{font-size:20px;font-weight:600;color:#fff;text-align:center;margin-bottom:8px}.card-desc{font-size:14px;color:#999;text-align:center;margin-bottom:24px;line-height:1.6}.form-group{margin-bottom:16px}.form-label{display:block;margin-bottom:6px;font-size:13px;color:#aaa}.form-input{width:100%;padding:12px 14px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:14px;color:#e0e0e0;outline:none;transition:border-color .2s;box-sizing:border-box}.form-input:focus{border-color:#6c5ce7;background:#6c5ce70f}.form-input::placeholder{color:#555}.form-input-error{border-color:#e74c3c}.form-error{color:#e74c3c;font-size:12px;margin-top:4px}.btn{width:100%;padding:12px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,opacity .2s;margin-top:4px}.btn-primary{background:linear-gradient(135deg,#6c5ce7,#5a4bd1);color:#fff}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7d6ff0,#6a5ce0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.notice{padding:14px 16px;border-radius:8px;font-size:14px;line-height:1.6;margin-bottom:16px}.notice-success{background:#00b8941a;border:1px solid rgba(0,184,148,.2);color:#55efc4}.notice-error{background:#e74c3c1a;border:1px solid rgba(231,76,60,.2);color:#fab1a0}.notice-warning{background:#fdcb6e1a;border:1px solid rgba(253,203,110,.2);color:#ffeaa7}.card-footer{text-align:center;margin-top:20px;font-size:13px;color:#777}.card-footer a{color:#6c5ce7;text-decoration:none;font-weight:500}.card-footer a:hover{text-decoration:underline}.tips{margin-top:16px;font-size:12px;color:#666;line-height:1.8;text-align:center}.tips-item{display:flex;align-items:center;justify-content:center;gap:4px}.password-input-wrapper{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#777;cursor:pointer;font-size:13px;padding:4px}.password-toggle:hover{color:#aaa}@media (max-width: 480px){.card{padding:32px 20px}.card-title{font-size:18px}}
