.wrap[data-v-74f2b62a]{height:100%;width:100%;display:flex;flex-direction:column}.placeholder[data-v-74f2b62a]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:13px}.bar[data-v-74f2b62a]{display:flex;align-items:center;gap:10px;padding:4px 4px 8px}.title[data-v-74f2b62a]{font-size:13px;color:var(--text)}.meta[data-v-74f2b62a]{font-size:12px;color:var(--text-dim)}.err[data-v-74f2b62a]{font-size:12px;color:var(--danger)}.chart[data-v-74f2b62a]{flex:1;min-height:0}.alarm-list[data-v-73ccc6af]{display:flex;flex-direction:column;gap:6px;font-size:12px}.alarm-item[data-v-73ccc6af]{border-left:3px solid var(--text-dim);padding:6px 8px;background:#40a9ff0a;border-radius:0 4px 4px 0}.alarm-item.sev-critical[data-v-73ccc6af]{border-left-color:var(--danger);background:#ff4d4f14}.alarm-item.sev-high[data-v-73ccc6af],.alarm-item.sev-warn[data-v-73ccc6af]{border-left-color:var(--warn)}.alarm-row[data-v-73ccc6af]{display:flex;align-items:center;gap:8px}.alarm-dot[data-v-73ccc6af]{width:6px;height:6px;border-radius:50%;background:currentColor}.sev-critical .alarm-dot[data-v-73ccc6af]{background:var(--danger);box-shadow:0 0 6px var(--danger)}.sev-high .alarm-dot[data-v-73ccc6af],.sev-warn .alarm-dot[data-v-73ccc6af]{background:var(--warn)}.alarm-type[data-v-73ccc6af]{font-weight:600;color:var(--text)}.alarm-sev[data-v-73ccc6af]{color:var(--text-dim);font-size:11px;padding:0 4px;border:1px solid var(--border);border-radius:3px}.sev-critical .alarm-sev[data-v-73ccc6af]{color:var(--danger);border-color:var(--danger)}.alarm-time[data-v-73ccc6af]{margin-left:auto;color:var(--text-dim)}.alarm-meta[data-v-73ccc6af]{display:flex;justify-content:space-between;color:var(--text-dim);margin-top:2px;padding-left:14px}.alarm-empty[data-v-73ccc6af]{color:var(--text-dim);text-align:center;padding:24px}.modal-mask[data-v-408d4ef8]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-408d4ef8]{width:440px;background:#0d1c33;border:1px solid var(--border);border-radius:8px;color:var(--text)}.modal-head[data-v-408d4ef8]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600;letter-spacing:2px}.x[data-v-408d4ef8]{background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer}.modal-body[data-v-408d4ef8]{padding:16px;display:flex;flex-direction:column;gap:12px}.field[data-v-408d4ef8]{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--text-dim)}.field input[type=text][data-v-408d4ef8],.field input[type=number][data-v-408d4ef8],.field select[data-v-408d4ef8]{background:#0a1326;border:1px solid var(--border);color:var(--text);padding:6px 8px;border-radius:4px}.radios[data-v-408d4ef8]{display:flex;gap:16px;color:var(--text)}.device-info[data-v-408d4ef8]{font-size:12px;color:var(--text-dim);border-top:1px dashed var(--border);padding-top:8px}.modal-foot[data-v-408d4ef8]{padding:12px 16px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:12px}.foot-right[data-v-408d4ef8]{margin-left:auto;display:flex;gap:8px}.warn[data-v-408d4ef8]{color:var(--warn);font-size:12px}button[data-v-408d4ef8]{cursor:pointer;border-radius:4px;padding:6px 14px;border:1px solid var(--border);background:transparent;color:var(--text)}button.primary[data-v-408d4ef8]{background:var(--accent);border-color:var(--accent);color:#001022;font-weight:600}button.danger[data-v-408d4ef8]{background:var(--danger);border-color:var(--danger);color:#1a0000;font-weight:600}button[data-v-408d4ef8]:disabled{opacity:.45;cursor:not-allowed}.result[data-v-408d4ef8]{padding:12px 16px;font-size:12px;color:var(--ok);border-top:1px solid var(--border);word-break:break-all}.modal-mask[data-v-3d63a5d1]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:100}.modal[data-v-3d63a5d1]{width:820px;max-width:95vw;height:480px;background:#0d1c33;border:1px solid var(--border);border-radius:8px;color:var(--text);display:flex;flex-direction:column}.modal-head[data-v-3d63a5d1]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);font-weight:600}.x[data-v-3d63a5d1]{background:none;border:none;color:var(--text-dim);font-size:20px;cursor:pointer}.ranges[data-v-3d63a5d1]{display:flex;align-items:center;gap:8px;padding:8px 16px}.rng[data-v-3d63a5d1]{cursor:pointer;background:transparent;border:1px solid var(--border);color:var(--text-dim);border-radius:4px;padding:2px 10px;font-size:12px}.rng.active[data-v-3d63a5d1]{border-color:var(--accent);color:var(--accent-2);background:#40a9ff1f}.meta[data-v-3d63a5d1]{margin-left:8px;font-size:12px;color:var(--text-dim)}.err[data-v-3d63a5d1]{color:var(--danger);font-size:12px}.chart[data-v-3d63a5d1]{flex:1;min-height:0}:root{--bg: #0a1326;--panel: rgba(16, 32, 60, .55);--border: rgba(64, 169, 255, .25);--accent: #40a9ff;--accent-2: #00e5ff;--text: #d6e4ff;--text-dim: #7e93b8;--ok: #36c98c;--warn: #ffb020;--danger: #ff4d4f}*{box-sizing:border-box}html,body,#app{height:100%;margin:0}body{background:radial-gradient(circle at 50% 0%,#10233a 0%,var(--bg) 60%);color:var(--text);font-family:Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;overflow:hidden}.screen{display:grid;grid-template-rows:64px 1fr;height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(64,169,255,.08),transparent)}.header h1{font-size:22px;letter-spacing:4px;margin:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.header .meta{color:var(--text-dim);font-size:13px}.body{display:grid;grid-template-columns:1fr 2fr 1fr;grid-template-rows:auto 1fr;gap:12px;padding:12px;overflow:hidden}.panel{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:12px;display:flex;flex-direction:column;overflow:hidden}.panel h3{margin:0 0 8px;font-size:14px;color:var(--accent-2);letter-spacing:2px}.tiles{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tile{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:14px 18px;display:flex;flex-direction:column;gap:6px}.tile .label{font-size:13px;color:var(--text-dim)}.tile .value{font-size:30px;font-weight:600}.tile.ok .value{color:var(--ok)}.tile.warn .value{color:var(--warn)}.tile.danger .value{color:var(--danger)}.tile.accent .value{color:var(--accent-2)}.col-left,.col-right{display:flex;flex-direction:column;gap:12px;min-height:0}.col-left .panel,.col-right .panel{flex:1;min-height:0}.center{min-height:0}#device-map{flex:1;min-height:0;border-radius:4px}.list-scroll{flex:1;overflow:auto;font-size:12px}table.dev-table{width:100%;border-collapse:collapse}.dev-table th,.dev-table td{text-align:left;padding:6px 8px;border-bottom:1px solid rgba(64,169,255,.12);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dev-table th{color:var(--text-dim);font-weight:500}.dev-table tbody tr{cursor:pointer}.dev-table tbody tr:hover{background:#40a9ff0f}.dev-table tbody tr.active{background:#40a9ff24}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot.on{background:var(--ok);box-shadow:0 0 6px var(--ok)}.dot.off{background:var(--danger)}.badge{display:inline-block;padding:1px 6px;border-radius:8px;font-size:11px;border:1px solid var(--border);color:var(--text-dim)}.ctrl-btn{cursor:pointer;margin-left:8px;padding:2px 10px;color:var(--accent-2);border-color:var(--accent);background:#40a9ff14}.row-btn{cursor:pointer;background:#40a9ff1a;border:1px solid var(--border);color:var(--accent-2);border-radius:3px;padding:1px 8px;font-size:11px}.row-btn:hover{background:#40a9ff33}.leaflet-container{background:#0a1326!important}.leaflet-control-attribution{display:none}
