:root{--bg:#f6f8fb;--sidebar:#fff;--top:#fff;--panel:#fff;--panel-strong:#f8fafc;--panel-soft:#eefaf8;--text:#0f172a;--muted:#64748b;--line:#e2e8f0;--primary:#2563eb;--primary-dark:#1d4ed8;--danger:#f05f63;--danger-soft:#f05f6324;--ok:#14b8a6;--ok-soft:#14b8a61f;--warning:#f59e0b;--indigo:#4f46e5;--shadow:0 18px 48px #0f172a14}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #2563eb14, transparent 28%), linear-gradient(180deg, #f8fafc, var(--bg));min-height:100vh;color:var(--text);margin:0;font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif}.login-shell{background:radial-gradient(circle at 72% 18%,#4899ff33,#0000 32%),linear-gradient(#07101f,#050914);grid-template-columns:minmax(0,1.18fr) minmax(410px,.52fr);min-height:100vh;display:grid}.login-visual{background-position:50%;background-size:cover;border-right:1px solid #ffffff17;flex-direction:column;justify-content:space-between;min-height:100vh;padding:42px 52px;display:flex;position:relative;overflow:hidden}.login-visual:before{content:"";opacity:.28;background:radial-gradient(circle,#4ac2ff38,#0000 58%),repeating-conic-gradient(#42b6ff52 0deg 8deg,#0000 8deg 17deg);border:1px solid #46b8ff38;border-radius:50%;width:min(48vw,660px);height:min(48vw,660px);position:absolute;inset:auto 4% -18% auto;transform:rotate(-14deg)}.login-visual:after{content:"";background:linear-gradient(90deg,#050a1429,#050a141f 48%,#050a14a3),linear-gradient(#050a141f,#050a1485);position:absolute;inset:0}.login-visual-shade{pointer-events:none;background:radial-gradient(circle at 21% 38%,#39a5ff38,#0000 22%),radial-gradient(circle at 40% 70%,#20c7b51f,#0000 26%);position:absolute;inset:0}.login-brand,.login-panel-head,.login-tenant{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.brand-mark{color:#f7fbff;background:linear-gradient(135deg,#2173ff70,#20c7b533),#0712229e;border:1px solid #87d0ff80;border-radius:10px;place-items:center;width:44px;height:44px;font-weight:900;display:grid;box-shadow:0 0 26px #329fff52}.login-brand strong,.login-brand span,.login-tenant strong,.login-tenant span{display:block}.login-brand span,.login-tenant span{color:#a9bad1;font-size:13px}.login-hero-copy{z-index:1;max-width:680px;margin-bottom:36px;position:relative}.login-hero-copy h1{color:#f9fbff;letter-spacing:0;text-shadow:0 18px 48px #00000080;max-width:680px;margin-bottom:18px;font-size:clamp(42px,5.2vw,76px);line-height:1}.login-hero-copy p:last-child{color:#c4d2e5;max-width:620px;font-size:17px;line-height:1.8}.login-signal-grid{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:860px;display:grid;position:relative}.signal-tile{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#11223ac7,#07101f75),#111d2fb8;border:1px solid #76c3ff38;border-radius:8px;min-height:118px;padding:16px;box-shadow:0 18px 42px #00000038}.signal-tile span{color:#7bd7ff;background:#37a4ff26;border-radius:8px;place-items:center;width:34px;height:34px;margin-bottom:14px;display:grid}.signal-tile small,.login-field span{color:var(--muted);font-size:13px;display:block}.signal-tile strong{margin-top:6px;font-size:18px;display:block}.login-panel{background:radial-gradient(circle at 50% 18%,#20c7b524,#0000 34%),linear-gradient(#060d19fa,#060a13fa);flex-direction:column;justify-content:center;min-height:100vh;padding:48px;display:flex}.login-panel-inner{background:linear-gradient(150deg,#13233af0,#080f1ef0),#0a1220f5;border:1px solid #79bdff33;border-radius:8px;padding:34px;position:relative;overflow:hidden;box-shadow:0 28px 80px #0000006b}.login-panel-inner:before{content:"";background:linear-gradient(90deg,#20c7b5,#56a5ff,#f2c56b);height:3px;position:absolute;inset:0 0 auto}.login-panel-inner:after{content:"";filter:blur(14px);background:#3ca7ff24;border-radius:50%;width:220px;height:220px;position:absolute;inset:-120px -90px auto auto}.login-panel-head{z-index:1;margin-bottom:34px;position:relative}.login-panel-head h2{margin-bottom:0;font-size:26px}.login-lock{color:#86dfff;background:#3ca7ff24;border:1px solid #5eb4ff61;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.login-form{z-index:1;gap:18px;display:grid;position:relative}.login-mode-switch{z-index:1;background:#050d19ad;border:1px solid #76c3ff2e;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:-14px 0 22px;padding:6px;display:grid;position:relative}.login-mode-switch button{min-height:36px;color:var(--muted);background:0 0;border:0;border-radius:7px;font-weight:700}.login-mode-switch button.active,.login-mode-switch button:hover{color:var(--primary);background:#20c7b526}.login-form-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.login-field{gap:8px;display:grid}.login-input{min-height:48px;color:var(--muted);background:#050d19e0;border:1px solid #76c3ff2e;border-radius:8px;align-items:center;gap:10px;padding:0 14px;display:flex}.login-input:focus-within{border-color:#20c7b5a3;box-shadow:0 0 0 3px #20c7b51a}.login-input input{width:100%;min-width:0;color:var(--text);background:0 0;border:0;outline:0}.login-input input::placeholder{color:#64758b}.login-error{background:var(--danger-soft);color:#ffb3b5;border:1px solid #f05f6373;border-radius:8px;padding:11px 12px}.login-submit{color:#041015;background:linear-gradient(135deg,#20c7b5,#54a7ff);border:0;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:48px;font-weight:800;display:inline-flex;box-shadow:0 16px 34px #20c7b540}.login-submit:hover{background:linear-gradient(135deg,#35d8ca,#72b8ff)}.login-tenant{z-index:1;background:#ffffff0a;border:1px solid #76c3ff2e;border-radius:8px;margin-top:22px;padding:14px;position:relative}button,input,select{font:inherit}select option{color:#0f172a;background-color:#f8fafc}select option:checked{color:#fff;background-color:#2563eb}select option:disabled{color:#94a3b8}button{cursor:pointer}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:24px}h2{margin-bottom:6px;font-size:18px}h3{margin-bottom:4px;font-size:17px}.app-shell{grid-template-columns:270px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:var(--sidebar);color:var(--text);flex-direction:column;gap:24px;padding:18px 14px;display:flex}.brand{border-bottom:1px solid #ffffff14;align-items:center;gap:12px;padding:0 8px 14px;display:flex}.brand-mark{color:#fff;background:linear-gradient(135deg,#20c7b5,#4e8cff);border-radius:8px;place-items:center;width:36px;height:36px;font-weight:800;display:grid}.brand strong,.brand span{display:block}.brand span,.sidebar-status span{color:var(--muted);font-size:13px}.nav-list{gap:8px;display:grid}.nav-item{color:#c9d3df;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 16px;display:flex}.nav-item:hover,.nav-item.active{color:var(--primary);background:#20c7b521}.sidebar-status{background:#ffffff08;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:10px;margin-top:auto;padding:14px;display:flex}.sidebar-status strong,.sidebar-status span{display:block}.status-dot{background:var(--ok);border-radius:999px;width:10px;height:10px;box-shadow:0 0 0 6px #35d58a24}.status-dot.offline{background:var(--warning);box-shadow:0 0 0 6px #f5b84b24}.main-content{min-width:0;padding:0 32px 32px}.topbar{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b1425f0;justify-content:space-between;align-items:center;gap:20px;min-height:64px;margin:0 -32px 28px;padding:0 32px;display:flex;position:sticky;top:0}.eyebrow{color:var(--primary);margin-bottom:5px;font-size:13px;font-weight:700}.topbar-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.icon-button{border:1px solid var(--line);min-height:38px;color:var(--text);background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 14px;display:inline-flex}.icon-button.compact{min-height:32px;padding:0 10px}.icon-button.primary{color:var(--primary);background:#20c7b529;border-color:#20c7b573}.icon-button.primary:hover{background:#20c7b53d}.icon-button.subtle{background:#ffffff08}.icon-button:disabled{cursor:not-allowed;opacity:.62}.banner{border:1px solid var(--line);background:var(--panel);color:var(--muted);border-radius:10px;margin-bottom:14px;padding:12px 14px}.banner.error{background:var(--danger-soft);color:#ffb3b5;border-color:#f05f6373}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.summary-tile,.content-panel{border:1px solid var(--line);background:var(--panel);box-shadow:var(--shadow);border-radius:16px}.summary-icon{width:36px;height:36px;color:var(--primary);background:#20c7b51f;border-radius:10px;place-items:center;margin-bottom:12px;display:grid}.summary-tile span{color:var(--muted);font-size:14px}.summary-tile strong{margin-top:8px;font-size:28px;display:block}.summary-tile.danger strong,.summary-tile.danger .summary-icon{color:var(--danger)}.summary-tile.success .summary-icon{color:var(--ok)}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;display:flex}.section-heading p{color:var(--muted);margin-bottom:0}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.history-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.segmented-control{border:1px solid var(--line);background:#ffffff09;border-radius:10px;display:inline-flex;overflow:hidden}.segmented-control button{border:0;border-right:1px solid var(--line);min-height:38px;color:var(--muted);white-space:nowrap;background:0 0;padding:0 12px}.segmented-control button:last-child{border-right:0}.segmented-control button.active,.segmented-control button:hover{color:var(--primary);background:#20c7b521}.tabs{gap:8px;margin-bottom:16px;display:flex;overflow-x:auto}.module-control-scope{position:relative}.tab-button{border:1px solid var(--line);min-height:38px;color:var(--muted);white-space:nowrap;background:#ffffff08;border-radius:10px;padding:0 16px}.device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.device-card{border:1px solid var(--line);background:var(--panel-strong);border-radius:14px;padding:16px}.device-card.alarm{background:var(--danger-soft);border-color:#f05f6373}.device-card.offline{opacity:.82;background:#ffffff0a}.device-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.device-head p,.device-meta{color:var(--muted);font-size:13px}.pressure-row{color:var(--primary);justify-content:space-between;align-items:center;gap:12px;display:flex}.pressure-value{color:var(--text);margin:18px 0 14px;font-size:36px;font-weight:800}.pressure-value span{color:var(--muted);font-size:18px;font-weight:600}.badge{border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:13px;font-weight:700;display:inline-flex}.badge.normal{background:var(--ok-soft);color:var(--ok)}.badge.alarm{background:var(--danger-soft);color:#ff9a9d}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:780px}th,td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:12px 10px}th{color:var(--muted);font-size:13px;font-weight:700}.table-muted{color:var(--muted);font-size:12px}.mono-cell{color:var(--muted);white-space:nowrap;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px}.table-empty{color:var(--muted);text-align:center}.table-actions{align-items:center;gap:8px;display:flex}.select,.field input,.field textarea{border:1px solid var(--line);min-height:40px;color:var(--text);background:#0b1425;border-radius:10px;padding:0 12px}.field textarea{resize:vertical;min-height:92px;padding:10px 12px}.field input:disabled{cursor:not-allowed;opacity:.72}.field-hint{color:var(--muted);margin-top:6px;font-size:12px;line-height:1.5;display:block}.settings-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:14px;display:grid}.rule-scope-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.rule-scope-button{border:1px solid var(--line);background:var(--panel-strong);min-height:76px;color:var(--text);text-align:left;cursor:pointer;border-radius:12px;padding:12px;transition:border-color .2s,background .2s,transform .2s}.rule-scope-button:hover,.rule-scope-button.active{background:#14b8a624;border-color:#2dd4bfb8;transform:translateY(-1px)}.rule-scope-button strong{font-size:14px;display:block}.rule-scope-button span{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.4;display:block}.field{color:var(--muted);gap:8px;font-size:14px;display:grid}.field.wide{grid-column:1/-1}.report-panel{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.report-item{border:1px solid var(--line);background:var(--panel-strong);border-radius:14px;padding:14px}.report-item span{color:var(--muted);font-size:13px}.report-item strong{margin-top:8px;font-size:22px;display:block}@media (width<=1280px){.topbar{flex-wrap:wrap;align-items:stretch;padding-top:12px;padding-bottom:12px}.overview-monitor-grid{grid-template-columns:1fr}}@media (width<=1080px){.login-shell{grid-template-columns:1fr}.login-visual,.login-panel{min-height:auto}.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.nav-list,.summary-grid,.device-grid,.rule-scope-grid,.settings-grid,.report-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.ai-overview-metrics{grid-template-columns:1fr}.ai-insight-panel{width:min(100%,92vw);left:0;right:auto}.ai-panel-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.pressure-module-scope>.tabs,.pure-water-module .tabs,.sterilization-module .tabs,.wastewater-module .tabs{padding-right:0}.login-visual,.login-panel{padding:24px}.login-signal-grid,.login-form-split{grid-template-columns:1fr}.main-content,.sidebar{padding:18px}.topbar{margin:-18px -18px 18px;padding:14px 18px}.topbar,.section-heading{flex-direction:column;align-items:flex-start}.summary-grid,.device-grid,.rule-scope-grid,.settings-grid,.report-grid,.nav-list{grid-template-columns:1fr}.history-actions{justify-content:flex-start;width:100%}.segmented-control{width:100%}.segmented-control button{flex:1;padding:0 8px}h1{font-size:22px}}.ai-console-wrap{flex:760px;max-width:930px;position:relative}.ai-console-cluster{align-items:stretch;gap:10px;min-width:0;display:flex}.ai-console-main{flex:auto;min-width:0;position:relative}.ai-console-trigger{color:#eaf7ff;text-align:left;background:linear-gradient(90deg,#061426f5,#083260f0),radial-gradient(circle at 18%,#20c8ff57,#0000 38%);border:1px solid #18b7ffc7;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:54px;padding:7px 12px;display:grid;position:relative;overflow:hidden;box-shadow:0 0 0 1px #20c8ff29,0 0 24px #20c8ff52,inset 0 0 24px #1e5eff33}.ai-console-trigger:before{content:"";pointer-events:none;border:1px solid #93c5fd38;border-radius:6px;position:absolute;inset:3px}.ai-console-trigger:after{content:"";opacity:.45;background:linear-gradient(105deg,#0000 0 38%,#ffffff2e 44%,#0000 52%);animation:4.8s ease-in-out infinite aiScan;position:absolute;inset:0;transform:translate(-72%)}.ai-console-trigger.warning{border-color:#f59e0bc7;box-shadow:0 0 0 1px #f59e0b24,0 0 24px #f59e0b33,inset 0 0 22px #1e5eff33}.ai-orb{z-index:1;color:#67e8f9;background:radial-gradient(circle,#20c8ff6b,#1e5eff29);border:1px solid #7dd3fc80;border-radius:999px;place-items:center;width:36px;height:36px;display:grid;position:relative;box-shadow:inset 0 0 18px #20c8ff3d}.ai-console-copy,.ai-console-kpis{z-index:1;position:relative}.ai-console-copy{gap:3px;min-width:0;display:grid}.ai-console-copy strong{color:#dff7ff;font-size:15px}.ai-console-copy small{color:#9edcff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.ai-console-kpis{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.ai-console-kpis em{color:#e0f2fe;white-space:nowrap;background:#0f172a5c;border:1px solid #7dd3fc47;border-radius:6px;padding:5px 9px;font-size:12px;font-style:normal;font-weight:800}.energy-ai-wrap{flex:none;position:relative}.energy-ai-trigger{color:#dffcff;white-space:nowrap;background:linear-gradient(90deg,#051c32f5,#064462e6),radial-gradient(circle at 18%,#22d3ee3d,#0000 42%);border:1px solid #22d3ee94;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:218px;min-height:54px;padding:8px 11px;font-size:13px;font-weight:900;display:flex;position:relative;overflow:hidden;box-shadow:0 0 0 1px #22d3ee1a,0 0 18px #22d3ee33,inset 0 0 18px #0ea5e929}.energy-ai-trigger:before{content:"";pointer-events:none;border:1px solid #a5f3fc2e;border-radius:6px;position:absolute;inset:3px}.energy-ai-trigger:hover,.energy-ai-trigger.active{border-color:#67e8f9d1;box-shadow:0 0 0 1px #67e8f92e,0 0 24px #22d3ee47,inset 0 0 22px #0ea5e938}.energy-ai-trigger>*{z-index:1;position:relative}.energy-ai-icon{color:#67e8f9;background:#0891b242;border:1px solid #7dd3fc70;border-radius:999px;place-items:center;width:28px;height:28px;display:grid}.energy-ai-panel{z-index:35;background:linear-gradient(#04182bfa,#082744fa),radial-gradient(circle at 0 0,#22d3ee2e,#0000 36%);border:1px solid #22d3ee42;border-radius:10px;width:286px;padding:13px;position:absolute;top:calc(100% + 12px);right:0;box-shadow:0 24px 70px #000c1c5c}.energy-ai-panel-head{align-items:center;gap:10px;display:flex}.energy-ai-panel-head>span{color:#67e8f9;background:#22d3ee24;border-radius:999px;place-items:center;width:30px;height:30px;display:grid}.energy-ai-panel-head div{gap:2px;min-width:0;display:grid}.energy-ai-panel-head strong{color:#eaf8ff;font-size:14px}.energy-ai-panel-head small,.energy-ai-panel p{color:#9cc8dd;font-size:12px}.energy-ai-period-list{gap:8px;margin-top:12px;display:grid}.energy-ai-period-list article{color:#9cc8dd;background:#08203a8f;border:1px solid #38bdf82e;border-radius:8px;gap:4px;padding:9px 10px;font-size:12px;display:grid}.energy-ai-period-list article span{color:#dff7ff;font-weight:800}.energy-ai-period-list article strong{color:#67e8f9;font-size:16px}.energy-ai-period-list article small{color:#8bbad2;font-size:11px}.energy-ai-panel p{margin:10px 0 0;line-height:1.6}.user-chip{width:38px;height:38px;color:var(--primary);background:#20c7b529;border:1px solid #20c7b573;border-radius:999px;place-items:center;font-weight:800;display:grid}@keyframes aiScan{0%,58%{transform:translate(-82%)}to{transform:translate(82%)}}@media (width<=1280px){.ai-console-wrap{flex-basis:100%;order:3;max-width:none}.ai-console-cluster{max-width:100%}}@media (width<=760px){.ai-console-trigger{grid-template-columns:auto minmax(0,1fr)}.ai-console-cluster{flex-direction:column}.energy-ai-trigger,.energy-ai-panel{width:100%}.ai-console-kpis{grid-column:1/-1;justify-content:flex-start}}.module-scene{border:1px solid var(--line);min-height:780px;box-shadow:var(--shadow);background:radial-gradient(circle at 50% 45%,#22d3ee2e,#0000 21%),radial-gradient(circle at 18% 20%,#2d72e829,#0000 26%),radial-gradient(circle at 86% 72%,#20c7b524,#0000 28%),linear-gradient(#6fb9ff0e 1px,#0000 1px) 0 0/42px 42px,linear-gradient(90deg,#6fb9ff0e 1px,#0000 1px) 0 0/42px 42px,linear-gradient(#0f1d2fe6,#060c19fa);border-radius:16px;grid-template-rows:repeat(8,minmax(64px,auto));grid-template-columns:repeat(12,minmax(0,1fr));gap:10px;margin-bottom:18px;padding:28px;display:grid;position:relative;overflow:hidden}.module-scene:before,.module-scene:after{pointer-events:none;content:"";position:absolute}.module-scene:before{opacity:.72;filter:blur(.1px);background:radial-gradient(circle,#20c7b51c 0 2px,#0000 3px),conic-gradient(#0000 0deg,#5eb7ff6b 35deg,#0000 70deg,#20c7b54d 160deg,#0000 220deg,#5eb7ff5c 310deg,#0000 360deg);border:1px solid #5eb7ff33;border-radius:50%;animation:34s linear infinite sceneRotate;inset:13% 18%;-webkit-mask:radial-gradient(circle,#0000 0 34%,#000 35% 58%,#0000 60%);mask:radial-gradient(circle,#0000 0 34%,#000 35% 58%,#0000 60%)}.module-scene:after{background:radial-gradient(circle, #22d3ee4d, transparent 34%), repeating-conic-gradient(from 12deg, #6ca6ff70 0 8deg, transparent 8deg 18deg);opacity:.58;border:1px solid #56d2ff57;border-radius:50%;width:260px;height:260px;animation:3.6s ease-in-out infinite hubPulse;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 32px #22d3ee3d,inset 0 0 28px #22d3ee2e;-webkit-mask:radial-gradient(circle,#0000 0 24%,#000 25% 54%,#0000 57%);mask:radial-gradient(circle,#0000 0 24%,#000 25% 54%,#0000 57%)}.module-scene-lines{z-index:0;pointer-events:none;position:absolute;inset:0}.module-connectors{z-index:1;pointer-events:none;position:absolute;inset:0}.connector-line{opacity:.86;transform-origin:0;background:linear-gradient(90deg,#0000,#2563eb2e 10%,#18b7ffe0 48%,#14b8a6bd 66%,#0000),repeating-linear-gradient(90deg,#0000 0 18px,#ffffffe6 18px 22px,#0000 22px 46px);border-radius:999px;height:3px;animation:2.8s ease-in-out infinite connectorPulse;position:absolute;box-shadow:0 0 12px #18b7ff57,0 0 26px #2563eb2e}.connector-line:before,.connector-line:after{content:"";background:#18b7ffeb;border-radius:999px;width:8px;height:8px;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 0 14px #18b7ffd1}.connector-line:before{left:0}.connector-line:after{right:0}.connector-line.positive-pressure{width:29%;top:50%;left:50%;transform:rotate(-143deg)}.connector-line.negative-pressure{width:31%;top:50%;left:50%;transform:rotate(180deg)}.connector-line.sterilization{width:27%;top:50%;left:50%;transform:rotate(0)}.connector-line.cbct{width:25%;top:50%;left:50%;transform:rotate(-90deg)}.connector-line.hvac{width:28%;top:50%;left:50%;transform:rotate(-58deg)}.connector-line.air-purification{width:30%;top:50%;left:50%;transform:rotate(50deg)}.connector-line.dental-chair{width:31%;top:50%;left:50%;transform:rotate(-22deg)}.connector-line.wastewater{width:30%;top:50%;left:50%;transform:rotate(143deg)}.connector-line.air{width:25%;top:50%;left:50%;transform:rotate(90deg)}.module-scene-lines:before,.module-scene-lines:after{content:"";opacity:.5;border-radius:999px;position:absolute;inset:86px 118px 92px}.module-scene-lines:before{border:1px solid #5eb7ff2e;transform:rotate(-10deg)}.module-scene-lines:after{opacity:.78;background:radial-gradient(#0000 0 22%,#5eb7ff5c 22.5% 23.2%,#0000 24%),radial-gradient(#0000 0 37%,#5eb7ff47 37.5% 38.2%,#0000 39%),radial-gradient(#0000 0 52%,#20c7b53d 52.5% 53.2%,#0000 54%)}.module-figure{z-index:1;min-width:0;color:var(--text);text-align:center;isolation:isolate;background:0 0;border:0;grid-template-rows:auto minmax(0,1fr) auto;place-items:center;padding:0;transition:transform .2s;display:grid;position:relative}.module-figure:before{z-index:-1;aspect-ratio:1/.32;content:"";opacity:.72;background:radial-gradient(#20c7b52e,#0000 64%),repeating-conic-gradient(#50b9ff80 0deg 8deg,#0000 8deg 20deg);border:1px solid #5eb7ff4d;border-radius:50%;width:min(82%,320px);animation:5.2s linear infinite moduleRing;position:absolute;top:52%;left:50%;transform:translate(-50%,24%);box-shadow:0 0 18px #22d3ee33,inset 0 0 18px #22d3ee1f;-webkit-mask:radial-gradient(#0000 0 45%,#000 47% 61%,#0000 63%);mask:radial-gradient(#0000 0 45%,#000 47% 61%,#0000 63%)}.module-figure.positive-pressure{grid-area:1/1/span 2/span 3}.module-figure.negative-pressure{grid-area:4/1/span 2/span 3}.module-figure.gateway{z-index:3;grid-area:4/5/span 3/span 4}.module-figure.dental-chair{grid-area:3/10/span 2/span 3}.module-figure.sterilization{grid-area:5/10/span 2/span 3}.module-figure.cbct{grid-area:1/5/span 2/span 4}.module-figure.hvac{grid-area:1/9/span 2/span 3}.module-figure.wastewater{grid-area:7/1/span 2/span 3}.module-figure.air{grid-area:7/5/span 2/span 4}.module-figure.air-purification{grid-area:7/9/span 2/span 3}.module-label{z-index:2;color:#fff;background:linear-gradient(#2d72e8,#1557c8);border:1px solid #6ca6ff8c;border-radius:999px;align-items:center;gap:8px;min-height:36px;padding:0 15px;font-weight:800;display:inline-flex;position:relative;box-shadow:0 10px 28px #1b5dd352}.module-art{filter:drop-shadow(0 28px 28px #0000003d);will-change:transform, filter;place-items:center;width:min(100%,400px);min-height:170px;transition:filter .18s,transform .18s;animation:6.4s ease-in-out infinite deviceFloat;display:grid;position:relative}.module-art img{z-index:1;object-fit:contain;width:100%;height:auto;display:block;position:relative}.module-art:after{z-index:0;content:"";filter:blur(10px);opacity:.72;background:radial-gradient(#22d3ee4d,#0000 66%);border-radius:50%;height:24%;position:absolute;inset:auto 11% 7%;transform:perspective(500px)rotateX(68deg)}.module-figure.gateway .module-art{width:min(100%,360px)}.module-figure.gateway .module-label{background:linear-gradient(#0ea5e9,#1557c8 72%,#0b2f83);border-color:#67e8f9c7;min-height:42px;box-shadow:0 14px 36px #0ea5e95c,0 0 34px #22d3ee47}.module-figure.sterilization .module-art,.module-figure.cbct .module-art,.module-figure.air-purification .module-art{width:min(100%,260px)}.module-figure.hvac .module-art{width:min(100%,190px)}.module-figure.dental-chair .module-art{width:min(100%,315px)}.module-figure.air .module-art{width:min(100%,370px)}.module-figure.wastewater .module-art{width:min(100%,390px)}.module-figure:hover .module-art,.module-figure:focus-visible .module-art{filter:drop-shadow(0 30px 34px #20c7b547);transform:translateY(-4px)scale(1.02)}.module-figure:hover:before,.module-figure:focus-visible:before{opacity:.96}.module-figure:focus-visible{outline:2px solid var(--primary);outline-offset:8px}.module-figure-meta{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#070d1a94;border:1px solid #ffffff1a;border-radius:12px;grid-template-columns:1fr auto;align-items:center;gap:5px 10px;width:min(100%,280px);padding:10px 12px;display:grid}.module-figure-meta small{color:var(--muted);grid-column:1/-1;line-height:1.55}.module-figure-meta strong{color:#d6e3f3;text-align:right;font-size:13px}.module-status{border-radius:999px;justify-content:center;align-items:center;min-height:25px;padding:0 10px;font-size:12px;font-style:normal;font-weight:700;display:inline-flex}.module-status.online{background:var(--ok-soft);color:var(--ok)}.module-status.critical{color:#fecdd3;background:#dc262633}@keyframes deviceFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes moduleRing{to{rotate:360deg}}@keyframes connectorPulse{0%,to{opacity:.5;filter:saturate(.95)}50%{opacity:.82;filter:saturate(1.25)}}@keyframes hubPulse{0%,to{opacity:.45;scale:.98}50%{opacity:.78;scale:1.04}}@keyframes sceneRotate{to{rotate:360deg}}@media (width<=1280px){.module-scene{grid-template-rows:auto;grid-template-columns:repeat(6,minmax(0,1fr));min-height:auto}.module-connectors{display:none}.module-figure.positive-pressure,.module-figure.negative-pressure,.module-figure.gateway,.module-figure.sterilization,.module-figure.cbct,.module-figure.hvac,.module-figure.air-purification,.module-figure.dental-chair,.module-figure.wastewater,.module-figure.air{grid-area:auto/span 3}}@media (width<=720px){.module-scene{grid-template-columns:1fr}.module-figure.positive-pressure,.module-figure.negative-pressure,.module-figure.gateway,.module-figure.sterilization,.module-figure.cbct,.module-figure.hvac,.module-figure.air-purification,.module-figure.dental-chair,.module-figure.wastewater,.module-figure.air{grid-column:1}.module-art{width:min(100%,300px)}.module-scene:before,.module-scene:after,.module-connectors,.module-scene-lines{display:none}.module-figure:before{width:min(72%,240px)}}.placeholder-panel{border:1px solid var(--line);background:var(--panel);max-width:920px;box-shadow:var(--shadow);border-radius:16px;grid-template-columns:auto 1fr;gap:18px;padding:28px 136px 28px 28px;display:grid;position:relative}.placeholder-panel p{color:var(--muted);line-height:1.7}.placeholder-device-lifecycle{margin-top:22px}.placeholder-device-lifecycle h3{color:var(--text);margin:0 0 12px;font-size:16px}.placeholder-device-lifecycle__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.placeholder-device-lifecycle article{gap:8px;min-width:0;padding:4px 0;display:grid}.placeholder-device-lifecycle article>strong{color:var(--text);font-size:15px}.placeholder-device-lifecycle article>small{color:var(--muted)}.placeholder-device-lifecycle article span{justify-content:space-between;align-items:center;gap:12px;display:flex}.placeholder-device-lifecycle em{color:var(--muted);font-size:12px;font-style:normal}.placeholder-device-lifecycle b{color:#7bf7e8;font-size:14px}.placeholder-device-lifecycle__empty{border:1px dashed #94a3b842;border-radius:12px;padding:14px}.placeholder-icon{width:56px;height:56px;color:var(--primary);background:#20c7b524;border-radius:16px;place-items:center;display:grid}@media (width<=720px){.placeholder-panel{grid-template-columns:1fr;padding:22px}}.modal-backdrop{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#040912b8;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.modal-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;width:min(760px,100%);padding:22px;box-shadow:0 26px 90px #0000006b}.modal-card-wide{width:min(1040px,100%)}.alarm-filters{grid-template-columns:minmax(180px,240px) minmax(180px,260px) minmax(140px,auto);align-items:end;gap:14px;margin-bottom:16px;display:grid}.alarm-filter-total{border:1px solid var(--line);background:#ffffff08;border-radius:10px;align-content:center;min-height:64px;padding:10px 12px;display:grid}.alarm-filter-total span{color:var(--muted);font-size:13px}.alarm-filter-total strong{margin-top:4px;font-size:18px}.alarm-filter-total small{color:var(--muted);margin-top:3px;font-size:12px}.alarm-pagination{justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;display:flex}.alarm-pagination span{color:var(--muted);font-size:13px}.alarm-pagination strong{color:var(--text)}.alarm-detail-modal{width:min(680px,100%)}.alarm-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.alarm-detail-item{border:1px solid var(--line);background:#ffffff08;border-radius:12px;padding:12px}.alarm-detail-item span,.alarm-detail-item strong{display:block}.alarm-detail-item span{color:var(--muted);font-size:13px}.alarm-detail-item strong{margin-top:6px}@media (width<=980px){.alarm-filters,.alarm-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.alarm-filters,.alarm-detail-grid{grid-template-columns:1fr}.alarm-pagination{justify-content:stretch}.alarm-pagination .icon-button{flex:1}}.alarm-bell-wrap{display:inline-flex;position:relative}.alarm-bell-button{border:1px solid var(--line);min-height:38px;color:var(--text);background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:0 10px 0 14px;display:inline-flex;box-shadow:0 8px 20px #0f172a0a}.alarm-bell-button:hover{color:var(--primary);background:#eff6ff;border-color:#1e5eff42}.alarm-bell-button.has-alert{color:#dc2626;background:#fff1f2;border-color:#ef444438}.alarm-bell-button strong{min-width:24px;height:24px;color:var(--primary);background:#eef2ff;border-radius:999px;place-items:center;font-size:13px;line-height:1;display:inline-grid}.alarm-bell-button.has-alert strong{color:#dc2626;background:#fee2e2}.alarm-popover{z-index:30;border:1px solid var(--line);background:#fff;border-radius:8px;width:min(360px,86vw);padding:14px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 22px 60px #0f172a29}.alarm-popover-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:12px;display:flex}.alarm-popover-head strong,.alarm-popover-head span{display:block}.alarm-popover-head strong{color:var(--text);font-size:16px}.alarm-popover-head span,.alarm-popover-empty,.alarm-popover-item small{color:var(--muted);font-size:12px}.alarm-popover-head em{color:#dc2626;background:#fff1f2;border-radius:999px;flex:none;padding:5px 10px;font-style:normal;font-weight:800}.alarm-popover-empty{padding:18px 4px 14px}.alarm-popover-list{max-height:280px;padding:8px 0;display:grid;overflow:auto}.alarm-popover-item{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:10px 8px;display:grid}.alarm-popover-item:hover{background:#f8fafc}.alarm-popover-item strong,.alarm-popover-item small,.alarm-popover-item em{display:block}.alarm-popover-item em{color:#dc2626;text-align:right;font-style:normal;font-weight:800}.alarm-popover-item span:last-child small{text-align:right}.alarm-popover-link{width:100%;min-height:38px;color:var(--primary);background:#eff6ff;border:1px solid #2563eb38;border-radius:8px;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.critical-alarm-overlay{z-index:2147483647;pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.critical-alarm-panel{isolation:isolate;clip-path:polygon(0 18px,18px 0,calc(100% - 78px) 0,calc(100% - 56px) 11px,100% 11px,100% calc(100% - 18px),calc(100% - 18px) 100%,78px 100%,58px calc(100% - 11px),0 calc(100% - 11px));color:#eaf8ff;pointer-events:auto;text-align:left;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#22d3eedb,#0000 18%) 0 0/150px 2px no-repeat,linear-gradient(#22d3eea3,#0000 35%) 0 0/2px 108px no-repeat,linear-gradient(315deg,#22d3eebd,#0000 18%) 100% 0/142px 2px no-repeat,linear-gradient(#0000 65%,#22d3ee7a) 100% 0/2px 104px no-repeat,linear-gradient(225deg,#38bdf885,#0000 22%) 100% 100%/140px 2px no-repeat,linear-gradient(#0000 62%,#38bdf857) 100% 100%/2px 92px no-repeat,radial-gradient(circle at 22% 42%,#f871712e,#0000 36%),radial-gradient(circle at 80% 16%,#38bdf833,#0000 30%),radial-gradient(circle at 52% 118%,#0ea5e92e,#0000 42%),linear-gradient(145deg,#041224e0,#061830b8);border:0;border-radius:0;gap:10px;width:min(460px,100vw - 40px);max-height:calc(100vh - 40px);padding:18px;animation:.18s ease-out criticalHudFloatIn;display:grid;position:relative;overflow:hidden;box-shadow:0 0 28px #38bdf866,0 0 42px #f8717129,inset 0 0 28px #0ea5e91f,inset 0 0 24px #ef444414}.critical-alarm-panel:before,.critical-alarm-panel:after{content:"";pointer-events:none;position:absolute}.critical-alarm-panel:before{opacity:.72;background:linear-gradient(#38bdf80e 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#38bdf80e 1px,#0000 1px) 0 0/18px 18px,radial-gradient(circle at 6% 12%,#22d3ee7a 0 2px,#0000 3px) no-repeat,radial-gradient(circle at 92% 18%,#f871716b 0 2px,#0000 3px) no-repeat,radial-gradient(circle at 94% 88%,#38bdf84d 0 2px,#0000 3px) no-repeat,repeating-linear-gradient(90deg,#0000 0 8px,#22d3ee1f 8px 10px,#0000 10px 15px) right 18px center/9px 82px no-repeat;inset:8px}.critical-alarm-panel:after{background:linear-gradient(#0000,#f8717133,#0000);height:42%;animation:3s linear infinite criticalHudScanLine;top:-42%;left:0;right:0}.critical-alarm-panel__close,.critical-alarm-panel__beacon,.critical-alarm-panel__hero,.critical-alarm-panel__meta,.critical-alarm-panel__stats,.critical-alarm-panel__message,.critical-alarm-panel__actions{z-index:1;position:relative}.critical-alarm-panel__close{color:#e0f7ff;cursor:pointer;background:#02081757;border:1px solid #7dd3fc75;border-radius:8px;place-items:center;width:34px;height:34px;display:inline-grid;position:absolute;top:14px;right:16px}.critical-alarm-panel__close svg{width:20px;height:20px}.critical-alarm-panel__beacon{place-items:center;width:86px;height:38px;display:grid;position:absolute;top:10px;left:50%;transform:translate(-50%)}.critical-alarm-panel__beacon:before{content:"";border:1px solid #f8717147;border-radius:50%;width:150px;height:44px;animation:1.8s ease-out infinite criticalHudRing;position:absolute}.critical-alarm-panel__beacon span{background:radial-gradient(circle at 50% 35%,#fff 0 12%,#fecaca 13% 21%,#0000 22%),linear-gradient(90deg,#fecacadb,#ef4444f5,#7f1d1ddb);border:1px solid #fecaca85;border-radius:22px 22px 7px 7px;width:46px;height:24px;animation:.82s ease-in-out infinite alternate criticalHudBeacon;box-shadow:0 0 18px #f87171c7}.critical-alarm-panel__hero{border-bottom:1px solid #f871712e;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:28px 42px 12px 0;display:grid}.critical-alarm-panel__icon{color:#fff7ed;filter:drop-shadow(0 0 20px #ef4444bd);clip-path:polygon(50% 6%,96% 88%,4% 88%);background:linear-gradient(135deg,#f87171e6,#b91c1ce0);place-items:center;width:72px;height:72px;display:grid}.critical-alarm-panel__icon svg{width:48px;height:48px}.critical-alarm-panel__title{min-width:0}.critical-alarm-panel__title span{color:#fecdd3;font-size:11px;font-weight:900}.critical-alarm-panel__title h2{color:#fff7ed;text-shadow:0 0 16px #f87171db;margin:2px 0;font-size:32px;line-height:1}.critical-alarm-panel__title p{color:#fed7aae0;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:13px;font-weight:800;overflow:hidden}.critical-alarm-panel__meta{color:#fed7aacc;justify-content:space-between;gap:12px;font-size:12px;font-weight:900;display:flex}.critical-alarm-panel__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.critical-alarm-panel__stats div{color:#fecdd3;background:#0208173d;border:1px solid #38bdf838;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:48px;padding:8px 9px;display:grid}.critical-alarm-panel__stats strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:900;line-height:1;overflow:hidden}.critical-alarm-panel__stats span{color:#fed7aad1;font-size:11px;font-weight:900}.critical-alarm-panel__stats svg{width:18px;height:18px}.critical-alarm-panel__stats svg,.critical-alarm-panel__dot{grid-row:span 2}.critical-alarm-panel__dot{background:#34d399;border-radius:999px;width:12px;height:12px;box-shadow:0 0 14px #34d399c7}.critical-alarm-panel__message{background:linear-gradient(90deg,#0ea5e91a,#02081733),radial-gradient(circle at 0 0,#f871711a,#0000 42%);border:1px solid #38bdf82e;border-radius:8px;gap:8px;padding:10px 12px;display:grid}.critical-alarm-panel__message>strong{color:#fecdd3;font-size:12px;font-weight:900}.critical-alarm-panel__message p{color:#e2f2ffd6;margin:0;font-size:12px;line-height:1.5}.critical-alarm-panel__message dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;display:grid}.critical-alarm-panel__message dl div{border-bottom:1px solid #f871711f;min-width:0;padding-bottom:5px}.critical-alarm-panel__message dt{color:#fecacab8;font-size:11px;font-weight:900}.critical-alarm-panel__message dd{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin:2px 0 0;font-size:13px;font-weight:900;overflow:hidden}.critical-alarm-panel__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.critical-alarm-panel__actions button{color:#fff7ed;cursor:pointer;min-height:36px;font:inherit;background:#0f172a57;border:1px solid #7dd3fc47;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 11px;font-size:13px;font-weight:900;display:inline-flex}.critical-alarm-panel__actions button.danger{background:linear-gradient(135deg,#dc2626f0,#fb7185e0);border-color:#fecacaa3;box-shadow:0 0 18px #ef444457}.critical-alarm-panel__actions svg{width:18px;height:18px}.critical-alarm-panel__actions button.muted{color:#fed7aa}@keyframes criticalHudFloatIn{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes criticalHudScanLine{to{top:100%}}@keyframes criticalHudRing{0%{opacity:.75;transform:scale(.68)}to{opacity:0;transform:scale(1.16)}}@keyframes criticalHudBeacon{0%{filter:brightness(.8);transform:translateY(0)}to{filter:brightness(1.35);transform:translateY(-1px)}}@media (width<=640px){.critical-alarm-panel{gap:12px;width:min(390px,100vw - 28px);max-height:calc(100vh - 28px);padding:14px}.critical-alarm-panel__hero{text-align:center;grid-template-columns:1fr;justify-items:center;gap:12px;padding:34px 34px 12px 0}.critical-alarm-panel__icon{width:72px;height:72px}.critical-alarm-panel__icon svg{width:48px;height:48px}.critical-alarm-panel__title h2{font-size:32px}.critical-alarm-panel__title p,.critical-alarm-panel__meta,.critical-alarm-panel__message p,.critical-alarm-panel__actions button{font-size:14px}.critical-alarm-panel__stats,.critical-alarm-panel__message dl{grid-template-columns:1fr}}.module-metric-rules-panel{margin-top:18px}.metric-rule-table{gap:8px;margin-top:16px;display:grid}.metric-rule-table__head,.metric-rule-row{grid-template-columns:minmax(180px,1fr) minmax(120px,160px) minmax(120px,160px) 110px;align-items:center;gap:12px;display:grid}.module-metric-rules-panel .metric-rule-table__head,.module-metric-rules-panel .metric-rule-row{grid-template-columns:minmax(180px,1fr) minmax(110px,150px) minmax(110px,150px) minmax(120px,160px) 110px}.metric-rule-table__head{color:var(--muted);padding:0 12px;font-size:12px;font-weight:800}.metric-rule-row{border:1px solid var(--line);background:#fff;border-radius:8px;padding:12px}.metric-rule-name{gap:4px;min-width:0;display:grid}.metric-rule-name strong,.metric-rule-name span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.metric-rule-name strong{color:var(--text);font-size:14px}.metric-rule-name span{color:var(--muted);font-size:12px}.metric-rule-row input[type=number]{border:1px solid var(--line);width:100%;min-width:0;color:var(--text);font:inherit;background:#f8fafc;border-radius:8px;padding:10px 12px}.metric-rule-toggle{color:var(--text);align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.metric-rule-toggle input{width:18px;height:18px;accent-color:var(--primary)}.module-rule-actions{justify-content:flex-end;margin-top:16px;display:flex}@media (width<=760px){.metric-rule-table__head{display:none}.metric-rule-row{grid-template-columns:1fr}}.add-menu{position:relative}.add-menu-popover{border:1px solid var(--line);z-index:8;background:#fff;border-radius:12px;gap:4px;min-width:160px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 44px #0f172a29}.add-menu-popover button{color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;min-height:38px;padding:0 10px;display:flex}.add-menu-popover button:hover{color:var(--brand);background:#eff6ff}.add-menu-popover button:disabled{cursor:not-allowed;opacity:.45}.catalog-tab-panel{margin-bottom:18px;padding:0;overflow:hidden}.catalog-tab-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:0 18px;display:flex}.catalog-tabs{gap:18px;display:flex;overflow-x:auto}.catalog-tabs button{color:var(--text-muted);white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;min-height:54px;padding:0 4px;display:inline-flex}.catalog-tabs button.active,.catalog-tabs button:hover{border-bottom-color:var(--brand);color:var(--brand)}.catalog-tab-actions{flex:none;align-items:center;gap:10px;display:flex}.catalog-tab-panel .table-wrap{padding:0 18px 18px}.catalog-tab-panel .catalog-ledger-view,.catalog-tab-panel .catalog-organization-view{padding:18px}.catalog-organization-view{grid-template-columns:300px minmax(0,1fr);align-items:stretch;gap:16px;min-height:520px;display:grid}.catalog-organization-sites,.catalog-organization-detail,.catalog-organization-site-card,.catalog-organization-room-panel,.catalog-organization-room-card,.catalog-organization-empty{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 14px 36px #0f172a0f}.catalog-organization-sites{flex-direction:column;min-width:0;display:flex;overflow:hidden}.catalog-organization-head{border-bottom:1px solid var(--line);padding:16px 18px}.catalog-organization-head strong,.catalog-organization-head span{display:block}.catalog-organization-head strong{color:var(--text);font-size:17px}.catalog-organization-head span{color:var(--text-muted);margin-top:5px;font-size:12px}.catalog-organization-site-list{gap:10px;padding:16px;display:grid;overflow:auto}.catalog-organization-site-list button{color:var(--text);cursor:pointer;text-align:left;background:#f8fafc;border:1px solid #0000;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;min-height:64px;padding:10px 12px;display:grid}.catalog-organization-site-list button:hover,.catalog-organization-site-list button.active{color:var(--brand);background:#eff6ff;border-color:#2563eb47}.catalog-organization-site-list button>svg{color:var(--brand)}.catalog-organization-site-list button strong,.catalog-organization-site-list button em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.catalog-organization-site-list button em{color:var(--text-muted);margin-top:5px;font-size:12px;font-style:normal}.catalog-organization-detail{gap:16px;min-width:0;padding:18px;display:grid}.catalog-organization-site-card{gap:16px;padding:18px;display:grid}.catalog-organization-site-main{grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.catalog-organization-site-icon{color:var(--brand);background:#eff6ff;border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;display:inline-flex}.catalog-organization-eyebrow{color:var(--brand);margin-bottom:5px;font-size:13px;font-weight:900;display:block}.catalog-organization-site-main h2{color:var(--text);margin:0;font-size:24px;line-height:1.2}.catalog-organization-site-main p{color:var(--text-muted);margin:6px 0 0}.catalog-organization-meta-grid{border-block:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;padding:14px 0;display:grid}.catalog-organization-meta{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 8px;display:grid}.catalog-organization-meta svg{color:var(--brand);grid-row:span 2}.catalog-organization-meta small,.catalog-organization-meta strong{display:block}.catalog-organization-meta small{color:var(--text-muted);font-size:12px;font-weight:800}.catalog-organization-meta strong{color:var(--text);overflow-wrap:anywhere}.catalog-organization-actions{flex-wrap:wrap;gap:8px;display:flex}.catalog-organization-room-panel{padding:18px}.catalog-organization-room-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.catalog-organization-room-head strong,.catalog-organization-room-head span{display:block}.catalog-organization-room-head strong{color:var(--text);font-size:18px}.catalog-organization-room-head span{color:var(--text-muted);margin-top:5px;font-size:12px}.catalog-organization-room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.catalog-organization-room-card{gap:14px;padding:16px;display:grid}.catalog-organization-room-title{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.catalog-organization-room-title>span{color:var(--brand);background:#eff6ff;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.catalog-organization-room-title strong,.catalog-organization-room-title em{display:block}.catalog-organization-room-title strong{color:var(--text);font-size:17px}.catalog-organization-room-title em{color:var(--text-muted);margin-top:4px;font-size:12px;font-style:normal}.catalog-organization-room-meta{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-top:12px;display:grid}.catalog-organization-room-card p{color:var(--text-muted);margin:0}.catalog-organization-empty{color:var(--text-muted);text-align:center;place-items:center;min-height:240px;padding:24px;display:grid}.catalog-organization-empty.compact{grid-column:1/-1;min-height:180px}.catalog-organization-empty svg{color:var(--brand)}.catalog-organization-empty strong{color:var(--text);margin-top:8px}.catalog-ledger-view{grid-template-columns:280px minmax(0,1fr);align-items:stretch;gap:16px;min-height:560px;display:grid}.catalog-ledger-tree,.catalog-ledger-detail,.catalog-ledger-gateway-card,.catalog-ledger-device-card,.catalog-ledger-empty{border:1px solid var(--line);background:#fff;border-radius:14px;box-shadow:0 14px 36px #0f172a0f}.catalog-ledger-tree{flex-direction:column;min-width:0;display:flex;overflow:hidden}.catalog-ledger-tree-head{border-bottom:1px solid var(--line);padding:16px 18px}.catalog-ledger-tree-head strong,.catalog-ledger-tree-head span,.catalog-ledger-site-title strong,.catalog-ledger-site-title span{display:block}.catalog-ledger-tree-head strong{color:var(--text);font-size:17px}.catalog-ledger-tree-head span,.catalog-ledger-site-title span,.catalog-ledger-room-list p{color:var(--text-muted);margin-top:5px;font-size:12px}.catalog-ledger-tree-list{gap:16px;padding:16px;display:grid;overflow:auto}.catalog-ledger-site-title{color:var(--text);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-bottom:10px;display:grid}.catalog-ledger-site-title svg{color:var(--brand)}.catalog-ledger-room-list{gap:8px;display:grid}.catalog-ledger-room-list button{color:var(--text);text-align:left;background:#f8fafc;border:1px solid #0000;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:0 10px;display:grid}.catalog-ledger-room-list button:hover,.catalog-ledger-room-list button.active{color:var(--brand);background:#eff6ff;border-color:#2563eb47}.catalog-ledger-room-list button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.catalog-ledger-room-list button em{color:#0369a1;text-align:center;background:#e0f2fe;border-radius:999px;min-width:24px;padding:2px 7px;font-style:normal;font-weight:900}.catalog-ledger-detail{min-width:0;padding:18px}.catalog-ledger-hero{background:radial-gradient(circle at 90% 16%,#2563eb1a,#0000 26%),linear-gradient(135deg,#f8fbff,#fff);border:1px solid #2563eb1f;border-radius:14px;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);align-items:center;gap:16px;margin-bottom:16px;padding:18px;display:grid}.catalog-ledger-eyebrow{color:var(--brand);margin-bottom:6px;font-size:13px;font-weight:900;display:block}.catalog-ledger-hero h2{color:var(--text);margin:0;font-size:24px;line-height:1.2}.catalog-ledger-hero p{color:var(--text-muted);margin:8px 0 0}.catalog-ledger-hero-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.catalog-ledger-stat{border:1px solid var(--line);color:inherit;text-align:left;background:#ffffffc7;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 8px;min-height:64px;padding:10px;display:grid}button.catalog-ledger-stat{cursor:pointer}.catalog-ledger-stat.clickable:hover,.catalog-ledger-stat.clickable:focus-visible{background:#eff6ff;border-color:#2563eb57;outline:none;transform:translateY(-1px);box-shadow:0 12px 28px #2563eb1f}.catalog-ledger-stat svg{color:var(--brand);grid-row:span 2}.catalog-ledger-stat span{color:var(--text-muted);font-size:12px;font-weight:800}.catalog-ledger-stat strong{color:var(--text);font-size:20px;line-height:1}.catalog-ledger-stat.success svg,.catalog-ledger-stat.success strong{color:#16a34a}.catalog-ledger-stat.warning svg,.catalog-ledger-stat.warning strong{color:#f97316}.catalog-ledger-gateway-list{gap:14px;display:grid}.catalog-ledger-gateway-card{padding:16px}.catalog-ledger-gateway-card.online{border-left:4px solid #22c55e}.catalog-ledger-gateway-card.no-heartbeat{border-left:4px solid #f97316}.catalog-ledger-gateway-card.inactive{border-left:4px solid #cbd5e1}.catalog-ledger-gateway-head{grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.catalog-ledger-gateway-icon,.catalog-ledger-device-icon{border-radius:12px;justify-content:center;align-items:center;display:inline-flex}.catalog-ledger-gateway-icon{color:var(--brand);background:#eff6ff;width:50px;height:50px}.catalog-ledger-gateway-card.online .catalog-ledger-gateway-icon{color:#16a34a;background:#dcfce7}.catalog-ledger-gateway-title strong,.catalog-ledger-gateway-title span,.catalog-ledger-device-head strong,.catalog-ledger-device-head span{display:block}.catalog-ledger-gateway-title strong,.catalog-ledger-device-head strong{color:var(--text);font-size:17px}.catalog-ledger-gateway-title span,.catalog-ledger-device-head span{color:var(--text-muted);margin-top:4px;font-size:12px}.catalog-ledger-gateway-meta{border-block:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:14px 0;padding:14px 0;display:grid}.catalog-ledger-gateway-meta small,.catalog-ledger-gateway-meta strong{display:block}.catalog-ledger-gateway-meta small{color:var(--text-muted);font-size:12px;font-weight:800}.catalog-ledger-gateway-meta strong{color:var(--text);margin-top:6px}.catalog-ledger-actions,.catalog-ledger-device-actions{flex-wrap:wrap;gap:8px;display:flex}.catalog-ledger-device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px;display:grid}.catalog-ledger-device-card{gap:14px;padding:16px;display:grid}.catalog-ledger-device-card.online{background:radial-gradient(circle at 92% 10%,#22c55e1c,#0000 28%),#fff}.catalog-ledger-device-card.unsynced,.catalog-ledger-device-card.unbound{background:radial-gradient(circle at 92% 10%,#f973161f,#0000 28%),#fffaf5;border-color:#fed7aa}.catalog-ledger-device-card.inactive{background:#f8fafc}.catalog-ledger-device-head{grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.catalog-ledger-device-icon{color:var(--brand);background:#eff6ff;width:42px;height:42px}.catalog-ledger-device-main strong,.catalog-ledger-device-main span{display:block}.catalog-ledger-device-main strong{color:var(--text);font-size:22px;line-height:1.1}.catalog-ledger-device-main span,.catalog-ledger-device-meta span{color:var(--text-muted);font-size:12px}.catalog-ledger-device-meta{border-top:1px solid var(--line);gap:8px;padding-top:12px;display:grid}.catalog-ledger-device-meta.detail{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-ledger-device-meta span{align-items:center;gap:6px;min-width:0;display:inline-flex}.catalog-ledger-device-empty,.catalog-ledger-empty{color:var(--text-muted);padding:22px}.catalog-ledger-empty{text-align:center;place-items:center;min-height:240px;display:grid}.catalog-ledger-empty.compact{min-height:140px}.catalog-ledger-empty svg{color:var(--brand)}.catalog-ledger-empty strong{color:var(--text);margin-top:8px}.catalog-ledger-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:60;background:#0f172a4d;justify-content:center;align-items:center;padding:28px;display:flex;position:fixed;inset:0}.catalog-ledger-modal{background:radial-gradient(circle at 90% 8%,#2563eb1a,#0000 28%),#fff;border:1px solid #94a3b857;border-radius:18px;width:min(1040px,100vw - 56px);max-height:min(82vh,820px);padding:22px;overflow:auto;box-shadow:0 28px 90px #0f172a47}.catalog-ledger-modal-head{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-bottom:16px;padding-bottom:16px;display:grid}.catalog-ledger-modal-head span{color:var(--brand);font-size:13px;font-weight:900}.catalog-ledger-modal-head h2{color:var(--text);margin:6px 0;font-size:24px}.catalog-ledger-modal-head p{color:var(--text-muted);margin:0}.catalog-ledger-modal-close{border:1px solid var(--line);color:var(--text);cursor:pointer;background:#f8fafc;border-radius:999px;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.catalog-ledger-modal-close:hover{color:var(--brand);border-color:#2563eb52}.catalog-ledger-modal-list,.catalog-ledger-modal-grid{gap:14px;display:grid}.catalog-ledger-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-ledger-modal-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px;box-shadow:0 12px 30px #0f172a0f}.catalog-ledger-modal-card.online{border-left:4px solid #22c55e}.catalog-ledger-modal-card.no-heartbeat,.catalog-ledger-modal-card.unsynced,.catalog-ledger-modal-card.unbound{border-left:4px solid #f97316}.catalog-ledger-modal-card.inactive{border-left:4px solid #cbd5e1}.catalog-ledger-modal-empty{border:1px dashed var(--line);color:var(--text-muted);text-align:center;border-radius:14px;padding:28px}.catalog-table{min-width:940px}.table-title-cell strong,.table-title-cell span{display:block}.table-title-cell span{color:var(--text-muted);margin-top:3px;font-size:12px}.catalog-status-badge{border-radius:999px;align-items:center;min-height:26px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.catalog-status-badge.online{color:#15803d;background:#dcfce7}.catalog-status-badge.offline{color:#dc2626;background:#fee2e2}.catalog-status-badge.inactive{color:#475569;background:#f1f5f9}.catalog-status-badge.no-heartbeat{color:#ea580c;background:#ffedd5}.catalog-status-badge.unsynced{color:#ca8a04;background:#fef9c3}.catalog-heartbeat-text{color:var(--text);font-weight:900}.ingestion-log-filters{flex-wrap:wrap;align-items:center}.ingestion-log-filters .select{min-width:130px}.ingestion-log-panel{margin-top:18px}.ingestion-log-table-wrap{max-height:440px;overflow:auto}.ingestion-log-table{min-width:1180px}.ingestion-log-table thead th{box-shadow:inset 0 -1px 0 var(--line);z-index:2;background:#f8fafc;position:sticky;top:0}@media (width<=960px){.catalog-organization-view,.catalog-ledger-view,.catalog-organization-meta-grid,.catalog-organization-room-grid,.catalog-ledger-hero,.catalog-ledger-gateway-meta,.catalog-ledger-device-grid,.catalog-ledger-modal-grid,.catalog-ledger-device-meta.detail{grid-template-columns:1fr}}@media (width<=720px){.catalog-tab-head{flex-direction:column;align-items:stretch;gap:10px;padding:0 12px 12px}.catalog-tabs{justify-content:stretch}.catalog-tabs button{flex:1 0 auto}.catalog-tab-actions{justify-content:stretch}.catalog-tab-actions>button,.catalog-tab-actions .add-menu,.catalog-tab-actions .add-menu>button{width:100%}.catalog-ledger-modal-backdrop{align-items:stretch;padding:12px}.catalog-ledger-modal{width:100%;max-height:calc(100vh - 24px)}.catalog-organization-site-main,.catalog-organization-room-title,.catalog-organization-room-meta,.catalog-ledger-gateway-head,.catalog-ledger-device-head,.catalog-ledger-hero-stats{grid-template-columns:1fr}}.adapter-config-modal{gap:16px;display:grid}.adapter-config-summary{grid-template-columns:minmax(280px,1.4fr) repeat(2,minmax(140px,.7fr));gap:12px;display:grid}.adapter-config-summary>div,.config-device-item,.config-device-empty{border:1px solid var(--line);background:#ffffff09;border-radius:12px;padding:12px}.adapter-config-summary span,.config-device-item span,.config-note-list{color:var(--muted)}.adapter-config-summary strong,.adapter-config-summary span{display:block}.adapter-config-summary strong{white-space:normal;word-break:break-all;margin-top:6px}.adapter-config-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.adapter-config-protocols{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.adapter-config-protocol-card,.adapter-config-future-modules{border:1px solid var(--line);background:#ffffff09;border-radius:12px;padding:12px}.adapter-config-protocol-card{gap:10px;display:grid}.adapter-config-protocol-card span{color:var(--accent);font-size:12px;font-weight:800}.adapter-config-protocol-card strong,.adapter-config-future-modules strong{color:var(--text);display:block}.adapter-config-protocol-card p{color:var(--muted);margin:6px 0 0}.adapter-config-protocol-card dl{gap:8px;margin:0;display:grid}.adapter-config-protocol-card div,.adapter-config-protocol-card dd{min-width:0}.adapter-config-protocol-card dt{color:var(--muted);font-size:12px}.adapter-config-protocol-card dd{color:var(--text);word-break:break-all;margin:3px 0 0}.adapter-config-future-modules{gap:10px;display:grid}.adapter-config-future-modules>div{flex-wrap:wrap;gap:8px;display:flex}.adapter-config-future-modules span{border:1px solid var(--line);color:var(--muted);background:#ffffff08;border-radius:999px;padding:6px 10px;font-size:12px}.config-device-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.config-device-item{grid-template-columns:minmax(160px,1.2fr) minmax(120px,.8fr);gap:6px 12px;display:grid}.config-device-item strong{grid-column:1/-1}.config-device-empty{color:var(--muted);text-align:center;grid-column:1/-1}.config-code-block{color:#d8f7ff;white-space:pre-wrap;word-break:break-word;background:linear-gradient(#0c1829fa,#070d19fa);border:1px solid #20c7b533;border-radius:12px;max-height:360px;padding:14px;font-size:12px;line-height:1.65;overflow:auto}.config-note-list{gap:6px;margin:0;padding-left:18px;font-size:13px;display:grid}.catalog-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.modal-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;padding-top:8px;display:flex}@media (width<=720px){.catalog-form{grid-template-columns:1fr}.modal-actions{justify-content:stretch}.modal-actions .icon-button{flex:1}}.app-shell{background:radial-gradient(circle at 18% 0,#2563eb14,#0000 28%),#f6f8fb}.sidebar{border-right:1px solid var(--line);background:#ffffffeb;box-shadow:10px 0 32px #0f172a0a}.brand-mark{background:linear-gradient(135deg,#2563eb,#14b8a6);border-color:#2563eb33;box-shadow:0 12px 26px #2563eb38}.nav-item,.sidebar-status,.tab-button,.select,.field input,.field textarea,.device-card,.alarm-filter-total,.rule-scope-card,.machine-metric-card,.config-device-item,.config-device-empty,.adapter-config-summary>div,.alarm-detail-item{border-color:var(--line);color:var(--text);background:#fff}.nav-item:hover,.nav-item.active,.tab-button.active,.tab-button:hover{color:var(--primary);background:#eff6ff;border-color:#2563eb47}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;box-shadow:0 8px 28px #0f172a0d}.summary-tile,.content-panel,.placeholder-panel,.modal-card,.pressure-console-hero,.pressure-realtime-board,.history-chart-panel.embedded{border-color:var(--line);box-shadow:var(--shadow);background:radial-gradient(circle at 14% 0,#2563eb0b,#0000 34%),#fff}.summary-icon,.machine-metric-card span,.login-lock{color:var(--primary);background:#eff6ff}.icon-button.subtle,.icon-button{border-color:var(--line);color:var(--text);background:#fff}.banner{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe}.banner.error{color:#be123c;background:#fff1f2;border-color:#fecdd3}.table-wrap,.pressure-table-wrap{border-color:var(--line);background:#fff}.badge.offline{color:#64748b;background:#f1f5f9}.badge.alarm{color:#be123c;background:#fff1f2}.module-card{border-color:var(--line);box-shadow:var(--shadow);background:linear-gradient(#ffffffeb,#f8fafcf5),#fff}.module-card:hover{background:#fff;border-color:#2563eb47}.module-scene{border-color:var(--line);background:radial-gradient(circle at 48% 38%,#14b8a61f,#0000 34%),linear-gradient(#fff,#f8fafc)}.pressure-machine-card{border:1px solid var(--line);background:radial-gradient(circle at 48% 48%,#14b8a61f,#0000 38%),linear-gradient(135deg,#fff,#f8fafc)}.machine-screen,.pressure-gauge-card,.history-chart-shell,.config-code-block{color:var(--text);background:linear-gradient(#fff,#f8fafc);border-color:#cbd5e1;box-shadow:0 16px 34px #0f172a14}.pressure-gauge-value strong,.machine-screen strong,.metric-cell,.pressure-value{color:#0f766e}.history-metric-card{border-color:var(--line);background:#fff}.history-chart-empty{background:#f8fafcc2}.modal-backdrop{background:#0f172a2e}.login-panel{background:#fff}.login-panel-inner{border-color:var(--line);background:#fff;box-shadow:0 28px 80px #0f172a24}.login-field input{border-color:var(--line);color:var(--text);background:#f8fafc}.sidebar{color:#f8fbff;background:linear-gradient(#1557b7,#0f4c9f);border-right:0;box-shadow:10px 0 30px #0f4c9f29}.brand{border-bottom-color:#ffffff2e}.nav-item{color:#ebf5ffd1}.topbar{background:#fffffff0}.module-scene{background:radial-gradient(circle at 50% 46%,#14b8a61a,#0000 24%),radial-gradient(circle at 18% 22%,#2563eb14,#0000 24%),radial-gradient(circle at 86% 72%,#0ea5e912,#0000 26%),linear-gradient(#2563eb0a 1px,#0000 1px) 0 0/42px 42px,linear-gradient(90deg,#2563eb0a 1px,#0000 1px) 0 0/42px 42px,#fff;border-color:#dbeafe}.module-scene:before{opacity:.42;border-color:#2563eb21}.module-scene:after{opacity:.34;border-color:#2563eb2e}.module-scene-lines:before{border-color:#2563eb1a}.module-scene-lines:after{background:linear-gradient(32deg,#0000 48%,#2563eb1f 49% 51%,#0000 52%),linear-gradient(148deg,#0000 48%,#0ea5e91a 49% 51%,#0000 52%),linear-gradient(90deg,#0000 49%,#14b8a61f 50%,#0000 51%)}.module-art{filter:drop-shadow(0 26px 28px #0f172a24)}.module-art:after{background:radial-gradient(#2563eb24,#0000 68%)}.module-figure:before{opacity:.52;background:radial-gradient(#14b8a61a,#0000 64%),repeating-conic-gradient(#2563eb2e 0deg 8deg,#0000 8deg 20deg);border-color:#2563eb29;box-shadow:0 0 18px #2563eb14,inset 0 0 18px #14b8a614}.module-label{background:linear-gradient(#2f74e8,#1d5fcf);border-color:#2563eb2e;box-shadow:0 12px 24px #2563eb38}.module-figure-meta{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-color:#cbd5e1eb;width:min(100%,300px);box-shadow:0 14px 30px #0f172a1f}.module-figure-meta small{color:#475569;font-weight:600}.module-figure-meta strong{color:#0f172a;font-weight:800}.module-status.online{color:#0f766e;background:#ccfbf1}.module-status.planning,.module-status.soon{color:#3730a3;background:#e0e7ff}.module-figure:hover .module-art,.module-figure:focus-visible .module-art{filter:drop-shadow(0 30px 34px #2563eb2e)}.module-figure:hover .module-label,.module-figure:focus-visible .module-label{box-shadow:0 12px 28px #2563eb3d,0 0 18px #14b8a629}.module-figure[data-alert=alarm] .module-art{filter:drop-shadow(0 28px 30px #0f172a24)drop-shadow(0 0 20px #ef444457);animation:6.4s ease-in-out infinite deviceFloat,1.8s ease-in-out infinite moduleAlarmGlow}.module-figure[data-alert=alarm] .module-art:after{opacity:.95;background:radial-gradient(#ef444452,#ef444414 42%,#0000 70%)}.module-figure[data-alert=alarm]:before{opacity:.8;background:radial-gradient(#ef444429,#0000 64%),repeating-conic-gradient(#ef444447 0deg 8deg,#0000 8deg 20deg);border-color:#ef444452;box-shadow:0 0 24px #ef444433,inset 0 0 20px #ef44441f}.module-figure[data-alert=alarm] .module-label{background:linear-gradient(#ef4444,#dc2626);border-color:#ef444457;box-shadow:0 12px 28px #ef44443d}.module-figure[data-alert=alarm] .module-figure-meta{border-color:#ef444447;box-shadow:0 14px 30px #0f172a1f,0 0 0 4px #ef44440d}.module-figure[data-alert=offline] .module-art{filter:grayscale(.18)drop-shadow(0 26px 26px #0f172a1f)drop-shadow(0 0 14px #94a3b83d);opacity:.86}.module-status.alarm{color:#dc2626;background:#fee2e2}.module-status.offline{color:#64748b;background:#f1f5f9}@keyframes moduleAlarmGlow{0%,to{filter:drop-shadow(0 28px 30px #0f172a24)drop-shadow(0 0 12px #ef444438)}50%{filter:drop-shadow(0 28px 30px #0f172a24)drop-shadow(0 0 28px #ef44447a)}}:root{--bg:#f5f7fa;--sidebar:#0b1f3a;--top:#fff;--panel:#fff;--panel-strong:#f8fafc;--panel-soft:#eff6ff;--text:#172033;--muted:#667085;--line:#e5eaf0;--primary:#1e5eff;--primary-dark:#0b1f3a;--tech:#18b7ff;--danger:#ef4444;--danger-soft:#ef44441a;--ok:#16a34a;--ok-soft:#16a34a1a;--warning:#f59e0b;--offline:#94a3b8;--monitor-bg:#061426;--monitor-panel:#0b2038;--monitor-panel-2:#08172b;--monitor-line:#1e3a5f;--monitor-glow:#20c8ff;--shadow:0 16px 42px #0f172a14}body{background:radial-gradient(circle at 12% 0%, #1e5eff0f, transparent 24%), linear-gradient(180deg, #f8fafc, var(--bg));color:var(--text)}.app-shell{background:var(--bg);grid-template-columns:280px minmax(0,1fr)}.sidebar{color:#f8fafc;background:linear-gradient(#1e5eff2e,#0000 34%),linear-gradient(#0b1f3a,#0a2345);border-right:0;gap:18px;box-shadow:12px 0 34px #0b1f3a29}.brand{border-bottom-color:#ffffff1f;padding:4px 8px 18px}.brand-mark{background:linear-gradient(135deg,#1e5eff,#18b7ff);box-shadow:0 14px 28px #18b7ff3d}.brand strong{color:#fff}.brand span,.sidebar-status span{color:#e2eeffc2}.nav-list{gap:18px;min-height:0;padding-right:2px;overflow-y:auto}.nav-group{gap:6px;display:grid}.nav-group-title{color:#e2eeff8f;padding:0 14px 4px;font-size:12px;font-weight:800}.nav-group-label{align-items:center;gap:7px;min-width:0;display:inline-flex}.nav-group-badge{color:#67e8f9;letter-spacing:0;background:#22d3ee1f;border:1px solid #22d3ee57;border-radius:999px;padding:3px 6px;font-size:10px;font-style:normal;font-weight:900;line-height:1}.nav-group-toggle{color:#e2eeff9e;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:6px 12px 5px 14px;font-size:12px;font-weight:800;display:flex}.nav-group-toggle svg{transition:transform .18s}.nav-group-toggle.open svg{transform:rotate(180deg)}.nav-group-body{gap:6px;display:grid}.nav-item{color:#ebf5ffc7;background:0 0;border:1px solid #0000;border-radius:8px;min-height:40px;font-size:14px}.nav-item-badge{color:#ffb5ca;background:#ff5f8e29;border-radius:999px;margin-left:auto;padding:4px 6px;font-size:10px;font-style:normal;font-weight:900;line-height:1}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1f;border-color:#ffffff29}.nav-item.active{box-shadow:inset 3px 0 0 var(--tech)}.sidebar-status{background:#ffffff14;border-color:#ffffff24}.sidebar-status strong{color:#fff}.main-content{padding:0 30px 34px}.topbar{border-bottom:1px solid var(--line);min-height:70px;color:var(--text);background:#ffffffeb;margin:0 -30px 26px;padding:0 30px;box-shadow:0 8px 26px #0f172a0a}.topbar h1{color:var(--text);font-size:23px}.eyebrow{color:var(--primary);letter-spacing:0}.icon-button,.icon-button.subtle{border-color:var(--line);color:var(--text);background:#fff}.icon-button:hover,.icon-button.subtle:hover{color:var(--primary);background:#eff6ff;border-color:#1e5eff42}.icon-button.primary{border-color:var(--primary);background:var(--primary);color:#fff}.icon-button.primary:hover{color:#fff;background:#174ee5}.icon-button.danger{color:#dc2626;background:#fff1f2;border-color:#ef44442e}.summary-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px;margin-bottom:18px}.summary-tile,.content-panel,.placeholder-panel,.modal-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:8px}.summary-tile{min-height:118px;padding:18px}.summary-tile span{color:#475467}.summary-tile strong{color:var(--text)}.summary-icon{color:var(--primary);background:#eff6ff;border-radius:8px}.summary-tile.success .summary-icon{color:var(--ok);background:#ecfdf5}.summary-tile.active-module .summary-icon{color:var(--brand);background:#eff6ff}.summary-tile.danger .summary-icon{color:var(--danger);background:#fff1f2}.content-panel{padding:22px}.section-heading{gap:18px}.section-heading h2{color:var(--text)}.section-heading p{color:var(--muted)}.module-entry-panel{margin-top:0;margin-bottom:18px}.overview-monitor-grid{grid-template-columns:minmax(0,1fr) minmax(320px,380px);align-items:stretch;gap:18px;display:grid}.module-entry-panel .module-scene{border-radius:8px;min-height:920px;margin-bottom:0}.overview-monitor-grid .module-scene{grid-template-rows:repeat(8,minmax(64px,auto));padding:20px}.overview-monitor-grid .module-art{width:min(100%,280px);min-height:119px}.overview-monitor-grid .module-art img{object-fit:contain;max-height:142px}.overview-monitor-grid .module-label{min-height:32px;padding:0 13px;font-size:13px}.overview-monitor-grid .module-figure-meta{min-width:min(100%,260px);padding:10px 12px}.overview-monitor-grid .module-figure-meta small{font-size:12px}.overview-monitor-grid .module-figure-meta strong{font-size:13px}.ai-overview-card{box-shadow:var(--shadow);background:radial-gradient(circle at 88% 8%,#18b7ff2e,#0000 34%),linear-gradient(#fff,#f8fbff);border:1px solid #1e5eff2e;border-radius:8px;padding:18px;position:relative;overflow:hidden}.ai-overview-card:before{content:"";pointer-events:none;background-color:#0000;background-image:linear-gradient(#1e5eff09 1px,#0000 1px),linear-gradient(90deg,#1e5eff09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:28px 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.ai-overview-card>*{z-index:1;position:relative}.ai-overview-card-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:14px;display:flex}.ai-orb.compact{width:34px;height:34px}.ai-overview-card-head small,.ai-overview-card-head strong{display:block}.ai-overview-card-head small{color:var(--primary);font-size:12px;font-weight:800}.ai-overview-card-head strong{color:var(--text);margin-top:2px;font-size:17px}.ai-overview-risk{background:#eff6ff;border:1px solid #1e5eff1f;border-radius:8px;align-items:center;gap:10px;margin:16px 0 12px;padding:10px 12px;display:flex}.ai-overview-risk span,.ai-overview-risk em{color:var(--muted);font-size:12px;font-style:normal;font-weight:800}.ai-overview-risk strong{border-radius:999px;padding:4px 10px;font-size:13px}.ai-overview-risk strong.safe{color:#15803d;background:#dcfce7}.ai-overview-risk strong.warning{color:#b45309;background:#fef3c7}.ai-overview-risk em{margin-left:auto}.ai-overview-summary{color:#334155;margin:0;line-height:1.75}.ai-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0;display:grid}.ai-overview-metrics span{border:1px solid var(--line);background:#ffffffc7;border-radius:8px;gap:3px;padding:10px;display:grid}.ai-overview-metrics small{color:var(--muted);font-size:12px}.ai-overview-metrics strong{color:var(--text);font-size:22px}.ai-overview-advice{border-left:3px solid var(--primary);background:#f8fafc;border-radius:8px;padding:12px}.ai-overview-advice strong{color:var(--text);margin-bottom:6px;display:block}.ai-overview-advice p{color:var(--muted);margin:0;line-height:1.65}.module-scene{box-shadow:none;background:radial-gradient(circle at 50% 46%,#18b7ff1f,#0000 24%),radial-gradient(circle at 18% 22%,#1e5eff14,#0000 24%),radial-gradient(circle at 86% 72%,#16a34a0f,#0000 26%),linear-gradient(#1e5eff09 1px,#0000 1px) 0 0/42px 42px,linear-gradient(90deg,#1e5eff09 1px,#0000 1px) 0 0/42px 42px,#fff;border-color:#dbeafe}.module-figure-meta{background:#ffffffeb;border-color:#cbd5e1eb}.module-figure-meta small{color:#475569}.module-figure-meta strong{color:#172033}.device-card,.rule-scope-button,.history-metric-card,.machine-metric-card,.table-wrap{border-color:var(--line);color:var(--text);background:#fff}.tabs{margin-bottom:18px}.tab-button{border-color:var(--line);color:#475467;background:#fff}.tab-button.active,.tab-button:hover{color:var(--primary);background:#eff6ff;border-color:#1e5eff47}table{background:#fff}th{color:#475467;background:#f8fafc}td,th{border-bottom-color:var(--line)}tbody tr:hover{background:#f8fafc}.badge.normal{color:#047857;background:#ecfdf5}.badge.alarm,.badge.active{color:#dc2626;background:#fff1f2}.badge.offline,.badge.cleared{color:#64748b;background:#f1f5f9}.badge.recovered{color:#047857;background:#ecfdf5}.tech-module-console{--tech-bg:#020817;--tech-bg-deep:#030e1c;--tech-panel:#08203a38;--tech-panel-soft:#030e1c14;--tech-panel-fill:#0208172e;--tech-line:#7dd3fc14;--tech-line-strong:#37beff33;--tech-cyan:#54f4ff;--tech-cyan-soft:#22d3ee29;--tech-cyan-glow:#38bdf809;--tech-teal:#67fff1;--tech-green:#22c55e;--tech-green-soft:#22c55e1a;--tech-red:#f43f5e;--tech-text:#eaf8ff;--tech-text-strong:#f8fdff;--tech-text-muted:#d2ebffb8;--tech-text-dim:#d2ebff94;--tech-radius-panel:18px;--tech-radius-card:8px;color:var(--tech-text)}.tech-module-console,.tech-console-page{position:relative}.main-content.tech-dashboard-main{isolation:isolate;position:relative}.main-content.tech-dashboard-main:before,.main-content.tech-dashboard-main:after{z-index:0;pointer-events:none;content:"";position:fixed;inset:0}.main-content.tech-dashboard-main:before{opacity:.26;background:radial-gradient(circle,#67e8f9b8 0 1px,#0000 1.6px) 4% 12%/92px 92px,radial-gradient(circle,#60a5fa8a 0 1px,#0000 1.7px) 72% 18%/118px 118px,radial-gradient(circle,#2dd4bf6b 0 1px,#0000 1.8px) 28% 82%/134px 134px,linear-gradient(#7dd3fc0f 1px,#0000 1px) 0 0/54px 54px,linear-gradient(90deg,#7dd3fc0d 1px,#0000 1px) 0 0/54px 54px;animation:18s linear infinite hologram-particle-drift;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 94%,#0000)}.main-content.tech-dashboard-main:after{opacity:.2;mix-blend-mode:screen;background:linear-gradient(105deg,#0000 0 34%,#67e8f91a 42%,#0000 52%),radial-gradient(circle at 22% 18%,#22d3ee2e,#0000 24%),radial-gradient(circle at 86% 62%,#6366f12e,#0000 28%);animation:14s ease-in-out infinite alternate hologram-light-sweep;transform:translate(-4%,-2%)}.main-content.tech-dashboard-main>*{z-index:1;position:relative}.tech-console-page{background:radial-gradient(circle at 50% 34%,#0ea5e929,#0000 28%),radial-gradient(circle at 88%,#6366f129,#0000 34%),linear-gradient(135deg,#02081733,#082f491f);min-height:calc(100vh - 118px);overflow:hidden}.tech-console-page:before{pointer-events:none;content:"";opacity:.45;background:radial-gradient(circle,#7dd3fc61 0 1px,#0000 1.5px) 0 0/78px 78px,linear-gradient(#7dd3fc09 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#7dd3fc09 1px,#0000 1px) 0 0/48px 48px;position:absolute;inset:0}.tech-console-page:after{pointer-events:none;content:"";filter:blur(5px);background:linear-gradient(108deg,#0000 0 38%,#38bdf814 48%,#0000 58%),radial-gradient(at 38% 46%,#22d3ee1f,#0000 36%),radial-gradient(at 78% 36%,#6366f11a,#0000 34%);animation:20s ease-in-out infinite alternate tech-skin-glow-drift;position:absolute;inset:-18% -8%}.tech-console-page>*{z-index:1;position:relative}.tech-console-hero{box-shadow:none;background:0 0;border:0}.tech-panel,.tech-panel-strong,.tech-device-stage,.tech-side-rail{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--tech-line);background:radial-gradient(circle at 18% 10%, #22d3ee16, transparent 34%), linear-gradient(145deg, var(--tech-panel), var(--tech-panel-soft));box-shadow:inset 0 0 28px var(--tech-cyan-glow)}.tech-panel,.tech-device-stage{border-radius:var(--tech-radius-panel)}.tech-panel-strong{border-radius:var(--tech-radius-card)}.tech-panel-title strong,.tech-chart-title,.tech-section-title{color:#f0fbff;letter-spacing:0;text-shadow:0 0 14px #22d3ee3d}.tech-panel-title span,.tech-panel-kicker{color:var(--tech-cyan)}.tech-select{min-height:42px;color:var(--tech-text);background:#02081761;border:1px solid #7dd3fc1f}.tech-device-card{border-color:var(--tech-line);box-shadow:inset 0 0 18px var(--tech-cyan-glow);background:radial-gradient(circle at 92% 6%,#22d3ee17,#0000 34%),linear-gradient(160deg,#082f493d,#030e1c29)}.tech-rule-card{background:radial-gradient(circle at 8% 0,#22c55e29,#0000 40%),linear-gradient(90deg,#064e3b38,#030e1c1f);border-color:#22c55e14}.tech-value-glow{color:var(--tech-teal);text-shadow:0 0 12px #22d3ee38}.tech-stat-grid{grid-template-columns:repeat(4,minmax(84px,1fr));place-items:center;gap:clamp(12px,1vw,24px);display:grid}.tech-stat-orb{background:radial-gradient(circle,#22d3ee29,#0000 58%),conic-gradient(from 210deg,#22d3eef2,#22d3ee0f,#22d3eebf);border:0;border-radius:999px;place-items:center;width:92px;min-width:92px;height:92px;min-height:92px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 22px #22d3ee1a,0 0 18px #22d3ee1f}.tech-stat-orb:before{content:"";border-radius:inherit;background:#0208179e;border:1px solid #7dd3fc29;position:absolute;inset:7px;box-shadow:inset 0 0 20px #38bdf814}.tech-stat-orb>*{z-index:1;position:relative}.tech-stat-orb small,.tech-stat-orb span{color:#d2ebffc7}.tech-stat-orb strong{color:var(--tech-text-strong)}.tech-device-stage{background:radial-gradient(at 52% 46%,#22d3ee2e,#0000 30%),radial-gradient(at 72% 70%,#6366f11f,#0000 32%),linear-gradient(145deg,#08203a33,#030e1c14);overflow:hidden}.tech-device-visual{box-shadow:none;background:0 0;border:0}.tech-device-halo{opacity:.88}.device-life-progress{background:linear-gradient(90deg,#7dd3fc24,#0208174f),#02081747;border:1px solid #7dd3fc2e;border-radius:999px;grid-template-columns:minmax(0,1fr) auto;align-items:center;width:min(320px,100%);min-height:36px;padding:3px 14px 3px 18px;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #38bdf812,0 0 18px #22d3ee10}.device-life-progress__track,.device-life-progress__bar{border-radius:inherit;position:absolute;inset:0}.device-life-progress__track{background:linear-gradient(90deg,#67e8f914,#e0f2fe10)}.device-life-progress__bar{background:linear-gradient(90deg,#22d3ee,#67e8f9);width:0;box-shadow:inset 0 0 10px #ecfeff4d,0 0 18px #22d3ee52}.device-life-progress>strong,.device-life-progress>small{z-index:1;position:relative}.device-life-progress>strong{color:#f8fdff;text-overflow:ellipsis;text-shadow:0 0 12px #22d3ee52;white-space:nowrap;font-size:clamp(1.12rem,1vw,1.5rem);font-weight:900;line-height:1;overflow:hidden}.device-life-progress>small{color:#f8fdff;text-shadow:0 0 10px #020817;font-size:.95rem;font-weight:800;line-height:1}.device-life-progress--warning .device-life-progress__bar{background:linear-gradient(90deg,#facc15,#fb923c);box-shadow:inset 0 0 10px #fef9c34d,0 0 18px #facc1552}.device-life-progress--expired .device-life-progress__bar{background:linear-gradient(90deg,#fb7185,#f43f5e);box-shadow:inset 0 0 10px #ffe4e64d,0 0 18px #fb718552}.device-life-progress--unknown{opacity:.75}.tech-status-strip span,.tech-metric-card{background:var(--tech-panel-fill);border-color:#7dd3fc0e;box-shadow:inset 0 0 16px #38bdf805}.tech-side-rail{box-shadow:inset 0 0 32px var(--tech-cyan-glow);background:radial-gradient(at 72% 18%,#22d3ee1a,#0000 32%),radial-gradient(at 80% 72%,#6366f11a,#0000 34%),linear-gradient(145deg,#08203a29,#030e1c0f);border-radius:20px}.tech-side-rail .tech-rail-section{box-shadow:none;background:0 0;border:0}.tech-divider{opacity:.42;background:linear-gradient(90deg,#0000,#38bdf83d,#0000)}.tech-chart-panel{box-shadow:none;background:0 0;border:0}.tech-chart-surface{border-radius:var(--tech-radius-panel);min-height:430px;box-shadow:inset 0 0 28px var(--tech-cyan-glow);background:radial-gradient(circle at 74% 18%,#5762ff47,#0000 36%),radial-gradient(circle at 22% 86%,#22d3ee1f,#0000 34%),linear-gradient(135deg,#04142d6b,#131e4c52,#23164c3d);border:0}.tech-control{border-color:var(--tech-line);background:#02081742}@keyframes tech-skin-glow-drift{0%{transform:translate(-1.5%,-1%)}to{transform:translate(1.5%,1%)}}@keyframes hologram-particle-drift{0%{background-position:4% 12%,72% 18%,28% 82%,0 0,0 0}to{background-position:calc(4% + 92px) calc(12% + 46px),calc(72% - 118px) calc(18% + 59px),calc(28% + 134px) calc(82% - 67px),54px 54px,54px 54px}}@keyframes hologram-light-sweep{0%{transform:translate(-4%,-2%)}to{transform:translate(4%,2%)}}@media (prefers-reduced-motion:reduce){.main-content.tech-dashboard-main:before,.main-content.tech-dashboard-main:after{animation:none}}@media (width<=1560px){.tech-stat-orb{width:82px;min-width:82px;height:82px;min-height:82px}}.audit-panel{gap:18px;display:grid}.audit-filter-bar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;display:flex}.audit-filter-bar label{color:var(--text-muted);gap:8px;min-width:220px;font-size:13px;display:grid}.audit-total{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:8px;padding:9px 14px;font-weight:700;display:inline-flex}.audit-table-wrap{overflow-x:auto}.audit-table{min-width:960px}.audit-table td{vertical-align:top}.audit-table small{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.7;display:block}.audit-action{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;align-items:center;padding:5px 10px;font-weight:800;display:inline-flex}.audit-table code{border:1px solid var(--border);color:#334155;overflow-wrap:anywhere;white-space:normal;background:#f8fafc;border-radius:8px;max-width:360px;padding:8px;font-size:12px;display:block}.user-management-page{gap:18px;display:grid}.user-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.user-stat{border:1px solid var(--border);box-shadow:var(--shadow-soft);background:#fff;border-radius:18px;gap:8px;min-height:132px;padding:20px;display:grid}.user-stat span{color:var(--brand);background:#eff6ff;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.user-stat small{color:var(--text-muted);font-weight:700}.user-stat strong{color:var(--text);font-size:34px;line-height:1}.user-management-layout{grid-template-columns:minmax(320px,.35fr) minmax(0,.65fr);align-items:start;gap:18px;display:grid}.user-create-panel,.user-list-panel{gap:18px;display:grid}.user-create-panel .section-heading>svg{color:var(--brand);background:#eff6ff;border-radius:14px;width:44px;height:44px;padding:10px}.user-form{gap:14px;display:grid}.user-form label{color:var(--text-muted);gap:8px;font-size:13px;font-weight:700;display:grid}.select.compact{min-width:150px;padding:8px 10px}.user-table-wrap{overflow-x:auto}.user-table{min-width:860px}.user-table td{vertical-align:middle}.user-identity{align-items:center;gap:12px;display:flex}.user-identity>span{color:#1d4ed8;background:linear-gradient(135deg,#dbeafe,#ccfbf1);border:1px solid #bfdbfe;border-radius:16px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;font-weight:900;display:inline-flex}.user-identity strong,.user-identity small,.user-identity em{display:block}.user-identity small{color:var(--text-muted);margin-top:4px;font-size:12px}.user-identity em{color:#0f766e;margin-top:4px;font-size:12px;font-style:normal;font-weight:800}.status-pill.active,.status-pill.inactive{border-radius:999px;justify-content:center;align-items:center;min-width:68px;padding:7px 12px;font-size:12px;font-weight:900;display:inline-flex}.status-pill.active{color:#15803d;background:#dcfce7}.status-pill.inactive{color:#64748b;background:#f1f5f9}.section-heading.compact{margin-bottom:14px}.banner.success{color:#15803d;background:#ecfdf5;border-color:#bbf7d0}.empty-state{border:1px dashed var(--border);color:var(--text-muted);background:#f8fafc;border-radius:14px;justify-content:center;align-items:center;min-height:86px;font-weight:800;display:flex}.notification-page{gap:18px;display:grid}.notification-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.notification-layout{grid-template-columns:minmax(320px,.9fr) minmax(0,1.4fr);align-items:start;gap:18px;display:grid}.notification-form-panel,.notification-channel-panel,.notification-event-panel{min-width:0}.notification-form{gap:16px}.notification-form-actions{flex-wrap:wrap;gap:10px;display:flex}.notification-dispatch-result{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px;font-weight:700}.notification-event-table td{vertical-align:top}.user-stat.danger span{color:#dc2626;background:#fee2e2}.user-stat.danger strong{color:#dc2626}@media (width<=1080px){.notification-layout,.user-management-layout,.notification-summary-grid,.user-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.notification-layout,.notification-summary-grid,.user-management-layout,.user-summary-grid{grid-template-columns:1fr}}.history-metrics-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.history-metric-card{background:radial-gradient(circle at 18% 18%,#20c7b51f,#0000 42%),#070f1d9e;border:1px solid #60b5ff24;border-radius:12px;min-height:72px;padding:12px}.history-metric-card span{color:var(--muted);font-size:13px;display:block}.history-metric-card strong{color:var(--text);margin-top:8px;font-size:22px;line-height:1;display:block}.history-metric-card em{color:var(--muted);margin-left:5px;font-size:13px;font-style:normal}.history-chart-shell{background:linear-gradient(#081222f5,#050a15fa),#0b1425;border:1px solid #60b5ff26;border-radius:14px;position:relative;overflow:hidden}.history-chart{width:100%;height:420px}.history-chart-empty{color:var(--muted);text-align:center;pointer-events:none;background:#060c1785;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.pressure-console-hero,.pressure-realtime-board,.history-chart-panel.embedded{border:1px solid var(--line);box-shadow:var(--shadow);background:radial-gradient(circle at 20% 10%,#20c7b529,#0000 34%),linear-gradient(145deg,#112034f5,#080f1efa);border-radius:16px}.pressure-console-hero{grid-template-columns:minmax(760px,1.25fr) minmax(340px,.75fr);gap:22px;min-height:390px;padding:24px;display:grid;position:relative;overflow:hidden}.pressure-console-hero:before{content:"";opacity:.9;border:1px solid #60b5ff24;border-radius:50%;position:absolute;inset:24px 32px;transform:rotate(-12deg)}.pressure-console-hero:after{content:"";opacity:.42;pointer-events:none;background:linear-gradient(90deg,#0000 0 48%,#4db4ff2e 49%,#0000 52%),linear-gradient(28deg,#0000 0 46%,#20c7b533 47%,#0000 51%);position:absolute;inset:0}.pressure-machine-card,.pressure-console-summary,.pressure-realtime-board,.history-chart-panel.embedded{z-index:1;position:relative}.pressure-machine-card{background:radial-gradient(circle at 50% 66%,#22d3ee33,#0000 34%),linear-gradient(#0612237a,#060c18c2);border:1px solid #60b5ff2e;border-radius:14px;grid-template-columns:minmax(360px,.72fr) minmax(220px,.28fr);place-items:center;gap:8px;min-height:340px;padding:34px 28px 30px;display:grid;overflow:hidden}.pressure-machine-card:before{aspect-ratio:1/.3;content:"";background:radial-gradient(#20c7b53d,#0000 62%),repeating-conic-gradient(#50b9ff80 0deg 8deg,#0000 8deg 20deg);border:1px solid #5eb7ff6b;border-radius:50%;width:min(46%,430px);animation:5.2s linear infinite moduleRing;position:absolute;bottom:22px;left:40%;transform:translate(-50%);box-shadow:0 0 36px #22d3ee33;-webkit-mask:radial-gradient(#0000 0 45%,#000 47% 61%,#0000 63%);mask:radial-gradient(#0000 0 45%,#000 47% 61%,#0000 63%)}.pressure-machine-image{z-index:1;filter:drop-shadow(0 28px 34px #00000052);grid-column:1;justify-self:end;width:min(96%,500px);min-width:0;animation:6.4s ease-in-out infinite deviceFloat;position:relative}.machine-screen{z-index:2;background:#030912d1;border:1px solid #67e8f947;border-radius:10px;gap:4px;width:178px;min-width:0;padding:11px 13px;display:grid;position:absolute;top:28px;left:28px;box-shadow:0 0 24px #20c7b52e}.machine-screen span,.machine-screen em{color:var(--muted);font-size:13px;font-style:normal}.machine-screen strong{color:#7bf7e8;font-size:28px;line-height:1}.machine-screen small{color:#a9bad1;font-size:15px}.machine-glow{filter:blur(14px);background:radial-gradient(#22d3ee42,#0000 68%);border-radius:50%;height:110px;position:absolute;inset:auto 14% 12%}.pressure-gauge-card{z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 34%,#20c7b529,#0000 48%),#030912b8;border:1px solid #67e8f938;border-radius:14px;grid-column:2;justify-self:start;gap:10px;width:min(100%,218px);min-width:0;padding:14px;display:grid;position:relative;top:auto;right:auto;transform:none;box-shadow:0 18px 46px #00000047,inset 0 0 26px #38bdf814}.pressure-gauge-card.alarm{background:radial-gradient(circle at 50% 34%,#ff6b7221,#0000 50%),#030912b8;border-color:#ff6b725c}.pressure-gauge-head,.pressure-gauge-scale{justify-content:space-between;align-items:center;gap:10px;display:flex}.pressure-gauge-head span{color:#dff8ff;font-weight:800}.pressure-gauge-head em,.pressure-gauge-scale span{color:var(--muted);font-size:12px;font-style:normal}.pressure-gauge{place-items:center;display:grid}.pressure-gauge-face{aspect-ratio:1;background:radial-gradient(circle at 50% 50%, #07111f 0 43%, transparent 44%), conic-gradient(from 225deg, var(--gauge-color) 0deg var(--gauge-progress), #94a3b82e var(--gauge-progress) 270deg, transparent 270deg 360deg);width:min(100%,154px);box-shadow:0 0 28px color-mix(in srgb, var(--gauge-color) 22%, transparent), inset 0 0 22px #ffffff0f;border-radius:50%;place-items:center;display:grid;position:relative}.pressure-gauge-face:before{content:"";background:radial-gradient(circle,#20c7b51a,#0000 54%),#07111f;border:1px solid #94e8ff1f;border-radius:50%;position:absolute;inset:12px}.pressure-gauge-face:after{content:"";opacity:.5;background:repeating-conic-gradient(from 225deg,#c3e6ff66 0deg 2deg,#0000 2deg 18deg);border-radius:50%;position:absolute;inset:21px;-webkit-mask:radial-gradient(circle,#0000 0 72%,#000 73% 76%,#0000 77%);mask:radial-gradient(circle,#0000 0 72%,#000 73% 76%,#0000 77%)}.pressure-gauge-needle{z-index:2;background:linear-gradient(180deg, #f8fcff, var(--gauge-color));width:3px;height:38%;box-shadow:0 0 14px color-mix(in srgb, var(--gauge-color) 55%, transparent);transform:translateX(-50%) rotate(var(--gauge-needle));transform-origin:50% 100%;border-radius:999px;transition:transform .35s;position:absolute;bottom:50%;left:50%}.pressure-gauge-center{z-index:3;background:var(--gauge-color);width:16px;height:16px;box-shadow:0 0 18px color-mix(in srgb, var(--gauge-color) 48%, transparent);border:3px solid #dff8ff;border-radius:50%;position:absolute}.pressure-gauge-value{z-index:2;justify-items:center;margin-top:62px;display:grid;position:relative}.pressure-gauge-value strong{color:#f8fcff;font-size:22px;line-height:1}.pressure-gauge-value span{color:var(--muted);margin-top:3px;font-size:12px}.pressure-console-summary{flex-direction:column;justify-content:center;min-width:0;display:flex}.pressure-console-summary h2{margin-bottom:12px;font-size:26px}.pressure-console-summary p:not(.eyebrow){max-width:760px;color:var(--muted);line-height:1.75}.machine-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.machine-metric-card{background:#081323c2;border:1px solid #60b5ff2e;border-radius:12px;min-height:116px;padding:14px}.machine-metric-card>span{width:34px;height:34px;color:var(--primary);background:#20c7b524;border-radius:9px;place-items:center;margin-bottom:10px;display:grid}.machine-metric-card small,.machine-metric-card em{color:var(--muted);font-style:normal}.machine-metric-card strong{color:var(--text);margin-top:8px;font-size:26px;display:block}.machine-metric-card strong em{margin-left:6px;font-size:14px}.machine-command-strip{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.machine-command-strip span{color:#cbd5e1;background:#ffffff0a;border:1px solid #60b5ff2e;border-radius:999px;align-items:center;gap:8px;min-height:34px;padding:0 12px;font-size:13px;display:inline-flex}.pressure-realtime-board,.history-chart-panel.embedded{padding:20px}.pressure-table-wrap{background:#060d197a;border:1px solid #60b5ff21;border-radius:14px}.pressure-data-table{min-width:1040px}.pressure-data-table th{background:#ffffff08}.pressure-data-table tr{cursor:pointer}.pressure-data-table tbody tr:hover,.pressure-data-table tbody tr.selected{background:#20c7b514}.pressure-data-table td strong,.pressure-data-table td span{display:block}.pressure-data-table td span{color:var(--muted);margin-top:4px;font-size:12px}.pressure-data-table .metric-cell{color:#7bf7e8;font-size:20px;font-weight:800}.pressure-data-table .metric-cell span{margin-left:5px;font-size:12px;display:inline}@media (width<=1280px){.pressure-console-hero{grid-template-columns:1fr}.pressure-machine-card{grid-template-columns:minmax(320px,.68fr) minmax(210px,.32fr)}.machine-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1080px){.history-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.history-metrics-grid,.machine-metric-grid{grid-template-columns:1fr}.pressure-console-hero,.pressure-realtime-board,.history-chart-panel.embedded{padding:16px}.pressure-machine-card{grid-template-columns:1fr;min-height:280px}.pressure-machine-image{grid-column:1;width:min(92%,320px)}.pressure-gauge-card{grid-column:1;width:min(100%,260px);position:relative;top:auto;right:auto;transform:none}.machine-screen{grid-column:1;justify-self:stretch;width:100%;max-width:230px;margin:0 0 8px;position:relative;top:auto;left:auto}.history-chart{height:340px}}.pressure-console-panel{gap:18px;display:grid}.pressure-console-panel .summary-tile,.pressure-console-panel .content-panel{background:#fff}.pressure-console-hero,.history-chart-panel.embedded{border:1px solid var(--monitor-line);background:radial-gradient(circle at 16% 0%, #20c8ff24, transparent 30%), radial-gradient(circle at 86% 90%, #22c55e14, transparent 26%), linear-gradient(135deg, var(--monitor-panel), var(--monitor-bg));color:#f8fafc;border-radius:8px;box-shadow:0 22px 48px #06142633}.pressure-console-hero{grid-template-columns:minmax(720px,1.1fr) minmax(420px,.9fr);align-items:stretch;gap:28px;padding:28px 30px}.pressure-console-hero:before{border-color:#20c8ff1f}.pressure-console-hero:after{opacity:.42}.pressure-machine-card{border:1px solid var(--monitor-line);background:radial-gradient(circle at 54% 52%,#20c8ff29,#0000 35%),linear-gradient(135deg,#081a2f,#061426);border-radius:8px;grid-template-columns:minmax(190px,.24fr) minmax(360px,.45fr) minmax(260px,.31fr);align-items:center;gap:24px;min-height:390px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff05}.machine-screen{z-index:2;background:radial-gradient(circle at 50% 0,#20c8ff21,#0000 56%),#020811d1;border-color:#20c8ff38;grid-column:1;justify-self:center;width:min(100%,210px);position:relative;top:auto;left:auto;box-shadow:0 18px 38px #00000042}.machine-screen span,.machine-screen small{color:#cbd5e1}.machine-screen strong{color:#7dfcf0}.machine-screen em.normal{color:#22c55e}.machine-screen em.alarm{color:#f43f5e}.machine-screen em.offline{color:#94a3b8}.pressure-machine-image{filter:drop-shadow(0 28px 32px #00000047);grid-column:2;justify-self:center;width:min(100%,430px)}.pressure-machine-image.negative{object-fit:contain;width:min(100%,360px);max-height:340px}.pressure-machine-image.positive{object-fit:contain}.pressure-gauge-card{z-index:2;background:radial-gradient(circle at 50% 18%,#20c8ff24,#0000 58%),#030c18d1;border-color:#20c8ff3d;grid-column:3;justify-self:center;width:min(100%,270px);min-height:252px;position:relative;top:auto;right:auto;transform:none;box-shadow:0 20px 42px #0000003d}.pressure-gauge-head span,.pressure-gauge-value strong{color:#f8fafc}.pressure-gauge-head em,.pressure-gauge-scale span,.pressure-gauge-value span{color:#94a3b8}.pressure-gauge-face{background:radial-gradient(circle at 50% 50%, #07111f 0 43%, transparent 44%), conic-gradient(from 225deg, var(--gauge-color) 0deg var(--gauge-progress), #94a3b833 var(--gauge-progress) 270deg, transparent 270deg 360deg)}.pressure-console-summary,.pressure-console-summary h2,.pressure-console-panel .section-heading h2{color:#f8fafc}.pressure-console-summary p:not(.eyebrow),.pressure-console-panel .section-heading p{color:#b8c7d9}.pressure-console-panel .eyebrow{color:#20c8ff}.machine-metric-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.machine-metric-card{color:#f8fafc;background:#08172bc2;border-color:#20c8ff29}.machine-metric-card>span{color:#20c8ff;background:#20c8ff1f}.machine-metric-card small,.machine-metric-card em{color:#94a3b8}.machine-metric-card strong{color:#f8fafc}.machine-metric-card.muted strong{color:#94a3b8}.machine-command-strip span{color:#cbd5e1;background:#ffffff0d;border-color:#94a3b838}.machine-command-strip span.online{color:#22c55e;background:#22c55e1a;border-color:#22c55e4d}.machine-command-strip span.offline{color:#facc15;background:#facc151a;border-color:#facc1547}.history-chart-panel.embedded{padding:22px}.history-chart-panel.embedded .history-metric-card,.history-chart-panel.embedded .history-chart-shell{color:#f8fafc;box-shadow:none;background:#0614268a;border-color:#20c8ff29}.history-chart-panel.embedded .history-metric-card span,.history-chart-panel.embedded .history-metric-card em{color:#94a3b8}.history-chart-panel.embedded .history-metric-card strong{color:#f8fafc}.history-chart-panel.embedded .select,.history-chart-panel.embedded .segmented-control,.history-chart-panel.embedded .icon-button.subtle{color:#e2e8f0;background:#061426b8;border-color:#20c8ff2e}.history-chart-panel.embedded .segmented-control button{color:#94a3b8}.history-chart-panel.embedded .segmented-control button.active,.history-chart-panel.embedded .segmented-control button:hover{color:#f8fafc;background:#20c8ff24}.history-chart-panel.embedded .history-chart-empty{color:#cbd5e1;background:#061426b8}@media (width<=1380px){.pressure-console-hero{grid-template-columns:1fr}.pressure-machine-card{grid-template-columns:minmax(170px,.22fr) minmax(340px,.46fr) minmax(240px,.32fr)}}@media (width<=1080px){.app-shell{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pressure-machine-card{grid-template-columns:1fr;gap:16px}.machine-screen,.pressure-machine-image,.pressure-gauge-card{grid-column:1}}@media (width<=720px){.main-content,.sidebar{padding:18px}.topbar{margin:-18px -18px 18px;padding:14px 18px}.summary-grid,.machine-metric-grid{grid-template-columns:1fr}.pressure-console-hero,.history-chart-panel.embedded{padding:16px}}.pressure-console-panel .pressure-machine-card{grid-template-rows:minmax(250px,auto) auto auto;grid-template-columns:minmax(190px,.24fr) minmax(360px,.45fr) minmax(270px,.31fr);padding:26px}.pressure-console-panel .left-status-strip{grid-column:1/-1;justify-content:flex-start;width:100%;margin-top:4px}.pressure-console-panel .machine-metric-grid-left{grid-column:1/-1;grid-template-columns:repeat(4,minmax(130px,1fr));width:100%;margin-top:0}.pressure-console-panel .machine-metric-grid-left .machine-metric-card strong{font-size:22px}.energy-monitor-panel{background:radial-gradient(circle at 82% 4%,#22c55e1f,#0000 30%),radial-gradient(circle at 8% 0,#20c8ff1f,#0000 34%),#06142675;border:1px solid #20c8ff2e;border-radius:8px;align-self:stretch;padding:22px}.energy-monitor-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.energy-monitor-head h2{margin:0}.energy-badge,.energy-month-pill{color:#86efac;white-space:nowrap;border:1px solid #22c55e42;border-radius:999px;align-items:center;min-height:32px;padding:6px 12px;font-size:13px;font-weight:900;display:inline-flex}.energy-badge.pending{color:#fde68a;background:#facc1514;border-color:#facc1542}.energy-month-pill{background:#22c55e1a;justify-self:start;margin-top:14px}.energy-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.energy-metric-card{background:#07182cbd;border:1px solid #20c8ff29;border-radius:8px;min-height:150px;padding:18px}.energy-metric-card>span{border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:18px;display:inline-flex}.energy-metric-card.blue>span{color:#38bdf8;background:#20c8ff24}.energy-metric-card.green>span{color:#4ade80;background:#22c55e24}.energy-metric-card.slate>span{color:#cbd5e1;background:#94a3b824}.energy-metric-card small,.energy-metric-card p,.energy-metric-card em{color:#9fb0c4;font-style:normal}.energy-metric-card small{font-weight:800;display:block}.energy-metric-card strong{color:#f8fafc;margin-top:12px;font-size:32px;line-height:1.1;display:block}.energy-metric-card.green strong{color:#4ade80}.energy-metric-card strong em{margin-left:8px;font-size:15px}.energy-metric-card p{margin:8px 0 0;font-size:12px;font-weight:700}.energy-comparison-panel{background:#07182c99;border:1px solid #20c8ff29;border-radius:8px;margin-top:14px;padding:16px 18px 18px}.energy-comparison-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.energy-comparison-head strong{color:#f8fafc;font-size:15px}.energy-comparison-head div{flex-wrap:wrap;justify-content:flex-end;gap:12px;display:flex}.energy-comparison-head .legend{color:#9fb0c4;align-items:center;gap:6px;font-size:12px;font-weight:800;display:inline-flex}.energy-comparison-head .legend:before{content:"";border-radius:999px;width:9px;height:9px}.energy-comparison-head .legend.actual:before{background:#3b82f6}.energy-comparison-head .legend.saved:before{background:#22c55e}.energy-comparison-head .legend.baseline:before{background:#64748b}.energy-comparison-bar{border-radius:999px;grid-template-columns:.45fr .25fr .3fr;min-height:44px;margin-top:18px;display:grid;overflow:hidden}.energy-comparison-bar .segment{color:#f8fafc;text-align:center;justify-content:center;align-items:center;min-width:0;padding:0 10px;font-size:13px;font-weight:900;display:flex}.energy-comparison-bar .segment.actual{background:linear-gradient(135deg,#2563eb,#38bdf8)}.energy-comparison-bar .segment.saved{color:#052e16;background:linear-gradient(135deg,#16a34a,#86efac)}.energy-comparison-bar .segment.baseline{background:linear-gradient(135deg,#475569,#94a3b8)}.energy-saving-rate{color:#4ade80;text-align:center;margin-top:14px;font-size:18px;font-weight:900}@media (width<=1500px){.pressure-console-panel .pressure-console-hero{grid-template-columns:1fr}.energy-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1080px){.pressure-console-panel .pressure-machine-card{grid-template-rows:auto;grid-template-columns:1fr}.pressure-console-panel .machine-screen,.pressure-console-panel .pressure-device-lifecycle,.pressure-console-panel .pressure-machine-image,.pressure-console-panel .pressure-gauge-card,.pressure-console-panel .left-status-strip,.pressure-console-panel .machine-metric-grid-left{grid-column:1}.pressure-console-panel .pressure-device-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;position:relative;top:auto;left:auto}}@media (width<=720px){.energy-monitor-head,.energy-comparison-head{flex-direction:column;align-items:flex-start}.energy-metric-grid,.pressure-console-panel .machine-metric-grid-left,.energy-comparison-bar{grid-template-columns:1fr}.energy-comparison-bar .segment{min-height:38px}}.pressure-console-panel .pressure-console-hero{grid-template-columns:minmax(260px,.26fr) minmax(620px,.48fr) minmax(440px,.26fr);align-items:stretch;min-height:560px;padding:24px}.clinic-info-panel,.pressure-visual-workbench{z-index:1;min-width:0;position:relative}.clinic-info-panel{background:radial-gradient(circle at 0 0,#20c8ff29,#0000 36%),linear-gradient(#08192ed6,#050f1de6);border:1px solid #20c8ff29;border-radius:8px;align-content:start;gap:16px;padding:20px;display:grid;box-shadow:inset 0 0 28px #20c8ff0d}.clinic-info-head{border-bottom:1px solid #94a3b824;gap:4px;padding-bottom:12px;display:grid}.clinic-info-head span{color:#20c8ff;font-size:12px;font-weight:900}.clinic-info-head strong{color:#f8fafc;font-size:20px}.clinic-rule-box span,.clinic-rule-box small{color:#94a3b8;font-size:12px;font-weight:800}.clinic-rule-box{background:#22c55e14;border:1px solid #22c55e2e;border-radius:8px;gap:7px;padding:14px;display:grid}.clinic-rule-box strong{color:#86efac;font-size:20px}.pressure-visual-workbench{grid-template-rows:auto minmax(0,1fr) auto auto;gap:14px;display:grid}.pressure-console-panel .pressure-machine-card{grid-template-rows:minmax(280px,1fr);grid-template-columns:minmax(300px,.6fr) minmax(230px,.4fr);min-height:360px;padding:22px}.pressure-console-panel .pressure-machine-card:before{width:min(64%,430px);left:38%}.pressure-console-panel .machine-screen{width:min(190px,28%);position:absolute;top:22px;left:22px}.pressure-console-panel .pressure-device-lifecycle{z-index:3;gap:6px;min-width:118px;display:grid;position:absolute;top:clamp(18px,5%,26px);right:clamp(20px,4%,34px)}.pressure-console-panel .pressure-device-lifecycle span{gap:2px;display:grid}.pressure-console-panel .pressure-device-lifecycle em{color:#d5ebffa8;font-size:11px;font-style:normal;font-weight:800}.pressure-console-panel .pressure-device-lifecycle strong{color:#72f8ff;font-size:14px;line-height:1}.pressure-console-panel .pressure-machine-image{grid-column:1;justify-self:center;width:min(100%,440px)}.pressure-console-panel .pressure-gauge-card{grid-column:2;justify-self:center;width:min(100%,260px)}.pressure-console-panel .left-status-strip{margin-top:0}.pressure-console-panel .machine-metric-grid-left{grid-template-columns:repeat(4,minmax(0,1fr))}.pressure-console-panel .history-chart-panel.embedded{order:2}@media (width<=1680px){.pressure-console-panel .pressure-console-hero{grid-template-columns:minmax(240px,.28fr) minmax(560px,.44fr) minmax(400px,.28fr)}.energy-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1380px){.pressure-console-panel .pressure-console-hero{grid-template-columns:1fr}.pressure-visual-workbench{grid-row:auto}.clinic-info-panel{grid-template-columns:1fr 1fr;align-items:stretch}.clinic-info-head,.clinic-rule-box{grid-column:1/-1}}@media (width<=960px){.pressure-module-scope>.tabs{padding-right:0}.pressure-console-panel .machine-metric-grid-left,.clinic-info-panel,.pressure-console-panel .pressure-machine-card{grid-template-columns:1fr}.pressure-console-panel .machine-screen{width:100%;position:relative;top:auto;left:auto}.pressure-console-panel .pressure-device-lifecycle{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;position:relative;top:auto;left:auto}}.device-card-empty{color:#94a3b8;background:#06142685;border:1px dashed #20c8ff38;border-radius:8px;place-items:center;min-height:72px;font-weight:800;display:grid}.device-selector-field{gap:8px;display:grid}.device-selector-field span{color:#94a3b8;font-size:12px;font-weight:900}.device-selector-field select{color:#f8fafc;background:#061426c7;border:1px solid #20c8ff38;border-radius:8px;outline:none;width:100%;min-height:42px;padding:0 12px}.device-selector-field select:focus{border-color:#20c8ff80;box-shadow:0 0 0 3px #20c8ff14}.device-selector-field select:disabled{cursor:not-allowed;color:#64748b}.device-realtime-card{color:#f8fafc;text-align:left;background:radial-gradient(circle at 100% 0,#20c8ff1f,#0000 36%),#06142694;border:1px solid #20c8ff24;border-radius:8px;gap:12px;width:100%;padding:14px;display:grid}.device-realtime-card.selected{background:radial-gradient(circle at 100% 0,#20c8ff2e,#0000 36%),#08203ac2;border-color:#20c8ff70;box-shadow:0 0 0 1px #20c8ff14,0 16px 34px #0000002e}.device-realtime-card-head,.device-realtime-card-main,.device-realtime-card-metrics,.device-realtime-card-foot{display:block}.device-realtime-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.device-realtime-card strong,.device-realtime-card small,.device-realtime-card em{display:block}.device-realtime-card strong{overflow-wrap:anywhere;color:#f8fafc;font-size:15px;line-height:1.25}.device-realtime-card small,.device-realtime-card em,.device-realtime-card-foot{color:#94a3b8;font-size:12px;font-style:normal}.device-realtime-card-head>em{color:#64748b;background:#f1f5f9;border-radius:999px;flex:none;padding:5px 10px;font-weight:900}.device-realtime-card-head>em.normal{color:#4ade80;background:#22c55e24}.device-realtime-card-head>em.alarm{color:#fb7185;background:#f43f5e24}.device-realtime-card-head>em.offline{color:#cbd5e1;background:#94a3b824}.device-realtime-card-main{gap:10px;padding-top:2px;display:grid}.device-realtime-card-main>span{gap:3px;display:grid}.device-realtime-card-metrics{border-top:1px solid #94a3b81f;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px;display:grid}.device-realtime-card-metrics>span{gap:4px;min-width:0;display:grid}.device-realtime-card-metrics strong{color:#7dfcf0;font-size:14px}.device-realtime-card-metrics strong em{color:#94a3b8;margin-left:4px;display:inline}.device-realtime-card-foot{border-top:1px solid #94a3b81f;padding-top:10px;font-weight:800}.selected-device-brief{display:none}.clinic-info-panel .clinic-info-list{gap:8px}.clinic-info-panel .clinic-info-line{padding-bottom:8px}.pressure-console-panel .pressure-console-hero{grid-template-columns:minmax(320px,.24fr) minmax(500px,.36fr) minmax(560px,.4fr);gap:18px;min-height:760px}.pressure-console-panel .clinic-info-panel{align-self:start;min-height:0}.pressure-visual-workbench{min-height:0}.monitoring-compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.monitoring-compact-stat{text-align:center;background:radial-gradient(circle at 50% 32%,#20c8ff29,#0000 52%),#0614269e;border:1px solid #20c8ff2e;border-radius:8px;place-items:center;min-height:82px;display:grid;position:relative;overflow:hidden}.monitoring-compact-stat:before{content:"";opacity:.86;border:2px solid #20c8ff2b;border-top-color:currentColor;border-radius:999px;width:54px;height:54px;position:absolute}.monitoring-compact-stat.blue{color:#20c8ff}.monitoring-compact-stat.green{color:#22c55e}.monitoring-compact-stat.danger{color:#f43f5e}.monitoring-compact-stat span,.monitoring-compact-stat strong{z-index:1;display:block;position:relative}.monitoring-compact-stat span{color:#9fb0c4;align-self:end;font-size:11px;font-weight:900}.monitoring-compact-stat strong{color:#f8fafc;align-self:start;margin-top:5px;font-size:20px;line-height:1}.monitoring-compact-stat em{color:#94a3b8;margin-left:3px;font-size:11px;font-style:normal}.pressure-console-panel .pressure-machine-card{min-height:390px}.pressure-right-rail{z-index:1;grid-template-rows:auto minmax(360px,1fr);align-content:start;gap:16px;min-width:0;display:grid;position:relative}.pressure-right-rail .energy-monitor-panel{min-height:0;padding:18px}.pressure-right-rail .energy-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.pressure-right-rail .history-chart-panel.embedded{order:initial;min-height:0;padding:18px}.pressure-right-rail .history-chart-panel.embedded .section-heading{align-items:flex-start;gap:12px}.pressure-right-rail .history-chart-panel.embedded .section-heading h2{font-size:17px}.pressure-right-rail .history-chart-panel.embedded .section-heading p{font-size:12px;line-height:1.6}.pressure-right-rail .history-actions{justify-content:flex-start}.pressure-right-rail .history-actions .segmented-control{min-width:0}.pressure-right-rail .history-actions .select{width:100%}.pressure-right-rail .history-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.history-compact-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.pressure-right-rail .history-metric-card{min-height:74px;padding:12px}.pressure-right-rail .history-metric-card strong{font-size:20px}.history-chart-panel.compact .history-heading{gap:12px;display:grid}.history-chart-panel.compact .history-heading p{margin:0}.history-chart-panel.compact .history-actions{grid-template-columns:minmax(0,1fr);width:100%;display:grid}.history-chart-panel.compact .segmented-control{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.history-chart-panel.compact .select{width:100%}.history-chart-panel.compact .history-metric-card{min-height:56px}.history-chart-panel.compact .history-metric-card span{font-size:11px}.history-chart-panel.compact .history-metric-card strong{font-size:18px}.pressure-console-panel .pressure-realtime-board{order:initial}@media (width<=1680px){.pressure-console-panel .pressure-console-hero{grid-template-columns:minmax(300px,.24fr) minmax(460px,.36fr) minmax(500px,.4fr)}.monitoring-compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=1380px){.pressure-console-panel .pressure-console-hero{grid-template-columns:1fr}.pressure-right-rail{grid-template-rows:auto auto;grid-template-columns:1fr}}@media (width<=720px){.monitoring-compact-stats,.pressure-right-rail .history-metrics-grid,.device-realtime-card-metrics{grid-template-columns:1fr}}.pressure-console-panel .pressure-console-hero{min-height:680px}.pressure-visual-workbench{background:radial-gradient(circle at 52% 58%,#20c8ff29,#0000 30%),radial-gradient(circle at 38% 78%,#14b8a629,#0000 24%),linear-gradient(#0614261a,#06142657);border-radius:8px;grid-template-rows:auto minmax(380px,1fr) auto auto;gap:10px;display:grid;position:relative;overflow:hidden}.pressure-visual-workbench:before{content:"";opacity:.9;border:1px solid #20c8ff1a;border-radius:50%;height:54%;position:absolute;inset:16% -16% auto 2%;transform:rotate(-10deg)}.pressure-visual-workbench:after{content:"";opacity:.8;background:linear-gradient(90deg,#0000,#20c8ff61,#0000);height:1px;position:absolute;inset:auto 8% 16% 18%;transform:rotate(-12deg);box-shadow:0 -70px #20c8ff0f,0 70px #14b8a60f}.pressure-visual-workbench>*{z-index:1;position:relative}.pressure-visual-workbench .monitoring-compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pressure-visual-workbench .monitoring-compact-stat{background:radial-gradient(circle at 50% 42%,#20c8ff1f,#0000 58%),#06142661;border-color:#20c8ff24;min-height:62px;box-shadow:inset 0 0 18px #20c8ff0a}.pressure-visual-workbench .monitoring-compact-stat:before{opacity:.72;width:42px;height:42px}.pressure-console-panel .pressure-machine-card{min-height:420px;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:block;overflow:visible}.pressure-console-panel .pressure-machine-card:before{opacity:.86;width:min(62%,420px);bottom:18px;left:44%}.pressure-console-panel .machine-screen{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0309129e;border-color:#20c8ff38;width:180px;top:10%;left:6%;box-shadow:0 0 0 1px #20c8ff0f,0 18px 38px #0003}.pressure-console-panel .pressure-machine-image{width:min(46%,330px);position:absolute;top:44%;left:35%;transform:translate(-50%,-50%)}.pressure-console-panel .pressure-gauge-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 50% 18%,#20c8ff1f,#0000 58%),#030c18ad;border-color:#20c8ff33;width:min(36%,235px);min-height:214px;position:absolute;top:48%;right:5%;box-shadow:0 0 0 1px #20c8ff0a,0 18px 42px #0003}.pressure-console-panel .left-status-strip{justify-content:center;margin-top:-6px}.pressure-console-panel .left-status-strip span{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0614266b;min-height:30px}.pressure-console-panel .machine-metric-grid-left .machine-metric-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0614266b;border-color:#20c8ff21;min-height:66px;padding:10px 12px}.pressure-console-panel .machine-metric-grid-left .machine-metric-card small{font-size:11px}.pressure-console-panel .machine-metric-grid-left .machine-metric-card strong{margin-top:4px;font-size:16px}@media (width<=1380px){.pressure-console-panel .pressure-machine-image,.pressure-console-panel .pressure-machine-image.negative{width:min(72%,340px);position:relative;top:auto;left:auto;transform:none}.pressure-console-panel .pressure-gauge-card{width:min(100%,260px);margin:0 auto;position:relative;top:auto;right:auto}.pressure-console-panel .pressure-machine-card{justify-items:center;gap:18px;display:grid}}.pressure-console-panel .pressure-console-hero{grid-template-columns:minmax(300px,.25fr) minmax(440px,.34fr) minmax(500px,.41fr);align-items:start;gap:16px;min-height:620px}.pressure-visual-workbench{grid-template-rows:auto minmax(330px,auto) auto;align-content:start;gap:12px;min-height:0;padding:0 4px}.pressure-visual-workbench:before{height:48%;inset:18% -10% auto 0}.pressure-visual-workbench .monitoring-compact-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.pressure-console-panel .machine-screen strong{font-size:24px}.pressure-console-panel .pressure-machine-image,.pressure-console-panel .pressure-machine-image.negative{object-fit:contain;width:min(52%,310px);max-height:260px;top:54%;left:46%}.pressure-console-panel .pressure-machine-image.positive{width:min(58%,330px)}.pressure-console-panel .left-status-strip{justify-content:flex-start;gap:8px;margin-top:0}.pressure-console-panel .left-status-strip span{min-height:28px;padding:0 10px;font-size:12px}.pressure-console-panel .machine-metric-grid-left{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pressure-console-panel .machine-metric-grid-left .machine-metric-card{min-height:58px;padding:9px 10px}.pressure-console-panel .machine-metric-grid-left .machine-metric-card>span{width:24px;height:24px;margin-bottom:4px}.pressure-right-rail{grid-template-rows:auto minmax(300px,auto);gap:14px}.pressure-right-rail .energy-monitor-panel{overflow:hidden}.pressure-right-rail .energy-comparison-head{flex-direction:column;align-items:flex-start}.pressure-right-rail .history-chart-shell{min-height:330px}.pressure-right-rail .history-chart{height:330px}@media (width<=1560px){.pressure-console-panel .pressure-console-hero{grid-template-columns:minmax(280px,.24fr) minmax(400px,.34fr) minmax(460px,.42fr)}.pressure-visual-workbench .monitoring-compact-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.pressure-visual-workbench .monitoring-compact-stats{gap:12px}.pressure-visual-workbench .monitoring-compact-stat:before{width:50px;height:50px}.pressure-visual-workbench .monitoring-compact-stat span{font-size:11px}.pressure-console-panel .pressure-machine-card{min-height:390px;max-height:400px}.pressure-console-panel .machine-screen{top:12%;left:5%}.pressure-console-panel .pressure-machine-image,.pressure-console-panel .pressure-machine-image.negative{width:min(42%,235px);max-height:245px;top:61%;left:35%}.pressure-console-panel .pressure-machine-image.positive{width:min(48%,270px);top:60%;left:34%}.pressure-console-panel .pressure-gauge-card{width:min(30%,178px);min-height:168px;padding:12px;top:61%;right:5%}.pressure-console-panel .pressure-gauge-face{width:min(100%,102px)}.pressure-console-panel .pressure-gauge-value{margin-top:40px}.pressure-console-panel .pressure-gauge-value strong{font-size:18px}.pressure-console-panel .pressure-gauge-head span{font-size:15px}.pressure-console-panel .pressure-gauge-head em,.pressure-console-panel .pressure-gauge-scale{font-size:11px}.pressure-right-rail .energy-monitor-panel{padding:16px}.pressure-right-rail .energy-monitor-head{align-items:center;margin-bottom:10px}.pressure-right-rail .energy-month-pill{min-height:28px;margin:8px 0 12px;padding:6px 12px}.pressure-right-rail .energy-metric-card>span{width:30px;height:30px;margin-bottom:8px}.pressure-right-rail .energy-metric-card small{font-size:11px}.pressure-right-rail .energy-metric-card strong{font-size:17px}.pressure-right-rail .energy-metric-card p{margin-top:5px;font-size:10px}.pressure-right-rail .energy-comparison-panel{margin-top:10px;padding:12px}.pressure-right-rail .energy-comparison-head{gap:6px}.pressure-right-rail .energy-comparison-head strong{font-size:12px}.pressure-right-rail .energy-comparison-head div{gap:8px}.pressure-right-rail .energy-comparison-head .legend{font-size:10px}.pressure-right-rail .energy-comparison-bar{min-height:28px;margin-top:8px}.pressure-right-rail .energy-saving-rate{margin-top:8px;font-size:17px}@media (width<=1560px){.pressure-console-panel .pressure-machine-image,.pressure-console-panel .pressure-machine-image.negative{width:min(40%,215px);left:32%}.pressure-console-panel .pressure-machine-image.positive{width:min(46%,250px);left:31%}.pressure-console-panel .pressure-gauge-card{width:min(36%,190px);right:3%}.pressure-right-rail .energy-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pressure-console-panel .pressure-console-hero{grid-template-columns:minmax(320px,.26fr) minmax(460px,.36fr) minmax(520px,.38fr)}.pressure-visual-workbench{grid-template-rows:96px minmax(390px,auto) auto auto;gap:12px}.pressure-visual-workbench .monitoring-compact-stats{grid-template-columns:repeat(4,minmax(0,1fr));align-self:stretch}.pressure-visual-workbench .monitoring-compact-stat{min-height:82px}.pressure-console-panel .pressure-machine-card{grid-template-columns:minmax(0,1fr) minmax(176px,.34fr);align-items:center;gap:22px;min-height:390px;max-height:none;padding:84px 24px 34px;display:grid}.pressure-console-panel .pressure-machine-card:before{width:min(58%,340px);bottom:30px;left:38%}.pressure-console-panel .machine-screen{width:176px;top:22px;left:24px}.pressure-console-panel .pressure-machine-image,.pressure-console-panel .pressure-machine-image.negative,.pressure-console-panel .pressure-machine-image.positive{object-fit:contain;grid-area:1/1;justify-self:center;width:min(82%,300px);max-height:250px;position:relative;top:auto;left:auto;transform:none}.pressure-console-panel .pressure-machine-image.negative{width:min(72%,245px)}.pressure-console-panel .pressure-gauge-card{grid-area:1/2;justify-self:end;width:100%;min-width:174px;max-width:210px;min-height:186px;position:relative;top:auto;right:auto}.pressure-console-panel .left-status-strip{grid-row:3}.pressure-console-panel .machine-metric-grid-left{grid-row:4}.pressure-right-rail .energy-monitor-panel{grid-template-rows:auto auto auto auto;gap:8px;min-height:0;padding:14px;display:grid}.pressure-right-rail .energy-monitor-head h2{font-size:19px}.pressure-right-rail .energy-month-pill{margin:0}.pressure-right-rail .energy-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pressure-right-rail .energy-metric-card{min-height:74px}.pressure-right-rail .energy-comparison-panel{margin-top:2px}.pressure-right-rail .history-chart-panel.compact .history-header{grid-template-columns:minmax(0,.7fr) minmax(0,1fr)}.pressure-right-rail .history-chart-panel.compact .history-metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=1560px){.pressure-console-panel .pressure-console-hero{grid-template-columns:minmax(290px,.25fr) minmax(430px,.35fr) minmax(470px,.4fr)}.pressure-console-panel .pressure-machine-card{grid-template-columns:minmax(0,1fr) minmax(158px,.34fr);padding-inline:18px}.pressure-console-panel .pressure-machine-image,.pressure-console-panel .pressure-machine-image.positive{width:min(78%,260px)}.pressure-console-panel .pressure-machine-image.negative{width:min(70%,220px)}.pressure-console-panel .pressure-gauge-card{min-width:150px;max-width:178px}.pressure-right-rail .energy-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.pressure-visual-workbench{grid-template-rows:124px minmax(405px,auto) auto auto}.pressure-visual-workbench .monitoring-compact-stats{align-items:center;padding:8px 8px 4px}.pressure-visual-workbench .monitoring-compact-stat{background:radial-gradient(circle at 50% 46%,#20c8ff2e,#0000 50%),#06142657;border-color:#20c8ff2e;min-height:104px}.pressure-visual-workbench .monitoring-compact-stat:before{opacity:.82;background:radial-gradient(circle,#20c8ff2e,#0000 58%),conic-gradient(from 220deg,#20c8fff2,#20c8ff14,#20c8fff2);border:1px solid #20c8ff66;width:72px;height:72px;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 22px #20c8ff2e,inset 0 0 20px #20c8ff24}.pressure-visual-workbench .monitoring-compact-stat span,.pressure-visual-workbench .monitoring-compact-stat strong{z-index:1;position:relative}.pressure-visual-workbench .monitoring-compact-stat span{color:#8cecff;font-size:12px}.pressure-visual-workbench .monitoring-compact-stat strong{font-size:24px}.pressure-visual-workbench .monitoring-compact-stat strong em{font-size:12px}.pressure-console-panel .pressure-machine-card{min-height:415px;padding-top:112px}.pressure-console-panel .machine-screen{top:36px}.pressure-console-panel .pressure-machine-image,.pressure-console-panel .pressure-machine-image.negative,.pressure-console-panel .pressure-machine-image.positive{align-self:end;margin-bottom:12px}.pressure-console-panel .pressure-gauge-card{align-self:end;margin-bottom:14px}.pressure-right-rail .energy-monitor-panel{gap:8px;padding:14px 16px}.pressure-right-rail .energy-monitor-head{grid-template-columns:minmax(0,1fr) auto;margin:0;display:grid}.pressure-right-rail .energy-monitor-head .eyebrow{font-size:11px}.pressure-right-rail .energy-monitor-head h2{font-size:18px;line-height:1.2}.pressure-right-rail .energy-month-pill{min-height:26px;padding:5px 12px;font-size:12px}.pressure-right-rail .energy-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.pressure-right-rail .energy-metric-card{min-height:84px;padding:10px 12px}.pressure-right-rail .energy-comparison-panel{padding:10px 12px}.pressure-right-rail .energy-comparison-head{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.pressure-right-rail .energy-comparison-head div{white-space:nowrap;justify-content:flex-end}.pressure-right-rail .energy-comparison-bar{min-height:30px}@media (width<=1560px){.pressure-visual-workbench{grid-template-rows:156px minmax(395px,auto) auto auto}.pressure-visual-workbench .monitoring-compact-stat{min-height:70px}.pressure-visual-workbench .monitoring-compact-stat:before{width:56px;height:56px}.pressure-right-rail .energy-metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.pressure-right-rail .energy-metric-card{min-width:0}}.pressure-right-rail{grid-template-rows:minmax(198px,auto) minmax(500px,1fr)}.pressure-right-rail .history-chart-panel.embedded.compact{grid-template-rows:auto auto minmax(0,1fr);gap:10px;padding:14px;display:grid}.pressure-right-rail .history-chart-panel.compact .history-heading{grid-template-columns:minmax(120px,.32fr) minmax(0,.68fr);align-items:end;gap:10px;display:grid}.pressure-right-rail .history-chart-panel.compact .history-heading h2{margin:0;font-size:17px;line-height:1.15}.pressure-right-rail .history-chart-panel.compact .history-heading p{display:none}.pressure-right-rail .history-chart-panel.compact .history-actions{grid-template-columns:minmax(180px,.48fr) minmax(0,.52fr);align-items:center;gap:8px;width:100%;display:grid}.pressure-right-rail .history-chart-panel.compact .segmented-control{height:34px}.pressure-right-rail .history-chart-panel.compact .segmented-control button{min-height:32px;padding:0 8px;font-size:12px}.pressure-right-rail .history-chart-panel.compact .select{height:34px;min-height:34px;padding-block:0;font-size:12px}.pressure-right-rail .history-compact-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.pressure-right-rail .history-chart-panel.compact .history-metric-card{background:#06142657;border-color:#20c8ff1a;min-height:40px;padding:7px 10px}.pressure-right-rail .history-chart-panel.compact .history-metric-card span{opacity:.72;font-size:10px}.pressure-right-rail .history-chart-panel.compact .history-metric-card strong{margin-top:2px;font-size:16px}.pressure-right-rail .history-chart-panel.compact .history-metric-card em{font-size:10px}.pressure-right-rail .history-chart-panel.compact .history-chart-shell{min-height:470px}.pressure-right-rail .history-chart-panel.compact .history-chart{height:470px}@media (width<=1560px){.pressure-right-rail{grid-template-rows:minmax(198px,auto) minmax(450px,1fr)}.pressure-right-rail .history-chart-panel.compact .history-heading,.pressure-right-rail .history-chart-panel.compact .history-actions{grid-template-columns:1fr}.pressure-right-rail .history-chart-panel.compact .history-chart-shell{min-height:430px}.pressure-right-rail .history-chart-panel.compact .history-chart{height:430px}}.tech-page-bg{background:radial-gradient(circle at 18% 12%,#20c8ff2e,#0000 28%),radial-gradient(circle at 72% 20%,#405dff24,#0000 30%),radial-gradient(circle at 58% 88%,#14b8a629,#0000 34%),linear-gradient(135deg,#031225 0%,#061b31 48%,#020814 100%);position:relative;overflow:hidden}.tech-grid-bg:before{z-index:0;pointer-events:none;content:"";opacity:.7;background:linear-gradient(#37beff0e 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#37beff0e 1px,#0000 1px) 0 0/44px 44px,radial-gradient(circle at 12% 22%,#ffffff6b 0 1px,#0000 2px) 0 0/280px 220px,radial-gradient(circle at 34% 72%,#20c8ff61 0 1px,#0000 2px) 0 0/340px 260px,radial-gradient(circle at 78% 18%,#ffffff59 0 1px,#0000 2px) 0 0/300px 240px,radial-gradient(circle at 92% 68%,#20c8ff52 0 1px,#0000 2px) 0 0/360px 280px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000000eb,#0000009e);mask-image:linear-gradient(#000000eb,#0000009e)}.tech-grid-bg:after{z-index:0;pointer-events:none;content:"";filter:blur(4px);opacity:.78;background:radial-gradient(at 20% 40%,#20c8ff29,#0000 24%),radial-gradient(at 82% 64%,#3a7bff1f,#0000 28%),linear-gradient(112deg,#0000 0 40%,#20c8ff1c 48%,#0000 56% 100%);animation:18s ease-in-out infinite alternate techGlowDrift;position:absolute;inset:-20% -12%}.glass-panel,.glass-panel-strong,.glow-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08203ab8;border:1px solid #37beff38;border-radius:16px;box-shadow:0 0 24px #00aeff14}.glass-panel-strong{background:radial-gradient(circle at 20% 12%,#20c8ff1a,#0000 34%),#08203ac7;box-shadow:0 0 24px #00aeff1a,inset 0 1px #ffffff0d}.glass-panel:hover,.glass-panel-strong:hover,.glow-card:hover{border-color:#37beff57;transform:translateY(-2px);box-shadow:0 2px 24px #00aeff1f,0 0 0 1px #37beff0d}.status-pill{color:#dff9ff;background:#0614269e;border:1px solid #37beff3d;border-radius:999px;box-shadow:0 0 18px #20c8ff1f}.metric-value-cyan{color:#67fff1;text-shadow:0 0 18px #20ffec42}.energy-gradient-bar{background:linear-gradient(90deg,#1e5effeb,#20c8ffd9 44%,#22c55ec7 66%,#94a3b8bd);box-shadow:inset 0 0 18px #ffffff14,0 0 18px #20c8ff1a}.device-halo{pointer-events:none;filter:blur(3px);background:radial-gradient(#20c8ff40,#20c8ff14 48%,#0000 72%);border-radius:50%;width:min(42%,260px);height:54px;position:absolute;bottom:52px;left:31%;transform:translate(-50%)}.soft-float{animation:5.6s ease-in-out infinite softFloat}.negative-tech-page>*{z-index:1;position:relative}.negative-tech-page.pressure-console-panel{color:#edfaff}.negative-tech-page .pressure-console-hero{background:radial-gradient(circle at 48% 52%,#20c8ff24,#0000 36%),linear-gradient(90deg,#030c18b8,#05122280);border:0;box-shadow:inset 0 0 0 1px #37beff2e,0 18px 60px #0003}.negative-tech-page .clinic-info-panel,.negative-tech-page .pressure-visual-workbench,.negative-tech-page .energy-monitor-panel,.negative-tech-page .history-chart-panel.embedded{transition:border-color .18s,box-shadow .18s,transform .18s}.negative-tech-page .clinic-info-head span,.negative-tech-page .energy-monitor-head .eyebrow,.negative-tech-page .history-chart-panel .section-heading h2{color:#35e5ff;text-shadow:0 0 18px #20c8ff38}.negative-tech-page .device-realtime-card.selected{background:linear-gradient(135deg,#092d4ad1,#071a31bd);border-color:#37beff52;box-shadow:inset 0 0 22px #20c8ff0a}.negative-tech-page .device-realtime-card-metrics strong,.negative-tech-page .machine-screen strong,.negative-tech-page .pressure-gauge-value strong{color:#67fff1;text-shadow:0 0 18px #20ffec42}.negative-tech-page .clinic-rule-box{background:linear-gradient(90deg,#14b8a629,#22c55e14),#041c1fb8;border-color:#22c55e3d}.negative-tech-page .clinic-rule-box strong{color:#74f7a3;text-shadow:0 0 16px #22c55e38}.negative-tech-page .monitoring-compact-stat{background:radial-gradient(circle at 50% 48%,#20c8ff2e,#0000 54%),#08203a85;border-radius:18px}.negative-tech-page .pressure-machine-card{background:radial-gradient(circle at 35% 70%,#20c8ff33,#0000 32%),linear-gradient(135deg,#0413238f,#05182d57)}.negative-tech-page .pressure-machine-card:after{pointer-events:none;content:"";background:linear-gradient(90deg,#0000,#20c8ff80,#0000);height:1px;animation:9s linear infinite techLineFlow;position:absolute;inset:auto 14% 24px;box-shadow:0 -84px #20c8ff0e}.negative-tech-page .left-status-strip span,.negative-tech-page .device-realtime-card-head em{background:#0614269e;border:1px solid #37beff3d;border-radius:999px;box-shadow:0 0 18px #20c8ff1f}.negative-tech-page .left-status-strip .online{color:#74f7a3;border-color:#22c55e57}.negative-tech-page .machine-metric-card,.negative-tech-page .energy-metric-card,.negative-tech-page .history-metric-card{background:#0614267a;border-color:#37beff2e}.negative-tech-page .energy-month-pill{color:#74f7a3;background:linear-gradient(90deg,#22c55e33,#14b8a614),#06142685;border-color:#22c55e47}.negative-tech-page .energy-comparison-panel{background:#0614266b;border-color:#37beff29}.negative-tech-page .history-chart-shell{background:radial-gradient(circle at 82% 18%,#20c8ff14,#0000 34%),#04122280;border-color:#37beff29;box-shadow:inset 0 0 28px #20c8ff0a}.negative-tech-page .pressure-gauge-card.alarm,.negative-tech-page .machine-screen .alarm,.negative-tech-page .device-realtime-card-head em.alarm{animation:2.6s ease-in-out infinite alarmSoftPulse}@keyframes techGlowDrift{0%{transform:translate(-1.5%,-1%)scale(1)}to{transform:translate(2%,1.5%)scale(1.04)}}@keyframes softFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes techLineFlow{0%{opacity:.38;transform:translate(-3%)}to{opacity:.72;transform:translate(3%)}}@keyframes alarmSoftPulse{0%,to{box-shadow:0 0 16px #f43f5e24}50%{box-shadow:0 0 24px #f43f5e4d}}@media (width<=1380px){.negative-tech-page.tech-page-bg{overflow:visible}.device-halo{bottom:24px;left:50%}}.tech-dashboard-main{color:#eaf8ff;background:radial-gradient(circle at 18% 12%,#20c8ff2e,#0000 28%),radial-gradient(circle at 74% 18%,#405dff29,#0000 32%),radial-gradient(circle at 56% 88%,#14b8a624,#0000 34%),linear-gradient(135deg,#031225 0%,#061b31 48%,#020814 100%);min-height:100vh;position:relative;overflow:hidden auto}.tech-dashboard-main:before{z-index:0;pointer-events:none;content:"";opacity:.55;background:linear-gradient(#37beff0b 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#37beff0b 1px,#0000 1px) 0 0/44px 44px,radial-gradient(circle at 12% 16%,#ffffff57 0 1px,#0000 2px) 0 0/260px 220px,radial-gradient(circle at 38% 78%,#20c8ff4d 0 1px,#0000 2px) 0 0/340px 260px,radial-gradient(circle at 84% 24%,#ffffff47 0 1px,#0000 2px) 0 0/300px 240px;position:fixed;inset:0}.tech-dashboard-main:after{z-index:0;pointer-events:none;content:"";filter:blur(4px);background:radial-gradient(circle at 20% 40%,#20c8ff1f,#0000 22%),radial-gradient(circle at 80% 65%,#3a7bff1a,#0000 26%),linear-gradient(110deg,#0000 0 42%,#20c8ff14 50%,#0000 58%);animation:18s ease-in-out infinite alternate techGlowDrift;position:fixed;inset:-20% -10%}.tech-dashboard-main>*{z-index:1;position:relative}.tech-dashboard-main .tech-topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#030e1cc2;border-bottom:1px solid #37beff29;box-shadow:0 12px 40px #00000038}.tech-dashboard-main .tech-topbar h1,.tech-dashboard-main .tech-topbar .eyebrow{color:#eaf8ff}.tech-dashboard-main .tech-topbar .eyebrow{color:#67dfff}.tech-dashboard-main .icon-button,.tech-dashboard-main .alarm-bell-button,.tech-dashboard-main .user-chip{color:#eaf8ff;background:#08203a8f;border-color:#37beff2e}.tech-dashboard-main .user-chip{color:#67fff1}.tech-dashboard-main .alarm-bell-button strong{color:#0e7490;background:#cffafe}.tech-dashboard-main .alarm-bell-button.has-alert strong{color:#be123c;background:#ffe4e6}.tech-dashboard-main .tabs{margin-bottom:18px}.tech-dashboard-main .tab-button{color:#a9c6d8;box-shadow:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#08203a7a;border:1px solid #37beff2e}.tech-dashboard-main .tab-button.active{color:#67fff1;background:#20c8ff1f;border-color:#37beff80;box-shadow:0 0 18px #20c8ff1f}.tech-dashboard-main .pressure-console-panel{background:0 0}.tech-dashboard-main .pressure-console-panel .pressure-console-hero{box-shadow:none;background:0 0;border:0;gap:18px;padding:0}.tech-dashboard-main .pressure-console-panel .pressure-console-hero:before,.tech-dashboard-main .pressure-console-panel .pressure-console-hero:after{opacity:.28}.tech-dashboard-main .glass-panel,.tech-dashboard-main .glass-panel-strong,.tech-dashboard-main .glow-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(145deg,#08203ab8,#051222a3);border:1px solid #37beff38;border-radius:16px;box-shadow:0 0 24px #00aeff14,inset 0 1px #ffffff0a}.tech-dashboard-main .glass-panel-strong{background:radial-gradient(circle at 20% 12%,#20c8ff1a,#0000 34%),linear-gradient(145deg,#08203ad1,#04101fb8)}.tech-dashboard-main .pressure-console-panel .clinic-info-panel,.tech-dashboard-main .pressure-console-panel .pressure-visual-workbench,.tech-dashboard-main .pressure-right-rail .energy-monitor-panel,.tech-dashboard-main .history-chart-panel.embedded{border-color:#37beff33}.tech-dashboard-main .history-chart-panel.embedded{background:radial-gradient(circle at 82% 18%,#20c8ff14,#0000 34%),#04122294;border:1px solid #37beff2e;box-shadow:inset 0 0 28px #20c8ff0a}.tech-dashboard-main .history-chart-shell{background:#020a1680;border-color:#37beff24}.tech-dashboard-main .history-chart-panel.embedded .select,.tech-dashboard-main .history-chart-panel.embedded .segmented-control{background:#051222ad;border-color:#37beff29}.tech-dashboard-main .device-halo{opacity:.9}.tech-dashboard-main .pressure-machine-image{filter:drop-shadow(0 24px 36px #00000061)drop-shadow(0 0 20px #20c8ff1f)}.history-chart-panel.embedded .history-chart-shell{background:radial-gradient(circle at 70% 20%,#5762ff47,#0000 35%),radial-gradient(circle at 22% 78%,#14b8a629,#0000 34%),linear-gradient(135deg,#04142df5,#131e4ceb,#23164cc7);border-color:#38bdf83d;position:relative;overflow:hidden;box-shadow:inset 0 0 32px #38bdf814,0 18px 40px #0208173d}.history-chart-panel.embedded .history-chart-shell:before{content:"";pointer-events:none;opacity:.46;background-color:#0000;background-image:linear-gradient(#7dd3fc0e 1px,#0000 1px),linear-gradient(90deg,#7dd3fc0a 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.history-chart-panel.embedded .history-chart-shell:after{content:"";pointer-events:none;filter:blur(6px);opacity:.72;background:linear-gradient(110deg,#0000 0 38%,#38bdf81a 48%,#0000 58%),radial-gradient(circle at 86% 18%,#a855f729,#0000 24%);position:absolute;inset:-25% -10%}.history-chart-panel.embedded .history-chart{z-index:1;position:relative}.history-chart-panel.embedded .history-chart-empty{z-index:2;color:#dff7ff;background:#041224b8;border-color:#38bdf833}.tech-dashboard-main .negative-tech-page.fusion-dashboard,.tech-dashboard-main .negative-tech-page{background:radial-gradient(circle at 16% 20%,#22d3ee24,#0000 28%),radial-gradient(circle at 76% 22%,#6366f121,#0000 32%),radial-gradient(circle at 52% 76%,#14b8a61a,#0000 36%),linear-gradient(135deg,#031225f5,#05172aeb 48%,#020814fa)}.tech-dashboard-main .fusion-section,.tech-dashboard-main .fusion-panel,.tech-dashboard-main .fusion-panel-soft{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 20% 12%,#22d3ee14,#0000 36%),linear-gradient(145deg,#08203a42,#04101f29);border:1px solid #7dd3fc0f;box-shadow:inset 0 1px #ffffff06}.tech-dashboard-main .fusion-panel-soft{box-shadow:none;background:0 0;border:0}.tech-dashboard-main .fusion-title,.tech-dashboard-main .negative-tech-page .clinic-info-head span,.tech-dashboard-main .negative-tech-page .pressure-console-summary .eyebrow,.tech-dashboard-main .negative-tech-page .history-heading h2{color:#67e8f9;text-shadow:0 0 12px #22d3ee59}.tech-dashboard-main .fusion-divider{opacity:.7;background:linear-gradient(90deg,#0000,#38bdf852,#0000);height:1px;min-height:1px}.tech-dashboard-main .fusion-glow-zone{background:radial-gradient(circle at 70% 20%,#22d3ee1a,#0000 30%),radial-gradient(circle at 88% 68%,#6366f11a,#0000 34%),linear-gradient(145deg,#08203a29,#04101f14)}.tech-dashboard-main .fusion-chart-area{box-shadow:none;background:0 0;border:0}.tech-dashboard-main .negative-tech-page .pressure-console-hero{gap:20px}.tech-dashboard-main .negative-tech-page .clinic-info-panel,.tech-dashboard-main .negative-tech-page .pressure-visual-workbench,.tech-dashboard-main .negative-tech-page .pressure-machine-card,.tech-dashboard-main .negative-tech-page .pressure-console-summary,.tech-dashboard-main .negative-tech-page .history-chart-panel.embedded,.tech-dashboard-main .negative-tech-page .device-realtime-card,.tech-dashboard-main .negative-tech-page .clinic-rule-box,.tech-dashboard-main .negative-tech-page .machine-screen,.tech-dashboard-main .negative-tech-page .pressure-gauge-card,.tech-dashboard-main .negative-tech-page .machine-metric-card,.tech-dashboard-main .negative-tech-page .energy-metric-card,.tech-dashboard-main .negative-tech-page .energy-comparison-panel,.tech-dashboard-main .negative-tech-page .history-metric-card,.tech-dashboard-main .negative-tech-page .history-chart-shell{box-shadow:none;border-color:#7dd3fc0f}.tech-dashboard-main .negative-tech-page .clinic-info-panel{background:radial-gradient(circle at 12% 18%,#22d3ee14,#0000 38%),linear-gradient(#08203a47,#04101f1f)}.tech-dashboard-main .negative-tech-page .clinic-info-head{border-bottom:0}.tech-dashboard-main .negative-tech-page .clinic-info-head:after{content:"";background:linear-gradient(90deg,#38bdf84d,#0000);width:100%;height:1px;margin-top:14px;display:block}.tech-dashboard-main .negative-tech-page .device-selector-field select{background:#030e1c6b;border-color:#7dd3fc14}.tech-dashboard-main .negative-tech-page .device-realtime-card.selected{background:radial-gradient(circle at 100% 0,#22d3ee17,#0000 34%),#08203a2e;border-color:#7dd3fc14}.tech-dashboard-main .negative-tech-page .device-realtime-card-metrics,.tech-dashboard-main .negative-tech-page .device-realtime-card-foot{border-color:#7dd3fc14}.tech-dashboard-main .negative-tech-page .clinic-rule-box{background:radial-gradient(circle at 0 0,#22c55e1f,#0000 42%),#064e3b1a}.tech-dashboard-main .negative-tech-page .pressure-visual-workbench{background:radial-gradient(circle at 48% 52%,#22d3ee1f,#0000 28%),radial-gradient(circle at 76% 72%,#6366f11a,#0000 28%)}.tech-dashboard-main .negative-tech-page .monitoring-compact-stat{min-height:86px;box-shadow:none;background:0 0;border-color:#0000;border-radius:999px}.tech-dashboard-main .negative-tech-page .monitoring-compact-stat:before{border-color:#22d3ee1f;width:64px;height:64px;box-shadow:inset 0 0 16px #22d3ee14,0 0 18px #22d3ee14}.tech-dashboard-main .negative-tech-page .monitoring-compact-stat.danger:before{border-top-color:#f43f5e;box-shadow:inset 0 0 16px #f43f5e1a,0 0 18px #f43f5e1a}.tech-dashboard-main .negative-tech-page .pressure-machine-card{background:0 0}.tech-dashboard-main .negative-tech-page .pressure-machine-card:before{opacity:.16}.tech-dashboard-main .negative-tech-page .machine-screen,.tech-dashboard-main .negative-tech-page .pressure-gauge-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 30% 20%,#22d3ee14,#0000 46%),#030e1c57}.tech-dashboard-main .negative-tech-page .machine-command-strip span,.tech-dashboard-main .negative-tech-page .machine-metric-card{box-shadow:none;background:#030e1c2e;border-color:#7dd3fc0f}.tech-dashboard-main .negative-tech-page .right-fusion-zone{background:radial-gradient(circle at 74% 16%,#22d3ee1f,#0000 32%),radial-gradient(circle at 86% 76%,#6366f11f,#0000 34%),linear-gradient(145deg,#08203a33,#04101f14);border:1px solid #7dd3fc0f;border-radius:18px;grid-template-rows:auto auto minmax(420px,auto);align-content:start;gap:14px;padding:18px;box-shadow:inset 0 1px #ffffff06}.tech-dashboard-main .negative-tech-page .right-fusion-zone .energy-monitor-panel,.tech-dashboard-main .negative-tech-page .right-fusion-zone .history-chart-panel.embedded{box-shadow:none;background:0 0;border:0;border-radius:0;align-self:start;padding:0}.tech-dashboard-main .negative-tech-page .right-fusion-zone .history-chart-panel.embedded{grid-template-rows:auto auto minmax(360px,auto);gap:10px;display:grid}.tech-dashboard-main .negative-tech-page .right-fusion-zone .history-chart-panel.compact .history-chart-shell{min-height:360px}.tech-dashboard-main .negative-tech-page .right-fusion-zone .history-chart-panel.compact .history-chart{height:360px}.tech-dashboard-main .negative-tech-page .energy-month-pill{background:linear-gradient(90deg,#22c55e29,#0000);border:0}.tech-dashboard-main .negative-tech-page .energy-metric-card{background:#030e1c2e}.tech-dashboard-main .negative-tech-page .energy-comparison-panel{background:#030e1c24}.tech-dashboard-main .negative-tech-page .history-chart-panel.embedded .history-heading{border:0}.tech-dashboard-main .negative-tech-page .history-chart-panel.embedded .history-chart-shell{background:radial-gradient(circle at 70% 20%,#5762ff2e,#0000 35%),radial-gradient(circle at 22% 78%,#14b8a61a,#0000 34%),linear-gradient(135deg,#04142d47,#131e4c33,#23164c29);border:0;box-shadow:inset 0 0 24px #38bdf809}.tech-dashboard-main .negative-tech-page .history-chart-panel.embedded .history-chart-shell:before{opacity:.28}.tech-dashboard-main .negative-tech-page .history-chart-panel.embedded .history-chart-shell:after{opacity:.42}.tech-dashboard-main .negative-tech-page .history-chart-panel.compact .history-metric-card{background:#030e1c24;border:0}.tech-dashboard-main .negative-tech-page .machine-screen,.tech-dashboard-main .negative-tech-page .pressure-gauge-card,.tech-dashboard-main .negative-tech-page .machine-metric-card,.tech-dashboard-main .negative-tech-page .device-realtime-card.selected,.tech-dashboard-main .negative-tech-page .clinic-rule-box{background-color:#030e1c29;border-color:#7dd3fc0f}.tech-dashboard-main .negative-tech-page .clinic-rule-box{border-color:#22c55e14}.tech-dashboard-main .pressure-console-panel .machine-screen,.tech-dashboard-main .pressure-console-panel .pressure-gauge-card,.tech-dashboard-main .pressure-console-panel .machine-metric-card,.tech-dashboard-main .pressure-console-panel .device-realtime-card.selected,.tech-dashboard-main .pressure-console-panel .clinic-rule-box{background-color:#04122294;border-color:#37beff33}.tech-dashboard-main .pressure-console-panel .clinic-rule-box{border-color:#22c55e42}@media (width<=1380px){.tech-dashboard-main{overflow:auto}}.main-content.tech-dashboard-main{color:#eaf8ff;background:radial-gradient(circle at 18% 12%,#22d3ee29,#0000 28%),radial-gradient(circle at 78% 18%,#4c68ff29,#0000 30%),radial-gradient(circle at 50% 86%,#14b8a61f,#0000 36%),linear-gradient(135deg,#020817 0%,#061a33 48%,#092b4d 100%);min-height:100vh}.tech-dashboard-main .negative-screen-page.pressure-console-panel{background:radial-gradient(circle at 50% 34%,#0ea5e929,#0000 28%),radial-gradient(circle at 88%,#6366f129,#0000 34%),linear-gradient(135deg,#02081733,#082f491f);min-height:calc(100vh - 118px);padding:24px 28px 28px;position:relative;overflow:hidden}.tech-dashboard-main .negative-screen-page.pressure-console-panel:before{content:"";pointer-events:none;opacity:.45;background:radial-gradient(circle,#7dd3fc61 0 1px,#0000 1.5px) 0 0/78px 78px,linear-gradient(#7dd3fc09 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#7dd3fc09 1px,#0000 1px) 0 0/48px 48px;position:absolute;inset:0}.tech-dashboard-main .negative-screen-page.pressure-console-panel:after{content:"";pointer-events:none;filter:blur(5px);background:linear-gradient(108deg,#0000 0 38%,#38bdf814 48%,#0000 58%),radial-gradient(at 38% 46%,#22d3ee1f,#0000 36%),radial-gradient(at 78% 36%,#6366f11a,#0000 34%);animation:20s ease-in-out infinite alternate techGlowDrift;position:absolute;inset:-18% -8%}.tech-dashboard-main .negative-screen-page.pressure-console-panel>*{z-index:1;position:relative}.tech-dashboard-main .negative-screen-page .pressure-console-hero{box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(300px,.26fr) minmax(500px,.38fr) minmax(520px,.36fr);align-items:stretch;gap:clamp(16px,1.4vw,28px);padding:0}.tech-dashboard-main .negative-screen-page .clinic-info-panel,.tech-dashboard-main .negative-screen-page .pressure-visual-workbench,.tech-dashboard-main .negative-screen-page .right-fusion-zone{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:radial-gradient(circle at 18% 10%,#22d3ee16,#0000 34%),linear-gradient(145deg,#08203a38,#030e1c14);border:1px solid #7dd3fc0e;box-shadow:inset 0 0 28px #38bdf809}.tech-dashboard-main .negative-screen-page .clinic-info-panel,.tech-dashboard-main .negative-screen-page .pressure-visual-workbench{border-radius:18px}.tech-dashboard-main .negative-screen-page .clinic-info-head strong,.tech-dashboard-main .negative-screen-page .energy-monitor-head h2,.tech-dashboard-main .negative-screen-page .history-heading h2{color:#f0fbff;letter-spacing:0;text-shadow:0 0 14px #22d3ee3d}.tech-dashboard-main .negative-screen-page .clinic-info-head span,.tech-dashboard-main .negative-screen-page .energy-monitor-head .eyebrow,.tech-dashboard-main .negative-screen-page .history-heading h2{color:#54f4ff}.tech-dashboard-main .negative-screen-page .device-selector-field select{color:#eaf8ff;background:#02081761;border:1px solid #7dd3fc1f;min-height:42px}.tech-dashboard-main .negative-screen-page .device-realtime-card.selected{background:radial-gradient(circle at 92% 6%,#22d3ee17,#0000 34%),linear-gradient(160deg,#082f493d,#030e1c29);border-color:#7dd3fc14;box-shadow:inset 0 0 18px #38bdf809}.tech-dashboard-main .negative-screen-page .device-realtime-card-metrics{border-color:#7dd3fc14;gap:10px 16px}.tech-dashboard-main .negative-screen-page .device-realtime-card-metrics strong,.tech-dashboard-main .negative-screen-page .machine-screen strong,.tech-dashboard-main .negative-screen-page .pressure-gauge-value strong{color:#67fff1;text-shadow:0 0 12px #22d3ee38}.tech-dashboard-main .negative-screen-page .clinic-rule-box{background:radial-gradient(circle at 8% 0,#22c55e29,#0000 40%),linear-gradient(90deg,#064e3b38,#030e1c1f);border-color:#22c55e14}.tech-dashboard-main .negative-screen-page .pressure-visual-workbench{background:radial-gradient(at 52% 46%,#22d3ee2e,#0000 30%),radial-gradient(at 72% 70%,#6366f11f,#0000 32%),linear-gradient(145deg,#08203a33,#030e1c14);grid-template-rows:118px minmax(430px,1fr) auto auto;gap:10px;display:grid;overflow:hidden}.tech-dashboard-main .negative-screen-page .monitoring-compact-stats{grid-template-columns:repeat(4,minmax(84px,1fr));place-items:center;gap:clamp(12px,1vw,24px);padding:4px 18px 0;display:grid}.tech-dashboard-main .negative-screen-page .monitoring-compact-stat{background:radial-gradient(circle,#22d3ee29,#0000 58%),conic-gradient(from 210deg,#22d3eef2,#22d3ee0f,#22d3eebf);border:0;border-radius:999px;width:92px;min-width:92px;height:92px;min-height:92px;box-shadow:inset 0 0 22px #22d3ee1a,0 0 18px #22d3ee1f}.tech-dashboard-main .negative-screen-page .monitoring-compact-stat:before{background:#0208179e;border:1px solid #7dd3fc29;width:auto;height:auto;inset:7px;box-shadow:inset 0 0 20px #38bdf814}.tech-dashboard-main .negative-screen-page .monitoring-compact-stat span{color:#d2ebffc7;align-self:end;font-size:12px}.tech-dashboard-main .negative-screen-page .monitoring-compact-stat strong{color:#f8fdff;align-self:start;font-size:24px}.tech-dashboard-main .negative-screen-page .monitoring-compact-stat em{color:#d2ebffb8;font-size:11px}.tech-dashboard-main .negative-screen-page .pressure-machine-card{min-height:430px;box-shadow:none;background:0 0;border:0;grid-template-columns:minmax(260px,1fr) minmax(184px,220px);align-items:center;gap:34px;padding:92px 28px 34px;display:grid}.tech-dashboard-main .negative-screen-page .pressure-machine-card:before{opacity:.62;filter:blur(2px);width:min(54%,360px);height:124px;bottom:56px;left:43%}.tech-dashboard-main .negative-screen-page .machine-screen{background:#0208176b;border-color:#7dd3fc14;width:196px;top:26px;left:28px}.tech-dashboard-main .negative-screen-page .pressure-machine-image,.tech-dashboard-main .negative-screen-page .pressure-machine-image.negative{z-index:3;object-fit:contain;filter:drop-shadow(0 28px 38px #00000061)drop-shadow(0 0 18px #22d3ee24);grid-column:1;justify-self:center;width:min(68%,260px);max-height:286px;position:relative}.tech-dashboard-main .negative-screen-page .pressure-gauge-card{z-index:4;background:radial-gradient(circle at 42% 42%,#22d3ee1a,#0000 48%),#02081780;border-color:#7dd3fc14;grid-column:2;justify-self:end;width:min(100%,210px);min-width:184px;position:relative;box-shadow:inset 0 0 22px #38bdf80a}.tech-dashboard-main .negative-screen-page .scan-halo{opacity:.88;width:min(50%,330px);height:130px;position:absolute;bottom:56px;left:42%;transform:translate(-50%)}.tech-dashboard-main .negative-screen-page .scan-halo:before,.tech-dashboard-main .negative-screen-page .scan-halo:after{content:"";filter:blur(.2px);background:repeating-conic-gradient(#38bdf84d 0deg 5deg,#0000 5deg 18deg);border:1px solid #38bdf838;border-radius:50%;animation:16s linear infinite spinSlow;position:absolute;inset:8px 0}.tech-dashboard-main .negative-screen-page .scan-halo:after{opacity:.44;animation-duration:22s;animation-direction:reverse;inset:26px 34px}.tech-dashboard-main .negative-screen-page .machine-command-strip span,.tech-dashboard-main .negative-screen-page .machine-metric-card{background:#0208172e;border-color:#7dd3fc0e;box-shadow:inset 0 0 16px #38bdf805}.tech-dashboard-main .negative-screen-page .right-fusion-zone{background:radial-gradient(at 72% 18%,#22d3ee1a,#0000 32%),radial-gradient(at 80% 72%,#6366f11a,#0000 34%),linear-gradient(145deg,#08203a29,#030e1c0f);border:1px solid #7dd3fc0e;border-radius:20px;grid-template-rows:auto 1px minmax(430px,1fr);align-content:start;gap:16px;min-height:0;padding:26px 28px;display:grid;box-shadow:inset 0 0 32px #38bdf809}.tech-dashboard-main .negative-screen-page .right-fusion-zone .energy-monitor-panel,.tech-dashboard-main .negative-screen-page .right-fusion-zone .history-chart-panel.embedded{box-shadow:none;background:0 0;border:0;padding:0}.tech-dashboard-main .negative-screen-page .energy-month-pill{color:#7dffba;background:linear-gradient(90deg,#22c55e38,#22c55e08);border:0;width:fit-content}.tech-dashboard-main .negative-screen-page .energy-pending-state{background:radial-gradient(circle at 10% 0,#22c55e1f,#0000 42%),#0208172e;border:1px solid #7dd3fc0f;border-radius:16px;gap:10px;max-width:540px;margin-top:14px;padding:16px 18px;display:grid}.tech-dashboard-main .negative-screen-page .energy-pending-state strong{color:#dff7ff;font-size:18px}.tech-dashboard-main .negative-screen-page .energy-pending-state p{color:#d2ebffb8;margin:0;line-height:1.7}.tech-dashboard-main .negative-screen-page .energy-pending-state button{color:#7dffba;cursor:default;background:#22c55e1a;border:1px solid #22c55e42;border-radius:999px;width:fit-content;padding:8px 14px;font-weight:800}.tech-dashboard-main .negative-screen-page .fusion-divider{opacity:.42;background:linear-gradient(90deg,#0000,#38bdf83d,#0000)}.tech-dashboard-main .negative-screen-page .right-fusion-zone .history-chart-panel.embedded{grid-template-rows:auto auto minmax(430px,1fr);gap:8px;min-height:0;display:grid}.tech-dashboard-main .negative-screen-page .history-chart-panel.embedded .history-heading{border:0;align-items:end;gap:8px}.tech-dashboard-main .negative-screen-page .history-chart-panel.embedded .history-heading p{color:#d2ebff94}.tech-dashboard-main .negative-screen-page .history-chart-panel.compact .history-compact-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tech-dashboard-main .negative-screen-page .history-chart-panel.compact .history-metric-card{background:#02081724;border:1px solid #7dd3fc0b;min-height:58px}.tech-dashboard-main .negative-screen-page .history-chart-panel.embedded .history-chart-shell{background:radial-gradient(circle at 74% 18%,#5762ff47,#0000 36%),radial-gradient(circle at 22% 86%,#22d3ee1f,#0000 34%),linear-gradient(135deg,#04142d6b,#131e4c52,#23164c3d);border:0;border-radius:18px;min-height:430px;box-shadow:inset 0 0 28px #38bdf809}.tech-dashboard-main .negative-screen-page .history-chart-panel.compact .history-chart{height:430px}.tech-dashboard-main .negative-screen-page .segmented-control,.tech-dashboard-main .negative-screen-page .history-actions .select{background:#02081742;border-color:#7dd3fc14}.tech-dashboard-main .negative-screen-page .history-actions{gap:8px}@keyframes spinSlow{to{transform:rotate(360deg)}}@media (width<=1560px){.tech-dashboard-main .negative-screen-page .pressure-console-hero{grid-template-columns:minmax(280px,.27fr) minmax(440px,.35fr) minmax(460px,.38fr)}.tech-dashboard-main .negative-screen-page .monitoring-compact-stat{width:82px;min-width:82px;height:82px;min-height:82px}.tech-dashboard-main .negative-screen-page .pressure-machine-card{grid-template-columns:minmax(220px,1fr) minmax(168px,188px);gap:22px;padding-inline:22px}.tech-dashboard-main .negative-screen-page .pressure-machine-image,.tech-dashboard-main .negative-screen-page .pressure-machine-image.negative{width:min(70%,230px)}}@media (width<=1200px){.tech-dashboard-main .negative-screen-page .pressure-console-hero{grid-template-columns:1fr}.tech-dashboard-main .negative-screen-page .right-fusion-zone{grid-template-rows:auto 1px auto}}.tech-dashboard-main .negative-screen-page .pressure-visual-workbench{grid-template-rows:100px minmax(320px,360px) auto auto;align-content:start}.tech-dashboard-main .negative-screen-page .monitoring-compact-stats{padding:0 20px}.tech-dashboard-main .negative-screen-page .pressure-machine-card{grid-template-columns:minmax(240px,1fr) minmax(174px,200px);gap:26px;height:clamp(320px,32vh,360px);min-height:320px;padding:58px 28px 22px}.tech-dashboard-main .negative-screen-page .machine-screen{width:184px;top:18px;left:24px}.tech-dashboard-main .negative-screen-page .pressure-machine-card:before{width:min(54%,320px);height:104px;bottom:30px;left:42%}.tech-dashboard-main .negative-screen-page .pressure-machine-image,.tech-dashboard-main .negative-screen-page .pressure-machine-image.negative{align-self:center;width:min(64%,240px);max-height:232px}.tech-dashboard-main .negative-screen-page .pressure-gauge-card{align-self:center;min-width:174px;max-width:196px;min-height:174px}.tech-dashboard-main .negative-screen-page .scan-halo{width:min(48%,300px);height:112px;bottom:30px;left:41%}.tech-dashboard-main .negative-screen-page .left-status-strip{margin-top:0}@media (width<=1560px){.tech-dashboard-main .negative-screen-page .pressure-visual-workbench{grid-template-rows:92px minmax(300px,340px) auto auto}.tech-dashboard-main .negative-screen-page .pressure-machine-card{height:330px;min-height:300px;padding:52px 22px 20px}.tech-dashboard-main .negative-screen-page .pressure-machine-image,.tech-dashboard-main .negative-screen-page .pressure-machine-image.negative{width:min(64%,220px);max-height:214px}}.tech-dashboard-main .overview-summary-grid{z-index:1;gap:18px;margin-bottom:20px;position:relative}.tech-dashboard-main .overview-summary-grid .summary-tile{color:#eaf8ff;background:radial-gradient(circle at 88% 10%,#38bdf824,#0000 34%),linear-gradient(145deg,#08203a75,#0208173d);border:1px solid #7dd3fc12;border-radius:20px;min-height:112px;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #38bdf80a}.tech-dashboard-main .overview-summary-grid .summary-tile:after{content:"";pointer-events:none;background:radial-gradient(circle,#38bdf817,#0000 64%);border:1px solid #38bdf821;border-radius:999px;width:104px;height:104px;position:absolute;bottom:-30px;right:18px}.tech-dashboard-main .overview-summary-grid .summary-tile span:not(.summary-icon){color:#d2ebffb8}.tech-dashboard-main .overview-summary-grid .summary-tile strong{color:#f8fdff;text-shadow:0 0 16px #67e8f92e}.tech-dashboard-main .overview-summary-grid .summary-icon{color:#67e8f9;background:radial-gradient(circle,#38bdf838,#38bdf80f);border-radius:14px;box-shadow:inset 0 0 18px #38bdf81a}.tech-dashboard-main .overview-summary-grid .summary-tile.danger .summary-icon,.tech-dashboard-main .overview-summary-grid .summary-tile.danger strong{color:#fb7185}.tech-dashboard-main .overview-summary-grid .summary-tile.active-module .summary-icon{color:#bfdbfe;background:radial-gradient(circle,#6366f138,#38bdf80d)}.tech-dashboard-main .module-entry-panel{color:#eaf8ff;background:radial-gradient(circle at 12% 10%,#22d3ee17,#0000 32%),radial-gradient(circle at 86% 78%,#6366f11a,#0000 34%),linear-gradient(145deg,#08203a52,#02081724);border:1px solid #7dd3fc0f;border-radius:22px;margin-bottom:20px;box-shadow:inset 0 0 34px #38bdf809}.tech-dashboard-main .section-heading h2{color:#f0fbff;text-shadow:0 0 14px #22d3ee29}.tech-dashboard-main .section-heading p{color:#d2ebffad}.tech-dashboard-main .overview-monitor-grid{grid-template-columns:minmax(0,1fr) minmax(320px,390px);gap:22px}.tech-dashboard-main .overview-monitor-grid .module-scene{background:radial-gradient(circle,#38bdf824,#0000 26%),radial-gradient(circle at 18% 20%,#3b82f621,#0000 25%),radial-gradient(circle at 82% 76%,#2dd4bf1a,#0000 28%),linear-gradient(#7dd3fc09 1px,#0000 1px) 0 0/44px 44px,linear-gradient(90deg,#7dd3fc09 1px,#0000 1px) 0 0/44px 44px,linear-gradient(135deg,#04142d5c,#0a26462e);border:1px solid #7dd3fc12;border-radius:22px;min-height:clamp(920px,92vh,960px);position:relative;box-shadow:inset 0 0 42px #38bdf80a}.tech-dashboard-main .overview-monitor-grid .module-scene:before,.tech-dashboard-main .overview-monitor-grid .module-scene:after{opacity:.34}.tech-dashboard-main .module-connectors .connector-line{opacity:.78;filter:drop-shadow(0 0 8px #22d3ee59)}.tech-dashboard-main .module-figure .module-label{color:#fff;background:linear-gradient(135deg,#1e5effe0,#18b7ffb8);border:1px solid #7dd3fc2e;box-shadow:0 0 18px #20c8ff38}.tech-dashboard-main .module-figure[data-alert=alarm] .module-label{background:linear-gradient(135deg,#ef4444e6,#f43f5eb3);box-shadow:0 0 22px #f43f5e40}.tech-dashboard-main .module-figure[data-alert=critical] .module-label{background:linear-gradient(135deg,#dc2626f2,#fb7185c9);box-shadow:0 0 28px #ef444466}.tech-dashboard-main .module-figure[data-alert=alarm] .module-art{filter:drop-shadow(0 0 24px #f43f5e47)drop-shadow(0 18px 30px #02081757)}.tech-dashboard-main .module-figure[data-alert=critical] .module-art{filter:drop-shadow(0 0 32px #ef444466)drop-shadow(0 18px 30px #02081757)}.tech-dashboard-main .module-figure[data-alert=offline] .module-label{background:linear-gradient(135deg,#f59e0be6,#facc15b3);box-shadow:0 0 22px #f59e0b45}.tech-dashboard-main .module-figure[data-alert=offline] .module-art{filter:drop-shadow(0 0 24px #facc1547)drop-shadow(0 18px 30px #02081757)}.tech-dashboard-main .module-figure-meta{color:#eaf8ff;background:radial-gradient(circle at 8% 0,#22d3ee1f,#0000 42%),#0208176b;border:1px solid #7dd3fc14;box-shadow:inset 0 0 18px #38bdf809}.tech-dashboard-main .module-figure-meta small{color:#d2ebffb8}.tech-dashboard-main .module-figure-meta strong{color:#f8fdff}.tech-dashboard-main .module-status.online{color:#7dffba;background:#22c55e33}.tech-dashboard-main .module-status.alarm{color:#fca5a5;background:#ef444424}.tech-dashboard-main .module-status.critical{color:#fecdd3;background:#dc262633}.tech-dashboard-main .module-status.offline{color:#fde68a;background:#f59e0b2e}.tech-dashboard-main .module-status.planning,.tech-dashboard-main .module-status.soon{color:#bfdbfe;background:#6366f12e}.tech-dashboard-main .ai-overview-card{color:#eaf8ff;background:linear-gradient(90deg,#38bdf870,#0000 30%) 0 0/96px 2px no-repeat,linear-gradient(#38bdf866,#0000 48%) 0 0/2px 76px no-repeat,linear-gradient(270deg,#38bdf86b,#0000 34%) 100% 100%/110px 2px no-repeat,linear-gradient(#0000 52%,#38bdf857) 100% 100%/2px 70px no-repeat,radial-gradient(circle at 18% 0,#22d3ee33,#0000 34%),radial-gradient(circle at 86% 16%,#6366f126,#0000 36%),linear-gradient(145deg,#041224f0,#061832c9);border:1px solid #38bdf85f;border-radius:14px;position:relative;overflow:hidden;box-shadow:0 0 0 1px #0ea5e914,0 0 30px #22d3ee26,inset 0 0 34px #38bdf814}.tech-dashboard-main .ai-overview-card:before{content:"";pointer-events:none;opacity:.8;background-color:#0000;background-image:linear-gradient(#7dd3fc12 1px,#0000 1px),linear-gradient(90deg,#7dd3fc12 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #7dd3fc24;border-radius:10px;position:absolute;inset:8px}.tech-dashboard-main .ai-overview-card:after{content:"";pointer-events:none;background:linear-gradient(#0000,#7dd3fc24,#0000);height:42%;animation:3.8s linear infinite moduleHoverScanLine;position:absolute;top:-42%;left:0;right:0}.tech-dashboard-main .ai-overview-card>*{z-index:1;position:relative}.tech-dashboard-main .ai-overview-card-head{border-bottom-color:#7dd3fc2e}.tech-dashboard-main .ai-overview-card-head .ai-orb{background:radial-gradient(circle,#38bdf859,#1e5eff24);border:1px solid #7dd3fc5c;box-shadow:0 0 18px #22d3ee3d,inset 0 0 18px #38bdf829}.tech-dashboard-main .ai-overview-card-head small{color:#67e8f9}.tech-dashboard-main .ai-overview-card-head strong{color:#f8fdff}.tech-dashboard-main .ai-overview-risk{background:linear-gradient(90deg,#0208179c,#08203a5e);border-color:#7dd3fc24;box-shadow:inset 0 0 18px #38bdf80f}.tech-dashboard-main .ai-overview-risk span,.tech-dashboard-main .ai-overview-risk em,.tech-dashboard-main .ai-overview-summary,.tech-dashboard-main .ai-overview-advice p{color:#d2ebffb8}.tech-dashboard-main .ai-overview-metrics span{background:linear-gradient(145deg,#02081780,#08203a47);border-color:#7dd3fc20;box-shadow:inset 0 0 16px #38bdf80d}.tech-dashboard-main .ai-overview-metrics small{color:#d2ebffa3}.tech-dashboard-main .ai-overview-metrics strong{color:#f8fdff}.tech-dashboard-main .ai-overview-advice{background:linear-gradient(90deg,#38bdf826,#0208174d);border-color:#38bdf82e #38bdf82e #38bdf82e #38bdf8;box-shadow:inset 0 0 18px #38bdf80d}.tech-dashboard-main .ai-overview-advice strong{color:#eaf8ff}.tech-dashboard-main .positive-tech-page .machine-screen strong,.tech-dashboard-main .positive-tech-page .pressure-gauge-value strong,.tech-dashboard-main .positive-tech-page .device-realtime-card-metrics strong{color:#7dfff2}.tech-dashboard-main .positive-tech-page .clinic-rule-box{background:radial-gradient(circle at 8% 0,#38bdf824,#0000 40%),linear-gradient(90deg,#082f493d,#030e1c1f);border-color:#38bdf814}.tech-dashboard-main .positive-tech-page .energy-month-pill{color:#67e8f9;background:linear-gradient(90deg,#38bdf838,#22c55e0a)}.site-scope-toolbar{border-radius:16px;justify-content:space-between;align-items:center;gap:16px;margin:14px 0 18px;padding:12px 14px;display:flex}.site-scope-toolbar label{align-items:center;gap:10px;display:flex}.site-scope-toolbar label>span{font-size:13px;font-weight:800}.site-scope-toolbar select{min-width:240px;font:inherit;border-radius:999px;padding:9px 34px 9px 14px;font-weight:800}.site-scope-toolbar>div{align-items:center;gap:12px;min-width:0;display:flex}.site-scope-toolbar>div strong,.site-scope-toolbar>div span{white-space:nowrap}.tech-dashboard-main .site-scope-toolbar{background:radial-gradient(circle at 12% 0,#22d3ee1f,#0000 42%),linear-gradient(90deg,#02081761,#08203a33);border:1px solid #7dd3fc14;box-shadow:inset 0 0 18px #38bdf808}.tech-dashboard-main .site-scope-toolbar label>span{color:#67e8f9}.tech-dashboard-main .site-scope-toolbar select{color:#eaf8ff;background:#02081773;border:1px solid #7dd3fc29;outline:none}.tech-dashboard-main .site-scope-toolbar select:focus{border-color:#67e8f98c;box-shadow:0 0 0 3px #22d3ee1f}.tech-dashboard-main .site-scope-toolbar>div strong{color:#f8fdff;font-size:14px}.tech-dashboard-main .site-scope-toolbar>div span{color:#d2ebffad;font-size:13px}@media (width<=1320px){.tech-dashboard-main .overview-monitor-grid{grid-template-columns:1fr}.tech-dashboard-main .overview-monitor-grid .module-scene{min-height:920px}}@media (width<=760px){.site-scope-toolbar,.site-scope-toolbar>div,.site-scope-toolbar label{flex-direction:column;align-items:stretch}.site-scope-toolbar select{width:100%;min-width:0}}.tech-dashboard-main .overview-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:18px}.tech-dashboard-main .overview-summary-grid .summary-tile{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));background:radial-gradient(circle at 18%,#22d3ee21,#0000 34%),linear-gradient(115deg,#0312267a,#071c3a2e 52%,#07112a42);border:1px solid #67e8f914;border-radius:0;grid-template-columns:72px minmax(0,1fr);align-items:center;min-height:122px;padding:18px 22px;display:grid;box-shadow:inset 0 0 28px #38bdf809,inset 0 1px #ffffff06}.tech-dashboard-main .overview-summary-grid .summary-tile:before{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));content:"";pointer-events:none;border:1px solid #38bdf812;position:absolute;inset:8px}.tech-dashboard-main .overview-summary-grid .summary-tile:after,.tech-dashboard-main .overview-summary-grid .summary-tile.danger:after,.tech-dashboard-main .overview-summary-grid .summary-tile.pending-module:after{display:none}.tech-dashboard-main .overview-summary-grid .summary-icon{z-index:2;color:#67e8f9;width:46px;height:46px;box-shadow:none;filter:drop-shadow(0 0 12px #22d3ee70);background:0 0;border:0;border-radius:0;place-self:center;margin:0;position:relative}.tech-dashboard-main .overview-summary-grid .summary-icon svg{stroke-width:2.1px;width:24px;height:24px}.tech-dashboard-main .overview-summary-grid .summary-tile.success .summary-icon{color:#86efac;filter:drop-shadow(0 0 12px #22c55e66);background:0 0}.tech-dashboard-main .overview-summary-grid .summary-tile.danger .summary-icon{color:#fb7185;filter:drop-shadow(0 0 12px #fb718570);background:0 0}.tech-dashboard-main .overview-summary-grid .summary-tile.pending-module .summary-icon{color:#bfdbfe;filter:drop-shadow(0 0 12px #60a5fa70);background:0 0}.tech-dashboard-main .overview-summary-grid .summary-tile-body{z-index:2;align-self:center;gap:5px;min-width:0;display:grid;position:relative}.tech-dashboard-main .overview-summary-grid .summary-tile-body span{color:#d2ebffbd;font-size:14px;font-weight:800}.tech-dashboard-main .overview-summary-grid .summary-tile-body strong{color:#f8fdff;text-overflow:ellipsis;text-shadow:0 0 18px #67e8f938;white-space:nowrap;font-size:clamp(25px,2.1vw,36px);font-weight:900;line-height:1.05;overflow:hidden}.tech-dashboard-main .overview-summary-grid .summary-tile-body em{color:#d2ebffa8;font-size:13px;font-style:normal;font-weight:800}.tech-dashboard-main .overview-summary-grid .danger .summary-tile-body strong{color:#fb7185;text-shadow:0 0 18px #fb718533}.tech-dashboard-main .overview-summary-grid .site-switch .summary-tile-body strong{max-width:100%;font-size:clamp(18px,1.45vw,24px)}.tech-dashboard-main .summary-site-select{color:#eaf8ff;width:min(100%,230px);font:inherit;background:linear-gradient(90deg,#020817c7,#08203a94);border:1px solid #67e8f92e;border-radius:999px;outline:none;margin-top:3px;padding:7px 34px 7px 12px;font-size:13px;font-weight:800}.tech-dashboard-main .summary-site-select:focus{border-color:#67e8f98f;box-shadow:0 0 0 3px #22d3ee1c}@media (width<=1280px){.tech-dashboard-main .overview-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.tech-dashboard-main .overview-summary-grid{grid-template-columns:1fr}}.tech-dashboard-main .overview-summary-grid .summary-tile.site-switch{background:linear-gradient(90deg,#22d3ee6b,#22d3ee00) 0 0/88px 2px no-repeat,linear-gradient(#22d3ee6b,#22d3ee00) 0 0/2px 72px no-repeat,linear-gradient(270deg,#22d3ee5c,#22d3ee00) 100% 0/72px 2px no-repeat,linear-gradient(#22d3ee4d,#22d3ee00) 100% 0/2px 58px no-repeat,radial-gradient(circle at 18%,#22d3ee47,#0000 36%),radial-gradient(circle at 96% 8%,#1e5eff2e,#0000 36%),linear-gradient(115deg,#071f3ac7,#0411246b 54%,#071b3899);border-color:#38bdf833;grid-template-columns:78px minmax(0,1fr);padding:18px 24px;box-shadow:0 0 0 1px #0ea5e90a,0 0 24px #22d3ee1a,inset 0 0 34px #38bdf814,inset 0 1px #ffffff0a}.tech-dashboard-main .overview-summary-grid .summary-tile.site-switch:before{opacity:.9;background:linear-gradient(90deg,#7dd3fcad,#0000 38%) 0 0/74px 1px no-repeat,linear-gradient(#7dd3fc8c,#0000 62%) 0 0/1px 54px no-repeat,linear-gradient(270deg,#7dd3fc6b,#0000 42%) 100% 100%/84px 1px no-repeat,linear-gradient(#0000 40%,#7dd3fc57) 100% 100%/1px 48px no-repeat,repeating-linear-gradient(90deg,#7dd3fc09 0 1px,#0000 1px 16px);border:0;inset:9px}.tech-dashboard-main .overview-summary-grid .summary-tile.site-switch:after{display:none}.tech-dashboard-main .overview-summary-grid .summary-tile.site-switch .summary-icon{color:#a5f3fc;width:50px;height:50px;box-shadow:none;filter:drop-shadow(0 0 14px #22d3ee85);background:0 0;border:0}.tech-dashboard-main .overview-summary-grid .summary-tile.site-switch .summary-tile-body{gap:7px}.tech-dashboard-main .overview-summary-grid .summary-tile.site-switch .summary-tile-body span{color:#bae6fdc7;letter-spacing:0}.tech-dashboard-main .overview-summary-grid .summary-tile.site-switch .summary-tile-body strong{color:#f8fdff;text-shadow:0 0 14px #67e8f93d,0 0 26px #3b82f61f;max-width:100%;font-size:clamp(20px,1.55vw,28px)}.tech-dashboard-main .overview-summary-grid .summary-tile.site-switch .summary-site-select{background:linear-gradient(90deg,#020817d6,#082f4985);border-color:#7dd3fc3d;width:min(100%,270px);min-height:32px;margin-top:0;box-shadow:inset 0 0 14px #38bdf80e,0 0 16px #22d3ee0f}.tech-dashboard-main .overview-summary-grid .summary-tile.site-switch:hover{border-color:#7dd3fc57;transform:translateY(-1px);box-shadow:0 0 0 1px #0ea5e90f,0 0 28px #22d3ee24,inset 0 0 38px #38bdf81a,inset 0 1px #ffffff0d}.tech-dashboard-main .module-hover-board{z-index:40;color:#eaf8ff;opacity:0;pointer-events:none;text-align:left;visibility:hidden;background:linear-gradient(90deg,#38bdf875,#0000 30%) 0 0/96px 2px no-repeat,linear-gradient(#38bdf866,#0000 48%) 0 0/2px 76px no-repeat,linear-gradient(270deg,#38bdf86b,#0000 34%) 100% 100%/110px 2px no-repeat,linear-gradient(#0000 52%,#38bdf857) 100% 100%/2px 70px no-repeat,radial-gradient(circle at 22% 42%,#0ea5e92e,#0000 36%),linear-gradient(145deg,#041224eb,#061830c7);border:1px solid #38bdf86b;border-radius:10px;gap:10px;width:min(440px,92vw);padding:18px;transition:opacity .18s,transform .18s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.94);box-shadow:0 0 0 1px #0ea5e914,0 0 30px #22d3ee2e,inset 0 0 32px #38bdf814}.tech-dashboard-main .module-hover-frame{opacity:.78;background-color:#0000;background-image:linear-gradient(#38bdf80b 1px,#0000 1px),linear-gradient(90deg,#38bdf80b 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border-radius:8px;position:absolute;inset:8px}.tech-dashboard-main .module-hover-frame:before,.tech-dashboard-main .module-hover-frame:after{content:"";background:#38bdf8e6;border-radius:999px;position:absolute;box-shadow:0 0 16px #38bdf8c7}.tech-dashboard-main .module-hover-frame:after{width:4px;height:4px;bottom:18px;right:18px}.tech-dashboard-main .module-figure:hover .module-hover-board,.tech-dashboard-main .module-figure:focus-visible .module-hover-board{opacity:1;visibility:visible;transform:translate(-50%,-52%)scale(1)}.tech-dashboard-main .module-hover-board>:not(.module-hover-frame){z-index:1;position:relative}.tech-dashboard-main .module-hover-head{border-bottom:1px solid #7dd3fc29;justify-content:space-between;align-items:center;gap:14px;padding-bottom:10px;display:flex}.tech-dashboard-main .module-hover-title{color:#bae6fd;text-shadow:0 0 14px #38bdf84d;background:#0ea5e924;border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:15px;font-weight:900;display:inline-flex}.tech-dashboard-main .module-hover-device{color:#d2ebffb3;font-size:12px;font-weight:800}.tech-dashboard-main .module-hover-body{grid-template-columns:minmax(96px,.7fr) minmax(0,1.3fr);align-items:center;gap:14px;display:grid}.tech-dashboard-main .module-hover-visual{place-items:center;min-height:120px;display:grid;position:relative}.tech-dashboard-main .module-hover-visual:before{background:radial-gradient(circle, #38bdf829, transparent 56%), repeating-conic-gradient(from 0deg, #38bdf847 0 7deg, transparent 7deg 18deg);content:"";filter:blur(.2px);opacity:.72;border:1px solid #38bdf838;border-radius:999px;animation:9s linear infinite moduleHoverRing;position:absolute;inset:8px;-webkit-mask:radial-gradient(circle,#0000 0 36%,#000 38% 58%,#0000 60%);mask:radial-gradient(circle,#0000 0 36%,#000 38% 58%,#0000 60%)}.tech-dashboard-main .module-hover-visual img{z-index:1;object-fit:contain;filter:drop-shadow(0 14px 18px #00000057)drop-shadow(0 0 14px #38bdf82e);max-width:132px;max-height:108px;display:block;position:relative}.tech-dashboard-main .module-hover-rows{gap:8px;display:grid}.tech-dashboard-main .module-hover-rows span{border-bottom:1px solid #7dd3fc14;grid-template-columns:minmax(82px,.7fr) minmax(0,1fr);align-items:center;gap:10px;min-height:28px;display:grid}.tech-dashboard-main .module-hover-rows em{color:#d2ebffa8;font-size:12px;font-style:normal;font-weight:800}.tech-dashboard-main .module-hover-rows strong{color:#f8fdff;text-align:right;font-size:13px;font-weight:900}.tech-dashboard-main .module-hover-note{background:#0208175c;border:1px solid #38bdf81f;border-radius:8px;gap:3px;padding:9px 11px;display:grid}.tech-dashboard-main .module-hover-note strong{color:#67e8f9;font-size:12px}.tech-dashboard-main .module-hover-note em{color:#e2f2ffc7;font-size:12px;font-style:normal;line-height:1.5}.tech-dashboard-main .module-hover-board.alarm .module-hover-title,.tech-dashboard-main .module-hover-board.alarm .module-hover-rows strong{color:#fecdd3}.tech-dashboard-main .module-hover-board.pending{filter:saturate(.86);border-color:#94a3b842}.tech-dashboard-main .module-hover-board.pending .module-hover-title{color:#c7d2fe;background:#6366f124}@keyframes moduleHoverRing{to{rotate:360deg}}@media (width<=1280px){.tech-dashboard-main .module-hover-board{width:min(360px,88vw);padding:14px}.tech-dashboard-main .module-hover-body{grid-template-columns:1fr}.tech-dashboard-main .module-hover-visual{min-height:86px}}.tech-dashboard-main .module-entry-panel,.tech-dashboard-main .overview-monitor-grid,.tech-dashboard-main .overview-monitor-grid .module-scene{overflow:visible}.tech-dashboard-main .module-hover-board{background:linear-gradient(135deg,#061830f0,#051023db),radial-gradient(circle at 22% 38%,#38bdf82e,#0000 34%);border-color:#38bdf8b8;border-radius:14px;width:min(420px,100vw - 56px);min-height:292px;max-height:min(360px,76vh);padding:16px;overflow:hidden;box-shadow:0 0 24px #38bdf86b,0 0 52px #0ea5e924,inset 0 0 24px #0ea5e926}.tech-dashboard-main .module-hover-board:before,.tech-dashboard-main .module-hover-board:after{pointer-events:none;content:"";position:absolute}.tech-dashboard-main .module-hover-board:before{opacity:.62;background-color:#0000;background-image:linear-gradient(#38bdf814 1px,#0000 1px),linear-gradient(90deg,#38bdf814 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;inset:0}.tech-dashboard-main .module-hover-board:after{background:linear-gradient(#0000,#7dd3fc2e,#0000);height:42%;animation:3.2s linear infinite moduleHoverScanLine;top:-42%;left:0;right:0}.tech-dashboard-main .module-hover-board.alarm:before{background-color:#0000;background-image:linear-gradient(#38bdf812 1px,#0000 1px),linear-gradient(90deg,#f8717113 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:18px 18px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}.tech-dashboard-main .module-hover-beam{z-index:0;clip-path:polygon(0 52%,100% 0,100% 100%);filter:blur(.35px);opacity:.62;pointer-events:none;background:linear-gradient(90deg,#38bdf80a,#38bdf842);width:178px;height:116px;position:absolute;top:50%;left:-168px;transform:translateY(-50%)}.tech-dashboard-main .module-hover-board.alarm .module-hover-beam{opacity:.82;background:linear-gradient(90deg,#ef444461,#38bdf814)}.tech-dashboard-main .module-hover-head{border-bottom-color:#7dd3fc33}.tech-dashboard-main .module-hover-title{background:linear-gradient(90deg,#0ea5e938,#0f172a38);border:1px solid #7dd3fc33}.tech-dashboard-main .module-hover-board.alarm .module-hover-title{background:linear-gradient(90deg,#ef444447,#0ea5e91f);border-color:#f8717147}.tech-dashboard-main .module-figure:hover[data-alert=alarm] .module-art,.tech-dashboard-main .module-figure:focus-visible[data-alert=alarm] .module-art{filter:drop-shadow(0 0 20px #f87171d1)drop-shadow(0 18px 30px #0208176b)}.tech-dashboard-main .module-figure:hover[data-alert=alarm]:before,.tech-dashboard-main .module-figure:focus-visible[data-alert=alarm]:before{background:radial-gradient(#ef444457,#0000 64%),repeating-conic-gradient(#f8717199 0deg 8deg,#0000 8deg 20deg);border-color:#f8717157;animation:5.2s linear infinite moduleRing,1.6s ease-in-out infinite moduleAlarmPulse;box-shadow:0 0 24px #f8717161,inset 0 0 20px #f8717129}.tech-dashboard-main .module-figure:hover[data-alert=offline] .module-art,.tech-dashboard-main .module-figure:focus-visible[data-alert=offline] .module-art{filter:drop-shadow(0 0 20px #facc15c7)drop-shadow(0 18px 30px #0208176b)}.tech-dashboard-main .module-figure:hover[data-alert=offline]:before,.tech-dashboard-main .module-figure:focus-visible[data-alert=offline]:before{background:radial-gradient(#f59e0b52,#0000 64%),repeating-conic-gradient(#facc1594 0deg 8deg,#0000 8deg 20deg);border-color:#facc155c;animation:5.2s linear infinite moduleRing;box-shadow:0 0 24px #facc1557,inset 0 0 20px #f59e0b26}.tech-dashboard-main .module-hover-board.positive-pressure,.tech-dashboard-main .module-hover-board.negative-pressure,.tech-dashboard-main .module-hover-board.wastewater{transform-origin:0;top:50%;left:calc(100% + 20px);transform:translateY(-50%)scale(.94)}.tech-dashboard-main .module-hover-board.cbct,.tech-dashboard-main .module-hover-board.gateway{transform-origin:top;top:calc(100% + 18px);left:50%;transform:translate(-50%)scale(.94)}.tech-dashboard-main .module-hover-board.air{transform-origin:bottom;top:-18px;left:50%;transform:translate(-50%,-100%)scale(.94)}.tech-dashboard-main .module-hover-board.dental-chair,.tech-dashboard-main .module-hover-board.sterilization,.tech-dashboard-main .module-hover-board.hvac,.tech-dashboard-main .module-hover-board.air-purification{transform-origin:100%;top:50%;left:auto;right:calc(100% + 20px);transform:translateY(-50%)scale(.94)}.tech-dashboard-main .module-hover-board.dental-chair .module-hover-beam,.tech-dashboard-main .module-hover-board.sterilization .module-hover-beam,.tech-dashboard-main .module-hover-board.hvac .module-hover-beam,.tech-dashboard-main .module-hover-board.air-purification .module-hover-beam{clip-path:polygon(0 0,100% 52%,0 100%);background:linear-gradient(270deg,#38bdf80a,#38bdf842);left:auto;right:-168px}.tech-dashboard-main .module-hover-board.cbct .module-hover-beam,.tech-dashboard-main .module-hover-board.gateway .module-hover-beam{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(#38bdf808,#38bdf83d);width:148px;height:126px;top:-116px;left:50%;transform:translate(-50%)}.tech-dashboard-main .module-hover-board.air .module-hover-beam{clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(#38bdf83d,#38bdf808);width:148px;height:126px;top:auto;bottom:-116px;left:50%;transform:translate(-50%)}.tech-dashboard-main .module-figure:hover .module-hover-board.positive-pressure,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.positive-pressure,.tech-dashboard-main .module-figure:hover .module-hover-board.negative-pressure,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.negative-pressure,.tech-dashboard-main .module-figure:hover .module-hover-board.wastewater,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.wastewater{transform:translateY(-50%)scale(1)}.tech-dashboard-main .module-figure:hover .module-hover-board.cbct,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.cbct,.tech-dashboard-main .module-figure:hover .module-hover-board.gateway,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.gateway{transform:translate(-50%)scale(1)}.tech-dashboard-main .module-figure:hover .module-hover-board.air,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.air{transform:translate(-50%,-100%)scale(1)}.tech-dashboard-main .module-figure:hover .module-hover-board.dental-chair,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.dental-chair,.tech-dashboard-main .module-figure:hover .module-hover-board.sterilization,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.sterilization,.tech-dashboard-main .module-figure:hover .module-hover-board.hvac,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.hvac,.tech-dashboard-main .module-figure:hover .module-hover-board.air-purification,.tech-dashboard-main .module-figure:focus-visible .module-hover-board.air-purification{transform:translateY(-50%)scale(1)}@keyframes moduleHoverScanLine{to{transform:translateY(420%)}}@keyframes moduleAlarmPulse{0%,to{opacity:.64;scale:.96}50%{opacity:1;scale:1.08}}@media (width<=1500px){.tech-dashboard-main .module-hover-board{width:min(360px,100vw - 48px);min-height:270px;padding:14px}.tech-dashboard-main .module-hover-body{grid-template-columns:minmax(82px,.55fr) minmax(0,1.45fr);gap:10px}}@media (width<=1180px){.tech-dashboard-main .module-hover-board.positive-pressure,.tech-dashboard-main .module-hover-board.negative-pressure,.tech-dashboard-main .module-hover-board.sterilization,.tech-dashboard-main .module-hover-board.cbct,.tech-dashboard-main .module-hover-board.hvac,.tech-dashboard-main .module-hover-board.air-purification,.tech-dashboard-main .module-hover-board.dental-chair,.tech-dashboard-main .module-hover-board.wastewater,.tech-dashboard-main .module-hover-board.gateway,.tech-dashboard-main .module-hover-board.air{top:50%;left:50%;right:auto;transform:translate(-50%,-50%)scale(.94)}.tech-dashboard-main .module-figure:hover .module-hover-board,.tech-dashboard-main .module-figure:focus-visible .module-hover-board{transform:translate(-50%,-50%)scale(1)}.tech-dashboard-main .module-hover-beam{display:none}}.tech-dashboard-main .module-hover-board{clip-path:polygon(0 18px,18px 0,calc(100% - 80px) 0,calc(100% - 56px) 12px,100% 12px,100% calc(100% - 18px),calc(100% - 18px) 100%,78px 100%,58px calc(100% - 12px),0 calc(100% - 12px));background:linear-gradient(135deg,#38bdf8c2,#0000 17%) 0 0/150px 2px no-repeat,linear-gradient(#38bdf89e,#0000 34%) 0 0/2px 116px no-repeat,linear-gradient(315deg,#38bdf894,#0000 18%) 100% 100%/152px 2px no-repeat,linear-gradient(#0000 66%,#38bdf86b) 100% 100%/2px 112px no-repeat,repeating-linear-gradient(115deg,#0000 0 14px,#38bdf80b 15px 16px,#0000 17px 44px),radial-gradient(circle at 20%,#38bdf82e,#0000 34%),linear-gradient(135deg,#05142bf5,#061227e0);border-color:#38bdf8c7;border-radius:16px;grid-template-rows:auto minmax(142px,auto) auto auto;gap:10px;width:min(500px,100vw - 56px);min-height:332px;max-height:none;padding:16px 18px 17px;display:grid;overflow:hidden;box-shadow:0 0 28px #38bdf86b,0 0 54px #0ea5e929,inset 0 0 30px #0ea5e921}.tech-dashboard-main .module-hover-board:before{background:linear-gradient(#38bdf813 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#38bdf813 1px,#0000 1px) 0 0/18px 18px,radial-gradient(circle at 6% 10%,#38bdf866 0 2px,#0000 3px),radial-gradient(circle at 94% 88%,#38bdf83d 0 2px,#0000 3px)}.tech-dashboard-main .module-hover-board.alarm:before{background:linear-gradient(#38bdf811 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#f8717113 1px,#0000 1px) 0 0/18px 18px,radial-gradient(circle at 6% 10%,#38bdf861 0 2px,#0000 3px),radial-gradient(circle at 94% 16%,#f871716b 0 2px,#0000 3px),radial-gradient(circle at 94% 84%,#f8717147 0 2px,#0000 3px)}.tech-dashboard-main .module-hover-frame{background:linear-gradient(90deg,#38bdf838,#0000 38%) 18px 18px/84px 1px no-repeat,linear-gradient(90deg,#f871713d,#0000 42%) right 24px top 25px/92px 1px no-repeat,repeating-linear-gradient(90deg,#0000 0 8px,#38bdf829 8px 10px,#0000 10px 15px) right 18px center/9px 96px no-repeat,linear-gradient(#38bdf809 1px,#0000 1px) 0 0/18px 18px,linear-gradient(90deg,#38bdf809 1px,#0000 1px) 0 0/18px 18px;border:1px solid #38bdf81a;border-radius:10px;inset:10px;box-shadow:inset 0 0 24px #38bdf812,inset 0 -1px #f8717114}.tech-dashboard-main .module-hover-frame:before{width:6px;height:6px;top:20px;left:18px}.tech-dashboard-main .module-hover-frame:after{background:repeating-linear-gradient(90deg,#38bdf8f2 0 4px,#0000 4px 9px);border-radius:999px;width:46px;height:5px;bottom:22px;right:18px}.tech-dashboard-main .module-hover-body{background:radial-gradient(circle at 24% 52%,#38bdf81f,#0000 42%),linear-gradient(90deg,#0208173d,#0f172a33);border:1px solid #7dd3fc21;border-radius:12px;grid-template-columns:minmax(132px,.82fr) minmax(0,1.18fr);align-items:stretch;gap:16px;padding:10px 12px}.tech-dashboard-main .module-hover-visual:before{opacity:.82;inset:7px}.tech-dashboard-main .module-hover-rows{align-content:center;gap:5px}.tech-dashboard-main .module-hover-rows span{border-bottom-color:#7dd3fc1a;grid-template-columns:minmax(88px,.75fr) minmax(0,1fr);min-height:28px}.tech-dashboard-main .module-hover-rows strong{font-size:14px}.tech-dashboard-main .module-hover-board.alarm .module-hover-rows strong{color:#fecdd3;text-shadow:0 0 12px #f8717157}.tech-dashboard-main .module-hover-note.warning{background:linear-gradient(90deg,#0ea5e91a,#0208173d);border-color:#38bdf829}.tech-dashboard-main .module-hover-board.alarm .module-hover-note.warning{background:linear-gradient(90deg,#ef44442b,#02081747);border-color:#f8717157}@media (width<=1500px){.tech-dashboard-main .module-hover-board{width:min(430px,100vw - 48px);min-height:318px}.tech-dashboard-main .module-hover-body{grid-template-columns:minmax(112px,.72fr) minmax(0,1.28fr)}}.tech-dashboard-main .overview-monitor-grid,.tech-dashboard-main .overview-monitor-grid .module-scene,.tech-dashboard-main .module-entry-panel,.tech-dashboard-main .module-scene{overflow:visible}.tech-dashboard-main .overview-monitor-grid{isolation:isolate}.tech-dashboard-main .overview-monitor-grid .module-scene{z-index:40;position:relative}.tech-dashboard-main .overview-monitor-grid .ai-overview-card{z-index:10;position:relative}.tech-dashboard-main .module-figure{z-index:2;position:absolute}.tech-dashboard-main .module-hover-board{z-index:9999}.tech-dashboard-main .module-hover-rows .module-hover-row{grid-template-columns:24px minmax(78px,.68fr) minmax(0,1fr);align-items:center;gap:8px;min-height:30px;padding:4px 0;display:grid}.tech-dashboard-main .module-hover-row svg{color:#67e8f9;filter:drop-shadow(0 0 8px #22d3ee6b);justify-self:center}.tech-dashboard-main .module-hover-row em{color:#d2ebffb8}.tech-dashboard-main .module-hover-row strong{color:#eaf8ff;text-align:right;white-space:nowrap}.tech-dashboard-main .module-hover-row.success svg,.tech-dashboard-main .module-hover-row.success strong{color:#34d399;text-shadow:0 0 12px #34d39957}.tech-dashboard-main .module-hover-row.warning svg,.tech-dashboard-main .module-hover-row.warning strong{color:#fbbf24;text-shadow:0 0 12px #fbbf2452}.tech-dashboard-main .module-hover-row.danger svg,.tech-dashboard-main .module-hover-row.danger strong{color:#fb7185;text-shadow:0 0 14px #f8717175}.tech-dashboard-main .module-hover-note strong{align-items:center;gap:7px;display:inline-flex}.tech-dashboard-main .module-hover-note strong svg{color:#38bdf8;filter:drop-shadow(0 0 8px #38bdf85c)}.tech-dashboard-main .module-hover-note.warning strong svg,.tech-dashboard-main .module-hover-board.alarm .module-hover-note.warning strong svg{color:#fb7185;filter:drop-shadow(0 0 10px #f871717a)}.tech-dashboard-main .module-entry-panel{z-index:120;position:relative}.tech-dashboard-main .dashboard-grid{z-index:1;position:relative}.tech-dashboard-main .overview-monitor-grid{z-index:130;position:relative}.tech-dashboard-main .overview-monitor-grid .module-scene{z-index:140}.tech-dashboard-main .module-figure:hover,.tech-dashboard-main .module-figure:focus-visible{z-index:3000}.tech-dashboard-main .module-hover-board{z-index:2147483000;grid-template-rows:auto auto auto auto;align-content:start;gap:8px;height:auto;min-height:0;max-height:min(430px,100vh - 112px);padding:14px 18px 15px}.tech-dashboard-main .module-hover-board>.module-hover-beam,.tech-dashboard-main .module-hover-board>.module-hover-frame{pointer-events:none;z-index:0;position:absolute}.tech-dashboard-main .module-hover-board>.module-hover-beam{display:block}.tech-dashboard-main .module-hover-board>:not(.module-hover-frame):not(.module-hover-beam){z-index:2;position:relative}.tech-dashboard-main .module-hover-head{min-height:0;padding-bottom:7px}.tech-dashboard-main .module-hover-body{grid-template-columns:minmax(120px,.78fr) minmax(0,1.22fr);gap:12px;min-height:0;padding:8px 10px}.tech-dashboard-main .module-hover-visual{min-height:122px}.tech-dashboard-main .module-hover-visual img{max-width:136px;max-height:110px}.tech-dashboard-main .module-hover-rows{gap:3px}.tech-dashboard-main .module-hover-rows .module-hover-row{min-height:26px;padding:2px 0}.tech-dashboard-main .module-hover-note{min-height:0;padding:7px 10px}@media (width<=1500px){.tech-dashboard-main .module-hover-board{width:min(420px,100vw - 40px);max-height:min(410px,100vh - 92px);padding:13px 16px 14px}.tech-dashboard-main .module-hover-body{grid-template-columns:minmax(102px,.72fr) minmax(0,1.28fr)}}.tech-dashboard-main .module-hover-board{--hud-accent-rgb:52, 211, 153;--hud-hot-rgb:34, 211, 238;--hud-text:#eaf8ff;--hud-muted:#d2ebffb3;border-color:rgba(var(--hud-hot-rgb), .34);clip-path:polygon(0 30px,14px 30px,14px 14px,30px 0,39% 0,41% 8px,58% 8px,60% 0,calc(100% - 78px) 0,calc(100% - 58px) 14px,100% 14px,100% calc(100% - 38px),calc(100% - 14px) calc(100% - 24px),calc(100% - 14px) 100%,70% 100%,68% calc(100% - 8px),36% calc(100% - 8px),34% 100%,28px 100%,0 calc(100% - 28px));background:linear-gradient(90deg, rgba(var(--hud-hot-rgb), .92), transparent 34%) left 19px top / 165px 2px no-repeat, linear-gradient(180deg, rgba(var(--hud-hot-rgb), .7), transparent 52%) left top 18px / 2px 132px no-repeat, linear-gradient(90deg, transparent, rgba(var(--hud-accent-rgb), .62), transparent) right 72px top 14px / 145px 2px no-repeat, linear-gradient(180deg, rgba(var(--hud-accent-rgb), .5), transparent 58%) right 15px top 62px / 2px 135px no-repeat, linear-gradient(270deg, rgba(var(--hud-hot-rgb), .72), transparent 36%) right 20px bottom / 150px 2px no-repeat, linear-gradient(0deg, rgba(var(--hud-accent-rgb), .42), transparent 54%) left 14px bottom 24px / 2px 102px no-repeat, repeating-linear-gradient(112deg, transparent 0 18px, rgba(var(--hud-accent-rgb), .045) 19px 20px, transparent 21px 48px), radial-gradient(circle at 18% 48%, rgba(var(--hud-accent-rgb), .16), transparent 32%), radial-gradient(circle at 78% 16%, rgba(var(--hud-hot-rgb), .14), transparent 30%), linear-gradient(135deg, #05132af5, #051023e6 54%, #030a18f0);box-shadow:0 0 22px rgba(var(--hud-hot-rgb), .26), 0 0 44px rgba(var(--hud-accent-rgb), .12), inset 0 0 28px rgba(var(--hud-hot-rgb), .08);border-radius:18px}.tech-dashboard-main .module-hover-board.normal{--hud-accent-rgb:52, 211, 153;--hud-hot-rgb:34, 211, 238}.tech-dashboard-main .module-hover-board.alarm{--hud-accent-rgb:248, 113, 113;--hud-hot-rgb:56, 189, 248;border-color:#7dd3fc7a;box-shadow:0 0 24px #38bdf857,0 0 46px #f8717138,inset 0 0 32px #f871711f}.tech-dashboard-main .module-hover-board.pending{--hud-accent-rgb:251, 191, 36;--hud-hot-rgb:56, 189, 248}.tech-dashboard-main .module-hover-board:before{opacity:.82;background:linear-gradient(rgba(var(--hud-hot-rgb), .06) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--hud-hot-rgb), .052) 1px, transparent 1px), radial-gradient(circle at 5% 12%, rgba(var(--hud-hot-rgb), .7) 0 2px, transparent 3px), radial-gradient(circle at 12% 83%, rgba(var(--hud-accent-rgb), .52) 0 1px, transparent 3px), radial-gradient(circle at 91% 22%, rgba(var(--hud-accent-rgb), .58) 0 2px, transparent 3px), radial-gradient(circle at 94% 78%, rgba(var(--hud-hot-rgb), .42) 0 1px, transparent 3px);background-size:18px 18px,18px 18px,auto,auto,auto,auto}.tech-dashboard-main .module-hover-board:after{content:"";pointer-events:none;z-index:0;background:linear-gradient(90deg, transparent 0 9%, rgba(var(--hud-accent-rgb), .5) 9% 10%, transparent 10% 88%, rgba(var(--hud-hot-rgb), .36) 88% 89%, transparent 89%), linear-gradient(180deg, transparent 0 18%, rgba(var(--hud-hot-rgb), .24) 18% 19%, transparent 19% 78%, rgba(var(--hud-accent-rgb), .28) 78% 79%, transparent 79%);clip-path:polygon(0 22px,18px 22px,18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) calc(100% - 18px),calc(100% - 18px) 100%,0 100%);opacity:.72;border-radius:14px;position:absolute;inset:7px}.tech-dashboard-main .module-hover-frame{background:linear-gradient(90deg, rgba(var(--hud-hot-rgb), .85), transparent 62%) left 15px top 12px / 128px 2px no-repeat, linear-gradient(90deg, rgba(var(--hud-accent-rgb), .7), transparent 58%) right 26px top 30px / 112px 2px no-repeat, linear-gradient(180deg, rgba(var(--hud-hot-rgb), .72), transparent 74%) left 11px top 22px / 2px 118px no-repeat, repeating-linear-gradient(180deg, rgba(var(--hud-accent-rgb), .9) 0 9px, transparent 9px 19px) right 12px center / 3px 116px no-repeat, repeating-linear-gradient(90deg, rgba(var(--hud-hot-rgb), .72) 0 8px, transparent 8px 16px) right 22px bottom 14px / 108px 3px no-repeat, linear-gradient(135deg, transparent 0 47%, rgba(var(--hud-accent-rgb), .09) 48% 50%, transparent 51% 100%);box-shadow:inset 0 0 0 1px rgba(var(--hud-hot-rgb), .11), inset 0 0 28px rgba(var(--hud-hot-rgb), .06);clip-path:polygon(0 20px,18px 20px,18px 6px,30px 0,calc(100% - 54px) 0,calc(100% - 34px) 14px,100% 14px,100% calc(100% - 24px),calc(100% - 20px) calc(100% - 24px),calc(100% - 20px) 100%,22px 100%,0 calc(100% - 22px));border:0;border-radius:13px;inset:10px}.tech-dashboard-main .module-hover-frame:before{content:"";background:linear-gradient(180deg, transparent, rgba(var(--hud-hot-rgb), .95) 14%, rgba(var(--hud-accent-rgb), .86) 38%, transparent 60%, rgba(var(--hud-accent-rgb), .8) 78%, transparent);width:5px;height:92px;box-shadow:0 0 14px rgba(var(--hud-accent-rgb), .55);border-radius:999px;position:absolute;top:44px;left:13px}.tech-dashboard-main .module-hover-frame:after{content:"";background:repeating-linear-gradient(90deg, rgba(var(--hud-hot-rgb), .95) 0 5px, transparent 5px 11px), linear-gradient(90deg, transparent, rgba(var(--hud-accent-rgb), .42), transparent);width:88px;height:7px;box-shadow:0 0 16px rgba(var(--hud-hot-rgb), .45);border-radius:999px;position:absolute;bottom:18px;right:17px}.tech-dashboard-main .module-hover-body{border-color:rgba(var(--hud-hot-rgb), .16);background:radial-gradient(circle at 25% 54%, rgba(var(--hud-accent-rgb), .12), transparent 38%), linear-gradient(90deg, #0208172e, #0f172a29)}.tech-dashboard-main .module-hover-visual{isolation:isolate;overflow:hidden}.tech-dashboard-main .module-hover-visual:before{opacity:.95;filter:blur(.2px);background:radial-gradient(ellipse at 50% 78%, rgba(var(--hud-accent-rgb), .34), transparent 48%), radial-gradient(circle at 26% 32%, rgba(var(--hud-accent-rgb), .86) 0 2px, transparent 3px), radial-gradient(circle at 70% 24%, rgba(var(--hud-hot-rgb), .72) 0 2px, transparent 3px), radial-gradient(circle at 18% 70%, rgba(var(--hud-accent-rgb), .68) 0 1px, transparent 3px), radial-gradient(circle at 82% 67%, rgba(var(--hud-accent-rgb), .74) 0 2px, transparent 3px), radial-gradient(circle at 52% 18%, #ffffff75 0 1px, transparent 2px), radial-gradient(circle at 44% 54%, rgba(var(--hud-accent-rgb), .24), transparent 33%);border-radius:24px;animation:4.8s ease-in-out infinite alternate hudParticleBreath;inset:4px 2px;transform:none}.tech-dashboard-main .module-hover-visual:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(ellipse at center, rgba(var(--hud-accent-rgb), .42), transparent 70%), radial-gradient(ellipse at center, rgba(var(--hud-hot-rgb), .18), transparent 58%);filter:blur(2px);opacity:.9;border-radius:50%;height:34px;position:absolute;inset:auto 12px 8px}.tech-dashboard-main .module-hover-visual img{z-index:2;filter:drop-shadow(0 14px 20px #00000073) drop-shadow(0 0 18px rgba(var(--hud-accent-rgb), .38));position:relative}.tech-dashboard-main .module-hover-board.alarm .module-hover-visual:before{background:radial-gradient(at 50% 78%,#f871716b,#0000 48%),radial-gradient(circle at 25% 31%,#f87171f5 0 2px,#0000 3px),radial-gradient(circle at 68% 25%,#f87171c7 0 2px,#0000 3px),radial-gradient(circle at 18% 70%,#fb7185bf 0 1px,#0000 3px),radial-gradient(circle at 82% 66%,#38bdf8a8 0 2px,#0000 3px),radial-gradient(circle at 52% 18%,#ffffff6b 0 1px,#0000 2px),radial-gradient(circle at 45% 55%,#f8717157,#0000 34%)}.tech-dashboard-main .module-hover-board.alarm .module-hover-visual:after{background:radial-gradient(#f871718c,#0000 70%),radial-gradient(#38bdf829,#0000 58%)}.tech-dashboard-main .module-hover-board.alarm .module-hover-title{color:#fecdd3;background:linear-gradient(90deg,#f871713d,#38bdf814);border-color:#f871716b}.tech-dashboard-main .module-hover-board.normal .module-hover-title,.tech-dashboard-main .module-hover-board.normal .module-hover-row.success strong{color:#bbf7d0;text-shadow:0 0 13px #34d3995c}@keyframes hudParticleBreath{0%{opacity:.62;transform:translate(-1px,2px)scale(.96)}to{opacity:1;transform:translate(2px,-2px)scale(1.04)}}.tech-dashboard-main .module-hover-board{border-color:rgba(var(--hud-hot-rgb), .62);background:linear-gradient(90deg, rgba(var(--hud-hot-rgb), .95), transparent 34%) left 19px top / 165px 2px no-repeat, linear-gradient(180deg, rgba(var(--hud-hot-rgb), .75), transparent 52%) left top 18px / 2px 132px no-repeat, linear-gradient(90deg, transparent, rgba(var(--hud-accent-rgb), .68), transparent) right 72px top 14px / 145px 2px no-repeat, linear-gradient(180deg, rgba(var(--hud-accent-rgb), .56), transparent 58%) right 15px top 62px / 2px 135px no-repeat, linear-gradient(270deg, rgba(var(--hud-hot-rgb), .78), transparent 36%) right 20px bottom / 150px 2px no-repeat, linear-gradient(0deg, rgba(var(--hud-accent-rgb), .5), transparent 54%) left 14px bottom 24px / 2px 102px no-repeat, repeating-linear-gradient(112deg, transparent 0 18px, rgba(var(--hud-accent-rgb), .04) 19px 20px, transparent 21px 48px), radial-gradient(circle at 18% 48%, rgba(var(--hud-accent-rgb), .13), transparent 32%), radial-gradient(circle at 78% 16%, rgba(var(--hud-hot-rgb), .12), transparent 30%), linear-gradient(135deg, #05132af7, #051023f0 54%, #030a18f5);box-shadow:0 0 12px rgba(var(--hud-hot-rgb), .45), 0 0 30px rgba(var(--hud-hot-rgb), .24), 0 0 58px rgba(var(--hud-accent-rgb), .16), inset 0 0 0 1px rgba(var(--hud-hot-rgb), .22), inset 0 0 34px rgba(var(--hud-hot-rgb), .1)}.tech-dashboard-main .module-hover-board.alarm{background:linear-gradient(90deg,#38bdf8f2,#0000 34%) 19px 0/165px 2px no-repeat,linear-gradient(#38bdf8c7,#0000 52%) 0 18px/2px 132px no-repeat,linear-gradient(90deg,#0000,#f87171b8,#0000) right 72px top 14px/145px 2px no-repeat,linear-gradient(#f8717199,#0000 58%) right 15px top 62px/2px 135px no-repeat,linear-gradient(270deg,#38bdf8d1,#0000 36%) right 20px bottom/150px 2px no-repeat,linear-gradient(#0000 46%,#f871718f) left 14px bottom 24px/2px 102px no-repeat,repeating-linear-gradient(112deg,#0000 0 18px,#f871710a 19px 20px,#0000 21px 48px),radial-gradient(circle at 18% 48%,#f8717129,#0000 32%),radial-gradient(circle at 78% 16%,#38bdf826,#0000 30%),linear-gradient(135deg,#240c1cf7,#081226f2 54%,#120814f5);border-color:#7dd3fcbd;box-shadow:0 0 14px #38bdf885,0 0 36px #38bdf840,0 0 62px #f8717133,inset 0 0 0 1px #7dd3fc3d,inset 0 0 36px #f8717121}.tech-dashboard-main .module-hover-frame{background:linear-gradient(90deg, rgba(var(--hud-hot-rgb), .98), transparent 62%) left 15px top 12px / 138px 2px no-repeat, linear-gradient(90deg, rgba(var(--hud-accent-rgb), .9), transparent 58%) right 26px top 30px / 122px 2px no-repeat, linear-gradient(180deg, rgba(var(--hud-hot-rgb), .9), transparent 74%) left 11px top 22px / 2px 122px no-repeat, repeating-linear-gradient(180deg, rgba(var(--hud-accent-rgb), .95) 0 10px, transparent 10px 20px) right 12px center / 3px 122px no-repeat, repeating-linear-gradient(90deg, rgba(var(--hud-hot-rgb), .9) 0 8px, transparent 8px 16px) right 22px bottom 14px / 118px 3px no-repeat, radial-gradient(circle at 0 0, rgba(var(--hud-hot-rgb), .2), transparent 22%), radial-gradient(circle at 100% 100%, rgba(var(--hud-accent-rgb), .16), transparent 24%), linear-gradient(135deg, transparent 0 47%, rgba(var(--hud-accent-rgb), .08) 48% 50%, transparent 51% 100%);box-shadow:inset 0 0 0 1px rgba(var(--hud-hot-rgb), .2), inset 0 0 28px rgba(var(--hud-hot-rgb), .08), 0 0 18px rgba(var(--hud-hot-rgb), .18);inset:8px}.tech-dashboard-main .module-hover-frame:before{width:6px;box-shadow:0 0 14px rgba(var(--hud-accent-rgb), .72), 0 0 26px rgba(var(--hud-hot-rgb), .34)}.tech-dashboard-main .module-hover-frame:after{height:8px;box-shadow:0 0 14px rgba(var(--hud-hot-rgb), .62), 0 0 28px rgba(var(--hud-accent-rgb), .28)}.topbar,.tech-dashboard-main .tech-topbar{z-index:2147483600}.ai-console-wrap,.energy-ai-wrap,.alarm-bell-wrap{z-index:2147483610}.energy-ai-panel,.alarm-popover{z-index:2147483620}.tech-dashboard-main .ai-console-wrap,.tech-dashboard-main .energy-ai-wrap,.tech-dashboard-main .alarm-bell-wrap,.tech-dashboard-main .energy-ai-panel,.tech-dashboard-main .alarm-popover{z-index:2147483620;position:relative}.tech-dashboard-main .energy-ai-panel,.tech-dashboard-main .alarm-popover{position:absolute}.ai-insight-panel{z-index:2147483620;color:#dff7ff;scrollbar-color:#22d3ee94 #06162a80;background:radial-gradient(circle at 12% 0,#22d3ee2e,#0000 34%),radial-gradient(circle at 88% 10%,#3b82f638,#0000 30%),linear-gradient(135deg,#04182bfa,#08203efa 58%,#0d1a4afa);border:1px solid #22d3ee6b;border-radius:18px;width:min(900px,100vw - 48px);max-height:calc(100vh - clamp(96px,12vh,132px));padding:20px;position:fixed;top:clamp(72px,7vh,96px);left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 28px 90px #000a1a7a,0 0 0 1px #22d3ee14,inset 0 0 42px #1e5eff2e}.ai-insight-panel:before{content:"";pointer-events:none;border:1px solid #7dd3fc24;border-radius:14px;position:absolute;inset:5px}.ai-insight-panel>*{z-index:1;position:relative}.ai-panel-head{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding-bottom:12px;display:grid}.ai-panel-head strong,.ai-panel-kicker{display:block}.ai-panel-brand{color:#67e8f9;background:radial-gradient(circle,#22d3ee5c,#1e5eff29);border:1px solid #7dd3fc75;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex;box-shadow:inset 0 0 18px #22d3ee38}.ai-panel-kicker{color:#67e8f9;font-size:14px;font-weight:800}.ai-panel-head strong{color:#f1fbff;margin-top:5px;font-size:25px;line-height:1.1}.ai-panel-close{color:#c7e8ff;cursor:pointer;background:#08203ab8;border:1px solid #7dd3fc47;border-radius:999px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;box-shadow:inset 0 0 18px #22d3ee14}.ai-panel-close:hover{color:#67e8f9;border-color:#67e8f9ad}.ai-panel-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 12px;display:grid}.ai-panel-summary article{background:linear-gradient(135deg,#082e50c7,#0d214abd),radial-gradient(circle at 0 0,#22d3ee21,#0000 48%);border:1px solid #38bdf838;border-radius:10px;align-items:center;gap:9px;min-height:68px;padding:10px 12px;display:flex;box-shadow:inset 0 0 22px #0ea5e914}.ai-panel-summary span{color:#a9d7ef;font-size:13px;font-weight:700;display:block}.ai-panel-summary strong{color:#f1fbff;margin-top:4px;font-size:23px;line-height:1;display:block}.ai-summary-icon{color:#67e8f9;flex:none;justify-content:center;align-items:center;width:28px;height:34px;display:inline-flex}.ai-summary-icon svg{stroke-width:1.9px;width:24px;height:24px;display:block}.ai-summary-card.red .ai-summary-icon{color:#fb7185}.ai-summary-card.amber .ai-summary-icon{color:#fbbf24}.ai-summary-card.cyan .ai-summary-icon{color:#22d3ee}.ai-summary-card.red strong{color:#fb7185}.ai-summary-card.amber strong{color:#fbbf24}.ai-summary-card.cyan strong{color:#67e8f9}.ai-analysis-controls{grid-template-columns:minmax(240px,1fr) 300px 132px;align-items:stretch;gap:10px;margin:0 0 12px;display:grid}.ai-scope-card{background:linear-gradient(90deg,#082f49cc,#0c2248c2 58%),radial-gradient(circle at 0 0,#22d3ee29,#0000 38%);border:1px solid #22d3ee42;border-radius:12px;align-items:center;gap:10px;min-height:50px;padding:10px 12px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #22d3ee14}.ai-scope-icon{color:#67e8f9;background:#0891b233;border:1px solid #7dd3fc52;border-radius:999px;flex:none;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.ai-scope-content{z-index:1;gap:3px;display:grid;position:relative}.ai-scope-content span{color:#67e8f9;font-size:12px;font-weight:800}.ai-scope-content strong{color:#f1fbff;font-size:16px;line-height:1.15}.ai-scope-content em{color:#a9d7ef;font-size:12px;font-style:normal}.ai-scope-visual{opacity:.26;width:70px;height:44px;position:absolute;bottom:9px;right:18px}.ai-scope-visual:before,.ai-scope-visual:after,.ai-scope-visual i,.ai-scope-visual b{content:"";position:absolute}.ai-scope-visual:before{background:linear-gradient(145deg,#22d3ee38,#3b82f61f);border-radius:10px;width:66px;height:34px;bottom:1px;right:5px;transform:skew(-18deg)}.ai-scope-visual:after{background:linear-gradient(145deg,#082f49c7,#22d3ee2e);border:2px solid #67e8f957;border-radius:10px;width:36px;height:36px;bottom:23px;right:18px;box-shadow:0 12px 28px #22d3ee24}.ai-scope-visual i{background:#67e8f9;border-radius:999px;width:14px;height:3px;bottom:34px;right:29px}.ai-scope-visual b{background:#67e8f9;border-radius:999px;width:3px;height:14px;bottom:28px;right:35px}.ai-window-switch{background:linear-gradient(#082f49b8,#03101fb8),#03101fb8;border:1px solid #7dd3fc47;border-radius:10px;grid-template-columns:repeat(3,1fr);min-height:46px;display:grid;overflow:hidden;box-shadow:inset 0 0 18px #22d3ee14,0 10px 24px #000c1c29}.ai-window-switch button{color:#a9d7ef;cursor:pointer;background:0 0;border:0;border-right:1px solid #7dd3fc29;justify-content:center;align-items:center;gap:7px;padding:10px;font-size:14px;font-weight:700;transition:background .18s,color .18s,box-shadow .18s;display:inline-flex}.ai-window-switch button:hover{color:#eaf8ff;background:#0ea5e91f}.ai-window-switch button:last-child{border-right:0}.ai-window-switch button.active{color:#fff;background:radial-gradient(circle at 22% 0,#67e8f96b,#0000 46%),linear-gradient(135deg,#0ea5e9e0,#2563ebeb);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff29,inset 0 0 18px #67e8f92e,0 0 18px #22d3ee33}.ai-window-switch button.active:after{content:"";opacity:.48;background:linear-gradient(105deg,#0000 0 32%,#ffffff47 45%,#0000 58%);animation:5.6s ease-in-out infinite hologram-button-sheen;position:absolute;inset:0;transform:translate(-110%)}.ai-generate-button{color:#fff;cursor:pointer;background:radial-gradient(circle at 18% 0,#67e8f96b,#0000 46%),linear-gradient(135deg,#0891b2,#2563eb);border:1px solid #bae6fd61;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:46px;padding:10px 12px;font-size:15px;font-weight:800;transition:transform .18s,border-color .18s,box-shadow .18s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 14px 28px #2563eb42,inset 0 0 20px #67e8f929}.ai-generate-button:hover:not(:disabled){border-color:#bae6fdad;transform:translateY(-1px);box-shadow:0 16px 34px #2563eb57,0 0 24px #22d3ee47,inset 0 0 22px #67e8f938}.ai-generate-button:before,.ai-generate-button:after{content:"";pointer-events:none;position:absolute}.ai-generate-button:before{border:1px solid #bae6fd61;border-radius:10px;inset:1px;box-shadow:inset 0 0 16px #67e8f938,0 0 16px #22d3ee2e}.ai-generate-button:after{opacity:.62;background:linear-gradient(90deg,#0000,#ffffff47,#0000);width:52%;height:340%;animation:4.8s ease-in-out infinite hologram-button-sheen-angled;top:-120%;left:-42%;transform:rotate(18deg)translate(-150%)}.ai-generate-button>*{z-index:1;position:relative}.ai-generate-button:disabled{cursor:not-allowed;opacity:.55}.ai-analysis-error{color:#fecdd3;background:#7f1d1d42;border:1px solid #fb718570;border-radius:10px;padding:10px 12px;font-size:13px}.ai-button-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:999px;width:18px;height:18px;animation:.9s linear infinite aiLoadingSpin}.ai-analysis-loading{color:#f1fbff;background:#082f499e;border:1px solid #22d3ee3d;border-radius:12px;align-items:center;gap:12px;margin:12px 0;padding:12px 14px;display:flex}.ai-analysis-loading strong,.ai-analysis-loading small{display:block}.ai-analysis-loading small{color:#9cc8dd;margin-top:2px;font-size:12px}.ai-loading-orbit{border:3px solid #7dd3fc2e;border-top-color:#67e8f9;border-radius:999px;flex:none;width:28px;height:28px;animation:.9s linear infinite aiLoadingSpin}@keyframes aiLoadingSpin{to{transform:rotate(360deg)}}@keyframes hologram-button-sheen{0%,58%{transform:translate(-110%)}to{transform:translate(110%)}}@keyframes hologram-button-sheen-angled{0%,54%{transform:rotate(18deg)translate(-150%)}to{transform:rotate(18deg)translate(260%)}}@media (prefers-reduced-motion:reduce){.ai-window-switch button.active:after,.ai-generate-button:after{opacity:0;animation:none}}.ai-result-meta{color:#88bbd5;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:12px;display:flex}.ai-abnormal-overview{background:linear-gradient(135deg,#061f38d6,#0e234cc7),radial-gradient(circle at 100% 0,#3b82f624,#0000 42%);border:1px solid #22d3ee38;border-radius:12px;grid-template-columns:245px minmax(0,1fr);gap:10px;margin:12px 0;padding:0 0 16px;display:grid;box-shadow:inset 0 0 24px #0ea5e914}.ai-abnormal-overview-head{background:linear-gradient(90deg,#0ea5e92e,#0000 62%),#03101f2e;border-bottom:1px solid #7dd3fc29;grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;min-height:58px;padding:0 18px;display:flex}.ai-section-title{align-items:center;gap:8px;min-width:0;display:inline-flex}.ai-section-title strong{color:#eaf8ff;font-size:16px;line-height:1.2}.ai-section-icon{color:#67e8f9;background:#0e749038;border:1px solid #7dd3fc42;border-radius:999px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.ai-abnormal-overview-head em{color:#c7e8ff;background:#08203aa8;border:1px solid #7dd3fc3d;border-radius:8px;padding:4px 9px;font-size:13px;font-style:normal}.ai-abnormal-rate-value{background:radial-gradient(circle closest-side, #05162af5 0 62%, transparent 64%), conic-gradient(from -46deg, #22d3ee 0 calc(var(--ai-abnormal-rate,0) * 1%), #2563eb38 0 100%);color:#f8fdff;text-shadow:0 0 16px #22d3ee57;border-radius:999px;align-self:center;place-items:center;width:142px;height:142px;margin:16px auto 0;font-size:30px;line-height:1;display:grid;position:relative;box-shadow:inset 0 0 24px #22d3ee1f,0 0 24px #22d3ee29}.ai-abnormal-rate-value:before{border-radius:inherit;content:"";border:1px solid #7dd3fc2e;position:absolute;inset:11px}.ai-abnormal-rate-value:after{color:#9cc8dd;content:"异常率";text-align:center;width:100%;text-shadow:none;font-size:13px;font-weight:800;position:absolute;top:calc(50% + 22px);left:0}.ai-abnormal-metrics{border-left:1px solid #7dd3fc2e;align-content:center;gap:12px;min-height:142px;margin:16px 18px 0 0;padding-left:28px;display:grid}.ai-abnormal-metrics:before{color:#eaf8ff;content:"关键发现";text-shadow:0 0 14px #22d3ee47;font-size:18px;font-weight:900;line-height:1.2;display:block}.ai-abnormal-metrics span{background:0 0;border:0;border-radius:0;min-width:0;padding:0 0 0 18px;position:relative}.ai-abnormal-metrics span:before{content:"";background:#22d3ee;border-radius:999px;width:7px;height:7px;position:absolute;top:.62em;left:0;box-shadow:0 0 10px #22d3ee94}.ai-abnormal-metrics strong,.ai-abnormal-metrics em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ai-abnormal-metrics strong{color:#eaf8ff;font-size:14px}.ai-abnormal-metrics em,.ai-abnormal-empty{color:#9cc8dd;font-size:12px;font-style:normal}.ai-abnormal-empty{border-left:1px solid #7dd3fc2e;align-self:center;margin:16px 18px 0 0;padding-left:28px}.ai-panel-answer{color:#dff7ff;background:radial-gradient(circle at 90% 18%,#22d3ee29,#0000 22%),linear-gradient(135deg,#072744db,#0d2853d1);border:1px solid #22d3ee47;border-radius:12px;padding:15px 17px;position:relative;overflow:hidden;box-shadow:inset 0 0 28px #22d3ee14}.ai-answer-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.ai-answer-visual{color:#67e8f947;background:#08203a80;border:1px solid #7dd3fc2e;border-radius:18px;justify-content:center;align-items:center;width:66px;height:66px;display:inline-flex;position:absolute;top:15px;right:20px;transform:rotate(-8deg)}.ai-panel-answer p{color:#dff7ff;margin:0;font-size:14px;line-height:1.7}.ai-summary-list{gap:8px;margin:0;padding:0 84px 0 0;list-style:none;display:grid}.ai-summary-list li{color:#dff7ff;padding-left:22px;font-size:14px;line-height:1.65;position:relative}.ai-summary-list li:before{content:"";background:#22d3ee;border-radius:999px;width:7px;height:7px;position:absolute;top:.68em;left:0;box-shadow:0 0 10px #22d3ee61}.ai-action-list{background:#03101fa8;border:1px solid #38bdf82e;border-radius:12px;margin-top:10px;padding:12px 14px}.ai-action-list strong{color:#eaf8ff;margin-bottom:8px;font-size:15px;display:block}.ai-action-list ul{color:#c7e8ff;margin:0;padding-left:18px;font-size:14px;line-height:1.55}.ai-action-list li+li{margin-top:6px}.ai-panel-note{color:#88bbd5;margin:10px 0 0;font-size:12px}@media (width<=1180px){.ai-insight-panel{width:min(820px,100vw - 32px);max-height:calc(100vh - 92px);top:70px}.ai-panel-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-analysis-controls{grid-template-columns:minmax(0,1fr) minmax(240px,.75fr)}.ai-generate-button{grid-column:1/-1;justify-self:end;min-width:160px}.ai-abnormal-overview{grid-template-columns:210px minmax(0,1fr)}}@media (width<=760px){.ai-insight-panel{width:calc(100vw - 20px);max-height:calc(100vh - 72px);padding:16px;top:58px}.ai-panel-head strong{font-size:21px}.ai-panel-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-abnormal-overview,.ai-analysis-controls{grid-template-columns:1fr}.ai-generate-button{justify-self:stretch;min-width:0}.ai-abnormal-metrics,.ai-abnormal-empty{border-top:1px solid #7dd3fc2e;border-left:0;margin:8px 16px 0;padding:16px 0 0}.ai-scope-visual{opacity:.28}.ai-summary-list{padding-right:0}.ai-answer-visual{display:none}}.management-system-page{gap:16px;display:grid}.management-system-header,.management-system-body{color:#eaf7ff;background:radial-gradient(circle at 86% 12%,#18b7ff29,#0000 34%),linear-gradient(#0c2d52f5,#07192ffa);border:1px solid #18b7ff33;border-radius:8px;box-shadow:0 18px 42px #020c1b38}.management-system-header{padding:22px}.management-system-title{align-items:center;gap:14px;display:flex}.management-system-icon{color:#42e8ff;background:#0f72a147;border:1px solid #2ad3ff52;border-radius:8px;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 0 24px #2ad3ff33}.management-system-title small{color:#42e8ff;font-size:12px;font-weight:800}.management-system-title h2{color:#fff;margin:2px 0 6px;font-size:24px}.management-system-title p{color:#ddefffb8;margin:0}.management-system-tabs{flex-wrap:wrap;gap:10px;display:flex}.management-system-tab{color:#e7f4ffc7;background:#092444cc;border:1px solid #18b7ff38;border-radius:8px;min-height:38px;padding:0 16px;font-weight:800}.management-system-tab:hover,.management-system-tab.active{color:#fff;background:#0f72a15c;border-color:#2ae8ffb3;box-shadow:0 0 18px #2ad3ff29}.management-system-body{min-height:360px;padding:24px}.management-system-placeholder{text-align:center;background-color:#0000;background-image:linear-gradient(#2ad3ff09 1px,#0000 1px),linear-gradient(90deg,#2ad3ff09 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:34px 34px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px dashed #2ad3ff3d;border-radius:8px;place-content:center;min-height:280px;padding:24px;display:grid}.management-system-placeholder small{color:#42e8ff;font-size:12px;font-weight:800}.management-system-placeholder h3{color:#fff;margin:8px 0;font-size:28px}.management-system-placeholder p{color:#ddefffb3;max-width:520px;margin:0 auto;line-height:1.7}.dental-chair-monitor-page{gap:16px;display:grid}.dental-chair-banner{color:#ffd6dd;background:#52142a70;border:1px solid #ff5d8f5c;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex}.dental-chair-dashboard{grid-template-columns:minmax(350px,1fr) minmax(540px,720px) minmax(390px,1.05fr);align-items:stretch;gap:16px;min-height:720px;display:grid}.dental-chair-device-panel,.dental-chair-stage-panel,.dental-chair-panel{background:linear-gradient(145deg,#0d457e85,#03112bf0),#051733e6;border:1px solid #2a9bff52;border-radius:8px;min-width:0;box-shadow:0 22px 52px #00000047}.dental-chair-device-panel{grid-template-rows:auto auto auto minmax(0,1fr) auto;gap:14px;padding:18px;display:grid}.dental-chair-kicker{color:#51e5ff;margin:0 0 5px;font-size:13px;font-weight:800}.dental-chair-site-filter{margin:0}.dental-chair-selected-site,.dental-chair-list-item,.dental-chair-empty,.dental-chair-summary__pill{background:#042042a3;border:1px solid #49caff38;border-radius:8px}.dental-chair-selected-site{gap:12px;padding:14px;display:grid}.dental-chair-selected-site__header{justify-content:space-between;align-items:center;gap:10px;display:flex}.dental-chair-selected-site__header span{color:#eef8ff;align-items:center;gap:7px;min-width:0;font-weight:800;display:inline-flex}.dental-chair-selected-site__header em,.dental-chair-stage-panel__head span,.dental-chair-list-item__status{border-radius:999px;flex:none;padding:5px 9px;font-size:12px;font-style:normal;font-weight:800}.dental-chair-selected-site__header em.is-online,.dental-chair-stage-panel__head span.is-synced,.dental-chair-list-item__status.is-active{color:#80ffd6;background:#14b87829}.dental-chair-selected-site__header em.is-offline,.dental-chair-stage-panel__head span.is-offline{color:#ff9aa8;background:#ff4d6d29}.dental-chair-selected-site dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.dental-chair-selected-site dt{color:#ddefff94;font-size:12px}.dental-chair-selected-site dd{color:#78f5ff;margin:4px 0 0;font-size:17px;font-weight:900}.dental-chair-list-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.dental-chair-list-header h3,.dental-chair-stage-panel h3,.dental-chair-panel h3{color:#f8fbff;letter-spacing:0;margin:0}.dental-chair-icon-action,.dental-chair-action{color:#dff8ff;cursor:pointer;background:#083156ad;border:1px solid #49caff47;border-radius:8px;justify-content:center;align-items:center;gap:8px;display:inline-flex}.dental-chair-icon-action{width:36px;height:36px}.dental-chair-action{min-height:38px;padding:0 14px}.dental-chair-list{align-content:start;gap:10px;padding-right:2px;display:grid;overflow:auto}.dental-chair-list-item{width:100%;color:inherit;text-align:left;cursor:pointer;grid-template-columns:54px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px;display:grid;position:relative}.dental-chair-list-item.is-selected{background:linear-gradient(135deg,#0d5894c2,#052651e6);border-color:#2dd8ffc7;box-shadow:inset 0 0 22px #2dd8ff29}.dental-chair-list-item__image{background:#104270b8;border-radius:8px;place-items:center;width:54px;height:54px;display:grid}.dental-chair-list-item__image img{width:48px;height:auto}.dental-chair-list-item__body,.dental-chair-list-item__vitals{gap:4px;min-width:0;display:grid}.dental-chair-list-item__body strong{color:#fff}.dental-chair-list-item__body em,.dental-chair-list-item__body small{color:#dbeeff9e;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;overflow:hidden}.dental-chair-list-item__vitals span{color:#b7eaff;align-items:center;gap:5px;font-size:12px;display:inline-flex}.dental-chair-list-item__vitals .is-heart{color:#ff6d9d}.dental-chair-list-item__vitals .is-oxygen{color:#2edcff}.dental-chair-list-item__status{grid-column:2/4;justify-self:start}.dental-chair-list-item__status.is-idle{color:#ffc16d;background:#ffaa542e}.dental-chair-actions{flex-wrap:wrap;gap:10px;display:flex}.dental-chair-side{align-content:start;gap:12px;min-width:0;display:grid}.dental-chair-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.dental-chair-summary__pill{color:#e2f0ffb3;text-align:center;gap:2px;padding:10px;display:grid}.dental-chair-summary__pill strong{color:#fff;font-size:18px}.dental-chair-empty{background:#051f3f80;border:1px dashed #69cbff3d;border-radius:8px;min-height:180px;padding:18px}.dental-chair-empty.compact{min-height:118px}.dental-chair-empty strong{color:#fff;margin-bottom:6px;display:block}.dental-chair-empty p{color:#dceeffa8;margin:0}.dental-chair-records__list{gap:10px;display:grid}.dental-chair-record{color:#dceeffb8;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.dental-chair-record strong{color:#eef8ff;font-weight:700}.dental-chair-record em{color:#73ffbf;font-style:normal;font-weight:800}.dental-chair-records__empty{color:#dceeffa8}@media (width<=1500px){.dental-chair-dashboard{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}.dental-chair-side{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.dental-chair-summary,.dental-chair-records{grid-column:1/-1}}@media (width<=980px){.dental-chair-dashboard,.dental-chair-side{grid-template-columns:1fr}}@media (width<=760px){.dental-chair-device-panel,.dental-chair-stage-panel,.dental-chair-panel{padding:14px}.dental-chair-selected-site dl,.dental-chair-summary{grid-template-columns:1fr}}.dental-chair-panel__title,.dental-chair-chart__stats{justify-content:space-between;align-items:center;gap:12px;display:flex}.dental-chair-panel{padding:16px}.dental-chair-panel__title{margin-bottom:12px}.dental-chair-panel__title h3{align-items:baseline;gap:6px;display:inline-flex}.dental-chair-panel__title h3 small{color:#d2e5ff94;font-size:13px;font-weight:700}.dental-chair-panel__title span,.dental-chair-chart__mode{color:#8cdfff;background:#0a335eb3;border:1px solid #5fceff33;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:800}.dental-chair-chart__mode{outline:none}.dental-chair-chart__stats{color:#dceeffad;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:7px;margin-bottom:8px;font-size:13px;display:grid}.dental-chair-chart__stats strong{color:#fff;font-size:31px;line-height:1}.dental-chair-chart__stats em{color:#e6f4ffd1;font-style:normal;font-weight:800}.dental-chair-chart__stats span{justify-self:end}.dental-chair-chart__canvas{background:radial-gradient(circle at 50% 70%, color-mix(in srgb, var(--chart-color) 22%, transparent), transparent 56%), linear-gradient(#4091d114 1px, transparent 1px), linear-gradient(90deg, #4091d114 1px, transparent 1px), linear-gradient(180deg, #04193ceb, #04112bf5), #051b3ab8;background-size:auto,18px 18px,18px 18px,auto,auto;border-radius:8px;min-height:178px;position:relative;overflow:hidden}.dental-chair-chart__canvas svg{width:100%;height:178px;display:block}.dental-chair-chart__grid line{stroke:#7cb1dc33;stroke-dasharray:4 4}.dental-chair-chart__axis line{stroke:#b2dcff52;stroke-width:1px}.dental-chair-chart__axis text{fill:#d6e8ffad;font-size:10.5px;font-weight:800}.dental-chair-chart__area{fill:var(--chart-color);opacity:.22}.dental-chair-chart__line{fill:none;stroke:var(--chart-color);stroke-linecap:butt;stroke-linejoin:miter;stroke-width:3.2px;filter:drop-shadow(0 0 5px var(--chart-color)) drop-shadow(0 0 12px var(--chart-color))}.dental-chair-chart__cursor line{stroke:var(--chart-color);stroke-width:1.6px;opacity:.58}.dental-chair-chart__cursor circle{fill:#fff;stroke:var(--chart-color);stroke-width:3px;filter:drop-shadow(0 0 9px var(--chart-color))}.dental-chair-chart__bubble{z-index:2;color:#fff;background:var(--chart-color);box-shadow:0 0 18px var(--chart-color);border-radius:999px;padding:5px 8px;font-size:13px;font-weight:900;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.dental-chair-chart__empty,.dental-chair-empty{color:#dceeffb8;justify-content:center;align-items:center;gap:12px;display:flex}.dental-chair-chart__empty{text-align:center;font-weight:800;position:absolute;inset:0}.dental-chair-stage-panel{background:radial-gradient(circle at 50% 44%,#28aaff40,#0000 38%),linear-gradient(#1b8fd21c 1px,#0000 1px) 0 0/72px 72px,linear-gradient(90deg,#1b8fd21c 1px,#0000 1px) 0 0/72px 72px,#03122ef5;grid-template-rows:auto auto;gap:14px;padding:18px;display:grid;overflow:hidden}.dental-chair-stage-panel__head{justify-content:space-between;align-items:center;gap:12px;display:flex}.dental-chair-vitals-stage{--vital-card-left:clamp(18px, 3vw, 28px);--vital-card-width:min(20%, 132px);aspect-ratio:1;isolation:isolate;background:radial-gradient(circle at 50% 58%,#00cbff47,#0000 47%),radial-gradient(circle at 22% 42%,#249aff1f,#0000 34%),radial-gradient(circle at 78% 42%,#249aff1f,#0000 34%),linear-gradient(115deg,#05234aa3,#020a1cc7 46%,#051940a3);border:1px solid #42bfff29;border-radius:8px;width:100%;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 1px #81e5ff21,inset 0 0 80px #00aaff1a,0 0 42px #0080ff14}.dental-chair-vitals-stage:before,.dental-chair-vitals-stage:after{pointer-events:none;content:"";position:absolute;inset:0}.dental-chair-vitals-stage:before{z-index:-4;filter:blur(12px)saturate(1.18);opacity:.42;background:linear-gradient(90deg,#020b1c47,#020b1c05 24% 76%,#020b1c47),url(/assets/dental-chair-vitals-hologram-BIxZgorS.png) 50%/cover no-repeat;transform:scale(1.04)}.dental-chair-vitals-stage:after{z-index:-1;mix-blend-mode:screen;opacity:.82;background:radial-gradient(circle at 50% 67%,#1adaff2e,#0000 26%),linear-gradient(#26a5eb0f 1px,#0000 1px) 0 0/56px 56px,linear-gradient(90deg,#26a5eb0f 1px,#0000 1px) 0 0/56px 56px}.dental-chair-vitals-stage__image{z-index:-2;object-fit:cover;object-position:center center;opacity:.94;filter:drop-shadow(0 0 30px #1dccff47);width:100%;height:100%;display:block;position:absolute;inset:0}.dental-chair-vitals-stage__chair-meta{z-index:1;gap:6px;min-width:118px;display:grid;position:absolute;top:clamp(36px,5%,52px);left:clamp(20px,4%,34px)}.dental-chair-vitals-stage__chair-meta span{gap:2px;display:grid}.dental-chair-vitals-stage__chair-meta em{color:#d5ebffa8;font-size:11px;font-style:normal;font-weight:800}.dental-chair-vitals-stage__chair-meta strong{color:#72f8ff;font-size:14px;line-height:1}.dental-chair-vitals-stage__shade{z-index:-1;pointer-events:none;background:radial-gradient(circle at 50% 52%,#0000 0 35%,#020b1c14 58%,#020b1c5c 100%),linear-gradient(90deg,#020b1c3d,#020b1c05 18% 82%,#020b1c3d),linear-gradient(#020b1c1a,#0000 40%,#020b1c33);position:absolute;inset:0}.dental-chair-vital-card{z-index:1;width:var(--vital-card-width);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#44d3ff29,#0000 34%),linear-gradient(145deg,#052a58c7,#020d2380);border:1px solid #4ad3ff52;border-radius:8px;gap:6px;min-width:112px;padding:10px 12px;display:grid;position:absolute;top:auto;bottom:122px;box-shadow:inset 0 1px #a6f1ff33,inset 0 0 24px #43cbff1f,0 0 0 1px #4ad3ff0f,0 18px 46px #00000052,0 0 34px #21b7ff1f}.dental-chair-vital-card:before,.dental-chair-vital-card:after{pointer-events:none;content:"";position:absolute}.dental-chair-vital-card:before{border-radius:inherit;border:1px solid #57daff38;inset:-1px;-webkit-mask:linear-gradient(#000,#0000 70%);mask:linear-gradient(#000,#0000 70%)}.dental-chair-vital-card:after{filter:blur(18px);opacity:.22;background:currentColor;border-radius:999px;height:18px;bottom:-12px;left:16px;right:16px}.dental-chair-vital-card.heart{left:var(--vital-card-left)}.dental-chair-vital-card.oxygen{right:auto;left:calc(var(--vital-card-left) + var(--vital-card-width) + 10px)}.dental-chair-vital-card div{color:#a7eaff;align-items:center;gap:7px;font-size:13px;font-weight:900;display:flex}.dental-chair-vital-card div svg{flex:none;width:22px;height:22px}.dental-chair-vital-card.heart div,.dental-chair-vital-card.heart strong{color:#ff6da6}.dental-chair-vital-card.oxygen div,.dental-chair-vital-card.oxygen strong{color:#2edcff}.dental-chair-vital-card strong{color:#e8f8fff5;text-shadow:0 0 16px #abeeff59,0 0 26px;align-items:flex-end;gap:5px;font-size:clamp(26px,2.3vw,36px);line-height:1;display:flex}.dental-chair-vital-card strong em{color:#dfefffb8;margin-bottom:3px;font-size:12px;font-style:normal;font-weight:800}.dental-chair-vital-card small{color:#dceeff9e;font-size:11px;font-weight:700}.dental-chair-vital-card>svg{width:100%;height:32px}.dental-chair-vital-card>svg path{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:4px}.dental-chair-stage-panel__footer{z-index:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid;position:absolute;bottom:24px;left:24px;right:24px}.dental-chair-stage-panel__footer span{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#0420428a;border:1px solid #49caff33;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:12px;display:flex}.dental-chair-stage-panel__footer em{color:#ddefff94;font-style:normal}.dental-chair-stage-panel__footer strong{color:#7ef8ff;margin-left:auto}@media (width<=980px){.dental-chair-vitals-stage{grid-template-columns:1fr;align-content:end;gap:12px;min-height:720px;padding:18px;display:grid}.dental-chair-stage-panel__footer{grid-template-columns:1fr;position:static}.dental-chair-vital-card{width:auto;min-width:0;position:static}}.wastewater-module{color:#eef8ff;flex-direction:column;gap:10px;min-height:calc(100vh - 92px);padding:12px 18px;display:flex;position:relative}.wastewater-banner{color:#ffd7df;background:#58172e94;border:1px solid #ff787861;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.wastewater-module .tabs{margin-bottom:4px}.wastewater-module .tab-button{border-radius:8px;min-height:32px;padding:0 13px}.wastewater-layout{grid-template-columns:260px minmax(900px,1fr);align-items:stretch;gap:12px;display:grid}.wastewater-left-panel,.wastewater-dashboard,.wastewater-panel,.wastewater-bottom-status{background:linear-gradient(145deg,#05264ef0,#041736f5),radial-gradient(circle at 18% 8%,#2dd8ff29,#0000 34%);border:1px solid #2b94eb52;border-radius:8px;box-shadow:0 18px 46px #0006185c}.wastewater-left-panel{flex-direction:column;gap:10px;min-height:650px;padding:12px;display:flex}.wastewater-dashboard{flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.wastewater-site-filter{color:#9fb9d8;flex-direction:column;gap:7px;font-size:13px;display:flex}.wastewater-site-filter select{color:#effaff;background:#02122be6;border:1px solid #51b2ff52;border-radius:8px;outline:none;width:100%;padding:8px 10px}.wastewater-list-header,.wastewater-panel__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.wastewater-list-header p,.wastewater-panel__title span{color:#76dfff;margin:0;font-size:12px}.wastewater-list-header h3,.wastewater-panel__title h3{color:#f4fbff;margin:3px 0 0;font-size:15px}.wastewater-icon-button{color:#95f1ff;cursor:pointer;background:#0e406b94;border:1px solid #46beff61;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.wastewater-device-list{flex-direction:column;gap:8px;display:flex}.wastewater-device-item{color:#e9f8ff;text-align:left;cursor:pointer;background:#07274e94;border:1px solid #32abff38;border-radius:8px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;display:grid}.wastewater-device-item.is-selected{border-color:#2dd8ffd9;box-shadow:inset 0 0 26px #2dd8ff2e,0 0 18px #2dd8ff2e}.wastewater-device-item__icon,.wastewater-metric-card__icon,.wastewater-summary-tile>span{color:#2bd8ff;background:#2dd8ff1f;border-radius:8px;place-items:center;display:grid}.wastewater-device-item__icon{width:34px;height:34px}.wastewater-device-item__body{flex-direction:column;gap:3px;min-width:0;display:flex}.wastewater-device-item__body strong,.wastewater-device-item__body em,.wastewater-device-item__body small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wastewater-device-item__body em,.wastewater-device-item__body small{color:#9fb9d8;font-size:12px;font-style:normal}.wastewater-device-item__status{border-radius:999px;padding:4px 8px;font-size:12px}.wastewater-device-item__status.is-online{color:#4fffc4;background:#2beca921}.wastewater-device-item__status.is-offline{color:#ffd287;background:#ffb14d24}.wastewater-empty{color:#9fb9d8;border:1px dashed #60beff42;border-radius:8px;align-items:center;gap:10px;min-height:82px;padding:12px;display:flex}.wastewater-empty p{margin:4px 0 0}.wastewater-catalog-button{color:#8ff4ff;cursor:pointer;background:#18639666;border:1px solid #2dd8ff6b;border-radius:8px;margin-top:auto;padding:8px 10px}.wastewater-overview-grid{gap:9px;display:grid}.wastewater-metric-card,.wastewater-summary-tile{background:linear-gradient(135deg,#08325be0,#081f45d6),radial-gradient(circle at 18% 10%,#2dd8ff2e,#0000 34%);border:1px solid #35b2ff47;border-radius:8px;align-items:center;gap:9px;min-width:0;min-height:64px;padding:9px 10px;display:flex}.wastewater-metric-card.is-alarm{box-shadow:none;border-color:#35b2ff47}.wastewater-metric-card__icon,.wastewater-summary-tile>span{flex:none;width:30px;height:30px}.wastewater-metric-card p,.wastewater-summary-tile small{color:#b5c9e4;margin:0;font-size:12px}.wastewater-metric-card strong,.wastewater-summary-tile strong{color:#59dcff;margin-top:4px;font-size:21px;line-height:1;display:block}.wastewater-metric-card.is-alarm strong,.wastewater-metric-card.is-alarm strong em{color:#ff5f8e}.wastewater-metric-card strong em{color:#c8def6;margin-left:5px;font-size:12px;font-style:normal}.wastewater-metric-card small{color:#b9cbe1;margin-top:5px;display:block}.wastewater-board-grid{--wastewater-primary-panel-height:420px;--wastewater-secondary-panel-height:285px;grid-template-columns:minmax(390px,.98fr) minmax(350px,.86fr) minmax(260px,.62fr);grid-template-rows:var(--wastewater-primary-panel-height) var(--wastewater-secondary-panel-height);grid-template-areas:"process chlorine chlorine""suspended compliance health";gap:10px;display:grid}.wastewater-panel{min-width:0;min-height:0;padding:11px;position:relative;overflow:hidden}.wastewater-process{height:var(--wastewater-primary-panel-height);flex-direction:column;grid-area:process;display:flex}.wastewater-chlorine-chart{height:var(--wastewater-primary-panel-height);grid-area:chlorine;min-height:0}.wastewater-suspended-solids-chart{height:var(--wastewater-secondary-panel-height);grid-area:suspended;min-height:0}.wastewater-compliance{height:var(--wastewater-secondary-panel-height);grid-area:compliance}.wastewater-compliance__rows{gap:4px;margin-top:6px;display:grid}.wastewater-compliance__row{color:#cfe7fb;grid-template-columns:minmax(120px,1fr) 96px 86px 48px;align-items:center;gap:6px;font-size:11px;display:grid}.wastewater-compliance__row span{align-items:center;gap:7px;display:flex}.wastewater-compliance__row em{color:#9fb9d8;font-style:normal}.wastewater-compliance__row strong{color:#74edff}.wastewater-compliance__row b{font-weight:700}.wastewater-compliance__row .is-normal{color:#59f3b1}.wastewater-compliance__row .is-alarm{color:#ff7aa7}.wastewater-health{height:var(--wastewater-secondary-panel-height);flex-direction:column;grid-area:health;justify-content:space-between;gap:6px;min-height:0;display:flex}.wastewater-health__status{align-items:center;gap:10px;display:flex}.wastewater-health svg{color:#59f3b1;filter:drop-shadow(0 0 14px #59f3b161)}.wastewater-health.is-alarm svg{color:#ff7aa7;filter:drop-shadow(0 0 14px #ff7aa761)}.wastewater-health strong{color:#eafaff;font-size:16px;display:block}.wastewater-health span{color:#9fb9d8}.wastewater-health__metrics{gap:5px;display:grid}.wastewater-health__metrics span{background:#0318368f;border:1px solid #2bd8ff33;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:6px 8px;display:flex}.wastewater-health__metrics em{color:#9fb9d8;font-size:12px;font-style:normal}.wastewater-health__metrics b{color:#8fefff;font-size:16px}.wastewater-bottom-status{grid-template-columns:repeat(4,1fr);gap:8px;padding:9px 12px;display:grid}.wastewater-bottom-status span{color:#9fb9d8;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.wastewater-bottom-status strong{color:#6df4ff}.wastewater-process__image-wrap{border-radius:8px;flex:1;place-items:start center;min-height:0;padding:78px 12px 18px;display:grid;position:relative;overflow:hidden}.wastewater-process__image-wrap:before{content:"";filter:blur(14px);background:radial-gradient(circle,#23bbff33,#23bbff00);border-radius:50%;position:absolute;inset:10% 9% 6%}.wastewater-process__device-meta{z-index:2;gap:6px;min-width:118px;display:grid;position:absolute;top:clamp(14px,5%,22px);left:clamp(14px,4%,22px)}.wastewater-process__device-meta span{gap:2px;display:grid}.wastewater-process__device-meta em{color:#d5ebffa8;font-size:11px;font-style:normal;font-weight:800}.wastewater-process__device-meta strong{color:#72f8ff;font-size:14px;line-height:1}.wastewater-process__image-wrap img{z-index:1;object-fit:contain;filter:drop-shadow(0 0 24px #23bbff52);will-change:transform;width:auto;max-width:min(88%,360px);height:300px;max-height:calc(100% - 8px);animation:6.4s ease-in-out infinite deviceFloat;position:relative}.wastewater-chart{flex-direction:column;width:100%;min-height:0;display:flex}.wastewater-chart__latest{color:#9fb9d8;margin:4px 0 0}.wastewater-chart__latest strong{color:var(--chart-color);margin-left:6px}.wastewater-chart svg{flex:1;width:100%;max-width:none;height:100%;min-height:0;margin-top:2px;display:block;overflow:visible}.wastewater-chlorine-chart svg,.wastewater-suspended-solids-chart svg{min-height:0}.wastewater-chart__grid line{stroke:#78b9ff24;stroke-dasharray:4 4}.wastewater-chart__axis line,.wastewater-chart__axis text{stroke:#96d2ff40}.wastewater-chart__axis text{fill:#b2d6f1b8;stroke:none;text-anchor:middle;font-size:10px}.wastewater-chart__axis text:first-of-type,.wastewater-chart__axis text:nth-of-type(2),.wastewater-chart__axis text:nth-of-type(3),.wastewater-chart__axis text:nth-of-type(4),.wastewater-chart__axis text:nth-of-type(5){text-anchor:end}.wastewater-chart__area{fill:var(--chart-color);opacity:.2}.wastewater-chart__line{fill:none;stroke:var(--chart-color);stroke-width:3px;filter:drop-shadow(0 0 7px var(--chart-color))}.wastewater-chart__marker line{stroke:var(--chart-color);stroke-width:1.5px;opacity:.72}.wastewater-chart__marker circle{fill:#e9fbff;stroke:var(--chart-color);stroke-width:3px;filter:drop-shadow(0 0 8px var(--chart-color))}.wastewater-chart__marker text{fill:#eefcff;stroke:var(--chart-color);stroke-width:.3px;paint-order:stroke;font-size:12px;font-weight:800}.wastewater-empty-chart{color:#b5c9e4;place-items:center;display:grid;position:absolute;inset:50px 14px 12px}@media (width<=1620px){.wastewater-layout{grid-template-columns:260px minmax(700px,1fr)}.wastewater-overview-grid{grid-template-columns:repeat(5,minmax(120px,1fr))}.wastewater-board-grid{grid-template-columns:minmax(320px,.95fr) minmax(320px,1fr);grid-template-areas:"process chlorine""suspended compliance""health health"}.wastewater-compliance,.wastewater-health{min-height:0}}@media (width<=1280px){.wastewater-layout{grid-template-columns:1fr}.wastewater-left-panel{min-height:auto}.wastewater-overview-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.wastewater-board-grid{grid-template-columns:1fr 1fr;grid-template-areas:"process chlorine""suspended compliance""health health"}.wastewater-bottom-status{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.wastewater-module{padding:16px}.wastewater-module .tabs{padding-right:0}.wastewater-overview-grid,.wastewater-board-grid,.wastewater-bottom-status{grid-template-columns:1fr}.wastewater-board-grid{grid-template-areas:"process""chlorine""suspended""compliance""health"}.wastewater-compliance__row{grid-template-columns:1fr}}.pure-water-module{color:#eef8ff;flex-direction:column;gap:10px;min-height:calc(100vh - 92px);padding:12px 18px;display:flex;position:relative}.pure-water-banner{color:#ffd7df;background:#58172e94;border:1px solid #ff787861;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.pure-water-module .tabs{margin-bottom:4px}.pure-water-module .tab-button{border-radius:8px;min-height:32px;padding:0 13px}.pure-water-layout{grid-template-columns:250px minmax(900px,1fr);align-items:stretch;gap:12px;display:grid}.pure-water-left-panel,.pure-water-dashboard,.pure-water-panel,.pure-water-bottom-status{background:linear-gradient(145deg,#05264ef0,#041736f5),radial-gradient(circle at 20% 8%,#2dd8ff29,#0000 34%);border:1px solid #2b94eb52;border-radius:8px;box-shadow:0 18px 46px #0006185c}.pure-water-left-panel{flex-direction:column;gap:10px;min-height:650px;padding:12px;display:flex}.pure-water-dashboard{flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.pure-water-site-filter,.pure-water-list-header,.pure-water-panel__title{color:#9fb9d8}.pure-water-site-filter{flex-direction:column;gap:7px;font-size:13px;display:flex}.pure-water-site-filter select{color:#effaff;background:#02122be6;border:1px solid #51b2ff52;border-radius:8px;outline:none;width:100%;padding:8px 10px}.pure-water-store-card{background:#05264e85;border:1px solid #33bcff38;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.pure-water-store-card svg{color:#33d9ff;filter:drop-shadow(0 0 14px #33d9ff52)}.pure-water-store-card strong,.pure-water-store-card span{display:block}.pure-water-store-card span{color:#63f5c5;margin-top:4px;font-size:12px}.pure-water-list-header,.pure-water-panel__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.pure-water-list-header p,.pure-water-panel__title span{color:#76dfff;margin:0;font-size:12px}.pure-water-list-header h3,.pure-water-panel__title h3{color:#f4fbff;margin:3px 0 0;font-size:15px}.pure-water-icon-button{color:#95f1ff;cursor:pointer;background:#0e406b94;border:1px solid #46beff61;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.pure-water-device-list{flex-direction:column;gap:8px;display:flex}.pure-water-device-item{color:#e9f8ff;text-align:left;cursor:pointer;background:#07274e94;border:1px solid #32abff38;border-radius:8px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;display:grid}.pure-water-device-item.is-selected{border-color:#2dd8ffd9;box-shadow:inset 0 0 26px #2dd8ff2e,0 0 18px #2dd8ff2e}.pure-water-device-item__icon,.pure-water-metric-card__icon,.pure-water-summary-tile>span{color:#2bd8ff;background:#2dd8ff1f;border-radius:8px;place-items:center;display:grid}.pure-water-device-item__icon{width:34px;height:34px}.pure-water-device-item__body{flex-direction:column;gap:3px;min-width:0;display:flex}.pure-water-device-item__body strong,.pure-water-device-item__body em,.pure-water-device-item__body small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pure-water-device-item__body em,.pure-water-device-item__body small{color:#9fb9d8;font-size:12px;font-style:normal}.pure-water-device-item__status{border-radius:999px;padding:4px 8px;font-size:12px}.pure-water-device-item__status.is-online{color:#4fffc4;background:#2beca921}.pure-water-device-item__status.is-offline{color:#ffd287;background:#ffb14d24}.pure-water-empty{color:#9fb9d8;border:1px dashed #60beff42;border-radius:8px;flex-direction:column;gap:6px;min-height:82px;padding:12px;display:flex}.pure-water-empty p{margin:0}.pure-water-catalog-button{color:#8ff4ff;cursor:pointer;background:#18639666;border:1px solid #2dd8ff6b;border-radius:8px;margin-top:auto;padding:8px 10px}.pure-water-overview-grid{gap:9px;display:grid}.pure-water-metric-card,.pure-water-summary-tile{background:linear-gradient(135deg,#08325be0,#081f45d6),radial-gradient(circle at 18% 10%,#2dd8ff2e,#0000 34%);border:1px solid #35b2ff47;border-radius:8px;align-items:center;gap:9px;min-width:0;min-height:64px;padding:9px 10px;display:flex}.pure-water-metric-card.is-alarm{box-shadow:none;border-color:#35b2ff47}.pure-water-metric-card__icon,.pure-water-summary-tile>span{flex:none;width:30px;height:30px}.pure-water-metric-card p,.pure-water-summary-tile small{color:#b5c9e4;margin:0;font-size:12px}.pure-water-metric-card strong,.pure-water-summary-tile strong{color:#59dcff;margin-top:4px;font-size:21px;line-height:1;display:block}.pure-water-metric-card.is-alarm strong,.pure-water-metric-card.is-alarm strong em{color:#ff5f8e}.pure-water-metric-card strong em{color:#c8def6;margin-left:5px;font-size:12px;font-style:normal}.pure-water-metric-card small{color:#b9cbe1;margin-top:5px;display:block}.pure-water-board-grid{--pure-water-primary-panel-height:400px;--pure-water-secondary-panel-height:220px;grid-template-columns:minmax(390px,.98fr) minmax(350px,.86fr) minmax(260px,.62fr);grid-template-rows:var(--pure-water-primary-panel-height) var(--pure-water-secondary-panel-height);grid-template-areas:"process flow flow""tds compliance health";gap:10px;display:grid}.pure-water-panel{min-width:0;min-height:0;padding:11px;position:relative;overflow:hidden}.pure-water-process{height:var(--pure-water-primary-panel-height);grid-area:process}.pure-water-flow-chart{height:var(--pure-water-primary-panel-height);grid-area:flow}.pure-water-tds-chart{height:var(--pure-water-secondary-panel-height);grid-area:tds}.pure-water-compliance{height:var(--pure-water-secondary-panel-height);grid-area:compliance}.pure-water-health{height:var(--pure-water-secondary-panel-height);flex-direction:column;grid-area:health;justify-content:space-between;gap:6px;display:flex}.pure-water-compliance__rows{gap:8px;margin-top:10px;display:grid}.pure-water-compliance__row{color:#cfe7fb;grid-template-columns:minmax(108px,1fr) 92px 86px 48px;align-items:center;gap:6px;font-size:12px;display:grid}.pure-water-compliance__row span{align-items:center;gap:7px;display:flex}.pure-water-compliance__row em{color:#9fb9d8;font-style:normal}.pure-water-compliance__row strong{color:#74edff}.pure-water-compliance__row .is-normal{color:#59f3b1}.pure-water-compliance__row .is-alarm{color:#ff7aa7}.pure-water-health__status{align-items:center;gap:10px;display:flex}.pure-water-health svg{color:#59f3b1;filter:drop-shadow(0 0 14px #59f3b161)}.pure-water-health.is-alarm svg{color:#ff7aa7;filter:drop-shadow(0 0 14px #ff7aa761)}.pure-water-health strong{color:#eafaff;font-size:16px;display:block}.pure-water-health span{color:#9fb9d8}.pure-water-health__metrics span{background:#0318368f;border:1px solid #2bd8ff33;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:7px 9px;display:flex}.pure-water-health__metrics em{color:#9fb9d8;font-size:12px;font-style:normal}.pure-water-health__metrics b{color:#8fefff;font-size:16px}.pure-water-bottom-status{grid-template-columns:repeat(4,1fr);gap:8px;padding:9px 12px;display:grid}.pure-water-bottom-status span{color:#9fb9d8;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.pure-water-bottom-status strong{color:#6df4ff}.pure-water-process{flex-direction:column;min-height:0;display:flex}.pure-water-process__image-wrap{border-radius:8px;flex:1;place-items:start center;min-height:0;margin-top:6px;padding:72px 12px 18px;display:grid;position:relative;overflow:hidden}.pure-water-process__image-wrap:before{content:"";filter:blur(14px);background:radial-gradient(circle,#23bbff33,#23bbff00);border-radius:50%;position:absolute;inset:10% 10% 6%}.pure-water-process__device-meta{z-index:2;gap:6px;min-width:118px;display:grid;position:absolute;top:clamp(14px,5%,22px);left:clamp(14px,4%,22px)}.pure-water-process__device-meta span{gap:2px;display:grid}.pure-water-process__device-meta em{color:#d5ebffa8;font-size:11px;font-style:normal;font-weight:800}.pure-water-process__device-meta strong{color:#72f8ff;font-size:14px;line-height:1}.pure-water-process__image-wrap img{z-index:1;object-fit:contain;filter:drop-shadow(0 0 24px #23bbff52);will-change:transform;width:auto;max-width:min(88%,340px);height:285px;max-height:calc(100% - 8px);animation:6.4s ease-in-out infinite deviceFloat;position:relative}.pure-water-chart{flex-direction:column;min-height:0;display:flex}.pure-water-chart__latest{color:#9fb9d8;margin:4px 0 0}.pure-water-chart__latest strong{color:var(--chart-color);margin-left:6px}.pure-water-chart svg{flex:1;width:100%;height:100%;min-height:0;margin-top:2px;display:block;overflow:visible}.pure-water-chart__grid line{stroke:#78b9ff24;stroke-dasharray:4 4}.pure-water-chart__axis line,.pure-water-chart__axis text{stroke:#96d2ff40}.pure-water-chart__axis text{fill:#b2d6f1b8;stroke:none;text-anchor:middle;font-size:10px}.pure-water-chart__axis text:first-of-type,.pure-water-chart__axis text:nth-of-type(2),.pure-water-chart__axis text:nth-of-type(3),.pure-water-chart__axis text:nth-of-type(4),.pure-water-chart__axis text:nth-of-type(5){text-anchor:end}.pure-water-chart__area{fill:var(--chart-color);opacity:.2}.pure-water-chart__line{fill:none;stroke:var(--chart-color);stroke-width:3px;filter:drop-shadow(0 0 7px var(--chart-color))}.pure-water-chart__marker line{stroke:var(--chart-color);stroke-width:1.5px;opacity:.72}.pure-water-chart__marker circle{fill:#e9fbff;stroke:var(--chart-color);stroke-width:3px;filter:drop-shadow(0 0 8px var(--chart-color))}.pure-water-chart__marker text{fill:#eefcff;stroke:var(--chart-color);stroke-width:.3px;paint-order:stroke;font-size:12px;font-weight:800}.pure-water-empty-chart{color:#b5c9e4;place-items:center;display:grid;position:absolute;inset:50px 14px 12px}@media (width<=1620px){.pure-water-layout{grid-template-columns:250px minmax(700px,1fr)}.pure-water-overview-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}.pure-water-board-grid{grid-template-columns:minmax(320px,.95fr) minmax(320px,1fr);grid-template-areas:"process flow""tds compliance""health health"}.pure-water-compliance,.pure-water-health{min-height:0}}@media (width<=1280px){.pure-water-layout{grid-template-columns:1fr}.pure-water-left-panel{min-height:auto}.pure-water-board-grid{grid-template-columns:1fr 1fr;grid-template-areas:"process flow""tds compliance""health health"}.pure-water-bottom-status{grid-template-columns:repeat(2,1fr)}}@media (width<=760px){.pure-water-module{padding:16px}.pure-water-module .tabs{padding-right:0}.pure-water-overview-grid,.pure-water-board-grid,.pure-water-bottom-status{grid-template-columns:1fr}.pure-water-board-grid{grid-template-areas:"process""flow""tds""compliance""health"}.pure-water-compliance__row{grid-template-columns:1fr}}.sterilization-module{color:#edf7ff;flex-direction:column;gap:12px;min-height:calc(100vh - 92px);padding:12px 18px;display:flex;position:relative}.sterilization-module .tabs{margin-bottom:2px}.sterilization-module .tab-button{border-radius:8px;min-height:32px;padding:0 13px}.sterilization-banner{color:#ffd7df;background:#58172e94;border:1px solid #ff787861;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.sterilization-layout{grid-template-columns:260px minmax(980px,1fr);align-items:stretch;gap:12px;display:grid}.sterilization-left-panel,.sterilization-dashboard,.sterilization-panel,.sterilization-bottom-status{background:linear-gradient(145deg,#05264ef0,#041736f5),radial-gradient(circle at 18% 8%,#2dd8ff29,#0000 34%);border:1px solid #2b94eb52;border-radius:8px;box-shadow:0 18px 46px #0006185c}.sterilization-left-panel{flex-direction:column;gap:10px;min-height:650px;padding:12px;display:flex}.sterilization-dashboard{flex-direction:column;gap:12px;min-width:0;padding:12px;display:flex}.sterilization-site-filter{color:#9fb9d8;flex-direction:column;gap:7px;font-size:13px;display:flex}.sterilization-site-filter select{color:#effaff;background:#02122be6;border:1px solid #51b2ff52;border-radius:8px;outline:none;width:100%;padding:8px 10px}.sterilization-list-header,.sterilization-panel__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.sterilization-list-header p,.sterilization-panel__title span{color:#76dfff;margin:0;font-size:12px}.sterilization-list-header h3,.sterilization-panel__title h3{color:#f4fbff;margin:3px 0 0;font-size:15px}.sterilization-panel__title .is-running{color:#53f0b1;background:#32e6a029;border-radius:999px;padding:4px 9px;font-weight:800}.sterilization-panel-action{color:#84ecff;cursor:pointer;background:#09325cad;border:1px solid #53cfff70;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:800}.sterilization-panel-action:hover{color:#f5fdff;border-color:#74e6ffcc}.sterilization-icon-button{color:#95f1ff;cursor:pointer;background:#0e406b94;border:1px solid #46beff61;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.sterilization-device-list{flex-direction:column;gap:8px;display:flex}.sterilization-device-item{color:#e9f8ff;text-align:left;cursor:pointer;background:#07274e94;border:1px solid #32abff38;border-radius:8px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;display:grid}.sterilization-device-item.is-selected{border-color:#2dd8ffd9;box-shadow:inset 0 0 26px #2dd8ff2e,0 0 18px #2dd8ff2e}.sterilization-device-item__icon,.sterilization-core-card__icon,.sterilization-status-row>span{color:#2bd8ff;background:#2dd8ff1f;border-radius:8px;place-items:center;display:grid}.sterilization-device-item__icon{width:34px;height:34px}.sterilization-device-item__body{flex-direction:column;gap:3px;min-width:0;display:flex}.sterilization-device-item__body strong,.sterilization-device-item__body em,.sterilization-device-item__body small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sterilization-device-item__body em,.sterilization-device-item__body small{color:#9fb9d8;font-size:12px;font-style:normal}.sterilization-device-item__status{border-radius:999px;padding:4px 8px;font-size:12px}.sterilization-device-item__status.is-online{color:#4fffc4;background:#2beca921}.sterilization-device-item__status.is-offline{color:#ffd287;background:#ffb14d24}.sterilization-empty{color:#9fb9d8;border:1px dashed #60beff42;border-radius:8px;align-items:center;gap:10px;min-height:82px;padding:12px;display:flex}.sterilization-empty p{margin:4px 0 0}.sterilization-catalog-button{color:#8ff4ff;cursor:pointer;background:#18639666;border:1px solid #2dd8ff6b;border-radius:8px;margin-top:auto;padding:8px 10px}.sterilization-core-grid{gap:10px;display:grid}.sterilization-core-card{background:linear-gradient(135deg,#08325be0,#081f45d6),radial-gradient(circle at 18% 10%,#2dd8ff29,#0000 34%);border:1px solid #35b2ff3d;border-radius:8px;align-items:center;gap:12px;min-width:0;min-height:92px;padding:13px 14px;display:flex}.sterilization-core-card__icon{flex:none;width:42px;height:42px}.sterilization-core-card p{color:#b5c9e4;margin:0;font-size:13px}.sterilization-core-card strong{color:#59dcff;margin-top:5px;font-size:26px;line-height:1.05;display:block}.sterilization-core-card strong.is-alarm{color:#ff5f8e}.sterilization-core-card strong em{color:#d9eaff;margin-left:5px;font-size:12px;font-style:normal}.sterilization-core-card small{color:#b9cbe1;margin-top:7px;font-size:12px;display:block}.sterilization-board-grid{grid-template:"batch chart safety"390px"recent recent recent"380px/minmax(340px,.95fr) minmax(520px,1.3fr) minmax(320px,.72fr);gap:12px;display:grid}.sterilization-panel{min-width:0;min-height:0;padding:13px 14px;position:relative;overflow:hidden}.sterilization-batch-panel{grid-area:batch}.sterilization-process-chart{grid-area:chart}.sterilization-safety-panel{grid-area:safety}.sterilization-recent-panel{background:radial-gradient(circle at 16% 0,#1c75ff2e,#0000 34%),linear-gradient(#042052e0,#031436f0);border-color:#239dff80;flex-direction:column;grid-area:recent;height:380px;padding:0;display:flex;box-shadow:inset 0 0 0 1px #40bcff24,0 0 26px #007dff1f}.sterilization-batch-panel__body{grid-template-columns:minmax(150px,.9fr) minmax(180px,1fr);gap:16px;height:calc(100% - 28px);margin-top:12px;display:grid}.sterilization-batch-panel__image{place-items:end center;min-height:0;display:grid;position:relative}.sterilization-batch-panel__image:before{aspect-ratio:1;content:"";filter:blur(2px);background:radial-gradient(circle,#2dd8ff38,#0000 66%);border-radius:999px;width:min(92%,280px);position:absolute;bottom:26px}.sterilization-batch-panel__image img{object-fit:contain;filter:drop-shadow(0 26px 32px #00000061);width:min(78%,210px);max-height:260px;animation:5.8s ease-in-out infinite sterilization-device-float;position:relative}.sterilization-process__device-meta{z-index:1;gap:6px;display:grid;position:absolute;top:0;left:0}.sterilization-process__device-meta span{padding:2px 0}.sterilization-process__device-meta em,.sterilization-process__device-meta strong{display:block}.sterilization-process__device-meta em{color:#9fb9d8;font-size:12px;font-style:normal}.sterilization-process__device-meta strong{color:#6df4ff;margin-top:3px}.sterilization-batch-details{align-content:center;gap:9px;min-width:0;margin:0;display:grid}.sterilization-batch-details div{gap:3px;display:grid}.sterilization-batch-details dt{color:#9fb9d8;font-size:12px}.sterilization-batch-details dd{color:#f2fbff;word-break:break-word;align-items:center;gap:6px;min-width:0;margin:0;font-size:13px;font-weight:800;display:flex}.sterilization-batch-details div:first-child dd{color:#44cfff}.sterilization-chart-legend{color:#b8cde4;align-items:center;gap:16px;font-size:12px;display:flex}.sterilization-chart-legend span:before{content:"";vertical-align:middle;border-radius:999px;width:15px;height:3px;margin-right:6px;display:inline-block}.sterilization-chart-legend .is-temperature:before{background:#ff4b3f}.sterilization-chart-legend .is-pressure:before{background:#2b84ff}.sterilization-process-chart svg{width:100%;height:calc(100% - 34px);margin-top:8px}.sterilization-process-chart__grid line{stroke:#82b6e029;stroke-dasharray:5 8}.sterilization-process-chart__axis text,.sterilization-process-chart__phases text{fill:#d6eaffb8;font-size:12px}.sterilization-process-chart__phases text{fill:#86eec7;font-weight:800}.sterilization-process-chart__line{fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px}.sterilization-process-chart__line.is-temperature{stroke:#ff4b3f;filter:drop-shadow(0 0 7px #ff4b3f59)}.sterilization-process-chart__line.is-pressure{stroke:#2b84ff;filter:drop-shadow(0 0 7px #2b84ff59)}.sterilization-process-chart__tooltip{color:#f2fbff;background:#021226c7;border:1px solid #9bd2ff4d;border-radius:8px;gap:4px;padding:8px 10px;display:grid;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 22px #0000003d}.sterilization-process-chart__tooltip strong{font-size:12px}.sterilization-process-chart__tooltip span{font-size:12px;font-weight:800}.sterilization-process-chart__tooltip .is-temperature{color:#ff9b8f}.sterilization-process-chart__tooltip .is-pressure{color:#8eb8ff}.sterilization-empty-chart{z-index:0;color:#9fb9d8;place-items:center;font-weight:700;display:grid;position:absolute;inset:70px 16px 16px}.sterilization-status-list{gap:10px;margin-top:12px;display:grid}.sterilization-status-row{background:#041d4194;border:1px solid #50a4eb33;border-radius:8px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;display:grid}.sterilization-status-row>span{width:28px;height:28px}.sterilization-status-row strong{color:#f2fbff;font-size:13px}.sterilization-status-row em{align-items:center;gap:7px;font-style:normal;font-weight:800;display:flex}.sterilization-status-row em i{background:currentColor;border-radius:999px;width:6px;height:6px}.sterilization-status-row .is-normal,.sterilization-recent-table .is-normal{color:#50efae}.sterilization-status-row .is-alarm,.sterilization-recent-table .is-alarm{color:#ff6b91}.sterilization-recent-table{flex:1;gap:1px;min-height:0;margin:12px 16px 16px;padding-right:2px;display:grid;overflow:auto}.sterilization-recent-primary{color:#f6fdff;cursor:pointer;background:linear-gradient(135deg,#1280ff,#12c1ff);border:1px solid #5bdaffa6;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-width:104px;height:36px;font-size:14px;font-weight:900;display:inline-flex;box-shadow:0 0 20px #1280ff6b}.sterilization-recent-primary span{font-size:22px;line-height:1}.sterilization-recent-console{background:#041f4cc2;border:1px solid #27a2ff6b;border-radius:12px;grid-template-columns:minmax(520px,1fr) minmax(450px,auto);align-items:center;gap:14px;margin:16px 16px 0;padding:12px 14px;display:grid}.sterilization-recent-summary{grid-template-columns:repeat(5,minmax(120px,1fr));gap:0;min-width:0;display:grid}.sterilization-batch-summary{min-width:0;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-right:1px solid #48a0e742;grid-template-rows:auto auto;grid-template-columns:42px minmax(0,1fr);align-items:center;padding:3px 16px 3px 0;display:grid}.sterilization-batch-summary:last-child{border-right:0}.sterilization-batch-summary>span{color:#7df0ff;background:radial-gradient(circle,#39d8ff47,#0d68dab8);border-radius:50%;grid-row:1/3;place-items:center;width:34px;height:34px;display:grid;box-shadow:0 0 18px #27adff47}.sterilization-batch-summary em{color:#a9bed7;font-size:12px;font-style:normal;font-weight:800}.sterilization-batch-summary strong{color:#f4fbff;font-size:24px;font-weight:900;line-height:1}.sterilization-batch-summary.is-active>span{color:#f2fdff;background:radial-gradient(circle,#71f4ff66,#107effeb)}.sterilization-batch-summary.is-alarm>span{color:#ffe8ff;background:radial-gradient(circle,#ff91db5c,#7e4cc6bf)}.sterilization-batch-summary.is-alarm strong{color:#ff8fb1}.sterilization-recent-filters{grid-template-columns:132px minmax(210px,1fr) auto;gap:10px;min-width:0;display:grid}.sterilization-recent-filter-field,.sterilization-recent-search{min-width:0;position:relative}.sterilization-recent-filter-field span{display:none}.sterilization-recent-filter-field select,.sterilization-recent-search input{color:#dcecff;background:#0312289e;border:1px solid #5fabff47;border-radius:8px;outline:none;width:100%;min-width:0;height:36px;padding:0 12px;font-size:12px}.sterilization-recent-search input{padding-right:34px}.sterilization-recent-search svg{color:#8fb0d5;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.sterilization-batch-form{background:#03193a7a;border:1px solid #42b1f438;border-radius:10px;flex:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 16px 0;padding:9px;display:grid}.sterilization-batch-form label{gap:4px;min-width:0;display:grid}.sterilization-batch-form label span{color:#a8bdd7;font-size:11px}.sterilization-batch-form input,.sterilization-batch-form select{color:#eaf6ff;background:#031228d1;border:1px solid #5fabff42;border-radius:8px;outline:none;width:100%;min-width:0;height:30px;padding:0 8px;font-size:12px}.sterilization-batch-form input:focus,.sterilization-batch-form select:focus{border-color:#5bdaffb8}.sterilization-batch-form button{color:#f6fdff;cursor:pointer;background:linear-gradient(135deg,#1178ff,#14c8ff);border:1px solid #1fd8ff6b;border-radius:8px;grid-column:1/-1;height:31px;font-size:12px;font-weight:900}.sterilization-batch-form button:disabled{cursor:not-allowed;opacity:.62}.sterilization-recent-table__head,.sterilization-recent-table__row{grid-template-columns:minmax(150px,1fr) 132px minmax(150px,1fr) minmax(150px,1fr) minmax(150px,1fr) minmax(120px,.8fr) 132px 96px;align-items:center;gap:12px;min-width:1180px;min-height:42px;padding:0 18px;display:grid}.sterilization-recent-table__head{z-index:2;color:#d7ecff;background:linear-gradient(#0e5cc4f0,#053681eb);border:1px solid #279cff52;border-radius:8px 8px 0 0;font-size:12px;font-weight:900;position:sticky;top:0}.sterilization-recent-table__row{color:#edf7ff;background:#031f4c6b;border-bottom:1px solid #3a8de02e;font-size:12px}.sterilization-recent-table__row:nth-child(odd){background:#05275880}.sterilization-recent-table__row>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sterilization-recent-table__row span:first-child{color:#44cfff;font-weight:800}.sterilization-recent-table__row .sterilization-expiry-cell{white-space:normal;flex-wrap:wrap;align-items:center;gap:6px;display:flex;overflow:visible}.sterilization-expiry-warning{color:#ff6b91;background:#ff6b911f;border:1px solid #ff6b915c;border-radius:999px;align-items:center;gap:4px;min-height:22px;padding:0 7px;font-size:11px;font-style:normal;font-weight:900;display:inline-flex}.sterilization-batch-confirm-button{color:#74efff;cursor:pointer;background:#0e7ae047;border:1px solid #1fd8ff6b;border-radius:7px;width:100%;height:28px;font-size:12px;font-weight:900}.sterilization-batch-confirm-button:disabled{cursor:not-allowed;opacity:.62}.sterilization-batch-status-badge{color:#50efae;background:#50efae1f;border-radius:999px;justify-content:center;align-items:center;min-width:68px;height:26px;font-size:12px;font-style:normal;font-weight:900;display:inline-flex}.sterilization-batch-status-badge.is-expired{color:#ff6b91;background:#ff6b911f}.sterilization-batch-status-badge.is-unsterilized,.sterilization-batch-result-hint{color:#9fb9d8;background:#9fb9d81a}.sterilization-batch-status-badge.is-retrieved{color:#50efae;background:#50efae1f}.sterilization-recent-table__empty{color:#9fb9d8;place-items:center;min-height:90px;display:grid}.sterilization-bottom-status{grid-template-columns:repeat(4,1fr);gap:8px;padding:9px 12px;display:grid}.sterilization-bottom-status span{color:#9fb9d8;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.sterilization-bottom-status strong{color:#6df4ff}@keyframes sterilization-device-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.air-purification-module{color:#eef8ff;flex-direction:column;gap:10px;min-height:calc(100vh - 92px);padding:12px 18px;display:flex;position:relative}.air-purification-banner{color:#ffd7df;background:#58172e94;border:1px solid #ff787861;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.air-purification-module .tabs{margin-bottom:4px}.air-purification-module .tab-button{border-radius:8px;min-height:32px;padding:0 13px}.air-purification-layout{grid-template-columns:250px minmax(900px,1fr);align-items:stretch;gap:12px;display:grid}.air-purification-left-panel,.air-purification-dashboard,.air-purification-panel,.air-purification-bottom-status{background:linear-gradient(145deg,#05264ef0,#041736f5),radial-gradient(circle at 20% 8%,#2dd8ff29,#0000 34%);border:1px solid #2b94eb52;border-radius:8px;box-shadow:0 18px 46px #0006185c}.air-purification-left-panel{flex-direction:column;gap:10px;min-height:650px;padding:12px;display:flex}.air-purification-dashboard{flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.air-purification-site-filter,.air-purification-list-header,.air-purification-panel__title{color:#9fb9d8}.air-purification-site-filter{flex-direction:column;gap:7px;font-size:13px;display:flex}.air-purification-site-filter select{color:#effaff;background:#02122be6;border:1px solid #51b2ff52;border-radius:8px;outline:none;width:100%;padding:8px 10px}.air-purification-store-card{background:#05264e85;border:1px solid #33bcff38;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.air-purification-store-card svg{color:#33d9ff;filter:drop-shadow(0 0 14px #33d9ff52)}.air-purification-store-card strong,.air-purification-store-card span{display:block}.air-purification-store-card span{color:#63f5c5;margin-top:4px;font-size:12px}.air-purification-list-header,.air-purification-panel__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.air-purification-list-header p,.air-purification-panel__title span{color:#76dfff;margin:0;font-size:12px}.air-purification-list-header h3,.air-purification-panel__title h3{color:#f4fbff;margin:3px 0 0;font-size:15px}.air-purification-icon-button{color:#95f1ff;cursor:pointer;background:#0e406b94;border:1px solid #46beff61;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.air-purification-device-list{flex-direction:column;gap:8px;display:flex}.air-purification-device-item{color:#e9f8ff;text-align:left;cursor:pointer;background:#07274e94;border:1px solid #32abff38;border-radius:8px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;display:grid}.air-purification-device-item.is-selected{border-color:#2dd8ffd9;box-shadow:inset 0 0 26px #2dd8ff2e,0 0 18px #2dd8ff2e}.air-purification-device-item__icon,.air-purification-metric-card__icon,.air-purification-summary-tile>span{color:#2bd8ff;background:#2dd8ff1f;border-radius:8px;place-items:center;display:grid}.air-purification-device-item__icon{width:34px;height:34px}.air-purification-device-item__body{flex-direction:column;gap:3px;min-width:0;display:flex}.air-purification-device-item__body strong,.air-purification-device-item__body em,.air-purification-device-item__body small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.air-purification-device-item__body em,.air-purification-device-item__body small{color:#9fb9d8;font-size:12px;font-style:normal}.air-purification-device-item__status{border-radius:999px;padding:4px 8px;font-size:12px}.air-purification-device-item__status.is-online{color:#4fffc4;background:#2beca921}.air-purification-device-item__status.is-offline{color:#ffd287;background:#ffb14d24}.air-purification-empty{color:#9fb9d8;border:1px dashed #60beff42;border-radius:8px;flex-direction:column;gap:6px;min-height:82px;padding:12px;display:flex}.air-purification-empty p{margin:0}.air-purification-catalog-button{color:#8ff4ff;cursor:pointer;background:#18639666;border:1px solid #2dd8ff6b;border-radius:8px;margin-top:auto;padding:8px 10px}.air-purification-overview-groups{grid-template-columns:minmax(620px,1.32fr) minmax(480px,1fr);align-items:stretch;gap:12px;display:grid}.air-purification-overview-group{background:linear-gradient(145deg,#052045ad,#031432b8),radial-gradient(circle at 16% 0,#2dd8ff21,#0000 32%);border:1px solid #35b2ff57;border-radius:8px;min-width:0;padding:38px 12px 12px;position:relative}.air-purification-overview-group h3{color:#69efff;background:#053158e0;border:1px solid #2dd8ff80;border-radius:0 0 8px 8px;margin:0;padding:8px 14px;font-size:13px;line-height:1;position:absolute;top:-1px;left:12px}.air-purification-overview-group--system{background:linear-gradient(145deg,#171b4db3,#061535c2),radial-gradient(circle at 18% 0,#b957ff29,#0000 34%);border-color:#c268ff6b}.air-purification-overview-group--system h3{color:#e0b7ff;background:#381f5edb;border-color:#c56aff80}.air-purification-overview-grid{gap:10px;display:grid}.air-purification-overview-grid--sensor{grid-template-columns:repeat(4,minmax(128px,1fr))}.air-purification-overview-grid--system{grid-template-columns:repeat(6,minmax(0,1fr))}.air-purification-overview-grid--system .air-purification-summary-tile{grid-column:span 2}.air-purification-overview-grid--system .air-purification-summary-tile:nth-child(n+4){grid-column:span 3}.air-purification-metric-card,.air-purification-summary-tile{background:linear-gradient(135deg,#08325be0,#081f45d6),radial-gradient(circle at 18% 10%,#2dd8ff2e,#0000 34%);border:1px solid #35b2ff47;border-radius:8px;align-items:center;gap:12px;min-width:0;min-height:78px;padding:12px;display:flex}.air-purification-metric-card.is-alarm{box-shadow:none;border-color:#35b2ff47}.air-purification-metric-card__icon,.air-purification-summary-tile>span{flex:none;width:36px;height:36px}.air-purification-summary-tile>div{flex:auto;min-width:0}.air-purification-metric-card p,.air-purification-summary-tile small{color:#b5c9e4;margin:0;font-size:12px}.air-purification-metric-card strong,.air-purification-summary-tile strong{color:#59dcff;margin-top:4px;font-size:23px;line-height:1;display:block}.air-purification-metric-card.is-alarm strong,.air-purification-metric-card.is-alarm strong em{color:#ff5f8e}.air-purification-metric-card strong em{color:#c8def6;margin-left:5px;font-size:12px;font-style:normal}.air-purification-metric-card small{color:#b9cbe1;margin-top:5px;display:block}.air-purification-summary-tile--progress{align-items:flex-start}.air-purification-summary-tile__progress{background:#03122ab8;border:1px solid #64e0ff38;border-radius:999px;height:7px;margin-top:11px;position:relative;overflow:hidden;box-shadow:inset 0 0 12px #00000057}.air-purification-summary-tile__progress i{border-radius:inherit;background:linear-gradient(90deg,#2beca9 0%,#27d8ff 58%,#1f7bff 100%);height:100%;transition:width .18s;display:block;box-shadow:0 0 14px #27d8ff7a}.air-purification-board-grid{--air-purification-primary-panel-height:400px;--air-purification-secondary-panel-height:220px;grid-template-columns:minmax(390px,.98fr) minmax(350px,.86fr) minmax(260px,.62fr);grid-template-rows:var(--air-purification-primary-panel-height) var(--air-purification-secondary-panel-height);grid-template-areas:"process pm25 pm25""formaldehyde compliance health";gap:10px;display:grid}.air-purification-panel{min-width:0;min-height:0;padding:11px;position:relative;overflow:hidden}.air-purification-process{height:var(--air-purification-primary-panel-height);grid-area:process}.air-purification-pm25-chart{height:var(--air-purification-primary-panel-height);grid-area:pm25}.air-purification-formaldehyde-chart{height:var(--air-purification-secondary-panel-height);grid-area:formaldehyde}.air-purification-compliance{height:var(--air-purification-secondary-panel-height);flex-direction:column;grid-area:compliance;display:flex}.air-purification-health{height:var(--air-purification-secondary-panel-height);flex-direction:column;grid-area:health;justify-content:space-between;gap:6px;display:flex}.air-purification-process__image-wrap{place-items:center;height:calc(100% - 36px);min-height:0;display:grid;position:relative}.air-purification-process__image-wrap:before{content:"";filter:blur(2px);background:radial-gradient(circle,#2dd8ff70,#2dd8ff1f 42%,#0000 68%);border-radius:50%;height:26%;position:absolute;inset:auto 12% 12%}.air-purification-process__device-stack{z-index:1;justify-content:center;align-items:center;gap:clamp(10px,1.5vw,18px);width:min(78%,430px);height:82%;padding-left:6%;display:flex;position:relative}.air-purification-process__device-image{--air-purification-image-x:-18px;object-fit:contain;filter:drop-shadow(0 22px 28px #0000005c);flex:0 0 min(44%,185px);width:min(44%,185px);max-height:84%;animation:4.8s ease-in-out infinite air-purification-device-float;position:relative}.air-purification-process__device-meta{z-index:2;gap:8px;width:128px;display:grid;position:absolute;top:12px;left:12px}.air-purification-process__device-meta span{gap:3px;padding:2px 0;display:grid}.air-purification-process__device-meta em,.air-purification-process__device-meta strong{font-style:normal}.air-purification-process__device-meta em{color:#9fb9d8;font-size:12px}.air-purification-process__device-meta strong{color:#75efff;font-size:13px}.air-purification-process__gateway-panel{z-index:2;background:linear-gradient(145deg,#06080cfa,#111318f5),radial-gradient(circle at 50% 0,#ffffff1f,#0000 45%);border:1px solid #cfe0ec9e;border-radius:13px;flex:0 178px;min-width:156px;max-width:190px;padding:11px 11px 10px;position:relative;box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 -18px 36px #0000006b,0 20px 36px #0000005c}.air-purification-process__gateway-panel:before{pointer-events:none;content:"";background:linear-gradient(90deg,#0000 49.5%,#ffffff1a 50%,#0000 50.5%),linear-gradient(#0000 24.5%,#ffffff1f 25%,#0000 25.5%),linear-gradient(#0000 49.5%,#ffffff1f 50%,#0000 50.5%),linear-gradient(#0000 74.5%,#ffffff1f 75%,#0000 75.5%);border:1px solid #ffffff3d;border-radius:8px;position:absolute;inset:7px}.air-purification-process__gateway-panel:after{pointer-events:none;content:"";background:linear-gradient(125deg,#ffffff14,#0000 32%),linear-gradient(#ffffff08 50%,#0000 50%) 0 0/100% 7px;border-radius:11px;position:absolute;inset:2px}.air-purification-process__gateway-grid{z-index:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;position:relative}.air-purification-process__gateway-field{flex-direction:column;justify-content:center;gap:5px;min-width:0;min-height:51px;padding:7px;display:flex}.air-purification-process__gateway-field:nth-child(odd){padding-left:4px;padding-right:8px}.air-purification-process__gateway-field:nth-child(2n){padding-left:8px;padding-right:4px}.air-purification-process__gateway-label{align-items:center;gap:5px;min-width:0;display:flex}.air-purification-process__gateway-label i{color:#ffffffeb;flex:none;font-style:normal;display:inline-flex}.air-purification-process__gateway-label svg{width:11px;height:11px}.air-purification-process__gateway-label em{color:#fffffff2;letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;font-style:normal;font-weight:700;overflow:hidden}.air-purification-process__gateway-label small{color:#ffffffd6;margin-left:3px;font-size:8px;font-weight:600}.air-purification-process__gateway-field b{color:#21efff;font-variant-numeric:tabular-nums;text-shadow:0 0 12px #21efff61;font-size:24px;line-height:.95}.air-purification-process__gateway-field--pm25 b,.air-purification-process__gateway-field--formaldehyde b,.air-purification-process__gateway-field--ozone b{color:#35f03d;text-shadow:0 0 13px #35f03d66}.air-purification-process__gateway-field--temperature b,.air-purification-process__gateway-field--tvoc b{color:#f6f21f;text-shadow:0 0 13px #f6f21f5c}.air-purification-process__gateway-field--noise b{color:#ffb686;text-shadow:0 0 13px #ffb68659}.air-purification-process__gateway-field.is-alarm b{color:#ff5f8e;text-shadow:0 0 13px #ff5f8e7a}.air-purification-chart{flex-direction:column;display:flex}.air-purification-chart__latest{color:#9fb9d8;margin:3px 0 0}.air-purification-chart__latest strong{color:#f4fbff}.air-purification-chart svg{flex:auto;width:100%;min-height:0;overflow:visible}.air-purification-chart__grid line{stroke:#69ade629;stroke-dasharray:5 7}.air-purification-chart__axis line{stroke:#7bbef647}.air-purification-chart__axis text{fill:#c9ddf3bd;text-anchor:middle;font-size:10px}.air-purification-chart__axis text:first-child{text-anchor:end}.air-purification-chart__area{fill:color-mix(in srgb, var(--chart-color) 20%, transparent)}.air-purification-chart__line{fill:none;stroke:var(--chart-color);stroke-width:2.4px;filter:drop-shadow(0 0 7px color-mix(in srgb, var(--chart-color) 55%, transparent))}.air-purification-chart__marker line{stroke:color-mix(in srgb, var(--chart-color) 70%, transparent);stroke-width:1px}.air-purification-chart__marker circle{fill:var(--chart-color);stroke:#effaff;stroke-width:2px}.air-purification-chart__marker text{fill:#f4fbff;font-size:11px;font-weight:700}.air-purification-empty-chart{color:#9fb9d8;font-weight:700;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.air-purification-compliance__rows{scrollbar-color:#54d3ff9e #081e3e80;scrollbar-width:thin;flex:auto;gap:8px;min-height:0;margin-top:10px;padding-right:4px;display:grid;overflow-y:auto}.air-purification-compliance__rows::-webkit-scrollbar{width:6px}.air-purification-compliance__rows::-webkit-scrollbar-track{background:#081e3e80;border-radius:999px}.air-purification-compliance__rows::-webkit-scrollbar-thumb{background:#54d3ff9e;border-radius:999px}.air-purification-compliance__row{color:#cfe7fb;grid-template-columns:minmax(108px,1fr) 92px 86px 48px;align-items:center;gap:6px;font-size:12px;display:grid}.air-purification-compliance__row span{align-items:center;gap:7px;display:flex}.air-purification-compliance__row em{color:#9fb9d8;font-style:normal}.air-purification-compliance__row strong{color:#74edff}.air-purification-compliance__row .is-normal{color:#59f3b1}.air-purification-compliance__row .is-alarm{color:#ff7aa7}.air-purification-health__status{align-items:center;gap:10px;display:flex}.air-purification-health svg{color:#59f3b1;filter:drop-shadow(0 0 14px #59f3b161)}.air-purification-health.is-alarm svg{color:#ff7aa7;filter:drop-shadow(0 0 14px #ff7aa761)}.air-purification-health strong{color:#eafaff;font-size:16px;display:block}.air-purification-health span{color:#9fb9d8}.air-purification-health__metrics span{background:#0318368f;border:1px solid #2bd8ff33;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:7px 9px;display:flex}.air-purification-health__metrics em{color:#9fb9d8;font-size:12px;font-style:normal}.air-purification-health__metrics b{color:#8fefff;font-size:16px}.air-purification-bottom-status{grid-template-columns:repeat(4,1fr);gap:8px;padding:9px 12px;display:grid}.air-purification-bottom-status span{color:#9fb9d8;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.air-purification-bottom-status strong{color:#6df4ff}@keyframes air-purification-device-float{0%,to{transform:translate(var(--air-purification-image-x), 0)}50%{transform:translate(var(--air-purification-image-x), -8px)}}@media (width<=1500px){.air-purification-layout{grid-template-columns:240px minmax(760px,1fr)}.air-purification-overview-groups{grid-template-columns:1fr}.air-purification-overview-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.air-purification-overview-grid--system .air-purification-summary-tile{grid-column:auto}.air-purification-board-grid{--air-purification-primary-panel-height:360px;grid-template-columns:minmax(320px,.9fr) minmax(360px,1fr);grid-template-rows:var(--air-purification-primary-panel-height) var(--air-purification-secondary-panel-height) var(--air-purification-secondary-panel-height);grid-template-areas:"process pm25""co2 compliance""health health"}}@media (width<=1180px){.air-purification-layout{grid-template-columns:1fr}.air-purification-left-panel{min-height:auto}.air-purification-device-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.air-purification-board-grid{grid-template-columns:1fr;grid-template-areas:"process""pm25""co2""compliance""health"}}.hvac-module{color:#eef8ff;flex-direction:column;gap:10px;min-height:calc(100vh - 92px);padding:12px 18px;display:flex;position:relative}.hvac-banner{color:#ffd7df;background:#58172e94;border:1px solid #ff787861;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;display:flex}.hvac-module .tabs{margin-bottom:4px}.hvac-module .tab-button{border-radius:8px;min-height:32px;padding:0 13px}.hvac-layout{grid-template-columns:250px minmax(900px,1fr);align-items:stretch;gap:12px;display:grid}.hvac-left-panel,.hvac-dashboard,.hvac-panel,.hvac-bottom-status{background:linear-gradient(145deg,#05264ef0,#041736f5),radial-gradient(circle at 20% 8%,#2dd8ff29,#0000 34%);border:1px solid #2b94eb52;border-radius:8px;box-shadow:0 18px 46px #0006185c}.hvac-left-panel{flex-direction:column;gap:10px;min-height:650px;padding:12px;display:flex}.hvac-dashboard{flex-direction:column;gap:10px;min-width:0;padding:12px;display:flex}.hvac-site-filter,.hvac-list-header,.hvac-panel__title{color:#9fb9d8}.hvac-site-filter{flex-direction:column;gap:7px;font-size:13px;display:flex}.hvac-site-filter select{color:#effaff;background:#02122be6;border:1px solid #51b2ff52;border-radius:8px;outline:none;width:100%;padding:8px 10px}.hvac-store-card{background:#05264e85;border:1px solid #33bcff38;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.hvac-store-card svg{color:#33d9ff;filter:drop-shadow(0 0 14px #33d9ff52)}.hvac-store-card strong,.hvac-store-card span{display:block}.hvac-store-card span{color:#63f5c5;margin-top:4px;font-size:12px}.hvac-list-header,.hvac-panel__title{justify-content:space-between;align-items:center;gap:12px;display:flex}.hvac-list-header p,.hvac-panel__title span{color:#76dfff;margin:0;font-size:12px}.hvac-list-header h3,.hvac-panel__title h3{color:#f4fbff;margin:3px 0 0;font-size:15px}.hvac-icon-button{color:#95f1ff;cursor:pointer;background:#0e406b94;border:1px solid #46beff61;border-radius:8px;place-items:center;width:31px;height:31px;display:grid}.hvac-device-list{flex-direction:column;gap:8px;display:flex}.hvac-device-item{color:#e9f8ff;text-align:left;cursor:pointer;background:#07274e94;border:1px solid #32abff38;border-radius:8px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:9px 10px;display:grid}.hvac-device-item.is-selected{border-color:#2dd8ffd9;box-shadow:inset 0 0 26px #2dd8ff2e,0 0 18px #2dd8ff2e}.hvac-device-item__icon,.hvac-metric-card__icon,.hvac-summary-tile>span{color:#2bd8ff;background:#2dd8ff1f;border-radius:8px;place-items:center;display:grid}.hvac-device-item__icon{width:34px;height:34px}.hvac-device-item__body{flex-direction:column;gap:3px;min-width:0;display:flex}.hvac-device-item__body strong,.hvac-device-item__body em,.hvac-device-item__body small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.hvac-device-item__body em,.hvac-device-item__body small{color:#9fb9d8;font-size:12px;font-style:normal}.hvac-device-item__status{border-radius:999px;padding:4px 8px;font-size:12px}.hvac-device-item__status.is-online{color:#4fffc4;background:#2beca921}.hvac-device-item__status.is-offline{color:#ffd287;background:#ffb14d24}.hvac-empty{color:#9fb9d8;border:1px dashed #60beff42;border-radius:8px;flex-direction:column;gap:6px;min-height:82px;padding:12px;display:flex}.hvac-empty p{margin:0}.hvac-catalog-button{color:#8ff4ff;cursor:pointer;background:#18639666;border:1px solid #2dd8ff6b;border-radius:8px;margin-top:auto;padding:8px 10px}.hvac-overview-grid{gap:10px;display:grid}.hvac-metric-card,.hvac-summary-tile{background:linear-gradient(135deg,#08325be0,#081f45d6),radial-gradient(circle at 18% 10%,#2dd8ff2e,#0000 34%);border:1px solid #35b2ff47;border-radius:8px;align-items:center;gap:12px;min-width:0;min-height:78px;padding:12px;display:flex}.hvac-metric-card.is-alarm{box-shadow:none;border-color:#35b2ff47}.hvac-metric-card__icon,.hvac-summary-tile>span{flex:none;width:36px;height:36px}.hvac-summary-tile>div{flex:auto;min-width:0}.hvac-metric-card p,.hvac-summary-tile small{color:#b5c9e4;margin:0;font-size:12px}.hvac-metric-card strong,.hvac-summary-tile strong{color:#59dcff;margin-top:4px;font-size:23px;line-height:1;display:block}.hvac-metric-card.is-alarm strong,.hvac-metric-card.is-alarm strong em{color:#ff5f8e}.hvac-metric-card strong em{color:#c8def6;margin-left:5px;font-size:12px;font-style:normal}.hvac-metric-card small{color:#b9cbe1;margin-top:5px;display:block}.hvac-board-grid{--hvac-primary-panel-height:400px;--hvac-secondary-panel-height:220px;grid-template-columns:minmax(390px,.98fr) minmax(350px,.86fr) minmax(260px,.62fr);grid-template-rows:var(--hvac-primary-panel-height) var(--hvac-secondary-panel-height);grid-template-areas:"process temperature temperature""airflow compliance health";gap:10px;display:grid}.hvac-panel{min-width:0;min-height:0;padding:11px;position:relative;overflow:hidden}.hvac-process{height:var(--hvac-primary-panel-height);grid-area:process}.hvac-temperature-chart{height:var(--hvac-primary-panel-height);grid-area:temperature}.hvac-air-flow-chart{height:var(--hvac-secondary-panel-height);grid-area:airflow}.hvac-compliance{height:var(--hvac-secondary-panel-height);flex-direction:column;grid-area:compliance;display:flex}.hvac-health{height:var(--hvac-secondary-panel-height);flex-direction:column;grid-area:health;justify-content:space-between;gap:6px;display:flex}.hvac-process__content{grid-template-columns:120px minmax(150px,1fr) 190px;align-items:center;gap:12px;height:calc(100% - 36px);display:grid;position:relative}.hvac-process__content:before{filter:blur(2px);content:"";background:radial-gradient(circle,#2dd8ff70,#2dd8ff1f 42%,#0000 68%);border-radius:50%;height:26%;position:absolute;inset:auto 12% 10% 18%}.hvac-process__device-meta{z-index:2;align-self:start;gap:12px;padding-top:28px;display:grid;position:relative}.hvac-process__device-meta span{gap:3px;display:grid}.hvac-process__device-meta em,.hvac-process__device-meta strong{font-style:normal}.hvac-process__device-meta em{color:#9fb9d8;font-size:12px}.hvac-process__device-meta strong{color:#75efff;font-size:14px}.hvac-process__device-image{z-index:2;object-fit:contain;filter:drop-shadow(0 22px 28px #0000005c);justify-self:center;width:min(96%,230px);max-height:84%;animation:4.8s ease-in-out infinite hvac-device-float;position:relative}.hvac-process__readout{z-index:2;background:linear-gradient(145deg,#052248c7,#041632db),linear-gradient(#ffffff08 50%,#0000 50%) 0 0/100% 8px;border:1px solid #54d3ff47;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px;display:grid;position:relative;box-shadow:inset 0 0 24px #2dd8ff14}.hvac-process__readout-field{gap:3px;min-width:0;display:grid}.hvac-process__readout-field em{color:#a9bfd8;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-style:normal;overflow:hidden}.hvac-process__readout-field strong{color:#59dcff;font-size:19px;line-height:1}.hvac-process__readout-field.is-alarm strong,.hvac-process__readout-field.is-alarm small{color:#ff5f8e}.hvac-process__readout-field small{color:#d5e8fb;margin-left:4px;font-size:10px}.hvac-chart{flex-direction:column;display:flex}.hvac-chart__latest{color:#9fb9d8;margin:3px 0 0}.hvac-chart__latest strong{color:#f4fbff}.hvac-chart svg{flex:auto;width:100%;min-height:0;overflow:visible}.hvac-chart__grid line{stroke:#69ade629;stroke-dasharray:5 7}.hvac-chart__axis line{stroke:#7bbef647}.hvac-chart__axis text{fill:#c9ddf3bd;text-anchor:middle;font-size:10px}.hvac-chart__area{fill:color-mix(in srgb, var(--chart-color) 20%, transparent)}.hvac-chart__line{fill:none;stroke:var(--chart-color);stroke-width:2.4px;filter:drop-shadow(0 0 7px color-mix(in srgb, var(--chart-color) 55%, transparent))}.hvac-chart__marker line{stroke:color-mix(in srgb, var(--chart-color) 70%, transparent);stroke-width:1px}.hvac-chart__marker circle{fill:var(--chart-color);stroke:#effaff;stroke-width:2px}.hvac-chart__marker text{fill:#f4fbff;font-size:11px;font-weight:700}.hvac-empty-chart{color:#9fb9d8;font-weight:700;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.hvac-compliance__rows{scrollbar-color:#54d3ff9e #081e3e80;scrollbar-width:thin;flex:auto;gap:8px;min-height:0;margin-top:10px;padding-right:4px;display:grid;overflow-y:auto}.hvac-compliance__row{color:#cfe7fb;grid-template-columns:minmax(108px,1fr) 92px 86px 48px;align-items:center;gap:6px;font-size:12px;display:grid}.hvac-compliance__row span{align-items:center;gap:7px;display:flex}.hvac-compliance__row em{color:#9fb9d8;font-style:normal}.hvac-compliance__row strong{color:#74edff}.hvac-compliance__row .is-normal{color:#59f3b1}.hvac-compliance__row .is-alarm{color:#ff7aa7}.hvac-health__status{align-items:center;gap:10px;display:flex}.hvac-health svg{color:#59f3b1;filter:drop-shadow(0 0 14px #59f3b161)}.hvac-health.is-alarm svg{color:#ff7aa7;filter:drop-shadow(0 0 14px #ff7aa761)}.hvac-health strong{color:#eafaff;font-size:16px;display:block}.hvac-health span{color:#9fb9d8}.hvac-health__metrics span{background:#0318368f;border:1px solid #2bd8ff33;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:7px 9px;display:flex}.hvac-health__metrics em{color:#9fb9d8;font-size:12px;font-style:normal}.hvac-health__metrics b{color:#8fefff;font-size:16px}.hvac-bottom-status{grid-template-columns:repeat(4,1fr);gap:8px;padding:9px 12px;display:grid}.hvac-bottom-status span{color:#9fb9d8;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.hvac-bottom-status strong{color:#6df4ff}@keyframes hvac-device-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (width<=1500px){.hvac-layout{grid-template-columns:240px minmax(760px,1fr)}.hvac-overview-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.hvac-board-grid{--hvac-primary-panel-height:360px;grid-template-columns:minmax(320px,.9fr) minmax(360px,1fr);grid-template-rows:var(--hvac-primary-panel-height) var(--hvac-secondary-panel-height) var(--hvac-secondary-panel-height);grid-template-areas:"process temperature""airflow compliance""health health"}}@media (width<=1180px){.hvac-layout{grid-template-columns:1fr}.hvac-left-panel{min-height:auto}.hvac-device-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.hvac-board-grid{grid-template-columns:1fr;grid-template-areas:"process""temperature""airflow""compliance""health"}.hvac-process__content{grid-template-columns:1fr}}.main-content.cbct-dashboard-main{color:#eef8ff;background:radial-gradient(circle at 18% 12%,#20c8ff2e,#0000 28%),radial-gradient(circle at 74% 18%,#405dff29,#0000 32%),radial-gradient(circle at 56% 88%,#14b8a624,#0000 34%),linear-gradient(135deg,#031225 0%,#061b31 48%,#020814 100%);min-height:100vh}.main-content.cbct-dashboard-main .topbar{background:#030e1ceb;border-bottom:1px solid #37beff3d;box-shadow:0 12px 40px #00000047}.main-content.cbct-dashboard-main .topbar h1,.main-content.cbct-dashboard-main .topbar .eyebrow{color:#eaf8ff}.main-content.cbct-dashboard-main .topbar .eyebrow{color:#67dfff}.main-content.cbct-dashboard-main .icon-button,.main-content.cbct-dashboard-main .alarm-bell-button,.main-content.cbct-dashboard-main .user-chip{color:#eaf8ff;background:#08203a8f;border-color:#37beff47}.cbct-module{color:#eef8ff;flex-direction:column;gap:9px;min-height:calc(100vh - 72px);padding:12px 18px 18px;display:flex;position:relative}.cbct-module .tabs{margin-bottom:4px}.cbct-module .tab-button{border-radius:8px;min-height:32px;padding:0 13px}.cbct-banner,.cbct-left-panel,.cbct-panel,.cbct-status-strip{background:linear-gradient(145deg,#05264ef0,#041736f5),radial-gradient(circle at 20% 8%,#2dd8ff29,#0000 34%);border:1px solid #2b94eb52;border-radius:8px;box-shadow:0 18px 46px #0006185c}.cbct-banner{color:#ffd1dc;border-radius:8px;align-items:center;gap:8px;margin:14px 0;padding:10px 14px;display:flex}.cbct-layout{grid-template-columns:250px minmax(900px,1fr);align-items:stretch;gap:12px;display:grid}.cbct-left-panel{flex-direction:column;gap:10px;min-height:620px;padding:12px;display:flex}.cbct-site-filter{color:#9eb9d6;flex-direction:column;gap:7px;font-size:13px;display:flex}.cbct-site-filter select{color:#effaff;background:#02122be6;border:1px solid #26a9ff61;border-radius:8px;outline:none;width:100%;padding:8px 10px}.cbct-store-card,.cbct-device-card{background:#05264e85;border:1px solid #12b2ff38;border-radius:8px;align-items:center;gap:12px;display:flex}.cbct-store-card{padding:12px}.cbct-store-card svg,.cbct-device-icon,.cbct-metric-icon{color:#2dd9ff}.cbct-store-card strong,.cbct-device-card strong{color:#fff;font-size:14px;line-height:1.2;display:block}.cbct-store-card span,.cbct-device-card small{color:#8bb0ce;margin-top:3px;font-size:12px;display:block}.cbct-device-list-head{color:#9eb9d6;justify-content:space-between;align-items:center;display:flex}.cbct-device-list-head strong{color:#fff;margin-top:4px;display:block}.cbct-device-list-head button,.cbct-catalog-button{color:#86f2ff;cursor:pointer;background:#0d5e917a;border:1px solid #27bcff73;border-radius:8px}.cbct-device-list-head button{place-items:center;width:38px;height:38px;display:grid}.cbct-device-list{gap:10px;max-height:390px;padding-right:4px;display:grid;overflow-y:auto}.cbct-device-card{text-align:left;cursor:pointer;width:100%;min-height:82px;padding:12px}.cbct-device-card.active{border-color:#19d7ff;box-shadow:0 0 18px #00b8ff38}.cbct-device-card em{color:#4df4ac;white-space:nowrap;background:#17c27a2e;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:12px;font-style:normal}.cbct-device-icon,.cbct-metric-icon{background:#00bcff21;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.cbct-empty{color:#8fb2cc;line-height:1.7}.cbct-catalog-button{height:46px;margin-top:auto;font-weight:800}.cbct-main-panel{gap:10px;min-width:0;display:grid}.cbct-top-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.cbct-metric-card{background:#05264e9e;border:1px solid #2b94eb52;border-radius:8px;align-items:center;gap:12px;min-height:76px;padding:11px 12px;display:flex}.cbct-metric-card span{color:#a8c0dc;font-size:12px}.cbct-metric-card strong{color:#54e5ff;margin-top:4px;font-size:19px;line-height:1.1;display:block}.cbct-metric-card strong.is-alarm,.cbct-device-readout .is-alarm,.cbct-safety-row strong.is-alarm{color:#ff5d8e}.cbct-device-readout .is-warning{color:#ffc05f}.cbct-content-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,1.1fr) minmax(260px,.7fr);gap:10px;display:grid}.cbct-panel{padding:13px}.cbct-panel h3{color:#fff;margin:0;font-size:15px;line-height:1.25}.cbct-device-overview{grid-row:span 2}.cbct-device-stage{grid-template-columns:118px minmax(0,1fr) 132px;align-items:center;gap:16px;min-height:350px;display:grid}.cbct-device-meta,.cbct-device-readout{gap:8px;display:grid}.cbct-device-meta span,.cbct-device-readout span{color:#91abc8;font-size:12px}.cbct-device-meta strong,.cbct-device-readout strong{color:#64efff;font-size:13px;line-height:1.25}.cbct-image-wrap{place-items:center;min-height:286px;display:grid;position:relative}.cbct-image-wrap:after{content:"";filter:blur(4px);background:radial-gradient(circle,#2be5ff8c,#2be5ff00);border-radius:50%;width:72%;height:32px;position:absolute;bottom:40px}.cbct-image-wrap img{z-index:1;object-fit:contain;filter:drop-shadow(0 18px 26px #0000004d);max-width:min(248px,100%);max-height:248px;position:relative}.cbct-chart-panel{min-height:350px}.cbct-panel-heading{justify-content:space-between;gap:12px;display:flex}.cbct-panel-heading span,.cbct-panel-heading em{color:#9eb9d6;font-size:12px;font-style:normal}.cbct-chart-panel svg{width:100%;height:270px;margin-top:10px}.cbct-chart-panel line{stroke:#59abe62e;stroke-dasharray:5 8}.cbct-chart-panel text{fill:#a6bad1;text-anchor:middle;font-size:10px}.cbct-chart-axis{stroke:#7bccff8c!important;stroke-dasharray:none!important}.cbct-chart-area{fill:#23c7ff29}.cbct-chart-line{fill:none;stroke:#26d9ff;stroke-width:2.4px}.cbct-chart-dot{fill:#fff;stroke:#26d9ff;stroke-width:2px}.cbct-chart-label{font-weight:800;fill:#e8fbff!important;font-size:11px!important}.cbct-chart-empty{fill:#9eb9d6!important;font-size:13px!important}.cbct-safety-panel,.cbct-summary-panel{min-height:280px}.cbct-safety-list{gap:10px;margin-top:14px;display:grid}.cbct-safety-row{background:#041931a8;border:1px solid #12b2ff2e;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;display:flex}.cbct-safety-row span{color:#c8dcf4;align-items:center;gap:8px;font-size:12px;display:inline-flex}.cbct-safety-row strong{color:#4df4ac;font-size:13px}.cbct-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.cbct-summary-grid div{background:#041931a8;border:1px solid #12b2ff2e;border-radius:8px;padding:12px}.cbct-summary-grid span{color:#91abc8;font-size:12px}.cbct-summary-grid strong{color:#54e5ff;margin-top:4px;font-size:20px;line-height:1.15;display:block}.cbct-health-note{background:#041931a8;border:1px solid #12b2ff2e;border-radius:8px;align-items:center;gap:12px;margin-top:14px;padding:13px;display:flex}.cbct-health-note svg{color:#42f5a8}.cbct-health-note strong{color:#fff;font-size:13px;display:block}.cbct-health-note span{color:#9eb9d6;margin-top:5px;font-size:12px;display:block}.cbct-status-strip{border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 18px;display:grid}.cbct-status-strip span{color:#a8c0dc;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}@media (width<=1500px){.cbct-layout{grid-template-columns:250px minmax(1000px,1fr)}.cbct-module{overflow-x:auto}}:where(.wastewater-chart,.pure-water-chart,.air-purification-chart,.hvac-chart,.cbct-chart-panel,.sterilization-process-chart,.dental-chair-chart__canvas){background:radial-gradient(circle at 50% 64%, color-mix(in srgb, var(--chart-color,#24d7ff) 18%, transparent), transparent 58%), linear-gradient(#4b9ee00e 1px, transparent 1px), linear-gradient(90deg, #4b9ee00e 1px, transparent 1px), linear-gradient(180deg, #041837e0, #030f26f2);background-size:auto,22px 22px,22px 22px,auto;position:relative;overflow:hidden;box-shadow:inset 0 1px #a9f1ff14,inset 0 -18px 44px #0846821f}:where(.wastewater-chart__latest,.pure-water-chart__latest,.air-purification-chart__latest,.hvac-chart__latest){color:#cee1f6c7;font-size:13px;font-weight:700}:where(.wastewater-chart__latest,.pure-water-chart__latest,.air-purification-chart__latest,.hvac-chart__latest) strong{color:var(--chart-color,#24d7ff);text-shadow:0 0 14px color-mix(in srgb, var(--chart-color,#24d7ff) 44%, transparent);font-weight:900}:where(.wastewater-chart,.pure-water-chart,.air-purification-chart,.hvac-chart) svg,.cbct-chart-panel svg,.sterilization-process-chart svg,.dental-chair-chart__canvas svg{filter:drop-shadow(0 12px 22px #00000029)}:where(.wastewater-chart__grid,.pure-water-chart__grid,.air-purification-chart__grid,.hvac-chart__grid,.sterilization-process-chart__grid,.dental-chair-chart__grid) line,.cbct-chart-panel svg>g line:not(.cbct-chart-axis){stroke:#78beff1b;stroke-dasharray:6 8;stroke-width:1px}:where(.wastewater-chart__axis,.pure-water-chart__axis,.air-purification-chart__axis,.hvac-chart__axis,.dental-chair-chart__axis) line,.cbct-chart-axis{stroke-width:1.2px;stroke:#86d7ff6b!important;stroke-dasharray:none!important}:where(.wastewater-chart__axis,.pure-water-chart__axis,.air-purification-chart__axis,.hvac-chart__axis,.sterilization-process-chart__axis,.sterilization-process-chart__phases,.dental-chair-chart__axis) text,.cbct-chart-panel text{fill:#d3e8ffc2;font-size:10.5px;font-weight:800}:where(.wastewater-chart__area,.pure-water-chart__area,.air-purification-chart__area,.hvac-chart__area,.dental-chair-chart__area){fill:var(--chart-color,#24d7ff);opacity:.22}.cbct-chart-area{fill:#24d7ff;opacity:.2}:where(.wastewater-chart__line,.pure-water-chart__line,.air-purification-chart__line,.hvac-chart__line,.dental-chair-chart__line){fill:none;stroke:var(--chart-color,#24d7ff);stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;filter:drop-shadow(0 0 5px color-mix(in srgb, var(--chart-color,#24d7ff) 70%, transparent)) drop-shadow(0 0 14px color-mix(in srgb, var(--chart-color,#24d7ff) 36%, transparent))}.cbct-chart-line{fill:none;stroke:#24d7ff;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;filter:drop-shadow(0 0 5px #24d7ffb3)drop-shadow(0 0 14px #24d7ff5c)}.sterilization-process-chart__line{stroke-width:3.2px;filter:drop-shadow(0 0 5px)drop-shadow(0 0 12px)}:where(.wastewater-chart__marker,.pure-water-chart__marker,.air-purification-chart__marker,.hvac-chart__marker) line,.dental-chair-chart__cursor line{stroke:var(--chart-color,#24d7ff);stroke-width:1.4px;opacity:.52}:where(.wastewater-chart__marker,.pure-water-chart__marker,.air-purification-chart__marker,.hvac-chart__marker) circle,.dental-chair-chart__cursor circle,.cbct-chart-dot{fill:#e9fbff;stroke:var(--chart-color,#24d7ff);stroke-width:3px;filter:drop-shadow(0 0 9px color-mix(in srgb, var(--chart-color,#24d7ff) 74%, transparent))}.cbct-chart-dot{stroke:#24d7ff}:where(.wastewater-chart__marker,.pure-water-chart__marker,.air-purification-chart__marker,.hvac-chart__marker) text,.cbct-chart-label{stroke:var(--chart-color,#24d7ff);stroke-width:.25px;paint-order:stroke;font-weight:900;fill:#eefcff!important;font-size:11.5px!important}.cbct-chart-label{stroke:#24d7ff}:where(.wastewater-empty-chart,.pure-water-empty-chart,.air-purification-empty-chart,.hvac-empty-chart,.sterilization-empty-chart,.dental-chair-chart__empty){color:#dbeeffc7;text-shadow:0 0 18px #24d7ff2e;font-weight:800}.cbct-chart-empty{font-weight:800;fill:#dbeeffc7!important;font-size:13px!important}.wastewater-module,.pure-water-module,.air-purification-module,.hvac-module,.sterilization-module,.cbct-module,.dental-chair-monitor-page{--module-skin-panel:#08203a24;--module-skin-panel-strong:#030e1c5c;--module-skin-line:#7dd3fc0e;--module-skin-line-strong:#37beff29;--module-skin-cyan:#54f4ff;--module-skin-green:#22c55e;--module-skin-text:#eaf8ff;--module-skin-muted:#d2ebffb8;color:var(--module-skin-text);background:radial-gradient(circle at 50% 34%,#0ea5e929,#0000 28%),radial-gradient(circle at 88% 26%,#6366f126,#0000 34%),linear-gradient(135deg,#02081733,#082f491f);position:relative;overflow:hidden}.wastewater-module:before,.pure-water-module:before,.air-purification-module:before,.hvac-module:before,.sterilization-module:before,.cbct-module:before,.dental-chair-monitor-page:before{pointer-events:none;content:"";opacity:.42;background:radial-gradient(circle,#7dd3fc61 0 1px,#0000 1.5px) 0 0/78px 78px,linear-gradient(#7dd3fc09 1px,#0000 1px) 0 0/48px 48px,linear-gradient(90deg,#7dd3fc09 1px,#0000 1px) 0 0/48px 48px;position:absolute;inset:0}.wastewater-module>*,.pure-water-module>*,.air-purification-module>*,.hvac-module>*,.sterilization-module>*,.cbct-module>*,.dental-chair-monitor-page>*{z-index:1;position:relative}.wastewater-left-panel,.wastewater-dashboard,.pure-water-left-panel,.pure-water-dashboard,.air-purification-left-panel,.air-purification-dashboard,.hvac-left-panel,.hvac-dashboard,.sterilization-left-panel,.sterilization-dashboard,.cbct-left-panel,.cbct-main-panel,.dental-chair-device-panel,.dental-chair-side,.wastewater-panel,.pure-water-panel,.air-purification-panel,.hvac-panel,.sterilization-panel,.cbct-panel,.dental-chair-panel,.dental-chair-stage-panel,.air-purification-overview-group,.cbct-status-strip,.dental-chair-summary{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-color:var(--module-skin-line);background:radial-gradient(circle at 18% 10%, #22d3ee0e, transparent 34%), linear-gradient(145deg, var(--module-skin-panel), #030e1c0b);box-shadow:inset 0 0 32px #38bdf806}.module-overview-groups{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:stretch;gap:12px;display:grid}.module-overview-group{display:contents}.module-overview-group h3{display:none}.module-overview-grid{display:contents}.wastewater-metric-card,.wastewater-summary-tile,.pure-water-metric-card,.pure-water-summary-tile,.air-purification-metric-card,.air-purification-summary-tile,.hvac-metric-card,.hvac-summary-tile,.sterilization-core-card,.cbct-metric-card,.dental-chair-summary__pill,.dental-chair-selected-site,.wastewater-device-item,.pure-water-device-item,.air-purification-device-item,.hvac-device-item,.sterilization-device-item,.cbct-device-card,.dental-chair-list-item{background:radial-gradient(circle at 92% 6%,#22d3ee0d,#0000 34%),linear-gradient(160deg,#082f4929,#030e1c17);border-color:#7dd3fc0e;box-shadow:inset 0 0 20px #38bdf805}.wastewater-device-item.is-selected,.pure-water-device-item.is-selected,.air-purification-device-item.is-selected,.hvac-device-item.is-selected,.sterilization-device-item.is-selected,.cbct-device-card.active,.dental-chair-list-item.is-selected{background:radial-gradient(circle at 92% 8%,#54f4ff26,#0000 36%),linear-gradient(160deg,#08467057,#030e1c24);border-color:#54f4ff6b;box-shadow:inset 0 0 22px #38bdf80f,0 0 20px #22d3ee12}.wastewater-store-card,.pure-water-store-card,.air-purification-store-card,.hvac-store-card{background:radial-gradient(circle at 8% 0,#22c55e1c,#0000 40%),linear-gradient(90deg,#064e3b26,#030e1c13);border-color:#22c55e12}.wastewater-site-filter select,.pure-water-site-filter select,.air-purification-site-filter select,.hvac-site-filter select,.sterilization-site-filter select,.cbct-site-filter select,.dental-chair-site-filter select,.dental-chair-chart__mode,.sterilization-recent-filter-field select,.sterilization-recent-search input{color:var(--module-skin-text);background:#02081761;border-color:#7dd3fc1a}.wastewater-icon-button,.pure-water-icon-button,.air-purification-icon-button,.hvac-icon-button,.sterilization-icon-button,.dental-chair-icon-action,.sterilization-panel-action,.dental-chair-action,.wastewater-catalog-button,.pure-water-catalog-button,.air-purification-catalog-button,.hvac-catalog-button,.sterilization-catalog-button,.cbct-catalog-button{color:var(--module-skin-text);background:#02081742;border-color:#54f4ff29}.wastewater-panel__title h3,.pure-water-panel__title h3,.air-purification-panel__title h3,.hvac-panel__title h3,.sterilization-panel__title h3,.cbct-panel h3,.cbct-panel-heading h3,.dental-chair-panel h3,.dental-chair-stage-panel h3,.wastewater-metric-card strong,.wastewater-summary-tile strong,.pure-water-metric-card strong,.pure-water-summary-tile strong,.air-purification-metric-card strong,.air-purification-summary-tile strong,.hvac-metric-card strong,.hvac-summary-tile strong,.sterilization-core-card strong,.cbct-metric-card strong,.dental-chair-summary__pill strong{color:#f0fbff;letter-spacing:0;text-shadow:0 0 14px #22d3ee3d}.wastewater-panel__title span,.pure-water-panel__title span,.air-purification-panel__title span,.hvac-panel__title span,.sterilization-panel__title span,.cbct-panel-heading span,.dental-chair-panel__title span,.dental-chair-kicker,.wastewater-metric-card p,.wastewater-summary-tile small,.pure-water-metric-card p,.pure-water-summary-tile small,.air-purification-metric-card p,.air-purification-summary-tile small,.hvac-metric-card p,.hvac-summary-tile small,.sterilization-core-card span,.cbct-metric-card span,.dental-chair-summary__pill span{color:var(--module-skin-muted)}.wastewater-metric-card__icon,.wastewater-summary-tile>span,.pure-water-metric-card__icon,.pure-water-summary-tile>span,.air-purification-metric-card__icon,.air-purification-summary-tile>span,.hvac-metric-card__icon,.hvac-summary-tile>span,.sterilization-core-card__icon,.cbct-metric-icon{color:var(--module-skin-cyan);background:#0c577a7a;box-shadow:inset 0 0 14px #38bdf80f}.module-energy-period-value{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.module-energy-period-toggle{background:#030c1e6b;border:1px solid #7dd3fc33;border-radius:6px;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;align-items:center;min-height:28px;display:grid;overflow:hidden}.module-energy-period-toggle button{appearance:none;color:#d6ecffbd;cursor:pointer;font:inherit;letter-spacing:0;background:0 0;border:0;min-width:0;padding:6px 10px;font-size:12px;font-weight:800}.module-energy-period-toggle button+button{border-left:1px solid #7dd3fc24}.module-energy-period-toggle button.is-active{color:#effcff;background:linear-gradient(135deg,#0c78c4e0,#22d3ee6b);box-shadow:inset 0 0 16px #38bdf829}.module-energy-period-value strong{color:#f0fbff;letter-spacing:0;text-shadow:0 0 14px #22d3ee3d;white-space:nowrap;font-size:clamp(20px,2.1vw,30px);font-weight:900;line-height:1}.wastewater-compliance__row,.pure-water-compliance__row,.air-purification-compliance__row,.hvac-compliance__row,.sterilization-status-row,.cbct-safety-row,.sterilization-recent-table__row,.dental-chair-record-item{background:#0208171f;border-color:#7dd3fc0b}.wastewater-chart,.pure-water-chart,.air-purification-chart,.hvac-chart,.cbct-chart-panel,.sterilization-process-chart,.dental-chair-chart__canvas{background:radial-gradient(circle at 74% 18%,#5762ff47,#0000 36%),radial-gradient(circle at 22% 86%,#22d3ee1f,#0000 34%),linear-gradient(135deg,#04142d6b,#131e4c52,#23164c3d);border-color:#0000;box-shadow:inset 0 0 28px #38bdf809}.air-purification-overview-group h3,.wastewater-panel__title,.pure-water-panel__title,.air-purification-panel__title,.hvac-panel__title,.sterilization-panel__title,.cbct-panel-heading,.dental-chair-panel__title{background:#0531586b;border-color:#54f4ff29}.air-purification-overview-group--system h3{background:#381f5e57;border-color:#c56aff29}.air-purification-overview-group{border-color:#7dd3fc0b;box-shadow:inset 0 0 32px #38bdf805}.air-purification-overview-group--system{border-color:#c56aff0f}.wastewater-bottom-status,.pure-water-bottom-status,.air-purification-bottom-status,.hvac-bottom-status,.sterilization-bottom-status,.cbct-status-strip{background:#030e1c4d;border-color:#7dd3fc12}.tech-trend-panel{flex-direction:column;gap:10px;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.tech-trend-head{z-index:2;justify-content:space-between;align-items:flex-start;gap:16px;min-height:48px;display:flex;position:relative}.tech-trend-head h3,.tech-trend-head p,.tech-trend-head small{margin:0}.tech-trend-head h3{color:#f0fbff;text-shadow:0 0 14px #22d3ee3d;font-size:16px;line-height:1.2}.tech-trend-head p{color:#d2ebffb8;margin-top:5px;font-size:12px;font-weight:800}.tech-trend-head p strong{color:var(--chart-color,#28d7ff);text-shadow:0 0 14px color-mix(in srgb, var(--chart-color,#28d7ff) 44%, transparent);font-size:14px}.tech-trend-head small{color:#d2ebff94;margin-top:4px;font-size:12px;font-weight:700;display:block}.tech-trend-actions{flex:none;align-items:center;gap:8px;display:flex}.tech-trend-range-control{background:#05122a6b;border:1px solid #48c5ff2e;border-radius:6px;align-items:center;display:flex;overflow:hidden}.tech-trend-range-control button{color:#d2ebffb8;cursor:pointer;background:0 0;border:0;border-right:1px solid #48c5ff24;min-width:50px;height:28px;padding:0 10px;font-size:12px;font-weight:900}.tech-trend-range-control button:last-child{border-right:0}.tech-trend-range-control button.active{color:#bff8ff;text-shadow:0 0 12px #22d3ee6b;background:linear-gradient(135deg,#22d3ee47,#5078ff38)}.tech-trend-range-control button:hover{color:#effcff}.tech-trend-actions>span{color:#d2ebffbd;font-size:12px;font-weight:900}.tech-trend-canvas{z-index:1;flex:auto;width:100%;min-height:150px;position:relative}.tech-trend-empty{color:#dbeeffc7;pointer-events:none;text-align:center;text-shadow:0 0 18px #24d7ff2e;z-index:3;justify-content:center;align-items:center;font-weight:900;display:flex;position:absolute;inset:66px 12px 12px}@media (width<=860px){.module-overview-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.module-overview-groups{grid-template-columns:1fr}}.module-monitor-rules-skin{--module-skin-text:#eaf8ff;--module-skin-muted:#d2ebffb8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:var(--module-skin-text,#eaf8ff);background:radial-gradient(circle at 86% 0,#5762ff2e,#0000 34%),radial-gradient(circle at 10% 18%,#22d3ee17,#0000 36%),linear-gradient(145deg,#04142d6b,#030e1c42);border-color:#7dd3fc13;box-shadow:inset 0 0 36px #38bdf807,0 18px 42px #02081729}.module-monitor-rules-skin .section-heading{border-bottom:1px solid #54f4ff17;align-items:flex-start;margin-bottom:18px;padding-bottom:14px}.module-monitor-rules-skin .section-heading h2{color:#f0fbff;letter-spacing:0;text-shadow:0 0 14px #22d3ee3d}.module-monitor-rules-skin .section-heading p{color:#d2ebffa8}.module-monitor-rules-skin .icon-button{color:#eaf8ffdb;background:#02081747;border-color:#54f4ff2e}.module-monitor-rules-skin .icon-button:hover{color:#f0fbff;background:#08467052;border-color:#54f4ff61}.module-monitor-rules-skin .icon-button.primary{color:#eaffff;background:linear-gradient(135deg,#22d3ee42,#2563eb33);border-color:#54f4ff57;box-shadow:0 0 18px #22d3ee14}.module-monitor-rules-skin .rule-scope-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:18px}.module-monitor-rules-skin .rule-scope-button{color:#eaf8ff;background:radial-gradient(circle at 92% 8%,#22d3ee0d,#0000 34%),linear-gradient(160deg,#082f4926,#030e1c14);border-color:#7dd3fc12;border-radius:8px;min-height:74px;box-shadow:inset 0 0 18px #38bdf804}.module-monitor-rules-skin .rule-scope-button:hover,.module-monitor-rules-skin .rule-scope-button.active{background:radial-gradient(circle at 88% 0,#54f4ff29,#0000 38%),linear-gradient(160deg,#08467057,#030e1c24);border-color:#54f4ff6b;transform:translateY(-1px);box-shadow:inset 0 0 22px #38bdf80f,0 0 20px #22d3ee12}.module-monitor-rules-skin .rule-scope-button strong{color:#f0fbff;letter-spacing:0;font-size:14px}.module-monitor-rules-skin .rule-scope-button span{color:#d2ebffa3}.module-monitor-rules-skin .banner{color:#bff8ff;background:#08467038;border-color:#22d3ee33}.module-monitor-rules-skin .banner.error{color:#fecdd3;background:#7f1d1d38;border-color:#fb718547}.module-monitor-rules-skin .metric-rule-table__head{color:#d2ebff94;padding-inline:12px}.module-monitor-rules-skin .metric-rule-row{background:linear-gradient(90deg,#05315833,#030e1c1c),#0208171f;border-color:#7dd3fc0f;border-radius:8px;box-shadow:inset 0 0 18px #38bdf804}.module-monitor-rules-skin .metric-rule-name strong{color:#f0fbff}.module-monitor-rules-skin .metric-rule-name span{color:#d2ebff94}.module-monitor-rules-skin .metric-rule-row input[type=number]{color:#eaf8ff;background:#02081757;border-color:#7dd3fc1a;outline:none}.module-monitor-rules-skin .metric-rule-row input[type=number]::placeholder{color:#d2ebff6b}.module-monitor-rules-skin .metric-rule-row input[type=number]:focus{border-color:#54f4ff6b;box-shadow:0 0 0 3px #22d3ee14}.module-monitor-rules-skin .metric-rule-toggle{color:#eaf8ffc7}.module-monitor-rules-skin .metric-rule-toggle input{accent-color:#54f4ff}.air-purification-process__device-meta .device-life-progress,.wastewater-process__device-meta .device-life-progress,.pure-water-process__device-meta .device-life-progress,.sterilization-process__device-meta .device-life-progress,.hvac-process__device-meta .device-life-progress,.dental-chair-vitals-stage__chair-meta .device-life-progress,.pressure-console-panel .pressure-device-lifecycle .device-life-progress,.cbct-device-meta .device-life-progress,.placeholder-device-lifecycle .device-life-progress{grid-template-columns:minmax(0,1fr) auto;width:min(320px,100%);min-height:34px;padding:3px 14px 3px 18px;display:grid}.air-purification-process__device-meta .device-life-progress>strong,.wastewater-process__device-meta .device-life-progress>strong,.pure-water-process__device-meta .device-life-progress>strong,.sterilization-process__device-meta .device-life-progress>strong,.hvac-process__device-meta .device-life-progress>strong,.dental-chair-vitals-stage__chair-meta .device-life-progress>strong,.pressure-console-panel .pressure-device-lifecycle .device-life-progress>strong,.cbct-device-meta .device-life-progress>strong,.placeholder-device-lifecycle .device-life-progress>strong{color:#f8fdff;margin:0;font-size:clamp(1.08rem,.95vw,1.45rem);line-height:1;display:block}.air-purification-process__device-meta .device-life-progress>small,.wastewater-process__device-meta .device-life-progress>small,.pure-water-process__device-meta .device-life-progress>small,.sterilization-process__device-meta .device-life-progress>small,.hvac-process__device-meta .device-life-progress>small,.dental-chair-vitals-stage__chair-meta .device-life-progress>small,.pressure-console-panel .pressure-device-lifecycle .device-life-progress>small,.cbct-device-meta .device-life-progress>small,.placeholder-device-lifecycle .device-life-progress>small{color:#f8fdff;display:block}.air-purification-process__device-meta .device-life-progress{width:min(250px,32vw)}.pressure-console-panel .pressure-device-lifecycle .device-life-progress{width:min(260px,24vw)}.cbct-device-meta .device-life-progress,.placeholder-device-lifecycle .device-life-progress{width:min(240px,100%)}
