.hmi-root{color:#1a2744;background:#c8d4e8;min-height:100dvh;font-family:SimSun,Songti SC,Times New Roman,serif}.hmi-root .titleBar{text-align:center;letter-spacing:2px;color:#243b6b;background:linear-gradient(#dce6f5 0%,#c8d4e8 100%);border-bottom:2px solid #243b6b2e;padding:12px 16px;font-size:clamp(20px,3.2vw,28px);font-weight:900}.hmi-root .pageHeader{text-align:center;margin-bottom:14px;padding:14px 14px 0}.hmi-root .pageHeader h1{color:#243b6b;letter-spacing:2px;margin:0 0 6px;font-size:clamp(22px,4vw,34px)}.hmi-root .pageHeader p{color:#4b5f82;margin:0;font-size:14px;font-weight:700}.hmi-root .panel{background:#ffffff8c;border:2px solid #6b8fc7;border-radius:16px;min-width:0;padding:10px 12px 12px}.hmi-root .panelHead{text-align:center;color:#243b6b;margin-bottom:10px;font-size:18px;font-weight:700}.hmi-root .metricRow{grid-template-columns:1fr auto auto;align-items:center;gap:8px;font-size:15px;display:grid}.hmi-root .metricLabel{color:#1a2744}.hmi-root .metricValue{text-align:center;color:#fff;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border-radius:6px;min-width:56px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.hmi-root .metricUnit{color:#334;min-width:48px;font-size:13px}.hmi-root .navBtn{cursor:pointer;color:#fff;border:2px solid #243b6b33;border-radius:10px;width:100%;min-height:52px;font-size:15px;font-weight:900;box-shadow:0 6px 14px #1a274429,inset 0 1px #ffffff47}.hmi-root .navBtn.blue{background:linear-gradient(#3b8fd9 0%,#2563b8 100%)}.hmi-root .navBtn.green{background:linear-gradient(#43e866 0%,#18a93a 100%)}.hmi-root .navBtn.red{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.hmi-root .navBtn.orange{background:linear-gradient(#ffb347 0%,#f08c00 100%)}.hmi-root .navBtn:disabled{cursor:not-allowed;opacity:.72}.hmi-root .offBtn{cursor:pointer;color:#fff;background:linear-gradient(#ff4b4b 0%,#e60000 100%);border:2px solid #b80000;border-radius:10px;width:100%;min-height:52px;font-size:15px;font-weight:900}.hmi-root .offBtn:disabled{cursor:not-allowed;opacity:.72}.hmi-root .doTile{cursor:pointer;width:100%;max-width:110px;color:inherit;font:inherit;background:0 0;border:0;justify-items:center;gap:6px;padding:0;display:grid}.hmi-root .doTile:disabled{cursor:not-allowed;opacity:.72}.hmi-root .doTile.fieldLocked{opacity:.55;filter:grayscale(.35)}.hmi-root .doTile.cloudHeld .modeTag.cloud{box-shadow:0 0 0 1px #2563eb2e}.hmi-root .fieldTag,.hmi-root .modeTag{text-align:center;font-size:11px;font-weight:800;line-height:1.2}.hmi-root .modeTag{white-space:nowrap;font-variant-numeric:tabular-nums;border-radius:999px;min-width:36px;padding:1px 6px}.hmi-root .modeTag.field{color:#9a5b12;background:#d9770624}.hmi-root .modeTag.cloud{color:#1d4ed8;background:#2563eb1f}.hmi-root .modeTag.auto{color:#047857;background:#10b98124}.hmi-root .modeTag.free,.hmi-root .modeTag.manual{color:#475569;background:#64748b1f}.hmi-root .doItem .modeTag{margin-top:4px;display:inline-block}.hmi-root .doLamp{color:#fff;border:2px solid #243b6b29;border-radius:999px;place-items:center;width:56px;height:56px;display:grid;box-shadow:inset 0 1px #ffffff47,0 4px 10px #1a27441f}.hmi-root .doLamp.off{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.hmi-root .doLamp.on{background:linear-gradient(#43e866 0%,#18a93a 100%)}.hmi-root .doLamp.idle{background:linear-gradient(#9aa8c2 0%,#6b7c99 100%)}.hmi-root .doLamp.busy{background:linear-gradient(#fbbf24 0%,#d97706 100%)}.hmi-root .doNum{letter-spacing:0;font-size:20px;font-weight:900;line-height:1}.hmi-root .doLamp.busy .doNum{font-size:12px}.hmi-root .doName{text-align:center;color:#243b6b;word-break:keep-all;width:100%;font-size:13px;font-weight:900;line-height:1.25}.hmi-root .fanDevice{cursor:pointer;color:#fff;text-align:center;border:2px solid #243b6b29;border-radius:999px;place-items:center;gap:0;width:64px;min-width:0;height:64px;padding:6px;display:grid;box-shadow:inset 0 1px #ffffff47}.hmi-root .fanDevice:disabled{cursor:not-allowed;opacity:.72}.hmi-root .fanDevice.off{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.hmi-root .fanDevice.on{background:linear-gradient(#43e866 0%,#18a93a 100%)}.hmi-root .fanDevice.idle{background:linear-gradient(#9aa8c2 0%,#6b7c99 100%)}.hmi-root .fanIndex{font-size:18px;font-weight:900;line-height:1}.hmi-root .fanDevice strong{font-size:10px;line-height:1.15}.hmi-root .actionBar{padding:10px 14px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8d4e8f0;grid-template-columns:1.2fr 1fr;gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0}.hmi-root .executeBtn,.hmi-root .backBtn{color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:46px;font-weight:900}.hmi-root .executeBtn{background:linear-gradient(#43e866 0%,#18a93a 100%)}.hmi-root .backBtn{background:linear-gradient(#3b8fd9 0%,#2563b8 100%)}.hmi-root .executeBtn:disabled,.hmi-root .backBtn:disabled{opacity:.72;cursor:not-allowed}.hmi-root .ruleCard{cursor:pointer;background:#ffffffa8;border:2px solid #6b8fc7;border-radius:18px;min-height:180px;padding:16px;box-shadow:0 8px 18px #1a27441a}.hmi-root .ruleTitle{color:#243b6b;font-size:20px;font-weight:900}.hmi-root .ruleCard p{color:#4b5f82;margin:12px 0;line-height:1.5}.hmi-root .entryHint{color:#2563b8;margin-top:14px;font-weight:900}.hmi-root .onlineHint{color:#15803d;font-weight:900}.hmi-root .offlineHint{color:#b91c1c;font-weight:900}.hmi-root .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}:root{--h5-text:#1f2937;--h5-muted:#0f172a8c;--h5-border:#0f172a1f}html,body,#app{height:100%;margin:0}body{color:var(--h5-text);-webkit-tap-highlight-color:transparent;background:#fff;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}input,select,textarea,button{font:inherit}*{box-sizing:border-box}.wrap[data-v-9b42fadd]{background:linear-gradient(165deg,#e8f5ef 0%,#f0f4ff 100%);place-items:center;min-height:100vh;padding:16px;display:grid}.card[data-v-9b42fadd]{background:#fff;border:1px solid #0f172a14;border-radius:18px;width:min(420px,100%);padding:18px;box-shadow:0 8px 30px #0f172a0f}.h2[data-v-9b42fadd]{margin:0;font-size:20px}.muted[data-v-9b42fadd]{color:var(--h5-muted);margin:8px 0 0;font-size:13px}.field[data-v-9b42fadd]{margin-top:14px;display:block}.label[data-v-9b42fadd]{color:#0f172abf;margin-bottom:6px;font-size:13px}.input[data-v-9b42fadd]{border:1px solid var(--h5-border);border-radius:12px;outline:none;width:100%;padding:12px 14px}.row[data-v-9b42fadd]{grid-template-columns:1fr auto;gap:8px;display:grid}.btn2[data-v-9b42fadd]{border:1px solid var(--h5-border);cursor:pointer;white-space:nowrap;background:#f8fafc;border-radius:12px;padding:10px 12px}.btn2[data-v-9b42fadd]:disabled{opacity:.55;cursor:not-allowed}.btn[data-v-9b42fadd]{color:#071018;cursor:pointer;background:linear-gradient(135deg,#2ec47d 0%,#00c9a7 100%);border:0;border-radius:12px;width:100%;margin-top:16px;padding:12px 14px;font-weight:800}.btn[data-v-9b42fadd]:disabled{opacity:.55;cursor:not-allowed}.error[data-v-9b42fadd]{color:#dc2626;white-space:pre-wrap;margin:12px 0 0;font-size:13px}.hmi[data-v-5df5fcc4]{min-height:100dvh;padding-bottom:calc(74px + env(safe-area-inset-bottom,0px));grid-template-rows:auto 1fr auto;display:grid;overflow-x:hidden}.titleBar[data-v-5df5fcc4]{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8d4e8eb;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:12px 12px 10px;display:grid;position:sticky;top:0}.titleText[data-v-5df5fcc4]{text-align:center;letter-spacing:2px;color:#243b6b;grid-column:2;min-width:0;font-size:clamp(20px,3vw,34px);font-weight:700}.titleActions[data-v-5df5fcc4]{grid-column:3;justify-self:end;align-items:center;gap:8px;display:inline-flex}.helpBtn[data-v-5df5fcc4]{color:#3b6fb8;letter-spacing:.3px;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #3b82f673;border-radius:999px;min-height:28px;padding:2px 10px;font-size:12px;font-weight:700}.helpBtn[data-v-5df5fcc4]:hover{background:#3b82f614}.helpBtn[data-v-5df5fcc4]:active{transform:translateY(1px)}.switchDeviceBtn[data-v-5df5fcc4]{color:#fff;letter-spacing:.5px;cursor:pointer;white-space:nowrap;background:linear-gradient(#ffb347 0%,#f08c00 100%);border:1px solid #b4640059;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:6px 14px;font-size:13px;font-weight:900;display:inline-flex;box-shadow:0 6px 14px #f08c0047,inset 0 1px #ffffff59}.switchDeviceBtn[data-v-5df5fcc4]:hover{filter:brightness(1.05)}.switchDeviceBtn[data-v-5df5fcc4]:active{transform:translateY(1px)}.switchDeviceIcon[data-v-5df5fcc4]{font-size:15px;font-weight:700;line-height:1}.body[data-v-5df5fcc4]{grid-template-columns:1fr;gap:12px;min-height:0;padding:0 12px 8px;display:grid}.navBtn.active[data-v-5df5fcc4]{outline:3px solid #1a274459;transform:scale(1.02)}.doTile.displayOnly[data-v-5df5fcc4]{cursor:default;pointer-events:none}.bottomNav[data-v-5df5fcc4]{z-index:20;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#c8d4e8f0;border-top:1px solid #243b6b2e;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottomNav .navBtn[data-v-5df5fcc4]{width:100%;min-height:54px}.panels[data-v-5df5fcc4]{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;min-width:0;display:grid}.devicePanel[data-v-5df5fcc4]{grid-column:1/-1}.metricList[data-v-5df5fcc4],.deviceList[data-v-5df5fcc4]{gap:8px;display:grid}.deviceList[data-v-5df5fcc4]{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:14px 10px}.panel[data-v-5df5fcc4]{background:#ffffff8c;border:2px solid #6b8fc7;border-radius:16px;min-width:0;padding:10px 12px 12px}.panelHead[data-v-5df5fcc4]{text-align:center;color:#243b6b;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;margin-bottom:10px;font-size:18px;font-weight:700;display:grid}.panelHead>span[data-v-5df5fcc4]:first-child{grid-column:2}.sensorBadgeGroup[data-v-5df5fcc4]{flex-wrap:wrap;grid-column:3;justify-content:flex-end;justify-self:end;align-items:center;gap:4px;display:inline-flex}.panelHead>.sensorBadge[data-v-5df5fcc4]{grid-column:3;justify-self:end}.sensorBadge[data-v-5df5fcc4]{white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px;font-weight:900}.sensorBadge.online[data-v-5df5fcc4]{color:#047857;background:#10b98124}.sensorBadge.partial[data-v-5df5fcc4]{color:#b45309;background:#f59e0b2e}.sensorBadge.offline[data-v-5df5fcc4]{color:#b91c1c;background:#ef444429}.sensorBadge.unknown[data-v-5df5fcc4]{color:#64748b;background:#94a3b82e}.metricRow[data-v-5df5fcc4]{grid-template-columns:1fr auto auto;align-items:center;gap:8px;font-size:15px;display:grid}.metricLabel[data-v-5df5fcc4]{color:#1a2744}.metricValue[data-v-5df5fcc4]{text-align:center;color:#fff;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border-radius:6px;min-width:56px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.metricUnit[data-v-5df5fcc4]{color:#334;min-width:48px;font-size:13px}.footer[data-v-5df5fcc4]{justify-content:space-between;align-items:center;padding:8px 16px 12px;font-size:14px;display:flex}.statusFooter[data-v-5df5fcc4]{align-items:center;gap:12px;min-width:0;display:flex}.signalHint[data-v-5df5fcc4]{color:#243b6b;white-space:nowrap;font-weight:900}.clock[data-v-5df5fcc4]{color:#243b6b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media (width<=900px){.panels[data-v-5df5fcc4]{grid-template-columns:1fr}}@media (width<=720px){.titleBar[data-v-5df5fcc4]{border-bottom:1px solid #243b6b29;grid-template-columns:1fr auto;padding:10px 12px}.titleText[data-v-5df5fcc4]{text-align:left;letter-spacing:1px;grid-column:1;justify-self:start;font-size:16px}.titleActions[data-v-5df5fcc4]{grid-column:2}.helpBtn[data-v-5df5fcc4]{min-height:26px;padding:2px 8px;font-size:11px}.switchDeviceBtn[data-v-5df5fcc4]{min-height:32px;padding:5px 12px;font-size:12px}.body[data-v-5df5fcc4]{grid-template-columns:1fr;gap:10px;padding:10px}.navBtn[data-v-5df5fcc4]{border-width:1px;border-radius:10px;min-height:44px;padding:8px 4px;font-size:12px;line-height:1.15}.navBtn.active[data-v-5df5fcc4]{outline:2px solid #1a274452;transform:none}.panels[data-v-5df5fcc4]{grid-template-columns:1fr;gap:10px}.devicePanel[data-v-5df5fcc4]{grid-column:auto}.panel[data-v-5df5fcc4]{background:#ffffffad;border-width:1px;border-radius:14px;padding:10px}.panelHead[data-v-5df5fcc4]{margin-bottom:8px;font-size:16px}.metricList[data-v-5df5fcc4]{gap:6px}.metricRow[data-v-5df5fcc4]{background:#ffffff73;border-radius:10px;grid-template-columns:72px minmax(76px,1fr) 56px;gap:6px;padding:7px 8px;font-size:14px}.metricValue[data-v-5df5fcc4]{border-radius:8px;min-width:0;padding:7px 8px;font-size:16px}.metricUnit[data-v-5df5fcc4]{text-align:right;min-width:0;font-size:12px}.footer[data-v-5df5fcc4]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:#c8d4e8f0;border-top:1px solid #243b6b29;flex-direction:column;gap:4px;padding:8px 12px;font-size:12px}.statusFooter[data-v-5df5fcc4]{flex-wrap:wrap;justify-content:center;gap:4px 10px}}.manualPage[data-v-0fa97bf7]{min-height:100dvh;padding:14px 14px 110px}.pageHeader p[data-v-0fa97bf7]{min-height:20px}.controlGrid[data-v-0fa97bf7]{gap:14px;display:grid}.channelTable[data-v-0fa97bf7]{gap:8px;display:grid}.devicePanel[data-v-0fa97bf7]{position:relative}.timerControl[data-v-0fa97bf7]{background:#eff6ff9e;border:1px solid #2563eb2e;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:8px;margin-bottom:10px;padding:10px;display:grid}.timerControl label[data-v-0fa97bf7]{color:#4b5f82;gap:4px;font-size:12px;font-weight:800;display:grid}.timerControl select[data-v-0fa97bf7],.timerControl input[data-v-0fa97bf7]{color:#1f2a44;min-width:0;height:34px;font:inherit;background:#ffffffe0;border:1px solid #6b8fc773;border-radius:10px;padding:0 10px;font-weight:800}.timerInputWrap[data-v-0fa97bf7]{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.timerControl button[data-v-0fa97bf7]{color:#fff;background:linear-gradient(#3b82f6 0%,#1d4ed8 100%);border:0;border-radius:10px;grid-column:1/-1;height:34px;padding:0 14px;font-weight:900;box-shadow:0 6px 14px #2563eb2e}.timerControl button[data-v-0fa97bf7]:disabled,.timerControl select[data-v-0fa97bf7]:disabled,.timerControl input[data-v-0fa97bf7]:disabled{cursor:not-allowed;opacity:.65}.manualTips[data-v-0fa97bf7]{color:#7a4d00;background:#fffbebc7;border:1px solid #f59e0b47;border-radius:12px;flex-wrap:wrap;gap:6px 12px;margin-top:8px;padding:7px 10px;font-size:11px;font-weight:800;line-height:1.25;display:flex}.syncPlaceholder[data-v-0fa97bf7]{z-index:3;color:#4b5f82;text-align:center;pointer-events:none;background:#eff6ffb8;border:1px dashed #2563eb47;border-radius:14px;padding:10px 12px;position:absolute;top:78px;left:12px;right:12px}.channelHead[data-v-0fa97bf7],.channelRow[data-v-0fa97bf7]{grid-template-columns:minmax(64px,1.1fr) 72px 44px 44px minmax(66px,.8fr) minmax(66px,.8fr) 48px;align-items:center;gap:6px;transition:none;animation:none;display:grid}.channelHead[data-v-0fa97bf7]{color:#4b5f82;text-align:center;padding:0 8px 2px;font-size:12px;font-weight:800}.channelHead span[data-v-0fa97bf7]:first-child{text-align:left}.channelRow[data-v-0fa97bf7]{background:#ffffff9e;border:1px solid #6b8fc773;border-radius:14px;padding:8px}.channelRow.cloudHeld[data-v-0fa97bf7]{background:#dbeafe8c;border-color:#2563eb59}.channelRow.manualHeld[data-v-0fa97bf7]{background:#ccfbf180;border-color:#14b8a659}.channelRow.fieldLocked[data-v-0fa97bf7]{background:#ffedd58c;border-color:#d9770659}.channelRow.sealing[data-v-0fa97bf7]{background:#fef3c7b3;border-color:#d9770666}.colName[data-v-0fa97bf7]{gap:1px;min-width:0;display:grid}.doIndex[data-v-0fa97bf7]{color:#6b7c99;font-size:11px;font-weight:800}.doName[data-v-0fa97bf7]{color:#243b6b;word-break:keep-all;font-size:15px;font-weight:900;line-height:1.2}.doSwitch[data-v-0fa97bf7]{cursor:pointer;border:0;border-radius:999px;grid-template-columns:1fr 1fr;justify-self:center;align-items:center;width:74px;height:32px;padding:0;display:grid;position:relative;overflow:hidden}.doSwitch.off[data-v-0fa97bf7]{background:#e8edf5;box-shadow:inset 0 0 0 1px #243b6b1f}.doSwitch.on[data-v-0fa97bf7]{background:#dcfce7;box-shadow:inset 0 0 0 1px #16a34a47}.doSwitch.busy[data-v-0fa97bf7]{background:#fef3c7;box-shadow:inset 0 0 0 1px #d9770647}.doSwitch[data-v-0fa97bf7]:disabled{cursor:not-allowed;opacity:.72}.swText[data-v-0fa97bf7]{z-index:1;text-align:center;font-size:11px;font-weight:800;line-height:1}.swText.off[data-v-0fa97bf7]{color:#94a3b8}.swText.on[data-v-0fa97bf7]{color:#86efac}.doSwitch.off .swText.off[data-v-0fa97bf7]{color:#64748b}.doSwitch.on .swText.on[data-v-0fa97bf7]{color:#15803d}.swKnob[data-v-0fa97bf7]{z-index:2;color:#fff;background:#94a3b8;border-radius:999px;place-items:center;width:26px;height:26px;font-size:11px;font-weight:900;transition:none;display:grid;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #0f172a2e}.doSwitch.on .swKnob[data-v-0fa97bf7]{background:#16a34a;transform:translate(42px)}.doSwitch.off .swKnob[data-v-0fa97bf7]{background:#64748b}.doSwitch.busy .swKnob[data-v-0fa97bf7]{background:#d97706}.doFlip[data-v-0fa97bf7],.doFlip.doReturn[data-v-0fa97bf7]{color:#1d4ed8;cursor:pointer;background:#2563eb1f;border:1px solid #2563eb59;border-radius:999px;justify-self:center;min-width:48px;min-height:32px;padding:0 8px;font-size:12px;font-weight:800}.doFlip.doReturn[data-v-0fa97bf7]{color:#047857;background:#10b9811f;border-color:#05966966}.doFlip[data-v-0fa97bf7]:disabled{cursor:not-allowed;opacity:.38}.colTime[data-v-0fa97bf7],.colTimer[data-v-0fa97bf7]{color:#243b6b;text-align:center;border-radius:8px;justify-self:center;min-width:56px;padding:4px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:800;transition:none;animation:none}.colTime.lowTime[data-v-0fa97bf7]{color:#9a3412;background:#ea580c29}.colTimer.activeTimer[data-v-0fa97bf7],.colTime.seal[data-v-0fa97bf7],.modeTag.seal[data-v-0fa97bf7]{color:#1d4ed8;background:#2563eb1f}.modeTag[data-v-0fa97bf7]{justify-self:center;transition:none;animation:none}.modeTag.manual[data-v-0fa97bf7],.modeTag.free[data-v-0fa97bf7]{color:#0f766e;background:#14b8a624}.modeTag.empty[data-v-0fa97bf7]{background:0 0;min-width:0;padding:0}.offBtn[data-v-0fa97bf7]{cursor:pointer;color:#fff;background:linear-gradient(#ff4b4b 0%,#e60000 100%);border:2px solid #b80000;border-radius:10px;width:100%;min-height:58px;font-size:15px;font-weight:900;box-shadow:0 8px 16px #e6000047,inset 0 1px #ffffff47}.offBtn[data-v-0fa97bf7]:disabled{cursor:not-allowed;opacity:.72}.actionBar.single[data-v-0fa97bf7]{z-index:60;grid-template-columns:1fr}.backBtn[data-v-0fa97bf7]{min-width:96px;padding:0 18px}@media (width<=520px){.channelHead[data-v-0fa97bf7],.channelRow[data-v-0fa97bf7]{grid-template-columns:minmax(48px,1fr) 62px 36px 36px 48px 48px 38px;gap:4px}.timerControl[data-v-0fa97bf7]{grid-template-columns:1fr}.channelHead[data-v-0fa97bf7]{font-size:11px}.doName[data-v-0fa97bf7]{font-size:13px}.doSwitch[data-v-0fa97bf7]{width:66px;height:28px}.swKnob[data-v-0fa97bf7]{width:22px;height:22px;font-size:10px}.doSwitch.on .swKnob[data-v-0fa97bf7]{transform:translate(38px)}.doFlip[data-v-0fa97bf7],.doFlip.doReturn[data-v-0fa97bf7]{min-width:42px;min-height:28px;padding:0 4px;font-size:11px}.colTime[data-v-0fa97bf7],.colTimer[data-v-0fa97bf7]{min-width:48px;font-size:12px}.offBtn[data-v-0fa97bf7]{min-height:42px;font-size:14px}}.autoPage[data-v-6e67fcfc]{min-height:100dvh;padding:14px 14px 84px}.ruleGrid[data-v-6e67fcfc]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.ruleCard[data-v-6e67fcfc]{cursor:pointer;background:#ffffffb8;border:2px solid #6b8fc7;border-radius:16px;flex-direction:column;gap:10px;min-height:0;padding:14px;display:flex;box-shadow:0 6px 14px #1a274414}.cardTop[data-v-6e67fcfc]{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.titleBlock[data-v-6e67fcfc]{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.ruleTitle[data-v-6e67fcfc]{color:#243b6b;font-size:18px;font-weight:900}.runBadge[data-v-6e67fcfc]{color:#fff;background:linear-gradient(#43e866 0%,#18a93a 100%);border-radius:999px;padding:3px 8px;font-size:11px;font-weight:900}.statusCorner[data-v-6e67fcfc]{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:6px;max-width:55%;display:flex}.statusDot[data-v-6e67fcfc]{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:800;display:inline-flex}.statusDot.on[data-v-6e67fcfc]{color:#15803d;background:#22c55e29;border-color:#22c55e47}.statusDot.off[data-v-6e67fcfc]{color:#b91c1c;background:#ef44441f;border-color:#ef444438}.statusDot em[data-v-6e67fcfc]{font-style:normal;font-weight:900}.desc[data-v-6e67fcfc]{color:#4b5f82;flex:1;margin:0;font-size:13px;line-height:1.45}.cardFoot[data-v-6e67fcfc]{border-top:1px dashed #6b8fc773;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;display:flex}.footLeft[data-v-6e67fcfc]{align-items:center;gap:8px;min-width:0;display:flex}.taskMeta[data-v-6e67fcfc]{color:#243b6b;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:700;overflow:hidden}.entryHint[data-v-6e67fcfc]{color:#2563b8;white-space:nowrap;font-size:12px;font-weight:900}.chipBtn[data-v-6e67fcfc]{color:#fff;cursor:pointer;border:0;border-radius:999px;flex:none;min-height:24px;padding:2px 10px;font-size:12px;font-weight:900;line-height:1.2}.chipBtn[data-v-6e67fcfc]:disabled{opacity:.55;cursor:not-allowed}.chipBtn.start[data-v-6e67fcfc]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.chipBtn.stop[data-v-6e67fcfc]{background:linear-gradient(#ff4b4b 0%,#e60000 100%)}.actionBar.single[data-v-6e67fcfc]{grid-template-columns:1fr}@media (width<=640px){.ruleGrid[data-v-6e67fcfc]{grid-template-columns:1fr}.statusCorner[data-v-6e67fcfc]{max-width:48%}}.page[data-v-6d57cd0a]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px 14px 96px;font-family:SimSun,Songti SC,Times New Roman,serif}.configHeader[data-v-6d57cd0a]{margin-bottom:12px}.stickyStatus[data-v-6d57cd0a]{z-index:30;-webkit-backdrop-filter:blur(8px);background:#d2def0f5;position:sticky;top:0}.statusHead[data-v-6d57cd0a]{justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:8px;display:flex}.statusHead .statusTitle[data-v-6d57cd0a]{margin-bottom:0}.sensorBadges[data-v-6d57cd0a]{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;gap:6px;min-width:0;display:flex}.sensorBadge[data-v-6d57cd0a]{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:3px 8px;font-size:12px;font-weight:900}.sensorBadge.online[data-v-6d57cd0a]{color:#166534;background:#22c55e29;border-color:#22c55e47}.sensorBadge.offline[data-v-6d57cd0a]{color:#991b1b;background:#ef44441f;border-color:#ef444447}.metricStrip[data-v-6d57cd0a]{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;margin-bottom:10px;display:grid}.metricStrip .metricRow[data-v-6d57cd0a]:only-child{grid-column:1/-1}.stickyStatus .doItem[data-v-6d57cd0a]{padding:8px}.stickyStatus .doName[data-v-6d57cd0a]{font-size:13px}.stickyStatus .doState[data-v-6d57cd0a]{margin-top:2px;font-size:12px}.actionBar[data-v-6d57cd0a]{z-index:40;grid-template-columns:1fr 1fr 1.3fr}.actionBar.bottomBar[data-v-6d57cd0a]{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.actionBar.bottomBar .backBtn[data-v-6d57cd0a],.actionBar.bottomBar .executeBtn[data-v-6d57cd0a]{min-width:0;padding:0 6px;font-size:14px}.taskBtn[data-v-6d57cd0a]{background:linear-gradient(#9aa8c2 0%,#6b7c99 100%)!important}.syncBtn[data-v-6d57cd0a]{background:linear-gradient(#38bdf8 0%,#0284c7 100%)!important}.stopBtn[data-v-6d57cd0a]{background:linear-gradient(#ff4b4b 0%,#e60000 100%)!important}.pairSpacer[data-v-6d57cd0a]{min-height:0;display:block}.chipRowSolo[data-v-6d57cd0a]{margin-bottom:12px}.checkHint[data-v-6d57cd0a]{color:#4b5f82;background:#3b8fd91a;border-radius:12px;grid-column:1/-1;margin:0;padding:10px 12px;font-size:12px;line-height:1.45}.fanOnlyHint[data-v-6d57cd0a]{color:#78350fe6;background:#b453091a}.mono[data-v-6d57cd0a]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.dot[data-v-6d57cd0a]{margin:0 6px}.btn2[data-v-6d57cd0a]{cursor:pointer;color:#243b6b;background:#ffffffd9;border:1px solid #243b6b2e;border-radius:12px;padding:10px 12px;font-weight:900}.btn2[data-v-6d57cd0a]:disabled{opacity:.6;cursor:not-allowed}.btn2.primary[data-v-6d57cd0a]{color:#fff;background:linear-gradient(#43e866 0%,#18a93a 100%);border:0}.btn2.danger[data-v-6d57cd0a]{color:#fff;background:linear-gradient(#ff5a5a 0%,#dd2020 100%);border:0}.error[data-v-6d57cd0a],.notice[data-v-6d57cd0a]{white-space:pre-wrap;border-radius:12px;margin:0 0 10px;padding:10px 12px;font-size:13px}.error[data-v-6d57cd0a]{color:#b91c1c;background:#ef44441f;border:1px solid #ef444438}.notice[data-v-6d57cd0a]{color:#166534;background:#22c55e1f;border:1px solid #22c55e38}.warnBox[data-v-6d57cd0a]{color:#92400e;white-space:pre-wrap;background:#f59e0b1f;border:1px solid #f59e0b38;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:800}.hintCard[data-v-6d57cd0a],.statusCard[data-v-6d57cd0a],.tabCard[data-v-6d57cd0a],.panel[data-v-6d57cd0a]{background:#ffffffa8;border:2px solid #6b8fc7;border-radius:16px;margin-bottom:12px;padding:12px;box-shadow:0 6px 14px #1a274414}.hintTitle[data-v-6d57cd0a],.statusTitle[data-v-6d57cd0a],.tabTitle[data-v-6d57cd0a],.panelTitle[data-v-6d57cd0a]{color:#243b6b;margin-bottom:10px;font-weight:900}.panelHead[data-v-6d57cd0a]{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.panelHead .panelTitle[data-v-6d57cd0a]{margin-bottom:0}.switch[data-v-6d57cd0a]{flex:none;width:46px;height:28px;position:relative}.switch input[data-v-6d57cd0a]{opacity:0;width:0;height:0}.slider[data-v-6d57cd0a]{background:#0f172a2e;border:1px solid #0f172a1f;border-radius:999px;transition:all .2s;position:absolute;inset:0}.slider[data-v-6d57cd0a]:before{content:"";background:#fff;border-radius:999px;width:22px;height:22px;transition:all .2s;position:absolute;top:50%;left:3px;transform:translateY(-50%);box-shadow:0 6px 16px #0f172a2e}.switch input:checked+.slider[data-v-6d57cd0a]{background:#3b8fd947;border-color:#3b8fd940}.switch input:checked+.slider[data-v-6d57cd0a]:before{transform:translate(18px,-50%)}.hintList[data-v-6d57cd0a]{color:#0f172ab8;margin:0;padding-left:18px;font-size:13px;font-weight:800;line-height:1.6}.taskActions[data-v-6d57cd0a]{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.modalMask[data-v-6d57cd0a]{z-index:50;background:#0f172a73;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modalMaskAlert[data-v-6d57cd0a]{z-index:80}.modalCard[data-v-6d57cd0a]{background:#ffffffeb;border:1px solid #0f172a1f;border-radius:18px;width:min(560px,100%);max-height:min(78vh,640px);overflow:auto;box-shadow:0 18px 50px #0f172a40}.modalHeader[data-v-6d57cd0a]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid #0f172a14;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex;position:sticky;top:0}.modalTitle[data-v-6d57cd0a]{color:#243b6b;font-weight:900}.modalClose[data-v-6d57cd0a]{cursor:pointer;background:#ffffffd9;border:1px solid #0f172a1f;border-radius:12px;padding:8px 10px;font-weight:900}.modalBody[data-v-6d57cd0a]{padding:12px 14px 14px}.doGrid[data-v-6d57cd0a]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.doItem[data-v-6d57cd0a]{background:#0f172a0a;border:1px solid #0f172a14;border-radius:14px;padding:10px}.doItem.on[data-v-6d57cd0a]{background:#3b8fd91f;border-color:#3b8fd933}.doName[data-v-6d57cd0a]{color:#0f172adb;font-weight:900}.doState[data-v-6d57cd0a]{color:#0f172aa8;margin-top:6px;font-weight:900}.chipRow[data-v-6d57cd0a]{flex-wrap:wrap;gap:10px;display:flex}.chip[data-v-6d57cd0a]{cursor:pointer;color:#0f172ac7;background:#ffffffd9;border:1px solid #0f172a1f;border-radius:999px;padding:8px 12px;font-weight:900}.chip.on[data-v-6d57cd0a]{color:#243b6b;background:#3b8fd91f;border-color:#3b8fd940}.chip.off[data-v-6d57cd0a]{background:#0f172a0a}.row[data-v-6d57cd0a]{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.toggle[data-v-6d57cd0a]{color:#0f172ac2;align-items:center;gap:8px;font-weight:900;display:inline-flex}.formGrid[data-v-6d57cd0a]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pairGrid[data-v-6d57cd0a]{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}.field[data-v-6d57cd0a]{color:#0f172ab8;gap:6px;min-width:0;font-size:12px;font-weight:900;display:grid}.input[data-v-6d57cd0a]{box-sizing:border-box;background:#ffffffeb;border:1px solid #0f172a1f;border-radius:12px;outline:none;width:100%;min-height:40px;padding:10px 12px}.input.compact[data-v-6d57cd0a]{border-radius:8px;min-height:32px;padding:6px 8px;font-size:14px}.fieldHint[data-v-6d57cd0a]{color:#0f172a9e;grid-column:1/-1;margin:0;font-size:12px;font-weight:800;line-height:1.45}.muted[data-v-6d57cd0a]{color:#0f172aa8}.small[data-v-6d57cd0a]{font-size:12px;font-weight:800}@media (width<=720px){.doGrid[data-v-6d57cd0a]{grid-template-columns:repeat(2,minmax(0,1fr))}.formGrid[data-v-6d57cd0a]{grid-template-columns:1fr}.pairGrid[data-v-6d57cd0a]{grid-template-columns:repeat(2,minmax(0,1fr))}}.historyPage[data-v-a7b190b9]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px 14px 88px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-a7b190b9]{text-align:center;margin-bottom:12px}.pageHeader h1[data-v-a7b190b9]{color:#243b6b;margin:0 0 6px;font-size:clamp(22px,4vw,34px)}.pageHeader p[data-v-a7b190b9]{color:#4b5f82;margin:0;font-weight:800}.toolbar[data-v-a7b190b9],.alarmPanel[data-v-a7b190b9]{background:#ffffffb8;border:2px solid #6b8fc7;border-radius:16px;gap:8px;margin-bottom:12px;padding:10px;display:grid;box-shadow:0 8px 22px #0f172a0f}.toolbar[data-v-a7b190b9]{grid-template-columns:minmax(0,1fr) auto auto;align-items:end}.alarmPanel[data-v-a7b190b9]{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}label[data-v-a7b190b9]{color:#0f172ad1;gap:5px;font-weight:900;display:grid}input[data-v-a7b190b9]{border:1px solid #0f172a1f;border-radius:12px;min-width:0;min-height:38px;padding:7px 9px}em[data-v-a7b190b9]{color:#0f172a9e;font-size:12px;font-style:normal}button[data-v-a7b190b9]{color:#fff;cursor:pointer;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border:0;border-radius:12px;min-height:40px;font-weight:900}button[data-v-a7b190b9]:disabled{cursor:wait;opacity:.65}.chipPanel[data-v-a7b190b9]{background:#ffffffb8;border:2px solid #6b8fc7;border-radius:16px;gap:8px;margin-bottom:12px;padding:10px;display:grid;box-shadow:0 8px 22px #0f172a0f}.chipHint[data-v-a7b190b9]{color:#4b5f82;font-size:12px;font-weight:900}.chipRow[data-v-a7b190b9]{flex-wrap:wrap;gap:10px;display:flex}.chip[data-v-a7b190b9]{cursor:pointer;color:#0f172ac7;background:#ffffffd9;border:1px solid #0f172a1f;border-radius:999px;padding:8px 12px;font-weight:900}.chip.on[data-v-a7b190b9]{color:#243b6b;background:#16a34a1f;border-color:#16a34a40}.chip.off[data-v-a7b190b9]{background:#0f172a0a}.chartGrid[data-v-a7b190b9]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.chartCard[data-v-a7b190b9]{background:#ffffffb8;border:2px solid #6b8fc7;border-radius:16px;padding:10px;box-shadow:0 8px 22px #0f172a0f}.chartHead[data-v-a7b190b9]{color:#0f172ac7;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.chartSvg[data-v-a7b190b9]{width:100%;min-height:190px}.axis[data-v-a7b190b9]{stroke:#0f172a40;stroke-width:2px}.dataLine[data-v-a7b190b9]{fill:none;stroke:#16a34a;stroke-width:3px}.dataDot[data-v-a7b190b9]{fill:#16a34a}.touchDot[data-v-a7b190b9]{fill:#0000;cursor:pointer}.alarmLine[data-v-a7b190b9]{stroke:#ef4444;stroke-width:3px;stroke-dasharray:8 6}.tick[data-v-a7b190b9]{fill:#0f172a9e;font-size:12px;font-weight:900}.tickLine[data-v-a7b190b9]{stroke:#0f172a2e;stroke-width:1px}.hourTick[data-v-a7b190b9]{fill:#0f172a9e;text-anchor:middle;font-size:10px;font-weight:900}.focusLine[data-v-a7b190b9]{stroke:#16a34a59;stroke-width:2px;stroke-dasharray:4 4}.tooltipBox[data-v-a7b190b9]{fill:#0f172ae6}.tooltipText[data-v-a7b190b9]{fill:#fff;font-size:13px;font-weight:900}.actionBar.single[data-v-a7b190b9]{grid-template-columns:1fr}@media (width<=560px){.toolbar[data-v-a7b190b9]{grid-template-columns:1fr 1fr}.toolbar label[data-v-a7b190b9]{grid-column:1/-1}}.logPage[data-v-64410ac4]{box-sizing:border-box;color:#1a2744;background:#c8d4e8;width:100%;max-width:100%;min-height:100dvh;padding:14px 14px 88px;overflow-x:hidden}.pageHeader[data-v-64410ac4]{text-align:center;margin-bottom:12px}.pageHeader h1[data-v-64410ac4]{color:#243b6b;margin:0 0 6px;font-size:clamp(22px,4vw,34px)}.pageHeader p[data-v-64410ac4]{color:#4b5f82;margin:0;font-weight:800}.toolbar[data-v-64410ac4]{box-sizing:border-box;background:#ffffffc7;border:2px solid #6b8fc7;border-radius:16px;gap:8px;width:100%;min-width:0;max-width:100%;margin-bottom:12px;padding:10px;display:grid;overflow:hidden;box-shadow:0 8px 22px #0f172a0f}.timeRow[data-v-64410ac4],.actionRow[data-v-64410ac4]{grid-template-columns:1fr 1fr;gap:8px;min-width:0;display:grid}.timeField[data-v-64410ac4]{gap:4px;min-width:0;display:grid}.timeField>span[data-v-64410ac4]{color:#4b5f82;font-size:11px;font-weight:800}.picker[data-v-64410ac4]{background:#fff;border:1px solid #6b8fc7;border-radius:10px;min-width:0;height:32px;position:relative;overflow:hidden}.pickerText[data-v-64410ac4]{color:#243b6b;white-space:nowrap;text-overflow:ellipsis;align-items:center;height:100%;padding:0 8px;font-size:12px;font-weight:700;display:flex;overflow:hidden}.pickerText.empty[data-v-64410ac4]{color:#7d8aa8}.pickerNative[data-v-64410ac4]{opacity:0;cursor:pointer;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.actionRow button[data-v-64410ac4],.pager button[data-v-64410ac4]{cursor:pointer;border-radius:10px;min-height:36px;padding:0 10px;font-size:14px;font-weight:800}.queryBtn[data-v-64410ac4]{color:#fff;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border:0}.clearBtn[data-v-64410ac4],.pager button[data-v-64410ac4]{color:#243b6b;background:#fff;border:1px solid #6b8fc7}.actionRow button[data-v-64410ac4]:disabled,.pager button[data-v-64410ac4]:disabled{opacity:.55;cursor:not-allowed}.list[data-v-64410ac4]{gap:10px;display:grid}.card[data-v-64410ac4],.empty[data-v-64410ac4]{background:#ffffffc7;border:2px solid #6b8fc7;border-radius:16px;padding:12px}.empty[data-v-64410ac4]{text-align:center;color:#4b5f82;font-weight:700}.cardTop[data-v-64410ac4]{justify-content:space-between;align-items:center;gap:8px;display:flex}.badge[data-v-64410ac4]{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:800;display:inline-flex}.badge.cloud[data-v-64410ac4]{color:#1d4ed8;background:#2563eb1f}.badge.field[data-v-64410ac4]{color:#b45309;background:#f59e0b29}.time[data-v-64410ac4]{color:#4b5f82;font-size:12px;font-weight:700}.title[data-v-64410ac4]{margin-top:8px;font-size:16px;font-weight:800}.detail[data-v-64410ac4]{color:#4b5f82;word-break:break-all;margin-top:4px;font-size:13px;line-height:1.5}.pager[data-v-64410ac4]{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:14px;font-weight:700;display:flex}.actionBar.single[data-v-64410ac4]{grid-template-columns:1fr}.hmi[data-v-f33a5d30]{color:#1a2744;min-height:100dvh;padding-bottom:calc(74px + env(safe-area-inset-bottom,0px));background:#c8d4e8;grid-template-rows:auto 1fr auto;font-family:SimSun,Songti SC,Times New Roman,serif;display:grid;overflow-x:hidden}.titleBar[data-v-f33a5d30]{z-index:10;color:#243b6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8d4e8eb;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:12px 12px 10px;display:grid;position:sticky;top:0}.titleText[data-v-f33a5d30]{text-align:center;letter-spacing:2px;grid-column:2;min-width:0;font-size:clamp(20px,3vw,34px);font-weight:700}.switchDeviceBtn[data-v-f33a5d30]{color:#fff;letter-spacing:.5px;cursor:pointer;white-space:nowrap;background:linear-gradient(#ffb347 0%,#f08c00 100%);border:1px solid #b4640059;border-radius:999px;grid-column:3;justify-self:end;align-items:center;gap:6px;min-height:36px;padding:6px 14px;font-size:13px;font-weight:900;display:inline-flex;box-shadow:0 6px 14px #f08c0047,inset 0 1px #ffffff59}.switchDeviceBtn[data-v-f33a5d30]:hover{filter:brightness(1.05)}.switchDeviceBtn[data-v-f33a5d30]:active{transform:translateY(1px)}.switchDeviceIcon[data-v-f33a5d30]{font-size:15px;font-weight:700;line-height:1}.body[data-v-f33a5d30]{grid-template-columns:1fr;gap:12px;min-height:0;padding:0 12px 8px;display:grid}.navBtn[data-v-f33a5d30]{color:#fff;cursor:pointer;writing-mode:horizontal-tb;border:2px solid #1a274440;border-radius:14px;padding:14px 8px;font-size:15px;font-weight:700;box-shadow:inset 0 1px #ffffff40}.navBtn.blue[data-v-f33a5d30]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%)}.navBtn.green[data-v-f33a5d30]{background:linear-gradient(#5cb85c 0%,#3d9a3d 100%)}.navBtn.red[data-v-f33a5d30]{background:linear-gradient(#e05a5a 0%,#c03939 100%)}.navBtn.orange[data-v-f33a5d30]{background:linear-gradient(#f0ad4e 0%,#d98c1a 100%)}.navBtn.active[data-v-f33a5d30]{outline:3px solid #1a274459;transform:scale(1.02)}.navBtn[data-v-f33a5d30]:disabled{cursor:not-allowed;filter:grayscale(.45);opacity:.58}.fanDevice.displayOnly[data-v-f33a5d30]{cursor:default;pointer-events:none}.bottomNav[data-v-f33a5d30]{z-index:20;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#c8d4e8f0;border-top:1px solid #243b6b2e;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottomNav .navBtn[data-v-f33a5d30]{width:100%;min-height:54px;padding:12px 6px}.panels[data-v-f33a5d30]{grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:10px;min-width:0;display:grid}.panel[data-v-f33a5d30]{background:#ffffff8c;border:2px solid #6b8fc7;border-radius:16px;min-width:0;padding:10px 12px 12px}.panelHead[data-v-f33a5d30]{text-align:center;color:#243b6b;margin-bottom:10px;font-size:18px;font-weight:700}.metricList[data-v-f33a5d30],.deviceList[data-v-f33a5d30]{gap:8px;display:grid}.deviceList[data-v-f33a5d30]{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center}.metricRow[data-v-f33a5d30]{grid-template-columns:1fr auto auto;align-items:center;gap:8px;font-size:15px;display:grid}.metricLabel[data-v-f33a5d30]{color:#1a2744}.metricValue[data-v-f33a5d30]{text-align:center;color:#fff;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border-radius:6px;min-width:56px;padding:4px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:700}.metricUnit[data-v-f33a5d30]{color:#334;min-width:48px;font-size:13px}.fanDevice[data-v-f33a5d30]{cursor:pointer;color:#fff;text-align:center;border:2px solid #243b6b29;border-radius:999px;place-items:center;gap:0;width:64px;min-width:0;height:64px;padding:6px;transition:transform .12s,box-shadow .12s;display:grid;box-shadow:inset 0 1px #ffffff47}.fanDevice[data-v-f33a5d30]:disabled{cursor:not-allowed;opacity:.72}.fanDevice[data-v-f33a5d30]:not(:disabled):hover{transform:translateY(-1px)}.fanDevice.off[data-v-f33a5d30]{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.fanDevice.on[data-v-f33a5d30]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.fanIcon[data-v-f33a5d30]{border-radius:999px;place-items:center;width:20px;height:20px;display:grid}.fanIcon svg[data-v-f33a5d30]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.fanIndex[data-v-f33a5d30]{font-size:14px;font-weight:900;line-height:1}.fanDevice strong[data-v-f33a5d30]{font-size:10px;line-height:1.2}.footer[data-v-f33a5d30]{justify-content:space-between;align-items:center;padding:8px 16px 12px;font-size:14px;display:flex}.areaHint[data-v-f33a5d30]{color:#243b6b;font-weight:600}.statusFooter[data-v-f33a5d30]{align-items:center;gap:12px;min-width:0;display:flex}.signalHint[data-v-f33a5d30]{color:#243b6b;white-space:nowrap;font-weight:900}.mutedHint[data-v-f33a5d30]{opacity:.65;font-weight:400}.onlineHint[data-v-f33a5d30]{color:#15803d;font-weight:900}.offlineHint[data-v-f33a5d30]{color:#b91c1c;font-weight:900}.clock[data-v-f33a5d30]{color:#243b6b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.mono[data-v-f33a5d30]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media (width<=900px){.panels[data-v-f33a5d30]{grid-template-columns:1fr}.navBtn[data-v-f33a5d30]{padding:12px 6px;font-size:13px}}@media (width<=520px){.hmi[data-v-f33a5d30]{min-height:100dvh;padding-bottom:calc(74px + env(safe-area-inset-bottom,0px));display:block}.titleBar[data-v-f33a5d30]{border-bottom:1px solid #243b6b29;grid-template-columns:1fr auto;padding:10px 12px}.titleText[data-v-f33a5d30]{text-align:left;letter-spacing:1px;grid-column:1;justify-self:start;font-size:16px}.switchDeviceBtn[data-v-f33a5d30]{grid-column:2;min-height:32px;padding:5px 12px;font-size:12px}.body[data-v-f33a5d30]{grid-template-columns:1fr;gap:10px;padding:10px}.navBtn[data-v-f33a5d30]{border-width:1px;border-radius:10px;min-height:44px;padding:8px 4px;font-size:12px;line-height:1.15}.navBtn.active[data-v-f33a5d30]{outline:2px solid #1a274452;transform:none}.panels[data-v-f33a5d30]{grid-template-columns:1fr;gap:10px}.panel[data-v-f33a5d30]{background:#ffffffad;border-width:1px;border-radius:14px;padding:10px}.panelHead[data-v-f33a5d30]{margin-bottom:8px;font-size:16px}.metricList[data-v-f33a5d30]{gap:6px}.metricRow[data-v-f33a5d30]{background:#ffffff73;border-radius:10px;grid-template-columns:72px minmax(76px,1fr) 56px;gap:6px;padding:7px 8px;font-size:14px}.metricValue[data-v-f33a5d30]{border-radius:8px;min-width:0;padding:7px 8px;font-size:16px}.metricUnit[data-v-f33a5d30]{text-align:right;min-width:0;font-size:12px}.deviceList[data-v-f33a5d30]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px}.fanDevice[data-v-f33a5d30]{width:58px;height:58px;padding:5px}.fanIcon[data-v-f33a5d30]{width:18px;height:18px}.fanIcon svg[data-v-f33a5d30]{width:16px;height:16px}.fanIndex[data-v-f33a5d30]{font-size:13px}.fanDevice strong[data-v-f33a5d30]{font-size:9px}.footer[data-v-f33a5d30]{padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8d4e8f0;border-top:1px solid #243b6b29;grid-template-columns:1fr;gap:4px;font-size:12px;display:grid;position:sticky;bottom:0}.statusFooter[data-v-f33a5d30]{flex-wrap:wrap;justify-content:center;gap:4px 10px}.areaHint[data-v-f33a5d30],.signalHint[data-v-f33a5d30],.clock[data-v-f33a5d30]{text-align:center}}@media (width<=360px){.sidebar[data-v-f33a5d30]{grid-template-columns:repeat(2,minmax(0,1fr))}.metricRow[data-v-f33a5d30]{grid-template-columns:64px minmax(68px,1fr) 48px;padding:6px;font-size:13px}.deviceList[data-v-f33a5d30]{grid-template-columns:repeat(4,minmax(0,1fr))}}.manualPage[data-v-167a0d62]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px 14px 110px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-167a0d62]{text-align:center;margin-bottom:12px}.pageHeader h1[data-v-167a0d62]{color:#243b6b;letter-spacing:2px;margin:0 0 6px;font-size:clamp(24px,4vw,36px)}.pageHeader p[data-v-167a0d62]{color:#4b5f82;margin:0;font-size:14px}.controlGrid[data-v-167a0d62]{gap:12px;display:grid}.panel[data-v-167a0d62]{background:#ffffff9e;border:2px solid #6b8fc7;border-radius:16px;min-width:0;padding:12px}.panelHead[data-v-167a0d62]{text-align:center;color:#243b6b;margin-bottom:12px;font-size:18px;font-weight:700}.deviceList[data-v-167a0d62]{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:10px 8px;display:grid}.fanDevice[data-v-167a0d62]{color:#fff;cursor:pointer;text-align:center;border:2px solid #243b6b29;border-radius:999px;place-items:center;width:64px;height:64px;padding:6px;display:grid;box-shadow:inset 0 1px #ffffff47}.fanDevice[data-v-167a0d62]:disabled{cursor:not-allowed;opacity:.72}.fanDevice.on[data-v-167a0d62]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.fanDevice.off[data-v-167a0d62]{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.fanIndex[data-v-167a0d62]{font-size:14px;font-weight:900;line-height:1}.fanIcon[data-v-167a0d62]{place-items:center;width:20px;height:20px;display:grid}.fanIcon svg[data-v-167a0d62]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.fanDevice strong[data-v-167a0d62]{font-size:10px;line-height:1.2}.offBtn[data-v-167a0d62]{cursor:pointer;color:#fff;background:linear-gradient(#ff4b4b 0%,#e60000 100%);border:2px solid #b80000;border-radius:10px;width:100%;min-height:58px;font-size:15px;font-weight:900;box-shadow:0 8px 16px #e6000047,inset 0 1px #ffffff47}.offBtn[data-v-167a0d62]:disabled{cursor:not-allowed;opacity:.72}.actionBar[data-v-167a0d62]{padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8d4e8f0;border-top:1px solid #243b6b29;grid-template-columns:1fr auto;align-items:center;gap:12px;display:grid;position:fixed;bottom:0;left:0;right:0}.statusFooter[data-v-167a0d62]{flex-wrap:wrap;align-items:center;gap:4px 12px;min-width:0;display:flex}.areaHint[data-v-167a0d62]{color:#243b6b;font-weight:600}.onlineHint[data-v-167a0d62]{color:#15803d;font-weight:900}.offlineHint[data-v-167a0d62]{color:#b91c1c;font-weight:900}.signalHint[data-v-167a0d62]{color:#243b6b;white-space:nowrap;font-weight:900}.backBtn[data-v-167a0d62]{color:#fff;cursor:pointer;background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%);border:0;border-radius:12px;min-width:96px;min-height:46px;padding:0 18px;font-weight:900}.backBtn[data-v-167a0d62]:disabled{cursor:wait;opacity:.65}@media (width<=520px){.manualPage[data-v-167a0d62]{padding:10px 10px 110px}.panel[data-v-167a0d62]{border-width:1px;padding:10px}.deviceList[data-v-167a0d62]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px}.fanDevice[data-v-167a0d62]{width:58px;height:58px;padding:5px}.offBtn[data-v-167a0d62]{min-height:42px;font-size:14px}.actionBar[data-v-167a0d62]{grid-template-columns:1fr}.statusFooter[data-v-167a0d62]{text-align:center;justify-content:center}}.autoPage[data-v-000c5f6c]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-000c5f6c]{text-align:center;margin-bottom:14px}.pageHeader h1[data-v-000c5f6c]{color:#243b6b;letter-spacing:2px;margin:0 0 6px;font-size:clamp(24px,4vw,36px)}.pageHeader p[data-v-000c5f6c]{color:#4b5f82;margin:0;font-size:14px}.ruleGrid[data-v-000c5f6c]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ruleCard[data-v-000c5f6c]{background:#ffffffa8;border:2px solid #6b8fc7;border-radius:18px;min-height:220px;padding:16px;box-shadow:0 8px 18px #1a27441a}.ruleCard.active[data-v-000c5f6c]{cursor:pointer}.ruleCard.disabled[data-v-000c5f6c]{cursor:not-allowed;filter:grayscale(.35);opacity:.55}.ruleTitle[data-v-000c5f6c]{color:#243b6b;font-size:20px;font-weight:900}.ruleCard p[data-v-000c5f6c]{color:#4b5f82;min-height:48px;margin:12px 0;line-height:1.5}.ruleActions[data-v-000c5f6c]{gap:10px;margin-top:12px;display:flex}.ruleActions button[data-v-000c5f6c],.backBtn[data-v-000c5f6c]{color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:44px;font-weight:900}.ruleActions button[data-v-000c5f6c]{background:linear-gradient(#43e866 0%,#18a93a 100%);flex:1}.ruleActions .stopBtn[data-v-000c5f6c]{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.ruleActions button[data-v-000c5f6c]:disabled{cursor:not-allowed;opacity:.72}.ruleStatus[data-v-000c5f6c]{color:#243b6b;margin-top:12px;font-weight:700}.entryHint[data-v-000c5f6c]{color:#2563b8;text-align:center;background:#4a8fd824;border-radius:12px;margin-top:14px;padding:12px;font-weight:900}.actionBar[data-v-000c5f6c]{justify-content:center;margin-top:16px;display:flex}.backBtn[data-v-000c5f6c]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%);min-width:140px}@media (width<=640px){.autoPage[data-v-000c5f6c]{padding:10px}.ruleGrid[data-v-000c5f6c]{grid-template-columns:1fr}.ruleCard[data-v-000c5f6c]{min-height:0;padding:12px}}.listPage[data-v-5e204f91]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-5e204f91]{text-align:center;margin-bottom:14px;position:relative}.pageHeader h1[data-v-5e204f91]{color:#243b6b;margin:0 0 6px;font-size:clamp(22px,4vw,34px)}.pageHeader p[data-v-5e204f91]{color:#4b5f82;margin:0;font-size:14px}.toolbar[data-v-5e204f91]{grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;margin-bottom:12px;display:grid}.airPanel[data-v-5e204f91]{background:#ffffff94;border:2px solid #6b8fc7;border-radius:16px;gap:8px;margin-bottom:12px;padding:12px;display:grid}.airPanelHead[data-v-5e204f91]{color:#243b6b;text-align:center;font-weight:900}.airGrid[data-v-5e204f91]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.airGrid.singleMetric[data-v-5e204f91]{grid-template-columns:minmax(0,1fr)}.airGrid.airZonesMetric[data-v-5e204f91]{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.zoneDataCard[data-v-5e204f91]{background:#ffffff6b;border-radius:12px;gap:10px;padding:10px;display:grid}.zoneDataTitle[data-v-5e204f91]{color:#243b6b;text-align:center;font-weight:900}.metricPair[data-v-5e204f91]{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;display:grid}.airCard[data-v-5e204f91]{background:#ffffff9e;border-radius:12px;grid-template-columns:auto minmax(84px,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px;display:grid}.metricLabel[data-v-5e204f91]{color:#243b6b;white-space:nowrap;align-items:center;min-width:0;font-weight:900;display:inline-flex}.airCard strong[data-v-5e204f91]{box-sizing:border-box;color:#fff;text-align:center;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border-radius:8px;width:100%;min-width:0;padding:8px 12px;font-size:clamp(14px,4vw,18px)}.airCard em[data-v-5e204f91]{color:#4b5f82;font-size:12px;font-style:normal;font-weight:800}.deviceStatusLine[data-v-5e204f91]{background:#ffffff75;border-radius:12px;grid-template-columns:repeat(8,minmax(0,1fr));align-items:center;gap:8px;padding:8px;display:grid}.deviceLight[data-v-5e204f91]{color:#fff;border:2px solid #243b6b29;border-radius:999px;justify-self:center;place-items:center;width:26px;height:26px;font-size:12px;font-weight:900;line-height:1;display:inline-grid;box-shadow:inset 0 1px #ffffff5c,0 2px 6px #1a274424}.deviceLight.on[data-v-5e204f91]{background:radial-gradient(circle at 32% 28%,#8dffa3 0%,#22c55e 48%,#15803d 100%)}.deviceLight.off[data-v-5e204f91]{background:radial-gradient(circle at 32% 28%,#ff9a9a 0%,#ef4444 48%,#b91c1c 100%)}.airPanel p[data-v-5e204f91]{color:#4b5f82;text-align:center;margin:0;font-size:12px;font-weight:800}.searchInput[data-v-5e204f91]{border:1px solid #6b8fc7;border-radius:10px;min-width:0;min-height:42px;padding:8px 10px}.toolbar button[data-v-5e204f91],.pager button[data-v-5e204f91],.rowActions button[data-v-5e204f91],.modalActions button[data-v-5e204f91]{color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:40px;font-weight:900}.searchBtn[data-v-5e204f91],.backBtn[data-v-5e204f91],.cancelBtn[data-v-5e204f91]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%)}.addBtn[data-v-5e204f91],.startBtn[data-v-5e204f91],.saveBtn[data-v-5e204f91]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.stopBtn[data-v-5e204f91],.editBtn[data-v-5e204f91],.deleteBtn[data-v-5e204f91]{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.editBtn[data-v-5e204f91]{background:linear-gradient(#f0ad4e 0%,#d98c1a 100%)}button[data-v-5e204f91]:disabled{cursor:not-allowed;opacity:.6}.tablePanel[data-v-5e204f91]{background:#ffffffa8;border:2px solid #6b8fc7;border-radius:16px;overflow:hidden}.tableHead[data-v-5e204f91],.tableRow[data-v-5e204f91]{grid-template-columns:minmax(0,.82fr) 92px 292px;align-items:center;gap:8px;padding:10px;display:grid}.tableHead[data-v-5e204f91]{color:#243b6b;background:#4a8fd829;font-weight:900}.tableRow[data-v-5e204f91]{cursor:pointer;border-top:1px solid #6b8fc759}.tableRow[data-v-5e204f91]:hover{background:#ffffff59}.ruleName[data-v-5e204f91]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.statusPill[data-v-5e204f91]{color:#fff;text-align:center;border-radius:999px;padding:6px 8px;font-weight:900}.statusPill.enabled[data-v-5e204f91]{background:#18a93a}.statusPill.disabled[data-v-5e204f91]{background:#64748b}.rowActions[data-v-5e204f91]{grid-template-columns:repeat(4,1fr);justify-self:end;gap:6px;width:min(292px,100%);display:grid}.emptyText[data-v-5e204f91]{text-align:center;color:#4b5f82;padding:18px}.pager[data-v-5e204f91]{color:#243b6b;justify-content:center;align-items:center;gap:10px;margin-top:12px;font-weight:700;display:flex}.pager button[data-v-5e204f91]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%);min-width:82px}.modalMask[data-v-5e204f91]{z-index:50;background:#1a274461;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[data-v-5e204f91]{background:#eef3fb;border:2px solid #6b8fc7;border-radius:16px;gap:12px;width:min(560px,100%);max-height:min(82vh,640px);padding:18px;display:grid;position:relative;overflow:auto}.editModal[data-v-5e204f91]{width:min(720px,100%)}.modalCloseX[data-v-5e204f91]{color:#fff;cursor:pointer;background:#ef4444;border:0;border-radius:999px;width:34px;height:34px;font-size:22px;font-weight:900;line-height:1;position:absolute;top:8px;right:8px}.modalTitle[data-v-5e204f91]{text-align:center;color:#243b6b;padding-right:34px;font-size:18px;font-weight:900}.detailList[data-v-5e204f91]{color:#243b6b;background:#ffffffa6;border-radius:12px;gap:8px;padding:12px;line-height:1.5;display:grid}.editForm[data-v-5e204f91]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field[data-v-5e204f91]{color:#243b6b;gap:6px;min-width:0;font-weight:700;display:grid}.field input[data-v-5e204f91]{box-sizing:border-box;color:#1a2744;background:#fff;border:1px solid #6b8fc7;border-radius:10px;width:100%;min-width:0;max-width:100%;min-height:42px;padding:8px 10px;display:block}.field input[type=time][data-v-5e204f91]{appearance:none}.fullField[data-v-5e204f91]{grid-column:1/-1}.inputWithUnit[data-v-5e204f91]{grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.inputWithUnit span[data-v-5e204f91]{color:#4b5f82;min-width:34px;font-size:13px}.channelGrid[data-v-5e204f91]{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.channelCard[data-v-5e204f91]{color:#243b6b;background:#ffffff8c;border-radius:12px;justify-items:center;gap:6px;padding:9px 4px;font-weight:900;display:grid}.channelCard input[data-v-5e204f91]{accent-color:#2563b8;width:20px;height:20px}.modalActions[data-v-5e204f91]{grid-template-columns:repeat(2,minmax(0,120px));justify-content:center;gap:10px;display:grid}@media (width<=560px){.listPage[data-v-5e204f91]{padding:10px}.toolbar[data-v-5e204f91]{grid-template-columns:1fr 1fr}.airGrid.airZonesMetric[data-v-5e204f91]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.metricPair[data-v-5e204f91]{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.deviceStatusLine[data-v-5e204f91]{gap:4px;padding:6px}.deviceLight[data-v-5e204f91]{width:22px;height:22px;font-size:10px}.airCard[data-v-5e204f91]{padding:8px}.tableHead[data-v-5e204f91],.tableRow[data-v-5e204f91]{grid-template-columns:minmax(0,.72fr) 62px 138px;gap:6px;padding:8px;font-size:12px}.rowActions button[data-v-5e204f91]{min-height:32px;font-size:10px}.pager[data-v-5e204f91]{font-size:12px}.editForm[data-v-5e204f91]{grid-template-columns:1fr}.channelGrid[data-v-5e204f91]{grid-template-columns:repeat(4,minmax(0,1fr))}}.rulePage[data-v-48b89d94]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-48b89d94]{text-align:center;margin-bottom:14px}.pageHeader h1[data-v-48b89d94]{color:#243b6b;letter-spacing:2px;margin:0 0 6px;font-size:clamp(22px,4vw,34px)}.pageHeader p[data-v-48b89d94]{color:#4b5f82;margin:0;font-size:14px}.ruleForm[data-v-48b89d94]{gap:12px;display:grid}.panel[data-v-48b89d94]{background:#ffffffa8;border:2px solid #6b8fc7;border-radius:16px;padding:12px}.panelHead[data-v-48b89d94]{text-align:center;color:#243b6b;margin-bottom:12px;font-size:18px;font-weight:900}.dataGrid[data-v-48b89d94]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.dataGrid.singleMetric[data-v-48b89d94],.dataGrid.airZonesMetric[data-v-48b89d94]{grid-template-columns:minmax(0,1fr)}.zoneDataCard[data-v-48b89d94]{background:#ffffff6b;border-radius:12px;gap:10px;padding:10px;display:grid}.zoneDataTitle[data-v-48b89d94]{text-align:center;color:#243b6b;font-weight:900}.noSensorCard[data-v-48b89d94]{color:#64748b;text-align:center;background:#f8fafcb8;border:1px dashed #64748b73;border-radius:12px;padding:16px 12px;font-weight:900}.metricPair[data-v-48b89d94]{grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:10px;display:grid}.fieldGrid[data-v-48b89d94]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.dataCard[data-v-48b89d94]{background:#ffffff8c;border-radius:12px;grid-template-columns:auto minmax(84px,1fr) auto;align-items:center;gap:10px;min-width:0;padding:12px;display:grid}.metricLabel[data-v-48b89d94]{color:#243b6b;white-space:nowrap;align-items:center;min-width:0;font-weight:900;display:inline-flex}.dataCard strong[data-v-48b89d94]{box-sizing:border-box;color:#fff;text-align:center;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border-radius:8px;width:100%;min-width:0;padding:8px 12px}.dataCard em[data-v-48b89d94]{color:#4b5f82;font-size:12px;font-style:normal;font-weight:800}.fanOverview[data-v-48b89d94]{background:#ffffff75;border-radius:14px;gap:10px;margin-top:12px;padding:10px;display:grid}.airZoneTabs[data-v-48b89d94]{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.airZoneTab[data-v-48b89d94]{color:#243b6b;cursor:pointer;background:#ffffffb8;border:1px solid #243b6b38;border-radius:999px;min-height:36px;font-weight:900}.airZoneTab.active[data-v-48b89d94]{color:#fff;background:linear-gradient(#3b8fd9 0%,#2563b8 100%)}.airZoneTab[data-v-48b89d94]:disabled,.airZoneTab.unavailable[data-v-48b89d94]{color:#94a3b8;cursor:not-allowed;background:#e2e8f0b8;border-color:#94a3b84d}.fanLegend[data-v-48b89d94]{color:#243b6b;flex-wrap:wrap;justify-content:center;gap:12px;font-size:12px;font-weight:900;display:flex}.legendTitle[data-v-48b89d94]{color:#4b5f82;align-items:center;display:inline-flex}.legendItem[data-v-48b89d94]{align-items:center;gap:5px;display:inline-flex}.legendDot[data-v-48b89d94]{border-radius:999px;width:10px;height:10px;display:inline-block}.legendDot.temperature[data-v-48b89d94]{background:#ef4444}.legendDot.cycle[data-v-48b89d94]{background:#2563eb}.legendDot.humidity[data-v-48b89d94]{background:#06b6d4}.legendDot.nh3[data-v-48b89d94]{background:#f59e0b}.legendDot.time[data-v-48b89d94]{background:#22c55e}.sectionTab[data-v-48b89d94]{color:#243b6b;cursor:pointer;background:#ffffffb8;border:1px solid #243b6b38;border-radius:999px;align-items:center;gap:5px;min-height:32px;padding:5px 10px;font-weight:900;display:inline-flex}.sectionTab.active[data-v-48b89d94]{color:#fff;border-color:#243b6b73;box-shadow:0 0 0 2px #ffffff8c}.sectionTab.temperature.active[data-v-48b89d94]{background:#ef4444}.sectionTab.cycle.active[data-v-48b89d94]{background:#2563eb}.sectionTab.humidity.active[data-v-48b89d94]{background:#06b6d4}.sectionTab.nh3.active[data-v-48b89d94]{background:#f59e0b}.sectionTab.time.active[data-v-48b89d94]{background:#22c55e}.field[data-v-48b89d94]{color:#243b6b;gap:6px;min-width:0;font-weight:700;display:grid}.field input[data-v-48b89d94]{box-sizing:border-box;color:#1a2744;background:#fff;border:1px solid #6b8fc7;border-radius:10px;width:100%;min-width:0;max-width:100%;min-height:42px;padding:8px 10px;display:block}.field input[type=time][data-v-48b89d94]{appearance:none}.inputWithUnit[data-v-48b89d94]{grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.inputWithUnit span[data-v-48b89d94]{color:#4b5f82;min-width:34px;font-size:13px;font-weight:700}.timeField[data-v-48b89d94]{grid-column:auto}.fanRow[data-v-48b89d94]{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.fanBtn[data-v-48b89d94]{color:#243b6b;cursor:pointer;background:#ffffffb8;border:2px solid #243b6b2e;border-radius:14px;place-items:center;gap:2px;min-height:58px;transition:transform .12s,border-color .12s,box-shadow .12s;display:grid;box-shadow:inset 0 1px #ffffff52}.fanBtn.selected[data-v-48b89d94]{color:#fff;border-color:#243b6b80;box-shadow:0 0 0 2px #ffffff8c,inset 0 1px #ffffff47}.fanBtn.current[data-v-48b89d94]{outline-offset:2px;outline:3px solid #243b6b7a}.fanRow.selectable .fanBtn[data-v-48b89d94]:hover{border-color:#243b6b73;transform:translateY(-1px)scale(1.02)}.fanIcon[data-v-48b89d94]{background:#ffffff47;border-radius:999px;place-items:center;width:28px;height:28px;font-size:18px;font-weight:900;line-height:1;display:grid}.fanIcon svg[data-v-48b89d94]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.fanBtn small[data-v-48b89d94]{font-size:12px;font-weight:900}.actionBar[data-v-48b89d94]{grid-template-columns:repeat(3,minmax(0,128px));justify-content:center;gap:10px;margin-top:14px;display:grid}.actionBar button[data-v-48b89d94]{color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:44px;font-weight:900}.readBtn[data-v-48b89d94]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%)}.saveBtn[data-v-48b89d94]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.backBtn[data-v-48b89d94]{background:linear-gradient(#64748b 0%,#475569 100%)}.actionBar button[data-v-48b89d94]:disabled{cursor:wait;opacity:.65}.modalMask[data-v-48b89d94]{z-index:50;background:#1a274461;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[data-v-48b89d94]{background:#eef3fb;border:2px solid #6b8fc7;border-radius:16px;gap:10px;width:min(420px,100%);max-height:min(78vh,560px);padding:16px;display:grid;overflow:auto}.modalTitle[data-v-48b89d94]{text-align:center;color:#243b6b;font-size:18px;font-weight:900}.emptyText[data-v-48b89d94]{text-align:center;color:#4b5f82;background:#ffffff9e;border-radius:10px;padding:12px}.ruleNameBtn[data-v-48b89d94]{color:#1a2744;text-align:left;cursor:pointer;background:#fff;border:1px solid #6b8fc7;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.ruleNameBtn span[data-v-48b89d94]{font-weight:900}.ruleNameBtn small[data-v-48b89d94]{color:#4b5f82}.detailList[data-v-48b89d94]{color:#243b6b;background:#ffffffa6;border-radius:12px;gap:8px;padding:12px;line-height:1.5;display:grid}.modalCloseBtn[data-v-48b89d94]{color:#fff;cursor:pointer;background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%);border:0;border-radius:10px;min-height:40px;font-weight:900}.modalReadBtn[data-v-48b89d94]{color:#fff;cursor:pointer;background:linear-gradient(#43e866 0%,#18a93a 100%);border:0;border-radius:10px;min-height:40px;font-weight:900}@media (width<=520px){.rulePage[data-v-48b89d94]{padding:10px}.panel[data-v-48b89d94]{border-width:1px;padding:10px}.fieldGrid[data-v-48b89d94]{grid-template-columns:repeat(2,minmax(0,1fr))}.dataGrid.airZonesMetric[data-v-48b89d94]{grid-template-columns:1fr}.field input[data-v-48b89d94]{padding:7px 6px;font-size:13px}.inputWithUnit span[data-v-48b89d94]{min-width:28px;font-size:12px}.fanRow[data-v-48b89d94]{grid-template-columns:repeat(4,minmax(0,1fr))}.fanBtn[data-v-48b89d94]{min-height:54px}.actionBar[data-v-48b89d94]{padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8d4e8f0;grid-template-columns:repeat(3,minmax(0,1fr));position:sticky;bottom:0}.actionBar button[data-v-48b89d94]{font-size:13px}}@media (width<=360px){.fieldGrid[data-v-48b89d94]{grid-template-columns:1fr}}.historyPage[data-v-4306fcd7]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:12px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-4306fcd7]{text-align:center;margin-bottom:12px}.pageHeader h1[data-v-4306fcd7]{color:#243b6b;margin:0 0 6px;font-size:clamp(24px,4vw,34px)}.pageHeader p[data-v-4306fcd7]{color:#4b5f82;margin:0;font-weight:700}.toolbar[data-v-4306fcd7],.alarmPanel[data-v-4306fcd7]{background:#ffffff9e;border:2px solid #6b8fc7;border-radius:16px;gap:8px;margin-bottom:12px;padding:10px;display:grid}.toolbar[data-v-4306fcd7]{grid-template-columns:minmax(0,1fr) repeat(3,auto);align-items:end}.alarmPanel[data-v-4306fcd7]{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}label[data-v-4306fcd7]{color:#243b6b;gap:5px;font-weight:900;display:grid}input[data-v-4306fcd7]{border:1px solid #6b8fc7;border-radius:10px;min-width:0;min-height:38px;padding:7px 9px}em[data-v-4306fcd7]{color:#4b5f82;font-size:12px;font-style:normal}button[data-v-4306fcd7]{color:#fff;cursor:pointer;background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%);border:0;border-radius:10px;min-height:40px;font-weight:900}button[data-v-4306fcd7]:disabled{cursor:wait;opacity:.65}.chipPanel[data-v-4306fcd7]{background:#ffffff9e;border:2px solid #6b8fc7;border-radius:16px;gap:8px;margin-bottom:12px;padding:10px;display:grid}.chipHint[data-v-4306fcd7]{color:#4b5f82;font-size:12px;font-weight:900}.chipRow[data-v-4306fcd7]{flex-wrap:wrap;gap:10px;display:flex}.chip[data-v-4306fcd7]{cursor:pointer;color:#243b6b;background:#ffffffd9;border:1px solid #243b6b38;border-radius:999px;padding:8px 12px;font-weight:900}.chip.on[data-v-4306fcd7]{background:#2f6fb824;border-color:#2f6fb847}.chip.off[data-v-4306fcd7]{color:#243b6bcc;background:#1a27440f}.chartGrid[data-v-4306fcd7]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.chartCard[data-v-4306fcd7]{background:#ffffffad;border:2px solid #6b8fc7;border-radius:16px;padding:10px}.chartHead[data-v-4306fcd7]{color:#243b6b;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:13px;display:flex}.chartSvg[data-v-4306fcd7]{width:100%;min-height:190px}.axis[data-v-4306fcd7]{stroke:#243b6b59;stroke-width:2px}.dataLine[data-v-4306fcd7]{fill:none;stroke:#2563b8;stroke-width:3px}.dataDot[data-v-4306fcd7]{fill:#2563b8}.touchDot[data-v-4306fcd7]{fill:#0000;cursor:pointer}.alarmLine[data-v-4306fcd7]{stroke:#ef4444;stroke-width:3px;stroke-dasharray:8 6}.tick[data-v-4306fcd7]{fill:#4b5f82;font-size:12px;font-weight:800}.tickLine[data-v-4306fcd7]{stroke:#243b6b52;stroke-width:1px}.hourTick[data-v-4306fcd7]{fill:#4b5f82;text-anchor:middle;font-size:10px;font-weight:800}.focusLine[data-v-4306fcd7]{stroke:#2563b859;stroke-width:2px;stroke-dasharray:4 4}.tooltipBox[data-v-4306fcd7]{fill:#1a2744e0}.tooltipText[data-v-4306fcd7]{fill:#fff;font-size:13px;font-weight:900}@media (width<=560px){.toolbar[data-v-4306fcd7]{grid-template-columns:1fr 1fr}}.helpPage[data-v-48e5fcb7]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px;font-family:SimSun,Songti SC,Times New Roman,serif}.helpPage.agri[data-v-48e5fcb7]{color:#0f172a;background:linear-gradient(165deg,#f0fdf4 0%,#eff6ff 100%);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji}.helpPage.agri .pageHeader h1[data-v-48e5fcb7]{color:#14532d;letter-spacing:.5px}.helpPage.agri .pageHeader p[data-v-48e5fcb7]{color:#0f172aad}.helpPage.agri .helpCard h2[data-v-48e5fcb7]{color:#14532d}.helpPage.agri .actionBar[data-v-48e5fcb7]{background:#f0fdf4eb}.helpPage.agri .backBtn[data-v-48e5fcb7]{background:linear-gradient(#22c55e 0%,#15803d 100%)}.muted[data-v-48e5fcb7]{color:#0f172aa8;font-weight:700}.pageHeader[data-v-48e5fcb7]{text-align:center;margin-bottom:14px}.pageHeader h1[data-v-48e5fcb7]{color:#243b6b;letter-spacing:2px;margin:0 0 6px;font-size:clamp(24px,5vw,36px)}.pageHeader p[data-v-48e5fcb7]{color:#4b5f82;margin:0;font-size:14px;font-weight:700}.helpContent[data-v-48e5fcb7]{gap:12px;padding-bottom:76px;display:grid}.helpCard[data-v-48e5fcb7]{background:#ffffffb8;border:1px solid #243b6b24;border-radius:16px;padding:14px;box-shadow:0 8px 18px #18315c14}.helpCard.warning[data-v-48e5fcb7]{background:#fffbebc7;border-color:#d9770647}.helpCard h2[data-v-48e5fcb7]{color:#1d4f91;margin:0 0 8px;font-size:18px}.helpCard p[data-v-48e5fcb7]{color:#334155;margin:6px 0;font-size:15px;line-height:1.7}.helpCard ul[data-v-48e5fcb7]{margin:8px 0 0;padding-left:20px}.helpCard li[data-v-48e5fcb7]{color:#334155;margin:6px 0;font-size:15px;line-height:1.65}.helpCard strong[data-v-48e5fcb7]{color:#0f172a;font-weight:800}.actionBar[data-v-48e5fcb7]{padding:10px 14px calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8d4e8eb;position:fixed;bottom:0;left:0;right:0}.backBtn[data-v-48e5fcb7]{color:#fff;letter-spacing:1px;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border:0;border-radius:999px;width:100%;min-height:44px;font-size:16px;font-weight:900}.selectPage[data-v-35d0ee28]{min-height:100dvh;padding:14px 14px 84px}.center[data-v-35d0ee28]{text-align:center}.list[data-v-35d0ee28]{gap:18px;display:grid}.groupTitle[data-v-35d0ee28]{color:#243b6b;letter-spacing:1px;margin:0 0 10px;font-size:18px;font-weight:900}.deviceCard[data-v-35d0ee28]{margin-bottom:12px;padding:14px}.cardMain[data-v-35d0ee28]{cursor:pointer}.nameRow[data-v-35d0ee28]{justify-content:space-between;align-items:center;gap:10px;display:flex}.name[data-v-35d0ee28]{color:#243b6b;font-size:20px;font-weight:900}.nameInput[data-v-35d0ee28]{background:#fff;border:1px solid #6b8fc7;border-radius:10px;flex:1;min-width:0;padding:8px 10px;font-size:16px;font-weight:700}.dot[data-v-35d0ee28]{background:#94a3b8;border-radius:50%;flex:none;width:12px;height:12px;box-shadow:0 0 0 3px #94a3b840}.dot.on[data-v-35d0ee28]{background:#18a93a;box-shadow:0 0 0 3px #18a93a38}.dot.off[data-v-35d0ee28]{background:#94a3b8}.metaRow[data-v-35d0ee28]{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px;display:flex}.modeBadge[data-v-35d0ee28]{color:#fff;background:linear-gradient(#9aa8c2 0%,#6b7c99 100%);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:900;display:inline-flex}.modeBadge.agri[data-v-35d0ee28]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.modeBadge.livestock[data-v-35d0ee28]{background:linear-gradient(#3b8fd9 0%,#2563b8 100%)}.modeBadge.weather[data-v-35d0ee28]{background:linear-gradient(#38bdf8 0%,#0284c7 100%)}.idLine[data-v-35d0ee28]{color:#4b5f82;word-break:break-all;font-size:13px;font-weight:700}.onlineText[data-v-35d0ee28]{font-size:13px;font-weight:900}.cardActions[data-v-35d0ee28]{grid-template-columns:1fr 1.4fr;gap:8px;margin-top:12px;display:grid}.cardActions .navBtn[data-v-35d0ee28]{min-height:44px}.empty[data-v-35d0ee28]{text-align:center;justify-items:center;gap:10px;padding:28px 16px;display:grid}.empty .navBtn[data-v-35d0ee28]{max-width:220px;margin-top:8px}.error[data-v-35d0ee28]{color:#b91c1c;text-align:center;margin:0 0 12px;font-weight:800}.muted[data-v-35d0ee28]{color:#4b5f82;font-weight:700}.actionBar.single[data-v-35d0ee28]{grid-template-columns:1fr}.hmi[data-v-4c5b4161]{min-height:100dvh;padding-bottom:calc(78px + env(safe-area-inset-bottom,0px));grid-template-rows:auto 1fr;display:grid}.titleBar[data-v-4c5b4161]{z-index:10;background:#c8d4e8f0;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:12px;display:grid;position:sticky;top:0}.titleText[data-v-4c5b4161]{color:#243b6b;letter-spacing:2px;font-size:clamp(20px,4vw,28px);font-weight:900}.titleActions[data-v-4c5b4161]{justify-self:end}.switchDeviceBtn[data-v-4c5b4161]{color:#fff;cursor:pointer;background:linear-gradient(#ffb347 0%,#f08c00 100%);border:1px solid #b4640059;border-radius:999px;align-items:center;gap:6px;min-height:36px;padding:6px 14px;font-size:13px;font-weight:900;display:inline-flex}.body[data-v-4c5b4161]{align-content:start;gap:12px;padding:0 12px 12px;display:grid}.banner[data-v-4c5b4161]{border-radius:12px;margin:0;padding:10px 12px;font-weight:800}.banner.err[data-v-4c5b4161]{color:#b91c1c;background:#fee2e2}.banner.ok[data-v-4c5b4161]{color:#166534;background:#dcfce7}.statusLine[data-v-4c5b4161],.statusMeta[data-v-4c5b4161],.hint[data-v-4c5b4161]{color:#4b5f82;font-weight:700}.statusLine[data-v-4c5b4161]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.modeBadge[data-v-4c5b4161]{color:#fff;background:linear-gradient(#38bdf8 0%,#0284c7 100%);border-radius:999px;padding:4px 10px;font-size:12px;font-weight:900}.sensorBadge[data-v-4c5b4161]{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:900}.sensorBadge.on[data-v-4c5b4161]{color:#166534;background:#dcfce7}.sensorBadge.off[data-v-4c5b4161]{color:#b91c1c;background:#fee2e2}.panelHead[data-v-4c5b4161]{justify-content:space-between;align-items:center;display:flex}.chart[data-v-4c5b4161]{border-radius:12px;width:100%;height:180px}.history[data-v-4c5b4161]{gap:8px;margin-top:10px;display:grid}.historyRow[data-v-4c5b4161]{color:#243b6b;background:#ffffffb8;border-radius:10px;grid-template-columns:1.3fr 1fr 1fr;gap:8px;padding:8px 10px;font-size:13px;font-weight:800;display:grid}.limitRow[data-v-4c5b4161]{grid-template-columns:1fr 88px 88px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.limitName[data-v-4c5b4161]{color:#243b6b;font-weight:800}.limitRow input[data-v-4c5b4161]{border:1px solid #6b8fc7;border-radius:10px;min-height:40px;padding:0 8px;font-size:16px}.saveBtn[data-v-4c5b4161]{margin-top:8px}.alarmCard[data-v-4c5b4161]{background:#ffffffb8;border-radius:12px;margin-bottom:8px;padding:12px}.alarmCard strong[data-v-4c5b4161]{color:#243b6b}.alarmCard p[data-v-4c5b4161]{color:#4b5f82;margin:6px 0 0;font-weight:700}.alarmCard.critical[data-v-4c5b4161]{box-shadow:inset 4px 0 #dd2020}.alarmCard.warn[data-v-4c5b4161]{box-shadow:inset 4px 0 #f08c00}.bottomNav[data-v-4c5b4161]{z-index:20;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));background:#c8d4e8f5;border-top:1px solid #243b6b2e;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottomNav .navBtn[data-v-4c5b4161]{min-height:48px;font-size:14px}.bottomNav .navBtn.active[data-v-4c5b4161]{outline:3px solid #1a274459}.empty p[data-v-4c5b4161]{color:#4b5f82;font-weight:700;line-height:1.6}
