:root{--brand: #2f7cf6;--ink: #111827;--side: #0f172a;--side-2: #16213a;--line: #e8ecf3;--muted: #8a90a0;--bg: #f4f6fb}*{box-sizing:border-box}body{margin:0;background:var(--bg);font-family:-apple-system,PingFang SC,Microsoft YaHei,sans-serif}a{text-decoration:none;color:inherit}.shell{min-height:100vh;display:flex;flex-direction:column}.topbar{height:58px;display:flex;align-items:center;gap:14px;padding:0 18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{font-weight:700;font-size:16px;color:var(--ink);display:flex;align-items:center;gap:8px}.brand .dot{width:10px;height:10px;border-radius:3px;background:var(--brand);display:inline-block}.brand .accent{color:var(--brand)}.ham{cursor:pointer;color:var(--muted);font-size:16px;padding:4px 6px;border-radius:6px}.ham:hover{background:#f0f3f9}.topnav{display:flex;gap:6px;margin-left:10px}.topnav a{padding:7px 12px;border-radius:8px;color:#4b5563;font-size:13px}.topnav a.on,.topnav a:hover{background:#eef4ff;color:var(--brand)}.sp{flex:1}.right{display:flex;align-items:center;gap:10px;font-size:13px;color:#4b5563}.env{background:#eef4ff;color:var(--brand);padding:2px 8px;border-radius:6px;font-size:11px}.avatar{width:30px;height:30px;border-radius:50%;background:var(--brand);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}.avatar.lg{width:38px;height:38px;font-size:15px}.logout{border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 12px;cursor:pointer;color:#4b5563}.logout:hover{border-color:#ffb4b4;color:#e5484d}.body{flex:1;display:flex;min-height:0}.sidebar{width:210px;background:var(--side);color:#cbd5e1;display:flex;flex-direction:column;transition:width .18s ease;position:sticky;top:58px;height:calc(100vh - 58px)}.sidebar.collapsed{width:64px}.me{display:flex;align-items:center;gap:10px;padding:16px 14px;border-bottom:1px solid #1e293b}.me-name{font-size:14px;color:#fff}.me-role{font-size:11px;color:#4ade80;margin-top:2px}.menu{padding:10px 8px;display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow-y:auto}.menu::-webkit-scrollbar{width:6px}.menu::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.menu::-webkit-scrollbar-track{background:transparent}.menu a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;font-size:13.5px;color:#b6c2d6;white-space:nowrap;overflow:hidden}.menu a:hover{background:var(--side-2);color:#fff}.menu a.on{background:var(--brand);color:#fff}.menu .ico{width:18px;text-align:center;font-size:14px}.menu-group{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:8px;white-space:nowrap;overflow:hidden;cursor:pointer;font-size:12px;font-weight:600;color:#7f8ea6;letter-spacing:.6px;margin-top:12px}.menu-group:first-child{margin-top:0}.menu-group .ico{font-size:12px;opacity:.75}.menu-group:hover{background:var(--side-2);color:#a9b7cb}.menu-group.on{color:#cbd8ea}.menu-group:hover{background:var(--side-2);color:#fff}.menu-group .g-title{flex:1}.menu-group .caret{font-size:11px;opacity:.7;transition:transform .15s}.menu-group .caret.open{transform:rotate(180deg)}.menu-group.on{color:#fff}.menu .sub{display:flex;align-items:center;padding:8px 12px 8px 42px;border-radius:7px;font-size:13px;color:#b6c2d6;white-space:nowrap}.menu .sub:hover{background:var(--side-2);color:#fff}.menu .sub.on{background:var(--brand);color:#fff}.foot{margin-top:auto;padding:12px 16px;font-size:11px;color:#475569}.foot .ver{margin-top:3px;font-size:10px;color:#334155;opacity:.85}.main{flex:1;padding:18px 22px 40px;min-width:0}.crumb{font-size:12.5px;color:var(--muted);margin-bottom:14px}.crumb .cur{color:var(--ink);font-weight:600}.crumb .sep{margin:0 6px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.card+.card{margin-top:14px}.card h3{margin:0 0 12px;font-size:14px;color:var(--ink)}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}.muted{color:var(--muted)}.err{color:#e5484d;font-size:12.5px;padding:8px 0}.hint{font-size:11.5px;color:#98a2b3;margin-top:5px;line-height:1.5}.table-wrap{overflow-x:auto}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:12px}.stat-label{font-size:12.5px;color:#86909c}.stat-value{font-size:24px;font-weight:700;line-height:1.25;margin:3px 0 1px;color:var(--ink)}.stat-value.ok{color:#16a34a}.stat-value.warn{color:#d97706}.stat-sub{font-size:11.5px;color:#a9aeb8}.mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:60;padding:16px}.dlg{background:#fff;border-radius:12px;padding:18px 20px;width:min(560px,94vw);max-height:88vh;overflow:auto;box-shadow:0 18px 50px #0f172a47}.dlg h4{margin:0 0 4px;font-size:15px;color:var(--ink)}.dlg label{display:block;font-size:12.5px;color:#4b5563;margin:12px 0 5px}.dlg .foot{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.w100{width:100%}table.tbl{width:100%;border-collapse:collapse;font-size:13px}table.tbl th{text-align:left;color:var(--muted);font-weight:500;padding:10px 8px;border-bottom:1px solid var(--line);white-space:nowrap}table.tbl td{padding:10px 8px;border-bottom:1px solid #f2f4f8;color:#1f2937}table.tbl tr:hover td{background:#fafbfe}.btn{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 12px;cursor:pointer;font-size:13px}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.danger{color:#e5484d;border-color:#ffd0d0}.btn.sm{padding:4px 9px;font-size:12px}.input,select.input{height:34px;border:1px solid var(--line);border-radius:8px;padding:0 10px;font-size:13px;outline:none;background:#fff}.input:focus{border-color:var(--brand)}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}.stat .k{font-size:12px;color:var(--muted)}.stat .v{font-size:26px;font-weight:700;color:var(--ink);margin-top:6px}.tag{font-size:11px;padding:2px 8px;border-radius:20px;background:#eef4ff;color:var(--brand)}.tag.gray{background:#f1f2f6;color:var(--muted)}.tag.red{background:#fee;color:#e5484d}.tag.green{background:#e7f8ef;color:#17a673}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 20% 20%,#eaf1ff,#f4f6fb 45%,#eef2fa)}.login-card{width:360px;background:#fff;border:1px solid #e8ecf3;border-radius:16px;padding:28px 26px 22px;box-shadow:0 18px 40px #172b6314}.login-card .brand{font-size:19px;font-weight:700;display:flex;align-items:center;gap:8px}.login-card .dot{width:10px;height:10px;border-radius:3px;background:#2f7cf6}.login-card .accent{color:#2f7cf6}.login-card .sub{color:#8a90a0;font-size:12.5px;margin:8px 0 20px}.login-card label{display:block;font-size:12.5px;color:#4b5563;margin:12px 0 6px}.login-card .input{width:100%}.login-card .submit{width:100%;margin-top:20px;height:40px;font-size:14px}.login-card .err{color:#e5484d;font-size:12.5px;margin-top:10px}.login-card .hint{color:#a2a8b8;font-size:11.5px;margin-top:14px;text-align:center}.bars{display:flex;align-items:flex-end;gap:10px;height:150px;padding:6px 4px 0}.bar-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;flex:1;height:100%}.bar{width:60%;background:linear-gradient(180deg,#6fa6ff,#2f7cf6);border-radius:6px 6px 2px 2px;transition:height .3s}.bar-label{font-size:10.5px;color:#8a90a0;margin-top:6px}.muted{color:#8a90a0}.empty{color:#a2a8b8;font-size:12.5px}.users-page[data-v-aa0958d2]{display:flex;flex-direction:column;gap:12px}.stat-row[data-v-aa0958d2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.stat[data-v-aa0958d2]{background:#fff;border:1px solid #eef0f3;border-radius:10px;padding:12px 14px;box-shadow:0 1px 3px #1d21290a}.stat-label[data-v-aa0958d2]{font-size:12.5px;color:#86909c}.stat-value[data-v-aa0958d2]{font-size:24px;font-weight:700;line-height:1.25;margin:3px 0 1px;color:#1d2129;display:flex;align-items:center;gap:6px}.stat-value.up[data-v-aa0958d2]{color:#00b42a}.stat-value.danger[data-v-aa0958d2]{color:#f53f3f}.stat-value.online[data-v-aa0958d2]{color:#1677ff}.stat-value .dot[data-v-aa0958d2]{width:7px;height:7px;border-radius:50%;background:#00b42a}.stat-sub[data-v-aa0958d2]{font-size:11.5px;color:#c9cdd4}.filters[data-v-aa0958d2]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #f2f3f5}.search[data-v-aa0958d2]{width:260px}.spacer[data-v-aa0958d2]{flex:1}.filters .input[data-v-aa0958d2]{height:30px;padding:0 9px;font-size:12.5px;border:1px solid #dde0e5;border-radius:6px}.tbl-wrap[data-v-aa0958d2]{overflow-x:auto}.users-tbl[data-v-aa0958d2]{width:100%;font-size:12.5px;border-collapse:collapse}.users-tbl th[data-v-aa0958d2]{text-align:left;font-weight:500;color:#86909c;padding:8px;border-bottom:1px solid #f2f3f5;white-space:nowrap;background:#fafbfc}.users-tbl td[data-v-aa0958d2]{padding:9px 8px;border-bottom:1px solid #f7f8fa;vertical-align:middle}.users-tbl tbody tr[data-v-aa0958d2]{cursor:pointer;transition:background .12s}.users-tbl tbody tr[data-v-aa0958d2]:hover{background:#f7faff}.users-tbl tbody tr.sel[data-v-aa0958d2]{background:#eef4ff}.users-tbl th.num[data-v-aa0958d2],.users-tbl td.num[data-v-aa0958d2]{text-align:right}.empty-row td[data-v-aa0958d2]{text-align:center;color:#b6bcc4;padding:28px 0}.mono[data-v-aa0958d2]{font-variant-numeric:tabular-nums;color:#4e5969}.user-cell[data-v-aa0958d2]{display:flex;align-items:center;gap:9px}.avatar[data-v-aa0958d2]{width:32px;height:32px;border-radius:8px;overflow:hidden;flex-shrink:0;background:linear-gradient(135deg,#1677ff,#69b1ff);color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center}.avatar img[data-v-aa0958d2]{width:100%;height:100%;object-fit:cover}.avatar.lg[data-v-aa0958d2]{width:54px;height:54px;border-radius:12px;font-size:22px}.user-name[data-v-aa0958d2]{font-size:13px;color:#1d2129;font-weight:500;display:flex;align-items:center;gap:5px}.user-id[data-v-aa0958d2]{font-size:11.5px;color:#86909c;margin-top:2px}.users-tbl td.ops[data-v-aa0958d2]{white-space:nowrap}.users-tbl td.ops .btn[data-v-aa0958d2]{padding:2px 7px;font-size:11.5px;margin-right:4px}.input.mini[data-v-aa0958d2]{height:26px;padding:0 6px;font-size:12px;border-radius:5px;border:1px solid #e5e8ee}.chip[data-v-aa0958d2]{display:inline-flex;align-items:center;gap:4px;font-size:11px;line-height:17px;padding:0 6px;border-radius:4px;background:#f2f3f5;color:#86909c}.chip.blue[data-v-aa0958d2]{background:#e8f3ff;color:#1677ff}.chip.green[data-v-aa0958d2]{background:#e8ffea;color:#00b42a}.chip.red[data-v-aa0958d2]{background:#ffece8;color:#f53f3f}.chip .dot[data-v-aa0958d2]{width:5px;height:5px;border-radius:50%;background:currentColor}.pager[data-v-aa0958d2]{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #f2f3f5;font-size:12.5px}.page-no[data-v-aa0958d2]{color:#4e5969;font-variant-numeric:tabular-nums}.bulk-bar[data-v-aa0958d2]{position:sticky;bottom:12px;display:flex;align-items:center;gap:10px;padding:9px 14px;background:#1d2129;color:#fff;border-radius:10px;font-size:13px;box-shadow:0 6px 20px #0000002e}.bulk-bar .btn[data-v-aa0958d2]{background:#ffffff1f;color:#fff;border:none}.bulk-bar .btn.danger[data-v-aa0958d2]{background:#f53f3f}.bulk-bar .btn[data-v-aa0958d2]:hover{background:#ffffff38}.drawer-mask[data-v-aa0958d2]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1100;display:flex;justify-content:flex-end}.drawer[data-v-aa0958d2]{width:420px;max-width:92vw;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:-6px 0 24px #0000001f;animation:slideIn-aa0958d2 .2s ease}@keyframes slideIn-aa0958d2{0%{transform:translate(30px);opacity:.6}to{transform:none;opacity:1}}.drawer-head[data-v-aa0958d2]{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid #f2f3f5;font-size:14px}.drawer-close[data-v-aa0958d2]{border:none;background:none;font-size:20px;line-height:1;color:#999;cursor:pointer}.drawer-body[data-v-aa0958d2]{flex:1;overflow-y:auto;padding:16px}.profile[data-v-aa0958d2]{display:flex;gap:12px;align-items:center;margin-bottom:16px}.profile-name[data-v-aa0958d2]{font-size:16px;font-weight:600;color:#1d2129;display:flex;align-items:center;gap:6px}.profile-sub[data-v-aa0958d2]{font-size:12px;color:#86909c;margin-top:3px}.kv-grid[data-v-aa0958d2]{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#f2f3f5;border-radius:8px;overflow:hidden}.kv[data-v-aa0958d2]{background:#fff;padding:9px 12px;display:flex;flex-direction:column;gap:2px}.kv span[data-v-aa0958d2]{font-size:11.5px;color:#86909c}.kv b[data-v-aa0958d2]{font-size:13px;color:#1d2129;font-weight:500}.bio-block[data-v-aa0958d2]{margin-top:14px}.bio-title[data-v-aa0958d2]{font-size:11.5px;color:#86909c;margin-bottom:5px}.bio-text[data-v-aa0958d2]{font-size:12.5px;line-height:1.7;color:#4e5969;background:#fafbfc;border-radius:7px;padding:9px 11px}.svc-note[data-v-aa0958d2]{margin-top:16px;padding:10px 13px;font-size:11.5px;line-height:1.75;color:#86909c;background:#f7f8fa;border:1px solid #eef0f3;border-radius:8px}.svc-note b[data-v-aa0958d2]{color:#4e5969}.drawer-actions[data-v-aa0958d2]{display:flex;gap:10px;margin-top:16px}.form-dlg[data-v-aa0958d2]{background:#fff;border-radius:12px;width:640px;max-width:94vw;max-height:88vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0f172a47}.form-head[data-v-aa0958d2]{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid #f2f3f5;font-size:14px}.form-body[data-v-aa0958d2]{padding:16px;overflow:auto}.fgrid[data-v-aa0958d2]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.fgrid label[data-v-aa0958d2],.form-body>label.full[data-v-aa0958d2]{display:block;font-size:12.5px;color:#4b5563}.fgrid label .input[data-v-aa0958d2],.form-body>label.full .input[data-v-aa0958d2]{width:100%;box-sizing:border-box;margin-top:5px}.form-body>label.full[data-v-aa0958d2]{margin-top:12px}.fgrid label i[data-v-aa0958d2]{color:#e5484d;font-style:normal}.form-err[data-v-aa0958d2]{margin-top:12px;padding:8px 10px;background:#fdecec;color:#b42318;border-radius:8px;font-size:12.5px}.form-foot[data-v-aa0958d2]{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #f2f3f5}.pwd-tip[data-v-aa0958d2]{margin-top:10px;font-size:12px;color:#86909c;line-height:1.65;background:#f7f9fc;border-radius:8px;padding:9px 11px}.pwd-result[data-v-aa0958d2]{margin-top:12px;padding:10px 12px;background:#eafaf0;border:1px solid #c6f0d3;border-radius:8px;font-size:12.5px;color:#1a7f3c}.pwd-result code[data-v-aa0958d2]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;letter-spacing:1px;background:#fff;padding:2px 7px;border-radius:4px;margin:0 4px}.pwd-result span[data-v-aa0958d2]{color:#6b7280;font-size:11.5px}.ellipsis[data-v-14d20f7f]{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st[data-v-14d20f7f]{font-size:11.5px;padding:1px 7px;border-radius:9px;background:#f0f0f0;color:#666}.st.pending[data-v-14d20f7f]{background:#fff4e5;color:#d97706}.st.handled[data-v-14d20f7f]{background:#e8f7ee;color:#16a34a}.st.rejected[data-v-14d20f7f]{background:#f2f2f2;color:#999}.ev[data-v-14d20f7f]{display:flex;gap:4px;flex-wrap:wrap}.ev-img[data-v-14d20f7f]{width:40px;height:40px;object-fit:cover;border-radius:4px;border:1px solid #eee;cursor:zoom-in}.mask[data-v-14d20f7f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:999}.preview-img[data-v-14d20f7f]{max-width:88vw;max-height:88vh;border-radius:6px}.tag-g[data-v-14d20f7f]{font-size:10.5px;color:#2f7cf6;border:1px solid #bcd3ff;border-radius:3px;padding:0 3px;margin-right:3px}.wall-page[data-v-0f74a4cd]{display:flex;flex-direction:column;gap:12px}.wall-search[data-v-0f74a4cd]{display:flex;align-items:center;gap:10px;background:#fff;border-radius:8px;padding:12px 14px;box-shadow:0 2px 8px #0000000f}.cards[data-v-0f74a4cd]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}@media (max-width: 1400px){.cards[data-v-0f74a4cd]{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 1050px){.cards[data-v-0f74a4cd]{grid-template-columns:repeat(2,minmax(0,1fr))}}.chat-card[data-v-0f74a4cd]{height:280px;padding:12px;background:#fff;border-radius:6px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column}.card-list[data-v-0f74a4cd]{flex:1;padding:8px;overflow:auto;background:#f5f6f7;border-radius:6px;display:flex;flex-direction:column;gap:8px;min-height:0}.card-msg[data-v-0f74a4cd]{display:flex;flex-direction:column}.card-msg.left[data-v-0f74a4cd]{align-items:flex-start}.card-msg.right[data-v-0f74a4cd]{align-items:flex-end}.bubble[data-v-0f74a4cd]{max-width:82%;padding:6px 9px;border-radius:8px;font-size:12.5px;line-height:1.45;word-break:break-word;background:#e8f1ff}.card-msg.right .bubble[data-v-0f74a4cd]{background:#d9f7e0;text-align:right}.card-time[data-v-0f74a4cd]{font-size:10.5px;color:#bbb;margin-top:2px}.recalled[data-v-0f74a4cd]{color:#aaa;font-style:italic;font-size:12px}.mini-img[data-v-0f74a4cd]{max-width:120px;max-height:80px;border-radius:5px;display:block;cursor:zoom-in}.mini-file[data-v-0f74a4cd]{color:#555}.mini-video[data-v-0f74a4cd]{display:block;width:148px;max-height:112px;border-radius:5px;background:#000}.mini-audio[data-v-0f74a4cd]{width:148px;height:26px;display:block}.mini-dur[data-v-0f74a4cd]{font-size:10.5px;color:#999;margin-left:3px}.card-more[data-v-0f74a4cd]{text-align:center;font-size:11.5px;color:#aaa;padding:2px 0 4px}.card-empty[data-v-0f74a4cd]{flex:1;display:flex;align-items:center;justify-content:center;color:#bbb;font-size:12.5px}.card-foot[data-v-0f74a4cd]{display:flex;flex-direction:column;gap:6px;margin-top:10px}.card-foot-main[data-v-0f74a4cd]{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.users[data-v-0f74a4cd]{display:flex;align-items:center;min-width:0;flex:1 1 auto;overflow:hidden}.u[data-v-0f74a4cd]{display:flex;align-items:center;gap:5px;min-width:0;flex:0 1 auto}.u-av[data-v-0f74a4cd]{width:26px;height:26px;flex:0 0 26px;border-radius:50%;background:#2f7cf6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;overflow:hidden}.u-av.b[data-v-0f74a4cd]{background:#07c160}.u-av img[data-v-0f74a4cd]{width:100%;height:100%;object-fit:cover}.u-info[data-v-0f74a4cd]{display:flex;flex-direction:column;min-width:0}.u-name[data-v-0f74a4cd]{font-size:11.5px;color:#222;max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.u-id[data-v-0f74a4cd]{font-size:10.5px;color:#bbb;max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.swap[data-v-0f74a4cd]{color:#2f7cf6;margin:0 4px;flex:0 0 auto}.wall-empty[data-v-0f74a4cd]{grid-column:1 / -1;text-align:center;color:#bbb;font-size:13px;padding:40px 0}.wall-pager[data-v-0f74a4cd]{display:flex;align-items:center;justify-content:center;gap:10px;padding:4px 0 10px}.mask[data-v-0f74a4cd]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:999}.preview-img[data-v-0f74a4cd]{max-width:88vw;max-height:88vh;border-radius:6px}.burn-tag[data-v-0f74a4cd]{display:inline-block;margin-right:4px;padding:0 5px;border-radius:4px;font-size:10px;line-height:15px;background:#fff1e6;color:#d97706;border:1px solid #ffe0c2;vertical-align:middle}.recalled-tag[data-v-0f74a4cd]{display:inline-block;margin-left:6px;padding:0 5px;font-size:11px;line-height:16px;color:#d4380d;background:#fff2e8;border:1px solid #ffbb96;border-radius:3px;font-style:normal;vertical-align:middle}.recalled-body[data-v-0f74a4cd]{opacity:.72}.unfriend-bar[data-v-0f74a4cd]{display:flex;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;line-height:16px;color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:6px}.ubar-dot[data-v-0f74a4cd]{width:6px;height:6px;border-radius:50%;background:#f97316;flex:0 0 6px}.ubar-main[data-v-0f74a4cd]{font-weight:600}.ubar-sub[data-v-0f74a4cd]{color:#b45309;opacity:.85}.chat-page[data-v-884aab49]{display:flex;gap:12px;align-items:stretch;height:calc(100vh - 118px)}.wall[data-v-884aab49]{width:340px;flex:0 0 340px;background:#fff;border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.wall-head[data-v-884aab49]{padding:10px 10px 6px;border-bottom:1px solid #f0f0f0}.wall-meta[data-v-884aab49]{display:flex;justify-content:space-between;align-items:center;margin-top:7px;font-size:12px;color:#999}.session-list[data-v-884aab49]{flex:1;overflow-y:auto;padding:4px 6px;min-height:0}.session-item[data-v-884aab49]{display:flex;align-items:center;gap:3px;padding:8px 9px;border-radius:6px;cursor:pointer}.session-item[data-v-884aab49]:hover{background:#f5f5f5}.session-item.on[data-v-884aab49]{background:#e8f1ff;box-shadow:inset 2px 0 #2f7cf6}.s-side[data-v-884aab49]{display:flex;align-items:center;gap:6px;min-width:0;flex:1 1 0}.s-av[data-v-884aab49]{width:28px;height:28px;border-radius:50%;background:#2f7cf6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;overflow:hidden;flex:0 0 28px}.s-av.b[data-v-884aab49]{background:#07c160}.s-av img[data-v-884aab49]{width:100%;height:100%;object-fit:cover}.s-info[data-v-884aab49]{display:flex;flex-direction:column;min-width:0;line-height:1.35}.s-nm[data-v-884aab49]{font-size:12.5px;font-weight:500;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-id[data-v-884aab49]{font-size:11px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-swap[data-v-884aab49]{color:#2f7cf6;font-size:13px;flex:0 0 auto;margin:0 1px}.s-tail[data-v-884aab49]{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:0 0 auto;margin-left:4px}.s-count[data-v-884aab49]{font-size:10.5px;color:#8c8c8c;background:#f0f0f0;border-radius:9px;padding:0 6px}.s-time[data-v-884aab49]{font-size:10px;color:#bbb;white-space:nowrap}.s-empty[data-v-884aab49]{text-align:center;color:#bbb;font-size:12.5px;padding:30px 0}.wall-foot[data-v-884aab49]{padding:8px 10px;border-top:1px solid #f0f0f0;display:flex;align-items:center;justify-content:space-between;gap:6px}.history[data-v-884aab49]{flex:1;background:#fff;border-radius:10px;display:flex;flex-direction:column;overflow:hidden;min-width:0}.hist-empty[data-v-884aab49]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;gap:8px;font-size:13px}.hist-head[data-v-884aab49]{padding:10px 14px;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.hist-body[data-v-884aab49]{flex:1;overflow:auto;padding:14px;background:#f7f8fa}.head-users[data-v-884aab49]{display:flex;align-items:center;gap:4px}.hu[data-v-884aab49]{display:flex;align-items:center;gap:7px}.hu-av[data-v-884aab49]{width:32px;height:32px;flex:0 0 32px;border-radius:50%;background:#2f7cf6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;overflow:hidden}.hu-av.b[data-v-884aab49]{background:#07c160}.hu-av img[data-v-884aab49]{width:100%;height:100%;object-fit:cover}.hu-meta[data-v-884aab49]{display:flex;flex-direction:column;line-height:1.35}.hu-meta b[data-v-884aab49]{font-size:13px;color:#222}.hu-meta span[data-v-884aab49]{font-size:11px;color:#999}.swap[data-v-884aab49]{color:#2f7cf6;margin:0 8px;font-size:14px}.msg[data-v-884aab49]{display:flex;gap:8px;margin-bottom:12px}.msg.right[data-v-884aab49]{flex-direction:row-reverse}.msg.right .msg-main[data-v-884aab49]{text-align:right}.msg.right .bubble[data-v-884aab49]{background:#d9f7e0;border-color:#cdebd6}.msg.right .msg-meta[data-v-884aab49]{text-align:right}.msg-avatar[data-v-884aab49]{width:28px;height:28px;border-radius:50%;background:#8a94a6;color:#fff;flex:0 0 28px;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:600;overflow:hidden}.msg-avatar img[data-v-884aab49]{width:100%;height:100%;object-fit:cover}.msg-main[data-v-884aab49]{max-width:min(620px,78%);min-width:0}.msg-meta[data-v-884aab49]{font-size:11px;color:#999;margin-bottom:3px}.msg-meta .who[data-v-884aab49]{color:#666;margin-right:6px}.bubble[data-v-884aab49]{background:#eaf2ff;border:1px solid #dbe7fb;border-radius:8px;padding:8px 10px;font-size:13px;color:#222;word-break:break-word;line-height:1.5;display:inline-block}.bubble.image[data-v-884aab49],.bubble.video[data-v-884aab49]{padding:4px}.media-img[data-v-884aab49]{max-width:260px;max-height:200px;border-radius:6px;display:block;cursor:zoom-in}.media-video[data-v-884aab49]{max-width:340px;border-radius:6px;display:block}.file-link[data-v-884aab49]{color:#2f7cf6;text-decoration:none}.hist-more[data-v-884aab49]{text-align:center;padding:6px 0 2px}.mask[data-v-884aab49]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:999}.preview-img[data-v-884aab49]{max-width:88vw;max-height:88vh;border-radius:6px}.recalled-tag[data-v-884aab49]{display:inline-block;margin-left:6px;padding:0 5px;font-size:11px;line-height:16px;color:#d4380d;background:#fff2e8;border:1px solid #ffbb96;border-radius:3px;font-style:normal;vertical-align:middle}.recalled-body[data-v-884aab49]{opacity:.72}.burn-tag[data-v-884aab49]{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:4px;font-size:11px;background:#fff1e6;color:#d97706;border:1px solid #ffe0c2}.unfriend-chip[data-v-884aab49]{margin-right:10px;padding:2px 7px;font-size:11.5px;color:#d4380d;background:#fff2e8;border:1px solid #ffbb96;border-radius:4px;align-self:center}.icon-cell[data-v-b1136928]{width:42px;height:42px;border:1px dashed #d0d0d0;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.icon-cell[data-v-b1136928]:hover{border-color:#2f7cf6}.icon-empty[data-v-b1136928]{color:#bbb;font-size:20px}.icon-img[data-v-b1136928]{width:100%;height:100%;object-fit:cover;border-radius:8px}.icon-tile[data-v-b1136928]{width:30px;height:30px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:#fff}.icon-tile .mi[data-v-b1136928]{font-size:18px;color:#fff}.mask[data-v-b1136928]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:99}.picker[data-v-b1136928]{background:#fff;border-radius:10px;padding:18px;width:660px;max-height:82vh;overflow:auto}.picker-head[data-v-b1136928]{display:flex;justify-content:space-between;align-items:center}.tile-grid[data-v-b1136928]{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.tile-item[data-v-b1136928]{border:1px solid #eee;border-radius:8px;padding:8px 4px;display:flex;flex-direction:column;align-items:center;cursor:pointer}.tile-item[data-v-b1136928]:hover{border-color:#2f7cf6;background:#f6f9ff}.tile-item.on[data-v-b1136928]{border-color:#2f7cf6;background:#eef4ff}.tile-name[data-v-b1136928]{font-size:11px;color:#888;margin-top:4px}.page[data-v-7f4e722d]{display:flex;flex-direction:column;gap:14px}.page-head[data-v-7f4e722d]{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}.page-head h3[data-v-7f4e722d]{margin:0;font-size:16px}.page-head .muted[data-v-7f4e722d]{font-size:12.5px}.onair[data-v-7f4e722d]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 14px;background:#f6fbf7;border:1px solid #d6efdd;border-radius:8px}.onair.off[data-v-7f4e722d]{background:#fafbfc;border-color:#e8eaed;color:#8a8f99;font-size:12.5px}.onair-label[data-v-7f4e722d]{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#1f7a3f;font-weight:600;flex:none}.onair.off .onair-label[data-v-7f4e722d]{color:#8a8f99;font-weight:400}.onair-label .sub[data-v-7f4e722d]{color:#6f9a80;font-weight:400}.dot[data-v-7f4e722d]{width:7px;height:7px;border-radius:50%;background:#07c160;box-shadow:0 0 0 3px #07c16026}.dot.gray[data-v-7f4e722d]{background:#c3c7cf;box-shadow:none}.onair-list[data-v-7f4e722d]{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.onair-item[data-v-7f4e722d]{display:flex;align-items:center;gap:6px;min-width:0}.ord[data-v-7f4e722d]{width:16px;height:16px;border-radius:50%;background:#e7f6ec;color:#1f7a3f;font-size:10.5px;line-height:16px;text-align:center;flex:none}.onair-title[data-v-7f4e722d]{font-size:12.5px;color:#333;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats[data-v-7f4e722d]{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.stat[data-v-7f4e722d]{background:#fff;border:1px solid #eceef1;border-radius:8px;padding:12px 14px;cursor:pointer;transition:.15s}.stat[data-v-7f4e722d]:hover{border-color:#d7dbe0;box-shadow:0 2px 8px #0000000a}.stat.on[data-v-7f4e722d]{border-color:#2f7cf6;box-shadow:0 0 0 2px #2f7cf61a}.stat-num[data-v-7f4e722d]{font-size:21px;font-weight:700;color:#1f2329;line-height:1.2}.stat-label[data-v-7f4e722d]{font-size:12px;color:#8a8f99;margin-top:2px}.stat.green .stat-num[data-v-7f4e722d]{color:#07883f}.stat.gray .stat-num[data-v-7f4e722d]{color:#8a8f99}.stat.blue .stat-num[data-v-7f4e722d]{color:#2f7cf6}.stat.orange .stat-num[data-v-7f4e722d]{color:#d46b08}.card[data-v-7f4e722d]{background:#fff;border-radius:8px;padding:14px;box-shadow:0 2px 8px #0000000f}.toolbar[data-v-7f4e722d]{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}.flex-1[data-v-7f4e722d]{flex:1;font-size:12.5px}.err[data-v-7f4e722d]{color:#d4380d;font-size:12.5px;margin-bottom:10px}.table-wrap[data-v-7f4e722d]{overflow-x:auto;border-radius:6px}.table-wrap[data-v-7f4e722d] .tbl{min-width:1080px}.tbl th[data-v-7f4e722d]{background:#fafbfc;font-weight:600;color:#6b7280;font-size:12px;padding:9px 10px;white-space:nowrap;border-bottom:1px solid #eceef1}.tbl td[data-v-7f4e722d]{padding:9px 10px;border-bottom:1px solid #f2f4f6;vertical-align:middle}.tbl tbody tr[data-v-7f4e722d]:hover{background:#fafbfc}.empty[data-v-7f4e722d]{text-align:center;color:#bbb;padding:26px 0!important;font-size:12.5px}.sortn[data-v-7f4e722d]{display:inline-block;min-width:22px;padding:0 6px;font-size:11.5px;line-height:20px;text-align:center;color:#4b5563;background:#f2f4f6;border-radius:4px}.title-cell[data-v-7f4e722d]{display:flex;flex-direction:column;gap:1px;min-width:0}.title-cell .t[data-v-7f4e722d]{font-size:13px;color:#1f2329;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono[data-v-7f4e722d]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:10.5px}.ellip[data-v-7f4e722d]{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.muted[data-v-7f4e722d]{color:#8a8f99}.ops[data-v-7f4e722d]{white-space:nowrap}.ops .btn[data-v-7f4e722d]{margin-right:4px}.mask[data-v-7f4e722d]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:999}.dlg[data-v-7f4e722d]{width:560px;max-width:92vw;max-height:88vh;overflow-y:auto;background:#fff;border-radius:10px;padding:18px 20px;box-shadow:0 12px 40px #0003}.dlg h4[data-v-7f4e722d]{margin:0 0 4px;font-size:15px}.tip[data-v-7f4e722d]{font-size:12px;color:#8a8f99;margin-bottom:14px;line-height:1.5}.dlg label[data-v-7f4e722d]{display:block;font-size:12px;color:#6b7280;margin:12px 0 5px}.dlg .w100[data-v-7f4e722d]{width:100%;box-sizing:border-box}.area[data-v-7f4e722d]{resize:vertical;min-height:92px;line-height:1.55;font-family:inherit}.hint[data-v-7f4e722d]{font-size:11px;color:#a8adb5;margin-top:4px}.two[data-v-7f4e722d]{display:grid;grid-template-columns:1fr 1fr;gap:14px}.switch-row[data-v-7f4e722d]{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#1f2329;margin-top:14px!important}.switch-row input[data-v-7f4e722d]{width:15px;height:15px}.foot[data-v-7f4e722d]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.logs-page[data-v-b66ae62d]{display:flex;flex-direction:column;gap:14px}.grow[data-v-b66ae62d]{flex:1}.nowrap[data-v-b66ae62d]{white-space:nowrap}.mono[data-v-b66ae62d]{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px}.av[data-v-b66ae62d]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;color:#fff;font-size:11px;font-weight:600;margin-right:7px;vertical-align:middle}.act-tag[data-v-b66ae62d]{display:inline-block;padding:2px 8px;border-radius:5px;font-size:11.5px;white-space:nowrap;background:#eef2f7;color:#4b5563}.act-tag.ok[data-v-b66ae62d]{background:#e7f8ee;color:#07924a}.act-tag.warn[data-v-b66ae62d]{background:#fff4e5;color:#b45309}.act-tag.danger[data-v-b66ae62d]{background:#fdecec;color:#c53030}.act-tag.info[data-v-b66ae62d]{background:#eaf2ff;color:#2563eb}.detail-cell[data-v-b66ae62d]{max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table-wrap[data-v-b66ae62d]{overflow-x:auto}.tbl[data-v-b66ae62d]{min-width:760px}.pager[data-v-b66ae62d]{display:flex;align-items:center;gap:10px;padding:12px 4px 2px;border-top:1px solid var(--line, #eef1f5);margin-top:10px}.policy[data-v-78c444b3]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:9px 14px;border-radius:10px;font-size:12.5px;margin-bottom:12px;border:1px solid}.policy.on[data-v-78c444b3]{background:#fff8e6;border-color:#ffe1a8;color:#8a5b00}.policy.off[data-v-78c444b3]{background:#f0fbf3;border-color:#c6f0d3;color:#1a7f3c}.pdot[data-v-78c444b3]{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}.pdesc[data-v-78c444b3]{color:#6b7280;font-weight:400}.stat-row[data-v-78c444b3]{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px;margin-bottom:12px}.stat[data-v-78c444b3]{background:#fff;border:1px solid #eef0f3;border-radius:10px;padding:12px 14px;box-shadow:0 1px 3px #1d21290a}.stat-label[data-v-78c444b3]{font-size:12.5px;color:#86909c}.stat-value[data-v-78c444b3]{font-size:24px;font-weight:700;line-height:1.25;margin:3px 0 1px;color:#1d2129}.stat-value.ok[data-v-78c444b3]{color:#16a34a}.stat-value.warn[data-v-78c444b3]{color:#d97706}.stat-value.muted-v[data-v-78c444b3]{color:#86909c}.stat-sub[data-v-78c444b3]{font-size:11.5px;color:#a9aeb8}.filters[data-v-78c444b3]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid #f2f3f5}.search[data-v-78c444b3]{width:250px}.flex-1[data-v-78c444b3]{flex:1;font-size:12.5px;white-space:nowrap}.err[data-v-78c444b3]{color:#dc2626;font-size:12.5px;padding:8px 0 0}.table-wrap[data-v-78c444b3]{width:100%;overflow-x:auto}.tbl[data-v-78c444b3]{width:100%;min-width:880px;border-collapse:collapse;font-size:13px;table-layout:fixed}.tbl th[data-v-78c444b3]{text-align:left;font-weight:500;font-size:12.5px;color:#86909c;padding:10px 8px;background:#fafbfc;border-bottom:1px solid #eef0f3;white-space:nowrap}.tbl th[data-v-78c444b3]:first-child{padding-left:12px;border-radius:8px 0 0}.tbl th[data-v-78c444b3]:last-child{border-radius:0 8px 0 0}.tbl td[data-v-78c444b3]{padding:11px 8px;border-bottom:1px solid #f5f6f8;color:#1d2129;vertical-align:middle}.tbl td[data-v-78c444b3]:first-child{padding-left:12px}.tbl tbody tr:hover td[data-v-78c444b3]{background:#fafbfd}.tbl .empty[data-v-78c444b3]{text-align:center;color:#86909c;padding:34px 0;font-size:13px}.icode[data-v-78c444b3]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:nowrap;display:inline-block;font-size:13px;letter-spacing:1.2px;color:#1d2129;background:#f2f5fa;border:1px solid #e6ebf2;border-radius:5px;padding:3px 8px;cursor:pointer;-webkit-user-select:all;user-select:all;transition:background .15s}.icode[data-v-78c444b3]:hover{background:#e6efff;border-color:#bcd6ff}.quota[data-v-78c444b3]{font-variant-numeric:tabular-nums;color:#4b5563;white-space:nowrap}.quota.full[data-v-78c444b3]{color:#dc2626;font-weight:600}.tag.on[data-v-78c444b3]{background:#eafaf0;color:#16a34a}.tag.out[data-v-78c444b3]{background:#fdecec;color:#dc2626}.tag.off[data-v-78c444b3]{background:#f2f3f5;color:#86909c}.tag.blue[data-v-78c444b3]{background:#e8f1ff;color:#1677ff}.ops[data-v-78c444b3]{white-space:nowrap}.ops .btn[data-v-78c444b3]{padding:4px 7px;font-size:11.5px}.ops .btn+.btn[data-v-78c444b3]{margin-left:4px}.pager[data-v-78c444b3]{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid #f2f3f5;font-size:12.5px}.mask[data-v-78c444b3]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a5c;display:flex;align-items:center;justify-content:center;z-index:50}.dlg[data-v-78c444b3]{background:#fff;border-radius:12px;padding:20px 22px;width:400px;max-height:86vh;overflow:auto;box-shadow:0 18px 50px #0f172a38}.dlg.wide[data-v-78c444b3]{width:640px}.dlg h4[data-v-78c444b3]{margin:0 0 4px;font-size:15px;color:#1d2129}.tip[data-v-78c444b3]{font-size:12px;color:#86909c;margin-bottom:14px}.dlg label[data-v-78c444b3]{display:block;font-size:12.5px;color:#4b5563;margin:12px 0 5px}.w100[data-v-78c444b3]{width:100%;box-sizing:border-box}.two[data-v-78c444b3]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint[data-v-78c444b3]{font-size:11.5px;color:#9aa0a6;margin-top:4px;line-height:1.5}.foot[data-v-78c444b3]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.up-wrap[data-v-522f587f]{width:100%}.up-box[data-v-522f587f]{min-height:28px;padding:3px 6px;border:1px solid #d9d9d9;border-radius:4px;background:#fff;display:flex;flex-wrap:wrap;gap:4px;align-items:center;cursor:pointer}.up-box[data-v-522f587f]:hover{border-color:#2b7fff}.up-ph[data-v-522f587f]{color:#bbb;font-size:12px}.up-chip[data-v-522f587f]{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;font-size:11.5px;color:#0958d9;background:#e6f4ff;border:1px solid #91caff;border-radius:3px}.up-x[data-v-522f587f]{font-style:normal;cursor:pointer;color:#69b1ff}.up-x[data-v-522f587f]:hover{color:#d4380d}.up-mask[data-v-522f587f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1200;display:flex;align-items:center;justify-content:center}.up-modal[data-v-522f587f]{width:460px;max-height:74vh;background:#fff;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 28px #00000038}.up-head[data-v-522f587f]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid #f0f0f0}.up-tip[data-v-522f587f]{font-size:11.5px;color:#999}.up-close[data-v-522f587f]{margin-left:auto;border:none;background:none;font-size:18px;line-height:1;color:#999;cursor:pointer}.up-search[data-v-522f587f]{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid #f5f5f5}.up-input[data-v-522f587f]{flex:1;height:28px;padding:0 8px;border:1px solid #d9d9d9;border-radius:4px;font-size:12.5px}.up-list[data-v-522f587f]{flex:1;overflow-y:auto;padding:6px 0}.up-empty[data-v-522f587f]{padding:22px;text-align:center;color:#bbb;font-size:12.5px}.up-row[data-v-522f587f]{display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:12.5px;cursor:pointer}.up-row[data-v-522f587f]:hover{background:#fafafa}.up-row.on[data-v-522f587f]{background:#f0f8ff}.up-name[data-v-522f587f]{color:#222}.up-id[data-v-522f587f]{color:#999;font-size:11.5px}.up-phone[data-v-522f587f]{color:#888;font-size:11.5px}.up-role[data-v-522f587f]{margin-left:auto;font-size:11px;color:#0958d9;background:#e6f4ff;padding:0 5px;border-radius:3px}.up-foot[data-v-522f587f]{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-top:1px solid #f0f0f0}.fsw[data-v-6eb74819]{display:flex;flex-direction:column;gap:4px;min-width:0}.fsw.inline[data-v-6eb74819]{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;background:#fafbfc;border:1px solid #eef0f3;border-radius:7px}.fsw.inline .fsw-label[data-v-6eb74819]{white-space:normal}.fsw.inline .fsw-ctl[data-v-6eb74819]{height:auto}.fsw-label[data-v-6eb74819]{font-size:12.5px;line-height:17px;color:#4e5969;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fsw-ctl[data-v-6eb74819]{display:flex;align-items:center;gap:7px;height:32px}.fsw-switch[data-v-6eb74819]{position:relative;width:40px;height:22px;border:none;border-radius:11px;padding:0;cursor:pointer;flex-shrink:0;background:#d5d9e0;transition:background .18s ease}.fsw-knob[data-v-6eb74819]{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .18s ease}.fsw-switch.on[data-v-6eb74819]{background:#1677ff}.fsw-switch.on .fsw-knob[data-v-6eb74819]{transform:translate(18px)}.fsw-switch[data-v-6eb74819]:hover{filter:brightness(.96)}.fsw-reset[data-v-6eb74819]{border:none;background:none;padding:0;font-size:11.5px;color:#1677ff;cursor:pointer;line-height:1;white-space:nowrap;opacity:0;transition:opacity .15s}.fsw:hover .fsw-reset[data-v-6eb74819]{opacity:1}.fsw-reset[data-v-6eb74819]:hover{text-decoration:underline}.fsw-inherit[data-v-6eb74819]{font-size:11.5px;color:#86909c;line-height:1;white-space:nowrap}.roles-page[data-v-8566a034]{display:flex;gap:14px;align-items:flex-start;min-height:calc(100vh - 120px)}.role-side[data-v-8566a034]{width:236px;flex:0 0 236px;background:#fff;border-radius:10px;display:flex;flex-direction:column;max-height:calc(100vh - 120px);overflow:hidden}.side-head[data-v-8566a034]{padding:9px 10px;border-bottom:1px solid #f0f0f0}.role-list[data-v-8566a034]{flex:1;overflow:auto;padding:6px}.role-item[data-v-8566a034]{padding:7px 9px;border-radius:7px;cursor:pointer;margin-bottom:1px}.role-item[data-v-8566a034]:hover{background:#f5f8ff}.role-item.on[data-v-8566a034]{background:#eef4ff}.role-item.on .role-name[data-v-8566a034]{color:#2f7cf6}.role-name[data-v-8566a034]{font-size:14px;font-weight:600;color:#222;display:flex;align-items:center;gap:6px}.tag[data-v-8566a034]{font-size:10px;font-weight:400;color:#2f7cf6;border:1px solid #bcd3ff;border-radius:3px;padding:0 4px;line-height:15px}.role-sub[data-v-8566a034]{font-size:11.5px;color:#999;margin-top:3px}.side-empty[data-v-8566a034]{padding:20px 10px;font-size:12.5px;color:#aaa;text-align:center}.side-foot[data-v-8566a034]{padding:8px 10px;border-top:1px solid #f0f0f0}.role-main[data-v-8566a034]{flex:1;background:#fff;border-radius:10px;min-height:calc(100vh - 120px);display:flex;flex-direction:column;overflow:hidden}.main-empty[data-v-8566a034]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aaa;gap:8px}.empty-icon[data-v-8566a034]{font-size:32px}.main-head[data-v-8566a034]{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:5;background:#fff;padding:8px 12px;border-bottom:1px solid #f0f0f0}.ok[data-v-8566a034]{color:#16a34a;font-size:13px}.main-tip[data-v-8566a034]{display:flex;gap:8px;align-items:flex-start;margin-bottom:14px;padding:9px 12px;font-size:12.5px;line-height:1.7;color:#4e5969;background:#f7f8fa;border:1px solid #eef0f3;border-radius:8px}.tip-icon[data-v-8566a034]{flex-shrink:0;width:16px;height:16px;margin-top:1px;border-radius:50%;background:#a8b0bb;color:#fff;font-size:11px;font-style:italic;font-family:Georgia,serif;line-height:16px;text-align:center}.main-tip b[data-v-8566a034]{color:#1d2129}.main-body[data-v-8566a034]{padding:8px 12px 14px;overflow:auto;flex:1}.grp[data-v-8566a034]{margin-bottom:12px}.grp-title[data-v-8566a034]{font-size:13px;font-weight:600;color:#1d2129;margin-bottom:8px;padding-left:9px;border-left:3px solid #1677ff;line-height:1.3}.grp-body[data-v-8566a034]{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 16px;background:#fff;border:1px solid #eef0f3;border-radius:9px;padding:14px 16px;box-shadow:0 1px 3px #1d21290a}.fld[data-v-8566a034]{display:flex;flex-direction:column;gap:4px}.fld.full[data-v-8566a034]{grid-column:1 / -1}.fld.span2[data-v-8566a034]{grid-column:span 2}.fld>label[data-v-8566a034]{font-size:12.5px;color:#4b5563;line-height:17px;font-weight:500}.fld .input[data-v-8566a034]{width:100%}.chk[data-v-8566a034]{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#555}.role-main .input[data-v-8566a034]{padding:5px 9px;font-size:12.5px;height:32px;border:1px solid #dde0e5;border-radius:6px;transition:border-color .15s,box-shadow .15s}.role-main .input[data-v-8566a034]:hover{border-color:#c9cdd4}.role-main .input[data-v-8566a034]:disabled,.role-main .input[data-v-8566a034]:disabled:hover{background:#f7f8fa;color:#b6bcc4;border-color:#eef0f3;cursor:not-allowed}.fsw+.fld .input[data-v-8566a034]:disabled{opacity:.9}.role-main .input[data-v-8566a034]:focus{outline:none;border-color:#1677ff;box-shadow:0 0 0 2px #1677ff1a}.role-main .fld .input[data-v-8566a034],.role-main .fld select.input[data-v-8566a034],.role-main .fld.full .input[data-v-8566a034],.role-main .fld.span2 .input[data-v-8566a034]{width:100%}.fld label .hint[data-v-8566a034]{display:block;margin-top:1px;font-size:11.5px;color:#9aa0a6;font-weight:400}.svc-preview[data-v-8566a034]{padding:7px 10px;font-size:12px;line-height:1.7;color:#4b5563;background:#fafbfe;border:1px dashed #d9d9d9;border-radius:4px}.svc-preview strong[data-v-8566a034]{color:#0958d9}.wide-text[data-v-8566a034]{width:100%!important;padding:6px 8px;line-height:1.6;resize:vertical}.line-row[data-v-8566a034],.fab-row[data-v-8566a034]{display:flex;align-items:flex-start;gap:16px}.row-sw[data-v-8566a034],.fab-row .fab-sw[data-v-8566a034]{flex:0 0 168px}.row-grow[data-v-8566a034]{flex:1 1 auto;min-width:0}.fab-row .fab-title[data-v-8566a034]{flex:0 0 140px}.fab-row .fab-url[data-v-8566a034]{flex:1 1 auto;min-width:0}.grp-note[data-v-8566a034]{width:100%;padding:7px 10px;font-size:12.5px;line-height:1.8;color:#6b7280;background:#fafbfe;border:1px dashed #e3e5ea;border-radius:4px}.grp-note b[data-v-8566a034]{color:#374151}.admins-page[data-v-e62be65a]{display:flex;flex-direction:column;gap:14px}.policy[data-v-e62be65a]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-radius:8px;background:var(--card-2, #f6f8fb);font-size:12.5px}.pdot[data-v-e62be65a]{width:7px;height:7px;border-radius:50%;background:var(--brand, #2f7cf6)}.pdesc[data-v-e62be65a]{color:var(--muted, #78849a)}.flex-1[data-v-e62be65a]{flex:1}.table-wrap[data-v-e62be65a]{overflow-x:auto}.tbl[data-v-e62be65a]{min-width:450px}@media (max-width: 1100px){.tbl[data-v-e62be65a]{min-width:0}.av[data-v-e62be65a]{margin-right:6px}}.nowrap[data-v-e62be65a]{white-space:nowrap}.av[data-v-e62be65a]{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;color:#fff;font-size:11.5px;font-weight:600;margin-right:8px;vertical-align:middle}.role-tag[data-v-e62be65a]{display:inline-block;padding:2px 9px;border-radius:5px;font-size:11.5px;background:#eef2f7;color:#4b5563}.role-tag.sup[data-v-e62be65a]{background:#fff1e6;color:#d97706}.tag[data-v-e62be65a]{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:4px;font-size:11px;font-weight:400;background:#eef4ff;color:#2f7cf6}.btn.sm[data-v-e62be65a]{padding:3px 11px;font-size:12px;margin-right:6px;white-space:nowrap}.btn.danger[data-v-e62be65a]{color:#dc2626;border-color:#f3c7c7}.admin-roles-page[data-v-26c32b87]{display:flex;flex-direction:column;gap:14px}.policy[data-v-26c32b87]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;border-radius:8px;background:var(--card-2, #f6f8fb);font-size:12.5px}.pdot[data-v-26c32b87]{width:7px;height:7px;border-radius:50%;background:var(--brand, #2f7cf6)}.pdesc[data-v-26c32b87]{color:var(--muted, #78849a)}.flex-1[data-v-26c32b87],.grow[data-v-26c32b87]{flex:1}.tiny[data-v-26c32b87]{font-size:11.5px}.role-list[data-v-26c32b87]{display:flex;flex-direction:column;gap:8px;margin-top:4px}.role-card[data-v-26c32b87]{border:1px solid var(--line, #e8ecf2);border-radius:10px;padding:11px 14px;background:#fff;transition:box-shadow .15s,border-color .15s}.role-card[data-v-26c32b87]:hover{border-color:#d6e2f5;box-shadow:0 2px 10px #2f7cf612}.role-card.builtin[data-v-26c32b87]{background:#fcfdfe}.rc-main[data-v-26c32b87]{display:flex;align-items:center;gap:11px}.rc-act[data-v-26c32b87]{display:flex;align-items:center;gap:6px;flex:none}.rc-av[data-v-26c32b87]{width:34px;height:34px;border-radius:9px;flex:none;display:flex;align-items:center;justify-content:center;background:#eef2f7;color:#4b5563;font-weight:700;font-size:15px}.rc-av.sup[data-v-26c32b87]{background:#fff1e6;color:#d97706}.rc-title[data-v-26c32b87]{flex:1;min-width:0}.rc-name[data-v-26c32b87]{font-size:14.5px;font-weight:600;color:var(--ink, #1f2733)}.rc-meta[data-v-26c32b87]{font-size:12px;color:var(--muted, #78849a);margin-top:3px}.rc-users[data-v-26c32b87]{font-size:12px;color:#2563eb;background:#eaf2ff;padding:3px 10px;border-radius:20px;white-space:nowrap}.rc-users.zero[data-v-26c32b87]{color:#98a2b3;background:#f2f4f7}.rc-perms[data-v-26c32b87]{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0 0 45px}.chip.more[data-v-26c32b87]{background:#eef2f7;color:#6b7280;border-color:#e5e8ee}.chip[data-v-26c32b87]{font-size:11.5px;padding:2.5px 9px;border-radius:5px;background:#f2f6fc;color:#41618f;border:1px solid #e3ecf8}.rc-foot[data-v-26c32b87]{display:flex;align-items:center;gap:8px;margin-top:11px;padding-top:10px;border-top:1px dashed var(--line, #eef1f5)}.tag[data-v-26c32b87]{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:4px;font-size:11px;font-weight:400}.tag-builtin[data-v-26c32b87]{background:#eef2f7;color:#4b5563}.tag-super[data-v-26c32b87]{background:#fff1e6;color:#d97706}.btn.sm[data-v-26c32b87]{padding:3px 11px;font-size:12px;white-space:nowrap}.btn.danger[data-v-26c32b87]{color:#dc2626;border-color:#f3c7c7}.perm-head[data-v-26c32b87]{display:flex;align-items:center;gap:10px;margin:16px 0 6px}.lnk[data-v-26c32b87]{border:0;background:none;color:var(--brand, #2f7cf6);font-size:12px;cursor:pointer;padding:2px 4px}.lnk[data-v-26c32b87]:hover{text-decoration:underline}.perm-grid[data-v-26c32b87]{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:10px;border:1px solid var(--line, #e5e8ee);border-radius:9px;max-height:260px;overflow:auto}.perm-item[data-v-26c32b87]{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid transparent}.perm-item[data-v-26c32b87]:hover{background:#f6f9ff}.perm-item.on[data-v-26c32b87]{background:#eef4ff;border-color:#d8e6ff;color:#1d4ed8}.perm-item input[data-v-26c32b87]{width:15px;height:15px;cursor:pointer}.hint.warn[data-v-26c32b87]{color:#d97706}
