.modal-overlay[data-v-3cc00a0e]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#0f172a80;justify-content:center;align-items:center;animation:.2s fadeIn-3cc00a0e;display:flex;position:fixed;inset:0}@keyframes fadeIn-3cc00a0e{0%{opacity:0}to{opacity:1}}.auth-modal[data-v-3cc00a0e]{border-radius:var(--radius-xl);width:420px;max-height:90vh;box-shadow:var(--shadow-lg);scrollbar-width:thin;scrollbar-color:var(--border) transparent;background:#fff;padding:44px 40px 36px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp-3cc00a0e;position:relative;overflow-y:auto}.auth-modal[data-v-3cc00a0e]::-webkit-scrollbar{width:4px}.auth-modal[data-v-3cc00a0e]::-webkit-scrollbar-track{background:0 0}.auth-modal[data-v-3cc00a0e]::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}@keyframes slideUp-3cc00a0e{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-close[data-v-3cc00a0e]{width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex;position:absolute;top:18px;right:18px}.modal-close[data-v-3cc00a0e]:hover{background:var(--bg-base);color:var(--text-primary)}.modal-header[data-v-3cc00a0e]{text-align:center;margin-bottom:32px}.header-tabs[data-v-3cc00a0e]{justify-content:center;align-items:center;gap:0;margin-bottom:14px;display:flex}.header-tab[data-v-3cc00a0e]{color:var(--text-muted);cursor:pointer;padding:0 12px;font-size:24px;font-weight:700;transition:all .25s}.header-tab.active[data-v-3cc00a0e]{background:var(--brand-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.header-tab[data-v-3cc00a0e]:hover{color:var(--primary)}.tab-divider[data-v-3cc00a0e]{color:var(--border);margin:0 6px;font-size:20px;font-weight:300}.header-desc[data-v-3cc00a0e]{color:var(--text-muted);margin:0;font-size:13px}.error-msg[data-v-3cc00a0e]{color:#dc2626;text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:10px;padding:8px 14px;font-size:13px}.modal-body[data-v-3cc00a0e]{flex-direction:column;gap:18px;display:flex}.form-item[data-v-3cc00a0e]{flex-direction:column;display:flex}.form-label[data-v-3cc00a0e]{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:500}.input-wrapper[data-v-3cc00a0e]{border:1.5px solid var(--border);background:var(--bg-base);border-radius:10px;align-items:center;transition:all .25s;display:flex;overflow:hidden}.input-wrapper[data-v-3cc00a0e]:focus-within{border-color:var(--primary);background:#fff;box-shadow:0 0 0 4px #7c5cff1f}.input-prefix[data-v-3cc00a0e]{color:var(--text-secondary);border-right:1px solid var(--border);background:0 0;flex-shrink:0;height:44px;padding:0 14px;font-size:14px;font-weight:500;line-height:44px}.input-suffix[data-v-3cc00a0e]{cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:0 14px}.toggle-pwd[data-v-3cc00a0e]{opacity:.5;font-size:17px;transition:opacity .2s}.toggle-pwd[data-v-3cc00a0e]:hover{opacity:.8}.form-input[data-v-3cc00a0e]{height:44px;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:0 14px;font-size:15px}.form-input[data-v-3cc00a0e]::placeholder{color:var(--text-muted);font-size:14px}.input-row[data-v-3cc00a0e]{gap:10px;display:flex}.flex-1[data-v-3cc00a0e]{flex:1}.code-btn[data-v-3cc00a0e]{border:1.5px solid var(--primary);background:var(--primary-bg);height:44px;color:var(--primary);cursor:pointer;white-space:nowrap;border-radius:10px;flex-shrink:0;min-width:90px;padding:0 16px;font-size:13px;font-weight:500;transition:all .2s}.code-btn[data-v-3cc00a0e]:hover:not(:disabled){background:var(--primary);color:#fff}.code-btn[data-v-3cc00a0e]:disabled{color:var(--text-muted);border-color:var(--border);background:var(--bg-base);cursor:not-allowed}.checkbox-item[data-v-3cc00a0e]{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;display:flex}.checkbox-box[data-v-3cc00a0e]{border:2px solid var(--border);color:#0000;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;transition:all .2s;display:flex}.checkbox-box.checked[data-v-3cc00a0e]{background:var(--primary);border-color:var(--primary);color:#fff}.checkbox-text[data-v-3cc00a0e]{color:var(--text-muted);font-size:13px}.link[data-v-3cc00a0e]{color:var(--primary);cursor:pointer;font-weight:500}.link[data-v-3cc00a0e]:hover{text-decoration:underline}.submit-btn[data-v-3cc00a0e]{background:var(--brand-gradient);color:#fff;cursor:pointer;width:100%;height:46px;box-shadow:var(--shadow-glow);border:none;border-radius:14px;font-size:16px;font-weight:600;transition:all .25s}.submit-btn[data-v-3cc00a0e]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 26px #7c5cff59}.submit-btn[data-v-3cc00a0e]:disabled{background:var(--border);box-shadow:none;color:var(--text-muted);cursor:not-allowed}.btn-loading[data-v-3cc00a0e]{vertical-align:middle;border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;margin-right:6px;animation:.6s linear infinite spin-3cc00a0e;display:inline-block}@keyframes spin-3cc00a0e{to{transform:rotate(360deg)}}.switch-row[data-v-3cc00a0e]{text-align:center;color:var(--text-muted);font-size:13px}.douyin-section[data-v-3cc00a0e]{text-align:center;padding:16px 0 8px}.douyin-icon[data-v-3cc00a0e]{margin-bottom:16px}.douyin-desc[data-v-3cc00a0e]{color:var(--text-secondary);margin:0 0 24px;font-size:14px;line-height:1.6}.douyin-btn[data-v-3cc00a0e]{background:var(--brand-gradient);color:#fff;cursor:pointer;box-shadow:var(--shadow-glow);border:none;border-radius:14px;align-items:center;gap:8px;padding:13px 44px;font-size:15px;font-weight:600;transition:all .2s;display:inline-flex}.douyin-btn[data-v-3cc00a0e]:hover{opacity:.92;transform:translateY(-1px)}.douyin-tip[data-v-3cc00a0e]{color:var(--text-muted);margin:16px 0 0;font-size:12px}.modal-footer[data-v-3cc00a0e]{margin-top:28px;padding-top:22px}.footer-divider[data-v-3cc00a0e]{align-items:center;gap:14px;margin-bottom:22px;display:flex}.divider-line[data-v-3cc00a0e]{background:var(--border-light);flex:1;height:1px}.divider-text[data-v-3cc00a0e]{color:var(--text-muted);flex-shrink:0;font-size:12px}.third-party[data-v-3cc00a0e]{justify-content:center;gap:40px;display:flex}.third-item[data-v-3cc00a0e]{cursor:pointer;border:1px solid #0000;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:12px 16px;transition:all .2s;display:flex}.third-item[data-v-3cc00a0e]:hover{background:var(--bg-base);border-color:var(--border)}.third-item span[data-v-3cc00a0e]{color:var(--text-secondary);font-size:12px;font-weight:500}.layout[data-v-5c649bd4]{background:var(--bg-base);flex-direction:column;height:100vh;display:flex}.top-menu[data-v-5c649bd4]{height:64px;color:var(--text-primary);box-shadow:0 1px 0 var(--border), 0 6px 18px #1f23330a;z-index:100;background:#fff;flex-shrink:0;align-items:center;padding:0 28px;display:flex;position:relative}.top-menu-left[data-v-5c649bd4]{margin-right:40px}.logo[data-v-5c649bd4]{letter-spacing:.5px;background:var(--brand-gradient);-webkit-text-fill-color:transparent;white-space:nowrap;-webkit-background-clip:text;background-clip:text;margin:0;font-size:21px;font-weight:800}.top-menu-nav[data-v-5c649bd4]{gap:6px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.top-spacer[data-v-5c649bd4]{flex:1}.top-menu-item[data-v-5c649bd4]{cursor:pointer;height:40px;color:var(--text-secondary);white-space:nowrap;border-radius:12px;align-items:center;gap:7px;padding:0 18px;font-size:14px;font-weight:600;transition:all .2s;display:flex;position:relative}.top-menu-item[data-v-5c649bd4]:hover{color:var(--primary);background:var(--primary-bg)}.top-menu-item.active[data-v-5c649bd4]{color:#fff;background:var(--brand-gradient);box-shadow:var(--shadow-glow)}.top-menu-item.active[data-v-5c649bd4]:after{display:none}.top-icon[data-v-5c649bd4]{font-size:17px}.top-menu-right[data-v-5c649bd4]{cursor:pointer;position:relative}.user-trigger[data-v-5c649bd4]{border:1px solid var(--border);background:var(--bg-soft);border-radius:12px;align-items:center;gap:8px;padding:7px 14px;transition:all .2s;display:flex}.user-trigger[data-v-5c649bd4]:hover{background:var(--primary-bg);border-color:var(--primary-light)}.user-name[data-v-5c649bd4]{color:var(--text-primary);font-size:14px;font-weight:600}.user-arrow[data-v-5c649bd4]{color:var(--text-muted);font-size:11px;transition:transform .25s}.user-arrow.open[data-v-5c649bd4]{transform:rotate(180deg)}.user-dropdown[data-v-5c649bd4]{border-radius:var(--radius-md);min-width:190px;box-shadow:var(--shadow-lg);z-index:200;border:1px solid var(--border);background:#fff;padding:8px 0;animation:.2s dropdownIn-5c649bd4;position:absolute;top:calc(100% + 6px);right:0}@keyframes dropdownIn-5c649bd4{0%{opacity:0;transform:translateY(-6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.dropdown-group-title[data-v-5c649bd4]{color:var(--text-muted);letter-spacing:.5px;text-transform:uppercase;padding:10px 18px 6px;font-size:11px;font-weight:600}.dropdown-item[data-v-5c649bd4]{color:var(--text-primary);cursor:pointer;padding:10px 18px;font-size:14px;transition:all .15s}.dropdown-item[data-v-5c649bd4]:hover{background:var(--primary-bg);color:var(--primary)}.dropdown-divider[data-v-5c649bd4]{background:var(--border-light);height:1px;margin:4px 0}.logout-item[data-v-5c649bd4]{color:var(--danger)!important}.logout-item[data-v-5c649bd4]:hover{color:#dc2626!important;background:#fef2f2!important}.layout-body[data-v-5c649bd4]{flex:1;display:flex;overflow:hidden}.side-menu[data-v-5c649bd4]{background:var(--bg-card);border-right:1px solid var(--border);scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-shrink:0;width:240px;padding:0;overflow-y:auto}.side-menu[data-v-5c649bd4]::-webkit-scrollbar{width:4px}.side-menu[data-v-5c649bd4]::-webkit-scrollbar-track{background:0 0}.side-menu[data-v-5c649bd4]::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.side-menu[data-v-5c649bd4]::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.side-menu-title[data-v-5c649bd4]{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;border-bottom:1px solid var(--border-light);padding:20px 20px 14px;font-size:11px;font-weight:600}.side-menu-item[data-v-5c649bd4]{cursor:pointer;color:var(--text-secondary);border-left:none;border-radius:12px;align-items:center;gap:12px;margin:3px 10px;padding:11px 16px;font-size:14px;transition:all .2s;display:flex}.side-menu-item[data-v-5c649bd4]:hover{background:var(--bg-base);color:var(--primary)}.side-menu-item.active[data-v-5c649bd4]{background:var(--brand-gradient);color:#fff;box-shadow:var(--shadow-glow);font-weight:600}.side-menu-icon[data-v-5c649bd4]{text-align:center;opacity:.85;flex-shrink:0;width:24px;font-size:17px}.side-menu-item.active .side-menu-icon[data-v-5c649bd4]{opacity:1}.side-menu-text[data-v-5c649bd4]{flex-direction:column;min-width:0;display:flex}.side-menu-label[data-v-5c649bd4]{font-size:14px;line-height:1.4}.side-menu-desc[data-v-5c649bd4]{color:var(--text-muted);margin-top:1px;font-size:11px;font-weight:400;line-height:1.3}.side-menu-item.active .side-menu-desc[data-v-5c649bd4]{color:#ffffffbf}.main-content[data-v-5c649bd4]{background:var(--bg-base);scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex:1;padding:28px;overflow-y:auto}.main-content[data-v-5c649bd4]::-webkit-scrollbar{width:4px}.main-content[data-v-5c649bd4]::-webkit-scrollbar-track{background:0 0}.main-content[data-v-5c649bd4]::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.main-content[data-v-5c649bd4]::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#7c5cff;--primary-light:#a78bfa;--primary-dark:#6d28d9;--primary-bg:#f3f0ff;--accent:#ff5fa2;--accent2:#38bdf8;--brand-gradient:linear-gradient(135deg, #7c5cff 0%, #a855f7 45%, #ec4899 100%);--brand-gradient-soft:linear-gradient(135deg, #f3f0ff 0%, #fdf2f8 100%);--success:#22c55e;--warning:#f59e0b;--danger:#f43f5e;--bg-base:#f6f7fb;--bg-card:#fff;--bg-soft:#fafbff;--text-primary:#1f2333;--text-secondary:#6b7280;--text-muted:#9aa3b2;--border:#eceef3;--border-light:#f4f5f9;--shadow-sm:0 1px 3px #1f23330a;--shadow-md:0 6px 18px #7c5cff14;--shadow-lg:0 12px 32px #1f23331a;--shadow-glow:0 8px 24px #7c5cff38;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px}html,body{height:100%;color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}#app{height:100%}a{color:inherit;text-decoration:none}ul,ol{list-style:none}.qm-notify-container{z-index:9999;pointer-events:none;flex-direction:column;gap:10px;display:flex;position:fixed;top:24px;left:50%;transform:translate(-50%)}.qm-notify{max-width:80vw;color:var(--text-primary);border:1px solid var(--border-light);opacity:0;background:#fff;border-radius:12px;align-items:center;gap:10px;padding:12px 18px;font-size:14px;line-height:1.5;transition:opacity .25s,transform .25s;display:flex;transform:translateY(-12px);box-shadow:0 10px 30px #0f172a26}.qm-notify.show{opacity:1;transform:translateY(0)}.qm-notify-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:13px;display:flex}.qm-notify-error{border-left:4px solid var(--danger)}.qm-notify-error .qm-notify-icon{background:var(--danger)}.qm-notify-success{border-left:4px solid var(--success)}.qm-notify-success .qm-notify-icon{background:var(--success)}.qm-notify-warn{border-left:4px solid var(--warning)}.qm-notify-warn .qm-notify-icon{background:var(--warning)}.qm-notify-text{word-break:break-word}.qm-confirm-layer{z-index:2000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);opacity:0;background:#1f233361;justify-content:center;align-items:center;transition:opacity .22s;display:flex;position:fixed;inset:0}.qm-confirm-layer.show{opacity:1}.qm-confirm-box{border-radius:var(--radius-lg);width:340px;max-width:calc(100vw - 40px);box-shadow:var(--shadow-lg);opacity:0;background:#fff;padding:26px 24px 22px;transition:transform .22s,opacity .22s;transform:translateY(12px)scale(.96)}.qm-confirm-layer.show .qm-confirm-box{opacity:1;transform:translateY(0)scale(1)}.qm-confirm-title{color:var(--text-primary);margin-bottom:10px;font-size:17px;font-weight:700}.qm-confirm-message{color:var(--text-secondary);margin-bottom:22px;font-size:14px;line-height:1.6}.qm-confirm-actions{justify-content:flex-end;gap:12px;display:flex}.qm-confirm-btn{cursor:pointer;border:none;border-radius:12px;padding:9px 20px;font-size:14px;font-weight:600;transition:all .18s}.qm-confirm-btn-cancel{background:var(--bg-base);color:var(--text-secondary)}.qm-confirm-btn-cancel:hover{color:var(--text-primary);background:#eceef3}.qm-confirm-btn-confirm{color:#fff;background:var(--brand-gradient);box-shadow:var(--shadow-glow)}.qm-confirm-btn-confirm:hover{filter:brightness(1.05);transform:translateY(-1px)}.qm-confirm-btn-confirm.is-danger{background:var(--danger);box-shadow:0 8px 22px #f43f5e47}
