#app{font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2d3447}.login-wrapper[data-v-9944e01a]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1c2b4a,#15203a,#0f172a)}.login-card[data-v-9944e01a]{width:400px;background:#fff;border-radius:12px;padding:40px 36px 30px;box-shadow:0 20px 60px #0000004d}.brand[data-v-9944e01a]{text-align:center;margin-bottom:28px}.mark[data-v-9944e01a]{display:inline-block;background:#3b82f6;color:#fff;font-weight:700;font-size:14px;padding:4px 10px;border-radius:4px;letter-spacing:1px}.sub[data-v-9944e01a]{font-size:12px;color:#6b7a99;margin-left:4px}.brand h2[data-v-9944e01a]{font-size:16px;color:#1f2740;margin-top:12px;font-weight:600}.field[data-v-9944e01a]{margin-bottom:16px}.field label[data-v-9944e01a]{display:block;font-size:12px;color:#6b7390;margin-bottom:6px}.field input[data-v-9944e01a]{width:100%;padding:10px 14px;border:1px solid #e3e6ee;border-radius:6px;font-size:14px;outline:none;transition:border .2s}.field input[data-v-9944e01a]:focus{border-color:#3b82f6}.err[data-v-9944e01a]{background:#fef2f2;color:#b91c1c;font-size:12px;padding:8px 12px;border-radius:4px;margin-bottom:14px}.btn[data-v-9944e01a]{width:100%;padding:11px 0;background:#3b82f6;color:#fff;border:0;border-radius:6px;font-size:15px;cursor:pointer;font-weight:600;letter-spacing:2px;transition:background .2s}.btn[data-v-9944e01a]:hover{background:#2563eb}.btn[data-v-9944e01a]:disabled{opacity:.6;cursor:not-allowed}.icon[data-v-83692d0b]{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0}.sidebar[data-v-49c75096]{width:220px;min-height:100vh;background:linear-gradient(180deg,#1c2b4a,#15203a);color:#cdd5e6;display:flex;flex-direction:column}.brand[data-v-49c75096]{padding:20px 18px 18px;border-bottom:1px solid rgba(255,255,255,.06)}.brand-logo[data-v-49c75096]{display:flex;align-items:center;gap:6px}.brand-mark[data-v-49c75096]{background:#3b82f6;color:#fff;font-weight:700;font-size:14px;padding:4px 8px;border-radius:4px;letter-spacing:1px}.brand-sub[data-v-49c75096]{font-size:12px;color:#6b7a99}.brand-title[data-v-49c75096]{margin-top:12px;font-size:14px;font-weight:600;color:#fff;letter-spacing:1px}.menu[data-v-49c75096]{flex:1;padding:8px 0;overflow-y:auto}.menu-title[data-v-49c75096]{display:flex;align-items:center;padding:12px 18px;cursor:pointer;font-size:14px;color:#b6c0d4;gap:10px;-webkit-user-select:none;user-select:none;transition:background .15s,color .15s}.menu-title[data-v-49c75096]:hover{background:#ffffff0a;color:#fff}.menu-title .label[data-v-49c75096]{flex:1}.menu-title .label em[data-v-49c75096]{font-style:normal;margin-left:4px;font-size:12px;color:#6b7a99}.menu-title .chev[data-v-49c75096]{font-size:18px;color:#6b7a99;transition:transform .2s}.menu-title.expandable.open .chev[data-v-49c75096]{transform:rotate(90deg)}.submenu[data-v-49c75096]{list-style:none;background:#00000026;padding:6px 0}.submenu-link[data-v-49c75096]{display:block;padding:9px 18px 9px 46px;color:#98a3bd;text-decoration:none;font-size:13px;border-left:3px solid transparent;transition:all .15s}.submenu-link[data-v-49c75096]:hover{color:#fff;background:#ffffff0a}.submenu-link.router-link-active[data-v-49c75096]{color:#fff;background:#3b82f62e;border-left-color:#3b82f6}.slide-enter-active[data-v-49c75096],.slide-leave-active[data-v-49c75096]{transition:all .2s ease;max-height:500px}.slide-enter-from[data-v-49c75096],.slide-leave-to[data-v-49c75096]{max-height:0;opacity:0}.app-header[data-v-d9b66a6f]{height:60px;background:#fff;border-bottom:1px solid #e8ebf1;display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:sticky;top:0;z-index:10}.header-left[data-v-d9b66a6f]{display:flex;align-items:center;gap:14px}.hamburger[data-v-d9b66a6f]{background:transparent;border:0;cursor:pointer;font-size:22px;color:#5b6478;padding:4px 8px}.page-title[data-v-d9b66a6f]{font-size:15px;font-weight:600;color:#2d3447}.header-center[data-v-d9b66a6f]{flex:1;display:flex;justify-content:center}.search-box[data-v-d9b66a6f]{width:360px;max-width:100%;display:flex;align-items:center;gap:8px;background:#f4f6fa;border:1px solid #e8ebf1;border-radius:6px;padding:6px 12px}.search-box input[data-v-d9b66a6f]{flex:1;background:transparent;border:0;outline:none;font-size:13px;color:#2d3447}.search-icon[data-v-d9b66a6f]{font-size:12px;opacity:.6}.header-right[data-v-d9b66a6f]{display:flex;align-items:center;gap:18px}.header-action[data-v-d9b66a6f]{position:relative;background:transparent;border:0;cursor:pointer;font-size:13px;color:#5b6478;display:flex;align-items:center;gap:4px;padding:6px 8px;border-radius:6px}.header-action[data-v-d9b66a6f]:hover,.header-action.active[data-v-d9b66a6f]{background:#f4f6fa;color:#1f2740}.header-action .badge[data-v-d9b66a6f]{background:#ef4444;color:#fff;font-size:11px;min-width:16px;height:16px;border-radius:8px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center}.notify-wrap[data-v-d9b66a6f]{position:relative}.notify-dropdown[data-v-d9b66a6f]{position:absolute;top:42px;right:0;width:360px;background:#fff;border-radius:8px;box-shadow:0 8px 30px #0000001f;border:1px solid #eef0f6;z-index:100;overflow:hidden}.nd-head[data-v-d9b66a6f]{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid #eef0f6}.nd-title[data-v-d9b66a6f]{font-size:14px;font-weight:600;color:#1f2740}.nd-count[data-v-d9b66a6f]{font-size:11px;color:#b91c1c;background:#fee2e2;padding:1px 7px;border-radius:8px}.nd-readall[data-v-d9b66a6f]{margin-left:auto;font-size:12px;background:#3b82f6;color:#fff;border:0;padding:5px 12px;border-radius:4px;cursor:pointer}.nd-readall[data-v-d9b66a6f]:disabled{background:#c8cfdb;cursor:not-allowed}.nd-list[data-v-d9b66a6f]{max-height:340px;overflow-y:auto}.nd-item[data-v-d9b66a6f]{display:flex;gap:10px;padding:11px 16px;cursor:pointer;border-bottom:1px solid #f5f7fb;transition:background .15s}.nd-item[data-v-d9b66a6f]:hover{background:#f7f9fc}.nd-item.unread[data-v-d9b66a6f]{background:#f4f8ff}.nd-item.unread[data-v-d9b66a6f]:hover{background:#eaf2ff}.nd-dot[data-v-d9b66a6f]{width:8px;height:8px;border-radius:50%;margin-top:5px;flex-shrink:0;background:#c8cfdb}.nd-item.high .nd-dot[data-v-d9b66a6f]{background:#ef4444}.nd-item.mid .nd-dot[data-v-d9b66a6f]{background:#f59e0b}.nd-item.low .nd-dot[data-v-d9b66a6f]{background:#3b82f6}.nd-item.info .nd-dot[data-v-d9b66a6f]{background:#22c55e}.nd-body[data-v-d9b66a6f]{flex:1;min-width:0}.nd-row[data-v-d9b66a6f]{display:flex;align-items:center;gap:8px}.nd-item-title[data-v-d9b66a6f]{font-size:13px;font-weight:600;color:#1f2740}.nd-item.unread .nd-item-title[data-v-d9b66a6f]:after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#ef4444;margin-left:6px;vertical-align:middle}.nd-time[data-v-d9b66a6f]{margin-left:auto;font-size:11px;color:#9aa3bb;flex-shrink:0}.nd-content[data-v-d9b66a6f]{font-size:12px;color:#6b7390;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nd-empty[data-v-d9b66a6f]{padding:34px 0;text-align:center;font-size:13px;color:#9aa3bb}.nd-foot[data-v-d9b66a6f]{display:flex;gap:10px;padding:10px 16px;border-top:1px solid #eef0f6;background:#fafbfd}.nd-link[data-v-d9b66a6f]{background:transparent;border:0;cursor:pointer;font-size:12px;color:#3b82f6;padding:0}.nd-link.danger[data-v-d9b66a6f]{color:#b91c1c;margin-left:auto}.nd-link[data-v-d9b66a6f]:disabled{color:#c8cfdb;cursor:not-allowed}.user-info[data-v-d9b66a6f]{display:flex;align-items:center;gap:8px;cursor:pointer;position:relative}.avatar[data-v-d9b66a6f]{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-weight:600;display:flex;align-items:center;justify-content:center;font-size:14px}.username[data-v-d9b66a6f]{font-size:13px;color:#2d3447}.user-dropdown[data-v-d9b66a6f]{position:absolute;top:46px;right:0;width:280px;background:#fff;border-radius:8px;box-shadow:0 8px 30px #0000001f;border:1px solid #eef0f6;z-index:100;padding:0;overflow:hidden}.drop-head[data-v-d9b66a6f]{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #eef0f6}.avatar.big[data-v-d9b66a6f]{width:40px;height:40px;font-size:16px}.drop-head .n[data-v-d9b66a6f]{font-size:14px;font-weight:600;color:#1f2740}.drop-head .r[data-v-d9b66a6f]{font-size:12px;color:#6b7390}.drop-section[data-v-d9b66a6f]{padding:10px 16px;border-bottom:1px solid #eef0f6}.drop-label[data-v-d9b66a6f]{font-size:11px;color:#9aa3bb;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.pwd-form[data-v-d9b66a6f]{display:flex;flex-direction:column;gap:6px}.pwd-form input[data-v-d9b66a6f]{padding:7px 10px;border:1px solid #e3e6ee;border-radius:4px;font-size:12px}.pwd-form input[data-v-d9b66a6f]:focus{border-color:#3b82f6;outline:none}.pwd-msg[data-v-d9b66a6f]{font-size:11px;margin-top:2px}.pwd-msg.ok[data-v-d9b66a6f]{color:#15803d}.pwd-msg.err[data-v-d9b66a6f]{color:#b91c1c}.drop-foot[data-v-d9b66a6f]{padding:10px 16px}.drop-foot .btn[data-v-d9b66a6f]{width:100%}.btn[data-v-d9b66a6f]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn.small[data-v-d9b66a6f]{font-size:12px;padding:6px 12px}.btn.primary[data-v-d9b66a6f]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn.primary[data-v-d9b66a6f]:hover{background:#2563eb}.admin-layout[data-v-db763f72]{display:flex;min-height:100vh;background:#f3f5f9}.sidebar-slot[data-v-db763f72]{flex-shrink:0}.main[data-v-db763f72]{flex:1;display:flex;flex-direction:column;min-width:0}.content[data-v-db763f72]{flex:1;padding:22px 26px;overflow-y:auto}.fade-enter-active[data-v-db763f72],.fade-leave-active[data-v-db763f72]{transition:all .2s ease}.fade-enter-from[data-v-db763f72]{opacity:0;transform:translateY(4px)}.fade-leave-to[data-v-db763f72]{opacity:0;transform:translateY(-4px)}.stat-card[data-v-983169f0]{background:#fff;border-radius:8px;padding:18px 20px;box-shadow:0 1px 3px #141e3c0f;display:flex;flex-direction:column;gap:8px;min-height:110px}.stat-head[data-v-983169f0]{display:flex;align-items:center;gap:8px}.stat-icon[data-v-983169f0]{width:24px;height:24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600}.tone-blue .stat-icon[data-v-983169f0]{background:#3b82f6}.tone-orange .stat-icon[data-v-983169f0]{background:#f97316}.tone-green .stat-icon[data-v-983169f0]{background:#22c55e}.tone-red .stat-icon[data-v-983169f0]{background:#ef4444}.tone-purple .stat-icon[data-v-983169f0]{background:#8b5cf6}.tone-cyan .stat-icon[data-v-983169f0]{background:#06b6d4}.stat-label[data-v-983169f0]{font-size:13px;color:#6b7390}.stat-value[data-v-983169f0]{font-size:26px;font-weight:700;color:#1f2740;letter-spacing:.5px}.stat-hint[data-v-983169f0]{font-size:12px;color:#8c95b0}.line-chart[data-v-113ecd10]{background:#fff;border-radius:8px;padding:16px 18px;box-shadow:0 1px 3px #141e3c0f}.chart-head[data-v-113ecd10]{display:flex;align-items:center;gap:12px;margin-bottom:10px}.chart-title[data-v-113ecd10]{font-size:14px;font-weight:600;color:#1f2740}.chart-svg[data-v-113ecd10]{width:100%;height:220px;display:block}.dashboard[data-v-325d3cc0]{display:flex;flex-direction:column;gap:18px}.kpi-grid[data-v-325d3cc0]{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.middle-grid[data-v-325d3cc0]{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px}.block[data-v-325d3cc0]{background:#fff;border-radius:8px;padding:16px 18px;box-shadow:0 1px 3px #141e3c0f;min-height:260px;display:flex;flex-direction:column}.block-title[data-v-325d3cc0]{font-size:14px;font-weight:600;color:#1f2740;margin-bottom:12px}.map-summary[data-v-325d3cc0]{flex:1;background:#f7f9fc;border-radius:6px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-items:center;padding:14px}.map-summary div[data-v-325d3cc0]{text-align:center}.map-summary strong[data-v-325d3cc0]{display:block;font-size:22px;color:#1f2740}.map-summary span[data-v-325d3cc0]{font-size:11px;color:#6b7390}.map-summary .op-btn[data-v-325d3cc0]{grid-column:1/-1;justify-self:center}.records[data-v-325d3cc0]{list-style:none;padding:0}.records li[data-v-325d3cc0]{display:flex;align-items:center;gap:8px;padding:9px 0;border-bottom:1px dashed #eef0f6;font-size:13px;color:#4b5470}.records li[data-v-325d3cc0]:last-child{border-bottom:0}.records .dot[data-v-325d3cc0]{width:6px;height:6px;border-radius:50%;background:#3b82f6}.records .text[data-v-325d3cc0]{flex:1}.records .time[data-v-325d3cc0]{color:#9aa3bb;font-size:12px}.card[data-v-325d3cc0]{background:#fff;border-radius:8px;box-shadow:0 1px 3px #141e3c0f;overflow:hidden}.card-head[data-v-325d3cc0]{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #eef0f6}.card-title[data-v-325d3cc0]{font-size:14px;font-weight:600;color:#1f2740}.card-filter[data-v-325d3cc0]{border:1px solid #e3e6ee;background:#fff;padding:4px 10px;border-radius:4px;font-size:12px}.data-table[data-v-325d3cc0]{width:100%;border-collapse:collapse}.data-table th[data-v-325d3cc0],.data-table td[data-v-325d3cc0]{padding:12px 20px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:13px;color:#4b5470}.data-table th[data-v-325d3cc0]{background:#fafbfd;font-weight:600;color:#6b7390}.data-table tr[data-v-325d3cc0]:hover{background:#fafbfd}.badge[data-v-325d3cc0]{display:inline-block;padding:3px 10px;border-radius:4px;font-size:12px}.badge.online[data-v-325d3cc0]{background:#dcfce7;color:#15803d}.badge.offline[data-v-325d3cc0]{background:#f1f5f9;color:#64748b}.badge.alarm[data-v-325d3cc0]{background:#fee2e2;color:#b91c1c}.op-btn[data-v-325d3cc0]{background:#3b82f6;color:#fff;border:0;padding:5px 14px;border-radius:4px;font-size:12px;cursor:pointer}.op-btn[data-v-325d3cc0]:hover{background:#2563eb}.empty-line[data-v-325d3cc0]{text-align:center;padding:14px;font-size:12px;color:#aab1c5;background:#fafbfd;border-top:1px solid #f0f2f7}.page-header[data-v-3d040064]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.title[data-v-3d040064]{font-size:20px;font-weight:600;color:#1f2740}.desc[data-v-3d040064]{margin-top:4px;font-size:13px;color:#6b7390}.page-header-actions[data-v-3d040064]{display:flex;gap:10px}.map-layout[data-v-a5c6e596]{display:grid;grid-template-columns:240px 1fr;gap:16px}.card[data-v-a5c6e596]{background:#fff;border-radius:8px;padding:18px;box-shadow:0 1px 3px #141e3c0f}.card h4[data-v-a5c6e596]{font-size:14px;font-weight:600;margin-bottom:14px;color:#1f2740}label[data-v-a5c6e596]{display:block;font-size:12px;color:#6b7390;margin:12px 0 6px}.input[data-v-a5c6e596]{width:100%;padding:7px 10px;border:1px solid #e3e6ee;border-radius:4px;font-size:13px}.chips[data-v-a5c6e596]{display:flex;flex-wrap:wrap;gap:6px}.chip[data-v-a5c6e596]{padding:4px 10px;background:#f4f6fa;color:#6b7390;border-radius:4px;font-size:12px;cursor:pointer}.chip.active[data-v-a5c6e596]{background:#3b82f6;color:#fff}.map-main[data-v-a5c6e596]{min-height:520px;display:flex;align-items:flex-start;justify-content:center}.map-empty[data-v-a5c6e596]{text-align:center;color:#9aa3bb;padding:30px}.marker-list[data-v-a5c6e596]{width:100%;display:flex;flex-direction:column;gap:8px}.marker[data-v-a5c6e596]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f7f9fc;border-radius:6px;font-size:13px}.marker .dot[data-v-a5c6e596]{width:8px;height:8px;border-radius:50%;background:#22c55e}.marker.offline .dot[data-v-a5c6e596]{background:#b91c1c}.marker.alarm .dot[data-v-a5c6e596]{background:#f59e0b}.marker .m-name[data-v-a5c6e596]{font-weight:600;color:#1f2740}.marker .m-no[data-v-a5c6e596]{color:#6b7390}.marker .tag[data-v-a5c6e596]{padding:2px 8px;border-radius:4px;font-size:11px;background:#dcfce7;color:#15803d}.marker.offline .tag[data-v-a5c6e596]{background:#fee2e2;color:#b91c1c}.marker.alarm .tag[data-v-a5c6e596]{background:#fef3c7;color:#b45309}.marker .coord[data-v-a5c6e596]{margin-left:auto;color:#9aa3bb;font-size:12px}.page[data-v-9e979706]{display:flex;flex-direction:column;gap:16px}.card[data-v-9e979706]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.filter[data-v-9e979706]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.input[data-v-9e979706]{padding:7px 10px;border:1px solid #e3e6ee;border-radius:4px;font-size:13px;min-width:160px}.btn[data-v-9e979706]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn-primary[data-v-9e979706]{background:#3b82f6;color:#fff;border-color:#3b82f6}.list[data-v-9e979706]{padding:0}.data-table[data-v-9e979706]{width:100%;border-collapse:collapse}.data-table th[data-v-9e979706],.data-table td[data-v-9e979706]{padding:11px 18px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:13px;color:#4b5470}.data-table th[data-v-9e979706]{background:#fafbfd;color:#6b7390;font-weight:600}.tag[data-v-9e979706]{padding:3px 9px;border-radius:4px;font-size:12px}.tag.high[data-v-9e979706]{background:#fee2e2;color:#b91c1c}.tag.mid[data-v-9e979706]{background:#fef3c7;color:#b45309}.tag.low[data-v-9e979706]{background:#dbeafe;color:#1d4ed8}.status.unhandled[data-v-9e979706]{color:#b91c1c}.status.handling[data-v-9e979706]{color:#b45309}.status.resolved[data-v-9e979706]{color:#15803d}.link[data-v-9e979706]{background:none;border:0;color:#3b82f6;cursor:pointer;font-size:12px;margin-right:8px}.empty[data-v-9e979706]{text-align:center;padding:20px;color:#9aa3bb;font-size:13px}.page[data-v-7e8e2dec]{display:flex;flex-direction:column;gap:16px}.kpi-grid[data-v-7e8e2dec]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.chart-list[data-v-7e8e2dec]{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:14px}.chart-card[data-v-7e8e2dec]{background:#fff;border-radius:8px;padding:18px;box-shadow:0 1px 3px #141e3c0f}.card-head[data-v-7e8e2dec]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.card-head .name[data-v-7e8e2dec]{font-size:14px;font-weight:600;color:#1f2740}.card-head .no[data-v-7e8e2dec]{font-style:normal;font-weight:400;color:#9aa3bb;font-size:12px;margin-left:6px}.chip[data-v-7e8e2dec]{display:inline-block;padding:2px 9px;background:#eaf2ff;color:#1d4ed8;border-radius:4px;font-size:12px}.chip.online[data-v-7e8e2dec]{background:#dcfce7;color:#15803d}.chip.offline[data-v-7e8e2dec]{background:#f1f5f9;color:#64748b}.chip.alarm[data-v-7e8e2dec]{background:#fee2e2;color:#b91c1c}.sensor-grid[data-v-7e8e2dec]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sensor-item[data-v-7e8e2dec]{display:grid;grid-template-columns:1fr auto auto;align-items:baseline;gap:5px;padding:14px;border-radius:8px;background:#f4f6fa}.sensor-name[data-v-7e8e2dec]{grid-column:1/-1;font-size:12px;color:#6b7390}.sensor-item strong[data-v-7e8e2dec]{font-size:22px;color:#1f2740}.sensor-item .unit[data-v-7e8e2dec]{font-size:12px;color:#6b7390}.sensor-item small[data-v-7e8e2dec]{grid-column:1/-1;color:#9aa3bb}.chart-meta[data-v-7e8e2dec]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;padding-top:10px;font-size:12px;color:#6b7390}.empty[data-v-7e8e2dec]{grid-column:1/-1;text-align:center;color:#9aa3bb;padding:40px;font-size:13px;background:#fff;border-radius:8px}.page[data-v-01b36892]{display:flex;flex-direction:column;gap:16px}.layout[data-v-01b36892]{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.card[data-v-01b36892]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.card-head[data-v-01b36892]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}h4[data-v-01b36892]{font-size:14px;color:#1f2740;margin:0 0 10px}.meta[data-v-01b36892]{font-size:12px;color:#6b7390}.tree[data-v-01b36892]{list-style:none}.node[data-v-01b36892]{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:6px;cursor:pointer;font-size:13px;color:#4b5470}.node[data-v-01b36892]:hover{background:#f4f6fa}.node.active[data-v-01b36892]{background:#eaf2ff;color:#1d4ed8;font-weight:600}.node .tag[data-v-01b36892]{font-size:12px;margin-left:auto;color:#6b7390}.badge-dot[data-v-01b36892]{width:8px;height:8px;border-radius:50%;margin-left:4px;flex-shrink:0}.badge-dot.green[data-v-01b36892]{background:#22c55e}.badge-dot.red[data-v-01b36892]{background:#ef4444}.kpi-box[data-v-01b36892]{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid #eef0f6}.kpi-item[data-v-01b36892]{text-align:center;padding:10px;background:#f4f6fa;border-radius:6px}.kpi-item .lbl[data-v-01b36892]{font-size:11px;color:#6b7390}.kpi-item .val[data-v-01b36892]{font-size:18px;font-weight:700;color:#1f2740}.kpi-item .val.warn[data-v-01b36892]{color:#ef4444}.data-table[data-v-01b36892]{width:100%;border-collapse:collapse}.data-table th[data-v-01b36892],.data-table td[data-v-01b36892]{padding:10px 14px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:13px;color:#4b5470}.data-table th[data-v-01b36892]{background:#fafbfd;color:#6b7390;font-weight:600}.data-table tr[data-v-01b36892]:hover{background:#fafbfd}.dev-tag[data-v-01b36892]{padding:2px 9px;border-radius:4px;font-size:12px}.dev-tag.online[data-v-01b36892]{background:#dcfce7;color:#15803d}.dev-tag.offline[data-v-01b36892]{background:#fee2e2;color:#b91c1c}.dev-tag.alarm[data-v-01b36892]{background:#fef3c7;color:#b45309}.abnormal-count[data-v-01b36892]{color:#ef4444;font-weight:600;font-size:12px}.none[data-v-01b36892]{color:#9aa3bb;font-size:12px}.ops[data-v-01b36892]{display:flex;gap:8px}.record-tabs[data-v-01b36892]{display:flex;gap:16px;padding-bottom:12px;border-bottom:1px solid #eef0f6;margin-bottom:12px}.record-tabs span[data-v-01b36892]{font-size:12px;color:#6b7390;cursor:pointer;padding-bottom:8px;border-bottom:2px solid transparent;margin-bottom:-13px}.record-tabs span[data-v-01b36892]:hover{color:#3b82f6}.record-tabs span.active[data-v-01b36892]{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.record-list[data-v-01b36892]{list-style:none;max-height:240px;overflow-y:auto}.record-list li[data-v-01b36892]{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed #eef0f6;font-size:13px;color:#4b5470}.record-list li[data-v-01b36892]:last-child{border:0}.dot[data-v-01b36892]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot.alarm[data-v-01b36892]{background:#ef4444}.dot.network[data-v-01b36892]{background:#f59e0b}.dot.firmware[data-v-01b36892]{background:#8b5cf6}.dot.other[data-v-01b36892]{background:#3b82f6}.record-list .dev[data-v-01b36892]{font-weight:600;min-width:80px}.type-tag[data-v-01b36892]{padding:1px 7px;border-radius:3px;font-size:11px;min-width:40px;text-align:center}.type-tag.alarm[data-v-01b36892]{background:#fee2e2;color:#b91c1c}.type-tag.network[data-v-01b36892]{background:#fef3c7;color:#b45309}.type-tag.firmware[data-v-01b36892]{background:#ede9fe;color:#7c3aed}.type-tag.other[data-v-01b36892]{background:#dbeafe;color:#1d4ed8}.record-list .reason[data-v-01b36892]{flex:1;color:#6b7390}.record-list .time[data-v-01b36892]{color:#9aa3bb;font-size:12px;min-width:45px}.record-list .duration[data-v-01b36892]{color:#ef4444;font-size:12px;font-weight:600}.empty[data-v-01b36892]{text-align:center;color:#9aa3bb;padding:30px;font-size:13px}.link[data-v-01b36892]{background:none;border:0;color:#3b82f6;cursor:pointer;font-size:12px}.btn[data-v-01b36892]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn-primary[data-v-01b36892]{background:#3b82f6;color:#fff;border-color:#3b82f6}.editor-backdrop[data-v-ec1dc645]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0f172a7a;display:flex;align-items:center;justify-content:center;padding:24px}.editor[data-v-ec1dc645]{width:1480px;max-width:100%;max-height:92vh;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 20px 70px #0f172a40;color:#1f2740}.editor-head[data-v-ec1dc645]{display:flex;justify-content:space-between;align-items:flex-start;padding:22px 26px;border-bottom:1px solid #e8edf5}h3[data-v-ec1dc645]{margin:0;font-size:20px}.editor-head p[data-v-ec1dc645]{margin:8px 0 0;color:#6b7390;font-size:13px}.close[data-v-ec1dc645]{border:0;background:none;font-size:28px;color:#6b7390;cursor:pointer}.editor-content[data-v-ec1dc645]{padding:18px 26px;overflow:auto}.hint[data-v-ec1dc645]{margin:0 0 16px;font-size:13px;color:#6b7390;line-height:1.7}.table-scroll[data-v-ec1dc645]{overflow-x:auto;border:1px solid #e3e8f1;border-radius:6px}.entry-table[data-v-ec1dc645]{width:100%;min-width:1650px;border-collapse:collapse;font-size:13px}.entry-table th[data-v-ec1dc645]{background:#f5f7fb;padding:12px 10px;text-align:left;white-space:nowrap;color:#58647e}.entry-table td[data-v-ec1dc645]{padding:12px 8px;border-top:1px solid #e8edf5;vertical-align:top}input[data-v-ec1dc645],select[data-v-ec1dc645],textarea[data-v-ec1dc645]{box-sizing:border-box;width:100%;padding:9px 10px;border:1px solid #dce3ed;border-radius:5px;font:inherit;color:#1f2740;background:#fff;outline:none}input[data-v-ec1dc645]:focus,select[data-v-ec1dc645]:focus,textarea[data-v-ec1dc645]:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}input[data-v-ec1dc645]:disabled,select[data-v-ec1dc645]:disabled,textarea[data-v-ec1dc645]:disabled{background:#f5f7fa;color:#7a8499}.entry-table td[data-v-ec1dc645]:nth-child(2),.entry-table td[data-v-ec1dc645]:nth-child(3),.entry-table td[data-v-ec1dc645]:nth-child(4),.entry-table td[data-v-ec1dc645]:nth-child(7){min-width:150px}.entry-table td[data-v-ec1dc645]:nth-child(5),.entry-table td[data-v-ec1dc645]:nth-child(6){min-width:190px}.entry-table td[data-v-ec1dc645]:nth-child(8),.entry-table td[data-v-ec1dc645]:nth-child(9){min-width:115px}.result-cell[data-v-ec1dc645]{min-width:130px;max-width:240px}.result-cell small[data-v-ec1dc645]{display:block;margin-top:6px;line-height:1.5;color:#68748b}.saved[data-v-ec1dc645]{color:#15803d}.error[data-v-ec1dc645],.result-cell .error[data-v-ec1dc645]{color:#b91c1c}.pending[data-v-ec1dc645]{color:#6b7390}.row-error[data-v-ec1dc645]{background:#fff8f7}.row-saved[data-v-ec1dc645]{background:#f5fcf7}.row-actions[data-v-ec1dc645]{min-width:85px}.text-button[data-v-ec1dc645]{padding:0;border:0;background:none;font:inherit;color:#2563eb;cursor:pointer;white-space:nowrap}.row-actions button[data-v-ec1dc645]{display:block;margin:5px 0 12px}.danger[data-v-ec1dc645]{color:#c23c3c}.details-row td[data-v-ec1dc645]{background:#f8faff}.extra-fields[data-v-ec1dc645]{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px;padding:8px 10px}.extra-fields label[data-v-ec1dc645]{display:flex;flex-direction:column;gap:7px;color:#6b7390}.remark[data-v-ec1dc645]{grid-column:1/-1}.btn[data-v-ec1dc645]{padding:9px 15px;border:1px solid #dce3ed;background:#fff;border-radius:5px;cursor:pointer;font:inherit;font-size:13px}.btn[data-v-ec1dc645]:disabled,.text-button[data-v-ec1dc645]:disabled{opacity:.5;cursor:not-allowed}.primary[data-v-ec1dc645]{background:#3b82f6;border-color:#3b82f6;color:#fff}.add-row[data-v-ec1dc645]{margin-top:14px;color:#2563eb}.notice[data-v-ec1dc645]{padding:10px 14px;background:#eff6ff;color:#1d4ed8;border-radius:5px;font-size:13px;line-height:1.6}.editor-footer[data-v-ec1dc645]{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 26px;border-top:1px solid #e8edf5;font-size:13px;color:#6b7390}.editor-footer>div[data-v-ec1dc645]{display:flex;gap:10px}@media (max-width:700px){.editor-backdrop[data-v-ec1dc645]{padding:8px}.editor-head[data-v-ec1dc645],.editor-content[data-v-ec1dc645],.editor-footer[data-v-ec1dc645]{padding:16px}.editor-footer[data-v-ec1dc645]{align-items:flex-start;flex-direction:column}.editor[data-v-ec1dc645]{max-height:96vh}}.page[data-v-8449ec69]{display:flex;flex-direction:column;gap:14px}.card[data-v-8449ec69]{background:#fff;border-radius:8px;padding:16px 18px;box-shadow:0 1px 3px #141e3c0f}.filter[data-v-8449ec69]{display:flex;gap:10px;align-items:center}.input[data-v-8449ec69]{padding:7px 10px;border:1px solid #e3e6ee;border-radius:4px;font-size:13px;min-width:140px}.btn[data-v-8449ec69]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn-primary[data-v-8449ec69]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-danger[data-v-8449ec69]{color:#b91c1c;border-color:#fca5a5;background:#fff7f7}.btn[data-v-8449ec69]:disabled{opacity:.5;cursor:not-allowed}.page-notice[data-v-8449ec69]{margin:0;padding:12px;background:#f0fdf4;color:#166534;border-radius:6px;font-size:13px}.delete-backdrop[data-v-8449ec69]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;padding:20px;background:#0f172a80}.delete-dialog[data-v-8449ec69]{width:480px;max-width:100%;padding:24px;background:#fff;border-radius:10px;box-shadow:0 20px 70px #0f172a40;color:#1f2740}.delete-dialog h3[data-v-8449ec69]{margin:0 0 16px;font-size:19px}.delete-dialog p[data-v-8449ec69]{font-size:14px;line-height:1.7;overflow-wrap:anywhere}.delete-dialog label[data-v-8449ec69]{display:block;font-size:13px;margin:18px 0 8px}.delete-dialog input[data-v-8449ec69]{box-sizing:border-box;width:100%}.delete-error[data-v-8449ec69]{color:#b91c1c}.split[data-v-8449ec69]{display:grid;grid-template-columns:320px 1fr;gap:14px;align-items:start}h4[data-v-8449ec69]{font-size:14px;color:#1f2740;margin:0 0 10px}h5[data-v-8449ec69]{font-size:13px;color:#1f2740;margin:0 0 8px}.cnt[data-v-8449ec69]{font-size:12px;color:#9aa3bb;font-weight:400;margin-left:6px}.left-panel[data-v-8449ec69]{min-height:520px;display:flex;flex-direction:column}.scroll-list[data-v-8449ec69]{flex:1;overflow-y:auto;max-height:calc(100vh - 280px)}.dev-item[data-v-8449ec69]{padding:12px 14px;border-radius:6px;cursor:pointer;border-bottom:1px solid #f0f2f7;transition:background .15s}.dev-item[data-v-8449ec69]:hover{background:#f4f6fa}.dev-item.active[data-v-8449ec69]{background:#eaf2ff}.d-top[data-v-8449ec69]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.d-name[data-v-8449ec69]{font-size:14px;font-weight:600;color:#1f2740}.d-tag[data-v-8449ec69]{padding:2px 8px;border-radius:4px;font-size:11px}.d-tag.online[data-v-8449ec69]{background:#dcfce7;color:#15803d}.d-tag.offline[data-v-8449ec69]{background:#fee2e2;color:#b91c1c}.d-tag.alarm[data-v-8449ec69]{background:#fef3c7;color:#b45309}.d-bottom[data-v-8449ec69]{display:flex;justify-content:space-between;font-size:12px;color:#9aa3bb}.d-time[data-v-8449ec69]{color:#9aa3bb}.right-panel[data-v-8449ec69]{min-height:520px}.empty-panel[data-v-8449ec69]{display:flex;align-items:center;justify-content:center;color:#9aa3bb;font-size:15px}.detail-head[data-v-8449ec69]{display:flex;align-items:center;gap:10px;margin-bottom:12px}.detail-head h4[data-v-8449ec69]{margin:0}.detail-head .meta[data-v-8449ec69]{font-size:12px;color:#6b7390;flex:1}.indicator-grid[data-v-8449ec69]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0}.indicator[data-v-8449ec69]{background:#f4f6fa;border-radius:8px;padding:14px;text-align:center}.indicator .lbl[data-v-8449ec69]{font-size:11px;color:#6b7390}.indicator .val[data-v-8449ec69]{font-size:20px;font-weight:700;color:#1f2740;margin:4px 0}.indicator .val.small[data-v-8449ec69]{font-size:14px}.relays[data-v-8449ec69]{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:6px}.relay[data-v-8449ec69]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 0;border-radius:8px;font-size:12px;background:#f4f6fa;color:#6b7390;border:1px solid transparent}.relay .dot[data-v-8449ec69]{width:10px;height:10px;border-radius:50%;background:#c8cfdb}.relay.on[data-v-8449ec69]{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.relay.on .dot[data-v-8449ec69]{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.relay.off[data-v-8449ec69]{background:#f4f6fa;color:#94a3b8}.relay.off .dot[data-v-8449ec69]{background:#cbd5e1}.relay .rl[data-v-8449ec69]{font-weight:600}.water-grid[data-v-8449ec69]{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.water-item[data-v-8449ec69]{display:flex;flex-direction:column;gap:5px;padding:12px;background:#f4f6fa;border-radius:6px;font-size:12px;color:#6b7390}.water-item strong[data-v-8449ec69]{font-size:16px;color:#1f2740}.water-time[data-v-8449ec69]{grid-column:1/-1;font-size:12px;color:#6b7390}.detail-actions[data-v-8449ec69]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.key-status[data-v-8449ec69]{font-size:12px;color:#6b7390;margin:8px 0 14px}.no-data[data-v-8449ec69]{text-align:center;color:#9aa3bb}.data-table[data-v-8449ec69]{width:100%;border-collapse:collapse;margin-top:6px}.data-table th[data-v-8449ec69],.data-table td[data-v-8449ec69]{padding:9px 14px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:12px;color:#4b5470}.data-table th[data-v-8449ec69]{background:#fafbfd;color:#6b7390;font-weight:600}.page[data-v-41cbbb51]{display:flex;flex-direction:column;gap:16px}.card[data-v-41cbbb51]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.filter[data-v-41cbbb51]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.input[data-v-41cbbb51]{padding:7px 10px;border:1px solid #e3e6ee;border-radius:4px;font-size:13px;min-width:160px}.btn[data-v-41cbbb51]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn-primary[data-v-41cbbb51]{background:#3b82f6;color:#fff;border-color:#3b82f6}.log-card[data-v-41cbbb51]{padding:0}.log-head[data-v-41cbbb51]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #eef0f6;font-size:13px;color:#6b7390}.auto[data-v-41cbbb51]{font-size:12px;color:#6b7390;display:flex;align-items:center;gap:6px;margin:0}.log-body[data-v-41cbbb51]{background:#0f172a;color:#cbd5e1;font-family:Courier New,monospace;font-size:12px;line-height:1.7;padding:18px 22px;max-height:480px;overflow-y:auto;margin:0;border-radius:0 0 8px 8px}.page[data-v-815e121a]{display:flex;flex-direction:column;gap:16px}.card[data-v-815e121a]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.filter[data-v-815e121a]{display:flex;gap:10px;align-items:center}.tip[data-v-815e121a]{font-size:12px;color:#9aa3bb;margin-left:auto}.input[data-v-815e121a]{padding:7px 10px;border:1px solid #e3e6ee;border-radius:4px;font-size:13px;min-width:200px}.btn[data-v-815e121a]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn[data-v-815e121a]:hover:not(:disabled){border-color:#c8cfdb}.btn[data-v-815e121a]:disabled{opacity:.6;cursor:not-allowed}.btn-primary[data-v-815e121a]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary[data-v-815e121a]:hover:not(:disabled){background:#2563eb}.grid[data-v-815e121a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.device[data-v-815e121a]{display:flex;flex-direction:column;gap:10px}.d-head[data-v-815e121a]{display:flex;justify-content:space-between;align-items:flex-start}.d-name[data-v-815e121a]{font-size:15px;font-weight:600;color:#1f2740}.d-no[data-v-815e121a]{font-size:12px;color:#9aa3bb}.d-owner[data-v-815e121a]{font-size:12px;color:#6b7390;margin-top:2px}.tag[data-v-815e121a]{padding:3px 9px;border-radius:4px;font-size:12px}.tag.online[data-v-815e121a]{background:#dcfce7;color:#15803d}.tag.offline[data-v-815e121a]{background:#f1f5f9;color:#64748b}.tag.alarm[data-v-815e121a]{background:#fee2e2;color:#b91c1c}.relays[data-v-815e121a]{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.relay[data-v-815e121a]{display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 0;border-radius:6px;font-size:11px;background:#f4f6fa;color:#6b7390;border:1px solid transparent}.relay .dot[data-v-815e121a]{width:8px;height:8px;border-radius:50%;background:#c8cfdb}.relay.on[data-v-815e121a]{background:#dcfce7;color:#15803d;border-color:#bbf7d0}.relay.on .dot[data-v-815e121a]{background:#22c55e;box-shadow:0 0 0 3px #22c55e2e}.relay.off[data-v-815e121a]{background:#f4f6fa;color:#94a3b8}.relay.off .dot[data-v-815e121a]{background:#cbd5e1}.relay .rl[data-v-815e121a]{font-weight:600}.kv[data-v-815e121a]{list-style:none}.kv li[data-v-815e121a]{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed #eef0f6;font-size:13px}.kv li[data-v-815e121a]:last-child{border:0}.kv label[data-v-815e121a]{color:#6b7390}.kv span[data-v-815e121a]{color:#1f2740}.d-actions[data-v-815e121a]{display:flex;gap:8px;padding-top:6px}.d-actions .btn[data-v-815e121a]{flex:1}.empty[data-v-815e121a]{grid-column:1/-1;text-align:center;color:#9aa3bb;padding:30px;font-size:13px}.page[data-v-52217ba6]{display:flex;flex-direction:column;gap:16px}.card[data-v-52217ba6]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.kpi-grid[data-v-52217ba6]{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}h4[data-v-52217ba6]{font-size:14px;color:#1f2740;margin:0 0 12px}.data-table[data-v-52217ba6]{width:100%;border-collapse:collapse}.data-table th[data-v-52217ba6],.data-table td[data-v-52217ba6]{padding:10px 14px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:13px;color:#4b5470}.data-table th[data-v-52217ba6]{background:#fafbfd;color:#6b7390;font-weight:600}tr.warn[data-v-52217ba6]{background:#fef9f6}.tag[data-v-52217ba6]{padding:2px 9px;border-radius:4px;font-size:12px}.tag.red[data-v-52217ba6]{background:#fee2e2;color:#b91c1c;font-weight:600}.tag.green[data-v-52217ba6]{background:#dcfce7;color:#15803d}.rate-bar[data-v-52217ba6]{width:100px;height:6px;background:#eef0f6;border-radius:3px;overflow:hidden;display:inline-block;margin-right:8px}.rate-bar .fill[data-v-52217ba6]{height:100%;background:linear-gradient(90deg,#ef4444,#22c55e)}.rate[data-v-52217ba6]{font-size:12px;color:#6b7390}.dev-tag[data-v-52217ba6]{padding:2px 8px;border-radius:4px;font-size:12px}.dev-tag.online[data-v-52217ba6]{background:#dcfce7;color:#15803d}.dev-tag.offline[data-v-52217ba6]{background:#fee2e2;color:#b91c1c}.page[data-v-9399f836]{display:flex;flex-direction:column;gap:16px}.card[data-v-9399f836]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.layout[data-v-9399f836]{display:grid;grid-template-columns:260px 1fr;gap:14px;min-height:540px}h4[data-v-9399f836]{font-size:14px;margin-bottom:10px;color:#1f2740}.list[data-v-9399f836]{list-style:none;max-height:480px;overflow-y:auto}.list li[data-v-9399f836]{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;cursor:pointer;font-size:13px}.list li[data-v-9399f836]:hover{background:#f4f6fa}.list li.active[data-v-9399f836]{background:#eaf2ff;color:#1d4ed8}.dot[data-v-9399f836]{width:8px;height:8px;border-radius:50%}.dot.online[data-v-9399f836]{background:#22c55e}.dot.alarm[data-v-9399f836]{background:#ef4444}.dot.offline[data-v-9399f836]{background:#94a3b8}.info[data-v-9399f836]{display:flex;flex-direction:column;gap:2px}.info .x[data-v-9399f836]{font-size:11px;color:#9aa3bb}.terminal[data-v-9399f836]{padding:0;display:flex;flex-direction:column}.t-head[data-v-9399f836]{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;border-bottom:1px solid #eef0f6;font-size:13px;color:#6b7390}.conn[data-v-9399f836]{display:flex;align-items:center;gap:6px}.t-body[data-v-9399f836]{flex:1;background:#0f172a;color:#cbd5e1;font-family:Courier New,monospace;font-size:12px;line-height:1.6;padding:14px 18px;margin:0;white-space:pre-wrap;overflow-y:auto;min-height:380px}.t-input[data-v-9399f836]{display:flex;align-items:center;gap:8px;padding:10px 18px;border-top:1px solid #1e293b;background:#0f172a}.prompt[data-v-9399f836]{color:#22c55e;font-family:Courier New,monospace;font-size:13px}.cmd[data-v-9399f836]{flex:1;background:transparent;border:0;outline:none;color:#e2e8f0;font-family:Courier New,monospace;font-size:13px}.page[data-v-f42584ef]{display:flex;flex-direction:column;gap:16px}.card[data-v-f42584ef]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.filter[data-v-f42584ef]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.input[data-v-f42584ef]{padding:7px 10px;border:1px solid #e3e6ee;border-radius:4px;font-size:13px;min-width:160px}.btn[data-v-f42584ef]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn.small[data-v-f42584ef]{font-size:12px;padding:5px 10px}.btn.active[data-v-f42584ef]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn[data-v-f42584ef]:disabled{opacity:.5;cursor:not-allowed}.btn-primary[data-v-f42584ef]{background:#3b82f6;color:#fff;border-color:#3b82f6}.data-table[data-v-f42584ef]{width:100%;border-collapse:collapse}.data-table th[data-v-f42584ef],.data-table td[data-v-f42584ef]{padding:11px 14px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:13px;color:#4b5470}.data-table th[data-v-f42584ef]{background:#fafbfd;color:#6b7390;font-weight:600}.data-table tr[data-v-f42584ef]:hover{background:#fafbfd}.chip[data-v-f42584ef]{display:inline-block;padding:2px 9px;background:#eaf2ff;color:#1d4ed8;border-radius:4px;font-size:12px}.dev-chip[data-v-f42584ef]{display:inline-block;padding:2px 6px;background:#f4f6fa;color:#4b5470;border-radius:3px;font-size:11px;margin-right:4px}.tag[data-v-f42584ef]{padding:2px 9px;border-radius:4px;font-size:12px}.tag.on[data-v-f42584ef]{background:#dcfce7;color:#15803d}.tag.off[data-v-f42584ef]{background:#f1f5f9;color:#64748b}.link[data-v-f42584ef]{background:none;border:0;color:#3b82f6;cursor:pointer;font-size:12px;margin-right:6px}.link.danger[data-v-f42584ef]{color:#ef4444}.pager[data-v-f42584ef]{display:flex;justify-content:space-between;align-items:center;padding:14px 4px 4px;font-size:12px;color:#6b7390}.pager div[data-v-f42584ef]{display:flex;gap:4px}.page[data-v-5b56efeb]{display:flex;flex-direction:column;gap:16px}.card[data-v-5b56efeb]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.filter[data-v-5b56efeb]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.input[data-v-5b56efeb]{padding:7px 10px;border:1px solid #e3e6ee;border-radius:4px;font-size:13px;min-width:160px}.btn[data-v-5b56efeb]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn.small[data-v-5b56efeb]{font-size:12px;padding:5px 10px}.btn.active[data-v-5b56efeb],.btn-primary[data-v-5b56efeb]{background:#3b82f6;color:#fff;border-color:#3b82f6}.data-table[data-v-5b56efeb]{width:100%;border-collapse:collapse}.data-table th[data-v-5b56efeb],.data-table td[data-v-5b56efeb]{padding:11px 16px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:13px;color:#4b5470}.data-table th[data-v-5b56efeb]{background:#fafbfd;color:#6b7390;font-weight:600}.chip[data-v-5b56efeb]{display:inline-block;padding:2px 9px;background:#eaf2ff;color:#1d4ed8;border-radius:4px;font-size:12px}.tag[data-v-5b56efeb]{padding:3px 9px;border-radius:4px;font-size:12px}.tag.ok[data-v-5b56efeb]{background:#dcfce7;color:#15803d}.tag.fail[data-v-5b56efeb]{background:#fee2e2;color:#b91c1c}.tag.pending[data-v-5b56efeb]{background:#fef3c7;color:#b45309}.btn[data-v-5b56efeb]:disabled{opacity:.5;cursor:not-allowed}.pager[data-v-5b56efeb]{display:flex;justify-content:space-between;align-items:center;padding:14px 4px 4px;font-size:12px;color:#6b7390}.pager div[data-v-5b56efeb]{display:flex;gap:4px}.link[data-v-5b56efeb]{background:none;border:0;color:#3b82f6;cursor:pointer;font-size:12px}.page[data-v-1a5cb2eb]{display:flex;flex-direction:column;gap:16px}.card[data-v-1a5cb2eb]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.filter[data-v-1a5cb2eb]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.input[data-v-1a5cb2eb]{padding:7px 10px;border:1px solid #e3e6ee;border-radius:4px;font-size:13px;min-width:160px}.btn[data-v-1a5cb2eb]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn.small[data-v-1a5cb2eb]{font-size:12px;padding:5px 10px}.btn.active[data-v-1a5cb2eb],.btn-primary[data-v-1a5cb2eb]{background:#3b82f6;color:#fff;border-color:#3b82f6}.data-table[data-v-1a5cb2eb]{width:100%;border-collapse:collapse}.data-table th[data-v-1a5cb2eb],.data-table td[data-v-1a5cb2eb]{padding:11px 16px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:13px;color:#4b5470}.data-table th[data-v-1a5cb2eb]{background:#fafbfd;color:#6b7390;font-weight:600}.chip[data-v-1a5cb2eb]{display:inline-block;padding:2px 9px;background:#eaf2ff;color:#1d4ed8;border-radius:4px;font-size:12px}.tag[data-v-1a5cb2eb]{padding:3px 9px;border-radius:4px;font-size:12px}.tag.ok[data-v-1a5cb2eb]{background:#dcfce7;color:#15803d}.tag.fail[data-v-1a5cb2eb]{background:#fee2e2;color:#b91c1c}.tag.pending[data-v-1a5cb2eb]{background:#fef3c7;color:#b45309}.btn[data-v-1a5cb2eb]:disabled{opacity:.5;cursor:not-allowed}.pager[data-v-1a5cb2eb]{display:flex;justify-content:space-between;align-items:center;padding:14px 4px 4px;font-size:12px;color:#6b7390}.pager div[data-v-1a5cb2eb]{display:flex;gap:4px}.page[data-v-9c7b934b]{display:flex;flex-direction:column;gap:16px}.card[data-v-9c7b934b]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.api-layout[data-v-9c7b934b]{display:grid;grid-template-columns:280px 1fr;gap:14px}h4[data-v-9c7b934b],h5[data-v-9c7b934b]{font-size:14px;margin-bottom:10px;color:#1f2740}h5[data-v-9c7b934b]{margin-top:18px;font-size:13px}.groups ul[data-v-9c7b934b]{list-style:none}.groups li[data-v-9c7b934b]{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:6px;cursor:pointer;font-size:13px}.groups li[data-v-9c7b934b]:hover{background:#f4f6fa}.groups li.active[data-v-9c7b934b]{background:#eaf2ff;color:#1d4ed8}.method[data-v-9c7b934b]{display:inline-block;padding:2px 8px;font-size:11px;font-weight:600;border-radius:3px;color:#fff;min-width:42px;text-align:center}.method.get[data-v-9c7b934b]{background:#22c55e}.method.post[data-v-9c7b934b]{background:#f59e0b}.method.put[data-v-9c7b934b]{background:#3b82f6}.method.delete[data-v-9c7b934b]{background:#ef4444}.endpoint[data-v-9c7b934b]{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f4f6fa;border-radius:6px;margin-top:14px}.endpoint code[data-v-9c7b934b]{font-family:Courier New,monospace;font-size:14px;color:#1f2740}.desc[data-v-9c7b934b]{font-size:13px;color:#6b7390;margin-top:8px;line-height:1.6}.inline[data-v-9c7b934b]{background:#f4f6fa;padding:2px 6px;border-radius:4px;font-size:12px;color:#1d4ed8}.data-table[data-v-9c7b934b]{width:100%;border-collapse:collapse;margin-top:6px}.data-table th[data-v-9c7b934b],.data-table td[data-v-9c7b934b]{padding:9px 14px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:12px;color:#4b5470}.data-table th[data-v-9c7b934b]{background:#fafbfd;color:#6b7390;font-weight:600}.code[data-v-9c7b934b]{background:#0f172a;color:#e2e8f0;padding:14px 16px;border-radius:6px;font-size:12px;line-height:1.6;margin-top:6px;font-family:Courier New,monospace;overflow-x:auto}.page[data-v-1f7be758]{display:flex;flex-direction:column;gap:16px}.card[data-v-1f7be758]{background:#fff;border-radius:8px;padding:16px 20px;box-shadow:0 1px 3px #141e3c0f}.data-table[data-v-1f7be758]{width:100%;border-collapse:collapse}.data-table th[data-v-1f7be758],.data-table td[data-v-1f7be758]{padding:11px 16px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:13px;color:#4b5470}.data-table th[data-v-1f7be758]{background:#fafbfd;color:#6b7390;font-weight:600}code[data-v-1f7be758]{font-family:Courier New,monospace;font-size:13px;background:#f4f6fa;padding:3px 8px;border-radius:4px;color:#1d4ed8}.tag[data-v-1f7be758]{padding:3px 9px;border-radius:4px;font-size:12px}.tag.on[data-v-1f7be758]{background:#dcfce7;color:#15803d}.tag.off[data-v-1f7be758]{background:#f1f5f9;color:#64748b}.link[data-v-1f7be758]{background:none;border:0;color:#3b82f6;cursor:pointer;font-size:12px;margin-right:6px}.link.danger[data-v-1f7be758]{color:#ef4444}.btn[data-v-1f7be758]{padding:6px 12px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:12px}.btn-primary[data-v-1f7be758]{background:#3b82f6;color:#fff;border-color:#3b82f6}.secret-card[data-v-1f7be758]{margin-top:0}h4[data-v-1f7be758]{font-size:14px;margin-bottom:12px;color:#1f2740}.secret-row[data-v-1f7be758]{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f4f6fa;border-radius:6px}.secret-row code[data-v-1f7be758]{flex:1;font-size:14px;background:transparent;color:#1f2740;padding:0}.warn[data-v-1f7be758]{margin-top:10px;font-size:12px;color:#b45309;background:#fef9c3;border:1px solid #fde68a;padding:8px 12px;border-radius:4px}.page[data-v-b2399700]{display:flex;flex-direction:column;gap:16px}.card[data-v-b2399700]{background:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #141e3c0f}.hero[data-v-b2399700]{background:linear-gradient(135deg,#eaf2ff,#f7faff);border-radius:8px;text-align:center;padding:30px 24px}.hero h3[data-v-b2399700]{font-size:18px;color:#1f2740}.sub[data-v-b2399700]{font-size:13px;color:#6b7390;margin:6px 0 18px}.search[data-v-b2399700]{display:flex;gap:10px;max-width:640px;margin:0 auto}.big-input[data-v-b2399700]{flex:1;padding:10px 14px;border:1px solid #d1d9e6;border-radius:6px;font-size:15px;background:#fff}.quick[data-v-b2399700]{margin-top:14px;font-size:13px;color:#6b7390}.hist[data-v-b2399700]{display:inline-block;padding:3px 10px;background:#fff;border:1px solid #d1d9e6;border-radius:12px;margin:0 6px;cursor:pointer;color:#1d4ed8}.hist[data-v-b2399700]:hover{background:#eaf2ff}.result-grid[data-v-b2399700]{display:flex;justify-content:space-between;align-items:center;padding-top:6px}.info[data-v-b2399700]{display:flex;align-items:center;gap:14px}.avatar[data-v-b2399700]{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-size:20px;font-weight:600;display:flex;align-items:center;justify-content:center}.r-name[data-v-b2399700]{font-size:16px;font-weight:600;color:#1f2740}.chip[data-v-b2399700]{display:inline-block;padding:2px 8px;background:#eaf2ff;color:#1d4ed8;border-radius:4px;font-size:12px;margin-left:6px}.r-meta[data-v-b2399700]{font-size:12px;color:#6b7390;margin-top:4px;display:flex;gap:6px;align-items:center}.actions[data-v-b2399700]{display:flex;gap:10px}h4[data-v-b2399700],h5[data-v-b2399700]{font-size:14px;margin-bottom:10px;color:#1f2740}h5[data-v-b2399700]{font-size:13px}.data-table[data-v-b2399700]{width:100%;border-collapse:collapse;margin-top:8px}.data-table th[data-v-b2399700],.data-table td[data-v-b2399700]{padding:11px 16px;text-align:left;border-bottom:1px solid #f0f2f7;font-size:13px;color:#4b5470}.data-table th[data-v-b2399700]{background:#fafbfd;color:#6b7390;font-weight:600}.tag[data-v-b2399700]{padding:3px 9px;border-radius:4px;font-size:12px}.tag.online[data-v-b2399700]{background:#dcfce7;color:#15803d}.tag.offline[data-v-b2399700]{background:#f1f5f9;color:#64748b}.tag.alarm[data-v-b2399700]{background:#fee2e2;color:#b91c1c}.not-found[data-v-b2399700]{text-align:center;padding:40px 20px}.nf-icon[data-v-b2399700]{width:56px;height:56px;border-radius:50%;background:#f1f5f9;color:#9aa3bb;font-size:26px;font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.not-found p[data-v-b2399700]{font-size:13px;color:#6b7390}.btn[data-v-b2399700]{padding:7px 14px;border:1px solid #e3e6ee;background:#fff;border-radius:4px;cursor:pointer;font-size:13px}.btn-primary[data-v-b2399700]{background:#3b82f6;color:#fff;border-color:#3b82f6}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%}body{font-family:Segoe UI,PingFang SC,Microsoft YaHei,Helvetica Neue,sans-serif;background:#f3f5f9;color:#2d3447;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}input,select,textarea{font-family:inherit;outline:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c8cfdb;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#9aa3bb}
