: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-406d43b1]{background:linear-gradient(165deg,#e8f5ef 0%,#f0f4ff 100%);place-items:center;min-height:100vh;padding:16px;display:grid}.card[data-v-406d43b1]{background:#fff;border:1px solid #0f172a14;border-radius:18px;width:min(420px,100%);padding:18px;box-shadow:0 8px 30px #0f172a0f}.h2[data-v-406d43b1]{margin:0;font-size:20px}.muted[data-v-406d43b1]{color:var(--h5-muted);margin:8px 0 0;font-size:13px}.field[data-v-406d43b1]{margin-top:14px;display:block}.label[data-v-406d43b1]{color:#0f172abf;margin-bottom:6px;font-size:13px}.input[data-v-406d43b1]{border:1px solid var(--h5-border);border-radius:12px;outline:none;width:100%;padding:12px 14px}.row[data-v-406d43b1]{grid-template-columns:1fr auto;gap:8px;display:grid}.btn2[data-v-406d43b1]{border:1px solid var(--h5-border);cursor:pointer;white-space:nowrap;background:#f8fafc;border-radius:12px;padding:10px 12px}.btn2[data-v-406d43b1]:disabled{opacity:.55;cursor:not-allowed}.dev[data-v-406d43b1]{color:#059669;margin-top:8px;font-size:12px}.btn[data-v-406d43b1]{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-406d43b1]:disabled{opacity:.55;cursor:not-allowed}.error[data-v-406d43b1]{color:#dc2626;white-space:pre-wrap;margin:12px 0 0;font-size:13px}.hmi[data-v-626e7ce4]{color:#1a2744;background:#c8d4e8;grid-template-rows:auto 1fr auto;min-height:100dvh;font-family:SimSun,Songti SC,Times New Roman,serif;display:grid;overflow-x:hidden}.titleBar[data-v-626e7ce4]{z-index:10;text-align:center;letter-spacing:2px;color:#243b6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8d4e8eb;padding:14px 12px 10px;font-size:clamp(22px,3vw,34px);font-weight:700;position:sticky;top:0}.body[data-v-626e7ce4]{grid-template-columns:120px 1fr;gap:12px;min-height:0;padding:0 12px 8px;display:grid}.sidebar[data-v-626e7ce4]{flex-direction:column;gap:10px;display:flex}.navBtn[data-v-626e7ce4]{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-626e7ce4]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%)}.navBtn.green[data-v-626e7ce4]{background:linear-gradient(#5cb85c 0%,#3d9a3d 100%)}.navBtn.red[data-v-626e7ce4]{background:linear-gradient(#e05a5a 0%,#c03939 100%)}.navBtn.orange[data-v-626e7ce4]{background:linear-gradient(#f0ad4e 0%,#d98c1a 100%)}.navBtn.active[data-v-626e7ce4]{outline:3px solid #1a274459;transform:scale(1.02)}.offBtn[data-v-626e7ce4]{cursor:pointer;color:#fff;background:linear-gradient(#ff4b4b 0%,#e60000 100%);border:2px solid #b80000;border-radius:10px;width:100%;min-height:58px;margin-top:auto;font-size:15px;font-weight:900;box-shadow:0 8px 16px #e6000047,inset 0 1px #ffffff47}.offBtn[data-v-626e7ce4]:disabled{cursor:wait;opacity:.72}.panels[data-v-626e7ce4]{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;min-width:0;display:grid}.panel[data-v-626e7ce4]{background:#ffffff8c;border:2px solid #6b8fc7;border-radius:16px;min-width:0;padding:10px 12px 12px}.panelHead[data-v-626e7ce4]{text-align:center;color:#243b6b;margin-bottom:10px;font-size:18px;font-weight:700}.metricList[data-v-626e7ce4],.deviceList[data-v-626e7ce4]{gap:8px;display:grid}.deviceList[data-v-626e7ce4]{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center}.metricRow[data-v-626e7ce4]{grid-template-columns:1fr auto auto;align-items:center;gap:8px;font-size:15px;display:grid}.metricLabel[data-v-626e7ce4]{color:#1a2744}.metricValue[data-v-626e7ce4]{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-626e7ce4]{color:#334;min-width:48px;font-size:13px}.fanDevice[data-v-626e7ce4]{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-626e7ce4]:disabled{cursor:wait;opacity:.72}.fanDevice[data-v-626e7ce4]:not(:disabled):hover{transform:translateY(-1px)}.fanDevice.off[data-v-626e7ce4]{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.fanDevice.on[data-v-626e7ce4]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.fanIcon[data-v-626e7ce4]{border-radius:999px;place-items:center;width:20px;height:20px;display:grid}.fanIcon svg[data-v-626e7ce4]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.fanIndex[data-v-626e7ce4]{font-size:14px;font-weight:900;line-height:1}.fanDevice strong[data-v-626e7ce4]{font-size:10px;line-height:1.2}.footer[data-v-626e7ce4]{justify-content:space-between;align-items:center;padding:8px 16px 12px;font-size:14px;display:flex}.areaHint[data-v-626e7ce4]{color:#243b6b;font-weight:600}.mutedHint[data-v-626e7ce4]{opacity:.65;font-weight:400}.clock[data-v-626e7ce4]{color:#243b6b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.mono[data-v-626e7ce4]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}@media (width<=900px){.body[data-v-626e7ce4]{grid-template-columns:96px 1fr}.panels[data-v-626e7ce4]{grid-template-columns:1fr}.navBtn[data-v-626e7ce4]{padding:12px 6px;font-size:13px}}@media (width<=520px){.hmi[data-v-626e7ce4]{min-height:100dvh;padding-bottom:env(safe-area-inset-bottom,0px);display:block}.titleBar[data-v-626e7ce4]{letter-spacing:1px;border-bottom:1px solid #243b6b29;padding:10px 12px;font-size:18px}.body[data-v-626e7ce4]{grid-template-columns:1fr;gap:10px;padding:10px}.sidebar[data-v-626e7ce4]{z-index:9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#d2def0eb;border:1px solid #6b8fc773;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;display:grid;position:sticky;top:42px}.navBtn[data-v-626e7ce4]{border-width:1px;border-radius:10px;min-height:44px;padding:8px 4px;font-size:12px;line-height:1.15}.navBtn.active[data-v-626e7ce4]{outline:2px solid #1a274452;transform:none}.offBtn[data-v-626e7ce4]{border-radius:10px;grid-column:1/-1;width:100%;min-height:42px;margin-top:0;font-size:14px}.panels[data-v-626e7ce4]{grid-template-columns:1fr;gap:10px}.panel[data-v-626e7ce4]{background:#ffffffad;border-width:1px;border-radius:14px;padding:10px}.panelHead[data-v-626e7ce4]{margin-bottom:8px;font-size:16px}.metricList[data-v-626e7ce4]{gap:6px}.metricRow[data-v-626e7ce4]{background:#ffffff73;border-radius:10px;grid-template-columns:72px minmax(76px,1fr) 56px;gap:6px;padding:7px 8px;font-size:14px}.metricValue[data-v-626e7ce4]{border-radius:8px;min-width:0;padding:7px 8px;font-size:16px}.metricUnit[data-v-626e7ce4]{text-align:right;min-width:0;font-size:12px}.deviceList[data-v-626e7ce4]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px}.fanDevice[data-v-626e7ce4]{width:58px;height:58px;padding:5px}.fanIcon[data-v-626e7ce4]{width:18px;height:18px}.fanIcon svg[data-v-626e7ce4]{width:16px;height:16px}.fanIndex[data-v-626e7ce4]{font-size:13px}.fanDevice strong[data-v-626e7ce4]{font-size:9px}.footer[data-v-626e7ce4]{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}.areaHint[data-v-626e7ce4],.clock[data-v-626e7ce4]{text-align:center}}@media (width<=360px){.sidebar[data-v-626e7ce4]{grid-template-columns:repeat(2,minmax(0,1fr))}.metricRow[data-v-626e7ce4]{grid-template-columns:64px minmax(68px,1fr) 48px;padding:6px;font-size:13px}.deviceList[data-v-626e7ce4]{grid-template-columns:repeat(4,minmax(0,1fr))}}.manualPage[data-v-10dbeab1]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-10dbeab1]{text-align:center;margin-bottom:12px}.pageHeader h1[data-v-10dbeab1]{color:#243b6b;letter-spacing:2px;margin:0 0 6px;font-size:clamp(24px,4vw,36px)}.pageHeader p[data-v-10dbeab1]{color:#4b5f82;margin:0;font-size:14px}.controlGrid[data-v-10dbeab1]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.panel[data-v-10dbeab1]{background:#ffffff9e;border:2px solid #6b8fc7;border-radius:16px;min-width:0;padding:12px}.panelHead[data-v-10dbeab1]{text-align:center;color:#243b6b;margin-bottom:12px;font-size:18px;font-weight:700}.selectGrid[data-v-10dbeab1]{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:12px 8px;display:grid}.statusGrid[data-v-10dbeab1]{grid-template-columns:repeat(4,minmax(0,1fr));justify-items:center;gap:10px 8px;display:grid}.selectItem[data-v-10dbeab1]{justify-items:center;gap:6px;display:grid}.fanDevice[data-v-10dbeab1]{color:#fff;cursor:default;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}.selectFan[data-v-10dbeab1]{cursor:pointer;transition:transform .12s}.selectFan[data-v-10dbeab1]:hover{transform:translateY(-1px)}.fanDevice.on[data-v-10dbeab1]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.fanDevice.off[data-v-10dbeab1]{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.fanDevice.idle[data-v-10dbeab1]{background:linear-gradient(#94a3b8 0%,#64748b 100%)}.fanIndex[data-v-10dbeab1]{font-size:14px;font-weight:900;line-height:1}.fanIcon[data-v-10dbeab1]{place-items:center;width:20px;height:20px;display:grid}.fanIcon svg[data-v-10dbeab1]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.fanDevice strong[data-v-10dbeab1]{font-size:10px;line-height:1.2}.selectActions[data-v-10dbeab1]{grid-template-columns:repeat(2,28px);gap:4px;display:grid}.selectActions button[data-v-10dbeab1]{color:#fff;cursor:pointer;opacity:.58;border:0;border-radius:999px;min-height:24px;font-size:12px;font-weight:900}.selectActions button.active[data-v-10dbeab1]{opacity:1;outline:2px solid #243b6b47}.openPick[data-v-10dbeab1]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.stopPick[data-v-10dbeab1]{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.actionBar[data-v-10dbeab1]{justify-content:center;gap:12px;margin-top:14px;display:flex}.executeBtn[data-v-10dbeab1],.backBtn[data-v-10dbeab1]{color:#fff;cursor:pointer;border:0;border-radius:12px;min-width:128px;min-height:46px;font-weight:900}.executeBtn[data-v-10dbeab1]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.backBtn[data-v-10dbeab1]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%)}.executeBtn[data-v-10dbeab1]:disabled,.backBtn[data-v-10dbeab1]:disabled{cursor:wait;opacity:.65}@media (width<=900px){.controlGrid[data-v-10dbeab1]{grid-template-columns:1fr}}@media (width<=520px){.manualPage[data-v-10dbeab1]{padding:10px}.panel[data-v-10dbeab1]{border-width:1px;padding:10px}.statusGrid[data-v-10dbeab1],.selectGrid[data-v-10dbeab1]{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 6px}.fanDevice[data-v-10dbeab1]{width:58px;height:58px;padding:5px}.fanIndex[data-v-10dbeab1]{font-size:13px}.fanIcon[data-v-10dbeab1]{width:18px;height:18px}.fanIcon svg[data-v-10dbeab1]{width:16px;height:16px}.fanDevice strong[data-v-10dbeab1]{font-size:9px}.actionBar[data-v-10dbeab1]{padding:10px 0 calc(10px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c8d4e8f0;position:sticky;bottom:0}.executeBtn[data-v-10dbeab1],.backBtn[data-v-10dbeab1]{flex:1;min-width:0}}@media (width<=360px){.statusGrid[data-v-10dbeab1],.selectGrid[data-v-10dbeab1]{grid-template-columns:repeat(4,minmax(0,1fr))}}.autoPage[data-v-a7b0413b]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-a7b0413b]{text-align:center;margin-bottom:14px}.pageHeader h1[data-v-a7b0413b]{color:#243b6b;letter-spacing:2px;margin:0 0 6px;font-size:clamp(24px,4vw,36px)}.pageHeader p[data-v-a7b0413b]{color:#4b5f82;margin:0;font-size:14px}.ruleGrid[data-v-a7b0413b]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ruleCard[data-v-a7b0413b]{background:#ffffffa8;border:2px solid #6b8fc7;border-radius:18px;min-height:220px;padding:16px;box-shadow:0 8px 18px #1a27441a}.ruleCard.active[data-v-a7b0413b]{cursor:pointer}.ruleCard.disabled[data-v-a7b0413b]{cursor:not-allowed;filter:grayscale(.35);opacity:.55}.ruleTitle[data-v-a7b0413b]{color:#243b6b;font-size:20px;font-weight:900}.ruleCard p[data-v-a7b0413b]{color:#4b5f82;min-height:48px;margin:12px 0;line-height:1.5}.ruleActions[data-v-a7b0413b]{gap:10px;margin-top:12px;display:flex}.ruleActions button[data-v-a7b0413b],.backBtn[data-v-a7b0413b]{color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:44px;font-weight:900}.ruleActions button[data-v-a7b0413b]{background:linear-gradient(#43e866 0%,#18a93a 100%);flex:1}.ruleActions .stopBtn[data-v-a7b0413b]{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.ruleActions button[data-v-a7b0413b]:disabled{cursor:not-allowed;opacity:.72}.ruleStatus[data-v-a7b0413b]{color:#243b6b;margin-top:12px;font-weight:700}.entryHint[data-v-a7b0413b]{color:#2563b8;text-align:center;background:#4a8fd824;border-radius:12px;margin-top:14px;padding:12px;font-weight:900}.actionBar[data-v-a7b0413b]{justify-content:center;margin-top:16px;display:flex}.backBtn[data-v-a7b0413b]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%);min-width:140px}@media (width<=640px){.autoPage[data-v-a7b0413b]{padding:10px}.ruleGrid[data-v-a7b0413b]{grid-template-columns:1fr}.ruleCard[data-v-a7b0413b]{min-height:0;padding:12px}}.listPage[data-v-7a0d9496]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-7a0d9496]{text-align:center;margin-bottom:14px;position:relative}.pageHeader h1[data-v-7a0d9496]{color:#243b6b;margin:0 0 6px;font-size:clamp(22px,4vw,34px)}.pageHeader p[data-v-7a0d9496]{color:#4b5f82;margin:0;font-size:14px}.toolbar[data-v-7a0d9496]{grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;margin-bottom:12px;display:grid}.airPanel[data-v-7a0d9496]{background:#ffffff94;border:2px solid #6b8fc7;border-radius:16px;gap:8px;margin-bottom:12px;padding:12px;display:grid}.airPanelHead[data-v-7a0d9496]{color:#243b6b;text-align:center;font-weight:900}.airGrid[data-v-7a0d9496]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.airCard[data-v-7a0d9496]{background:#ffffff9e;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px;display:grid}.metricLabel[data-v-7a0d9496]{color:#243b6b;align-items:center;gap:5px;min-width:0;font-weight:900;display:inline-flex}.metricIcon[data-v-7a0d9496]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.tempIcon[data-v-7a0d9496]{color:#ef4444}.humidityIcon[data-v-7a0d9496]{color:#0284c7}.airCard strong[data-v-7a0d9496]{color:#fff;text-align:center;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border-radius:8px;min-width:72px;padding:7px 10px}.airCard em[data-v-7a0d9496]{color:#4b5f82;font-size:12px;font-style:normal;font-weight:800}.deviceStatusLine[data-v-7a0d9496]{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-7a0d9496]{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-7a0d9496]{background:radial-gradient(circle at 32% 28%,#8dffa3 0%,#22c55e 48%,#15803d 100%)}.deviceLight.off[data-v-7a0d9496]{background:radial-gradient(circle at 32% 28%,#ff9a9a 0%,#ef4444 48%,#b91c1c 100%)}.airPanel p[data-v-7a0d9496]{color:#4b5f82;text-align:center;margin:0;font-size:12px;font-weight:800}.searchInput[data-v-7a0d9496]{border:1px solid #6b8fc7;border-radius:10px;min-width:0;min-height:42px;padding:8px 10px}.toolbar button[data-v-7a0d9496],.pager button[data-v-7a0d9496],.rowActions button[data-v-7a0d9496],.modalActions button[data-v-7a0d9496]{color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:40px;font-weight:900}.searchBtn[data-v-7a0d9496],.backBtn[data-v-7a0d9496],.cancelBtn[data-v-7a0d9496]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%)}.addBtn[data-v-7a0d9496],.startBtn[data-v-7a0d9496],.saveBtn[data-v-7a0d9496]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.stopBtn[data-v-7a0d9496],.editBtn[data-v-7a0d9496],.deleteBtn[data-v-7a0d9496]{background:linear-gradient(#ff5a5a 0%,#dd2020 100%)}.editBtn[data-v-7a0d9496]{background:linear-gradient(#f0ad4e 0%,#d98c1a 100%)}button[data-v-7a0d9496]:disabled{cursor:not-allowed;opacity:.6}.tablePanel[data-v-7a0d9496]{background:#ffffffa8;border:2px solid #6b8fc7;border-radius:16px;overflow:hidden}.tableHead[data-v-7a0d9496],.tableRow[data-v-7a0d9496]{grid-template-columns:minmax(0,.82fr) 92px 292px;align-items:center;gap:8px;padding:10px;display:grid}.tableHead[data-v-7a0d9496]{color:#243b6b;background:#4a8fd829;font-weight:900}.tableRow[data-v-7a0d9496]{cursor:pointer;border-top:1px solid #6b8fc759}.tableRow[data-v-7a0d9496]:hover{background:#ffffff59}.ruleName[data-v-7a0d9496]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.statusPill[data-v-7a0d9496]{color:#fff;text-align:center;border-radius:999px;padding:6px 8px;font-weight:900}.statusPill.enabled[data-v-7a0d9496]{background:#18a93a}.statusPill.disabled[data-v-7a0d9496]{background:#64748b}.rowActions[data-v-7a0d9496]{grid-template-columns:repeat(4,1fr);justify-self:end;gap:6px;width:min(292px,100%);display:grid}.emptyText[data-v-7a0d9496]{text-align:center;color:#4b5f82;padding:18px}.pager[data-v-7a0d9496]{color:#243b6b;justify-content:center;align-items:center;gap:10px;margin-top:12px;font-weight:700;display:flex}.pager button[data-v-7a0d9496]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%);min-width:82px}.modalMask[data-v-7a0d9496]{z-index:50;background:#1a274461;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[data-v-7a0d9496]{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-7a0d9496]{width:min(720px,100%)}.modalCloseX[data-v-7a0d9496]{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-7a0d9496]{text-align:center;color:#243b6b;padding-right:34px;font-size:18px;font-weight:900}.detailList[data-v-7a0d9496]{color:#243b6b;background:#ffffffa6;border-radius:12px;gap:8px;padding:12px;line-height:1.5;display:grid}.editForm[data-v-7a0d9496]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.field[data-v-7a0d9496]{color:#243b6b;gap:6px;min-width:0;font-weight:700;display:grid}.field input[data-v-7a0d9496]{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-7a0d9496]{appearance:none}.fullField[data-v-7a0d9496]{grid-column:1/-1}.inputWithUnit[data-v-7a0d9496]{grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.inputWithUnit span[data-v-7a0d9496]{color:#4b5f82;min-width:34px;font-size:13px}.channelGrid[data-v-7a0d9496]{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;display:grid}.channelCard[data-v-7a0d9496]{color:#243b6b;background:#ffffff8c;border-radius:12px;justify-items:center;gap:6px;padding:9px 4px;font-weight:900;display:grid}.channelCard input[data-v-7a0d9496]{accent-color:#2563b8;width:20px;height:20px}.modalActions[data-v-7a0d9496]{grid-template-columns:repeat(2,minmax(0,120px));justify-content:center;gap:10px;display:grid}@media (width<=560px){.listPage[data-v-7a0d9496]{padding:10px}.toolbar[data-v-7a0d9496]{grid-template-columns:1fr 1fr}.deviceStatusLine[data-v-7a0d9496]{gap:4px;padding:6px}.deviceLight[data-v-7a0d9496]{width:22px;height:22px;font-size:10px}.tableHead[data-v-7a0d9496],.tableRow[data-v-7a0d9496]{grid-template-columns:minmax(0,.72fr) 62px 138px;gap:6px;padding:8px;font-size:12px}.rowActions button[data-v-7a0d9496]{min-height:32px;font-size:10px}.pager[data-v-7a0d9496]{font-size:12px}.editForm[data-v-7a0d9496]{grid-template-columns:1fr}.channelGrid[data-v-7a0d9496]{grid-template-columns:repeat(4,minmax(0,1fr))}}.rulePage[data-v-cbc10176]{color:#1a2744;background:#c8d4e8;min-height:100dvh;padding:14px;font-family:SimSun,Songti SC,Times New Roman,serif}.pageHeader[data-v-cbc10176]{text-align:center;margin-bottom:14px}.pageHeader h1[data-v-cbc10176]{color:#243b6b;letter-spacing:2px;margin:0 0 6px;font-size:clamp(22px,4vw,34px)}.pageHeader p[data-v-cbc10176]{color:#4b5f82;margin:0;font-size:14px}.ruleForm[data-v-cbc10176]{gap:12px;display:grid}.panel[data-v-cbc10176]{background:#ffffffa8;border:2px solid #6b8fc7;border-radius:16px;padding:12px}.panelHead[data-v-cbc10176]{text-align:center;color:#243b6b;margin-bottom:12px;font-size:18px;font-weight:900}.dataGrid[data-v-cbc10176]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fieldGrid[data-v-cbc10176]{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.dataCard[data-v-cbc10176]{background:#ffffff8c;border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px;display:grid}.metricLabel[data-v-cbc10176]{color:#243b6b;align-items:center;gap:5px;min-width:0;font-weight:900;display:inline-flex}.metricIcon[data-v-cbc10176]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:18px;height:18px}.tempIcon[data-v-cbc10176]{color:#ef4444}.humidityIcon[data-v-cbc10176]{color:#0284c7}.dataCard strong[data-v-cbc10176]{color:#fff;text-align:center;background:linear-gradient(#3b8fd9 0%,#2563b8 100%);border-radius:8px;min-width:72px;padding:7px 10px}.dataCard em[data-v-cbc10176]{color:#4b5f82;font-size:12px;font-style:normal;font-weight:800}.fanOverview[data-v-cbc10176]{background:#ffffff75;border-radius:14px;gap:10px;margin-top:12px;padding:10px;display:grid}.fanLegend[data-v-cbc10176]{color:#243b6b;flex-wrap:wrap;justify-content:center;gap:12px;font-size:12px;font-weight:900;display:flex}.legendTitle[data-v-cbc10176]{color:#4b5f82;align-items:center;display:inline-flex}.legendItem[data-v-cbc10176]{align-items:center;gap:5px;display:inline-flex}.legendDot[data-v-cbc10176]{border-radius:999px;width:10px;height:10px;display:inline-block}.legendDot.temperature[data-v-cbc10176]{background:#ef4444}.legendDot.cycle[data-v-cbc10176]{background:#2563eb}.legendDot.humidity[data-v-cbc10176]{background:#06b6d4}.legendDot.time[data-v-cbc10176]{background:#22c55e}.sectionTab[data-v-cbc10176]{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-cbc10176]{color:#fff;border-color:#243b6b73;box-shadow:0 0 0 2px #ffffff8c}.sectionTab.temperature.active[data-v-cbc10176]{background:#ef4444}.sectionTab.cycle.active[data-v-cbc10176]{background:#2563eb}.sectionTab.humidity.active[data-v-cbc10176]{background:#06b6d4}.sectionTab.time.active[data-v-cbc10176]{background:#22c55e}.field[data-v-cbc10176]{color:#243b6b;gap:6px;min-width:0;font-weight:700;display:grid}.field input[data-v-cbc10176]{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-cbc10176]{appearance:none}.inputWithUnit[data-v-cbc10176]{grid-template-columns:1fr auto;align-items:center;gap:6px;display:grid}.inputWithUnit span[data-v-cbc10176]{color:#4b5f82;min-width:34px;font-size:13px;font-weight:700}.timeField[data-v-cbc10176]{grid-column:auto}.fanRow[data-v-cbc10176]{grid-template-columns:repeat(8,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.fanBtn[data-v-cbc10176]{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-cbc10176]{color:#fff;border-color:#243b6b80;box-shadow:0 0 0 2px #ffffff8c,inset 0 1px #ffffff47}.fanBtn.current[data-v-cbc10176]{outline-offset:2px;outline:3px solid #243b6b7a}.fanRow.selectable .fanBtn[data-v-cbc10176]:hover{border-color:#243b6b73;transform:translateY(-1px)scale(1.02)}.fanIcon[data-v-cbc10176]{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-cbc10176]{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.fanBtn small[data-v-cbc10176]{font-size:12px;font-weight:900}.actionBar[data-v-cbc10176]{grid-template-columns:repeat(3,minmax(0,128px));justify-content:center;gap:10px;margin-top:14px;display:grid}.actionBar button[data-v-cbc10176]{color:#fff;cursor:pointer;border:0;border-radius:12px;min-height:44px;font-weight:900}.readBtn[data-v-cbc10176]{background:linear-gradient(#4a8fd8 0%,#2f6fb8 100%)}.saveBtn[data-v-cbc10176]{background:linear-gradient(#43e866 0%,#18a93a 100%)}.backBtn[data-v-cbc10176]{background:linear-gradient(#64748b 0%,#475569 100%)}.actionBar button[data-v-cbc10176]:disabled{cursor:wait;opacity:.65}.modalMask[data-v-cbc10176]{z-index:50;background:#1a274461;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal[data-v-cbc10176]{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-cbc10176]{text-align:center;color:#243b6b;font-size:18px;font-weight:900}.emptyText[data-v-cbc10176]{text-align:center;color:#4b5f82;background:#ffffff9e;border-radius:10px;padding:12px}.ruleNameBtn[data-v-cbc10176]{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-cbc10176]{font-weight:900}.ruleNameBtn small[data-v-cbc10176]{color:#4b5f82}.detailList[data-v-cbc10176]{color:#243b6b;background:#ffffffa6;border-radius:12px;gap:8px;padding:12px;line-height:1.5;display:grid}.modalCloseBtn[data-v-cbc10176]{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-cbc10176]{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-cbc10176]{padding:10px}.panel[data-v-cbc10176]{border-width:1px;padding:10px}.dataGrid[data-v-cbc10176],.fieldGrid[data-v-cbc10176]{grid-template-columns:repeat(2,minmax(0,1fr))}.field input[data-v-cbc10176]{padding:7px 6px;font-size:13px}.inputWithUnit span[data-v-cbc10176]{min-width:28px;font-size:12px}.fanRow[data-v-cbc10176]{grid-template-columns:repeat(4,minmax(0,1fr))}.fanBtn[data-v-cbc10176]{min-height:54px}.actionBar[data-v-cbc10176]{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-cbc10176]{font-size:13px}}@media (width<=360px){.fieldGrid[data-v-cbc10176]{grid-template-columns:1fr}}
