:root{--bg-deep: #020913;--bg-main: #031122;--bg-panel: rgba(7, 31, 55, .66);--bg-panel-strong: rgba(6, 27, 49, .9);--bg-elevated: #071d33;--cyan: #3ddcff;--cyan-soft: #86efff;--blue: #2f8dff;--blue-deep: #1268ff;--green: #25e69a;--orange: #ffb52e;--red: #ff4d61;--purple: #b46bff;--text: #e8f7ff;--text-2: #a1c3d9;--text-3: #7298b2;--text-4: #547892;--line: rgba(66, 169, 221, .2);--line-strong: rgba(67, 206, 255, .42);--line-soft: rgba(66, 142, 184, .12);--glass: linear-gradient(155deg, rgba(10, 43, 75, .62), rgba(3, 17, 34, .8));--glass-soft: linear-gradient(180deg, rgba(9, 38, 66, .55), rgba(3, 18, 35, .62));--radius-sm: 5px;--radius: 9px;--radius-lg: 12px;--shadow-panel: inset 0 1px 0 rgba(127, 226, 255, .05), 0 12px 34px rgba(0, 4, 12, .22);--glow-cyan: 0 0 18px rgba(61, 220, 255, .28);--font-ui: "HarmonyOS Sans SC", "Microsoft YaHei", "PingFang SC", "Noto Sans SC", sans-serif;--font-display: "Bahnschrift", "DIN Alternate", "HarmonyOS Sans SC", "Microsoft YaHei", sans-serif;--font-mono: "Cascadia Code", "Consolas", "SFMono-Regular", monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overflow:hidden;background:var(--bg-deep);color:var(--text);font-family:var(--font-ui);font-size:13px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select{font-family:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4,p{margin:0}::selection{background:#3ddcff40;color:#fff}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:#04142466}::-webkit-scrollbar-thumb{background:#3da5d752;border-radius:20px}::-webkit-scrollbar-thumb:hover{background:#3ddcff7a}.tone-cyan,.tone-info{--tone: var(--cyan);--tone-rgb: 61, 220, 255}.tone-green,.tone-success{--tone: var(--green);--tone-rgb: 37, 230, 154}.tone-orange,.tone-warning{--tone: var(--orange);--tone-rgb: 255, 181, 46}.tone-red,.tone-danger{--tone: var(--red);--tone-rgb: 255, 77, 97}.tone-purple{--tone: var(--purple);--tone-rgb: 180, 107, 255}.tone-blue{--tone: var(--blue);--tone-rgb: 47, 141, 255}.text-cyan{color:var(--cyan)}.text-green{color:var(--green)}.text-orange{color:var(--orange)}.text-red,.text-danger{color:var(--red)}.text-warning{color:var(--orange)}.text-purple{color:var(--purple)}.tone-text-danger{color:var(--red)}.tone-text-warning{color:var(--orange)}.tone-text-cyan{color:var(--cyan)}.app-shell{position:relative;display:flex;flex-direction:column;height:100vh;overflow:hidden;background:radial-gradient(1100px 620px at 76% -12%,rgba(0,100,218,.26),transparent 62%),radial-gradient(900px 500px at -8% 108%,rgba(0,145,214,.14),transparent 65%),linear-gradient(180deg,#020b18,#031224 44%,#020a15)}.ambient{position:absolute;border-radius:50%;pointer-events:none;filter:blur(90px);z-index:0}.ambient-one{width:560px;height:320px;right:10%;top:-170px;background:#007eff2e}.ambient-two{width:420px;height:300px;left:2%;bottom:-190px;background:#00b0ff1f}.grid-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.17;background-image:linear-gradient(rgba(69,159,210,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(69,159,210,.2) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.1) 72%,transparent);mask-image:linear-gradient(180deg,rgba(0,0,0,.8),rgba(0,0,0,.1) 72%,transparent)}.tech-veins{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none;opacity:.5}.tech-veins path{fill:none;stroke:#36adde4d;stroke-width:1}.tech-veins circle{fill:var(--cyan);opacity:.55}.topbar{position:relative;z-index:30;display:flex;align-items:center;justify-content:space-between;height:76px;flex:0 0 76px;padding:0 24px 0 22px;background:linear-gradient(180deg,#05192ff7,#031121e6);border-bottom:1px solid rgba(58,168,224,.2);box-shadow:0 12px 36px #00040c59,inset 0 -1px #51d5ff0f}.topbar:after{content:"";position:absolute;left:18%;right:22%;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,rgba(63,219,255,.55),rgba(21,105,255,.35),transparent)}.topbar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 8%,rgba(79,217,255,.25) 35%,rgba(37,116,255,.32) 70%,transparent 95%)}.topbar-brand{display:flex;align-items:center;gap:16px;min-width:0}.mobile-menu{display:none;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:6px;background:#08253e99;color:var(--text-2)}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0}.brand-mark{display:inline-flex;width:39px;height:31px;filter:drop-shadow(0 0 9px rgba(36,173,255,.55))}.brand-mark svg{width:100%;height:100%}.brand-copy{display:flex;flex-direction:column;gap:1px;line-height:1}.brand-copy strong{font-family:var(--font-ui);font-size:20px;font-weight:700;letter-spacing:2px;color:#eefbff;text-shadow:0 0 18px rgba(57,198,255,.26)}.brand-copy small{font-family:var(--font-display);font-size:7px;letter-spacing:2.7px;color:#4f839f}.topbar-divider{width:1px;height:34px;margin:0 4px;background:linear-gradient(180deg,transparent,rgba(90,181,224,.5),transparent)}.page-heading{display:flex;flex-direction:column;gap:3px;min-width:0}.page-kicker{font-family:var(--font-display);font-size:7px;letter-spacing:2.3px;color:#47718d;white-space:nowrap}.page-heading h1{font-size:19px;font-weight:600;letter-spacing:.8px;color:#eaf9ff;white-space:nowrap;animation:headingIn .35s ease}@keyframes headingIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.topbar-actions{position:relative;display:flex;align-items:center;gap:14px;flex-shrink:0}.system-live{display:flex;align-items:center;gap:7px;color:#a4c9dd;font-size:11px;letter-spacing:.5px}.live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 7px var(--green),0 0 14px #25e69a73;animation:livePulse 2s ease-in-out infinite;flex-shrink:0}@keyframes livePulse{0%,to{opacity:1;box-shadow:0 0 7px var(--green),0 0 14px #25e69a73}50%{opacity:.55;box-shadow:0 0 4px var(--green),0 0 8px #25e69a33}}.topbar-sep{width:1px;height:22px;background:#539cc030}.system-clock{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:7px;align-items:center;font-family:var(--font-display)}.clock-label{grid-column:1;grid-row:1;font-size:7px;letter-spacing:1px;color:#466f89;align-self:end}.system-clock strong{grid-column:2;grid-row:1 / span 2;font-size:17px;font-weight:500;letter-spacing:1.3px;color:#d9f4ff;font-variant-numeric:tabular-nums}.system-clock small{grid-column:1;grid-row:2;font-size:8px;letter-spacing:.2px;color:#6e96b0}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(72,157,200,.22);border-radius:7px;background:#08203780;color:#8db4cd;transition:all .2s ease}.icon-button:hover{color:var(--cyan);border-color:#3ddcff66;background:#0e3f63b3;box-shadow:0 0 14px #3ddcff1f}.icon-button.subtle{width:28px;height:28px;border-color:transparent;background:transparent}.notify-trigger-wrap{position:relative}.notify-trigger.is-open{color:var(--cyan);border-color:#3ddcff73}.notify-badge{position:absolute;top:-4px;right:-4px;min-width:15px;height:15px;padding:0 3px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:2px solid #061a2e;background:linear-gradient(180deg,#ff6274,#db233b);color:#fff;font-family:var(--font-display);font-size:8px;font-weight:700;box-shadow:0 0 10px #ff41558c}.avatar-button{display:flex;align-items:center;gap:5px;padding:3px 4px 3px 3px;border:1px solid transparent;border-radius:20px;background:transparent;color:#638aa4;transition:all .2s ease}.avatar-button:hover{background:#113c5b8c;border-color:#3c9fcf40}.avatar{display:inline-flex;align-items:center;justify-content:center;width:33px;height:33px;border-radius:50%;border:1px solid rgba(95,221,255,.45);background:radial-gradient(circle at 35% 30%,rgba(112,224,255,.35),transparent 55%),linear-gradient(135deg,#0b5bb2,#07294d);color:#dff9ff;font-size:12px;font-weight:600;box-shadow:0 0 0 3px #2298d71a,0 0 15px #2fa8ff33}.avatar--large{width:44px;height:44px;font-size:15px}.rotate{transform:rotate(180deg)}.avatar-button .rotate{transition:transform .2s ease}.topbar-demo-action{display:flex;align-items:center;gap:5px;height:28px;padding:0 10px;border:1px solid rgba(61,220,255,.23);border-radius:14px;background:#0a406352;color:#71b9d7;font-size:10px;letter-spacing:.4px;transition:all .2s ease}.topbar-demo-action:hover{color:var(--cyan);border-color:#3ddcff80;box-shadow:0 0 14px #3ddcff1f}.popover{position:absolute;top:50px;right:0;z-index:120;width:348px;border:1px solid rgba(61,186,235,.3);border-radius:9px;background:linear-gradient(160deg,#082540fa,#03101ffa);box-shadow:0 20px 60px #00040e9e,inset 0 1px #76e4ff14;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);overflow:hidden;animation:popIn .18s ease}@keyframes popIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.popover-head{display:flex;align-items:flex-start;justify-content:space-between;padding:14px 15px 11px;border-bottom:1px solid var(--line-soft)}.popover-head strong{display:block;font-size:13px;color:#e8f8ff}.popover-head span{display:block;margin-top:3px;font-size:10px;color:var(--text-3)}.notification-list{max-height:288px;overflow-y:auto;padding:5px}.notification-item{display:flex;align-items:center;width:100%;gap:10px;padding:10px;border:0;border-radius:6px;background:transparent;text-align:left;transition:background .15s ease}.notification-item:hover{background:#1966942e}.notify-level{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;flex-shrink:0;border-radius:6px}.notify-level.danger{color:var(--red);background:#ff4d611c;border:1px solid rgba(255,77,97,.25)}.notify-level.warning{color:var(--orange);background:#ffb52e1a;border:1px solid rgba(255,181,46,.22)}.notification-copy{flex:1;min-width:0}.notification-copy strong{display:block;font-size:11.5px;color:#d9edf9}.notification-copy small{display:block;margin-top:3px;font-size:9.5px;color:#648ba4}.notification-arrow{color:#4d7892}.notification-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 0;color:#6a94ae;font-size:11px}.popover-footer{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:39px;border:0;border-top:1px solid var(--line-soft);background:#0a2b4566;color:var(--cyan);font-size:11px;transition:background .15s ease}.popover-footer:hover{background:#114a6f7a}.user-popover{right:58px;width:248px;padding:8px}.user-card{display:flex;align-items:center;gap:11px;padding:10px 10px 13px;border-bottom:1px solid var(--line-soft)}.user-card strong{display:block;font-size:12.5px;color:#eafaff}.user-card small{display:block;margin-top:3px;font-size:9.5px;color:var(--text-3)}.user-menu{display:flex;flex-direction:column;padding-top:5px}.user-menu button{display:flex;align-items:center;gap:9px;height:34px;padding:0 10px;border:0;border-radius:5px;background:transparent;color:#a6c6da;font-size:11.5px;text-align:left}.user-menu button:hover{background:#185f883d;color:var(--cyan)}.user-menu button.danger{color:#d9828e}.app-body{position:relative;z-index:2;display:flex;flex:1;min-height:0}.sidebar{position:relative;display:flex;flex-direction:column;width:216px;flex:0 0 216px;padding:18px 13px 13px;border-right:1px solid rgba(51,139,188,.17);background:linear-gradient(180deg,#041629e0,#020d1bb8);box-shadow:inset -1px 0 #4ac7f80a;overflow:hidden}.sidebar:after{content:"";position:absolute;top:0;right:-1px;width:1px;height:45%;background:linear-gradient(180deg,rgba(52,196,255,.3),transparent)}.sidebar-glow{position:absolute;top:90px;left:-55px;width:150px;height:260px;border-radius:50%;background:#0968df24;filter:blur(55px);pointer-events:none}.side-nav{position:relative;display:flex;flex-direction:column;gap:7px}.nav-eyebrow{margin:0 0 5px 14px;color:#3d6781;font-family:var(--font-display);font-size:8px;letter-spacing:2.4px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;height:46px;padding:0 15px;border:1px solid transparent;border-radius:7px;color:#83a8c1;font-size:13.5px;letter-spacing:.4px;transition:color .2s ease,background .2s ease,border-color .2s ease;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:50%;width:2px;height:0;transform:translateY(-50%);border-radius:2px;background:linear-gradient(180deg,transparent,var(--cyan),transparent);box-shadow:0 0 10px var(--cyan);transition:height .2s ease}.nav-item:hover{color:#cfeaf8;background:#13416252;border-color:#3d9dcd26}.nav-item.active{color:#f0fcff;border-color:#48c2f14d;background:linear-gradient(90deg,#0d64ff5e,#13b2ff21 76%,#13b2ff08);box-shadow:inset 0 0 24px #0f77ff1f,0 0 20px #0f77ff12}.nav-item.active:before{height:24px}.nav-item.active:after{content:"";position:absolute;right:10px;width:6px;height:6px;border-top:1px solid rgba(91,232,255,.95);border-right:1px solid rgba(91,232,255,.95);transform:rotate(45deg);filter:drop-shadow(0 0 4px rgba(61,220,255,.7))}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;color:#6f98b2;transition:color .2s ease,filter .2s ease}.nav-item:hover .nav-icon{color:#a9d9ea}.nav-item.active .nav-icon{color:var(--cyan);filter:drop-shadow(0 0 5px rgba(61,220,255,.65))}.nav-item>span:nth-child(2){white-space:nowrap}.nav-dot{width:5px;height:5px;margin-left:auto;margin-right:11px;border-radius:50%;background:var(--orange);box-shadow:0 0 7px #ffb52ecc}.nav-item.active .nav-dot{display:none}.sidebar-foot{position:relative;display:flex;align-items:center;gap:10px;margin-top:auto;padding:16px 9px 8px;border-top:1px solid rgba(58,126,163,.15)}.sidebar-orbit{position:relative;width:37px;height:37px;flex-shrink:0;border-radius:50%;border:1px solid rgba(61,195,241,.25);background:radial-gradient(circle,rgba(20,117,181,.2),transparent 65%)}.sidebar-orbit span:first-child{position:absolute;top:7px;right:7px;bottom:7px;left:7px;border:1px dashed rgba(61,220,255,.35);border-radius:50%;animation:spin 8s linear infinite}.sidebar-orbit span:nth-child(2){position:absolute;left:16px;top:16px;width:5px;height:5px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}.sidebar-orbit span:nth-child(3){position:absolute;left:6px;top:9px;width:3px;height:3px;border-radius:50%;background:var(--cyan);box-shadow:0 0 5px var(--cyan)}.sidebar-foot-info{display:flex;flex-direction:column;gap:3px;min-width:0}.sidebar-foot-label{display:flex;align-items:center;gap:4px;color:#4e788f;font-size:8px;letter-spacing:.7px}.sidebar-foot-info strong{color:#a4ccdf;font-family:var(--font-display);font-size:10px;letter-spacing:.7px;font-weight:500}.sidebar-foot-info small{color:#426a81;font-family:var(--font-mono);font-size:7.5px;white-space:nowrap}.sidebar-mobile{display:none}.page-scroll{position:relative;flex:1;min-width:0;overflow-y:auto;overflow-x:hidden}.page-content{width:100%;max-width:1920px;min-height:100%;margin:0 auto;padding:18px 22px 22px;animation:pageIn .32s ease}@keyframes pageIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.overview-page,.realtime-page,.alarms-page,.history-page,.ota-page{display:flex;flex-direction:column;gap:14px}.panel{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;border:1px solid rgba(57,157,213,.2);border-radius:var(--radius);background:var(--glass);box-shadow:var(--shadow-panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden}.panel:before{content:"";position:absolute;top:0;left:18px;width:32%;height:1px;background:linear-gradient(90deg,rgba(74,220,255,.62),rgba(48,129,255,.15),transparent);z-index:2}.panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(600px 110px at 20% 0%,rgba(44,173,255,.055),transparent 70%)}.panel-head{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;min-height:46px;flex-shrink:0;padding:0 15px;border-bottom:1px solid rgba(55,137,181,.14);background:linear-gradient(90deg,rgba(13,52,86,.34),transparent 72%)}.panel-title-wrap{display:flex;align-items:center;gap:9px;min-width:0}.panel-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border:1px solid rgba(61,186,235,.25);border-radius:5px;background:#0f4c7242;color:var(--cyan);box-shadow:inset 0 0 10px #3ddcff0d}.panel-title-wrap h2{font-size:13.5px;font-weight:600;letter-spacing:.5px;color:#e1f5ff;line-height:1.25}.panel-kicker{display:block;margin-top:2px;color:#4c7b96;font-family:var(--font-display);font-size:7px;letter-spacing:1.35px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.panel-actions{display:flex;align-items:center;gap:9px;margin-left:12px;flex-shrink:0}.panel-body{position:relative;z-index:1;flex:1;min-height:0;padding:12px 14px}.panel-corner{position:absolute;z-index:4;width:10px;height:10px;pointer-events:none;opacity:.66}.panel-corner--tl{top:-1px;left:-1px;border-top:1px solid var(--cyan);border-left:1px solid var(--cyan)}.panel-corner--br{right:-1px;bottom:-1px;border-bottom:1px solid var(--cyan);border-right:1px solid var(--cyan)}.panel-meta{color:#6189a3;font-size:9.5px;letter-spacing:.3px;white-space:nowrap}.panel-count{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border:1px solid rgba(57,166,215,.18);border-radius:4px;background:#092a4473;color:#7fb1c9;font-family:var(--font-display);font-size:9.5px;letter-spacing:.4px}.panel-count small{color:#50758e;font-family:var(--font-ui);font-size:8px}.panel-link{display:inline-flex;align-items:center;gap:3px;border:0;background:transparent;color:#6db9d7;font-size:10.5px;transition:color .15s ease}.panel-link:hover{color:var(--cyan)}.live-tag{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 8px;border:1px solid rgba(37,230,154,.2);border-radius:10px;background:#1055412e;color:#75d6b1;font-family:var(--font-display);font-size:8px;letter-spacing:.8px;white-space:nowrap}.live-tag i{width:4px;height:4px;border-radius:50%;background:var(--green);box-shadow:0 0 6px var(--green);animation:livePulse 2s ease-in-out infinite}.live-tag--small{height:18px;font-size:7px;padding:0 6px}.neon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 14px;border:1px solid rgba(76,189,255,.56);border-radius:6px;background:linear-gradient(180deg,#1578ff,#0b50c4);box-shadow:0 0 16px #196fff3d,inset 0 1px #a6ecff3d;color:#f3fdff;font-size:11.5px;letter-spacing:.4px;white-space:nowrap;overflow:hidden;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.neon-btn:after{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(209,248,255,.16),transparent);transform:skew(-18deg);transition:left .35s ease}.neon-btn:hover:not(:disabled){filter:brightness(1.09);box-shadow:0 0 24px #2996ff66,inset 0 1px #a6ecff47;transform:translateY(-1px)}.neon-btn:hover:not(:disabled):after{left:130%}.neon-btn:active:not(:disabled){transform:translateY(0);filter:brightness(.95)}.neon-btn:disabled{opacity:.55}.neon-btn--secondary{border-color:#3ddcff66;background:linear-gradient(180deg,#0d6c9eb8,#06335be6);box-shadow:0 0 14px #1fb5ff1f,inset 0 1px #7eebff1f;color:#b9eeff}.neon-btn--ghost{border-color:#529ec542;background:#0822396b;box-shadow:none;color:#a3c5d8}.neon-btn--ghost:hover:not(:disabled){border-color:#3ddcff66;color:#d9f8ff;box-shadow:0 0 14px #3ddcff14}.neon-btn--danger{border-color:#ff6f7c8c;background:linear-gradient(180deg,#f1475b,#b61d34);box-shadow:0 0 18px #ff425947,inset 0 1px #ffc5cb47}.neon-btn--sm{height:28px;padding:0 10px;font-size:10.5px}.neon-btn--lg{height:40px;padding:0 20px;font-size:12.5px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.select-field{display:flex;align-items:center;gap:7px;height:40px;min-width:0;padding:0 9px;border:1px solid rgba(63,153,199,.2);border-radius:6px;background:#0314248f;transition:border-color .18s ease,box-shadow .18s ease}.select-field:hover,.select-field:focus-within{border-color:#3dceff66;box-shadow:0 0 12px #3ddcff0f}.select-label{flex-shrink:0;color:#5e839b;font-size:9px;letter-spacing:.4px;white-space:nowrap}.select-control{position:relative;display:flex;align-items:center;gap:5px;flex:1;min-width:0}.select-prefix{flex-shrink:0;color:#4f8cac}.select-control select{flex:1;width:100%;min-width:0;padding:0 17px 0 0;border:0;outline:0;background:transparent;color:#cfe8f5;font-size:11px;letter-spacing:.2px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.select-control select option{background:#082037;color:#d8f1fe}.select-chevron{position:absolute;right:0;color:#578ba8;pointer-events:none}.select-field--compact{height:32px}.status-badge{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border:1px solid transparent;border-radius:4px;font-size:9.5px;letter-spacing:.3px;white-space:nowrap}.status-badge i{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.status-badge--success{color:var(--green);border-color:#25e69a3d;background:#25e69a14}.status-badge--warning{color:var(--orange);border-color:#ffb52e40;background:#ffb52e14}.status-badge--danger{color:var(--red);border-color:#ff4d6147;background:#ff4d6117}.status-badge--info{color:var(--cyan);border-color:#3ddcff3d;background:#3ddcff12}.status-badge--muted{color:#789bb0;border-color:#719db733;background:#5c7e9214}.progress-wrap{min-width:0;width:100%}.progress-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:5px;color:var(--text-3);font-size:10px}.progress-meta strong{color:var(--text-2);font-family:var(--font-display);font-weight:500}.progress-track{position:relative;width:100%;overflow:hidden;border-radius:4px;background:#3984aa29;box-shadow:inset 0 1px 2px #00000040}.progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#0f68ff,#3de6ff);box-shadow:0 0 8px #3ddcff8c;transition:width .55s ease}.progress--green .progress-fill{background:linear-gradient(90deg,#0e9568,#27e69b);box-shadow:0 0 8px #25e69a80}.progress--orange .progress-fill{background:linear-gradient(90deg,#b46d0a,#ffc04a);box-shadow:0 0 8px #ffb52e80}.progress--red .progress-fill{background:linear-gradient(90deg,#b41d34,#ff5d6f);box-shadow:0 0 8px #ff4d6180}.progress--purple .progress-fill{background:linear-gradient(90deg,#6f2cc3,#b86cff);box-shadow:0 0 8px #b46bff73}.progress--blue .progress-fill{background:linear-gradient(90deg,#0f55d8,#4c9cff);box-shadow:0 0 8px #2f8dff73}.ring-gauge{--tone: var(--cyan);position:relative;flex-shrink:0}.ring-gauge svg{display:block;overflow:visible}.ring-track{stroke:#509fc629}.ring-progress{stroke:var(--tone);filter:drop-shadow(0 0 4px color-mix(in srgb,var(--tone) 65%,transparent));transition:stroke-dashoffset .7s ease}.ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center}.mini-ring-center{display:flex;flex-direction:column;align-items:center;gap:1px}.mini-ring-center strong{font-family:var(--font-display);font-size:13px;font-weight:600;color:#dffaff;line-height:1}.mini-ring-center strong small{font-size:8px}.mini-ring-center span{color:#5c899f;font-size:7px}.gauge-small{color:#bcebf9;font-family:var(--font-display);font-size:10px}.toggle{position:relative;display:inline-flex;align-items:center;width:38px;height:20px;padding:2px;border:1px solid rgba(79,147,182,.28);border-radius:12px;background:#26465a7a;transition:all .2s ease}.toggle-knob{width:14px;height:14px;border-radius:50%;background:#7795a7;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}.toggle.is-on{border-color:#3ddcff80;background:#1677ae8c;box-shadow:0 0 10px #3ddcff1f}.toggle.is-on .toggle-knob{transform:translate(17px);background:#d5fbff;box-shadow:0 0 8px #3ddcffd9}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpi-card{--tone: var(--cyan);--tone-rgb: 61, 220, 255;position:relative;display:flex;align-items:center;gap:13px;min-width:0;min-height:106px;padding:14px 16px;border:1px solid rgba(var(--tone-rgb),.2);border-radius:var(--radius);background:radial-gradient(140px 90px at 8% 50%,rgba(var(--tone-rgb),.09),transparent 72%),linear-gradient(150deg,#092844bf,#031121d6);box-shadow:inset 0 1px #81e3ff0b,0 10px 28px #00040c29;overflow:hidden;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.kpi-card:before{content:"";position:absolute;top:0;left:14%;width:42%;height:1px;background:linear-gradient(90deg,rgba(var(--tone-rgb),.75),transparent)}.kpi-card:after{content:"";position:absolute;right:-45px;top:-50px;width:150px;height:150px;border-radius:50%;border:1px solid rgba(var(--tone-rgb),.08);background:radial-gradient(circle,rgba(var(--tone-rgb),.08),transparent 65%);pointer-events:none}.kpi-card:hover{border-color:rgba(var(--tone-rgb),.4);transform:translateY(-1px);box-shadow:inset 0 1px #81e3ff0f,0 12px 32px #00040c40}.kpi-scan{position:absolute;top:0;left:-50%;width:35%;height:100%;background:linear-gradient(90deg,transparent,rgba(194,245,255,.035),transparent);transform:skew(-18deg);animation:kpiScan 8s ease-in-out infinite;pointer-events:none}@keyframes kpiScan{0%,62%{left:-50%}92%,to{left:130%}}.kpi-icon-wrap{position:relative;display:flex;align-items:center;justify-content:center;width:50px;height:50px;flex-shrink:0}.kpi-icon-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid rgba(var(--tone-rgb),.25);box-shadow:inset 0 0 18px rgba(var(--tone-rgb),.08),0 0 12px rgba(var(--tone-rgb),.05)}.kpi-icon-ring:before{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;border:1px dashed rgba(var(--tone-rgb),.22);animation:spin 15s linear infinite}.kpi-icon{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:50%;background:radial-gradient(circle,rgba(var(--tone-rgb),.22),rgba(var(--tone-rgb),.05));color:var(--tone);filter:drop-shadow(0 0 6px rgba(var(--tone-rgb),.4))}.kpi-content{flex:1;min-width:0;z-index:1}.kpi-label{display:block;overflow:hidden;color:#8eafc3;font-size:11.5px;letter-spacing:.3px;white-space:nowrap;text-overflow:ellipsis}.kpi-value-row{display:flex;align-items:baseline;gap:5px;margin-top:2px}.kpi-value{color:#f1fdff;font-family:var(--font-display);font-size:30px;font-weight:600;line-height:1.05;letter-spacing:-.5px;text-shadow:0 0 22px rgba(var(--tone-rgb),.18)}.kpi-unit{color:rgba(var(--tone-rgb),.72);font-size:10px;letter-spacing:.4px}.kpi-foot{display:flex;align-items:center;gap:7px;margin-top:5px;overflow:hidden}.kpi-trend{display:inline-flex;align-items:center;gap:2px;color:var(--green);font-size:9px;white-space:nowrap}.kpi-trend.down,.kpi-trend.up{color:var(--green)}.kpi-foot-note{overflow:hidden;color:#527a92;font-size:8.5px;white-space:nowrap;text-overflow:ellipsis}.kpi-spark{position:absolute;right:12px;bottom:10px;opacity:.72;pointer-events:none;z-index:0}.kpi-aside{position:relative;margin-left:auto;flex-shrink:0;z-index:1}.metric-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-tile{display:flex;align-items:center;gap:11px;min-width:0;min-height:78px;padding:11px 15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass-soft);box-shadow:var(--shadow-panel);overflow:hidden}.metric-icon{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;flex-shrink:0;border:1px solid rgba(var(--tone-rgb),.24);border-radius:7px;background:rgba(var(--tone-rgb),.08);color:var(--tone);filter:drop-shadow(0 0 5px rgba(var(--tone-rgb),.26))}.metric-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.metric-copy>span{color:#7fa2b7;font-size:10px;white-space:nowrap}.metric-copy strong{color:#eafcff;font-family:var(--font-display);font-size:23px;font-weight:600;line-height:1}.metric-copy strong small{margin-left:2px;color:#72a1b9;font-size:9px;font-weight:400}.metric-tile .sparkline{margin-left:auto;flex-shrink:1;min-width:48px}.metric-trend{align-self:flex-start;margin-left:2px;padding:2px 5px;border-radius:3px;font-family:var(--font-display);font-size:8px;white-space:nowrap}.metric-trend.up{color:var(--green);background:#25e69a12}.metric-trend.down{color:var(--cyan);background:#3ddcff12}.mini-bars{display:flex;align-items:flex-end;gap:3px;height:46px;padding-bottom:2px}.mini-bars span{display:block;width:3px;border-radius:1px 1px 0 0}.overview-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:14px;height:316px}.trend-panel,.topology-panel{height:100%}.trend-panel .panel-body{padding:3px 7px 5px}.overview-trend-chart{width:100%;height:100%;min-height:240px}.topology-panel .panel-body{display:flex;flex-direction:column;padding:3px 9px 0}.topology{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.topology-legend{position:absolute;top:5px;right:5px;z-index:2;display:flex;align-items:center;gap:12px;color:#6d93ab;font-size:8px;letter-spacing:.2px}.topology-legend span{display:inline-flex;align-items:center;gap:4px}.legend-dot{display:inline-block;width:5px;height:5px;border-radius:50%}.legend-dot.success{background:var(--green);box-shadow:0 0 6px var(--green)}.legend-dot.warning{background:var(--orange);box-shadow:0 0 6px var(--orange)}.legend-dot.danger{background:var(--red);box-shadow:0 0 6px var(--red)}.vehicle-svg{width:100%;flex:1;min-height:0;overflow:visible}.car-node{cursor:pointer;outline:none}.car-node .node-wave{transform-box:fill-box;transform-origin:center;animation:nodeWave 2.6s ease-out infinite}.car-node:nth-of-type(2n) .node-wave{animation-delay:.7s}@keyframes nodeWave{0%{opacity:.65;transform:scale(.55)}75%{opacity:0;transform:scale(1.8)}to{opacity:0;transform:scale(1.8)}}.car-node .node-label rect{transition:stroke-opacity .2s ease,fill .2s ease}.car-node:hover .node-label>rect:first-of-type,.car-node.is-active .node-label>rect:first-of-type{fill:#07253df7}.wheel-spokes{animation:spin 9s linear infinite}.topology-readout{display:flex;align-items:center;gap:10px;height:33px;flex-shrink:0;border-top:1px solid rgba(61,141,182,.13);color:#6f97af;font-family:var(--font-display);font-size:9px;letter-spacing:.3px;overflow:hidden}.topology-readout>span{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.readout-id{color:var(--cyan);font-size:10px;font-weight:600}.readout-health{margin-left:auto;color:#6dcbaa}.readout-health.warn{color:var(--orange)}.topology-footnote{display:flex;align-items:center;justify-content:space-between;height:25px;flex-shrink:0;color:#4f788f;font-size:8px}.pulse-text{display:inline-flex;align-items:center;gap:5px;color:#6f9bb2}.pulse-text i{width:4px;height:4px;border-radius:50%;background:var(--cyan);box-shadow:0 0 5px var(--cyan);animation:livePulse 2s ease-in-out infinite}.overview-bottom{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:14px;min-height:212px}.latest-alarms-panel .panel-body{display:flex;flex-direction:column;padding:3px 13px 0}.latest-alarm-list{display:flex;flex-direction:column;flex:1}.latest-alarm-row{display:grid;grid-template-columns:22px 62px minmax(0,1fr) auto 15px;align-items:center;gap:8px;flex:1;min-height:43px;padding:0 2px;border:0;border-bottom:1px solid rgba(58,126,163,.12);background:transparent;text-align:left;transition:background .15s ease}.latest-alarm-row:hover{background:#186b951a}.alarm-timeline-dot{position:relative;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:1px solid rgba(79,152,188,.2);border-radius:50%}.alarm-timeline-dot i{width:5px;height:5px;border-radius:50%}.alarm-timeline-dot.danger i{background:var(--red);box-shadow:0 0 7px var(--red)}.alarm-timeline-dot.warning i{background:var(--orange);box-shadow:0 0 7px var(--orange)}.alarm-time{color:#64899f;font-family:var(--font-mono);font-size:9px}.alarm-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.alarm-copy strong{overflow:hidden;color:#cce7f4;font-size:11px;font-weight:500;white-space:nowrap;text-overflow:ellipsis}.alarm-copy small{overflow:hidden;color:#577b91;font-size:8.5px;white-space:nowrap;text-overflow:ellipsis}.alarm-chevron{color:#476f87}.alarm-summary-bar{display:flex;align-items:center;justify-content:space-between;height:29px;flex-shrink:0;border-top:1px solid rgba(58,126,163,.12);color:#557c93;font-size:8.5px}.alarm-summary-bar span{display:inline-flex;align-items:center;gap:4px}.alarm-summary-bar span:first-child{color:#cf9d53}.system-panel .panel-body{display:flex;flex-direction:column;padding:7px 14px 0}.system-status-list{display:flex;flex-direction:column;gap:7px;flex:1}.system-row{display:flex;align-items:center;gap:9px}.system-row-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border:1px solid rgba(var(--tone-rgb),.2);border-radius:5px;background:rgba(var(--tone-rgb),.06);color:var(--tone)}.system-row-copy{flex:1;min-width:0}.system-row-copy>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px;color:#8cafc3;font-size:9px}.system-row-copy>div:first-child strong{color:#cbe9f6;font-family:var(--font-display);font-size:10.5px;font-weight:500}.system-row-copy small{display:block;margin-top:2px;color:#4e738a;font-size:7.5px}.system-ota{display:grid;grid-template-columns:28px minmax(0,1fr) 90px 32px;align-items:center;gap:8px;padding-top:7px;border-top:1px dashed rgba(63,131,166,.16)}.system-ota-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid rgba(61,220,255,.2);border-radius:5px;background:#3ddcff0f;color:var(--cyan)}.system-ota>div{display:flex;flex-direction:column;gap:2px}.system-ota>div span{color:#4e738a;font-size:7.5px}.system-ota>div strong{color:#b5d9e8;font-size:9px;font-weight:500}.system-ota-value{color:var(--cyan);font-family:var(--font-display);font-size:9px;text-align:right}.system-checks{display:flex;align-items:center;gap:11px;height:27px;flex-shrink:0;margin-top:6px;border-top:1px solid rgba(58,126,163,.12);color:#557e94;font-size:7.5px;white-space:nowrap}.system-checks span{display:inline-flex;align-items:center;gap:3px}.system-checks span:first-child{color:#6fba9f}.device-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:8px 15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);box-shadow:var(--shadow-panel)}.device-toolbar-main,.device-toolbar-actions{display:flex;align-items:center;gap:11px;min-width:0}.device-picker-label{display:inline-flex;align-items:center;gap:6px;color:#7ea4bb;font-size:10.5px;white-space:nowrap}.hero-select{position:relative;display:flex;align-items:center;height:34px;padding:0 28px 0 11px;border:1px solid rgba(61,194,243,.34);border-radius:5px;background:#072d48a3;color:var(--cyan);box-shadow:inset 0 0 14px #3ddcff0a}.hero-select select{border:0;outline:0;background:transparent;color:var(--cyan);font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:.6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.hero-select select option{background:#082037;color:#d8f1fe}.hero-select svg{position:absolute;right:8px;color:#6a9fba;pointer-events:none}.toolbar-divider{width:1px;height:24px;background:#4a91b22e}.toolbar-field{display:flex;align-items:center;gap:5px;white-space:nowrap}.toolbar-field em{color:#5c8199;font-size:9px;font-style:normal}.toolbar-field strong{color:#b8d9e9;font-size:10.5px;font-weight:500}.device-toolbar-actions{flex-shrink:0}.refresh-select{display:flex;align-items:center;gap:5px;height:30px;padding:0 8px;border:1px solid rgba(61,148,192,.2);border-radius:5px;background:#0417288c;color:#6496b1}.refresh-select select{border:0;outline:0;background:transparent;color:#9bbfd2;font-size:9.5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.refresh-select select option{background:#082037}.pause-button{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 9px;border:1px solid rgba(61,174,220,.24);border-radius:5px;background:#0a2f4780;color:#8db8cd;font-size:9.5px;transition:all .15s ease}.pause-button:hover,.pause-button.is-paused{color:var(--cyan);border-color:#3ddcff66}.live-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.live-metric{position:relative;min-width:0;min-height:112px;padding:11px 14px 9px;border:1px solid rgba(var(--tone-rgb),.2);border-radius:var(--radius);background:radial-gradient(130px 84px at 12% 42%,rgba(var(--tone-rgb),.08),transparent 72%),var(--glass);box-shadow:var(--shadow-panel);overflow:hidden}.live-metric:before{content:"";position:absolute;top:0;left:5%;width:46%;height:1px;background:linear-gradient(90deg,rgba(var(--tone-rgb),.7),transparent)}.live-metric-scan{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(var(--tone-rgb),.025) 50%,transparent 60%);animation:scanY 6s linear infinite;pointer-events:none}@keyframes scanY{0%{transform:translateY(-60%)}to{transform:translateY(60%)}}.live-metric-head{display:flex;align-items:center;gap:7px}.live-metric-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(var(--tone-rgb),.24);border-radius:5px;background:rgba(var(--tone-rgb),.07);color:var(--tone);filter:drop-shadow(0 0 5px rgba(var(--tone-rgb),.28))}.live-metric-label{color:#9fc1d4;font-size:11px;letter-spacing:.3px}.live-metric-live{display:inline-flex;align-items:center;gap:4px;margin-left:auto;color:rgba(var(--tone-rgb),.7);font-family:var(--font-display);font-size:7px;letter-spacing:.9px}.live-metric-live i{width:4px;height:4px;border-radius:50%;background:var(--tone);box-shadow:0 0 5px var(--tone);animation:livePulse 1.6s ease-in-out infinite}.live-metric-body{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:2px}.live-metric-value{display:flex;align-items:baseline;gap:4px}.live-metric-value strong{color:#f2fdff;font-family:var(--font-display);font-size:34px;font-weight:600;line-height:1.05;letter-spacing:-.5px;text-shadow:0 0 22px rgba(var(--tone-rgb),.17)}.live-metric-value span{color:rgba(var(--tone-rgb),.76);font-size:9px}.live-metric-foot{display:flex;align-items:center;gap:8px;margin-top:1px;color:#587f95;font-size:8px;white-space:nowrap;overflow:hidden}.live-metric-foot>span{overflow:hidden;text-overflow:ellipsis}.live-metric-foot .sparkline{margin-left:auto;flex-shrink:0}.realtime-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:14px;height:520px}.realtime-charts{display:grid;grid-template-rows:1fr 1fr;gap:14px;min-height:0}.stream-panel .panel-body{padding:2px 7px 4px}.stream-chart{width:100%;height:100%;min-height:165px}.stream-value{font-family:var(--font-display);font-size:16px;font-weight:600;letter-spacing:.2px}.stream-value small{margin-left:2px;font-size:8px;font-weight:400;opacity:.65}.realtime-side{display:grid;grid-template-rows:1.55fr 1fr;gap:14px;min-height:0}.motor-panel .panel-body{display:flex;align-items:stretch;padding:0 7px}.motor-core{position:relative;display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.motor-topline{display:flex;align-items:center;justify-content:space-between;height:20px;flex-shrink:0;padding:0 8px;color:#4f7d96;font-size:8px}.motor-device-id{color:#8fcbe1;font-family:var(--font-display);letter-spacing:1px}.motor-online{display:inline-flex;align-items:center;gap:4px;color:#63b797}.motor-online i{width:4px;height:4px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green)}.motor-core svg{width:100%;flex:1;min-height:0;overflow:visible}.motor-rotor{transform-box:view-box;transform-origin:160px 142px;animation:spin 13s linear infinite}.motor-callout{position:absolute;display:flex;flex-direction:column;gap:1px;padding:5px 8px;border:1px solid rgba(var(--tone-rgb),.2);border-radius:4px;background:#031322d1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none}.motor-callout span{color:#4f7a90;font-size:7px}.motor-callout strong{color:#ccecf8;font-family:var(--font-display);font-size:13px;font-weight:600}.motor-callout strong small{margin-left:2px;color:#6794ab;font-size:7px;font-weight:400}.motor-callout--left{top:36%;left:3px;border-color:#3ddcff2e}.motor-callout--right{top:47%;right:3px;border-color:#b46bff33}.motor-baseplate{display:flex;align-items:center;justify-content:space-between;height:19px;flex-shrink:0;padding:0 7px;color:#4c7288;font-size:7px}.motor-baseplate span:first-child{display:inline-flex;align-items:center;gap:4px;color:#69a993}.motor-baseplate i{width:4px;height:4px;border-radius:50%;background:var(--green);box-shadow:0 0 5px var(--green)}.sensor-panel .panel-body{padding:4px 13px}.sensor-list{display:flex;flex-direction:column;height:100%;justify-content:space-around}.sensor-row{display:flex;align-items:center;gap:8px;min-height:28px;padding:4px 0;border-bottom:1px solid rgba(57,124,158,.1)}.sensor-row:last-child{border-bottom:0}.sensor-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;border:1px solid rgba(var(--tone-rgb),.18);border-radius:4px;background:rgba(var(--tone-rgb),.06);color:var(--tone)}.sensor-label{color:#779cb1;font-size:9.5px;white-space:nowrap}.sensor-row strong{margin-left:auto;color:#c7e6f3;font-family:var(--font-display);font-size:11px;font-weight:500;white-space:nowrap}.sensor-row .progress-wrap{width:62px;flex:1;max-width:86px;margin-left:auto}.sensor-row .status-badge{height:19px;font-size:8px}.sensor-firmware{margin-left:auto;color:var(--purple);font-family:var(--font-display);font-size:10px}.signal-bars{display:inline-flex;align-items:flex-end;gap:2px;height:12px;margin-left:auto}.signal-bars i{display:block;width:2px;border-radius:1px;background:#689bb440}.signal-bars i:nth-child(1){height:4px}.signal-bars i:nth-child(2){height:6px}.signal-bars i:nth-child(3){height:9px}.signal-bars i:nth-child(4){height:12px}.signal-bars i.on{background:var(--cyan);box-shadow:0 0 4px #3ddcff99}.signal-bars+strong{margin-left:5px}.realtime-statusbar{display:flex;align-items:center;gap:16px;min-height:56px;padding:8px 18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);box-shadow:var(--shadow-panel)}.realtime-status{position:relative;display:flex;align-items:center;gap:9px;flex:1;min-width:0}.status-orb{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border:1px solid rgba(var(--tone-rgb),.24);border-radius:50%;background:rgba(var(--tone-rgb),.07);color:var(--tone);box-shadow:0 0 12px rgba(var(--tone-rgb),.08)}.realtime-status strong{display:block;color:#bcdae8;font-size:10px;font-weight:500;white-space:nowrap}.realtime-status span{display:block;margin-top:2px;color:#557d94;font-size:8px;white-space:nowrap}.status-separator{position:absolute;right:0;top:4px;width:1px;height:26px;background:#448aac29}.statusbar-meta{display:flex;align-items:center;gap:6px;flex-shrink:0;color:#527a91;font-family:var(--font-display);font-size:8.5px;white-space:nowrap}.statusbar-dot{width:3px;height:3px;margin:0 3px;border-radius:50%;background:#3e6b83}.filter-bar{display:flex;align-items:center;gap:10px;min-height:62px;padding:9px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--glass);box-shadow:var(--shadow-panel)}.filter-bar-title{display:flex;align-items:center;gap:9px;width:138px;flex-shrink:0}.filter-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid rgba(61,220,255,.24);border-radius:5px;background:#3ddcff0f;color:var(--cyan)}.filter-bar-title strong{display:block;color:#c5e4f2;font-size:11.5px;font-weight:500}.filter-bar-title span:not(.filter-icon){display:block;margin-top:2px;color:#4e7790;font-family:var(--font-display);font-size:7px;letter-spacing:1px}.filter-bar .select-field{flex:1;min-width:120px;max-width:192px}.filter-actions{display:flex;align-items:center;gap:8px;margin-left:auto;flex-shrink:0}.alarm-hero{display:grid;grid-template-columns:minmax(0,1.64fr) minmax(0,1fr);gap:14px;height:272px}.forecast-panel .panel-body{display:flex;flex-direction:column;padding:4px 9px 3px}.forecast-chart{flex:1;min-height:170px;width:100%}.forecast-foot{display:flex;align-items:center;gap:14px;height:24px;flex-shrink:0;border-top:1px solid rgba(56,128,164,.12);color:#5c849c;font-size:8px;white-space:nowrap}.forecast-foot span{display:inline-flex;align-items:center;gap:5px}.forecast-foot em{margin-left:auto;color:#476f86;font-style:normal;font-size:7.5px}.legend-line{display:inline-block;width:13px;height:2px;border-radius:1px}.legend-line.cyan{background:var(--cyan);box-shadow:0 0 5px #3ddcffb3}.legend-line.orange{background:repeating-linear-gradient(90deg,var(--orange) 0 4px,transparent 4px 7px)}.legend-band{display:inline-block;width:13px;height:7px;border:1px solid rgba(255,78,101,.28);border-radius:2px;background:#ff4e6526}.legend-dot-line{display:inline-block;width:13px;height:2px;border-radius:1px}.alert-banner{position:relative;display:flex;align-items:stretch;gap:14px;height:100%;min-width:0;padding:19px 18px;border:1px solid rgba(255,81,99,.45);border-radius:var(--radius);background:radial-gradient(190px 150px at 6% 10%,rgba(255,79,98,.2),transparent 70%),linear-gradient(145deg,#4c1321e6,#280915e0 58%,#180d1ceb);box-shadow:inset 0 0 34px #ff37500f,0 0 24px #ff263f14;overflow:hidden}.alert-banner:before{content:"";position:absolute;top:0;left:12%;width:48%;height:1px;background:linear-gradient(90deg,rgba(255,125,139,.9),transparent)}.alert-banner-grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.15;background-image:linear-gradient(rgba(255,149,161,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(255,149,161,.2) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:radial-gradient(circle at 86% 8%,#000,transparent 68%);mask-image:radial-gradient(circle at 86% 8%,#000,transparent 68%);pointer-events:none}.alert-dismiss{position:absolute;top:9px;right:9px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:0;border-radius:4px;background:transparent;color:#ffd2d880;transition:all .15s ease}.alert-dismiss:hover{color:#fff;background:#ffffff14}.alert-banner-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:54px;height:54px;flex-shrink:0;align-self:flex-start;margin-top:2px;border:1px solid rgba(255,104,119,.45);border-radius:50%;background:radial-gradient(circle,#ff455847,#ff455808);color:#ff7c8b;box-shadow:0 0 26px #ff324c2e,inset 0 0 16px #ff5c6c1f}.alert-ping{position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:1px solid rgba(255,97,112,.3);border-radius:50%;animation:alertPing 2.2s ease-out infinite}@keyframes alertPing{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.25)}}.alert-banner-copy{position:relative;z-index:2;display:flex;flex-direction:column;flex:1;min-width:0}.alert-kicker{color:#d47b86;font-family:var(--font-display);font-size:7px;letter-spacing:1.6px}.alert-banner-copy h2{margin-top:4px;color:#fff1f2;font-size:17px;font-weight:600;line-height:1.25;letter-spacing:.2px}.alert-banner-copy p{margin-top:7px;max-width:350px;color:#d7aab1;font-size:10px;line-height:1.55}.alert-meta{display:flex;align-items:center;gap:12px;margin-top:8px;color:#a87882;font-size:8.5px}.alert-meta span{display:inline-flex;align-items:center;gap:4px}.alert-progress{margin-top:12px;padding:8px 9px;border:1px solid rgba(255,112,127,.13);border-radius:5px;background:#2b0c1552}.alert-progress>div{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;color:#a77b84;font-size:8px}.alert-progress strong{color:#ffbdc5;font-family:var(--font-display);font-size:9.5px;font-weight:500}.alert-actions{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:13px}.alert-actions .neon-btn{height:32px}.alert-actions .neon-btn--ghost{border-color:#ffa4af42;background:#4418227a;color:#e7bcc2}.alert-corner{position:absolute;width:11px;height:11px;border-color:#ff808ccc;pointer-events:none}.alert-corner--tr{top:4px;right:4px;border-top:1px solid;border-right:1px solid}.alert-corner--bl{bottom:4px;left:4px;border-bottom:1px solid;border-left:1px solid}.alert-banner--quiet{border-color:#25e69a4d;background:radial-gradient(190px 150px at 6% 10%,rgba(37,230,154,.13),transparent 70%),linear-gradient(145deg,#0b3536db,#061c25e6)}.alert-banner--quiet .alert-banner-icon{border-color:#25e69a61;background:radial-gradient(circle,rgba(37,230,154,.16),transparent);color:var(--green);box-shadow:0 0 26px #25e69a1a}.alert-banner--quiet .alert-kicker{color:#56a78a}.alert-banner--quiet h2{color:#e2fff4}.alert-banner--quiet p{color:#95b6ae}.alarm-table-panel .panel-body{padding:0}.table-tools{display:flex;align-items:center;gap:8px}.table-search{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:1px solid rgba(62,149,193,.2);border-radius:5px;background:#0314248a;color:#5f8ba4}.table-search:focus-within{border-color:#3ddcff66}.table-search input{width:138px;border:0;outline:0;background:transparent;color:#c5e4f2;font-size:9.5px}.table-search input::placeholder{color:#4e7187}.table-search button{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:0;background:transparent;color:#5d849b}.status-tabs{display:flex;align-items:center;gap:1px;padding:2px;border:1px solid rgba(60,138,175,.18);border-radius:5px;background:#04172794}.status-tabs button{height:23px;padding:0 9px;border:0;border-radius:3px;background:transparent;color:#5d8298;font-size:9px;transition:all .15s ease}.status-tabs button.is-active{background:#1971aa57;color:var(--cyan);box-shadow:inset 0 0 10px #3ddcff0f}.data-table-wrap{position:relative;width:100%;overflow:auto}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:10.5px}.data-table thead th{position:sticky;top:0;z-index:4;height:36px;padding:0 10px;border-bottom:1px solid rgba(61,143,184,.17);background:#072137f5;color:#6d91a7;font-size:9.5px;font-weight:500;letter-spacing:.4px;text-align:left;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.data-table tbody td{height:44px;padding:6px 10px;border-bottom:1px solid rgba(53,112,143,.11);color:#b8d7e5;vertical-align:middle}.data-table tbody tr{transition:background .15s ease}.data-table tbody tr:hover{background:#19658f1c}.data-table tbody tr:last-child td{border-bottom:0}.sort-header{display:inline-flex;align-items:center;gap:4px;padding:0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;white-space:nowrap;transition:color .15s ease}.sort-header:hover,.sort-header.is-active{color:var(--cyan)}.mono-cell{color:#82a9bd!important;font-family:var(--font-mono);font-size:9px!important;letter-spacing:.1px;white-space:nowrap}.table-device{display:flex;flex-direction:column;gap:2px}.table-device strong{color:#e2f7ff;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.3px}.table-device span{color:#52798f;font-size:8px;white-space:nowrap}.risk-type{font-size:10.5px;white-space:nowrap}.risk-danger{color:#ff8795}.risk-warning{color:#ffc86d}.risk-cyan{color:#71c8e7}.alarm-table th:nth-child(1){width:14%}.alarm-table th:nth-child(2){width:10%}.alarm-table th:nth-child(3){width:12%}.alarm-table th:nth-child(4){width:18%}.alarm-table th:nth-child(5){width:20%}.alarm-table th:nth-child(6){width:12%}.alarm-table th:nth-child(7){width:8%}.remaining-cell{display:flex;flex-direction:column;gap:4px;width:155px}.remaining-cell>div{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.remaining-cell strong{font-size:10.5px;font-weight:500}.remaining-cell span{color:#4f788e;font-size:8px}.table-action{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:25px;padding:0 8px;border:1px solid rgba(61,183,230,.25);border-radius:4px;background:#0c406252;color:#72c6e6;font-size:9px;white-space:nowrap;transition:all .15s ease}.table-action:hover{border-color:#3ddcff7a;background:#13629166;color:#c9f6ff}.table-footer{display:flex;align-items:center;justify-content:space-between;min-height:42px;padding:6px 14px;border-top:1px solid rgba(56,126,161,.12);color:#547a90;font-size:8.5px}.table-footer strong{color:#9bc7d9;font-family:var(--font-display);font-weight:500}.pagination{display:flex;align-items:center;gap:3px}.pagination button{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 5px;border:1px solid rgba(58,137,175,.16);border-radius:3px;background:#04182973;color:#7699ae;font-family:var(--font-display);font-size:9px;transition:all .15s ease}.pagination button:hover:not(:disabled){border-color:#3ddcff66;color:var(--cyan)}.pagination button.is-active{border-color:#3ddcff73;background:#14629970;color:#d7faff;box-shadow:inset 0 0 9px #3ddcff14}.pagination button:disabled{opacity:.3}.pagination-info{margin-left:5px;color:#4d7188;font-size:8px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-height:170px;color:#537b92}.empty-state strong{color:#86a9bd;font-size:11px;font-weight:500}.empty-state span{font-size:9px}.alarm-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.alarm-stat{position:relative;display:flex;align-items:center;gap:12px;min-height:98px;padding:14px 16px;border:1px solid rgba(var(--tone-rgb),.19);border-radius:var(--radius);background:radial-gradient(130px 90px at 8% 40%,rgba(var(--tone-rgb),.08),transparent 70%),var(--glass);box-shadow:var(--shadow-panel);overflow:hidden}.alarm-stat:before{content:"";position:absolute;top:0;left:12%;width:38%;height:1px;background:linear-gradient(90deg,rgba(var(--tone-rgb),.7),transparent)}.alarm-stat-glow{position:absolute;left:30px;bottom:-50px;width:100px;height:100px;border-radius:50%;background:rgba(var(--tone-rgb),.08);filter:blur(28px)}.alarm-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border:1px solid rgba(var(--tone-rgb),.25);border-radius:50%;background:radial-gradient(circle,rgba(var(--tone-rgb),.16),rgba(var(--tone-rgb),.02));color:var(--tone);box-shadow:0 0 18px rgba(var(--tone-rgb),.1);filter:drop-shadow(0 0 5px rgba(var(--tone-rgb),.25))}.alarm-stat-copy{display:flex;flex-direction:column;gap:1px;min-width:0}.alarm-stat-copy>span{color:#829fb2;font-size:10px}.alarm-stat-copy>div{display:flex;align-items:baseline;gap:4px}.alarm-stat-copy strong{color:#f2fdff;font-family:var(--font-display);font-size:31px;font-weight:600;line-height:1.05}.alarm-stat-copy small{color:rgba(var(--tone-rgb),.65);font-size:8px}.alarm-stat-copy em{color:#4f778e;font-size:8px;font-style:normal;white-space:nowrap}.alarm-stat-bars{display:flex;align-items:flex-end;gap:3px;height:47px;margin-left:auto;padding-bottom:1px;flex-shrink:0}.alarm-stat-bars span{width:4px;border-radius:1px 1px 0 0;opacity:.78}.alarm-detail{display:flex;flex-direction:column;gap:16px}.alarm-detail-hero{position:relative;display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid rgba(var(--tone-rgb),.26);border-radius:8px;background:radial-gradient(160px 100px at 4% 20%,rgba(var(--tone-rgb),.12),transparent 75%),#0a233766}.alarm-detail-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex-shrink:0;border:1px solid rgba(var(--tone-rgb),.35);border-radius:50%;background:rgba(var(--tone-rgb),.08);color:var(--tone);box-shadow:0 0 18px rgba(var(--tone-rgb),.12)}.alarm-detail-hero>div{flex:1;min-width:0}.alarm-detail-hero>div>span{color:#5f859b;font-family:var(--font-mono);font-size:8px}.alarm-detail-hero h3{margin-top:2px;color:#f3faff;font-size:17px;font-weight:600}.alarm-detail-hero p{margin-top:5px;color:#87a8bb;font-size:9.5px;line-height:1.55}.detail-metrics{display:grid;grid-template-columns:100px 1fr 1fr;gap:11px;align-items:stretch}.detail-gauge{display:flex;align-items:center;justify-content:center;padding:5px;border:1px solid var(--line);border-radius:7px;background:#051a2c66}.detail-gauge-center{display:flex;flex-direction:column;gap:1px}.detail-gauge-center strong{color:#eafaff;font-family:var(--font-display);font-size:17px;font-weight:600}.detail-gauge-center strong small{font-size:8px}.detail-gauge-center span{color:#5a849b;font-size:7px}.detail-metric{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:10px;border:1px solid var(--line);border-radius:7px;background:#051a2c66}.detail-metric>span{display:inline-flex;align-items:center;gap:4px;color:#5b8299;font-size:8.5px}.detail-metric>strong{color:#e8f9ff;font-family:var(--font-display);font-size:17px;font-weight:600}.detail-metric>strong small{color:#5f879d;font-size:8px}.detail-metric>em{color:#698da2;font-size:8.5px;font-style:normal}.detail-section h4{margin-bottom:9px;color:#85a9bc;font-size:10px;font-weight:500;letter-spacing:.5px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.data-field{display:flex;flex-direction:column;gap:3px;padding:8px 10px;border:1px solid rgba(56,129,162,.13);border-radius:5px;background:#04182854}.data-field>span{color:#527990;font-size:8px}.data-field>strong{color:#c1dfec;font-size:10px;font-weight:500;line-height:1.4;word-break:break-word}.insight-block{display:flex;gap:9px;padding:10px;border:1px solid rgba(86,165,208,.15);border-radius:6px;background:#0821355c}.insight-icon{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;flex-shrink:0;border-radius:4px;background:#3ddcff14;color:var(--cyan)}.insight-block p,.suggestion-block p{color:#90afc1;font-size:9.5px;line-height:1.65}.suggestion-block{margin-top:8px;padding:10px;border-left:2px solid rgba(255,181,46,.45);border-radius:0 5px 5px 0;background:#3d2b0e33}.suggestion-block strong{display:block;margin-bottom:4px;color:#d9ac5e;font-size:9px;font-weight:500}.alarm-timeline{position:relative;display:flex;flex-direction:column;gap:0;padding-left:3px}.alarm-timeline li{position:relative;display:flex;gap:9px;min-height:50px}.alarm-timeline li>span{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;flex-shrink:0;border:1px solid rgba(77,144,178,.25);border-radius:50%;background:#071d31;color:#557e94;font-size:8px}.alarm-timeline li:before{content:"";position:absolute;left:9px;top:20px;bottom:0;width:1px;background:#4287a733}.alarm-timeline li:last-child:before{display:none}.alarm-timeline li.done>span{border-color:#25e69a73;background:#25e69a1c;color:var(--green)}.alarm-timeline li.active>span{border-color:#ffb52e73;color:var(--orange)}.alarm-timeline li>div{padding-top:1px}.alarm-timeline strong{display:block;color:#b5d5e3;font-size:9.5px;font-weight:500}.alarm-timeline small{display:block;margin-top:3px;color:#52788e;font-size:8px}.timeline-dot{width:3px;height:3px;border-radius:50%;background:#557e94}.drawer-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;width:100%}.drawer-closed,.drawer-running{display:inline-flex;align-items:center;gap:5px;margin-right:auto;color:#63bb9a;font-size:9.5px}.drawer-running{color:#66b9d7}.echart{width:100%;height:100%;min-height:0}.chart-tip-title{margin-bottom:6px;padding-bottom:5px;border-bottom:1px solid rgba(75,171,217,.2);color:#e3f8ff;font-family:var(--font-display);font-size:10px;letter-spacing:.4px}.chart-tip-row{display:flex;align-items:center;gap:6px;min-width:138px;padding:2px 0;color:#86abc0;font-size:9.5px}.chart-tip-row span{flex:1}.chart-tip-row strong{color:#e9fbff;font-family:var(--font-display);font-weight:500;white-space:nowrap}.history-filter-bar .select-field{max-width:178px}.history-filter-bar .filter-bar-title{width:128px}.export-split{position:relative;display:flex;align-items:stretch}.export-split>.neon-btn{border-radius:6px 0 0 6px;border-right:0}.export-chevron{display:inline-flex;align-items:center;justify-content:center;width:25px;height:34px;border:1px solid rgba(61,220,255,.4);border-left:1px solid rgba(35,108,138,.4);border-radius:0 6px 6px 0;background:linear-gradient(180deg,#0d6c9eb8,#06335be6);color:#8cdff4}.export-chevron:hover{color:var(--cyan);background:#11608ccc}.export-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;width:196px;padding:5px;border:1px solid rgba(61,186,235,.28);border-radius:7px;background:linear-gradient(160deg,#082540fa,#03101ffa);box-shadow:0 15px 45px #00040e8c;animation:popIn .16s ease}.export-menu button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 9px;border:0;border-radius:4px;background:transparent;color:#83b4ca;text-align:left}.export-menu button:hover{background:#1c669040;color:var(--cyan)}.export-menu button span{display:flex;flex-direction:column;gap:2px}.export-menu button strong{color:#c9e7f4;font-size:10px;font-weight:500}.export-menu button small{color:#50778e;font-size:8px}.history-overview{display:grid;grid-template-columns:minmax(0,1.82fr) minmax(0,1fr);gap:14px;height:390px}.history-chart-panel,.history-stats-panel{height:100%}.history-chart-panel .panel-body{display:flex;flex-direction:column;padding:4px 9px 2px}.history-chart{flex:1;width:100%;min-height:250px}.history-chart-foot{display:flex;align-items:center;gap:14px;height:25px;flex-shrink:0;border-top:1px solid rgba(56,128,164,.12);color:#557c92;font-size:8px;white-space:nowrap}.history-chart-foot span{display:inline-flex;align-items:center;gap:5px}.history-chart-foot em{margin-left:auto;color:#476e85;font-size:7.5px;font-style:normal}.history-stats-panel .panel-body{display:flex;flex-direction:column;padding:10px}.data-stat-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:9px;flex:1;min-height:0}.data-stat-tile{--tone: var(--cyan);--tone-rgb: 61, 220, 255;position:relative;display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:0;padding:11px 12px;border:1px solid rgba(var(--tone-rgb),.16);border-radius:6px;background:radial-gradient(90px 60px at 10% 15%,rgba(var(--tone-rgb),.07),transparent 75%),#051b2e8c;overflow:hidden}.data-stat-tile:before{content:"";position:absolute;top:0;left:12%;width:32%;height:1px;background:linear-gradient(90deg,rgba(var(--tone-rgb),.6),transparent)}.data-stat-head{display:flex;align-items:center;gap:7px;color:#82a3b8;font-size:9px}.data-stat-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;border:1px solid rgba(var(--tone-rgb),.2);border-radius:5px;background:rgba(var(--tone-rgb),.07);color:var(--tone)}.data-stat-value{display:flex;align-items:baseline;gap:3px;margin-top:3px}.data-stat-value strong{color:#effdff;font-family:var(--font-display);font-size:25px;font-weight:600;line-height:1}.data-stat-value span{color:rgba(var(--tone-rgb),.7);font-size:8px}.data-stat-delta{margin-top:2px;color:#6cb69b;font-size:7.5px}.data-stat-delta.down{color:#60aebf}.stat-spark{position:absolute;right:10px;bottom:10px;width:48px;height:3px;border-radius:3px;background:rgba(var(--tone-rgb),.12);overflow:hidden}.stat-spark span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,rgba(var(--tone-rgb),.3),var(--tone));box-shadow:0 0 6px rgba(var(--tone-rgb),.45)}.data-stat-tile--quality{flex-direction:row;align-items:center;gap:8px;justify-content:flex-start;--tone-rgb: 47, 141, 255}.quality-ring-wrap{flex-shrink:0}.quality-ring-center{display:flex;flex-direction:column;align-items:center;gap:1px}.quality-ring-center strong{color:#e9faff;font-family:var(--font-display);font-size:16px;font-weight:600;line-height:1}.quality-ring-center strong small{font-size:7px}.quality-ring-center span{color:#5b859c;font-size:7px}.quality-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.quality-copy>span{color:#789cb1;font-size:9px;white-space:nowrap}.quality-copy strong{color:#80d2a9;font-size:9.5px;font-weight:500}.quality-copy small{color:#4e7289;font-size:7px;white-space:nowrap}.stats-foot{display:flex;align-items:center;justify-content:space-between;height:24px;flex-shrink:0;margin-top:5px;border-top:1px solid rgba(56,128,164,.12);color:#557c92;font-size:7.5px}.stats-foot span{display:inline-flex;align-items:center;gap:4px}.stats-foot span:first-child{color:#6fba9f}.key-metrics-panel{flex:1;min-height:214px}.key-metrics-panel .panel-body{display:flex;flex-direction:column;padding:9px 12px 5px}.key-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;flex:1;min-height:0}.history-metric{--tone: var(--cyan);--tone-rgb: 61, 220, 255;position:relative;display:flex;flex-direction:column;min-width:0;min-height:145px;padding:10px 12px 6px;border:1px solid rgba(var(--tone-rgb),.16);border-radius:6px;background:radial-gradient(130px 65px at 15% 0%,rgba(var(--tone-rgb),.08),transparent 75%),#04172880;overflow:hidden}.history-metric:before{content:"";position:absolute;top:0;left:12%;width:36%;height:1px;background:linear-gradient(90deg,rgba(var(--tone-rgb),.65),transparent)}.history-metric-head{display:flex;align-items:center;gap:7px}.history-metric-icon{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;flex-shrink:0;border:1px solid rgba(var(--tone-rgb),.22);border-radius:5px;background:rgba(var(--tone-rgb),.06);color:var(--tone)}.history-metric-label{color:#8aabbf;font-size:9.5px}.history-metric-delta{margin-left:auto;color:#67b497;font-family:var(--font-display);font-size:7.5px;white-space:nowrap}.history-metric-delta.down{color:#62adbe}.history-metric-value{display:flex;align-items:baseline;gap:3px;margin-top:3px}.history-metric-value strong{color:#f0fdff;font-family:var(--font-display);font-size:23px;font-weight:600;line-height:1}.history-metric-value span{color:rgba(var(--tone-rgb),.7);font-size:8px}.history-mini-chart{width:100%;flex:1;min-height:48px;margin-top:2px}.history-metric-note{overflow:hidden;color:#4d7289;font-size:7px;white-space:nowrap;text-overflow:ellipsis}.key-metrics-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;height:20px;flex-shrink:0;color:#486d83;font-size:7.5px}.ota-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:14px;height:300px}.ota-trend-panel,.ota-distribution-panel{height:100%}.ota-trend-panel .panel-body{display:flex;flex-direction:column;padding:3px 8px 2px}.ota-trend-chart{flex:1;width:100%;min-height:188px}.ota-trend-foot{display:flex;align-items:center;gap:14px;height:24px;flex-shrink:0;border-top:1px solid rgba(56,128,164,.12);color:#557c92;font-size:8px}.ota-trend-foot span{display:inline-flex;align-items:center;gap:5px}.ota-trend-foot em{margin-left:auto;color:#476e85;font-size:7.5px;font-style:normal}.ota-distribution-panel .panel-body{padding:5px 10px}.ota-distribution-body{display:flex;align-items:center;gap:3px;height:100%}.ota-donut{flex:1.1;height:100%;min-width:150px;min-height:200px}.ota-distribution-list{display:flex;flex-direction:column;justify-content:center;gap:8px;flex:1;min-width:0}.ota-distribution-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:22px;padding-bottom:6px;border-bottom:1px solid rgba(56,128,164,.1);color:#7da0b4;font-size:9px}.ota-distribution-list>div>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.ota-distribution-list>div>strong{color:#d8f3fc;font-family:var(--font-display);font-size:12px;font-weight:500}.dot{width:6px;height:6px;border-radius:50%;display:inline-block}.dot.green{background:var(--green);box-shadow:0 0 7px var(--green)}.dot.red{background:var(--red);box-shadow:0 0 7px var(--red)}.dot.cyan{background:var(--cyan);box-shadow:0 0 7px var(--cyan)}.distribution-check{border-bottom:0!important;display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid rgba(37,230,154,.15);border-radius:5px;background:#25e69a0a;color:var(--green)!important}.distribution-check span{display:flex;flex-direction:column;color:#88acb0;font-size:8px}.distribution-check small{margin-top:2px;color:#5a8376;font-size:7px}.ota-bottom{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:14px;height:350px;min-height:350px}.ota-task-panel{min-height:0}.ota-task-panel .panel-body{display:flex;flex-direction:column;padding:0}.ota-table-wrap{flex:1;min-height:0;overflow:auto}.ota-table thead th{font-size:9px}.ota-table tbody td{height:42px;font-size:9.5px}.ota-table th:nth-child(1){width:22%}.ota-table th:nth-child(2){width:10%}.ota-table th:nth-child(3){width:9%}.ota-table th:nth-child(4){width:13%}.ota-table th:nth-child(5){width:20%}.ota-table th:nth-child(6){width:16%}.ota-table th:nth-child(7){width:8%}.task-id-cell{font-size:8.5px!important}.device-id-text{color:#ccecf8;font-family:var(--font-display);font-size:10.5px;font-weight:500}.version-tag{display:inline-flex;align-items:center;height:19px;padding:0 6px;border:1px solid rgba(180,107,255,.2);border-radius:3px;background:#b46bff12;color:#c99eff;font-family:var(--font-display);font-size:8.5px}.ota-progress-cell{display:flex;flex-direction:column;gap:4px;width:118px}.ota-progress-cell>div{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.ota-progress-cell span{color:#b4d8e6;font-family:var(--font-display);font-size:9px}.ota-progress-cell small{color:#4f758b;font-size:7px}.ota-task-foot{display:flex;align-items:center;justify-content:space-between;height:30px;flex-shrink:0;padding:0 13px;border-top:1px solid rgba(56,126,161,.12);color:#50768c;font-size:7.5px}.ota-task-foot span:first-child{display:inline-flex;align-items:center;gap:5px;color:#6b9a91}.ota-settings-panel{min-height:0;overflow:visible;z-index:5}.ota-settings-panel .panel-head{border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}.ota-settings-panel .panel-body{overflow-y:auto;overflow-x:visible;padding:8px 13px 10px}.ota-settings{display:flex;flex-direction:column;gap:8px}.setting-field{display:flex;flex-direction:column;gap:5px}.setting-label{color:#6b8fa5;font-size:8.5px;letter-spacing:.4px}.setting-field>.select-field{height:35px}.setting-field .select-label{display:none}.setting-field .select-control select{font-size:10.5px}.package-note{display:flex;align-items:flex-start;gap:5px;padding:5px 7px;border:1px solid rgba(62,142,181,.12);border-radius:4px;background:#071e3166;color:#4e748b;font-size:7.5px;line-height:1.4}.package-note svg{flex-shrink:0;color:#5e9bb5}.package-note span{flex:1}.package-note em{flex-shrink:0;color:#42687f;font-family:var(--font-mono);font-size:7px;font-style:normal}.scope-picker{position:relative;z-index:30}.scope-trigger{display:flex;align-items:center;gap:7px;width:100%;height:35px;padding:0 9px;border:1px solid rgba(63,153,199,.22);border-radius:5px;background:#03142494;color:#bddce9;font-size:10px;text-align:left}.scope-trigger:hover{border-color:#3ddcff66}.scope-trigger-icon{display:inline-flex;color:#5d9cb8}.scope-trigger span:nth-child(2){flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.scope-popover{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:60;min-width:310px;padding:7px;border:1px solid rgba(61,186,235,.3);border-radius:7px;background:linear-gradient(160deg,#082540fc,#03101ffc);box-shadow:0 18px 55px #00040ea6;max-height:350px;overflow-y:auto;animation:popIn .16s ease}.scope-all{display:flex;align-items:center;gap:8px;width:100%;padding:7px 8px;border:1px solid rgba(61,220,255,.12);border-radius:5px;background:#0b355038;text-align:left}.scope-all.is-active{border-color:#3ddcff57;background:#11537b47}.scope-check{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;border:1px solid rgba(63,158,197,.35);border-radius:3px;color:#041827;background:transparent;font-size:8px}.scope-all.is-active .scope-check,.scope-option.is-checked .scope-check{border-color:var(--cyan);background:var(--cyan);box-shadow:0 0 8px #3ddcff59}.scope-all>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1}.scope-all strong{color:#ceeaf5;font-size:10px;font-weight:500}.scope-all small{color:#50768d;font-size:7.5px}.scope-all em{color:#65a3bc;font-family:var(--font-display);font-size:8px;font-style:normal}.scope-divider{display:flex;align-items:center;gap:7px;margin:7px 2px 5px;color:#4e7288;font-size:7.5px}.scope-divider:before,.scope-divider:after{content:"";flex:1;height:1px;background:#397ea024}.scope-groups{display:grid;grid-template-columns:1fr 1fr;gap:7px}.scope-group{display:flex;flex-direction:column;gap:2px}.scope-group-title{padding:2px 5px;color:#557b91;font-size:7.5px}.scope-option{display:flex;align-items:center;gap:5px;height:25px;padding:0 5px;border:0;border-radius:3px;background:transparent;color:#9bbdcf;font-size:8.5px;text-align:left}.scope-option:hover{background:#1a5b7e33}.scope-option small{margin-left:auto;color:#496e84;font-size:7px;white-space:nowrap}.scope-option.is-checked{background:#1a64893b;color:#d2f1fb}.scope-option.is-checked .scope-check{box-shadow:0 0 6px #3ddcff59}.scope-foot{display:flex;align-items:center;justify-content:space-between;margin-top:7px;padding:6px 3px 0;border-top:1px solid rgba(56,126,160,.14);color:#55798f;font-size:7.5px}.scope-foot button{height:22px;padding:0 8px;border:1px solid rgba(61,220,255,.3);border-radius:3px;background:#145a8247;color:#8fdcef;font-size:8px}.scope-summary{display:flex;align-items:center;gap:10px;color:#5f899f;font-size:7.5px;white-space:nowrap}.scope-summary span{display:inline-flex;align-items:center;gap:3px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:34px;padding:5px 0;border-top:1px solid rgba(56,126,160,.1)}.setting-row>div{display:flex;flex-direction:column;gap:2px}.setting-row small{color:#4e748b;font-size:7.5px}.schedule-input{display:flex;align-items:center;gap:6px;height:32px;padding:0 9px;border:1px solid rgba(61,200,240,.27);border-radius:5px;background:#04182999;color:#6da2b9}.schedule-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:#bce5f2;font-family:var(--font-display);font-size:9.5px;color-scheme:dark}.ota-publish-row{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:8px;border-top:1px solid rgba(56,126,160,.1)}.ota-publish-btn{width:100%;height:36px}.publish-hint{display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#4d7187;font-size:7.5px}.publish-confirm{display:flex;flex-direction:column;gap:13px}.publish-version-card{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid rgba(61,220,255,.2);border-radius:7px;background:#08253b75}.publish-version-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;border:1px solid rgba(61,220,255,.24);border-radius:7px;background:#3ddcff12;color:var(--cyan)}.publish-version-card>div{display:flex;flex-direction:column;gap:2px;flex:1}.publish-version-card>div>span{color:#537b92;font-size:8px}.publish-version-card>div>strong{color:#e5faff;font-family:var(--font-display);font-size:18px;font-weight:600}.publish-version-card>div>small{color:#5e849a;font-size:8px}.publish-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.publish-targets{display:flex;flex-wrap:wrap;gap:5px}.publish-targets span{display:inline-flex;align-items:center;gap:3px;height:23px;padding:0 7px;border:1px solid rgba(61,188,231,.1);border-radius:3px;background:#0c324c66;color:#89b8cc;font-family:var(--font-display);font-size:8px}.publish-warning{display:flex;gap:8px;padding:9px 10px;border:1px solid rgba(255,181,46,.19);border-radius:5px;background:#ffb52e0a;color:#d3a95f}.publish-warning svg{flex-shrink:0;margin-top:1px}.publish-warning p{color:#9a8257;font-size:8.5px;line-height:1.6}.ota-detail{display:flex;flex-direction:column;gap:16px}.ota-detail-hero{padding:13px;border:1px solid rgba(61,220,255,.19);border-radius:7px;background:#0720356b}.ota-detail-hero--success{border-color:#25e69a40;background:#0a2e2847}.ota-detail-hero--danger{border-color:#ff4d6140;background:#34111957}.ota-detail-progress{display:flex;align-items:center;gap:10px;margin-bottom:10px}.ota-detail-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border:1px solid rgba(61,220,255,.24);border-radius:7px;background:#3ddcff12;color:var(--cyan)}.ota-detail-hero--success .ota-detail-icon{border-color:#25e69a4d;color:var(--green);background:#25e69a12}.ota-detail-hero--danger .ota-detail-icon{border-color:#ff4d614d;color:var(--red);background:#ff4d6112}.ota-detail-progress>div{display:flex;flex-direction:column;gap:1px}.ota-detail-progress>div>span{color:#527b92;font-family:var(--font-mono);font-size:7.5px}.ota-detail-progress>div>strong{color:#e8fbff;font-family:var(--font-display);font-size:24px;font-weight:600}.ota-detail-progress>div>small{color:#698fa3;font-size:8.5px}.ota-detail-step-label{margin-top:6px;color:#527f96;font-size:8px}.ota-error-box{display:flex;gap:7px;margin-bottom:10px;padding:8px 9px;border:1px solid rgba(255,77,97,.2);border-radius:5px;background:#ff4d610d;color:#ce7984}.ota-error-box svg{flex-shrink:0}.ota-error-box p{color:#b8848b;font-size:8.5px;line-height:1.55}.ota-steps{display:flex;flex-direction:column}.ota-steps li{position:relative;display:flex;align-items:flex-start;gap:9px;min-height:46px}.ota-step-dot{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;flex-shrink:0;border:1px solid rgba(61,134,166,.3);border-radius:50%;background:#071d31;color:#547a90;font-family:var(--font-display);font-size:8px}.ota-steps li.done .ota-step-dot{border-color:#25e69a73;background:#25e69a1a;color:var(--green)}.ota-steps li.active .ota-step-dot{border-color:#3ddcff66;color:var(--cyan)}.ota-steps li.error .ota-step-dot{border-color:#ff4d6166;color:var(--red)}.ota-step-line{position:absolute;left:10px;top:21px;bottom:0;width:1px;background:#397fa033}.ota-steps li.done .ota-step-line{background:#25e69a40}.ota-steps strong{display:block;color:#a8c9d8;font-size:9.5px;font-weight:500}.ota-steps small{display:block;margin-top:2px;color:#4f748a;font-size:8px}.ota-steps li.active strong{color:var(--cyan)}.ota-safety-list{display:grid;grid-template-columns:1fr 1fr;gap:7px}.ota-safety-list span{display:inline-flex;align-items:center;gap:4px;color:#6e9a91;font-size:8px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:20px;background:#010811bd;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{position:relative;display:flex;flex-direction:column;max-width:calc(100vw - 32px);max-height:88vh;border:1px solid rgba(61,196,244,.33);border-radius:12px;background:linear-gradient(160deg,#08233cfc,#030f1dfc);box-shadow:0 30px 100px #00030ccc,inset 0 1px #80e6ff14;overflow:hidden;animation:modalIn .24s ease}@keyframes modalIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-glow{position:absolute;top:-150px;left:10%;width:60%;height:260px;border-radius:50%;background:#1680ff24;filter:blur(70px);pointer-events:none}.modal-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 13px;border-bottom:1px solid rgba(61,136,173,.12)}.modal-kicker{display:block;margin-bottom:4px;color:#477e9d;font-family:var(--font-display);font-size:7px;letter-spacing:1.8px}.modal-head h2{color:#edfcff;font-size:18px;font-weight:600;letter-spacing:.3px}.modal-head p{margin-top:5px;color:#658ca2;font-size:9.5px}.modal-body{position:relative;padding:16px 22px;overflow-y:auto}.modal-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 22px 16px;border-top:1px solid rgba(61,136,173,.12);background:#03132247}.overlay--drawer{justify-content:flex-end;padding:0}.drawer{display:flex;flex-direction:column;height:100%;max-width:92vw;border-left:1px solid rgba(61,190,236,.32);background:radial-gradient(360px 320px at 100% 0%,rgba(16,104,176,.16),transparent 65%),linear-gradient(160deg,#071e35,#030f1d 68%);box-shadow:-20px 0 70px #00030c9e;animation:drawerIn .26s cubic-bezier(.22,.8,.3,1)}@keyframes drawerIn{0%{transform:translate(100%);opacity:.7}to{transform:translate(0);opacity:1}}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 22px 14px;border-bottom:1px solid rgba(61,136,173,.14)}.drawer-head h2{color:#eafcff;font-size:18px;font-weight:600}.drawer-body{flex:1;min-height:0;padding:16px 20px;overflow-y:auto}.drawer-foot{flex-shrink:0;padding:13px 20px 16px;border-top:1px solid rgba(61,136,173,.15);background:#03111f8c}.toast{position:fixed;top:auto;right:24px;bottom:24px;z-index:600;display:flex;align-items:center;gap:10px;width:340px;max-width:calc(100vw - 32px);padding:12px 12px 12px 13px;border:1px solid rgba(37,230,154,.3);border-radius:7px;background:linear-gradient(160deg,#082835fa,#03121cfa);box-shadow:0 16px 50px #00030c8c;animation:toastIn .25s ease}@keyframes toastIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.toast--warning{border-color:#ffb52e52}.toast--info{border-color:#3ddcff4d}.toast-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;border-radius:50%;background:#25e69a1a;color:var(--green)}.toast--warning .toast-icon{background:#ffb52e1a;color:var(--orange)}.toast--info .toast-icon{background:#3ddcff1a;color:var(--cyan)}.toast-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}.toast-copy strong{color:#d8f7f2;font-size:10.5px;font-weight:500}.toast-copy small{color:#648a91;font-size:8.5px;line-height:1.4}.toast-close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:0;border-radius:3px;background:transparent;color:#547685}.toast-close:hover{color:#d6f4ff;background:#ffffff0f}@media(max-width:1560px){.page-content{padding:15px 17px 20px}.kpi-card{padding:12px 13px;gap:10px}.kpi-value{font-size:27px}.kpi-spark{display:none}.kpi-icon-wrap{width:44px;height:44px}.kpi-icon{width:33px;height:33px}.topbar{padding-right:18px}.topbar-actions{gap:11px}.sidebar{width:202px;flex-basis:202px}.system-clock small{display:none}.system-clock{display:flex;gap:5px;align-items:center}.clock-label{align-self:center}.overview-hero{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.filter-bar .select-field{max-width:170px}.filter-bar-title{width:120px}}@media(max-width:1360px){.page-content{padding:12px 14px 18px}.overview-page,.realtime-page,.alarms-page,.history-page,.ota-page{gap:12px}.kpi-grid,.metric-strip,.alarm-stat-grid,.overview-hero,.alarm-hero,.ota-main,.ota-bottom,.history-overview,.overview-bottom{gap:11px}.kpi-card{min-height:97px;padding:10px 11px}.kpi-label{font-size:10px}.kpi-value{font-size:25px}.kpi-icon-wrap{width:39px;height:39px}.kpi-icon{width:30px;height:30px}.kpi-icon svg{width:19px;height:19px}.kpi-aside .ring-gauge{transform:scale(.86)}.kpi-foot-note,.topbar-demo-action{display:none}.filter-bar{gap:7px;padding:8px 10px}.filter-bar-title{width:104px}.filter-icon{width:27px;height:27px}.filter-bar .select-field{height:36px;min-width:108px;padding:0 7px}.select-label{font-size:8px}.select-control select{font-size:10px}.filter-actions{gap:6px}.neon-btn{height:32px;padding:0 11px;font-size:10.5px}.export-chevron{height:32px}.topology-legend{font-size:7px;gap:8px}.metric-tile{padding:9px 11px;gap:8px}.metric-tile .sparkline{width:76px;height:28px}.realtime-main{height:442px}.panel-head{padding:0 12px}.panel-kicker{font-size:6px}.panel-meta{font-size:8.5px}.history-overview{height:356px}.key-metric-grid{gap:8px}.history-metric{min-height:132px;padding:8px 9px 5px}.history-metric-value strong{font-size:20px}}@media(max-width:1150px){.sidebar{width:74px;flex-basis:74px;padding:16px 9px}.nav-eyebrow,.nav-item>span:nth-child(2),.nav-dot,.sidebar-foot-info{display:none}.nav-item{justify-content:center;padding:0;height:47px}.nav-item.active:after{right:4px}.sidebar-foot{justify-content:center;padding:12px 0 6px}.sidebar-orbit{width:34px;height:34px}.topbar-brand{gap:10px}.brand-copy strong{font-size:17px}.brand-copy small{display:none}.page-heading h1{font-size:16px}.system-live{display:none}.alarm-hero{grid-template-columns:1.55fr 1fr;height:262px}.alert-banner{padding:15px;gap:10px}.alert-banner-icon{width:44px;height:44px}.alert-banner-copy h2{font-size:15px}.alert-banner-copy p{font-size:9px}.alert-meta{font-size:7.5px}.filter-bar-title{display:none}.filter-bar .select-field{min-width:100px}.data-table th:nth-child(4),.data-table td:nth-child(4){min-width:130px}.history-filter-bar .select-field{max-width:150px}.history-filter-bar .filter-actions .neon-btn span{font-size:0}.history-filter-bar .filter-actions .neon-btn span:after{font-size:10px}}@media(max-width:960px){body{overflow:auto}.app-shell{height:auto;min-height:100vh;overflow:visible}.topbar{position:sticky;top:0;height:64px;flex-basis:64px;padding:0 12px}.mobile-menu{display:inline-flex}.brand-copy,.topbar-divider,.page-kicker{display:none}.page-heading h1{font-size:14px}.system-clock,.topbar-sep{display:none}.app-body>.sidebar{display:none}.sidebar-mobile{position:fixed;inset:64px auto 0 0;z-index:200;display:block;width:208px;transform:translate(-100%);transition:transform .22s ease;background:#031222fa;border-right:1px solid rgba(61,170,218,.25);box-shadow:14px 0 40px #00040c80}.sidebar-mobile--open{transform:translate(0)}.sidebar-mobile .sidebar{width:100%;height:100%}.sidebar-mobile .sidebar .nav-eyebrow,.sidebar-mobile .sidebar .nav-item>span:nth-child(2),.sidebar-mobile .sidebar .sidebar-foot-info{display:flex}.sidebar-mobile .nav-item{justify-content:flex-start;padding:0 15px;height:46px}.sidebar-mobile .nav-item.active:after{right:10px}.page-scroll{overflow:visible}.page-content{padding:12px}.kpi-grid,.live-metric-grid,.ota-kpi-grid{grid-template-columns:1fr 1fr}.overview-hero,.alarm-hero,.history-overview,.ota-main,.ota-bottom,.realtime-main{grid-template-columns:1fr;height:auto}.overview-hero{grid-template-rows:300px 340px}.overview-bottom{grid-template-columns:1fr}.realtime-charts{grid-template-rows:220px 220px}.realtime-side{grid-template-rows:310px 210px}.alarm-hero{grid-template-rows:280px 270px}.history-overview{grid-template-rows:340px 340px}.key-metric-grid{grid-template-columns:1fr 1fr}.ota-main{grid-template-rows:290px 290px}.ota-bottom{grid-template-rows:360px auto;height:auto;min-height:0}.filter-bar{flex-wrap:wrap}.filter-bar-title{display:flex;width:100%}.filter-bar .select-field{flex:1 1 42%;max-width:none}.filter-actions{width:100%;margin-left:0;justify-content:flex-end}.device-toolbar{flex-wrap:wrap}.toolbar-divider{display:none}.device-toolbar-actions{margin-left:auto}.realtime-statusbar{flex-wrap:wrap;gap:11px}.statusbar-meta{width:100%;border-top:1px solid rgba(56,126,160,.12);padding-top:7px}.alarm-stat-grid{grid-template-columns:1fr}.data-stat-grid{min-height:270px}.ota-donut{max-height:240px}}@media(max-width:620px){.kpi-grid,.live-metric-grid,.metric-strip,.ota-kpi-grid{grid-template-columns:1fr}.overview-hero{grid-template-rows:280px 330px}.topbar-actions{gap:6px}.notify-trigger-wrap .popover{position:fixed;top:66px;left:12px;right:12px;width:auto}.user-popover{right:10px}.key-metric-grid{grid-template-columns:1fr}.alarm-hero{grid-template-rows:280px auto}.alert-banner{min-height:250px}.alert-banner-copy p{max-width:none}.forecast-foot{flex-wrap:wrap;height:auto;padding:7px 0}.forecast-foot em{width:100%;margin-left:0}.realtime-main{height:auto}.realtime-charts{grid-template-rows:220px 220px}.realtime-side{grid-template-rows:310px 220px}.table-tools{flex-direction:column;align-items:flex-end}.table-search input{width:110px}.pagination-info{display:none}.scope-popover{min-width:270px;left:auto;right:0;width:290px}.scope-groups{grid-template-columns:1fr}.detail-metrics{grid-template-columns:90px 1fr}.detail-metric:last-child{grid-column:span 2}.publish-summary-grid{grid-template-columns:1fr}.toast{right:12px;left:12px;width:auto}}
