body{margin:0;background:#f0f2f5;font-family:system-ui,sans-serif}.layout{display:flex;min-height:100vh}.side{width:200px;background:#001529;color:#fff;display:flex;flex-direction:column;padding-top:12px}.logo{font-size:16px;font-weight:700;padding:12px 16px 20px}nav{display:flex;flex-direction:column}.nav-item{padding:12px 16px;color:#bbb;text-decoration:none;font-size:14px}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.on{color:#fff;background:#1677ff}.main{flex:1}.logout{margin-top:10px;width:100%;padding:8px;background:transparent;color:#ff7875;border:1px solid #ff7875;border-radius:6px;cursor:pointer}.login-wrap[data-v-9c0c9ba2]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f0f2f5}.login-card[data-v-9c0c9ba2]{background:#fff;padding:32px 28px;border-radius:12px;width:320px;box-shadow:0 2px 12px #00000014}.btn[data-v-9c0c9ba2]{width:100%;padding:11px;background:#1677ff;color:#fff;border:none;border-radius:8px;font-size:15px;cursor:pointer}.btn[data-v-9c0c9ba2]:disabled{opacity:.6}.page[data-v-16f75ae1]{max-width:1200px;margin:0 auto;padding:24px}.grid[data-v-16f75ae1]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:20px}.stat-card[data-v-16f75ae1]{background:#fff;border-radius:10px;padding:18px;box-shadow:0 1px 4px #0000000f}.stat-label[data-v-16f75ae1]{font-size:13px;color:#888}.stat-value[data-v-16f75ae1]{font-size:26px;font-weight:700;margin-top:6px}.card[data-v-16f75ae1]{background:#fff;border-radius:10px;padding:18px;box-shadow:0 1px 4px #0000000f}.hint[data-v-16f75ae1]{color:#999;padding:20px 0}.chart[data-v-16f75ae1]{display:flex;align-items:flex-end;gap:8px;height:170px;overflow-x:auto}.col[data-v-16f75ae1]{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;min-width:34px}.bar[data-v-16f75ae1]{width:22px;background:#1677ff;border-radius:3px 3px 0 0}.lbl[data-v-16f75ae1]{font-size:11px;color:#999;margin-top:6px}.cnt[data-v-16f75ae1]{font-size:12px;font-weight:600}.page[data-v-c5246cba]{max-width:1200px;margin:0 auto;padding:24px}.hint[data-v-c5246cba]{color:#999;padding:20px 0}.tb[data-v-c5246cba]{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.tb th[data-v-c5246cba],.tb td[data-v-c5246cba]{padding:11px 14px;text-align:left;border-bottom:1px solid #f0f0f0}.tb th[data-v-c5246cba]{background:#fafafa;font-weight:600;color:#555}.btn-sm[data-v-c5246cba]{padding:6px 14px;background:#1677ff;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-right:6px}.btn-sm.warn[data-v-c5246cba]{background:#fa8c16}.btn-sm.ok[data-v-c5246cba]{background:#52c41a}.btn-sm.danger[data-v-c5246cba]{background:#f5222d}.tag[data-v-c5246cba]{display:inline-block;font-size:11px;font-weight:400;padding:1px 6px;border-radius:8px;margin-left:6px}.tag-red[data-v-c5246cba]{background:#fff1f0;color:#f5222d}.tag-gray[data-v-c5246cba]{background:#f5f5f5;color:#999}.tag-orange[data-v-c5246cba]{background:#fff7e6;color:#fa8c16}.tag-green[data-v-c5246cba]{background:#f6ffed;color:#52c41a}.link[data-v-c5246cba]{color:#1677ff;cursor:pointer;text-decoration:underline;font-weight:600}.modal-mask[data-v-c5246cba]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-c5246cba]{background:#fff;border-radius:10px;padding:20px;width:720px;max-width:94vw;max-height:80vh;overflow:auto}.diff-box[data-v-c5246cba]{margin-bottom:12px;padding:10px 12px;border:1px solid #ffe7ba;background:#fffbe6;border-radius:8px}.diff-row[data-v-c5246cba]{font-size:13px;line-height:1.8}.diff-note[data-v-c5246cba]{font-size:12px;color:#999;margin-top:6px}.plan-status[data-v-c5246cba]{padding:10px 12px;border-radius:8px;font-size:13px;margin-bottom:14px}.plan-status.on[data-v-c5246cba]{background:#f6ffed;border:1px solid #b7eb8f;color:#389e0d}.plan-status.off[data-v-c5246cba]{background:#fff1f0;border:1px solid #ffccc7;color:#cf1322}.plan-label[data-v-c5246cba]{font-size:13px;font-weight:600;color:#555;margin:14px 0 8px}.tier-btn[data-v-c5246cba]{padding:10px 14px;border:1px solid #d9d9d9;border-radius:8px;background:#fff;font-size:14px;cursor:pointer;text-align:center;color:#333;transition:all .15s}.tier-btn[data-v-c5246cba]:hover{border-color:#1677ff;color:#1677ff}.tier-btn.active[data-v-c5246cba]{border-color:#1677ff;color:#1677ff;background:#e6f4ff;font-weight:600}.tier-btn.saving[data-v-c5246cba]{opacity:.5;cursor:not-allowed}.page[data-v-21e821a9]{max-width:1200px;margin:0 auto;padding:24px}.hint[data-v-21e821a9]{color:#999;padding:20px 0}.tb[data-v-21e821a9]{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.tb th[data-v-21e821a9],.tb td[data-v-21e821a9]{padding:11px 14px;text-align:left;border-bottom:1px solid #f0f0f0}.tb th[data-v-21e821a9]{background:#fafafa;font-weight:600;color:#555}.btn-sm[data-v-21e821a9]{padding:6px 14px;background:#1677ff;color:#fff;border:none;border-radius:6px;cursor:pointer}.tag[data-v-21e821a9]{display:inline-block;font-size:11px;font-weight:400;padding:1px 6px;border-radius:8px;margin-left:6px}.tag-red[data-v-21e821a9]{background:#fff1f0;color:#f5222d}.page[data-v-d3eb3d3f]{max-width:1200px;margin:0 auto;padding:24px}.hint[data-v-d3eb3d3f]{color:#999;padding:20px 0}.card[data-v-d3eb3d3f]{background:#fff;border-radius:10px;padding:18px;box-shadow:0 1px 4px #0000000f}.tb[data-v-d3eb3d3f]{width:100%;border-collapse:collapse}.tb th[data-v-d3eb3d3f],.tb td[data-v-d3eb3d3f]{padding:10px 12px;text-align:left;border-bottom:1px solid #f0f0f0}.tb th[data-v-d3eb3d3f]{background:#fafafa;font-weight:600;color:#555}.back[data-v-d3eb3d3f]{padding:8px 14px;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer}.btn-sm[data-v-d3eb3d3f]{padding:6px 14px;border:none;border-radius:6px;cursor:pointer;color:#fff}.btn-sm.ok[data-v-d3eb3d3f]{background:#52c41a}.btn-sm.warn[data-v-d3eb3d3f]{background:#fa8c16}.btn-sm.danger[data-v-d3eb3d3f]{background:#f5222d}.btn-sm[data-v-d3eb3d3f]{background:#1677ff}.tag[data-v-d3eb3d3f]{display:inline-block;font-size:12px;font-weight:400;padding:2px 8px;border-radius:10px;margin-left:8px;vertical-align:middle}.tag-red[data-v-d3eb3d3f]{background:#fff1f0;color:#f5222d}.tag-green[data-v-d3eb3d3f]{background:#f6ffed;color:#52c41a}.page[data-v-88267bcd]{max-width:1200px;margin:0 auto;padding:24px}.hint[data-v-88267bcd]{color:#999;padding:16px 0}.group-title[data-v-88267bcd]{font-size:16px;font-weight:600;color:#333;margin:8px 0 12px}.cards[data-v-88267bcd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}.card[data-v-88267bcd]{background:#fff;border-radius:10px;padding:16px;box-shadow:0 1px 4px #0000000f;cursor:pointer}.card[data-v-88267bcd]:hover{box-shadow:0 4px 12px #0000001a}.meta[data-v-88267bcd]{font-size:13px;color:#888;margin-top:6px}.tag[data-v-88267bcd]{font-size:12px;padding:2px 8px;border-radius:4px}.tag-green[data-v-88267bcd]{background:#f6ffed;color:#52c41a;border:1px solid #b7eb8f}.tag-orange[data-v-88267bcd]{background:#fff7e6;color:#fa8c16;border:1px solid #ffd591}.tag-gray[data-v-88267bcd]{background:#f5f5f5;color:#8c8c8c;border:1px solid #d9d9d9}.tag-purple[data-v-88267bcd]{background:#f9f0ff;color:#722ed1;border:1px solid #d3adf7}.tag-red[data-v-88267bcd]{background:#fff1f0;color:#f5222d;border:1px solid #ffa39e}.btn-sm[data-v-88267bcd]{padding:6px 14px;background:#1677ff;color:#fff;border:none;border-radius:6px;cursor:pointer;margin-right:6px}.btn-sm.warn[data-v-88267bcd]{background:#fa8c16}.btn-sm.ok[data-v-88267bcd]{background:#52c41a}.btn-sm.danger[data-v-88267bcd]{background:#f5222d}.page[data-v-ed8c12cb]{max-width:900px;margin:0 auto;padding:24px}.hint[data-v-ed8c12cb]{color:#999;padding:20px 0}.card[data-v-ed8c12cb]{background:#fff;border-radius:10px;padding:20px;box-shadow:0 1px 4px #0000000f}.meta[data-v-ed8c12cb]{font-size:13px;color:#888;margin-top:6px}.divider[data-v-ed8c12cb]{border-top:1px solid #f0f0f0;margin:16px 0}.row[data-v-ed8c12cb]{display:flex;justify-content:space-between;padding:7px 0;font-size:14px;border-bottom:1px dashed #f0f0f0}.page[data-v-17599f32]{max-width:1100px;margin:0 auto;padding:24px}.card[data-v-17599f32]{background:#fff;border-radius:10px;padding:18px;box-shadow:0 1px 4px #0000000f;margin-bottom:16px}.hint[data-v-17599f32]{color:#999;padding:16px 0}.url[data-v-17599f32]{background:#f6f7f8;border:1px solid #eee;border-radius:6px;padding:6px 10px;font-size:13px;word-break:break-all}.url.sm[data-v-17599f32]{font-size:12px;display:inline-block;margin-top:4px}.broker-row[data-v-17599f32]{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #f0f0f0}.broker-row[data-v-17599f32]:last-child{border-bottom:none}.btn-sm[data-v-17599f32]{padding:6px 14px;background:#1677ff;color:#fff;border:none;border-radius:6px;cursor:pointer;white-space:nowrap}.btn-sm.ok[data-v-17599f32]{background:#52c41a}.tag[data-v-17599f32]{display:inline-block;font-size:11px;font-weight:400;padding:1px 6px;border-radius:8px;margin-left:6px}.tag-red[data-v-17599f32]{background:#fff1f0;color:#f5222d}.page[data-v-18041b6f]{max-width:1200px;margin:0 auto;padding:24px}.bar[data-v-18041b6f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.filters[data-v-18041b6f]{display:flex;gap:8px;align-items:center}.toolbar[data-v-18041b6f]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;flex-wrap:wrap;gap:8px}.tip[data-v-18041b6f]{color:#999;font-size:13px}.switch[data-v-18041b6f]{display:flex;gap:4px}.mode[data-v-18041b6f]{padding:5px 14px;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:13px;color:#666}.mode.on[data-v-18041b6f]{background:#1677ff;color:#fff;border-color:#1677ff}.hint[data-v-18041b6f]{color:#999;padding:20px 0}.card[data-v-18041b6f]{background:#fff;border-radius:10px;padding:14px 18px;box-shadow:0 1px 4px #0000000f;margin-bottom:12px}.group-head[data-v-18041b6f]{font-weight:600;font-size:15px;margin-bottom:6px;display:flex;align-items:center;gap:8px}.phone[data-v-18041b6f]{color:#888;font-size:12px;font-weight:400}.role-tag[data-v-18041b6f]{font-size:11px;background:#f0f5ff;color:#2f54eb;padding:1px 8px;border-radius:8px}.count[data-v-18041b6f]{margin-left:auto;font-size:12px;color:#999;font-weight:400}.log-row[data-v-18041b6f]{padding:6px 0;border-top:1px solid #f5f5f5;font-size:13px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.time[data-v-18041b6f]{color:#999;font-size:12px;white-space:nowrap}.act[data-v-18041b6f]{font-weight:600;color:#333;white-space:nowrap}.dt[data-v-18041b6f]{color:#666;word-break:break-all}.tb[data-v-18041b6f]{width:100%;border-collapse:collapse;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 4px #0000000f}.tb th[data-v-18041b6f],.tb td[data-v-18041b6f]{padding:10px 14px;text-align:left;border-bottom:1px solid #f0f0f0}.tb th[data-v-18041b6f]{background:#fafafa;font-weight:600;color:#555}.pages[data-v-18041b6f]{display:flex;justify-content:center;align-items:center;gap:14px;margin-top:16px;color:#666;font-size:13px}.btn-sm[data-v-18041b6f]{padding:6px 14px;background:#1677ff;color:#fff;border:none;border-radius:6px;cursor:pointer}.btn-sm[data-v-18041b6f]:disabled{opacity:.4;cursor:not-allowed}
