:root{color-scheme:dark;--bg: #030813;--panel: rgba(4, 29, 48, .78);--panel-strong: rgba(5, 43, 72, .92);--line: rgba(60, 177, 255, .46);--cyan: #00eaff;--blue: #1d94ff;--green: #21e178;--yellow: #ffd64d;--red: #ff313d;--text: #f4fbff;--muted: #7aaed0}*{box-sizing:border-box}html,body{margin:0;height:100%;background:radial-gradient(ellipse at 50% -6%,rgba(70,157,214,.38),transparent 30%),radial-gradient(ellipse at 50% 40%,rgba(0,132,255,.16),transparent 42%),linear-gradient(rgba(34,118,182,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(34,118,182,.06) 1px,transparent 1px),var(--bg);background-size:auto,40px 40px,40px 40px,auto;color:var(--text);font-family:Microsoft YaHei,PingFang SC,Arial,sans-serif;letter-spacing:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}.login-gate{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 30%,rgba(16,104,142,.14),transparent 52%),#020c18d1;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.login-gate.hidden{display:none}.login-panel{position:relative;width:min(480px,100%);max-height:calc(100dvh - 48px);overflow-y:auto;border:1px solid rgba(100,179,207,.34);border-radius:18px;padding:36px 40px 26px;background:linear-gradient(135deg,rgba(21,84,107,.15),transparent 34%),#071b2d;box-shadow:0 32px 90px #00000080,inset 0 1px #e0f6ff14}.login-panel:before{position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,#00d5e8,#21dc94);content:""}.login-close{position:absolute;top:18px;right:20px;width:44px;height:44px;border:0;border-radius:10px;color:#b5cfdb;background:#73b1cd14;font-size:26px;line-height:1}.login-brand{display:flex;align-items:baseline;gap:12px;margin-bottom:42px}.login-brand span{color:#91d930;font-size:26px;font-weight:900;line-height:1}.login-brand small{color:#86aebf;font-size:var(--console-font-caption);font-weight:700;letter-spacing:.12em}.login-eyebrow{margin:0 0 10px;color:#4bcbd7;font-size:var(--console-font-caption);font-weight:700;letter-spacing:.16em}.login-heading h2{margin:0;color:#f4fbff;font-size:28px;line-height:1.3}.login-heading>p:last-child{margin:10px 0 30px;color:#a1bdca;font-size:var(--console-font-body);line-height:1.6}.login-form{display:grid;gap:10px}.login-form label{margin-top:8px;color:#d5e6ee;font-size:var(--console-font-body);font-weight:600}.login-form input{width:100%;min-width:0;height:48px;border:1px solid rgba(115,171,195,.38);border-radius:10px;padding:0 14px;color:#f4fbff;background:#020f1ba3;outline:none}.login-form input::placeholder{color:#708f9f}.login-form input:focus{border-color:#31cbd6;box-shadow:0 0 0 3px #31cbd62b}.login-password-field{position:relative}.login-password-field input{padding-right:100px}.login-password-toggle{position:absolute;top:2px;right:4px;min-width:88px;height:44px;border:0;border-radius:8px;color:#70dce2;background:transparent;font-size:var(--console-font-caption)}.login-close:hover,.login-password-toggle:hover{color:#fff;background:#4db2ca24}.login-close:disabled{cursor:wait;opacity:.55}.login-close:focus-visible,.login-password-toggle:focus-visible,.login-submit:focus-visible{outline:2px solid #37d8de;outline-offset:2px}.login-error{min-height:19px;margin:3px 0 0;color:#ff9aa2;font-size:var(--console-font-caption);line-height:1.5}.login-submit{height:48px;margin-top:5px;border:0;border-radius:10px;color:#03202d;font-weight:700;background:linear-gradient(100deg,#39d1dc,#36d6a1)}.login-submit:hover:not(:disabled){filter:brightness(1.1)}.login-submit:disabled{cursor:wait;opacity:.7}.login-footer{margin:30px 0 0;padding-top:17px;border-top:1px solid rgba(121,179,201,.17);color:#7899a8;font-size:var(--console-font-caption)}.auth-chip{position:fixed;top:18px;right:30px;z-index:42;display:inline-flex;align-items:center;gap:10px;min-width:0;max-width:220px;height:34px;padding:0 8px 0 12px;border:1px solid rgba(82,192,255,.38);border-radius:6px;color:#cef;background:#041d30d1;box-shadow:0 0 18px #1195d529}.auth-chip[hidden]{display:none}.auth-chip--guest{height:auto;padding:0;border:0;background:transparent;box-shadow:none}.auth-chip span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--console-font-body)}.auth-chip span[hidden]{display:none}.auth-chip button{flex:0 0 auto;height:24px;border:1px solid rgba(125,204,255,.36);border-radius:4px;color:#8bd6ff;background:#072a44db}.auth-chip .notification-action{position:relative;min-width:28px;padding:0 6px}.auth-chip .notification-action[hidden]{display:none}.auth-chip .notification-action [data-ticket-notification-badge]{position:absolute;top:-7px;right:-7px;min-width:22px;height:22px;display:grid;place-items:center;padding:0 4px;overflow:visible;border-radius:9px;color:#fff;background:var(--console-danger);font-size:var(--console-font-caption);line-height:1}.auth-chip .notification-action [data-ticket-notification-badge][hidden]{display:none}@media(max-width:760px){.login-gate{display:block;padding:0;overflow-y:auto;background:#061a2c;-webkit-backdrop-filter:none;backdrop-filter:none}.login-gate.hidden{display:none}.login-panel{display:flex;flex-direction:column;width:100%;min-height:100dvh;max-height:none;padding:max(28px,env(safe-area-inset-top)) 24px max(24px,env(safe-area-inset-bottom));overflow:visible;border:0;border-radius:0;box-shadow:none}.login-panel:before{inset:0 0 auto;width:auto;height:3px;background:linear-gradient(90deg,#00d5e8,#21dc94)}.login-close{top:max(20px,env(safe-area-inset-top));right:20px}.login-heading{margin-top:clamp(40px,10vh,100px)}.login-footer{margin-top:auto;padding-top:36px}.auth-chip{position:absolute;top:34px;right:12px;max-width:160px}}.app-shell{height:100vh;padding:0 30px;overflow:hidden}.topbar{height:68px;display:grid;grid-template-columns:90px 160px minmax(520px,1fr) 430px;align-items:start;gap:18px;position:relative;z-index:20;background:transparent}.topbar:before{content:"";position:absolute;inset:0 -30px -18px;z-index:-1;background:url(/moro_ems/assets/lanhu-header-shell-CPHnw_QM.png) center -24px / 1860px 92px no-repeat,linear-gradient(180deg,rgba(25,67,103,.58),rgba(13,42,72,.3) 54%,transparent 100%);filter:drop-shadow(0 14px 24px rgba(0,0,0,.26));pointer-events:none}.brand{padding-top:12px;color:#93dc35;font-weight:800;text-align:center}.brand-mark{font-size:26px;line-height:24px}.brand-name{color:#fff;font-size:var(--console-font-body);letter-spacing:3px}.timebox{padding-top:7px;color:#8cbde1}.timebox strong{display:block;color:#bfe8ff;font-size:24px;line-height:30px}.timebox span{font-size:var(--console-font-body)}.title-frame{--title-frame-height: 56px;--title-h1-size: clamp(25px, 1.75vw, 31px);--title-h1-line: 1.18;--title-sub-size: 9px;--title-sub-spacing: 7px;height:var(--title-frame-height);position:relative;display:grid;align-content:center;justify-items:center;isolation:isolate;min-width:0;overflow:visible;padding:4px 102px 7px;text-align:center;background:linear-gradient(90deg,transparent 0%,rgba(11,53,88,.58) 11%,rgba(20,92,137,.7) 50%,rgba(11,53,88,.58) 89%,transparent 100%),linear-gradient(180deg,#9adcff2e,#00c7ff0a 54%,#000c1c1f);border-top:1px solid rgba(126,213,255,.58);border-bottom:2px solid rgba(128,207,255,.72);box-shadow:inset 0 1px #e3faff24,inset 0 -10px 24px #00d6ff14,0 10px 22px #0000002e}.title-frame:before,.title-frame:after{content:"";position:absolute;top:9px;bottom:9px;z-index:-1;width:84px;height:auto;border-top:3px solid rgba(110,198,255,.72);border-bottom:1px solid rgba(110,198,255,.36);transform:skew(-14deg);opacity:.78;background:linear-gradient(90deg,rgba(34,141,205,.36),transparent)}.title-frame:before{left:28px;border-left:3px solid rgba(110,198,255,.72)}.title-frame:after{right:28px;border-right:3px solid rgba(110,198,255,.72);background:linear-gradient(270deg,rgba(34,141,205,.36),transparent)}.title-frame h1{margin:0;max-width:100%;overflow:visible;font-size:var(--title-h1-size);line-height:var(--title-h1-line);font-weight:900;position:relative;z-index:1;white-space:nowrap;text-shadow:0 0 12px rgba(109,199,255,.86),0 2px 0 rgba(0,31,62,.42)}.title-frame small{display:block;max-width:100%;overflow:visible;color:#dff4ff;font-size:var(--title-sub-size);letter-spacing:var(--title-sub-spacing);line-height:1.4;position:relative;z-index:1;white-space:nowrap}.top-actions{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding-top:9px}.top-actions button{min-width:32px;height:32px;border:1px solid transparent;color:#82c9ff;background:transparent}.top-actions .pill{width:44px;height:44px;border-radius:50%;font-size:var(--console-font-caption);font-weight:800}.pill.warning{color:#ffad43;border-color:#ffad43;box-shadow:0 0 12px #ff91228c}.pill.ok{color:#34ee54;border-color:#34ee54;box-shadow:0 0 12px #34ee5473}.user{color:#7dbbe5;font-size:var(--console-font-body)}.main-nav{height:56px;display:flex;justify-content:center;gap:30px;margin-top:0;position:relative;z-index:19}.nav-item-wrap{position:relative;min-width:165px;height:42px}.nav-item-wrap>.nav-item{width:100%}.nav-item{min-width:165px;height:42px;border:1px solid rgba(77,161,230,.42);border-top:0;border-radius:0 0 5px 5px;color:#65a9d8;background:linear-gradient(180deg,#083052a8,#051426b8);clip-path:polygon(8% 0,92% 0,100% 100%,0 100%);font-size:18px}.nav-item.active{color:#dff8ff;text-shadow:0 0 12px var(--cyan);background:linear-gradient(180deg,#1381cde6,#062f52f0);box-shadow:inset 0 -4px 14px #00eaff52}.nav-submenu{position:absolute;left:50%;top:41px;z-index:30;display:grid;width:135px;padding:7px 0 10px;transform:translate(-50%);border:1px solid rgba(0,181,230,.46);border-top:0;background:linear-gradient(180deg,#042a49fa,#03172afa);box-shadow:0 16px 34px #00000057,inset 0 0 20px #00b4ff14;opacity:0;pointer-events:none;transform-origin:top center}.nav-submenu:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:3px;background:linear-gradient(90deg,transparent,var(--cyan),transparent)}.nav-submenu button{height:30px;border:0;color:#d6ecff;background:transparent;font-size:var(--console-font-body)}.nav-submenu button:first-child{color:var(--cyan);font-weight:800}.nav-submenu button:hover{color:#fff;background:#00eaff1f}.nav-item-wrap--ems:hover .nav-submenu,.nav-item-wrap--ems:focus-within .nav-submenu,.nav-item-wrap--ems .nav-item.active+.nav-submenu{opacity:1;pointer-events:auto}main{position:relative}.view{display:none}.view.active{display:block}.dashboard-grid{height:calc(100vh - 124px);position:relative;overflow:hidden}.side-stack{position:absolute;top:0;bottom:0;z-index:3;width:440px;display:flex;flex-direction:column;gap:12px}.side-stack:first-child{left:0}.side-stack:last-child{right:0}.side-stack:first-child .panel:not(.chart-panel){flex:1 1 0;min-height:0;padding:44px 14px 12px}.panel{position:relative;border:1px solid rgba(0,204,204,.5);background:linear-gradient(90deg,#031323e0,#051f37b3 54%,#020f1dc7),linear-gradient(rgba(36,118,180,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(36,118,180,.035) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px;box-shadow:inset 0 0 30px #0064c80d,0 0 18px #00a1ff14;padding:48px 24px 20px;overflow:hidden}.panel:before,.table-frame:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--cyan),var(--cyan)) 0 0 / 16px 2px no-repeat,linear-gradient(var(--cyan),var(--cyan)) 0 0 / 2px 16px no-repeat,linear-gradient(var(--cyan),var(--cyan)) 100% 0 / 16px 2px no-repeat,linear-gradient(var(--cyan),var(--cyan)) 100% 0 / 2px 16px no-repeat,linear-gradient(var(--cyan),var(--cyan)) 0 100% / 16px 2px no-repeat,linear-gradient(var(--cyan),var(--cyan)) 0 100% / 2px 16px no-repeat,linear-gradient(var(--cyan),var(--cyan)) 100% 100% / 16px 2px no-repeat,linear-gradient(var(--cyan),var(--cyan)) 100% 100% / 2px 16px no-repeat;opacity:.75}[data-dashboard-global-alarms]{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}[data-dashboard-global-alarms]:hover,[data-dashboard-global-alarms]:focus-visible{outline:none;border-color:#12f2a1e6;box-shadow:inset 0 0 30px #12f2a114,0 0 22px #12f2a133;transform:translateY(-1px)}.panel-link-hint{margin-left:8px;color:#baf0ffb8;font-size:var(--console-font-caption);font-weight:500;text-shadow:none}.panel h2,.table-title{position:absolute;top:6px;left:0;min-width:min(440px,100%);height:38px;margin:0;padding:7px 38px 0 54px;font-size:18px;color:#fff;background:url(/moro_ems/assets/lanhu-panel-title-BPNJyod0.png) left top / 100% 100% no-repeat,linear-gradient(90deg,rgba(0,128,196,.95),rgba(3,62,106,.75),transparent);text-shadow:0 0 10px rgba(0,234,255,.9);white-space:nowrap}.chart-panel{height:322px;display:flex;flex-direction:column;border-color:transparent;background:linear-gradient(180deg,#000a1614,#000f1e33),linear-gradient(90deg,rgba(3,18,32,.3),rgba(4,31,52,.18),transparent);box-shadow:none;padding:48px 4px 4px 0}.chart-panel:before{opacity:0}.chart-panel h2{left:0;min-width:440px}.trend-toolbar{flex:0 0 auto;display:flex;align-items:center;gap:8px;margin:2px 8px 0 18px;min-height:30px}.trend-segments{display:inline-grid;grid-template-columns:repeat(3,34px);gap:2px;padding:2px;border:1px solid rgba(95,214,255,.28);background:#03162794}.trend-segments button{height:24px;border:0;color:#e8fbffc2;background:transparent;font-size:var(--console-font-caption);font-weight:800;cursor:pointer}.trend-segments button.active{color:#031626;background:#12f2a1;box-shadow:0 0 10px #12f2a166}.trend-period-input{width:116px;height:30px;border:1px solid rgba(95,214,255,.36);background:#031627bd;color:#e8fbff;padding:0 8px;font-size:var(--console-font-caption);font-weight:700}.chart-panel .unit{flex:0 0 auto;margin-left:0;margin-top:2px;margin-bottom:0;padding-left:18px;color:#e8fbffeb;font-weight:600}.unit{color:#fff;font-size:var(--console-font-body);margin-bottom:4px}.line-chart{flex:1 1 auto;width:100%;min-height:0;overflow:visible}.trend-grid line{stroke:#7ac7f42e;stroke-width:1}.trend-zero line{stroke:#ffffff57;stroke-dasharray:4 4;stroke-width:1}.trend-zero text{fill:#e8fbffad;font-size:var(--console-font-caption);font-weight:700}.trend-area{fill:url(#greenFill)}.trend-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.trend-line--power{stroke:#12f2a1;stroke-width:3;filter:drop-shadow(0 0 5px rgba(18,242,161,.68))}.trend-line--load{stroke:#4db9ff;stroke-width:2;stroke-dasharray:6 5;opacity:.82}.trend-dot{fill:#12f2a1;stroke:#ffffffb8;stroke-width:1}.trend-hover-hit{cursor:crosshair;fill:transparent;pointer-events:all}.trend-hover-details{opacity:0;pointer-events:none;transition:opacity .16s ease}.trend-hover-target:hover .trend-hover-details{opacity:1}.trend-hover-line{stroke:#e8fbff7a;stroke-dasharray:4 5;stroke-width:1}.trend-hover-dot{fill:#e8fbfff5;stroke-width:2}.trend-hover-dot--power{stroke:#12f2a1}.trend-hover-dot--load{stroke:#4db9ff}.trend-tooltip rect{fill:#021323f0;stroke:#5fd6ff85;stroke-width:1}.trend-tooltip text{fill:#e8fbfff0;font-size:var(--console-font-caption);font-weight:600}.trend-tooltip tspan:first-child{fill:#12f2a1;font-size:var(--console-font-caption);font-weight:800}.trend-value-label{fill:#e8fbff;font-size:var(--console-font-body);font-weight:700;paint-order:stroke;stroke:#010d19d1;stroke-linejoin:round;stroke-width:4px}.trend-axis text,.trend-legend text{fill:#c3d8e8;font-size:var(--console-font-caption)}.trend-legend text{font-weight:600}.trend-axis text{text-anchor:middle}.trend-axis text:first-child,.trend-axis text:nth-child(2){text-anchor:start}.trend-empty{fill:#a9c3d8;font-size:24px;font-weight:700}.mini-status{display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center}.donut{width:112px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#07131f 0 53%,transparent 54%),conic-gradient(var(--cyan) calc(var(--p) * 1%),rgba(96,166,205,.26) 0 100%)}.side-stack:first-child .panel:not(.chart-panel) .mini-status{grid-template-columns:138px 1fr;gap:10px}.side-stack:first-child .panel:not(.chart-panel) .donut{width:104px}.side-stack:first-child .panel:not(.chart-panel) .bars{gap:6px}.side-stack:first-child .panel:not(.chart-panel) .bars label{font-size:var(--console-font-body)}.donut.alert{background:radial-gradient(circle,#07131f 0 53%,transparent 54%),conic-gradient(var(--red) calc(var(--p) * 1%),rgba(96,166,205,.26) 0 100%)}.donut.ticket{background:radial-gradient(circle,#07131f 0 53%,transparent 54%),conic-gradient(var(--yellow) calc(var(--p) * 1%),rgba(96,166,205,.26) 0 100%)}.donut span{display:grid;place-items:center;color:#fff;font-weight:800}.donut small{font-size:var(--console-font-caption);font-weight:400}.bars{display:grid;gap:8px}.bars label{display:flex;justify-content:space-between;color:#fff;font-size:var(--console-font-body)}progress{width:100%;height:5px;border:0;background:#ffffff29}progress::-webkit-progress-value{background:var(--cyan)}progress::-webkit-progress-bar{background:#ffffff29}.cyan{color:var(--cyan)}.yellow{color:var(--yellow)}.blue{color:var(--blue)}.red{color:var(--red)}.map-stage{position:absolute;inset:0 470px 24px;z-index:1;min-width:0}.map-stage>*{position:relative;z-index:1}.world-map-shell{position:absolute;left:-740px;top:-28px;width:1504px;height:725px;z-index:0;filter:saturate(1.02) contrast(1.04) brightness(.92)}.world-map-shell:after{content:"";position:absolute;inset:-160px;background:radial-gradient(ellipse at 50% 48%,rgba(26,179,255,.08),transparent 50%),radial-gradient(ellipse at 50% 108%,rgba(0,6,14,.78),transparent 52%),linear-gradient(90deg,rgba(2,11,24,.72),transparent 12%,transparent 88%,rgba(2,11,24,.72));pointer-events:none}.world-map{position:absolute;inset:0;z-index:1}.map-empty{position:absolute;left:50%;top:48%;z-index:2;transform:translate(-50%,-50%);padding:10px 18px;border:1px dashed rgba(143,216,255,.36);color:#a9c3d8;background:#031423d1;pointer-events:none}.map-empty.hidden{display:none}.summary-panel{position:absolute;left:0;right:0;bottom:0;min-height:150px;padding:42px 16px 12px}.summary-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.data-sync-status{display:flex;align-items:center;min-height:28px;max-width:100%;margin:-2px 0 8px auto;padding:6px 10px;border:1px solid rgba(255,203,87,.42);color:#ffe6a4;background:#492c0575;font-size:var(--console-font-caption);font-weight:700;line-height:16px;box-shadow:inset 0 0 18px #ffb54714}.data-sync-status[hidden]{display:none}.data-sync-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-health-status{display:flex;align-items:center;gap:8px;max-width:100%;margin:-2px 0 8px auto;font-size:var(--console-font-caption);line-height:18px}.site-health-status[hidden]{display:none}.site-health-status b{flex:0 0 auto;padding:2px 7px;border:1px solid rgba(78,226,179,.44);color:#a8ffe2;background:#0c4e3f80}.site-health-status span{min-width:0;overflow:hidden;color:#b8d8e8;text-overflow:ellipsis;white-space:nowrap}.site-health-status[data-site-health=degraded] b,.site-health-status[data-site-health=unavailable] b{border-color:#ffcb576b;color:#ffe6a4;background:#492c0575}.table-sync-error{margin:10px 16px 0;padding:8px 10px;border:1px solid rgba(255,203,87,.38);color:#ffe6a4;background:#492c0566;font-size:var(--console-font-caption)}.summary-group{display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:7px;min-width:0;padding:0 14px;border-right:1px solid rgba(83,185,240,.16)}.summary-group:last-child{border-right:0}.summary-list strong{margin-bottom:2px;color:#fff;font-size:17px;line-height:22px;text-shadow:0 0 10px rgba(0,234,255,.42)}.summary-list span{display:grid;gap:3px;min-width:0;color:#9ed0ed;font-size:var(--console-font-caption);line-height:17px}.summary-list b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--yellow);font-size:18px;line-height:22px}.summary-list [data-summary-metric=power],.summary-list [data-summary-metric=online-devices],.summary-list [data-summary-metric=max-temp],.summary-list [data-summary-metric=revenue]{font-size:19px}.summary-list [data-summary-metric=active-mode],.summary-list [data-summary-metric=current-window],.summary-list [data-summary-metric=next-change]{max-width:100%}.summary-list strong,.summary-list span,.summary-list b{min-width:0}.rank-panel{min-height:320px;flex:1 1 320px}.device-status-panel{display:flex;min-height:0;flex:1 1 0;flex-direction:column;padding:44px 14px 12px}.site-live-card,.device-live-list{display:grid}.site-overview-switcher{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 22px 0}.site-overview-option{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:34px;padding:6px 9px;border:1px solid rgba(77,161,230,.36);color:#9ed0ed;background:#04253fb3;text-align:left;cursor:pointer;transition:border-color .16s ease,color .16s ease,background .16s ease,box-shadow .16s ease}.site-overview-option b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--console-font-body)}.site-overview-option span{width:7px;height:7px;border-radius:50%;background:#62deb4;box-shadow:0 0 8px #62deb49e}.site-overview-option span[data-site-overview-status=异常],.site-overview-option span[data-site-overview-status=离线]{background:#ffcb57;box-shadow:0 0 8px #ffcb578f}.site-overview-option span[data-site-overview-status=未知]{background:#7893a8;box-shadow:none}.site-overview-option:hover,.site-overview-option:focus-visible{border-color:#00e5ff9e;color:#fff;background:#005f9647;outline:none}.site-overview-option.is-active{border-color:#00e5ffb8;color:#f2fdff;background:#007db457;box-shadow:inset 3px 0 0 var(--cyan),inset 0 0 16px #00e5ff14}.site-overview-option:disabled{cursor:wait;opacity:.58}@media(max-width:1280px){.site-overview-switcher{margin-right:10px;margin-left:10px}}@media(max-width:760px){.site-overview-switcher{gap:4px;margin-top:6px;margin-right:6px;margin-left:6px}.site-overview-option{gap:4px;padding-right:6px;padding-left:6px}}.site-live-card{flex:0 0 auto;grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);gap:10px;align-items:stretch;width:calc(100% - 44px);margin:8px 22px 10px;padding:10px 12px;border:1px solid rgba(0,221,255,.38);color:inherit;text-align:left;background:#00508238;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.site-live-card:hover,.site-live-card:focus-visible{border-color:#00e5ff9e;background:#005f964d;box-shadow:inset 0 0 18px #00e5ff14}.site-live-card:focus-visible{outline:2px solid rgba(0,229,255,.72);outline-offset:2px}.site-live-card>div,.site-live-card dl,.site-live-card b,.site-live-card span,.site-live-card dd{min-width:0}.site-live-card>div{display:grid;gap:4px;align-content:center}.site-live-card b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e6f7ff;font-size:15px}.site-live-card span{color:#9ed0ed}.site-live-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}.site-live-card dl div{min-width:0}.site-live-card dt{margin-bottom:2px;color:#9ed0edc2;font-size:var(--console-font-caption)}.site-live-card dd{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--yellow);font-weight:700}.device-live-list{min-height:0;flex:1 1 auto;gap:8px;padding:0 22px 16px;overflow-y:auto;scrollbar-width:thin}.device-live-list::-webkit-scrollbar{width:6px}.device-live-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 14px;align-items:start;width:100%;padding:10px 12px;border:1px solid rgba(83,185,240,.22);color:inherit;text-align:left;background:#0088cc1a;cursor:pointer;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.device-live-card:hover,.device-live-card:focus-visible{border-color:#00e5ff94;background:#0088cc2e;box-shadow:inset 0 0 18px #00e5ff14}.device-live-card:focus-visible{outline:2px solid rgba(0,229,255,.72);outline-offset:2px}.device-live-card header{display:flex;grid-column:1 / -1;min-width:0;align-items:center;justify-content:space-between;gap:10px}.device-live-card b,.device-live-card span{min-width:0;overflow:hidden;text-overflow:ellipsis}.device-live-card b{white-space:nowrap;color:#e6f7ff;font-size:var(--console-font-body)}.device-live-card span{display:grid;gap:2px;color:#9ed0ed;line-height:1.35}.device-live-card small{color:#9ed0edb8;font-size:var(--console-font-caption)}.device-live-card em{flex:0 0 auto;font-style:normal}.alarm-panel{flex:0 0 264px}.side-stack:last-child .alarm-panel:last-child{flex-basis:226px}.rank{position:relative;display:grid;grid-template-columns:48px 1fr 80px;gap:8px;align-items:center;margin:9px 0 16px}.rank b{background:var(--red);padding:4px 6px}.rank em{color:var(--red);font-style:normal;text-align:right}.rank i{position:absolute;left:8px;right:0;bottom:-10px;height:9px;background:var(--red);box-shadow:0 0 12px currentColor}.rank.yellow b,.rank.yellow i{background:var(--yellow)}.rank.yellow em{color:var(--yellow)}.rank.cyan b,.rank.cyan i{background:#00cbd4}.rank.cyan em{color:#00e8f4}.rank.blue b,.rank.blue i{background:#3a82ba}.rank.blue em{color:#d8e5f0}.empty-state{display:grid;place-items:center;min-height:210px;border:1px dashed rgba(143,216,255,.3);color:#a9c3d8;background:#00375c1f}.alert-list{margin:0;padding:0;list-style:none}.alert-list li{display:flex;align-items:center;gap:14px;min-height:39px;border-bottom:1px solid rgba(218,238,255,.2)}.alert-list .empty-item{justify-content:center;min-height:92px;color:#a9c3d8;border:1px dashed rgba(143,216,255,.24);background:#00375c1a}.alert-list .ticket-copy,.alert-list .alarm-copy{display:grid;min-width:0;gap:2px}.alert-list .ticket-copy b,.alert-list .ticket-copy small,.alert-list .alarm-copy b,.alert-list .alarm-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alert-list .ticket-copy small,.alert-list .alarm-copy small,.alert-list .ticket-more,.alert-list .alarm-more{color:#a9c3d8}.alert-list .ticket-more,.alert-list .alarm-more{justify-content:center}.tag{min-width:74px;padding:3px 12px;text-align:center;color:#0c1722;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}.tag.red{background:var(--red);color:#070c12}.tag.yellow{background:#d6aa43;color:#07101a}.field label{display:block;margin-bottom:8px;font-weight:700;color:var(--console-heading);font-size:18px}.field input,.field select,.field-select>button{width:100%;height:44px;padding:0 24px;border:1px solid rgba(230,248,255,.9);border-radius:8px;color:var(--console-heading);background:var(--console-surface);box-shadow:none}.field-select{position:relative}.field-select>button{display:flex;align-items:center;justify-content:space-between}.field-select>button i{color:var(--cyan);font-style:normal}.filter-menu{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:12;display:none;padding:8px;border:1px solid var(--console-line);border-radius:8px;background:var(--console-surface);box-shadow:none}.field-select.open .filter-menu{display:grid}.filter-menu button{height:36px;border:0;border-radius:6px;color:var(--console-muted);text-align:left;background:transparent;padding:0 12px}.filter-menu button:hover,.filter-menu button.selected{color:var(--console-heading);background:var(--console-selected)}.btn-primary,.btn-ghost,.icon-btn{border:0;border-radius:4px;color:#fff;background:var(--console-accent);box-shadow:none}.btn-primary{min-width:114px;height:46px;border:1px solid var(--console-line)}.btn-primary,.btn-ghost{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1}.btn-ghost{height:44px;padding:0 18px;justify-self:end;border:1px solid var(--console-line);background:var(--console-raised);color:var(--cyan)}.btn-ghost[data-audit-log]{min-width:132px}.status-online{color:var(--cyan)}.status-offline{color:var(--red)}.status-unknown,.data-table td.status-unknown{color:var(--console-muted)}.icon-btn{width:25px;height:25px;margin:0 3px;color:var(--console-heading);display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;transition:filter .15s ease,transform .15s ease}.icon-btn svg{width:15px;height:14px;display:block}.icon-btn.green{background:var(--console-raised)}.icon-btn:hover{filter:brightness(1.12);transform:translateY(-1px)}.row-more{position:relative;display:inline-block}.row-actions-more{display:inline-block;opacity:0;width:0;pointer-events:none}.row-menu{position:absolute;right:0;top:32px;z-index:8;display:none;width:118px;padding:6px;border:1px solid var(--console-line);background:var(--console-surface);box-shadow:none}.row-more.open .row-menu{display:grid;gap:4px}.row-menu button{height:30px;text-align:left;padding:0 9px}.row-menu button:hover,.table-toolbar button:hover,.pagination button:hover{color:var(--console-heading);border-color:var(--console-control-line);background:var(--console-selected)}.page-view.table-view .table-screen{height:auto;min-height:0;min-width:0}.page-view.table-view .table-frame{position:relative;height:auto;min-height:0;display:flex;flex-direction:column;gap:var(--console-section-gap);padding:0;overflow:visible;border:0;border-radius:0;background:transparent}.page-view.table-view .table-frame:before,.page-view.table-view .table-frame:after{display:none}.list-heading{display:flex;justify-content:space-between;flex-wrap:wrap;align-items:center;gap:14px;min-height:64px}.list-title-line{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin-bottom:6px}.list-heading h1{font-size:23px;line-height:1.4;margin:0;color:var(--console-heading)}.list-heading p{color:var(--console-muted);font-size:var(--console-font-caption);line-height:1.7;margin:0}.list-heading .list-eyebrow{color:var(--console-muted);border:1px solid var(--console-line);border-radius:4px;padding:2px 7px;font-size:var(--console-font-caption);line-height:1.6}.list-site-select{display:grid;gap:6px;min-width:200px;color:var(--console-muted);font-size:var(--console-font-caption);max-width:100%}.list-site-select select{color:var(--console-muted);border:1px solid var(--console-control-line);border-radius:5px;background:var(--console-surface);padding:8px 10px;width:100%;min-width:0;height:var(--console-control-height)}.page-view.table-view .kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0}.page-view.table-view .kpi{position:static;clip-path:none;display:grid;align-content:center;gap:8px;background:var(--console-raised);border:1px solid var(--console-control-line);border-radius:6px;padding:var(--console-panel-padding);min-height:92px;text-align:left}.page-view.table-view .kpi:before,.page-view.table-view .kpi:after{display:none}.page-view.table-view .kpi b{grid-row:2;font-size:26px;font-variant-numeric:tabular-nums;color:var(--console-muted);line-height:1.3}.page-view.table-view .kpi span{grid-row:1;text-align:left;font-size:var(--console-font-caption);color:var(--console-muted)}.page-view.table-view .filters{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:var(--console-panel-padding);border:1px solid var(--console-control-line);border-radius:6px;background:var(--console-surface);align-items:flex-end}.page-view.table-view .filter-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,220px));gap:12px;flex:1 1 440px;min-width:0}.page-view.table-view .filters .field{width:auto;min-width:0;margin:0}.page-view.table-view .field label{font-size:var(--console-font-caption);color:var(--console-muted);margin:0 0 7px}.page-view.table-view .field :is(input,select),.page-view.table-view .field-select>button{height:var(--console-control-height);width:100%;min-width:0;font-size:var(--console-font-body);color:var(--console-muted);background:var(--console-surface);border:1px solid var(--console-control-line);border-radius:5px;padding:8px 10px}.page-view.table-view .filter-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:end;gap:8px;margin:0 0 0 auto;padding:0}.page-view.table-view :is(.btn-primary,.btn-ghost){min-width:0;height:var(--console-control-height);min-height:var(--console-control-height);padding:6px 10px;font-size:var(--console-font-caption);white-space:normal}.page-view.table-view .filter-menu{z-index:20}.list-result-scope,.list-note{margin:0;font-size:var(--console-font-caption);color:var(--console-muted);line-height:1.8}.page-view.table-view .table-scroll{min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:thin;border:1px solid var(--console-line);border-radius:var(--console-radius-panel);background:var(--console-surface)}.page-view.table-view .data-table{display:table;width:100%;min-width:940px;table-layout:auto;border-collapse:collapse;margin:0;font-size:var(--console-font-caption)}.page-view.table-view .data-table th{background:var(--console-raised);color:var(--console-muted);font-weight:500;text-align:left;padding:12px 10px;white-space:nowrap}.page-view.table-view .data-table td{text-align:left;padding:13px 10px;border-bottom:1px solid var(--console-control-line);color:var(--console-muted);max-width:220px;white-space:normal;overflow-wrap:anywhere;line-height:1.7;vertical-align:middle;font-variant-numeric:tabular-nums}.page-view.table-view .data-table :is(th,td).list-numeric{text-align:right}.page-view.table-view .data-table tbody tr:last-child td{border-bottom:0}.page-view.table-view .data-table td b{color:var(--console-heading);font-size:var(--console-font-body);font-weight:600;display:block}.page-view.table-view .data-table td small{display:block;color:var(--console-muted);font-size:var(--console-font-caption);line-height:1.7}.page-view.table-view .data-table tbody tr:hover{background:var(--console-selected)}.page-view.table-view .data-table td.status-offline{color:var(--console-danger)}.page-view.table-view .data-table td.status-online{color:var(--console-muted)}.page-view.table-view .table-row-actions{min-width:230px;text-align:left}.list-actions,.observation-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.page-view.table-view .list-actions>:is(button,.row-more){display:inline-flex;vertical-align:middle;margin:0}.page-view.table-view .table-row-actions .icon-btn{width:auto;height:var(--console-control-height);min-height:var(--console-control-height);min-width:0;padding:5px 9px;gap:4px;color:var(--console-muted);background:var(--console-raised);border:1px solid var(--console-control-line);border-radius:5px;box-shadow:none}.page-view.table-view .mobile-action-label{display:inline;font-size:var(--console-font-caption)}.page-view.table-view .icon-btn svg{width:12px;height:12px}.page-view.table-view .row-menu{right:0;left:auto;z-index:25}.page-view.table-view .table-empty{display:none;padding:30px 15px;border:1px dashed var(--console-control-line);border-radius:6px;text-align:center;gap:8px}.page-view.table-view .is-empty .table-empty{display:grid}.page-view.table-view .table-empty b{color:var(--console-muted);font-size:var(--console-font-body)}.page-view.table-view .table-empty span{color:var(--console-muted);font-size:var(--console-font-caption)}.page-view.table-view .pagination{position:static;display:flex;align-items:center;justify-content:end;flex-wrap:wrap;gap:8px;margin:0;padding:0;height:auto;color:var(--console-muted);font-size:var(--console-font-caption)}.page-view.table-view .pagination :is(button,select){color:var(--console-muted);border:1px solid var(--console-control-line);border-radius:4px;background:var(--console-surface);padding:4px 8px;min-height:30px}.page-view.table-view .pagination button.active{background:var(--console-selected);color:var(--console-muted);border-color:var(--console-accent)}.page-view.table-view .pagination button[disabled]{opacity:.35}.page-view.table-view .page-size{display:flex;align-items:center;gap:6px}.page-view.table-view .pagination em{font-style:normal}.page-view.table-view .pagination>span:first-child{margin-right:auto}.mobile-table-filter-toggle{display:none}.table-sync-error{color:var(--console-warning);background:#fff1ef;border:1px solid #80563e;border-radius:5px;padding:10px 12px;font-size:var(--console-font-caption)}.operations-context>p{color:var(--console-muted);margin:0 0 12px;font-size:var(--console-font-caption);line-height:1.8}.operations-context small{color:var(--console-muted);margin-left:6px}.operations-tabs{display:flex;flex-wrap:wrap;gap:7px;border:1px solid var(--console-line);border-radius:var(--console-radius-panel);background:var(--console-surface);padding:12px}.operations-tabs button,.operations-alarm-panel .alarm-lifecycle-controls button{color:var(--console-muted);border:1px solid var(--console-control-line);border-radius:5px;background:var(--console-raised);padding:7px 12px;font-size:var(--console-font-caption);min-height:var(--console-control-height)}.operations-tabs button.active,.operations-alarm-panel button.active{background:var(--console-selected);color:var(--console-muted);border-color:var(--console-accent)}.operations-alarm-panel .overview-cards{grid-template-columns:repeat(4,minmax(0,1fr))}.operations-alarm-panel .overview-cards>div{background:var(--console-raised);padding:14px}.operations-alarm-panel .alarm-query-card{background:var(--console-raised);border-color:var(--console-line)}.operations-alarm-panel .alarm-query-details{grid-template-columns:repeat(3,minmax(0,1fr))}.strategy-observation{border:1px solid var(--console-control-line);border-radius:6px;padding:var(--console-panel-padding);background:var(--console-surface);min-width:0}.strategy-observation header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.strategy-observation h2{font-size:15px;margin:0 0 6px}.strategy-observation header p{color:var(--console-muted);margin:0;font-size:var(--console-font-caption);line-height:1.8}.strategy-evidence{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:8px}.strategy-evidence>div{display:grid;gap:7px;padding:12px;border:1px solid var(--console-control-line);border-radius:5px;background:var(--console-raised);min-width:0}.strategy-evidence span{color:var(--console-muted);font-size:var(--console-font-caption)}.strategy-evidence b{color:var(--console-muted);font-size:21px;overflow-wrap:anywhere}.strategy-evidence>div:last-child{border-color:var(--console-line);background:var(--console-raised)}@media(max-width:760px){.page-view.table-view .table-frame{padding:0;gap:12px}.list-heading h1{font-size:20px}.list-heading{gap:12px}.list-site-select{width:100%}.page-view.table-view .kpis{gap:6px}.page-view.table-view .kpi{padding:10px;align-content:center;min-height:88px}.page-view.table-view .kpi b{font-size:23px}.page-view.table-view .kpi span{font-size:var(--console-font-caption)}.page-view.table-view .mobile-table-filter-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;border:1px solid var(--console-control-line);border-radius:5px;background:var(--console-raised);color:var(--console-muted);padding:10px;min-height:38px;font-size:var(--console-font-caption)}.page-view.table-view .filters{display:none;padding:12px}.page-view.table-view .filters.is-mobile-open{display:flex}.page-view.table-view .filter-fields{grid-template-columns:repeat(2,minmax(0,1fr));flex-basis:100%}.page-view.table-view .field :is(input,select),.page-view.table-view .field-select>button,.page-view.table-view :is(.btn-primary,.btn-ghost),.page-view.table-view .table-row-actions .icon-btn,.operations-tabs button{height:var(--console-touch-height);min-height:var(--console-touch-height)}.page-view.table-view .filter-actions{justify-content:start;margin-left:0}.page-view.table-view .table-scroll{overflow:visible;border:0;background:none}.page-view.table-view .data-table{display:block;min-width:0;width:100%}.page-view.table-view .data-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.page-view.table-view .data-table tbody{display:grid;gap:12px}.page-view.table-view .data-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--console-control-line);border-radius:6px;background:var(--console-raised)}.page-view.table-view .data-table td{display:grid;grid-template-columns:minmax(0,1fr);gap:3px;max-width:none;min-width:0;padding:9px 10px;border:0}.page-view.table-view .data-table :is(th,td).list-numeric{text-align:left}.page-view.table-view .list-actions{width:100%}.page-view.table-view .data-table td:before{content:attr(data-label);display:block;color:var(--console-muted);font-size:var(--console-font-caption)}.page-view.table-view .data-table .list-primary-cell,.page-view.table-view .data-table td.table-row-actions{grid-column:1/-1}.page-view.table-view .data-table td.table-row-actions{display:flex;flex-wrap:wrap;align-items:center;border-top:1px solid var(--console-control-line);min-width:0;gap:5px}.page-view.table-view .table-row-actions:before{display:none}.page-view.table-view .table-row-actions :is(.icon-btn,.btn-ghost){min-height:36px}.page-view.table-view .pagination{justify-content:start;font-size:var(--console-font-caption);gap:6px}.page-view.table-view .pagination>span:first-child{flex-basis:100%}.page-view.table-view .pagination .page-number:not(.active){display:none}.operations-alarm-panel .overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-alarm-panel .alarm-query-details{grid-template-columns:minmax(0,1fr)}.strategy-evidence{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.strategy-evidence b{font-size:20px}}@media(max-width:420px){.page-view.table-view .filter-fields{grid-template-columns:minmax(0,1fr)}}.ticket-process-note{display:grid;gap:8px;margin:16px 0;color:var(--console-muted);font-size:var(--console-font-body)}.ticket-process-note textarea{width:100%;padding:10px;border:1px solid var(--console-control-line);border-radius:5px;color:var(--console-muted);background:var(--console-surface);font:inherit;resize:vertical}.page-view.table-view .filter-actions button{white-space:nowrap}.page-view.table-view .filter-actions [data-audit-log]{min-width:132px}.page-view.table-view .filter-actions>button{flex:0 0 auto;width:auto;grid-column:auto}.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#000814a6}.modal.hidden{display:none}.modal-card{position:relative;box-sizing:border-box;width:min(1180px,calc(100vw - 40px));max-width:calc(100vw - 40px);max-height:min(88vh,calc(100vh - 40px));overflow:auto;overflow-x:hidden;padding:20px;border:1px solid var(--console-line);background:var(--console-surface);box-shadow:0 16px 48px #172b2226;scrollbar-width:thin}.modal-card::-webkit-scrollbar{width:8px}.modal-card h3{margin:-20px -20px 20px;padding:16px 20px;border-bottom:1px solid var(--console-line);color:var(--console-muted);font-size:18px;line-height:1.2}.modal-card--ems-detail{height:min(88vh,calc(100vh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr)}.modal-card--ems-detail #modal-body{min-height:0}.modal-close{position:absolute;top:12px;right:14px;width:32px;height:32px;border:0;color:var(--console-muted);background:transparent;font-size:24px;line-height:1}.modal-close:hover{color:var(--console-heading)}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:92px;gap:12px}.detail-grid div{min-width:0;min-height:0;height:100%;box-sizing:border-box;overflow:hidden;padding:12px;background:var(--console-raised);border:1px solid var(--console-line)}.detail-grid b{display:block;margin-bottom:4px;color:var(--console-muted);font-size:var(--console-font-caption);font-weight:500}.sub-title{margin:20px 0 10px;color:var(--cyan);font-size:16px;font-weight:700;text-shadow:none}.tab-strip{display:flex;gap:12px;margin-bottom:18px;overflow-x:auto}.tab-strip button,.detail-center aside button{min-width:104px;height:36px;border:1px solid var(--console-control-line);border-radius:2px;color:var(--console-muted);background:var(--console-raised)}.detail-center aside button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;box-sizing:border-box;padding:0 12px;white-space:nowrap}.tab-strip .active,.detail-center aside button.active{color:var(--console-heading);border-color:var(--console-control-line);background:var(--console-selected)}.result-card{display:grid;gap:8px;padding:16px;border:1px solid var(--console-line);background:var(--console-raised)}.result-card b{color:var(--yellow)}.modal-loading{display:grid;place-items:center;gap:10px;min-height:260px;color:var(--console-muted);text-align:center}.modal-loading:before{content:"";width:34px;height:34px;border:3px solid var(--console-line);border-top-color:var(--cyan);border-radius:50%;animation:modal-loading-spin .9s linear infinite}.modal-loading:after{content:"";width:112px;height:3px;margin-top:4px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);animation:loading-scan 1.1s linear infinite}.modal-loading b{color:var(--console-heading);font-size:16px}.modal-loading span{color:var(--console-muted);font-size:var(--console-font-body)}@keyframes modal-loading-spin{to{transform:rotate(360deg)}}.ticket-tab-panel{margin-top:18px}.ticket-confirm-grid,.summary-cards,.record-list{display:grid;gap:12px;margin-top:14px}.ticket-confirm-grid{grid-template-columns:repeat(3,1fr)}.ticket-confirm-grid div,.summary-cards div,.record-list div{min-height:84px;padding:14px;border:1px solid var(--console-line);background:var(--console-raised)}.ticket-confirm-grid b,.summary-cards b,.record-list b{display:block;color:var(--cyan)}.ticket-confirm-grid span,.summary-cards span,.record-list time{display:block;margin-top:6px;color:var(--console-muted)}.record-list div{display:grid;grid-template-columns:110px 170px 1fr;align-items:start;gap:14px}.record-list p,.summary-cards p{margin:8px 0 0}.timeline{margin:0;padding:0 0 0 18px;border-left:1px solid var(--console-line);list-style:none}.timeline li{position:relative;display:grid;grid-template-columns:80px 130px 1fr;gap:12px;padding:10px 0 10px 18px;border-bottom:1px solid var(--console-line)}.timeline li:before{content:"";position:absolute;left:-6px;top:18px;width:10px;height:10px;background:var(--console-raised);box-shadow:0 0 12px var(--cyan)}.timeline time{color:var(--console-muted)}.timeline b{color:var(--console-heading)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}.form-grid label{display:grid;gap:8px}.form-grid span{color:var(--console-muted);font-size:var(--console-font-caption)}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-height:42px;border:1px solid var(--console-control-line);border-radius:2px;color:var(--console-heading);background:var(--console-surface);padding:0 12px}.form-grid textarea{min-height:88px;padding:12px;resize:vertical}.form-grid label:has(textarea){grid-column:1 / -1}.input-watch{position:relative}.input-watch textarea{padding-right:72px}.input-watch em{position:absolute;right:12px;bottom:10px;color:var(--console-muted);font-size:var(--console-font-caption);font-style:normal}.input-watch.is-editing span{color:var(--cyan)}.input-watch.is-editing textarea{border-color:var(--console-control-line);box-shadow:none}.input-watch.has-value em{color:var(--cyan)}.input-hint{margin-top:-4px;color:var(--console-muted);font-size:var(--console-font-body)}.picker-preview,.schedule-list,.schedule-editor,.dispatch-workbench,.channel-row{display:grid;gap:12px;margin-top:18px}.picker-preview{grid-template-columns:repeat(2,1fr)}.picker-preview div,.schedule-list div{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--console-control-line);background:var(--console-raised)}.picker-preview span,.channel-row span{min-width:72px;padding:6px 10px;text-align:center;color:var(--cyan);border:1px solid var(--console-control-line);background:var(--console-raised)}.strategy-choice-grid,.time-presets,.ticket-choice-grid,.site-choice-grid{display:grid;gap:12px;margin-top:12px}.strategy-choice-grid{grid-template-columns:repeat(3,1fr)}.strategy-choice-grid button,.time-presets button{min-height:72px;border:1px solid var(--console-control-line);border-radius:2px;color:var(--console-muted);text-align:left;background:var(--console-raised);padding:12px 14px}.strategy-choice-grid button.active,.time-presets button.active{border-color:var(--console-control-line);background:var(--console-selected);box-shadow:none}.strategy-choice-grid b,.strategy-choice-grid span{display:block}.strategy-choice-grid b{color:var(--cyan);margin-bottom:8px}.strategy-choice-grid span{color:var(--console-muted);font-size:var(--console-font-body)}.time-presets{grid-template-columns:repeat(3,minmax(0,1fr))}.time-presets button{min-height:42px;text-align:center;color:var(--cyan)}.ticket-choice-grid{grid-template-columns:repeat(3,1fr)}.ticket-choice-grid button,.ticket-picker button{min-height:66px;border:1px solid var(--console-control-line);border-radius:2px;color:var(--console-muted);text-align:left;background:var(--console-raised);padding:12px 14px}.ticket-choice-grid.compact button{min-height:42px;text-align:center}.ticket-choice-grid button.active,.ticket-picker button.active{border-color:var(--console-control-line);color:var(--console-heading);background:var(--console-selected);box-shadow:none}.ticket-choice-grid b,.ticket-choice-grid span{display:block}.ticket-choice-grid b{color:var(--cyan);margin-bottom:8px}.ticket-choice-grid.compact b{margin-bottom:0}.ticket-choice-grid span{color:var(--console-muted);font-size:var(--console-font-body)}.ticket-picker div{align-items:stretch}.ticket-picker button{min-width:96px;min-height:36px;text-align:center;color:var(--cyan)}.site-choice-grid{grid-template-columns:repeat(3,1fr)}.site-choice-grid button,.cabinet-layout button{min-height:70px;border:1px solid var(--console-control-line);border-radius:2px;color:var(--console-muted);text-align:left;background:var(--console-raised);padding:12px 14px}.site-choice-grid.compact button{min-height:42px;text-align:center}.site-choice-grid button.active,.cabinet-layout button.active{border-color:var(--console-control-line);color:var(--console-heading);background:var(--console-selected);box-shadow:none}.site-choice-grid b,.site-choice-grid span,.cabinet-layout b,.cabinet-layout span{display:block}.site-choice-grid b,.cabinet-layout b{color:var(--cyan);margin-bottom:8px}.site-choice-grid.compact b{margin-bottom:0}.site-choice-grid span,.cabinet-layout span{color:var(--console-muted);font-size:var(--console-font-body)}.cabinet-layout{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.message-choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}.message-choice-grid button{min-height:86px;border:1px solid var(--console-control-line);border-radius:2px;color:var(--console-muted);text-align:left;background:var(--console-raised);padding:12px}.message-choice-grid button.active{border-color:var(--console-control-line);background:var(--console-selected);box-shadow:none}.message-choice-grid b,.message-choice-grid span{display:block}.message-choice-grid b{color:var(--cyan);margin-bottom:8px}.message-choice-grid span{color:var(--console-muted);font-size:var(--console-font-body)}.message-preview{display:grid;gap:10px;margin-top:18px;padding:16px;border:1px solid var(--console-line);background:var(--console-raised)}.message-preview.detail{background:var(--console-raised)}.message-preview b{color:var(--cyan)}.schedule-list div{display:grid;grid-template-columns:1fr 100px 100px}.schedule-list em{color:var(--yellow);font-style:normal;text-align:right}.schedule-editor div,.dispatch-ticket{display:grid;grid-template-columns:1fr 1fr 1.2fr 1fr;gap:10px}.schedule-editor div{grid-template-columns:1fr 1fr 1.2fr 1fr 1.2fr}.schedule-editor input,.schedule-editor select,.dispatch-ticket input,.dispatch-ticket select{width:100%;height:38px;border:1px solid var(--console-control-line);border-radius:6px;color:var(--console-heading);background:var(--console-surface);padding:0 10px}.dispatch-workbench{padding:16px;border:1px solid var(--console-line);background:var(--console-raised)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:18px}.confirm-panel{display:grid;gap:10px;padding:18px;border:1px solid var(--console-line);background:var(--console-raised)}.confirm-panel b{color:var(--console-heading);font-size:16px}.confirm-panel span,.confirm-panel small{color:var(--console-muted)}.strategy-confirm{border-color:var(--console-warning)}.strategy-confirm.enable{border-color:#00e5a97a}.message-detail-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:18px;border:1px solid var(--console-line);background:var(--console-raised)}.message-detail-head b{display:block;color:var(--console-heading);font-size:22px;margin-bottom:8px}.message-detail-head span{color:var(--console-muted)}.message-detail-head em{min-width:76px;height:34px;display:grid;place-items:center;border:1px solid currentColor;border-radius:6px;font-style:normal;background:var(--console-raised)}.permission-card,.audit-summary{display:grid;gap:10px;padding:18px;border:1px solid var(--console-line);background:var(--console-raised)}.permission-card{border-color:var(--console-danger)}.permission-card b,.audit-summary b{color:var(--console-heading);font-size:18px}.permission-card span,.audit-summary span{color:var(--console-muted)}.permission-card p{margin:0;color:var(--console-muted)}.audit-list{display:grid;gap:10px;margin-top:16px}.audit-list div{display:grid;grid-template-columns:150px 130px 1fr 170px;gap:12px;align-items:center;min-height:44px;padding:10px 12px;border:1px solid var(--console-line);background:var(--console-raised)}.audit-list time{color:var(--console-muted)}.audit-list b{color:var(--cyan)}.audit-list span{color:var(--console-heading)}.audit-list em{color:var(--console-muted);font-style:normal;text-align:right}.notification-list{display:grid;gap:10px;margin-top:16px}.notification-list article,.notification-empty{display:grid;gap:10px;padding:14px;border:1px solid var(--console-line);background:var(--console-raised)}.notification-list article.is-unread{border-color:var(--console-line);box-shadow:inset 3px 0 0 var(--cyan)}.notification-list article.is-read{opacity:1}.notification-list article>div,.notification-list footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.notification-list b{color:var(--cyan)}.notification-list time,.notification-list footer span,.notification-list footer em,.notification-empty span{color:var(--console-muted);font-style:normal}.notification-list p{margin:0;color:var(--console-heading)}.notification-list footer button{min-height:30px}.field-error span{color:var(--console-danger)}.ack-panel{display:grid;gap:10px;margin-top:16px;padding:16px;border:1px solid var(--console-line);background:var(--console-raised)}.ack-panel h4{margin:0;color:var(--cyan);font-size:16px}.ack-panel section{display:grid;gap:8px}.ack-panel p,.ack-empty{margin:0;color:var(--console-muted)}.ack-row{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);gap:10px;align-items:start;min-height:36px;padding:8px 10px;border:1px solid var(--console-line);background:var(--console-raised)}.ack-row b{color:var(--console-muted);font-size:var(--console-font-caption);font-weight:500}.ack-row span{color:var(--console-heading);overflow-wrap:anywhere}.ack-nested{display:grid;gap:8px;min-width:0}.field-error input,.field-error select,.field-error textarea{border-color:var(--console-danger)!important;box-shadow:none}.toast-host{position:fixed;right:24px;top:92px;z-index:90;display:grid;gap:10px;pointer-events:none}.toast{min-width:220px;max-width:360px;padding:12px 14px;border:1px solid var(--console-line);border-radius:6px;color:var(--console-heading);background:var(--console-raised);box-shadow:none;animation:toast-in .18s ease-out}.toast.success{border-color:#00e5a994}.toast.warning{border-color:var(--console-warning)}.toast.error{border-color:var(--console-danger)}.toast.leaving{opacity:0;transform:translateY(-6px);transition:.22s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.channel-row{display:flex;flex-wrap:wrap}.revenue-schedule-list{gap:10px}.revenue-schedule-list .revenue-schedule-row{position:relative;display:grid;grid-template-columns:98px minmax(104px,1fr) minmax(104px,.85fr) minmax(72px,.65fr) minmax(72px,.65fr);gap:8px;align-items:center;min-height:54px;padding:12px 10px 12px 16px;border-color:var(--console-line);background:var(--console-raised)}.revenue-schedule-list .revenue-schedule-row:before{content:"";position:absolute;top:10px;bottom:10px;left:6px;width:3px;border-radius:999px;background:var(--console-muted)}.revenue-schedule-list .revenue-schedule-row.is-charge:before{background:#2563a6;box-shadow:none}.revenue-schedule-list .revenue-schedule-row.is-discharge:before{background:#24705c;box-shadow:none}.revenue-schedule-list .revenue-schedule-row.is-stop:before{background:var(--console-muted)}.revenue-schedule-list .revenue-schedule-row.is-standby:before{background:var(--console-warning);box-shadow:none}.revenue-schedule-list .revenue-schedule-row.is-empty{opacity:1}.revenue-schedule-list b,.revenue-schedule-list span,.revenue-schedule-list em,.revenue-schedule-list i,.revenue-schedule-list small{min-width:0;overflow:hidden;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.revenue-schedule-list b{color:var(--console-heading)}.revenue-schedule-list span{color:var(--console-muted)}.revenue-schedule-list span strong{color:var(--console-heading);font-weight:700}.revenue-schedule-list em{color:var(--console-muted);text-align:left;font-size:var(--console-font-body)}.revenue-schedule-list i{color:var(--console-muted);text-align:right;font-size:var(--console-font-body);line-height:1.2;overflow-wrap:anywhere;white-space:normal}.revenue-schedule-list small{color:var(--console-muted);text-align:right;font-size:var(--console-font-body);font-weight:800;line-height:1.2;overflow-wrap:anywhere;white-space:normal}.dispatch-log-list .dispatch-log-row{grid-template-columns:150px minmax(168px,1.2fr) minmax(104px,.8fr) minmax(140px,1fr) 48px}.dispatch-log-list .dispatch-log-row i{text-align:left}.dispatch-log-list .dispatch-log-row small{color:var(--console-success);text-align:center}.strategy-log-list .strategy-log-row{grid-template-columns:minmax(112px,.9fr) minmax(76px,.7fr) minmax(86px,.7fr) minmax(112px,1fr) minmax(64px,.6fr)}.alarm-query-list{display:grid;gap:10px}.alarm-query-warning{margin:0 0 12px;color:var(--console-warning);font-size:var(--console-font-body)}.alarm-lifecycle-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.alarm-status-tabs,.alarm-page-controls{display:flex;align-items:center;gap:8px}.alarm-status-tabs button,.alarm-page-controls button{min-height:34px;padding:0 14px;border:1px solid var(--console-control-line);color:var(--console-muted);background:var(--console-raised);cursor:pointer}.alarm-status-tabs button.active{border-color:#12f2a19e;color:var(--console-success);background:var(--console-selected)}.alarm-page-controls button:disabled{cursor:not-allowed;opacity:.42}.alarm-page-controls span{color:var(--console-muted);font-size:var(--console-font-body);white-space:nowrap}.alarm-query-card{display:grid;gap:12px;min-width:0;padding:14px 16px;border:1px solid var(--console-line);background:var(--console-raised)}.alarm-query-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-width:0}.alarm-query-head b,.alarm-query-head small,.alarm-query-details b,.alarm-query-details em,.alarm-query-details small{min-width:0;overflow-wrap:anywhere}.alarm-query-head b{color:var(--console-heading);font-size:17px;line-height:1.35}.alarm-query-head small{color:var(--console-muted);font-size:var(--console-font-body);font-weight:700;text-align:right}.alarm-query-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.alarm-query-details span{display:grid;gap:4px;min-width:0;padding:10px;background:var(--console-raised);border-left:3px solid var(--console-warning)}.alarm-query-details .alarm-query-reason{background:#fff8ec}.alarm-query-details .alarm-query-reason--missing{border-left-color:var(--console-warning);background:#fff8ec}.alarm-query-details b{color:var(--console-warning)}.alarm-query-details em{color:var(--console-muted);font-style:normal;line-height:1.35}.alarm-query-details small{color:var(--console-muted);font-size:var(--console-font-caption);font-weight:700;line-height:1.35}.alarm-query-card p{margin:0;color:var(--console-muted);line-height:1.55}.alarm-query-card--empty{border-color:var(--console-warning);background:var(--console-raised)}.revenue-schedule-list small.is-positive{color:var(--console-success)}.revenue-schedule-list small.is-negative{color:var(--console-warning)}.ems-summary-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding:18px;border:1px solid var(--console-line);background:var(--console-raised)}.ems-summary-head>div{min-width:0}.ems-summary-head b{display:block;color:var(--console-heading);font-size:24px;margin-bottom:8px}.ems-summary-head span{color:var(--console-muted)}.ems-summary-head em{min-width:76px;height:34px;display:grid;place-items:center;border:1px solid currentColor;border-radius:6px;padding:0 12px;font-style:normal;background:var(--console-raised);overflow-wrap:anywhere}.detail-center{height:100%;min-height:0;display:grid;grid-template-columns:210px 1fr;gap:22px}.detail-center aside{display:grid;gap:8px;align-content:start;min-height:0;padding:14px;border:1px solid var(--console-line);background:var(--console-raised)}.detail-center>section{min-height:0;overflow:auto;overflow-x:hidden;padding-right:4px;scrollbar-width:thin}.detail-center aside b{color:var(--console-heading);font-size:18px}.detail-center aside span{color:var(--console-muted);margin-bottom:10px}.ems-tab-title{height:38px;display:flex;align-items:center;padding:0 18px;margin-bottom:14px;color:var(--cyan);font-weight:700;background:var(--console-raised);border-left:3px solid var(--cyan);text-shadow:none}.overview-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:92px;gap:12px}.overview-cards div{display:grid;min-width:0;min-height:0;height:100%;box-sizing:border-box;align-content:center;justify-items:center;overflow:hidden;padding:12px;border:1px solid var(--console-line);background:var(--console-raised)}.overview-cards b{max-width:100%;overflow:hidden;color:var(--cyan);font-size:28px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.overview-cards span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ems-config-panel{display:grid;gap:0;min-width:0}.ems-config-panel .overview-cards b,.ems-config-panel .overview-cards span{overflow:visible;line-height:1.16;overflow-wrap:normal;text-align:center;text-overflow:clip}.ems-config-panel .overview-cards b{font-size:clamp(20px,1.65vw,26px);white-space:nowrap}.ems-config-panel .overview-cards span{white-space:normal}.ems-config-list div{display:grid;grid-template-columns:minmax(160px,.9fr) minmax(160px,.75fr) minmax(220px,1.1fr);align-items:center;gap:12px}.ems-config-list b,.ems-config-list span,.ems-config-list em{overflow:visible;line-height:1.35;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.ems-config-list span{color:var(--console-muted);font-size:16px}.ems-config-list em{color:var(--console-muted);font-size:var(--console-font-caption);text-align:left}.ems-ops-overview{display:grid;gap:12px}.ops-data-status{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:10px 14px;border:1px solid var(--console-line);background:var(--console-raised);color:var(--console-muted);font-size:var(--console-font-caption)}.ops-data-status b{font-size:var(--console-font-body)}.ops-data-status .is-healthy{color:var(--console-success)}.ops-data-status .is-degraded{color:var(--console-warning)}.ops-frame{position:relative;padding:18px;border:1px solid var(--console-line);background:var(--console-raised);box-shadow:none}.ops-frame-title{display:table;margin:-10px auto 16px;padding:0 36px;color:var(--cyan);font-weight:800;text-align:center;text-shadow:none}.ops-topology{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:108px;gap:12px;align-items:stretch}.ops-primary-grid{grid-auto-rows:minmax(96px,auto)}.ops-primary-grid .ops-node--constraint b{overflow:visible;text-overflow:clip;white-space:normal}.ops-dispatch-panel{margin-top:16px}.ops-dispatch-chain>div{position:relative}.ops-dispatch-chain>div:not(:last-child):after{content:"→";position:absolute;right:-10px;top:50%;transform:translateY(-50%);color:var(--cyan);font-weight:800;z-index:1}.ops-dispatch-note{margin:10px 0 0;color:var(--console-muted);font-size:var(--console-font-caption)}.ops-today-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ops-secondary{padding:12px 16px;border:1px solid var(--console-line);background:var(--console-raised)}.ops-secondary summary{color:var(--cyan);cursor:pointer;font-weight:700}.ops-secondary[open] summary{margin-bottom:14px}.ops-secondary .ops-strategy-summary{grid-auto-rows:minmax(68px,auto)}.ops-secondary .ops-strategy-summary b{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.device-management-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:12px}.device-management-summary>div,.device-management-row{min-width:0;box-sizing:border-box;border:1px solid var(--console-line);background:var(--console-raised);box-shadow:none}.device-management-summary>div{display:grid;gap:6px;grid-auto-rows:min-content;height:100%;align-content:center;overflow:hidden;padding:12px}.device-management-table{display:grid;gap:10px}.device-management-row{display:grid;grid-template-columns:minmax(180px,220px) minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px}.device-management-row>div,.device-management-metrics>div{display:grid;gap:6px;min-width:0}.device-management-metrics{display:grid;grid-template-columns:repeat(5,minmax(104px,1fr));gap:10px;min-width:0}.device-management-main{align-content:center}.device-management-action{width:56px;min-width:56px;height:34px;padding:0}.ops-node,.ops-soc{min-width:0;height:100%;box-sizing:border-box;border:1px solid var(--console-line);background:var(--console-raised);box-shadow:none}.ops-node{display:grid;gap:5px;min-height:0;align-content:center;padding:12px;color:var(--console-muted)}.ops-node span{color:var(--console-success);font-weight:700;line-height:1.3}.ops-node b,.device-management-summary b,.device-management-row b{min-width:0;overflow:hidden;color:var(--console-heading);font-size:16px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.device-management-metrics b{font-size:15px;white-space:normal}.ops-node em,.device-management-summary em,.device-management-row em{min-width:0;overflow:hidden;color:var(--cyan);font-style:normal;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.device-management-summary em{overflow:visible;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.device-management-summary span,.device-management-row span{min-width:0;overflow:hidden;color:var(--console-success);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.ops-node--center{border-color:var(--console-line);background:var(--console-raised);text-align:center}.ops-soc{display:grid;gap:6px;min-height:0;align-content:center;padding:12px;color:var(--cyan)}.ops-soc span{color:var(--console-success);font-weight:700}.ops-soc b{font-size:24px}.ops-monitor-grid,.ops-energy-grid,.ops-gauges{display:grid;gap:14px}.ops-monitor-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px;align-items:start}.ops-monitor-grid>div{min-height:128px;max-height:168px;overflow:hidden;padding:14px;border:1px solid var(--console-line);background:var(--console-raised)}.ops-monitor-grid p{margin:8px 0 0;line-height:1.55}.ops-strategy-panel{margin-top:12px;padding:14px;border:1px solid var(--console-line);background:var(--console-raised)}.ops-strategy-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:68px;gap:12px}.ops-strategy-summary div{display:grid;gap:5px;min-height:0;height:100%;box-sizing:border-box;align-content:center;padding:10px 12px;background:var(--console-raised)}.ops-strategy-summary span{color:var(--cyan);font-weight:700}.ops-strategy-summary b{min-width:0;overflow:hidden;color:var(--console-heading);text-overflow:ellipsis;white-space:nowrap}.ops-schedule-preview{display:grid;gap:6px;margin-top:10px}.ops-schedule-preview div{display:grid;grid-template-columns:minmax(74px,1.1fr) minmax(44px,.7fr) minmax(52px,.7fr);gap:8px;align-items:center;min-height:30px;padding:6px 8px;border:1px solid var(--console-line);background:var(--console-raised)}.ops-schedule-preview b,.ops-schedule-preview span,.ops-schedule-preview em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ops-schedule-preview b{color:var(--console-heading)}.ops-schedule-preview span{color:var(--cyan)}.ops-schedule-preview em{color:var(--console-muted);font-style:normal}.ops-energy-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:68px}.ops-energy-grid div{display:grid;gap:6px;min-height:0;height:100%;box-sizing:border-box;align-content:center;padding:10px 12px;border:1px solid var(--console-line);background:var(--console-raised)}.ops-energy-grid span{color:var(--cyan);font-weight:700}.ops-energy-grid b{color:var(--console-heading)}.ops-gauges{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:92px;margin-top:16px}.ops-gauges div{display:grid;place-items:center;min-height:0;height:100%;box-sizing:border-box;border:1px solid var(--console-line);background:var(--console-raised)}.ops-gauges b{color:var(--cyan);font-size:24px}.ops-gauges span{color:var(--console-muted)}.realtime-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}.realtime-grid>div{min-height:130px;padding:16px;border:1px solid var(--console-line);background:var(--console-raised)}.ems-screen-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}.ems-map-card{min-height:340px;grid-row:span 2;position:relative;display:grid;align-content:end;padding:24px;border:1px solid var(--console-line);background:var(--console-raised);overflow:hidden}.ems-map-card i{position:absolute;inset:16% 10% 20%;border:2px solid var(--console-line);clip-path:polygon(14% 46%,25% 24%,43% 18%,58% 29%,76% 21%,90% 39%,76% 56%,84% 75%,59% 86%,45% 72%,25% 82%,10% 64%);filter:drop-shadow(0 0 18px rgba(0,234,255,.65))}.ems-map-card b,.ems-map-card span{position:relative;z-index:1}.telemetry-board,.device-cards,.stat-columns{display:grid;gap:14px}.telemetry-board,.stat-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.device-cards{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:92px}.telemetry-board div,.device-cards div,.stat-columns>div{padding:16px;border:1px solid var(--console-line);background:var(--console-raised)}.telemetry-board div,.stat-columns>div{min-height:116px}.device-cards div{min-width:0;min-height:0;height:100%;box-sizing:border-box;overflow:hidden;padding:12px}.telemetry-board span,.device-cards span,.device-cards em{display:block;color:var(--console-muted);font-style:normal}.ems-control-console{display:grid;gap:14px;margin-top:16px;padding:16px;border:1px solid var(--console-warning);background:#fff8ec}.ems-control-warning{display:grid;gap:6px}.ems-control-warning b{color:var(--yellow)}.ems-control-warning span,.ems-control-fields em,.ems-latest-ack{color:var(--console-muted);font-size:var(--console-font-body);font-style:normal;line-height:1.5}.ems-control-fields{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:end}.ems-control-fields label,.ems-device-control-grid label{display:grid;gap:6px;color:var(--console-muted);font-size:var(--console-font-body)}.ems-control-fields input,.ems-device-control-grid input,.ems-device-control-grid select{width:100%;height:38px;border:1px solid var(--console-control-line);border-radius:6px;color:var(--console-heading);background:var(--console-surface);padding:0 10px}.ems-device-control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ems-device-control-grid section{display:grid;gap:10px;align-content:start;padding:14px;border:1px solid var(--console-line);background:var(--console-raised)}.command-history-filters{margin:16px 0;padding:14px;border:1px solid var(--console-line);background:var(--console-raised)}.command-history-filters .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.command-history-filter-actions{margin-top:12px}.command-history-alert{border-color:var(--console-warning)}.command-batch-safety-alert{border-color:var(--console-danger);background:#fff1ef;box-shadow:none}.idempotency-reconciliation-clear{border-color:#5bdaa661}.idempotency-reconciliation-alert{margin-bottom:10px}.idempotency-reconciliation-list{margin-bottom:18px}.idempotency-reconciliation-card{border-color:var(--console-danger);background:#fff1ef}.idempotency-reconciliation-card small{display:block;margin-top:7px;overflow-wrap:anywhere}.idempotency-reconciliation-card .status-danger{color:var(--console-danger)}.idempotency-reconciliation-actions{justify-content:flex-start;margin-top:12px}.command-history-section-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:18px 0 10px;padding-bottom:8px;border-bottom:1px solid var(--console-line)}.command-history-section-title b{color:var(--cyan)}.command-history-section-title span{color:var(--console-muted);font-size:var(--console-font-caption)}.command-batch-list{display:grid;gap:10px}.command-batch-card{display:grid;gap:9px;padding:12px 14px;border:1px solid var(--console-line);background:var(--console-raised)}.command-batch-card.command-batch-partial_failure,.command-batch-card.command-batch-failed{border-color:var(--console-danger);background:#fff1ef}.command-batch-card.command-batch-pending{border-color:var(--console-warning)}.command-batch-heading,.command-batch-summary{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}.command-batch-heading b{color:var(--console-heading)}.command-batch-heading span,.command-batch-heading em,.command-batch-summary span{color:var(--console-muted);font-style:normal;font-size:var(--console-font-caption)}.command-batch-heading em{margin-left:auto;max-width:48%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-batch-card p,.command-batch-card small{margin:0;overflow-wrap:anywhere}.command-batch-card p{color:var(--console-muted)}.command-batch-card small{color:var(--console-danger)}.command-batch-actions{margin-top:0;padding-top:9px;border-top:1px solid var(--console-danger)}.command-batch-actions span{color:var(--console-danger);font-size:var(--console-font-caption)}.ems-device-control-grid section>b{color:var(--cyan)}.ems-latest-ack{margin:0;overflow-wrap:anywhere}.ems-device-modal{display:grid;gap:12px}.ems-device-modal .ems-summary-head{margin-bottom:0}.ems-device-freshness{display:flex;flex-wrap:wrap;gap:7px 16px;align-items:center;padding:10px 14px;border:1px solid var(--console-line);background:var(--console-raised);color:var(--console-muted);font-size:var(--console-font-body)}.ems-device-freshness b{color:var(--console-success)}.ems-device-freshness b.is-stale{color:var(--console-warning)}.ems-device-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ems-device-group,.ems-device-command-status,.ems-device-diagnostics{min-width:0;padding:14px;border:1px solid var(--console-line);background:var(--console-raised)}.ems-device-group h4{margin:0 0 10px;color:var(--cyan)}.ems-device-metrics{display:grid;gap:8px}.ems-device-metrics>div,.ems-device-command-status>div{display:grid;gap:3px;min-width:0}.ems-device-metrics span,.ems-device-command-status span,.ems-device-command-status small{color:var(--console-muted);font-size:var(--console-font-caption)}.ems-device-metrics b,.ems-device-command-status b{overflow-wrap:anywhere;color:var(--console-heading);font-size:15px}.ems-device-command-status{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.ems-device-command-status p{grid-column:1 / -1;margin:0;color:var(--console-warning);font-size:var(--console-font-caption)}.ems-device-diagnostics summary{color:var(--cyan);cursor:pointer;font-weight:700}.ems-device-diagnostics[open] summary{margin-bottom:12px}.telemetry-board b{display:block;margin-top:16px;font-size:28px;color:var(--cyan)}.realtime-device-list{display:grid;gap:16px}.telemetry-device-block{overflow:hidden;border:1px solid var(--console-line);background:var(--console-raised)}.telemetry-device-title{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:12px 14px;border-bottom:1px solid var(--console-line);background:var(--console-raised)}.telemetry-device-title span,.telemetry-device-title em{color:var(--console-muted);font-size:var(--console-font-caption);font-style:normal}.telemetry-device-title h4{margin:4px 0 0;color:var(--console-heading);font-size:15px;font-weight:700;overflow-wrap:anywhere}.telemetry-device-groups{column-count:2;column-gap:12px;padding:12px}.telemetry-table-block{overflow:hidden;break-inside:avoid;margin-bottom:12px;border:1px solid var(--console-line);background:var(--console-raised)}.telemetry-table-title{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;padding:0 14px;border-bottom:1px solid var(--console-line)}.telemetry-table-title h4{margin:0;color:var(--console-heading);font-size:var(--console-font-body);font-weight:700}.telemetry-table-title span{color:var(--console-muted);font-size:var(--console-font-caption);white-space:nowrap}.telemetry-table-scroll{overflow-x:auto;scrollbar-width:thin}.telemetry-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed;color:var(--console-muted);font-size:var(--console-font-body);line-height:1.25}.telemetry-table th,.telemetry-table td{height:28px;padding:8px 12px;overflow:hidden;border-right:1px solid var(--console-line);border-bottom:1px solid var(--console-line);text-align:left;text-overflow:ellipsis;white-space:nowrap}.telemetry-table th{background:var(--console-raised);color:var(--cyan);font-weight:700}.telemetry-table th:first-child,.telemetry-table td:first-child{width:54px;color:var(--console-muted);text-align:center}.telemetry-table th:nth-child(2),.telemetry-table td:nth-child(2){width:150px}.telemetry-table tbody tr:nth-child(2n) td{background:var(--console-raised)}.telemetry-table tr:last-child td{border-bottom:0}.telemetry-table th:last-child,.telemetry-table td:last-child{border-right:0}.telemetry-table--kv{min-width:0}.telemetry-table--kv th:first-child,.telemetry-table--kv td:first-child{width:44%;text-align:left}.telemetry-table--kv th:nth-child(2),.telemetry-table--kv td:nth-child(2){width:auto}.device-cards b{display:block;overflow:hidden;color:var(--cyan);text-overflow:ellipsis;white-space:nowrap}.device-cards p{margin:4px 0 0;overflow:hidden;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.device-cards span,.device-cards em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mini-trend{height:180px;display:flex;align-items:end;gap:18px;padding:20px;border:1px solid var(--console-line);background:var(--console-raised)}.mini-trend i{flex:1;min-width:20px;background:var(--console-accent);box-shadow:none}@media(max-width:1280px){html,body{overflow:auto}.app-shell{height:auto;min-height:100vh;overflow:visible}.topbar{grid-template-columns:90px 130px 1fr}.top-actions{display:none}.main-nav{overflow-x:auto;justify-content:flex-start;gap:10px}.dashboard-grid{height:auto;min-height:0;display:grid;grid-template-columns:1fr;gap:16px;overflow:visible}.side-stack{position:static;width:auto}.side-stack:first-child .panel:not(.chart-panel){flex:none;min-height:196px;padding-right:22px}.side-stack:first-child .panel:not(.chart-panel) .mini-status{grid-template-columns:120px minmax(0,1fr);gap:12px}.side-stack:first-child .panel:not(.chart-panel) .bars{min-width:0}.chart-panel{height:304px;padding-bottom:6px}.line-chart{min-height:0}.map-stage{position:relative;inset:auto;grid-row:1;min-height:880px}.world-map-shell{left:0;top:0;width:min(1504px,118vw);height:58%}.summary-panel{position:relative;inset:auto}.device-status-panel{display:block;flex:none}.device-live-list{overflow:visible}.summary-list{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px}.summary-group:nth-child(3){border-right:0}.filters{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:760px){html,body{overflow:auto;overflow-x:hidden}.app-shell{padding:0 12px 16px;height:auto;overflow:visible}.topbar{height:auto;grid-template-columns:80px 1fr;gap:8px 12px;padding-top:8px}.timebox{display:none}.title-frame{grid-column:1 / -1;order:3;height:auto;min-height:58px;padding:8px 12px 10px;clip-path:none;border-top:1px solid rgba(128,207,255,.18)}.title-frame h1{margin-top:0;font-size:22px;line-height:28px}.title-frame small{max-width:100%;overflow:hidden;white-space:nowrap;letter-spacing:2px}.map-stage{grid-row:auto;min-height:0}body .main-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;height:auto;margin-top:10px;padding-bottom:6px;overflow:visible;gap:8px}.nav-item-wrap{min-width:0}.nav-item{width:100%;min-width:0;height:38px;padding:0 10px;font-size:var(--console-font-body)}.panel{padding:40px 12px 14px}.side-stack:first-child .panel:not(.chart-panel){flex:none;min-height:170px}.chart-panel{height:292px}.line-chart{min-height:0}.mini-status,.kpis,.filters{grid-template-columns:1fr}.summary-panel{min-height:0;padding:40px 12px 12px}.map-empty{position:static;width:fit-content;margin:10px auto 0;transform:none}.map-empty.hidden{display:none}.summary-panel h2{min-width:0;max-width:calc(100% - 16px);height:34px;padding:6px 30px 0 42px;font-size:clamp(17px,5vw,22px)}.summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.summary-group{grid-template-columns:1fr;gap:6px;padding:10px;border:1px solid rgba(83,185,240,.16);background:linear-gradient(135deg,#0088cc1f,#001e3a2e),#00081447}.summary-group:last-child{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr));border-right:1px solid rgba(83,185,240,.16)}.summary-group:last-child strong{grid-column:1 / -1}.summary-list strong{grid-column:1 / -1;margin-bottom:0;font-size:17px;line-height:20px}.summary-list span{display:grid;min-width:0;gap:2px;font-size:var(--console-font-caption);line-height:16px}.summary-list b{flex:0 0 auto;font-size:18px;line-height:22px}.summary-list [data-summary-metric=power],.summary-list [data-summary-metric=online-devices],.summary-list [data-summary-metric=max-temp],.summary-list [data-summary-metric=revenue]{font-size:clamp(18px,5.2vw,22px)}.filters{gap:14px;margin-bottom:18px}.filter-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:10px}.filter-actions>button{width:100%;min-width:0;justify-self:stretch}.filter-actions>:last-child:nth-child(odd){grid-column:1 / -1}.field input,.field select,.field-select>button{height:42px;padding:0 14px}.kpis{gap:14px;margin:8px auto 24px}.kpi{height:66px}.table-toolbar{flex-wrap:wrap;align-items:stretch;gap:8px}.table-toolbar div{width:100%}.table-toolbar button{flex:1 1 92px}.site-live-card{grid-template-columns:1fr;width:100%;margin:12px 0}.site-live-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.device-live-list{padding:0;overflow:visible}.device-live-card{grid-template-columns:repeat(2,minmax(0,1fr))}.device-live-card b{white-space:nowrap}.form-grid,.picker-preview,.detail-grid,.ticket-confirm-grid,.record-list div,.strategy-choice-grid,.time-presets,.ticket-choice-grid,.site-choice-grid,.cabinet-layout,.message-choice-grid,.schedule-editor div,.audit-list div,.ack-row{grid-template-columns:1fr}.audit-list em{text-align:left}.modal{place-items:start center;padding:12px 0}.modal-card{width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:14px}.modal-card--ems-detail{height:calc(100dvh - 24px)}.modal-card h3{margin:-14px -14px 14px;padding-right:40px;font-size:18px}.modal-close{top:8px;right:8px}.timeline li{grid-template-columns:1fr}.world-map-shell{width:100%;height:260px}.table-frame{height:auto;overflow:visible;padding:56px 12px 22px}.pagination{position:static;flex-wrap:wrap;justify-content:flex-start;margin-top:16px}.table-screen{height:auto}.table-view .mobile-table-filter-toggle{width:100%;min-height:42px;display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;padding:0 14px;border:1px solid rgba(83,185,240,.34);border-radius:6px;color:#e6f7ff;background:#005b962e}.table-view .mobile-table-filter-toggle b{color:var(--cyan);font-size:var(--console-font-body)}.table-view .filters:not(.is-mobile-open) .field,.table-view .filters:not(.is-mobile-open) [data-search]{display:none}.table-view .filters:not(.is-mobile-open){margin-bottom:12px}.table-view .kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:4px auto 16px}.table-view .kpi{height:60px;min-width:0;clip-path:none;border:1px solid rgba(83,185,240,.2)}.table-view .kpi:before,.table-view .kpi:after{display:none}.table-view .kpi b{font-size:24px;line-height:26px}.table-view .kpi span{font-size:var(--console-font-caption);text-align:center}.table-view .data-table{display:block;width:100%;min-width:0;font-size:var(--console-font-body)}.table-view .data-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-view .data-table tbody{display:grid;gap:12px;width:100%}.table-view .data-table tbody tr{display:grid;width:100%;min-width:0;padding:8px 12px;border:1px solid rgba(83,185,240,.24);border-radius:8px;background:linear-gradient(135deg,#0088cc1f,#0022403d)}.table-view .data-table td,.table-view .data-table td:last-child{width:auto;min-width:0;min-height:38px;height:auto;display:grid;grid-template-columns:minmax(88px,34%) minmax(0,1fr);align-items:center;gap:12px;padding:8px 0;overflow:visible;border-bottom:1px solid rgba(83,185,240,.12);white-space:normal;overflow-wrap:anywhere;text-align:right;text-overflow:clip}.table-view .data-table td:before{content:attr(data-label);color:#74c9f2;font-size:var(--console-font-caption);font-weight:600;text-align:left}.table-view .data-table td.table-row-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:10px;border-bottom:0}.table-view .data-table td.table-row-actions:before{margin-right:auto;align-self:center}.table-view .table-row-actions .icon-btn{width:auto;min-width:72px;height:36px;margin:0;padding:0 12px;gap:6px}.table-view .table-row-actions .mobile-action-label{display:inline;font-size:var(--console-font-caption)}.table-view .row-actions-more{display:inline-block;width:auto;opacity:1;pointer-events:auto}.table-view .row-menu{top:42px;width:150px}.table-view .pagination{width:100%;gap:8px}.table-view .pagination .page-number:not(.active){display:none}.table-view .pagination .page-nav,.table-view .pagination .page-number{min-width:36px;height:34px}.table-title{min-width:180px;padding-left:34px;padding-right:34px}.schedule-editor input,.schedule-editor select{min-width:0}.toast-host{left:12px;right:12px;top:82px}.toast{min-width:0;max-width:none}}@media(max-width:420px){.app-shell{padding-left:8px;padding-right:8px}.brand-mark{font-size:22px}.brand-name{font-size:var(--console-font-caption);letter-spacing:1px}.title-frame:before,.title-frame:after{display:none}.title-frame h1{font-size:18px;line-height:24px}.title-frame small{font-size:var(--console-font-caption);letter-spacing:1px}.nav-item{min-width:0;font-size:var(--console-font-body)}.world-map-shell{height:220px}.modal-card{width:calc(100vw - 16px);max-width:calc(100vw - 16px)}.site-live-card dl,.device-live-card{grid-template-columns:1fr}}@media(max-width:760px){.detail-center,.overview-cards,.realtime-grid,.ems-screen-grid,.device-management-summary,.device-management-row,.device-management-metrics,.telemetry-device-groups,.telemetry-board,.device-cards,.stat-columns,.dispatch-ticket{grid-template-columns:1fr}.telemetry-device-groups{column-count:1}.telemetry-board b{margin-top:10px;font-size:22px}.telemetry-board div,.device-cards div,.stat-columns>div,.realtime-grid>div{min-height:0;padding:12px}.device-management-row{align-items:stretch}.device-management-action{justify-self:stretch;width:100%;min-width:0}.detail-center{gap:12px}.detail-center aside{display:flex;align-items:stretch;gap:8px;overflow-x:auto;padding:10px;scrollbar-width:thin}.detail-center aside b,.detail-center aside span{display:none}.detail-center aside button{flex:0 0 auto;width:auto;min-width:82px;height:36px;padding:0 10px;white-space:nowrap}.ems-tab-title{height:auto;min-height:34px;padding:8px 12px;margin-bottom:10px}.overview-cards{grid-auto-rows:72px;gap:10px}.overview-cards div{min-height:0}.overview-cards b{font-size:22px}.ems-config-panel .overview-cards b{font-size:20px}.ems-config-list div{grid-template-columns:1fr;gap:4px}.ems-config-list span,.ems-config-list em{text-align:left}.ops-frame{padding:14px}.ops-frame-title{margin:-6px auto 12px;padding:0 18px}.ops-topology,.ops-strategy-summary,.ops-energy-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ops-dispatch-chain>div:after{display:none}.ops-topology{grid-auto-rows:112px}.ops-node,.ops-soc{padding:12px 10px}.ops-node b,.ops-soc b{font-size:18px}.ops-strategy-summary,.ops-energy-grid{grid-auto-rows:74px}.ops-gauges{grid-template-columns:1fr;grid-auto-rows:82px;gap:10px}.ems-revenue-modal{display:grid;gap:12px}.ems-revenue-modal>*{min-width:0;width:100%}.ems-revenue-modal .ems-summary-head{display:grid;gap:12px;margin-bottom:0;padding:14px}.ems-revenue-modal .ems-summary-head b{margin-bottom:6px;font-size:22px;line-height:1.15}.ems-revenue-modal .ems-summary-head span{display:block;font-size:15px;line-height:1.45}.ems-revenue-modal .ems-summary-head em{justify-self:start;width:auto;min-width:0;max-width:100%;height:auto;min-height:32px;padding:5px 10px;font-size:var(--console-font-body);line-height:1.2}.ems-revenue-modal .overview-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.ems-revenue-modal .overview-cards div{min-width:0;min-height:68px;padding:10px 6px}.ems-revenue-modal .overview-cards b{font-size:clamp(18px,6vw,24px);line-height:1.15;text-align:center;overflow-wrap:anywhere}.ems-revenue-modal .overview-cards span{font-size:var(--console-font-body);text-align:center}.ems-revenue-modal .stat-columns{gap:10px;min-width:0}.ems-revenue-modal .stat-columns>div{min-width:0;padding:12px}.ems-revenue-modal .schedule-list{display:grid;gap:8px}.ems-revenue-modal .schedule-list div{grid-template-columns:1fr;gap:4px;padding:10px;border:1px solid rgba(83,185,240,.18);background:#0088cc14}.ems-revenue-modal .schedule-list em{text-align:left;overflow-wrap:anywhere}.ems-revenue-modal .revenue-schedule-list .revenue-schedule-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;padding:10px 10px 10px 16px}.ems-revenue-modal .revenue-schedule-list span,.ems-revenue-modal .revenue-schedule-list em{grid-column:1 / -1}.ems-revenue-modal .revenue-schedule-list i,.ems-revenue-modal .revenue-schedule-list small{text-align:left}.dispatch-log-list .dispatch-log-row{grid-template-columns:minmax(0,1fr) auto;align-items:start}.dispatch-log-list .dispatch-log-row span,.dispatch-log-list .dispatch-log-row em,.dispatch-log-list .dispatch-log-row i{grid-column:1 / -1;text-align:left}.dispatch-log-list .dispatch-log-row small{align-self:start;text-align:right}.strategy-log-list .strategy-log-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 10px}.strategy-log-list .strategy-log-row span,.strategy-log-list .strategy-log-row em,.strategy-log-list .strategy-log-row i{grid-column:1 / -1;text-align:left}.strategy-log-list .strategy-log-row b,.strategy-log-list .strategy-log-row span,.strategy-log-list .strategy-log-row em,.strategy-log-list .strategy-log-row i,.strategy-log-list .strategy-log-row small{overflow:visible;text-overflow:clip;white-space:normal}.strategy-log-list .strategy-log-row small{align-self:start;text-align:right}.alarm-query-card{gap:10px;padding:12px}.alarm-lifecycle-controls{align-items:stretch;flex-direction:column}.alarm-status-tabs,.alarm-page-controls{justify-content:space-between}.alarm-status-tabs button,.alarm-page-controls button{flex:1;padding:0 8px}.alarm-query-head,.alarm-query-details{grid-template-columns:1fr}.alarm-query-head small{text-align:left}.ems-device-modal{display:grid;gap:12px}.ems-device-modal>*{min-width:0;width:100%}.ems-device-modal .ems-summary-head{display:grid;gap:12px;margin-bottom:0;padding:14px}.ems-device-modal .ems-summary-head b{margin-bottom:6px;font-size:clamp(20px,7.2vw,28px);line-height:1.1;overflow-wrap:anywhere}.ems-device-modal .ems-summary-head span{display:block;font-size:15px;line-height:1.35}.ems-device-modal .ems-summary-head em{justify-self:start;width:auto;min-width:0;height:auto;min-height:32px;padding:5px 12px;font-size:var(--console-font-body);line-height:1.2}.ems-device-modal .overview-cards,.ems-device-groups,.ems-device-command-status,.ems-device-modal .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ems-device-groups,.ems-device-command-status{grid-template-columns:1fr}.ems-device-modal .overview-cards div{min-width:0;min-height:68px;padding:10px 6px}.ems-device-modal .overview-cards b{font-size:clamp(18px,6.4vw,25px);line-height:1.15;text-align:center;overflow-wrap:anywhere}.ems-device-modal .overview-cards span{font-size:var(--console-font-body);text-align:center}.ems-device-modal .telemetry-board div,.ems-device-modal .detail-grid div{min-width:0;min-height:64px;padding:10px}.ems-device-modal .telemetry-board b{margin-top:8px;font-size:clamp(16px,4.6vw,20px);line-height:1.2;overflow-wrap:anywhere}.ems-device-modal .telemetry-board span,.ems-device-modal .detail-grid b{font-size:var(--console-font-caption)}.ems-device-modal .detail-grid div{font-size:var(--console-font-body);line-height:1.35;overflow-wrap:anywhere}.ems-device-modal .modal-actions{margin-top:4px}.ems-control-fields,.ems-device-control-grid{grid-template-columns:1fr}.ems-control-fields button,.ems-device-control-grid button{width:100%}.command-history-filters .form-grid{grid-template-columns:1fr}.command-history-section-title,.command-batch-heading{align-items:flex-start;flex-direction:column}.command-batch-heading em{max-width:100%;margin-left:0}}.detail-center{grid-template-columns:184px minmax(0,1fr);gap:20px}.detail-center aside{border-radius:14px;background:linear-gradient(170deg,#0e3653c2,#051b30cc)}.detail-center aside>b{overflow-wrap:anywhere;line-height:1.45}.detail-center aside button{border-radius:8px;text-align:left}.ems-eyebrow{color:#79b8cf;font-size:var(--console-font-caption);font-weight:700;letter-spacing:.16em}.ems-section-intro{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;min-width:0;padding:3px 0 8px}.ems-section-intro h3{margin:7px 0;color:#effaff;font-size:23px;font-weight:650;letter-spacing:.02em}.ems-section-intro p,.ems-source-card header p,.ems-reading-note{margin:0;color:#92b8cc;font-size:var(--console-font-caption);line-height:1.7;overflow-wrap:anywhere}.ems-scope-tag{max-width:100%;padding:7px 11px;border:1px solid rgba(102,191,215,.25);border-radius:7px;color:#b6d8e6;background:#20576e2e;font-size:var(--console-font-caption);overflow-wrap:anywhere}.ems-ops-overview .ops-frame,.ems-ops-overview .ops-secondary,.ems-energy-stats .ops-secondary{border-color:#62adcb40;border-radius:12px;box-shadow:none}.ems-ops-overview .ops-frame-title{display:block;margin:0 0 16px;padding:0;color:#d4edf5;font-size:var(--console-font-body);text-align:left;text-shadow:none}.ops-soc em,.ops-secondary small{color:#91bdcf;font-size:var(--console-font-caption);font-style:normal}.ems-constraint-grid,.ems-period-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}.dispatch-workbench .ems-constraint-grid{margin:14px 0 22px}.ems-constraint-card,.ems-period-card{min-width:0;padding:16px;border:1px solid rgba(84,149,180,.3);border-radius:12px;background:#09253bcc}.ems-constraint-card.is-limited{border-color:#dca95675;background:linear-gradient(140deg,#684b1a33,#09253be6)}.ems-constraint-card header,.ems-period-card header,.ems-period-card footer,.ems-stat-detail>header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}.ems-constraint-card header b{color:#e9f5fb;font-size:var(--console-font-body);overflow-wrap:anywhere}.ems-constraint-card header span{padding:4px 8px;border-radius:5px;color:#9adfc6;background:#4baf841a;font-size:var(--console-font-caption)}.ems-constraint-card.is-limited header span{color:#f4cb81;background:#dca9561a}.ems-constraint-card dl,.ems-period-card dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 10px;margin:18px 0 14px}.ems-constraint-card dt,.ems-period-card dt{margin-bottom:7px;color:#8cb0c4;font-size:var(--console-font-caption)}.ems-constraint-card dd,.ems-period-card dd{margin:0;color:#e1f2f8;font-size:18px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.ems-constraint-card>p{margin:0;padding-top:11px;border-top:1px solid rgba(130,176,199,.12);color:#8aafc0;font-size:var(--console-font-caption);line-height:1.6}.ems-energy-stats{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;min-width:0}.ems-energy-stats>*,.ems-stat-primary,.ems-stat-primary .overview-cards{min-width:0}.ems-stat-primary .overview-cards{grid-auto-rows:minmax(100px,auto)}.ems-stat-primary .overview-cards>div{border-color:#62adcb3d;border-radius:10px;background:linear-gradient(145deg,#16466280,#062239cc)}.ems-stat-primary .overview-cards b{color:#e5f9ff;font-size:clamp(18px,1.55vw,25px);overflow-wrap:anywhere}.ems-source-card{min-width:0;padding:19px;border:1px solid rgba(99,191,205,.32);border-radius:12px;background:linear-gradient(130deg,#1758633d,#082338d9)}.ems-source-card h3,.ems-period-card h3,.ems-stat-detail h3{margin:6px 0 7px;color:#e0f4fb;font-size:16px;font-weight:650}.ems-source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.ems-source-grid>div{display:grid;align-content:start;gap:8px;min-width:0;padding:11px 12px;border-left:2px solid rgba(113,210,201,.55);border-radius:0 6px 6px 0;background:#0d314299}.ems-source-grid span,.ems-period-card header span,.ems-period-card footer span,.ems-stat-detail>header>span{color:#8db3c5;font-size:var(--console-font-caption)}.ems-source-grid b{color:#c0ede8;font-size:var(--console-font-caption);font-weight:600;line-height:1.6;overflow-wrap:anywhere}.ems-period-card footer{padding-top:12px;border-top:1px solid rgba(110,176,203,.16)}.ems-period-card footer b{color:#9ee3ce;font-size:18px}.ems-stat-detail{min-width:0;padding:18px;border:1px solid rgba(98,173,203,.25);border-radius:12px;background:#071e32cc}.ems-table-wrap{max-width:100%;margin:14px 0 12px;overflow-x:auto;scrollbar-width:thin}.ems-stat-table{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--console-font-caption);font-variant-numeric:tabular-nums}.ems-stat-table th,.ems-stat-table td{padding:14px 10px;border-bottom:1px solid rgba(92,150,180,.18);text-align:right;white-space:nowrap}.ems-stat-table th{color:#8bb4c7;background:#133b51a6;font-weight:500}.ems-stat-table td{color:#d0e4ed}.ems-stat-table th:first-child,.ems-stat-table td:first-child,.ems-stat-table th:nth-child(2),.ems-stat-table td:nth-child(2){text-align:left}.ems-action-chip{padding:4px 7px;border-radius:5px;color:#a4cadc;background:#5a839921}.ems-action-chip.is-charge{color:#8cc9f4;background:#4db9ff1a}.ems-action-chip.is-discharge,.ems-stat-table td.is-positive{color:#8be0bd}.ems-stat-table td.is-negative{color:#f0c08e}@media(max-width:1000px){.ems-source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.detail-center{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:12px}.detail-center aside .ems-eyebrow{display:none}.detail-center aside button{text-align:center}.ems-section-intro h3{font-size:20px}.ems-constraint-grid,.ems-period-grid{grid-template-columns:minmax(0,1fr)}.ems-stat-primary .overview-cards{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(94px,auto)}.ems-stat-primary .overview-cards b{font-size:18px}.ems-source-card,.ems-stat-detail,.ems-constraint-card,.ems-period-card{padding:14px}.ems-source-grid{gap:8px}.ems-source-grid>div{padding:9px}.ems-energy-stats .revenue-schedule-row{grid-template-columns:repeat(2,minmax(0,1fr))}.ems-energy-stats .revenue-schedule-row>b{grid-column:1 / -1}.ems-energy-stats .revenue-schedule-row :is(span,em,i,small){text-align:left;white-space:normal;overflow-wrap:anywhere}}:is(#app-shell,#modal) .ems-diagnostics{min-width:0}:is(#app-shell,#modal) .ems-diagnostic-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;padding:16px;background:var(--console-raised);border:1px solid var(--console-line);border-radius:12px}:is(#app-shell,#modal) .ems-diagnostic-filters label{display:flex;min-width:0;flex-direction:column;gap:8px;color:var(--console-text);font-size:var(--console-font-caption)}.ems-diagnostic-filters input,:is(#app-shell,#modal) .ems-diagnostic-filters select{box-sizing:border-box;width:100%;min-width:0;height:38px;padding:6px 8px;color:var(--console-text);background:var(--console-surface);border:1px solid var(--console-control-line);border-radius:6px;color-scheme:light}:is(#app-shell,#modal) .ems-diagnostic-filters input[hidden]{display:none}:is(#app-shell,#modal) .ems-diagnostic-filters button{align-self:end;min-height:38px}:is(#app-shell,#modal) .ems-diagnostic-range{color:var(--console-muted);font-size:var(--console-font-caption);line-height:1.8;overflow-wrap:anywhere}:is(#app-shell,#modal) .ems-diagnostic-chart{width:100%;height:660px;min-width:0;margin:18px 0}:is(#app-shell,#modal) .ems-diagnostic-empty{padding:16px;border:1px solid var(--console-line);color:var(--console-text);border-radius:8px;line-height:1.8}:is(#app-shell,#modal) .ems-diagnostic-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}:is(#app-shell,#modal) .ems-diagnostic-kpis>div{display:flex;min-width:0;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--console-line);border-radius:8px;background:var(--console-surface);overflow-wrap:anywhere}:is(#app-shell,#modal) .ems-diagnostic-kpis span{color:var(--console-muted);font-size:var(--console-font-caption)}:is(#app-shell,#modal) .ems-diagnostic-kpis b{font-size:19px;color:var(--console-heading)}:is(#app-shell,#modal) .ems-diagnostic-table{width:100%;min-width:650px;border-collapse:collapse;font-size:var(--console-font-caption)}.ems-diagnostic-table td,:is(#app-shell,#modal) .ems-diagnostic-table th{padding:12px;border-bottom:1px solid var(--console-line);text-align:left;white-space:nowrap}:is(#app-shell,#modal) .ems-diagnostic-table th{color:var(--console-text);font-weight:500}:is(#app-shell,#modal) .ems-diagnostic-provenance ul{padding-left:18px;color:var(--console-muted);font-size:var(--console-font-caption);line-height:1.9}:is(#app-shell,#modal) .ems-diagnostic-provenance li+li{margin-top:8px}:is(#app-shell,#modal) .ems-diagnostic-events{max-height:280px;overflow:auto;margin-top:12px}:is(#app-shell,#modal) .ems-diagnostic-events button{display:flex;flex-wrap:wrap;width:100%;gap:12px;padding:12px 8px;text-align:left;color:var(--console-text);background:transparent;border:0;border-bottom:1px solid var(--console-line);cursor:pointer}:is(#app-shell,#modal) .ems-diagnostic-events time{color:var(--console-accent)}:is(#app-shell,#modal) .ems-diagnostic-events b{overflow-wrap:anywhere}:is(#app-shell,#modal) .ems-diagnostics [data-diagnostic-result]>.ems-source-card{margin:16px 0}@media(max-width:760px){:is(#app-shell,#modal) .ems-diagnostic-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:10px}:is(#app-shell,#modal) .ems-diagnostic-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}:is(#app-shell,#modal) .ems-diagnostic-kpis>div:last-child{grid-column:1 / -1}:is(#app-shell,#modal) .ems-diagnostic-events button{gap:6px 12px}}:is(#app-shell,#modal) .ems-diagnostics .ems-source-card,:is(#app-shell,#modal) .ems-diagnostic-chart{background:var(--console-surface);border:1px solid var(--console-line);border-radius:10px;padding:16px}:is(#app-shell,#modal) .ems-diagnostics .ems-source-grid>div{background:var(--console-raised);border-color:var(--console-line)}:is(#app-shell,#modal) .ems-diagnostics .ems-diagnostic-table thead th{background:var(--console-navigation);color:var(--console-text)}:is(#app-shell,#modal) .ems-diagnostics .ems-diagnostic-table tbody th{background:transparent;color:var(--console-text)}:is(#app-shell,#modal) .ems-diagnostics [role=alert]{background:#fff6f4;color:var(--console-danger)}:is(#app-shell,#modal) .ems-diagnostic-empty{background:var(--console-raised)}:is(#app-shell,#modal) .ems-diagnostic-events button:hover{background:var(--console-raised)}:is(#app-shell,#modal) .ems-diagnostic-filters :is(input,select):focus-visible{outline:2px solid var(--console-accent);outline-offset:2px}:root{color-scheme:light;--console-surface: #ffffff;--console-background: #eff5f0;--console-raised: #f3f7f3;--console-navigation: #e3eee5;--console-selected: #d5e8da;--console-line: #d4e1d6;--console-control-line: #a3b9a9;--console-heading: #172b22;--console-text: #293b32;--console-muted: #52665a;--console-accent: #256747;--console-accent-hover: #1c5137;--console-success: #246344;--console-warning: #805014;--console-danger: #a43132;--console-scrollbar-track: #e3eee5;--console-scrollbar-thumb: #647e6c;--console-scrollbar-hover: #476851;--console-radius-panel: 12px;--console-radius-control: 6px;--console-font-caption: .875rem;--console-font-body: .9375rem;--console-font-control: 1rem;--console-space: 12px;--console-control-height: 38px;--console-touch-height: 44px;--console-panel-padding: 16px;--console-section-gap: 16px}#station-view.active{height:100%;min-height:0;overflow:hidden}@media(max-width:1280px){#station-view.active{height:auto;overflow:visible}html:has(.page-view.active){height:auto;min-height:100%;overflow:visible;overflow-x:clip}body:has(.page-view.active){height:auto;min-height:100%;overflow:visible;overflow-x:clip}}body:has(.page-view.active){background:var(--console-background, #0b1422)}.app-shell:has(.page-view.active){--topbar-height: 56px;--nav-height: 46px;--shell-x-padding: 20px}body:has(.page-view.active) .topbar{grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:20px;padding:0;height:56px;min-height:0;border-bottom:1px solid #26374b}body:has(.page-view.active) .topbar:before{display:none}body:has(.page-view.active) .title-frame:before{display:none}body:has(.page-view.active) .title-frame:after{display:none}body:has(.page-view.active) .timebox{display:none}body:has(.page-view.active) .title-frame small{display:none}body:has(.page-view.active) .brand{display:flex;align-items:baseline;gap:6px;min-height:0;padding:0;transform:none}body:has(.page-view.active) .brand-mark{font-size:25px}body:has(.page-view.active) .brand-name{font-size:var(--console-font-caption);letter-spacing:0;white-space:nowrap}body:has(.page-view.active) .topbar__center{position:static;grid-column:2;inset:auto;height:auto;margin:0;order:initial}body:has(.page-view.active) .title-frame{width:auto;height:auto;min-height:0;padding:0;margin:0;background:none;border:0;box-shadow:none;justify-items:start}body:has(.page-view.active) .title-frame h1{font-size:17px;line-height:1.4;text-shadow:none;font-weight:600}body:has(.page-view.active) .auth-chip{position:static;transform:none;grid-column:3;margin:0;padding:4px 8px;align-self:center}body:has(.page-view.active) .main-nav{display:flex;align-items:center;justify-content:start;gap:var(--console-space, 12px);height:46px;min-height:0;padding:0;margin:0;overflow:visible}body:has(.page-view.active) .main-nav .nav-item{flex:0 1 auto;min-width:0;height:36px;padding:0 18px;clip-path:none;border:0;border-radius:5px;background:transparent;box-shadow:none;text-shadow:none;color:#9db3c9;font-size:var(--console-font-body)}body:has(.page-view.active) .main-nav .nav-item.active{background:#193145;color:#78dfdc}@media(max-width:1280px){.app-shell:has(.page-view.active){grid-template-rows:56px 46px auto}}@media(max-width:760px){.app-shell:has(.page-view.active){--shell-x-padding: 12px;padding:0 12px 16px}body:has(.page-view.active) .topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px}body:has(.page-view.active) .topbar__center{display:none}body:has(.page-view.active) .auth-chip{grid-column:2}body:has(.page-view.active) .brand{align-items:center}body:has(.page-view.active) .main-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;overflow:visible}body:has(.page-view.active) .main-nav .nav-item{width:100%;padding:0 2px;height:36px;font-size:var(--console-font-caption);white-space:nowrap}}body:has(.page-view.active){color:var(--console-text);background:linear-gradient(var(--console-background),var(--console-background))}.app-shell:has(.page-view.active){width:100%;max-width:none;min-width:0}.app-shell:has(#dashboard-view.active) .app-main,.app-shell:has(.table-view.active) .app-main{overflow:auto;min-width:0;padding:16px 0 24px;scrollbar-width:thin}body:has(.page-view.active) .top-actions{display:none}body:has(.page-view.active) :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--console-accent);outline-offset:3px}body:has(.page-view.active) .btn-primary{background:#087f88;border-color:#27a4ac;color:#f0feff;box-shadow:none}body:has(.page-view.active) .btn-ghost{background:var(--console-raised);border-color:var(--console-control-line);color:#b7d8e6;box-shadow:none}[hidden]{display:none!important}@media(max-width:1280px){.app-shell:has(.page-view.active){height:auto;min-height:100vh}.app-shell:has(#dashboard-view.active) .app-main,.app-shell:has(.table-view.active) .app-main{overflow:visible}}@media(max-width:760px){.app-shell:has(#dashboard-view.active) .app-main,.app-shell:has(.table-view.active) .app-main{padding-top:10px}body:has(.page-view.active) .main-nav .nav-item{font-size:var(--console-font-caption);min-height:36px}}#station-workspace{height:100%;min-height:0}.station-workbench{height:100%;min-height:0;display:flex;flex-direction:column;padding:8px 0 18px}.station-toolbar{display:grid;align-items:center;background:linear-gradient(110deg,#0d304b,#071b30);border:1px solid #23536d}.station-toolbar h2{overflow-wrap:anywhere}.station-toolbar p{margin:0;color:#85adc4}.station-toolbar label{display:grid;color:#8db5c8;min-width:0}.station-toolbar select{min-width:0;width:100%;height:38px;color:#def1f8;background:#0c2a41;border:1px solid #27556d;border-radius:var(--console-radius-control, 6px);padding:0 10px}.station-workbench-layout{display:grid;flex:1;min-height:0}.station-groups{display:flex;flex-direction:column;border:1px solid #1e4a64;background:#071e33;overflow:auto}.station-groups button{display:flex;align-items:center;text-align:left;color:#a5c8da;background:transparent;border:1px solid transparent;border-radius:7px}.station-groups button b{font-weight:500;white-space:nowrap}.station-groups p{margin:18px 5px;color:#719bb3;font-size:var(--console-font-caption);line-height:1.8}.station-pane{min-width:0;overflow:auto;scrollbar-width:thin;border:1px solid #20465f;background:linear-gradient(155deg,#061e31f2,#031122f5)}.station-section-head{display:flex;justify-content:space-between;gap:16px}.station-section-head>span{color:#7da8be;max-width:45%;line-height:1.8}.station-subnav{display:flex;overflow-x:auto;border-bottom:1px solid #24485e}.station-subnav button{flex:none;min-height:36px}.station-panel{min-width:0}.station-loading{padding:35px;color:#b6dbe7;line-height:1.8}.station-flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:15px;align-items:center;margin-bottom:24px;padding:18px;border:1px solid #24616f;border-radius:10px;background:linear-gradient(110deg,#0a2c42,#083646)}.station-flow>div{display:grid;gap:7px;min-width:0}.station-flow span{color:#91bccd;font-size:var(--console-font-caption)}.station-flow b{color:#7ee9ec;font-size:24px}.station-flow small{color:#73a4b7;font-size:var(--console-font-caption)}.station-flow p{grid-column:1/-1;margin:0;color:#78a9ba;font-size:var(--console-font-caption)}.station-flow-link{border-top:1px dashed var(--console-control-line);padding-top:6px}@media(max-width:1100px){.station-toolbar label{grid-column:1}}@media(max-width:760px){.station-workbench{padding:4px 0 10px}.station-workbench-layout{display:flex;flex-direction:column}.station-toolbar>div{grid-column:1/-1;grid-row:1}.station-groups{flex:none;flex-direction:row}.station-groups button{flex:none}.station-groups button small,.station-groups p{display:none}.station-pane{min-height:0;flex:1}.station-flow{padding:12px;gap:8px}.station-flow b{font-size:20px}.station-flow .station-flow-link{font-size:var(--console-font-caption)}}@media(max-width:1280px){#station-workspace,.station-workbench{height:auto;overflow:visible}.station-pane{overflow:visible}}@media(max-width:760px){.station-groups{position:sticky;z-index:3}}.station-workbench{color:var(--console-text);gap:var(--console-space, 12px);padding-top:4px;font-size:var(--console-font-body)}.station-toolbar{grid-template-columns:auto minmax(0,1fr) minmax(180px,260px) auto;padding:12px 16px;gap:16px;background:var(--console-surface);border-color:var(--console-line);border-radius:var(--console-radius-panel, 8px)}.station-toolbar .station-identity{display:grid;gap:4px;min-width:0}.station-toolbar h2{margin:0;font-size:21px;line-height:1.5;font-weight:600}.station-toolbar p{font-size:var(--console-font-caption);color:var(--console-muted)}.station-toolbar label{font-size:var(--console-font-caption);gap:5px}.station-workbench .btn-ghost{background:#172a3d;box-shadow:none;border-color:var(--console-control-line, #35516b);border-radius:5px;color:#9ddfe1}.station-workbench .btn-primary{background:#087f88;box-shadow:none;border:1px solid #23949c;border-radius:5px}.station-workbench :is(button,input,select,summary):focus-visible{outline:2px solid #68dcdb;outline-offset:3px}.station-workbench-layout{grid-template-columns:152px minmax(0,1fr);gap:var(--console-space, 12px)}.station-groups{padding:8px;gap:4px;border-color:var(--console-line);border-radius:var(--console-radius-panel, 8px);background:var(--console-surface)}.station-groups button{padding:12px 10px;min-height:44px;gap:10px}.station-groups button b{font-size:var(--console-font-body)}.station-groups button small{color:#7e9ab1}.station-groups button.active{background:#173b47;border-color:transparent;box-shadow:inset 3px 0 #50cfcb;color:#8fe4df}.station-groups>p{display:none}.station-pane{padding:20px;background:var(--console-surface);border-color:var(--console-line);border-radius:var(--console-radius-panel, 8px)}.station-section-head{margin-bottom:10px;align-items:center}.station-section-head .ems-eyebrow{display:none}.station-section-head h3{margin:0;font-size:20px;font-weight:600}.station-section-head>span{font-size:var(--console-font-caption);color:var(--console-muted)}.station-subnav{gap:20px;margin-bottom:14px;padding-bottom:0;border-color:var(--console-line)}.station-subnav button{border:0;border-radius:0;border-bottom:2px solid transparent;padding:10px 0;background:none;font-size:var(--console-font-body);color:#a5bbcf}.station-subnav button.active{background:none;border-color:#5cd7d2;color:#83e1dc}@media(max-width:760px){.station-toolbar{grid-template-columns:auto minmax(0,1fr) auto;padding:12px;gap:10px}.station-toolbar .station-identity{grid-column:1/-1;grid-row:1}.station-toolbar h2{font-size:18px;line-height:1.45}.station-toolbar p{font-size:var(--console-font-caption)}.station-toolbar>button:first-child{grid-column:1;grid-row:2;padding:0 8px;min-width:0;height:38px;font-size:var(--console-font-caption)}.station-toolbar>label{grid-column:2;grid-row:2;font-size:0;gap:0}.station-toolbar select{height:38px;font-size:var(--console-font-caption);padding:0 6px}.station-toolbar>button:last-child{grid-column:3;grid-row:2;padding:0 8px;height:38px;min-width:0;font-size:var(--console-font-caption)}.station-groups{padding:4px;border-color:var(--console-line, #2a3d53);top:0;background:var(--console-surface, #111e30)}.station-groups button{padding:8px;min-height:36px}.station-groups button b{font-size:var(--console-font-caption)}.station-groups button.active{box-shadow:none;background:#21424e}.station-pane{padding:14px}.station-section-head{align-items:center;gap:10px;margin-bottom:8px}.station-section-head h3{font-size:18px}.station-section-head>span{max-width:55%;font-size:var(--console-font-caption);text-align:right}.station-subnav{gap:18px;margin-bottom:14px}.station-subnav button{font-size:var(--console-font-body);padding:9px 0}}#app-shell .station-energy-report .station-report-filters{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:16px 0;padding:18px;background:var(--console-raised);border:1px solid var(--console-line);border-radius:10px}#app-shell .station-energy-report .station-report-filters fieldset{display:flex;gap:var(--console-space, 12px);border:0;margin:0;padding:0 0 8px;min-width:0}#app-shell .station-energy-report .station-report-filters legend{color:var(--console-muted);font-size:var(--console-font-caption)}#app-shell .station-energy-report .station-report-filters>label{color:var(--console-muted);font-size:var(--console-font-caption)}#app-shell .station-energy-report .station-report-filters legend{padding:0 0 10px}#app-shell .station-energy-report .station-report-filters fieldset label{color:var(--console-text);display:flex;align-items:center;gap:4px}#app-shell .station-energy-report .station-report-filters>label{display:grid;gap:7px}#app-shell .station-energy-report .station-report-filters input[type=date]{min-width:0;height:38px;padding:6px 10px;color:var(--console-text);background:var(--console-surface);border:1px solid var(--console-control-line);border-radius:var(--console-radius-control, 6px)}#app-shell .station-energy-report .station-report-filters button{min-height:38px}#app-shell .station-energy-report .station-report-filters button:disabled{opacity:.45;cursor:not-allowed}#app-shell .station-energy-report .station-report-scope{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding:18px 0;font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .station-energy-report .station-report-scope b{color:var(--console-heading)}#app-shell .station-energy-report .station-report-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--console-space, 12px)}#app-shell .station-energy-report .station-report-kpis article{padding:18px 14px;min-width:0;background:var(--console-surface);border:1px solid var(--console-line);border-radius:10px}#app-shell .station-energy-report .station-report-kpis span{display:block;color:var(--console-text);font-size:var(--console-font-caption);margin-bottom:9px}#app-shell .station-energy-report .station-report-kpis b{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;color:var(--console-heading);font-size:24px;overflow-wrap:anywhere}#app-shell .station-energy-report .station-report-kpis small{color:var(--console-muted);font-size:var(--console-font-caption);font-weight:400}#app-shell .station-energy-report .station-report-chart{width:100%;height:300px;min-width:0;margin:22px 0}#app-shell .station-energy-report .station-report-card{min-width:0;border:1px solid var(--console-line);border-radius:10px;background:var(--console-surface);margin:18px 0;padding:18px}#app-shell .station-energy-report .station-report-card header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}#app-shell .station-energy-report .station-report-card h3{margin:0;font-size:16px;color:var(--console-heading)}#app-shell .station-energy-report .station-report-card header span{color:var(--console-muted);font-size:var(--console-font-caption)}#app-shell .station-energy-report .station-report-card summary{color:var(--console-heading);cursor:pointer;margin-bottom:12px}#app-shell .station-energy-report .station-report-card p+p{margin-top:10px}#app-shell .station-energy-report .station-report-table{border-collapse:collapse;width:100%;min-width:650px;font-size:var(--console-font-caption)}#app-shell .station-energy-report .station-report-table th,#app-shell .station-energy-report .station-report-table td{padding:12px 10px;text-align:right;border-bottom:1px solid var(--console-line);white-space:nowrap}#app-shell .station-energy-report .station-report-table th:first-child{text-align:left}#app-shell .station-energy-report .station-report-table th{color:var(--console-text);font-weight:500}@media(max-width:1100px){#app-shell .station-energy-report .station-report-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){#app-shell .station-energy-report .station-report-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--console-space, 12px);padding:12px}#app-shell .station-energy-report .station-report-filters input[type=date]{width:100%}#app-shell .station-energy-report .station-report-filters button{font-size:var(--console-font-caption);padding:6px}#app-shell .station-energy-report .station-report-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#app-shell .station-energy-report .station-report-kpis article:last-child{grid-column:1/-1}#app-shell .station-energy-report .station-report-kpis b{font-size:21px}#app-shell .station-energy-report .station-report-card{padding:12px}#app-shell .station-energy-report .station-report-filters fieldset{grid-column:1/-1}#app-shell .station-energy-report .station-report-filters>label{grid-column:1/-1}#app-shell .station-energy-report .station-report-filters fieldset{gap:18px}#app-shell .station-energy-report .station-report-filters fieldset label{white-space:nowrap}}#app-shell .station-energy-report .station-report-filters fieldset label{position:relative;min-height:36px;padding:6px 10px;background:var(--console-surface);border:1px solid var(--console-control-line);border-radius:var(--console-radius-control)}#app-shell .station-energy-report .station-report-filters fieldset label:has(input:checked){background:var(--console-selected);border-color:var(--console-accent);color:var(--console-accent);font-weight:600}#app-shell .station-energy-report .station-report-filters fieldset label:focus-within{outline:2px solid var(--console-accent);outline-offset:3px}#app-shell .station-energy-report .station-report-kpis [data-report-metric=net]{background:var(--console-selected);border-color:var(--console-control-line)}#app-shell .station-energy-report .station-report-kpis .station-report-net-note{display:block;margin-top:8px}#app-shell .station-energy-report .station-report-card[data-report-notes]{background:var(--console-raised)}#app-shell .station-energy-report .station-report-card[data-report-notes]:not([open]) summary{margin-bottom:0}#app-shell .station-energy-report .station-report-card .ems-table-wrap{margin-top:16px;border:1px solid var(--console-line);border-radius:var(--console-radius-control);background:var(--console-surface);max-width:100%;overflow:auto}#app-shell .station-energy-report .station-report-table{font-variant-numeric:tabular-nums}#app-shell .station-energy-report .station-report-table thead th{background:var(--console-navigation);color:var(--console-text)}#app-shell .station-energy-report .station-report-table tbody th{background:transparent;color:var(--console-text);font-weight:400}#app-shell .station-energy-report .station-report-table tbody tr:nth-child(2n){background:var(--console-raised)}#app-shell .station-energy-report .station-report-table tbody tr:hover{background:#eaf3ec}#app-shell .station-energy-report .station-report-amount.is-positive{color:var(--console-accent)}#app-shell .station-energy-report .station-report-amount.is-negative{color:var(--console-danger)}#app-shell .station-energy-report .station-report-amount.is-neutral{color:var(--console-text)}#app-shell .station-energy-report .station-report-empty,#app-shell .station-energy-report [data-report-output]>.ems-diagnostic-empty{padding:18px;background:var(--console-raised);border:1px solid var(--console-line);border-radius:10px;color:var(--console-text)}#app-shell .station-energy-report [data-report-output]>[role=alert]{background:#fff6f4;color:var(--console-danger)}.device-monitor{min-width:0}.device-monitor-filters{display:flex;align-items:end;flex-wrap:wrap}.device-monitor-filters label{display:grid;gap:8px;color:#9ac2d4}.device-monitor-filters label:first-child{flex:1;min-width:180px}.device-monitor-filters input[type=search]{width:100%;min-width:0;border:1px solid #2b5d75;border-radius:var(--console-radius-control, 6px);padding:0 12px;color:#e5f7ff}.device-monitor-filters .device-monitor-issues{display:flex;align-items:center;min-height:40px}.device-monitor-issues input{accent-color:#26d4df}.device-monitor-layout{display:grid;gap:16px;align-items:start}.device-monitor-tree{border:1px solid #234e66;border-radius:9px;padding:8px;overflow-y:auto;scrollbar-width:thin}.device-monitor-tree button{display:grid;gap:5px;width:100%;min-width:0;padding:10px;border:1px solid transparent;border-radius:5px;text-align:left;background:transparent;overflow-wrap:anywhere}.device-monitor-tree small{color:#8eafbf;font-size:var(--console-font-caption)}.device-monitor-tree section{border-top:1px solid #183d53;padding-top:8px;margin-top:8px}.device-monitor-branches{margin-left:12px;border-left:1px solid #2a586d;padding-left:7px}.device-monitor-branches button{min-height:34px;font-size:var(--console-font-caption)}.device-monitor-results{min-width:0}.device-monitor-selection{display:flex;flex-wrap:wrap;justify-content:space-between}.device-monitor-selection h4{margin:0 0 8px;color:#d6f3ff;overflow-wrap:anywhere}.device-monitor-selection span{color:#8bb4c8;font-size:var(--console-font-caption)}.device-monitor-selection>div:last-child{display:flex;flex-wrap:wrap;gap:7px}.device-monitor-selection button{font-size:var(--console-font-caption);overflow-wrap:anywhere}.device-monitor-table-wrap{overflow-x:auto;border:1px solid #264f66;border-radius:var(--console-radius-panel, 8px);scrollbar-width:thin}.device-monitor-table{width:100%;border-collapse:collapse;font-size:var(--console-font-caption);line-height:1.7}.device-monitor-table th{text-align:left;background:#0c3047;font-weight:500}.device-monitor-table td{border-top:1px solid #1c4158;color:#c7e1ee;vertical-align:top}.device-monitor-table tr:nth-child(2n){background:#0e304440}.device-monitor-table td small{display:block;color:#86aabe;font-size:var(--console-font-caption);overflow-wrap:anywhere}.device-monitor-table td:nth-child(2){min-width:180px;overflow-wrap:anywhere}.device-monitor-table td:first-child{max-width:140px;overflow-wrap:anywhere}.device-monitor-value{font-variant-numeric:tabular-nums;font-size:var(--console-font-body)}.signal-status{color:#7bcaba;white-space:nowrap}.device-monitor .is-issue{color:var(--console-warning, #f1ba76)}@media(max-width:700px){.device-monitor-branches{display:flex;flex-wrap:wrap;gap:2px}.device-monitor-branches button{width:auto}.device-monitor-filters label:first-child{flex-basis:100%}.device-monitor-selection>div:last-child{max-height:100px;overflow:auto}}.device-monitor-filters{gap:var(--console-space, 12px);margin:0 0 16px}.device-monitor-filters label{font-size:var(--console-font-body);color:var(--console-muted)}.device-monitor-filters input[type=search]{height:40px;background:#0f1b2a;border-color:#3c536b}.device-monitor-layout{grid-template-columns:184px minmax(0,1fr);margin-top:0}.device-monitor-navigator{min-width:0}.device-monitor-navigator>summary{display:none}.device-monitor-tree{border-color:var(--console-line);background:#0e1928;max-height:620px}.device-monitor-tree button{min-height:36px;color:#adbed1}.device-monitor-tree button.active{border-color:transparent;background:#193b46;color:#89e0dc}.device-monitor-tree button small{font-size:var(--console-font-caption)}.device-monitor-selection{align-items:center;margin-bottom:12px;gap:8px}.device-monitor-selection h4{font-size:15px;font-weight:600;margin-bottom:6px}.device-monitor-selection h4 span{font-size:var(--console-font-body);color:#9cb1c6;font-weight:400}.device-monitor-selection small{font-size:inherit;color:#8da4bb}.device-monitor-actions{position:relative}.device-monitor-actions>summary{padding:10px 12px;border:1px solid var(--console-control-line, #35516b);border-radius:5px;cursor:pointer;font-size:var(--console-font-body);color:#9ddfe1}.device-monitor-actions>div{position:absolute;right:0;top:100%;z-index:4;display:grid;padding:10px;gap:8px;border:1px solid var(--console-line);background:var(--console-raised, #17273b);max-height:260px;overflow:auto;box-shadow:0 12px 24px #0005}.device-monitor-table-wrap{border-color:var(--console-line)}.device-monitor-table{min-width:650px}.device-monitor-table[data-monitor-scoped=true]{min-width:500px}.device-monitor-table[data-monitor-scoped=true] :is(th,td):first-child{display:none}.device-monitor-table th{background:var(--console-raised);color:#a2b7cc;font-size:var(--console-font-caption);padding:11px 14px}.device-monitor-table td{padding:12px 14px;font-size:var(--console-font-body);border-color:#26374b;line-height:1.6}.device-monitor-table td:nth-child(2){max-width:300px}.device-monitor[data-show-keys=false] .signal-source{display:none}.device-monitor-table td small.signal-source{margin-top:4px;color:#829bb3;font-size:var(--console-font-caption)}.device-monitor-table .device-monitor-value{white-space:nowrap;font-variant-numeric:tabular-nums}.device-monitor-table .device-monitor-value>span{color:#e6f1fa;font-size:17px;font-weight:600}.device-monitor-table .device-monitor-value>small{display:inline;margin-left:6px;color:var(--console-muted, #a0b4c9);font-size:var(--console-font-caption)}.device-monitor-table td:last-child{white-space:nowrap;font-size:var(--console-font-caption);color:var(--console-muted, #a0b4c9)}.device-monitor .signal-status{color:#88c9b8;font-size:var(--console-font-caption)}.device-monitor-reading-notes{margin-top:14px;color:var(--console-muted, #a0b4c9);font-size:var(--console-font-caption);line-height:1.8}.device-monitor-reading-notes>summary{cursor:pointer;padding:8px 0}@media(max-width:760px){.device-monitor-filters{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:10px 6px}.device-monitor-filters label:first-child{grid-column:1/-1;min-width:0;gap:6px;font-size:var(--console-font-caption)}.device-monitor-filters label.device-monitor-issues{font-size:var(--console-font-caption);min-height:32px;gap:4px}.device-monitor-filters button{height:32px;min-width:0;padding:0 7px;font-size:var(--console-font-caption)}.device-monitor-layout{display:flex;flex-direction:column;gap:var(--console-space, 12px)}.device-monitor-navigator{width:100%;border:1px solid var(--console-line);border-radius:var(--console-radius-control, 6px)}.device-monitor-navigator>summary{display:list-item;cursor:pointer;padding:12px;color:#b9d6e4;font-size:var(--console-font-body)}.device-monitor-tree{border:0;max-height:300px}.device-monitor-results{width:100%}.device-monitor-selection h4{font-size:var(--console-font-body);overflow-wrap:anywhere}.device-monitor-selection h4 span{font-size:var(--console-font-caption)}.device-monitor-selection>div:last-child{max-height:none}.device-monitor-selection button{min-width:0;max-width:100%;height:auto;min-height:36px;padding:8px;white-space:normal;overflow-wrap:anywhere}.device-monitor-table{min-width:0;display:block}.device-monitor-table[data-monitor-scoped=true]{min-width:0}.device-monitor-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.device-monitor-table tbody{display:grid}.device-monitor-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;padding:12px;column-gap:10px}.device-monitor-table td{border:0;padding:0;min-width:0}.device-monitor-table td:first-child{grid-column:1/-1;font-size:var(--console-font-caption);max-width:none;margin-bottom:6px}.device-monitor-table td:first-child small{display:inline;margin-left:6px}.device-monitor-table td:nth-child(2){grid-column:1;grid-row:2;min-width:0;max-width:none;font-size:var(--console-font-body)}.device-monitor-table .device-monitor-value{grid-column:2;grid-row:2/4;text-align:right;white-space:normal}.device-monitor-table .device-monitor-value>span{font-size:19px}.device-monitor-table .device-monitor-value>small{margin-left:4px}.device-monitor-table td:nth-child(4){grid-column:1;grid-row:3;margin-top:6px}.device-monitor-table td:last-child{grid-column:1/-1;grid-row:4;margin-top:8px;font-size:var(--console-font-caption)}.device-monitor-table tr+tr{border-top:1px solid var(--console-line)}}.dispatch-execution{min-width:0}.dispatch-observations-wrap{overflow-x:auto;border:1px solid #264f66;border-radius:var(--console-radius-panel, 8px);scrollbar-width:thin}.dispatch-observations{width:100%;border-collapse:collapse;font-size:var(--console-font-caption);line-height:1.7}.dispatch-observations th{text-align:left;background:#0c3047;font-weight:500;padding:12px}.dispatch-observations td{padding:11px 12px;border-top:1px solid #1c4158;color:#c7e1ee;vertical-align:top}.dispatch-observations tr:nth-child(2n){background:#0e304440}.dispatch-observations td small{display:block;color:#86aabe;overflow-wrap:anywhere}.dispatch-execution .is-issue{color:var(--console-warning, #f1ba76)}.dispatch-execution-heading{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.dispatch-execution-heading h4{margin:0 0 8px;color:#d8f4ff}.dispatch-execution-heading p,.dispatch-today p{margin:0;color:#8eb4c8;font-size:var(--console-font-caption);line-height:1.8}.dispatch-today header>span{margin:0;color:#8eb4c8;font-size:var(--console-font-caption);line-height:1.8}.dispatch-evidence-chain{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.dispatch-evidence-chain>div{display:grid;align-content:start;border:1px solid #27556d;border-radius:var(--console-radius-panel, 8px)}.dispatch-evidence-chain b{font-weight:600;overflow-wrap:anywhere}.dispatch-evidence-chain span{line-height:1.7}.dispatch-today{border:1px solid #234c64;border-radius:var(--console-radius-panel, 8px)}.dispatch-today header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;margin-bottom:8px}.dispatch-today h4{margin:0;color:#cdeaf5;font-size:15px}.dispatch-timeline-axis{display:flex;justify-content:space-between;margin-top:20px;font-size:var(--console-font-caption);color:var(--console-muted)}.dispatch-timeline{display:grid;gap:var(--console-space, 12px);list-style:none;padding:0;margin-bottom:0}.dispatch-timeline li{padding:10px 12px;border-radius:5px;border:1px solid transparent;background:#0a263b}.dispatch-timeline li.is-active{border-color:#267b8b;background:#0b3547}.dispatch-timeline-track{height:8px;position:relative;border-radius:3px;background:#183e53}.dispatch-timeline-track i{position:absolute;top:0;bottom:0;background:#7a99ad;border-radius:3px}.dispatch-timeline-track .is-charge{background:#378dc1}.dispatch-timeline-track .is-discharge{background:#28cdb8}.dispatch-timeline li>div:last-child{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:10px;color:#abd0df;font-size:var(--console-font-caption)}.dispatch-timeline small{color:#9dbdcb}.dispatch-observations{min-width:1000px}.dispatch-observations td:first-child{max-width:180px;overflow-wrap:anywhere}.dispatch-observations td:nth-child(5){max-width:200px}.dispatch-observations td:last-child{max-width:230px;overflow-wrap:anywhere}.dispatch-observations td button{padding:3px 6px;font-size:var(--console-font-caption)}.dispatch-protection-details{color:#a8cbd9}.dispatch-protection-details summary{cursor:pointer;padding:10px 0}@media(max-width:1200px){.dispatch-evidence-chain{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.dispatch-observations td button{display:block;max-width:100%;height:auto;min-height:36px;white-space:normal;overflow-wrap:anywhere;line-height:1.4;text-align:left}.dispatch-observations{display:block;min-width:0}.dispatch-observations thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.dispatch-observations tbody{display:grid;gap:var(--console-space, 12px);padding:10px}.dispatch-observations tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #28536b;border-radius:var(--console-radius-control, 6px)}.dispatch-observations td{display:block;min-width:0;padding:10px;border-top:0}.dispatch-observations td:first-child{max-width:none}.dispatch-observations td:last-child{max-width:none}.dispatch-observations td:nth-child(5){max-width:none;grid-column:1 / -1;border-top:1px solid #21495f}.dispatch-observations td:last-child{grid-column:1 / -1;border-top:1px solid #21495f}.dispatch-observations td:before{content:attr(data-label);display:block;color:var(--console-muted);font-size:var(--console-font-caption);margin-bottom:6px}}.dispatch-reading-notes{margin-top:14px;color:var(--console-muted, #a0b4c9);font-size:var(--console-font-caption);line-height:1.8}.dispatch-reading-notes>summary{cursor:pointer;padding:8px 0}.dispatch-execution{margin:0 0 18px}.station-panel>.dispatch-workbench{margin-top:0;padding:0;border:0;background:transparent;gap:var(--console-space, 12px)}.station-panel>.dispatch-workbench>.dispatch-execution{margin-top:0;margin-bottom:0}.station-panel>.dispatch-workbench>.dispatch-editor-section{margin-top:0;margin-bottom:0}.dispatch-execution-heading{margin-bottom:12px;align-items:center}.dispatch-execution-heading h4{font-size:16px;font-weight:600;margin-bottom:5px}.dispatch-execution-heading p{color:var(--console-muted)}.dispatch-evidence-chain{gap:var(--console-space, 12px)}.dispatch-evidence-chain>div{background:#15283a;padding:16px;border-color:#2a445b;gap:10px}.dispatch-evidence-chain small{color:#afc1d1;font-size:var(--console-font-caption)}.dispatch-evidence-chain b{color:#dceff5;font-size:26px;font-variant-numeric:tabular-nums}.dispatch-evidence-chain>div:last-child{background:#153337;border-color:#2e5c5d}.dispatch-evidence-chain>div:last-child b{color:#85ded1}.dispatch-evidence-chain span{font-size:var(--console-font-caption);color:#91a9be}.dispatch-direction-note{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;color:#9db6c9;font-size:var(--console-font-caption);margin:12px 0}.dispatch-today{padding:0;margin:12px 0;border-color:var(--console-line)}.dispatch-today>summary{padding:12px 14px;cursor:pointer;display:flex;justify-content:space-between;gap:var(--console-space, 12px);color:#bad1e0;font-size:var(--console-font-body)}.dispatch-today>summary b{font-weight:500}.dispatch-today>summary small{margin-left:8px;font-size:var(--console-font-caption);color:#849fb6}.dispatch-today>summary span{color:#94acbf;font-size:var(--console-font-caption)}.dispatch-today>p{margin-left:14px;margin-right:14px}.dispatch-today>.dispatch-timeline-axis{margin-left:14px;margin-right:14px}.dispatch-today>ol{margin-left:14px;margin-right:14px}.dispatch-observations-wrap{border-color:var(--console-line)}.dispatch-observations th{background:var(--console-raised);color:#a9bdcf;font-size:var(--console-font-caption)}.dispatch-observations td{font-size:var(--console-font-body);border-color:#293c51}.dispatch-observations td small{font-size:var(--console-font-caption)}.dispatch-protection-details{margin-top:0;font-size:var(--console-font-caption)}.dispatch-editor-section{margin-top:12px;border:1px solid var(--console-line);border-radius:7px}.dispatch-editor-section>summary{display:flex;justify-content:space-between;align-items:center;gap:var(--console-space, 12px);padding:16px;cursor:pointer;background:#142335;border-radius:7px}.dispatch-editor-section>summary>span{display:grid;gap:5px}.dispatch-editor-section>summary b{font-size:var(--console-font-body);font-weight:600;color:#dce7f1}.dispatch-editor-section>summary :is(small,em){color:#9db3c5;font-size:var(--console-font-caption);font-style:normal}.dispatch-editor-section[open]>summary{border-bottom:1px solid var(--console-line);border-radius:7px 7px 0 0}.dispatch-editor-body{padding:18px}.dispatch-editor-body .form-grid{margin-block:16px}.dispatch-editor-body :is(.form-grid,.schedule-editor) :is(input,select){background:#0e1c2b;border:1px solid var(--console-control-line, #35516b);border-radius:5px;min-height:40px;color:#dce9f5}.dispatch-editor-body .schedule-editor>div{display:grid;grid-template-columns:repeat(2,minmax(80px,1fr)) minmax(100px,1fr) minmax(100px,1fr) minmax(100px,1fr);gap:var(--console-space, 12px);padding:12px;background:#142537;border:1px solid #2a4156;border-radius:var(--console-radius-control, 6px)}.dispatch-editor-body .schedule-editor label{display:grid;gap:8px;min-width:0}.dispatch-editor-body .schedule-editor label span{font-size:var(--console-font-caption);color:#a4bbcf}.dispatch-editor-body .schedule-editor :is(input,select){width:100%;min-width:0;padding:8px}.dispatch-editor-body .modal-actions{padding-top:16px;border-top:1px solid var(--console-line)}.dispatch-ticket label{display:grid;gap:8px;min-width:0;color:var(--console-muted);font-size:var(--console-font-caption)}.dispatch-ticket label :is(input,select){width:100%;min-width:0}.dispatch-today>summary:after{content:"＋";color:#8ab6c7}.dispatch-today[open]>summary:after{content:"－"}@media(max-width:760px){.dispatch-execution-heading{gap:10px}.dispatch-execution-heading h4{font-size:15px}.dispatch-execution-heading .btn-ghost{font-size:var(--console-font-caption);height:36px;padding:0 10px}.dispatch-evidence-chain{gap:8px}.dispatch-evidence-chain>div{padding:12px;gap:9px}.dispatch-evidence-chain b{font-size:23px}.dispatch-evidence-chain small,.dispatch-evidence-chain span{font-size:var(--console-font-caption)}.dispatch-today>summary{flex-wrap:wrap;gap:6px;padding:12px}.dispatch-observations td button{color:#b4e8e5;background:transparent;border:0;padding:0;min-height:30px;font-weight:600}.dispatch-observations tbody{padding:0;gap:10px}.dispatch-observations tr{border:0;border-bottom:1px solid var(--console-line);border-radius:0;padding:4px}.dispatch-observations td{font-size:var(--console-font-body);padding:10px}.dispatch-observations td:before{font-size:var(--console-font-caption)}.dispatch-editor-section>summary{padding:14px}.dispatch-editor-body{padding:12px}.dispatch-editor-body .schedule-editor>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--console-space, 12px)}.dispatch-editor-body .schedule-editor label:last-child{grid-column:1/-1}}:root{--shell-x-padding: 30px;--topbar-height: 68px;--nav-height: 56px;--content-height: calc(100vh - var(--topbar-height) - var(--nav-height));--layout-canvas-width: 430px;--dashboard-side-width: 330px;--dashboard-side-gap: 18px;--dashboard-bottom-gap: 12px;--dashboard-map-offset-x: 320px}@media(max-width:1680px)and (min-width:1281px){:root{--shell-x-padding: 34px;--topbar-height: 76px;--nav-height: 72px;--dashboard-side-width: 330px;--dashboard-side-gap: 18px;--dashboard-bottom-gap: 18px;--dashboard-map-offset-x: 320px}}.app-shell{height:100vh;display:grid;grid-template-rows:var(--topbar-height) var(--nav-height) minmax(0,1fr);padding:0 var(--shell-x-padding);overflow:hidden}.app-topbar{height:var(--topbar-height)}.topbar__center{position:absolute;inset:0 0 auto;min-width:0;height:var(--topbar-height);pointer-events:none}.app-title{width:clamp(600px,46vw,780px);margin:4px auto 0;pointer-events:auto}.app-main{min-height:0;overflow:hidden}.page-view.active,.page-surface{height:100%;min-height:0}.dashboard-layout{position:relative;height:100%;overflow:hidden}.dashboard-layout .side-stack{width:var(--dashboard-side-width)}.dashboard-layout .map-stage{inset:0 calc(var(--dashboard-side-width) + var(--dashboard-side-gap)) var(--dashboard-bottom-gap)}.table-layout{height:100%;min-height:0}.table-layout .table-frame{height:100%}.layout-canvas-host,.layout-canvas-host body{width:100%;min-height:100%;overflow:hidden}.layout-canvas-host body{display:grid;place-items:stretch center}.layout-canvas-frame{width:min(100vw,var(--layout-canvas-frame-width, var(--layout-canvas-width)));height:100dvh;border:0;background:transparent}@media(min-width:1281px){.topbar{grid-template-columns:120px 210px minmax(0,1fr);gap:14px}.top-actions{display:none}.main-nav{justify-content:stretch;gap:14px;overflow:visible}.nav-item-wrap,.nav-item{flex:1 1 0;min-width:0;max-width:none}.dashboard-layout .side-stack{display:flex;gap:8px}.world-map-shell{left:50%;width:min(1120px,calc(100vw - 120px));transform:translate(calc(-50% - var(--dashboard-map-offset-x, 0px)))}.summary-panel{top:auto;bottom:0;min-height:150px;padding:40px 12px 10px}.summary-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.summary-group{min-height:0;gap:7px;padding:0 10px}.summary-list strong{margin-bottom:2px;font-size:16px;line-height:21px}.summary-list span{gap:3px;font-size:var(--console-font-caption);line-height:17px}.summary-list b,.summary-list [data-summary-metric=power],.summary-list [data-summary-metric=online-devices],.summary-list [data-summary-metric=max-temp],.summary-list [data-summary-metric=revenue]{font-size:18px;line-height:22px}.chart-panel{height:180px;padding-top:38px}.chart-panel h2{min-width:min(var(--dashboard-side-width),100%)}.side-stack:first-child .panel:not(.chart-panel){padding:38px 8px 8px}.side-stack:first-child .panel:not(.chart-panel) .mini-status{grid-template-columns:70px 1fr;gap:8px}.side-stack:first-child .panel:not(.chart-panel) .donut{width:62px}.side-stack:first-child .panel:not(.chart-panel) .bars{gap:4px}.side-stack:first-child .panel:not(.chart-panel) .bars label{font-size:var(--console-font-caption)}.side-stack:first-child .panel:not(.chart-panel) progress{height:4px}.device-status-panel{padding:42px 10px 10px}.site-live-card{grid-template-columns:1fr;width:calc(100% - 20px);margin:10px 10px 8px;padding:9px 10px}.site-live-card dl{gap:4px}.device-live-list{gap:6px;padding:0 10px 10px}.device-live-card{gap:4px 10px;padding:8px 10px}.alarm-panel{flex-basis:190px}.side-stack:last-child .alarm-panel:last-child{flex-basis:166px}}@media(min-width:1681px){:root{--dashboard-side-width: 440px;--dashboard-side-gap: 30px;--dashboard-bottom-gap: 0px;--dashboard-map-offset-x: 0px}.dashboard-layout .side-stack{gap:12px}.dashboard-layout .map-stage{inset:0 calc(var(--dashboard-side-width) + var(--dashboard-side-gap)) var(--dashboard-bottom-gap)}.world-map-shell{left:-740px;top:-28px;width:1504px;height:725px;transform:none}.summary-panel{min-height:150px;padding:42px 16px 12px}.summary-group{gap:7px;padding:0 14px}.summary-list strong{font-size:17px;line-height:22px}.summary-list b,.summary-list [data-summary-metric=power],.summary-list [data-summary-metric=online-devices],.summary-list [data-summary-metric=max-temp],.summary-list [data-summary-metric=revenue]{font-size:19px;line-height:22px}.chart-panel{height:322px;padding-top:48px}.chart-panel h2{min-width:min(440px,100%)}.side-stack:first-child .panel:not(.chart-panel){padding:44px 14px 12px}.side-stack:first-child .panel:not(.chart-panel) .mini-status{grid-template-columns:138px 1fr;gap:10px}.side-stack:first-child .panel:not(.chart-panel) .donut{width:104px}.side-stack:first-child .panel:not(.chart-panel) .bars{gap:6px}.side-stack:first-child .panel:not(.chart-panel) .bars label{font-size:var(--console-font-body)}.side-stack:first-child .panel:not(.chart-panel) progress{height:5px}.device-status-panel{padding:44px 14px 12px}.site-live-card{grid-template-columns:minmax(0,.9fr) minmax(0,1.5fr);width:calc(100% - 44px);margin:14px 22px 10px;padding:10px 12px}.site-live-card dl{gap:6px}.device-live-list{gap:8px;padding:0 22px 16px}.device-live-card{gap:5px 14px;padding:10px 12px}.alarm-panel{flex-basis:264px}.side-stack:last-child .alarm-panel:last-child{flex-basis:226px}}@media(max-width:1280px){:root{--content-height: auto}.app-shell{height:auto;min-height:100vh;grid-template-rows:auto auto auto;overflow:visible}.app-main{overflow:visible}.page-view.active,.page-surface,.dashboard-layout,.table-layout{height:auto}.dashboard-layout{display:grid;grid-template-columns:1fr;gap:16px;overflow:visible}.dashboard-layout .side-stack{position:static;width:auto}.dashboard-layout .map-stage{position:relative;inset:auto;grid-row:1;min-height:880px}}@media(max-width:1680px)and (min-width:1281px){.topbar{grid-template-columns:120px 210px minmax(0,1fr);gap:16px;align-items:start}.topbar:before{inset:0 calc(var(--shell-x-padding) * -1) -16px;background:url(/moro_ems/assets/lanhu-header-shell-CPHnw_QM.png) center -10px / 1640px 96px no-repeat,linear-gradient(180deg,rgba(25,67,103,.58),rgba(13,42,72,.3) 58%,transparent 100%)}.brand{padding-top:12px}.brand-mark{font-size:32px;line-height:31px}.brand-name{font-size:16px;letter-spacing:5px}.timebox{padding-top:10px}.timebox strong{font-size:32px;line-height:36px}.timebox span{font-size:17px}.title-frame{--title-frame-height: 68px;--title-h1-size: 30px;--title-sub-size: 11px;--title-sub-spacing: 8px}.title-frame h1{line-height:1.05}.top-actions{display:none}.main-nav{height:var(--nav-height);justify-content:stretch;gap:16px;padding-top:12px}.nav-item-wrap,.nav-item{flex:1 1 0;min-width:0;max-width:none}.nav-item-wrap{height:58px}.nav-item{height:58px;font-size:24px}.nav-submenu{top:58px}.dashboard-layout .side-stack{display:flex;gap:10px}.dashboard-layout .map-stage{inset:0 calc(var(--dashboard-side-width) + var(--dashboard-side-gap)) var(--dashboard-bottom-gap)}.world-map-shell{left:50%;top:-18px;width:min(1120px,calc(100vw - 120px));height:610px;transform:translate(calc(-50% - var(--dashboard-map-offset-x, 0px)))}.summary-panel{top:auto;bottom:0;min-height:150px;padding:40px 12px 10px;background:linear-gradient(90deg,#031323e6,#051f37b8 54%,#020f1dd1),linear-gradient(rgba(36,118,180,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(36,118,180,.026) 1px,transparent 1px);background-size:auto,40px 40px,40px 40px}.summary-panel h2{min-width:min(440px,100%);height:38px;padding:7px 38px 0 54px;font-size:18px}.summary-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.summary-group{min-height:0;gap:7px;padding:0 10px;border-right:1px solid rgba(83,185,240,.16)}.summary-list strong{margin-bottom:2px;font-size:16px;line-height:21px}.summary-list span{gap:3px;font-size:var(--console-font-caption);line-height:17px}.summary-list b,.summary-list [data-summary-metric=power],.summary-list [data-summary-metric=online-devices],.summary-list [data-summary-metric=max-temp],.summary-list [data-summary-metric=revenue]{font-size:18px;line-height:22px}.chart-panel{height:180px;padding-top:38px}.chart-panel h2{min-width:min(330px,100%)}.side-stack:first-child .panel:not(.chart-panel){padding:38px 8px 8px}.side-stack:first-child .panel:not(.chart-panel) .mini-status{grid-template-columns:70px 1fr;gap:8px}.side-stack:first-child .panel:not(.chart-panel) .donut{width:62px}.side-stack:first-child .panel:not(.chart-panel) .bars{gap:4px}.side-stack:first-child .panel:not(.chart-panel) .bars label{font-size:var(--console-font-caption)}.side-stack:first-child .panel:not(.chart-panel) progress{height:4px}.device-status-panel{padding:42px 10px 10px}.site-live-card{grid-template-columns:1fr;width:calc(100% - 20px);margin:10px 10px 8px;padding:9px 10px}.site-live-card dl{gap:4px}.device-live-list{gap:6px;padding:0 10px 10px}.device-live-card{gap:4px 10px;padding:8px 10px}.alarm-panel{flex-basis:190px}.side-stack:last-child .alarm-panel:last-child{flex-basis:166px}}@media(max-width:1280px)and (min-width:1000px)and (orientation:landscape){:root{--shell-x-padding: 18px;--topbar-height: 54px;--nav-height: 52px;--content-height: calc(100vh - var(--topbar-height) - var(--nav-height));--dashboard-side-width: 240px;--dashboard-side-gap: 10px;--dashboard-bottom-gap: 8px;--dashboard-map-offset-x: 265px}html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.app-shell{height:auto;min-height:100vh;grid-template-rows:var(--topbar-height) var(--nav-height) minmax(520px,1fr);padding:0 var(--shell-x-padding);overflow:visible}.app-main{min-height:max(var(--content-height),520px);overflow:visible}.page-view.active,.page-surface,.dashboard-layout{height:100%;min-height:520px}.topbar{grid-template-columns:90px 150px minmax(0,1fr);gap:10px}.topbar:before{inset:0 calc(var(--shell-x-padding) * -1) -14px;background:url(/moro_ems/assets/lanhu-header-shell-CPHnw_QM.png) center -18px / 1220px 76px no-repeat,linear-gradient(180deg,rgba(25,67,103,.58),rgba(13,42,72,.3) 58%,transparent 100%)}.brand{padding-top:6px}.brand-mark{font-size:25px;line-height:24px}.brand-name{font-size:var(--console-font-body);letter-spacing:3px}.timebox{padding-top:4px}.timebox strong{font-size:26px;line-height:29px}.timebox span{font-size:var(--console-font-body)}.title-frame{--title-frame-height: 50px;--title-h1-size: 22px;--title-sub-size: 9px;--title-sub-spacing: 6px;padding-inline:54px}.title-frame h1{line-height:1.08}.top-actions{display:none}.main-nav{height:var(--nav-height);justify-content:stretch;gap:9px;padding-top:8px;overflow:visible}.nav-item-wrap,.nav-item{flex:1 1 0;min-width:0;max-width:none}.nav-item-wrap,.nav-item{height:42px}.nav-item{font-size:17px}.dashboard-layout{position:relative;display:block;gap:0;overflow:visible}.dashboard-layout .side-stack{position:absolute;top:0;bottom:0;display:flex;width:var(--dashboard-side-width);gap:6px}.dashboard-layout .side-stack:first-child{left:0}.dashboard-layout .side-stack:last-child{right:0}.dashboard-layout .map-stage{position:absolute;inset:0 calc(var(--dashboard-side-width) + var(--dashboard-side-gap)) var(--dashboard-bottom-gap);min-height:0}.world-map-shell{left:50%;top:-8px;width:min(900px,calc(100vw - 70px));height:450px;transform:translate(calc(-50% - var(--dashboard-map-offset-x, 0px)))}.summary-panel{position:absolute;inset:auto 0 0;min-height:112px;padding:32px 8px 7px}.summary-panel h2{min-width:min(330px,100%);height:30px;padding:5px 28px 0 40px;font-size:var(--console-font-body)}.summary-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.summary-group{min-height:0;gap:3px;padding:0 6px;border-right:1px solid rgba(83,185,240,.16)}.summary-list strong{margin-bottom:1px;font-size:var(--console-font-body);line-height:16px}.summary-list span{gap:2px;font-size:var(--console-font-caption);line-height:13px}.summary-list b,.summary-list [data-summary-metric=power],.summary-list [data-summary-metric=online-devices],.summary-list [data-summary-metric=max-temp],.summary-list [data-summary-metric=revenue]{font-size:var(--console-font-body);line-height:17px}.chart-panel{height:98px;padding-top:28px}.chart-panel h2{min-width:min(240px,100%);height:28px;padding:5px 28px 0 40px;font-size:var(--console-font-body)}.chart-panel .unit{margin-top:1px;padding-left:9px;font-size:var(--console-font-caption)}.trend-axis text,.trend-legend text,.trend-tooltip text{font-size:var(--console-font-caption)}.side-stack:first-child .panel:not(.chart-panel){flex:1 1 0;min-height:0;padding:30px 6px 6px}.side-stack:first-child .panel:not(.chart-panel) .mini-status{grid-template-columns:50px 1fr;gap:5px}.side-stack:first-child .panel:not(.chart-panel) .donut{width:44px}.donut small{font-size:var(--console-font-caption)}.side-stack:first-child .panel:not(.chart-panel) .bars{gap:2px}.side-stack:first-child .panel:not(.chart-panel) .bars label{font-size:var(--console-font-caption)}.side-stack:first-child .panel:not(.chart-panel) progress{height:4px}.device-status-panel{display:flex;flex:1 1 0;padding:32px 7px 7px}.device-status-panel h2,.alarm-panel h2{height:30px;padding:5px 28px 0 40px;font-size:var(--console-font-body)}.site-live-card{grid-template-columns:1fr;width:calc(100% - 12px);margin:6px 6px 5px;padding:6px}.site-live-card dl{gap:4px}.site-live-card b,.site-live-card dd{font-size:var(--console-font-caption)}.device-live-list{gap:5px;padding:0 6px 6px;overflow-y:auto}.device-live-card{gap:3px 6px;padding:6px}.alarm-panel{flex:0 0 132px;padding:32px 7px 7px}.side-stack:last-child .alarm-panel:last-child{flex-basis:112px}}@media(max-height:820px)and (min-width:1281px){:root{--shell-x-padding: 30px;--topbar-height: 74px;--nav-height: 70px;--dashboard-side-width: 330px;--dashboard-side-gap: 16px;--dashboard-bottom-gap: 12px;--dashboard-map-offset-x: 310px}html,body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.app-shell{height:auto;min-height:100vh;grid-template-rows:var(--topbar-height) var(--nav-height) minmax(620px,1fr);overflow:visible}.app-main{min-height:max(var(--content-height),620px);overflow:visible}.page-view.active,.page-surface,.dashboard-layout{height:100%;min-height:620px}.dashboard-layout{overflow:visible}.topbar{grid-template-columns:120px 210px minmax(0,1fr);gap:14px}.brand{padding-top:11px}.brand-mark{font-size:32px;line-height:31px}.brand-name{font-size:16px}.timebox{padding-top:9px}.timebox strong{font-size:32px;line-height:35px}.timebox span{font-size:17px}.title-frame{--title-frame-height: 66px;--title-h1-size: 30px;--title-sub-size: 10px;--title-sub-spacing: 7px}.title-frame h1{line-height:1.05}.top-actions{display:none}.main-nav{height:var(--nav-height);justify-content:stretch;gap:14px;padding-top:10px;overflow:visible}.nav-item-wrap,.nav-item{flex:1 1 0;min-width:0;max-width:none}.nav-item-wrap,.nav-item{height:56px}.nav-item{font-size:23px}.dashboard-layout .side-stack{display:flex;gap:8px;width:var(--dashboard-side-width)}.dashboard-layout .map-stage{inset:0 calc(var(--dashboard-side-width) + var(--dashboard-side-gap)) var(--dashboard-bottom-gap)}.world-map-shell{left:50%;top:-14px;width:min(1080px,calc(100vw - 100px));height:560px;transform:translate(calc(-50% - var(--dashboard-map-offset-x, 0px)))}.summary-panel{top:auto;bottom:0;min-height:142px;padding:38px 10px 8px}.summary-panel h2{min-width:min(420px,100%);height:36px;padding:6px 34px 0 50px;font-size:17px}.summary-list{grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.summary-group{min-height:0;gap:5px;padding:0 8px}.summary-list strong{margin-bottom:1px;font-size:15px;line-height:20px}.summary-list span{gap:2px;font-size:var(--console-font-caption);line-height:15px}.summary-list b,.summary-list [data-summary-metric=power],.summary-list [data-summary-metric=online-devices],.summary-list [data-summary-metric=max-temp],.summary-list [data-summary-metric=revenue]{font-size:17px;line-height:21px}.chart-panel{height:140px;padding-top:36px}.chart-panel h2{min-width:min(330px,100%)}.chart-panel .unit{margin-top:2px;padding-left:12px;font-size:var(--console-font-caption)}.side-stack:first-child .panel:not(.chart-panel){flex:1 1 0;min-height:0;padding:36px 7px 7px}.side-stack:first-child .panel:not(.chart-panel) .mini-status{grid-template-columns:58px 1fr;gap:6px}.side-stack:first-child .panel:not(.chart-panel) .donut{width:52px}.side-stack:first-child .panel:not(.chart-panel) .bars{gap:3px}.side-stack:first-child .panel:not(.chart-panel) .bars label{font-size:var(--console-font-caption)}.side-stack:first-child .panel:not(.chart-panel) progress{height:4px}.device-status-panel{flex:1 1 0;padding:38px 8px 8px}.site-live-card{grid-template-columns:1fr;width:calc(100% - 16px);margin:8px 8px 6px;padding:8px}.site-live-card dl{gap:4px}.site-live-card b,.site-live-card dd{font-size:var(--console-font-body)}.device-live-list{gap:6px;padding:0 8px 8px}.device-live-card{gap:4px 8px;padding:8px}.alarm-panel{flex-basis:166px}.side-stack:last-child .alarm-panel:last-child{flex-basis:146px}}@media(max-width:760px){:root{--shell-x-padding: 12px}.app-shell{padding-bottom:16px;grid-template-columns:minmax(0,1fr)}.app-topbar{height:auto;min-height:0}.topbar{gap:4px 12px;padding-top:0}.brand{min-height:78px;padding-top:24px;transform:none}.topbar__center{position:relative;inset:auto;grid-column:1 / -1;order:3;height:auto;margin-top:4px;pointer-events:auto}.title-frame{--title-frame-height: auto;min-height:52px;padding-block:6px 8px}.app-title{width:100%}.main-nav{width:100%;height:auto;min-height:48px;margin-top:6px;padding:0 0 8px;overflow-x:auto;overflow-y:hidden;justify-content:flex-start;scroll-padding-inline:var(--shell-x-padding)}.nav-item-wrap,.nav-item{flex:0 0 auto}.dashboard-layout .map-stage{grid-row:auto;min-height:0}.table-layout .table-frame{height:auto}}.dashboard-home.dashboard-layout{display:block;position:relative;height:auto;min-width:0;max-width:none;margin:0;padding:0;overflow:visible}.dashboard-home :is(h1,h2,p){margin:0}.workspace-breadcrumb{display:flex;align-items:center;gap:9px;color:var(--console-text);font-size:var(--console-font-caption);margin:0 0 19px;min-height:15px}.workspace-breadcrumb>span{color:var(--console-muted)}.home-heading,.workbench-page-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:23px;min-height:84px}.home-eyebrow{display:block;color:var(--console-muted);font-size:var(--console-font-caption);letter-spacing:2px;margin:0 0 7px!important;font-weight:500}.home-heading h1,.workbench-page-heading h1{font-size:28px;line-height:1.45;font-weight:600;letter-spacing:-.6px;margin:0 0 7px}.home-subtitle,.workbench-page-heading>div>p:last-child{font-size:var(--console-font-caption);color:var(--console-text);line-height:1.7;margin:0}.home-source-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 14px;max-width:470px;font-size:var(--console-font-caption);color:var(--console-muted)}.home-source-group span{padding:0;border:0;background:none;line-height:1.8;overflow-wrap:anywhere}.home-source-group [data-state=error],.home-source-group [data-state=stale]{color:var(--console-danger)}.home-index{display:none}#dashboard-view .home-section{position:relative;min-width:0;background:#fff;border:1px solid var(--console-line);border-radius:12px;padding:22px;box-shadow:0 3px 14px #1b365a03}.home-section:before,.home-section:after{display:none}.home-section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.home-section-heading>div{min-width:0}.home-section-heading h2{font-size:15px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}.home-section-heading p{font-size:var(--console-font-caption);color:var(--console-text);margin-top:6px;line-height:1.6}.home-section-heading p b{font-weight:400;color:var(--console-text)}.home-scope{font-size:var(--console-font-caption);color:var(--console-text);border:1px solid var(--console-line);background:var(--console-raised);border-radius:5px;padding:4px 7px;white-space:nowrap;flex-shrink:0}.home-text-link,.home-inline-link button{border:0;background:transparent;color:var(--console-accent);font-size:var(--console-font-caption);padding:6px 0;min-height:32px}.home-inline-link{margin-top:14px!important}.home-cockpit-grid{display:grid;grid-template-columns:minmax(0,1fr) 306px;align-items:start;gap:22px}.home-main-column,.home-rail-right{display:flex;flex-direction:column;gap:22px;min-width:0}#dashboard-view .home-fleet{padding:22px 0;margin-bottom:22px}.home-kpi-grid{display:grid;grid-template-columns:.85fr 1.05fr 1.05fr 1.2fr;gap:0}.home-kpi{display:flex;flex-direction:column;gap:10px;min-width:0;border-right:1px solid var(--console-line);padding:0 24px;background:none}.home-kpi:last-child{border:0}.home-kpi>span:first-child{font-size:var(--console-font-caption);color:var(--console-text)}.home-kpi strong{font-family:Arial,Microsoft YaHei,sans-serif;font-size:29px;line-height:1.25;font-weight:500;letter-spacing:-.6px;color:var(--console-heading);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-height:37px}.home-kpi .home-energy-pair{font-size:23px;line-height:1.6;white-space:nowrap}.home-kpi small{font-size:var(--console-font-caption);color:var(--console-muted);line-height:1.6}.fleet-device-total{display:none}.fleet-table-tools{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}.fleet-segments{display:flex;gap:3px;background:var(--console-raised);border:1px solid var(--console-line);padding:3px;border-radius:6px}.fleet-segments button{border:0;background:transparent;min-height:29px;font-size:var(--console-font-caption);color:var(--console-muted);padding:0 11px;border-radius:4px;white-space:nowrap}.fleet-segments button.active{background:#fff;color:var(--console-text);box-shadow:0 1px 4px #24395f0d}.fleet-search{display:flex;gap:7px;align-items:center;border:1px solid var(--console-line);border-radius:6px;padding:0 10px;min-width:0;height:35px;color:var(--console-muted)}.fleet-search input{border:0;background:transparent;font-size:var(--console-font-caption);color:var(--console-text);width:180px;min-width:0;outline:0}.fleet-search:focus-within{border-color:var(--console-control-line);box-shadow:0 0 0 2px #2865da0b}.fleet-search input::placeholder{color:var(--console-muted)}.fleet-table-wrap{margin:0 -22px;overflow:auto;scrollbar-width:thin}.fleet-table{border-collapse:collapse;width:100%;table-layout:fixed}.fleet-table th{height:38px;padding:8px 12px;text-align:left;font-size:var(--console-font-caption);font-weight:400;color:var(--console-text);background:var(--console-raised);border-block:1px solid var(--console-line)}.fleet-table th:first-child{width:27%;padding-left:22px}.fleet-table th:nth-child(2){width:14%}.fleet-table th:nth-child(3){width:15%}.fleet-table th:nth-child(4){width:16%}.fleet-table th:nth-child(5){width:11%}.fleet-table th:nth-child(6){width:17%}.fleet-table th small{font-size:var(--console-font-caption);color:var(--console-muted)}.fleet-table td{height:69px;padding:12px;border-bottom:1px solid var(--console-line);font-size:var(--console-font-caption)}.fleet-table tr:last-child td{border:0}.fleet-table td:first-child{padding-left:22px}.fleet-station-name{display:block;background:none;border:0;padding:0;line-height:1.7;color:var(--console-text);font-size:var(--console-font-caption);text-align:left;font-weight:500;overflow-wrap:anywhere}.fleet-station-name:hover{color:var(--console-accent)}.fleet-table td small{display:block;color:var(--console-muted);font-size:var(--console-font-caption);margin-top:5px;overflow-wrap:anywhere}.fleet-table .fleet-number{text-align:right;font-family:Arial,sans-serif;font-variant-numeric:tabular-nums;font-size:var(--console-font-body);color:var(--console-text)}.fleet-table th.fleet-number{font-size:var(--console-font-caption)}.fleet-table td.is-charging{color:var(--console-accent)}.fleet-status{display:inline-flex;align-items:center;gap:5px;border-radius:4px;padding:4px 7px;font-size:var(--console-font-caption);white-space:nowrap;background:var(--console-raised);color:var(--console-muted)}.fleet-status:before{content:"";width:4px;height:4px;background:currentColor;border-radius:50%}.fleet-status.ok{background:var(--console-raised);color:var(--console-success)}.fleet-status.warning{background:#fff6e8;color:var(--console-danger)}.fleet-soc{font-size:var(--console-font-caption);text-align:right}.fleet-table td.fleet-soc{white-space:nowrap}.fleet-soc-track{display:inline-block;vertical-align:middle;width:calc(100% - 43px);height:4px;border-radius:3px;background:var(--console-raised);margin-right:8px;min-width:12px}.fleet-soc-track i{display:block;height:100%;background:#66bba4;border-radius:3px}.fleet-soc>span:last-child{font-size:var(--console-font-caption);font-family:Arial,sans-serif;color:var(--console-text)}.fleet-update time{font-family:Arial,sans-serif;font-size:var(--console-font-caption);line-height:1.6;display:inline-block;color:var(--console-muted);max-width:calc(100% - 24px);overflow-wrap:anywhere;vertical-align:middle}.fleet-open{border:0;background:none;color:var(--console-muted);padding:4px;min-width:22px;height:32px;vertical-align:middle}.fleet-table-footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--console-line);margin:0 -22px -22px;padding:13px 22px;color:var(--console-muted);font-size:var(--console-font-caption)}.fleet-empty{text-align:center!important;color:var(--console-muted);padding:35px!important}.fleet-empty small{font-size:var(--console-font-caption)}.home-power-total{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin:21px 0;color:var(--console-text)}.home-power-total>span{font-size:var(--console-font-caption)}.home-power-total strong{font-family:Arial,sans-serif;font-size:27px;font-weight:500;color:var(--console-accent);letter-spacing:-.6px;overflow-wrap:anywhere;text-align:right}.home-power-icon{font-size:27px;color:var(--console-muted)}.home-power-flow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:20px 0;margin:19px 0;border-block:1px solid var(--console-line);color:var(--console-text);font-size:var(--console-font-caption)}.home-power-flow>span:nth-child(2){color:var(--console-accent);letter-spacing:3px}.home-power-breakdown{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.home-power-breakdown>div{display:grid;gap:12px;border-right:1px solid var(--console-line)}.home-power-breakdown>div:last-child{border:0}.home-power-breakdown span{font-size:var(--console-font-caption);color:var(--console-muted)}.home-power-breakdown b{font-family:Arial,sans-serif;font-size:22px;font-weight:400;color:var(--console-text)}.home-power>p{font-size:var(--console-font-caption);color:var(--console-muted);line-height:1.8;margin-top:18px!important}.home-attention-grid{display:grid;gap:0}.home-attention-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:baseline;width:100%;border:0;border-top:1px solid var(--console-line);border-radius:0;background:none;text-align:left;padding:16px 0;color:var(--console-text)}.home-attention-card:first-child{padding-top:3px;border:0}.home-attention-card:last-child{padding-bottom:0}.home-attention-card>span{font-size:var(--console-font-caption)}.home-attention-card strong{font-size:24px;color:var(--console-danger);font-family:Arial,sans-serif;font-weight:400}.home-attention-card small{font-size:var(--console-font-caption);grid-column:1/-1;color:var(--console-muted);line-height:1.7}.home-attention-card[role=button]{cursor:pointer}.alert-list{display:grid;gap:0;list-style:none;margin:0;padding:0}.alert-list li{display:flex;align-items:flex-start;gap:10px;padding:13px 0;border-bottom:1px solid var(--console-line);line-height:1.7;min-width:0}.alert-list li:last-child{padding-bottom:0;border:0}.alert-list .empty-item{font-size:var(--console-font-caption);color:var(--console-muted);padding:10px 0;white-space:normal}.alert-list .tag{font-size:var(--console-font-caption);flex-shrink:0;padding:2px 5px;border-radius:4px;background:var(--console-raised);color:var(--console-muted)}.alert-list .tag.red{background:#fff0ef;color:var(--console-danger)}.alert-list .tag.yellow{background:#fff6e8;color:var(--console-danger)}.alarm-copy,.ticket-copy{min-width:0;display:grid;gap:5px}.alert-list b{font-size:var(--console-font-caption);font-weight:500;overflow-wrap:anywhere;color:var(--console-text)}.alert-list small{font-size:var(--console-font-caption);color:var(--console-muted);overflow-wrap:anywhere}.home-secondary-metrics{display:grid;gap:14px}.home-secondary-metrics>div{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.home-secondary-metrics span{font-size:var(--console-font-caption);color:var(--console-muted)}.home-secondary-metrics b{font-size:var(--console-font-body);font-weight:500;color:var(--console-text)}.home-trend .trend-toolbar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:-5px;margin-bottom:8px}.trend-segments{display:flex;gap:3px;background:var(--console-raised);padding:3px;border:1px solid var(--console-line);border-radius:5px}.trend-segments button{min-width:33px;min-height:28px;border:0;background:none;color:var(--console-muted);border-radius:3px;font-size:var(--console-font-caption)}.trend-segments button.active{background:#fff;color:var(--console-accent);box-shadow:0 1px 4px #19375a0a}.trend-period-input{font-size:var(--console-font-caption);max-width:145px;min-height:33px;border:1px solid var(--console-line);border-radius:5px;padding:0 7px;background:#fff;color:var(--console-text)}.home-trend .unit{color:var(--console-muted);font-size:var(--console-font-caption);margin:5px 0 0}.home-trend .line-chart{display:block;width:100%;height:210px;min-height:0;max-height:none;overflow:visible;margin:8px 0 0}.trend-grid line{stroke:var(--console-line);stroke-dasharray:3 4}.trend-zero line{stroke:var(--console-line)}.trend-zero text,.trend-axis text,.trend-legend text{fill:var(--console-muted)}.trend-line--power{stroke:#427edc}.trend-line--load{stroke:#63b9a6}.trend-dot{fill:#427edc}.trend-area{fill:#6bbcab12}.trend-latest text,.trend-tooltip text{fill:var(--console-text)}.trend-tooltip rect{fill:#fff;stroke:var(--console-line)}.home-site-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-site-kpis>div{padding:14px;border:1px solid var(--console-line);border-radius:7px;min-width:0}.home-site-kpis span{font-size:var(--console-font-caption);color:var(--console-muted);display:block;line-height:1.7}.home-site-kpis strong{display:block;font-size:19px;font-family:Arial,Microsoft YaHei,sans-serif;font-weight:500;color:var(--console-text);margin-top:8px;overflow-wrap:anywhere}.home-site-kpis>div:last-child strong{font-size:var(--console-font-body);line-height:1.9}.home-site-name{font-size:var(--console-font-caption);font-weight:400;color:var(--console-muted);margin-left:9px}.home-site-window{display:flex;flex-wrap:wrap;gap:8px 15px;font-size:var(--console-font-caption);color:var(--console-muted);margin:14px 0!important}.home-site-window b{font-weight:400;color:var(--console-text)}.home-site-window span{margin-left:auto}.home-site .device-status-panel{position:static;display:block;background:none;border:0;box-shadow:none;padding:0;margin-top:14px}.home-site .device-status-panel>h2{display:none}.site-overview-switcher{display:flex;gap:7px;overflow:auto;margin-bottom:12px;padding-bottom:2px;scrollbar-width:thin}.site-overview-option{flex-shrink:0;display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--console-line);background:#fff;border-radius:5px;min-height:34px;color:var(--console-text);font-size:var(--console-font-caption)}.site-overview-option b{font-weight:400}.site-overview-option.is-active{border-color:var(--console-control-line);background:var(--console-selected);color:var(--console-accent)}.site-overview-option span{height:5px;width:5px;background:#8e9fb5;border-radius:50%}.site-overview-option [data-site-overview-status=在线]{background:#2ba68a}.site-overview-option [data-site-overview-status=异常]{background:#ce9b45}.site-live-card{display:grid;grid-template-columns:1fr;gap:15px;width:100%;border:1px solid var(--console-line);border-radius:8px;padding:16px;background:var(--console-raised);text-align:left;color:var(--console-text)}.site-live-card>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.site-live-card b{font-size:var(--console-font-caption);font-weight:500}.site-live-card span{font-size:var(--console-font-caption);color:var(--console-muted)}.site-live-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0}.site-live-card dt{font-size:var(--console-font-caption);color:var(--console-muted)}.site-live-card dd{font-size:var(--console-font-body);color:var(--console-text);margin:6px 0 0;font-family:Arial,sans-serif}.home-site-expand{display:none}.site-health-status{padding:10px 13px;background:var(--console-raised);border:1px solid var(--console-line);border-radius:6px;margin-bottom:13px;font-size:var(--console-font-caption);color:var(--console-muted);line-height:1.8}.site-health-status b{font-weight:500;margin-right:9px}.site-health-status[data-site-health=degraded]{background:#fffaf1;border-color:#f1e2c9;color:var(--console-danger)}.home-map .map-stage{position:relative;min-height:210px;height:210px;inset:auto;width:100%;margin:0;overflow:hidden;background:var(--console-raised);border-radius:8px}.home-map .world-map-shell{position:relative;inset:auto;width:100%;height:100%;transform:none;margin:0}.home-map .world-map{height:100%;width:100%}.home-map .map-empty{position:absolute;inset:0;display:grid;place-items:center;font-size:var(--console-font-caption);color:var(--console-muted);pointer-events:none}.home-map .map-empty.hidden{display:none}.workspace-footer{display:flex;justify-content:space-between;gap:20px;padding:25px 0 4px;color:var(--console-muted);font-size:var(--console-font-caption)}.data-sync-status{padding:12px;background:#fff8ec;border:1px solid #f1e1c4;border-radius:7px;color:var(--console-danger);margin-bottom:17px;font-size:var(--console-font-caption)}@media(min-width:1600px){.home-cockpit-grid{grid-template-columns:minmax(0,1fr) 326px}.home-kpi strong{font-size:32px}.home-kpi .home-energy-pair{font-size:27px}}@media(max-width:1199px){.home-cockpit-grid{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.home-main-column,.home-rail-right{gap:18px}.home-kpi{padding:0 17px}.home-kpi strong{font-size:25px}.home-kpi .home-energy-pair{font-size:20px}.home-kpi small{font-size:var(--console-font-caption)}.home-source-group{font-size:var(--console-font-caption);max-width:400px}.fleet-table th:first-child{width:30%}.fleet-table th:nth-child(5),.fleet-table td.fleet-capacity{display:none}.fleet-table th:nth-child(6){width:21%}.fleet-soc-track{display:none}.home-site-kpis{gap:8px}.home-site-kpis>div{padding:11px}.home-site-kpis strong{font-size:17px}.home-site-kpis span{font-size:var(--console-font-caption)}.home-power-total strong{font-size:23px}}@media(max-width:959px){.home-heading{flex-wrap:wrap}.home-source-group{max-width:none;width:100%;display:flex;flex-wrap:wrap;gap:5px 16px}.home-cockpit-grid{grid-template-columns:minmax(0,1fr) 240px;gap:16px}#dashboard-view .home-section{padding:18px}.home-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-kpi{padding:17px 19px;gap:8px}.home-kpi:nth-child(2){border-right:0}.home-kpi:nth-child(-n+2){border-bottom:1px solid var(--console-line)}#dashboard-view .home-fleet{padding:0}.home-kpi .home-energy-pair{font-size:24px}.home-kpi strong{min-height:32px}.fleet-table-wrap{margin:0 -18px}.fleet-table-footer{margin:0 -18px -18px;padding:12px 18px;font-size:var(--console-font-caption)}.fleet-table th:first-child,.fleet-table td:first-child{padding-left:18px}.fleet-table th:nth-child(4),.fleet-table td.fleet-soc{display:none}.fleet-table th:nth-child(3){width:23%}.fleet-table th:nth-child(2){width:17%}.fleet-table-tools{flex-wrap:wrap}.fleet-search,.fleet-search input{width:100%}.fleet-table td{padding:10px;font-size:var(--console-font-caption)}.fleet-station-name,.fleet-table td small{font-size:var(--console-font-caption)}.home-site-kpis{grid-template-columns:1fr 1fr}.home-site-kpis>div:last-child{grid-column:1/-1}.site-live-card dl{grid-template-columns:1fr 1fr}.home-power-total{align-items:flex-start;flex-direction:column;gap:12px}.home-power-total strong{font-size:27px}.home-power-breakdown span{font-size:var(--console-font-caption)}.home-section-heading h2{font-size:var(--console-font-body)}.home-section-heading{gap:10px}.home-site-name{display:block;margin:4px 0 0}.home-trend .line-chart{height:195px}.home-heading h1{font-size:27px}}@media(max-width:760px){.workspace-breadcrumb{font-size:var(--console-font-caption);margin-bottom:17px}.home-heading,.workbench-page-heading{gap:14px;min-height:0;margin-bottom:20px}.home-heading h1,.workbench-page-heading h1{font-size:25px}.home-eyebrow{font-size:var(--console-font-caption);letter-spacing:1.8px}.home-subtitle,.workbench-page-heading>div>p:last-child{font-size:var(--console-font-caption)}.home-source-group{font-size:var(--console-font-caption);gap:3px 10px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.home-kpi{padding:17px;gap:8px}.home-kpi>span:first-child{font-size:var(--console-font-caption)}.home-kpi strong{font-size:25px;min-height:32px}.home-kpi small{font-size:var(--console-font-caption)}.home-kpi .home-energy-pair{font-size:19px;line-height:1.7;letter-spacing:-.6px}.home-cockpit-grid{display:flex;flex-direction:column;gap:17px}.home-main-column,.home-rail-right{display:contents}.home-station-list{order:1;width:100%}.home-attention{order:2;width:100%}.home-site-alerts{order:3;width:100%}.home-tickets{order:4;width:100%}.home-trend{order:6;width:100%}.home-site{order:5;width:100%}.home-power{order:7;width:100%}.home-secondary{order:8;width:100%}.home-map{order:9;width:100%}#dashboard-view .home-section{padding:17px;border-radius:10px}.home-section-heading{margin-bottom:16px}.home-section-heading p,.home-scope,.home-text-link{font-size:var(--console-font-caption)}.home-kpi-grid{gap:0}#dashboard-view .home-fleet{padding:0;margin-bottom:17px}.fleet-table-tools{flex-wrap:nowrap;gap:10px}.fleet-segments button{min-height:35px;font-size:var(--console-font-caption);padding:0 8px}.fleet-search{width:auto;height:41px}.fleet-search input{width:112px;font-size:var(--console-font-caption)}.fleet-table-wrap{margin:0 -17px}.fleet-table th:first-child{width:43%;padding-left:17px}.fleet-table th:nth-child(2){width:25%}.fleet-table th:nth-child(3){width:32%;padding-right:17px}.fleet-table td:first-child{padding-left:17px}.fleet-table td:nth-child(3){padding-right:17px}.fleet-table th.fleet-update,.fleet-table td.fleet-update{display:none}.fleet-table th{padding:8px 9px;font-size:var(--console-font-caption)}.fleet-table td{height:73px;padding:12px 9px}.fleet-station-name{font-size:var(--console-font-caption);min-height:25px}.fleet-table td small{font-size:var(--console-font-caption);max-width:100%;line-height:1.7}.fleet-table td.fleet-number{font-size:var(--console-font-body)}.fleet-status{font-size:var(--console-font-caption);padding:4px 5px}.fleet-table-footer{padding:12px 17px;margin:0 -17px -17px;font-size:var(--console-font-caption);line-height:1.8}.fleet-table-footer>span:last-child{text-align:right;max-width:65%;font-size:var(--console-font-caption)}.home-power-total{flex-direction:row;align-items:baseline}.home-power-total strong{font-size:29px}.home-power-breakdown span{font-size:var(--console-font-caption)}.home-attention-card{padding:14px 0}.home-attention-card strong{font-size:24px}.home-attention-card>span{font-size:var(--console-font-caption)}.home-attention-card small{font-size:var(--console-font-caption)}.home-site-kpis{gap:8px}.home-site-kpis>div{padding:12px}.home-site-window{font-size:var(--console-font-caption)}.home-site-window span{margin-left:0}.home-site .device-status-panel{display:none}.home-site.is-expanded .device-status-panel{display:block}.home-site-expand{display:block;width:100%;border:1px solid var(--console-line);border-radius:6px;background:var(--console-raised);color:var(--console-muted);min-height:44px;font-size:var(--console-font-caption);margin-top:13px}.site-live-card dl{gap:15px}.home-trend .line-chart{height:210px}.home-trend .trend-toolbar{justify-content:flex-start;margin-top:0}.home-site-name{display:inline;margin-left:6px;font-size:var(--console-font-caption)}.home-map .map-stage{height:180px;min-height:180px}.workspace-footer{flex-direction:column;gap:8px;font-size:var(--console-font-caption);padding-top:22px}.home-source-group [data-home-source=directory]{grid-column:1/-1}.site-overview-switcher{max-height:110px;flex-wrap:wrap;overflow:auto}.site-overview-option{min-height:40px}.home-kpi>span.fleet-device-total{display:none}}@media(max-width:359px){.home-kpi{padding:15px 12px}.home-kpi strong{font-size:23px}.home-kpi .home-energy-pair{font-size:17px}.fleet-search input{width:86px}.fleet-segments button{padding:0 6px;font-size:var(--console-font-caption)}.fleet-table td,.fleet-station-name{font-size:var(--console-font-caption)}.fleet-status{font-size:var(--console-font-caption);padding:3px 4px}.home-site-name{display:block;margin:5px 0 0}.home-section-heading h2{font-size:var(--console-font-body)}}:root{color-scheme:light;--bg: var(--console-background);--panel: var(--console-surface);--panel-strong: var(--console-raised);--line: var(--console-line);--cyan: var(--console-accent);--blue: var(--console-accent);--green: var(--console-success);--yellow: var(--console-warning);--red: var(--console-danger);--text: var(--console-text);--muted: var(--console-muted)}html{font-size:100%;height:auto;min-height:100%;overflow-x:clip;overflow-y:auto}body{height:auto;min-height:100%;overflow-x:clip;overflow-y:auto;background:var(--console-background);color:var(--console-text);font-family:Arial,Noto Sans CJK SC,Microsoft YaHei,PingFang SC,sans-serif;font-size:var(--console-font-body)}body:has(.page-view.active){background:var(--console-background)}button,input,select,textarea{font:inherit}button{touch-action:manipulation}#app-shell{display:block;width:100%;height:auto;min-height:100vh;max-width:none;padding:0;overflow:visible}#app-shell .app-main{height:auto;min-height:0;max-width:1600px;width:100%;padding:25px 38px 24px;margin:0 auto;overflow:visible}#app-shell .view.active{display:block;height:auto;min-height:0;overflow:visible}#app-shell .page-surface{height:auto;min-height:0;max-height:none}#app-shell .topbar{display:flex;position:relative;align-items:center;gap:23px;height:74px;min-height:74px;padding:0 38px;border:0;border-bottom:1px solid var(--console-line);background:#fff;box-shadow:none}#app-shell .topbar:before,#app-shell .title-frame:before,#app-shell .title-frame:after{display:none}#app-shell .brand{display:flex;align-items:baseline;gap:12px;min-height:0;padding:0;transform:none;margin:0;flex-shrink:0}#app-shell .brand-mark{font-family:Arial,sans-serif;font-size:29px;font-weight:800;line-height:1;letter-spacing:-1px;color:var(--console-success);text-shadow:none}#app-shell .brand-name{font-size:var(--console-font-caption);font-weight:400;letter-spacing:1px;color:var(--console-text);padding-left:12px;border-left:1px solid var(--console-line);white-space:nowrap}#app-shell .timebox,#app-shell .top-actions{display:none}#app-shell .topbar__center{position:static;inset:auto;grid-column:auto;order:initial;display:block;margin:0;width:auto;height:auto;pointer-events:auto}#app-shell .title-frame{display:block;height:auto;min-height:0;width:auto;margin:0;padding:0;border:0;background:none;box-shadow:none;clip-path:none}#app-shell .title-frame h1{font-size:var(--console-font-body);font-weight:400;line-height:1.5;color:var(--console-text);text-shadow:none;letter-spacing:.3px;margin:0}#app-shell .title-frame small{display:none}#app-shell .auth-chip{position:static;display:flex;align-items:center;gap:10px;transform:none;grid-column:auto;margin-left:auto;padding:0;border:0;background:none;box-shadow:none;max-width:50%;font-size:var(--console-font-caption);color:var(--console-text)}#app-shell .auth-chip>span{overflow-wrap:anywhere;max-width:150px}#app-shell .auth-chip button{min-height:36px;border:1px solid var(--console-line);border-radius:6px;background:var(--console-raised);color:var(--console-text);font-size:var(--console-font-caption);box-shadow:none;white-space:nowrap}#app-shell .auth-chip .notification-action{border:0;background:transparent}#app-shell .main-nav{display:flex;position:relative;justify-content:flex-start;align-items:center;gap:32px;width:100%;height:53px;min-height:53px;margin:0;padding:0 38px;overflow-x:auto;overflow-y:hidden;background:#fff;border-bottom:1px solid var(--console-line);scrollbar-width:none}#app-shell .main-nav::-webkit-scrollbar{display:none}#app-shell .main-nav .nav-item{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;flex:0 0 auto;min-width:0;max-width:none;width:auto;min-height:53px;height:53px;margin:0;padding:0 1px;border:0;border-radius:0;background:none;color:var(--console-text);clip-path:none;text-shadow:none;box-shadow:none;font-size:var(--console-font-body);font-weight:400;white-space:nowrap}#app-shell .main-nav .nav-item.active{color:var(--console-accent);background:none;font-weight:600}#app-shell .main-nav .nav-item.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;border-radius:2px 2px 0 0;background:var(--console-accent)}#app-shell .main-nav .nav-item>span{font-size:16px;color:inherit}#app-shell :is(button,input,select,summary,a):focus-visible,#modal :is(button,input,select,summary,a):focus-visible{outline:2px solid var(--console-control-line);outline-offset:3px}#app-shell input[type=checkbox],#modal input[type=checkbox]{accent-color:var(--console-accent)}:is(#app-shell,#modal,#login-gate) :is(.table-screen,.station-toolbar,.station-pane,.station-groups,.station-flow,.result-card,.overview-cards>div,.kpi,.detail-block,.ops-frame,.ops-secondary,.detail-center aside,.strategy-sheet,.ems-source-card,.ems-config-list>div,.ems-summary-head,.ems-device-control-grid section,.ems-control-console,.ems-map-card,.dispatch-execution,.dispatch-summary,.dispatch-window,.dispatch-device-card,.dispatch-evidence,.dispatch-editor,.dispatch-log-row,.energy-report,.energy-summary>div,.energy-source-note,.diagnostics-panel,.diagnostic-card,.diagnostics-summary>div,.diagnostics-evidence,.reconciliation-card,.command-confirmation,.command-result,.toast){background:#fff;border-color:var(--console-line);color:var(--console-heading);box-shadow:none;text-shadow:none}:is(#app-shell,#modal) :is(h1,h2,h3,h4,h5,b,strong){color:var(--console-heading);text-shadow:none}:is(#app-shell,#modal) :is(label,dt,small,summary){color:var(--console-text);text-shadow:none}:is(#app-shell,#modal) :is(p,.ems-eyebrow,.ems-reading-note,.ems-scope-tag,.signal-source,.page-subtitle,.table-subtitle){color:var(--console-muted);text-shadow:none}:is(#app-shell,#modal) :is(.tag,.badge,.status-badge,.mode-badge,.ems-scope-tag,.ems-status-pill,.signal-status,.kpi small){background:var(--console-raised);border-color:var(--console-line);color:var(--console-muted);box-shadow:none}:is(#app-shell,#modal) :is(.tag.red,.tag.danger,.is-error,.error-text,.text-danger,.is-issue){color:var(--console-danger)}:is(#app-shell,#modal) :is(.tag.green,.tag.ok,.status-online,.normal-text){color:var(--console-success);background:var(--console-raised)}:is(#app-shell,#modal) :is(input:not([type=checkbox]):not([type=radio]),select,textarea,.field-select>button){background:#fff;color:var(--console-text);border-color:var(--console-line);box-shadow:none;border-radius:6px}#app-shell .field-select>button i{color:var(--console-muted)}#app-shell .field label,#app-shell .kpi b{color:var(--console-text)}#app-shell .kpi span{color:var(--console-muted)}#app-shell .filter-menu,#app-shell .row-menu{background:#fff;border-color:var(--console-line);box-shadow:0 10px 24px #24446614}#app-shell .filter-menu button,#app-shell .row-menu button{color:var(--console-muted);background:none}#app-shell .filter-menu button:is(:hover,.selected),#app-shell .row-menu button:hover{color:var(--console-accent);background:var(--console-selected)}:is(#app-shell,#modal) .btn-ghost{background:#fff;color:var(--console-muted);border:1px solid var(--console-line);box-shadow:none}#app-shell .btn-primary,#modal .btn-primary{background:var(--console-accent);border-color:var(--console-accent);color:#fff;box-shadow:none}:is(#app-shell,#modal) button:disabled{opacity:.55;cursor:not-allowed}:is(#app-shell,#modal) :is(table,tbody,td){background:transparent;color:var(--console-text);border-color:var(--console-line)}#app-shell th,#modal th{background:var(--console-raised);color:var(--console-muted);border-color:var(--console-line)}:is(#app-shell,#modal) table tr:nth-child(2n){background:var(--console-raised)}:is(#app-shell,#modal) td small{color:var(--console-muted)}:is(#app-shell,#modal) :is(pre,code,.raw-payload,.ems-raw-data){background:var(--console-raised);color:var(--console-muted);border-color:var(--console-line)}#app-shell .table-title h1{font-size:28px;font-weight:600;color:var(--console-heading)}#app-shell .table-title small{color:var(--console-muted)}#app-shell .table-frame{background:#fff;border:1px solid var(--console-line);border-radius:10px}#app-shell .page-btn,#app-shell .page-num{background:#fff;border-color:var(--console-line);color:var(--console-muted)}#app-shell .page-num.active{background:var(--console-selected);border-color:var(--console-control-line);color:var(--console-accent)}#app-shell .table-action,#app-shell .list-actions button{background:var(--console-raised);border-color:var(--console-line);color:var(--console-muted)}#app-shell .list-actions .btn-primary{background:var(--console-accent);color:#fff}#app-shell .row-more>button{background:var(--console-raised);color:var(--console-muted);border-color:var(--console-line)}#app-shell #station-workspace{height:auto;min-height:0}#app-shell .station-workbench{height:auto;min-height:0;padding:0;display:block}#app-shell .workbench-page-heading h1{color:var(--console-heading)}#app-shell .workbench-page-heading>.btn-ghost{align-self:flex-end;font-size:var(--console-font-caption);min-height:35px}#app-shell .station-toolbar{display:grid;grid-template-columns:auto minmax(165px,1fr) minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 23px;border-radius:12px 12px 0 0;border:1px solid var(--console-line);border-bottom:0;margin:0}#app-shell .station-toolbar>button{font-size:var(--console-font-caption);min-height:36px}#app-shell .station-toolbar h2{font-size:16px;margin:5px 0 0;font-weight:600}#app-shell .station-toolbar p{font-size:var(--console-font-caption);margin:0;color:var(--console-muted)}#app-shell .station-toolbar label{font-size:var(--console-font-caption);gap:6px;grid-column:auto}#app-shell .station-toolbar select{font-size:var(--console-font-caption);height:36px}#app-shell .station-check-time{color:var(--console-muted);font-size:var(--console-font-caption);overflow-wrap:anywhere}#app-shell .station-context-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 23px 20px;margin-bottom:22px;background:#fff;border:1px solid var(--console-line);border-top:0;border-radius:0 0 12px 12px}#app-shell .station-context-stats>div{padding:0 23px;border-right:1px solid var(--console-line);min-width:0}#app-shell .station-context-stats>div:first-child{padding-left:0}#app-shell .station-context-stats>div:last-child{border:0}#app-shell .station-context-stats span{font-size:var(--console-font-caption);color:var(--console-muted);display:block;line-height:1.6;margin-bottom:9px}#app-shell .station-context-stats strong{font-family:Arial,sans-serif;font-size:21px;font-weight:400;color:var(--console-text);overflow-wrap:anywhere}#app-shell .station-context-stats small{font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .station-workbench-layout{display:block;height:auto;min-height:0}#app-shell .station-groups{display:flex;flex-direction:row;align-items:center;gap:5px;border:1px solid var(--console-line);border-radius:10px;padding:6px;background:#fff;margin-bottom:18px;overflow:auto;scrollbar-width:thin}#app-shell .station-groups button{display:flex;align-items:center;flex-shrink:0;gap:8px;min-height:36px;padding:7px 16px;border:0;border-radius:6px;background:none;color:var(--console-muted)}#app-shell .station-groups button.active{background:var(--console-selected);color:var(--console-accent)}#app-shell .station-groups button b{font-size:var(--console-font-caption);font-weight:400;color:inherit}#app-shell .station-groups button small{font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .station-groups p{display:none}#app-shell .station-pane{border:1px solid var(--console-line);border-radius:12px;overflow:visible;height:auto;min-width:0;padding:0}#app-shell .station-section-head{padding:20px 23px 8px;align-items:center}#app-shell .station-section-head h3{font-size:17px;margin:4px 0 0;font-weight:500}#app-shell .station-section-head .ems-eyebrow{font-size:var(--console-font-caption);letter-spacing:2px;color:var(--console-muted)}#app-shell .station-section-head>span{font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .station-subnav{margin:0;padding:0 23px;border-bottom:1px solid var(--console-line);background:transparent;gap:25px;scrollbar-width:thin}#app-shell .station-subnav button{position:relative;border:0;background:none;color:var(--console-muted);font-size:var(--console-font-caption);padding:10px 0;min-height:43px;border-radius:0;white-space:nowrap}#app-shell .station-subnav button.active{color:var(--console-accent);background:none}#app-shell .station-subnav button.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--console-accent)}#app-shell .station-panel{padding:23px;min-width:0}#app-shell .station-loading{background:#fff;border:1px solid var(--console-line);border-radius:10px;color:var(--console-muted)}#app-shell .station-flow{background:var(--console-raised);border-color:var(--console-line)}#app-shell .station-flow b{color:var(--console-accent)}#app-shell .station-flow :is(span,small,p){color:var(--console-muted)}#app-shell .device-monitor{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}#app-shell .device-monitor-layout{display:contents}#app-shell .device-monitor-filters{grid-column:2;display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin:0;padding:0 0 19px;border-bottom:1px solid var(--console-line)}#app-shell .device-monitor-filters label:first-child{flex:1 1 190px;min-width:0;gap:8px}#app-shell .device-monitor-filters label{font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .device-monitor-filters input[type=search]{height:37px;padding:0 10px;color:var(--console-text);font-size:var(--console-font-caption)}#app-shell .device-monitor-filters .device-monitor-issues{min-height:30px;font-size:var(--console-font-caption);white-space:nowrap;gap:5px}#app-shell .device-monitor-filters .device-monitor-issues input{width:13px;height:13px;accent-color:var(--console-accent)}#app-shell .device-monitor-filters .btn-ghost{min-height:32px;font-size:var(--console-font-caption);padding:0 10px}#app-shell .monitor-view-switch{display:flex;padding:3px;background:var(--console-raised);border:1px solid var(--console-line);border-radius:5px;flex-shrink:0}#app-shell .monitor-view-switch button{min-height:28px;border:0;border-radius:3px;background:none;font-size:var(--console-font-caption);color:var(--console-muted);padding:0 10px}#app-shell .monitor-view-switch [aria-pressed=true]{background:#fff;color:var(--console-accent);box-shadow:0 1px 3px #2447650b}#app-shell .device-monitor-navigator{grid-column:1;grid-row:1 / span 3;border:1px solid var(--console-line);background:#fff;border-radius:9px;overflow:hidden;min-width:0;position:sticky;top:16px}#app-shell .device-monitor-navigator>summary{display:none}#app-shell .device-monitor-tree{border:0;border-radius:0;padding:10px;max-height:760px;overflow:auto;background:#fff;scrollbar-width:thin}#app-shell .monitor-tree-heading{display:flex;align-items:center;gap:8px;justify-content:space-between;padding:9px 6px 18px;color:var(--console-text);font-size:var(--console-font-caption)}#app-shell .monitor-tree-heading b{font-size:var(--console-font-caption);font-weight:400;color:var(--console-muted);margin-left:6px}#app-shell .monitor-tree-heading>button{display:none}#app-shell .device-monitor-tree>button,#app-shell .device-monitor-tree section>button{border:0;background:none;display:grid;gap:6px;padding:12px 10px;color:var(--console-muted);width:100%;border-radius:5px;min-height:44px;overflow-wrap:anywhere}#app-shell .device-monitor-tree b{font-size:var(--console-font-caption);font-weight:500;color:inherit;line-height:1.6}#app-shell .device-monitor-tree small{font-size:var(--console-font-caption);color:var(--console-muted);font-weight:400}#app-shell .device-monitor-tree section{border-top:1px solid var(--console-line);padding-top:6px;margin-top:6px}#app-shell .monitor-cabinet-index{color:var(--console-muted);font-size:var(--console-font-caption)}#app-shell .device-monitor-branches{display:grid;gap:2px;margin-left:15px;border-left:1px solid var(--console-line);padding-left:5px}#app-shell .device-monitor-branches button{display:flex;align-items:center;gap:8px;min-height:37px;padding:8px 11px;background:none;color:var(--console-muted);border:0;border-radius:4px;font-size:var(--console-font-caption)}#app-shell .device-monitor-tree button.active{background:var(--console-selected);color:var(--console-accent);border-color:transparent;box-shadow:none}#app-shell .device-monitor-tree button:hover{background:var(--console-raised)}#app-shell .device-monitor-tree .is-issue{color:var(--console-danger)}#app-shell .monitor-module-icon{font-size:15px;color:inherit}#app-shell .device-monitor-results{grid-column:2;min-width:0}#app-shell .device-monitor-selection{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px;padding:0 0 20px;border:0;margin:0}#app-shell .monitor-selection-path{font-size:var(--console-font-caption);line-height:1.8;color:var(--console-muted);margin:0 0 8px}#app-shell .device-monitor-selection h4{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:500;margin:0 0 12px;overflow-wrap:anywhere;color:var(--console-text)}#app-shell .device-monitor-selection h4 span{font-size:var(--console-font-caption);font-weight:400;background:var(--console-raised);border:1px solid var(--console-line);color:var(--console-success);padding:3px 6px;border-radius:4px}#app-shell .device-monitor-selection h4 span.is-issue{background:#fff8ec;border-color:#f0e3ca;color:var(--console-danger)}#app-shell .device-monitor-selection [role=status],#app-shell .device-monitor-selection [role=status] small{font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .monitor-asof{font-size:var(--console-font-caption);line-height:1.8;color:var(--console-muted);margin:8px 0 0}#app-shell .device-monitor-selection>div:last-child{display:flex;align-items:center;gap:7px;max-width:100%;flex-wrap:wrap}#app-shell .device-monitor-selection .btn-ghost{font-size:var(--console-font-caption);min-height:33px;padding:0 10px;overflow-wrap:anywhere;white-space:normal}#app-shell .device-monitor-actions{background:var(--console-raised);border:1px solid var(--console-line);border-radius:6px;padding:7px 11px;font-size:var(--console-font-caption);max-width:100%}#app-shell .device-monitor-actions>div{display:grid;gap:7px;padding-top:10px;max-height:220px;overflow:auto}#app-shell .monitor-signal-groups{display:grid;gap:23px}#app-shell .monitor-signal-group>h4{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--console-font-caption);color:var(--console-text);font-weight:500;margin:0 0 13px;border-left:2px solid var(--console-accent);padding-left:8px}#app-shell .monitor-signal-group>h4 small{font-size:var(--console-font-caption);font-weight:400;color:var(--console-muted);overflow-wrap:anywhere;text-align:right}#app-shell .device-monitor-table-wrap{border:1px solid var(--console-line);border-radius:7px;background:#fff;max-width:100%;overflow:auto;scrollbar-width:thin}#app-shell .device-monitor-table{font-size:var(--console-font-caption);line-height:1.7}#app-shell .device-monitor-table :is(td,th){padding:12px;font-size:var(--console-font-caption);line-height:1.7;border-color:var(--console-line)}#app-shell .device-monitor-table td:nth-child(2){min-width:145px}#app-shell .device-monitor-table td small{font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .device-monitor-value>span{font-family:Arial,sans-serif;font-size:17px;color:var(--console-text)}#app-shell .signal-status{font-size:var(--console-font-caption);color:var(--console-success);background:none}#app-shell .signal-status.is-issue{color:var(--console-danger);background:none}#app-shell .device-monitor-reading-notes{grid-column:2;display:block;background:var(--console-raised);border:1px solid var(--console-line);padding:13px 16px;border-radius:7px;font-size:var(--console-font-caption);margin:0;color:var(--console-muted)}#app-shell .device-monitor-reading-notes summary{color:var(--console-muted);font-size:var(--console-font-caption)}#app-shell .device-monitor-reading-notes p{font-size:var(--console-font-caption);line-height:1.8;color:var(--console-muted);margin:12px 0 0}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table-wrap{border:0;border-radius:0;overflow:visible}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table{display:block;width:100%;min-width:0}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table tbody{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--console-line);border-left:1px solid var(--console-line);border-radius:6px;overflow:hidden}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table tr{display:flex;flex-direction:column;gap:9px;min-width:0;min-height:113px;padding:15px;border-right:1px solid var(--console-line);border-bottom:1px solid var(--console-line);background:#fff}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table td{display:block;border:0;padding:0;min-width:0;max-width:100%;line-height:1.5;text-align:left;white-space:normal;overflow-wrap:anywhere}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table td:first-child,#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table td:last-child{display:none}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-signal-name{font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table td.device-monitor-value{display:flex;align-items:baseline;gap:5px;flex-wrap:wrap;margin-top:auto}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-value>span{font-family:Arial,Microsoft YaHei,sans-serif;font-size:25px;font-weight:400;color:var(--console-text);overflow-wrap:anywhere;line-height:1.25}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-value>small{font-size:var(--console-font-caption);color:var(--console-muted);display:inline-block}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table td:nth-child(4){min-height:14px}#app-shell .device-monitor[data-presentation=parameters] .signal-status{font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .device-monitor[data-presentation=parameters] .signal-status.is-issue{color:var(--console-danger)}#app-shell .device-monitor[data-presentation=parameters] [data-signal-state=alarm]{background:#fffcf6}#app-shell .device-monitor[data-presentation=parameters] [data-signal-state=stale] .device-monitor-value>span,#app-shell .device-monitor[data-presentation=parameters] [data-signal-state=unknown] .device-monitor-value>span,#app-shell .device-monitor[data-presentation=parameters] [data-signal-state=missing] .device-monitor-value>span{color:var(--console-muted)}#app-shell .device-monitor[data-show-keys=false] .signal-source{display:none}#app-shell .device-monitor[data-show-keys=true] .signal-source{display:block;font-size:var(--console-font-caption);color:var(--console-muted);margin-top:5px;overflow-wrap:anywhere}.monitor-drawer-scrim{display:none}#modal{background:#253b5657;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#modal .modal-card{border:1px solid var(--console-line);background:#fff;box-shadow:0 25px 80px #1c3b5b26;color:var(--console-text);border-radius:13px}#modal .modal-close{color:var(--console-muted);background:var(--console-raised);border-color:var(--console-line)}#modal #modal-title{color:var(--console-text);border-color:var(--console-line)}#modal :is(.modal-tabs,.detail-center,.ems-device-tabs,.ems-device-status,.ems-device-freshness){background:var(--console-raised);border-color:var(--console-line)}#modal :is(.modal-tabs button,.detail-center aside button,.ems-device-tabs button){color:var(--console-muted);background:none;border-color:var(--console-line)}#modal :is(.modal-tabs button.active,.detail-center aside button.active,.ems-device-tabs button.active){background:var(--console-selected);color:var(--console-accent)}#login-gate{background:#33496357;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}#login-gate .login-panel{border:1px solid var(--console-line);background:#fff;box-shadow:0 25px 80px #1d3c5e26}#login-gate .login-panel:before{background:var(--console-selected)}#login-gate .login-close{background:var(--console-raised);color:var(--console-muted)}#login-gate .login-heading h2{color:var(--console-text)}#login-gate :is(.login-heading p,.login-form label,.login-footer,.login-brand small){color:var(--console-muted)}#login-gate .login-brand span{color:var(--console-success)}#login-gate .login-form input{border-color:var(--console-line);background:#fff;color:var(--console-text)}#login-gate .login-password-toggle{color:var(--console-muted);background:none}#login-gate .login-submit{background:var(--console-accent);color:#fff;box-shadow:none;border-color:var(--console-accent)}#login-gate .login-error{color:var(--console-danger)}#app-shell :is(.dispatch-device-card,.dispatch-timeline,.dispatch-notes,.dispatch-observation-summary,.dispatch-plan-state,.dispatch-freshness,.energy-report-toolbar,.energy-report-summary,.energy-report-notes,.diagnostics-toolbar,.diagnostics-summary,.diagnostics-timeline,.operations-context,.operations-alarm-panel,.strategy-observation,.list-workspace-context,.list-workspace-toolbar){background:var(--console-raised);border-color:var(--console-line);color:var(--console-muted)}#app-shell :is(.dispatch-timeline .is-active,.station-groups button.active,.station-subnav button.active){border-color:var(--console-control-line)}#app-shell :is(.dispatch-timeline span,.dispatch-timeline small,.dispatch-observations small,.energy-report-notes p,.diagnostics-summary span){color:var(--console-muted)}#app-shell :is(.dispatch-timeline b,.dispatch-summary b,.dispatch-observations b,.energy-summary b,.energy-report-summary b){color:var(--console-muted)}#app-shell :is(.dispatch-controls,.dispatch-evidence-list,.operations-tabs,.list-workspace-tabs){background:#fff;border-color:var(--console-line)}#app-shell :is(.dispatch-controls button,.operations-tabs button,.list-workspace-tabs button){color:var(--console-muted);background:var(--console-raised);border-color:var(--console-line)}#app-shell :is(.operations-tabs button.active,.list-workspace-tabs button.active){color:var(--console-accent);background:var(--console-selected);border-color:var(--console-control-line)}@media(max-width:1199px){#app-shell .topbar,#app-shell .main-nav{padding-left:26px;padding-right:26px}#app-shell .app-main{padding:23px 26px}#app-shell .main-nav{gap:27px}#app-shell .device-monitor{grid-template-columns:210px minmax(0,1fr);gap:18px}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table tbody{grid-template-columns:repeat(3,minmax(0,1fr))}#app-shell .station-toolbar{gap:12px;padding:18px}#app-shell .station-toolbar h2{font-size:var(--console-font-body)}#app-shell .station-panel{padding:20px}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-value>span{font-size:22px}#app-shell .station-groups button{padding-inline:13px}}@media(max-width:959px){#app-shell .app-main{padding:22px 20px}#app-shell .topbar,#app-shell .main-nav{padding-left:20px;padding-right:20px}#app-shell .topbar{gap:16px}#app-shell .topbar__center h1{font-size:var(--console-font-caption)}#app-shell .station-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:15px}#app-shell .station-toolbar>button:first-child{grid-column:2;grid-row:1}#app-shell .station-toolbar label{grid-column:1;grid-row:1;max-width:100%}#app-shell .station-check-time{grid-column:1;grid-row:2}#app-shell .station-toolbar>button:last-child{grid-column:2;grid-row:2}#app-shell .station-context-stats{padding-inline:18px}#app-shell .station-context-stats>div{padding-inline:16px}#app-shell .station-context-stats strong{font-size:18px}#app-shell .station-context-stats span{font-size:var(--console-font-caption)}#app-shell .device-monitor{grid-template-columns:190px minmax(0,1fr);gap:16px}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table tbody{grid-template-columns:repeat(2,minmax(0,1fr))}#app-shell .device-monitor-selection h4{font-size:19px}#app-shell .station-groups button{padding:7px 10px;gap:6px}#app-shell .station-groups button b{font-size:var(--console-font-caption)}#app-shell .station-panel{padding:18px}#app-shell .device-monitor-filters label:first-child{flex-basis:100%}#app-shell .monitor-signal-group>h4{font-size:var(--console-font-caption);align-items:flex-start}#app-shell .monitor-signal-group>h4 small{font-size:var(--console-font-caption);max-width:45%}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table tr{padding:13px}#app-shell .station-section-head,#app-shell .station-subnav{padding-inline:18px}}@media(max-width:760px){#app-shell .topbar{height:61px;min-height:61px;padding:0 17px;gap:10px}#app-shell .brand{gap:8px}#app-shell .brand-mark{font-size:26px}#app-shell .brand-name{font-size:var(--console-font-caption);padding-left:8px;letter-spacing:0}#app-shell .topbar__center{display:none}#app-shell .auth-chip{gap:7px;max-width:47%;font-size:var(--console-font-caption)}#app-shell .auth-chip button{min-height:33px;font-size:var(--console-font-caption);padding-inline:9px}#app-shell .auth-chip>span{max-width:78px}#app-shell .main-nav{height:48px;min-height:48px;padding:0 17px;gap:24px;display:flex;overflow-x:auto;overflow-y:hidden}#app-shell .main-nav .nav-item{height:48px;min-height:48px;font-size:var(--console-font-caption);width:auto;min-width:0;flex:0 0 auto;padding:0}#app-shell .main-nav .nav-item>span{font-size:var(--console-font-body)}#app-shell .app-main{padding:22px 17px}#app-shell .table-screen{padding:0;min-width:0}#app-shell .table-title h1{font-size:25px}#app-shell .workbench-page-heading{align-items:flex-start}#app-shell .workbench-page-heading>.btn-ghost{display:none}#app-shell .station-toolbar{padding:16px 17px 13px;gap:13px}#app-shell .station-toolbar h2{font-size:var(--console-font-body);line-height:1.7}#app-shell .station-toolbar p{font-size:var(--console-font-caption)}#app-shell .station-toolbar>button{font-size:var(--console-font-caption);min-height:38px;padding:0 10px}#app-shell .station-toolbar label{font-size:var(--console-font-caption);gap:5px}#app-shell .station-toolbar select{font-size:var(--console-font-caption);height:38px}#app-shell .station-context-stats{padding:0 17px 17px;margin-bottom:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}#app-shell .station-context-stats>div{padding:0 12px;border:0}#app-shell .station-context-stats>div:nth-child(odd){padding-left:0}#app-shell .station-context-stats>div:nth-child(2n){border-left:1px solid var(--console-line)}#app-shell .station-context-stats span{font-size:var(--console-font-caption);margin-bottom:7px}#app-shell .station-context-stats strong{font-size:18px}#app-shell .station-context-stats small{font-size:var(--console-font-caption)}#app-shell .station-groups{margin-bottom:15px;padding:5px;gap:3px}#app-shell .station-groups button{min-height:39px;padding:7px 12px;gap:0}#app-shell .station-groups button small{display:none}#app-shell .station-groups button b{font-size:var(--console-font-caption)}#app-shell .station-pane{border-radius:10px}#app-shell .station-section-head{padding:17px 17px 10px;gap:10px}#app-shell .station-section-head h3{font-size:15px}#app-shell .station-section-head>span{font-size:var(--console-font-caption);max-width:48%}#app-shell .station-subnav{padding:0 17px;gap:22px}#app-shell .station-subnav button{min-height:44px;font-size:var(--console-font-caption)}#app-shell .station-panel{padding:17px}#app-shell .device-monitor{gap:17px}#app-shell .device-monitor-filters{padding-bottom:16px;gap:10px}#app-shell .device-monitor-filters label:first-child{font-size:var(--console-font-caption)}#app-shell .device-monitor-filters input[type=search]{height:41px}#app-shell .monitor-view-switch button{min-height:34px;font-size:var(--console-font-caption)}#app-shell .device-monitor-filters .device-monitor-issues{font-size:var(--console-font-caption);min-height:30px;gap:4px}#app-shell .device-monitor-filters .btn-ghost{min-height:33px;font-size:var(--console-font-caption)}#app-shell .device-monitor-selection{gap:13px;padding-bottom:19px}#app-shell .device-monitor-selection h4{font-size:19px}#app-shell .monitor-selection-path{font-size:var(--console-font-caption);overflow-wrap:anywhere}#app-shell .device-monitor-selection [role=status],#app-shell .device-monitor-selection [role=status] small,#app-shell .monitor-asof{font-size:var(--console-font-caption)}#app-shell .monitor-signal-group>h4{font-size:var(--console-font-caption);margin-bottom:14px}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table tr{padding:14px 12px;min-height:118px;gap:10px}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-signal-name{font-size:var(--console-font-caption)}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-value>span{font-size:24px}#app-shell .device-monitor[data-presentation=parameters] .signal-status{font-size:var(--console-font-caption)}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-value>small{font-size:var(--console-font-caption)}#app-shell .device-monitor-reading-notes{font-size:var(--console-font-caption);padding:13px}#app-shell .device-monitor-reading-notes summary,#app-shell .device-monitor-reading-notes p{font-size:var(--console-font-caption)}.workbench-page-heading p{line-height:1.7}}@media(max-width:700px){#app-shell .device-monitor{display:flex;flex-direction:column;gap:16px}#app-shell .device-monitor-filters{width:100%;order:2}#app-shell .device-monitor-navigator{position:static;width:100%;order:1;overflow:visible;border-radius:6px}#app-shell .device-monitor-navigator>summary{display:flex;align-items:center;gap:8px;justify-content:space-between;min-height:44px;list-style:none;padding:12px 13px;color:var(--console-muted);font-size:var(--console-font-caption);cursor:pointer}#app-shell .device-monitor-navigator>summary:after{content:"⌄";color:var(--console-muted)}#app-shell .device-monitor-navigator:not([open]) .device-monitor-tree{display:none}#app-shell .device-monitor-navigator[open]{position:fixed;top:12px;bottom:12px;left:12px;width:min(310px,85vw);max-height:calc(100dvh - 24px);overflow:auto;z-index:71;background:#fff;border:1px solid var(--console-line);border-radius:10px;box-shadow:0 12px 40px #203d5e28}#app-shell .device-monitor-navigator[open]>summary{border-bottom:1px solid var(--console-line);position:sticky;top:0;background:#fff;z-index:1;font-size:var(--console-font-caption)}#app-shell .device-monitor-tree{max-height:none}#app-shell .device-monitor-tree section>button{padding:12px;min-height:44px}#app-shell .device-monitor-tree b{font-size:var(--console-font-caption)}#app-shell .device-monitor-branches{display:grid;gap:2px}#app-shell .device-monitor-branches button{width:100%;min-height:44px;font-size:var(--console-font-caption)}#app-shell .monitor-tree-heading>button{display:block;border:0;background:var(--console-raised);color:var(--console-muted);padding:0;min-height:44px;width:44px;text-align:center;font-size:22px}#app-shell .monitor-drawer-scrim{display:block;position:fixed;inset:0;z-index:70;width:100%;height:100%;border:0;background:#2c455b50}#app-shell .device-monitor-results{width:100%;order:3}#app-shell .device-monitor-reading-notes{width:100%;order:4}#app-shell .device-monitor-table :is(td,th){padding:10px}.monitor-drawer-scrim[hidden]{display:none}}@media(max-width:359px){#app-shell .app-main{padding:20px 13px}#app-shell .topbar,#app-shell .main-nav{padding-inline:13px}#app-shell .brand-name{display:none}#app-shell .station-panel{padding:13px}#app-shell .station-section-head,#app-shell .station-subnav{padding-inline:13px}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-value>span{font-size:22px}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-table tr{padding:13px 10px}#app-shell .station-context-stats,#app-shell .station-toolbar{padding-inline:13px}#app-shell .device-monitor-selection h4{font-size:17px}}#app-shell:has(.page-view.active) .app-main{height:auto;min-height:0;max-width:1600px;width:100%;padding:25px 38px 24px;margin:0 auto;overflow:visible}#app-shell .home-power-total strong{color:var(--console-accent)}#app-shell .home-map .world-map-shell:after,#app-shell .home-map .map-stage:before,#app-shell .home-map .map-stage:after{display:none}#app-shell .home-map .world-map-shell,#app-shell .home-map .world-map{background:none;box-shadow:none;filter:none}#app-shell .alert-list li{background:transparent}#app-shell .site-health-status b{background:transparent;color:var(--console-success)}#app-shell .strategy-observation .observation-grid>div,#app-shell .strategy-observation .observation-summary>div,#app-shell .strategy-observation .observation-metrics>div{background:var(--console-raised);border-color:var(--console-line)}#app-shell .mobile-table-filter-toggle{background:#fff;border-color:var(--console-line);color:var(--console-muted)}#app-shell .table-screen tbody tr,#app-shell .table-screen tbody tr:nth-child(2n){background:#fff}#app-shell .trend-empty{fill:var(--console-muted);font-size:var(--console-font-caption);font-weight:400}#app-shell .home-map .map-empty{transform:none;border:0;background:var(--console-surface);color:var(--console-muted)}:is(#app-shell,#modal) .empty-state{background:var(--console-surface);color:var(--console-muted)}#app-shell .trend-axis text,#app-shell .trend-legend text,#app-shell .trend-zero text{font-size:var(--console-font-caption)}#app-shell .trend-value-label{fill:var(--console-muted);font-size:var(--console-font-caption)}#app-shell .station-groups button.active{box-shadow:none}#app-shell #station-workspace[data-station-group=monitoring] .station-section-head{display:none}@media(max-width:1199px){#app-shell:has(.page-view.active) .app-main{padding:23px 26px}}@media(max-width:959px){#app-shell:has(.page-view.active) .app-main{padding:22px 20px}}@media(max-width:760px){#app-shell:has(.page-view.active) .app-main{padding:22px 17px}#app-shell .station-context-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:0}#app-shell .station-context-stats>div{padding:0 10px;border-right:1px solid var(--console-line);border-left:0!important}#app-shell .station-context-stats>div:first-child{padding-left:0}#app-shell .station-context-stats>div:last-child{border:0}#app-shell .station-context-stats span{font-size:var(--console-font-caption);line-height:1.8}#app-shell .station-context-stats strong{font-size:15px}#app-shell .station-context-stats small{font-size:var(--console-font-caption)}#app-shell .station-toolbar{padding-top:13px;padding-bottom:13px;gap:11px}#app-shell .station-toolbar p{display:none}#app-shell .station-toolbar .station-identity h2{margin:0}#app-shell .station-toolbar select{height:35px}#app-shell .station-toolbar>button{min-height:35px}#app-shell .station-toolbar label{gap:4px}#app-shell .device-monitor-selection{padding-bottom:13px}#app-shell .device-monitor-selection h4{margin-bottom:8px}#app-shell .monitor-selection-path{margin-bottom:6px}#app-shell .monitor-asof{margin-top:5px}}@media(max-width:359px){#app-shell:has(.page-view.active) .app-main{padding:20px 13px}#app-shell .station-context-stats>div{padding:0 7px}#app-shell .station-context-stats strong{font-size:var(--console-font-body)}#app-shell .station-context-stats span{font-size:var(--console-font-caption)}}#app-shell .strategy-evidence>div{background:var(--console-raised);border-color:var(--console-line)}#app-shell .strategy-evidence>div:last-child{background:var(--console-raised);border-color:var(--console-line)}#app-shell .strategy-evidence span{color:var(--console-muted)}#app-shell .strategy-evidence b{color:var(--console-text)}#app-shell .table-screen,#app-shell .table-frame{background:none;border:0;border-radius:0;box-shadow:none;padding:0}#app-shell .list-intro{width:100%}#app-shell .list-heading{min-height:84px;margin-bottom:7px;align-items:center}#app-shell .list-heading .home-eyebrow{font-size:var(--console-font-caption);letter-spacing:2px;line-height:normal;color:var(--console-muted);margin:0 0 7px;font-weight:500}#app-shell .list-title-line{margin-bottom:7px}#app-shell .home-heading h1{margin:0}#app-shell .list-heading h1{font-size:28px;line-height:1.45;font-weight:600;letter-spacing:-.6px;margin:0;color:var(--console-heading)}#app-shell .list-heading>div>p:last-child{font-size:var(--console-font-caption);line-height:1.7;color:var(--console-text)}#app-shell .list-eyebrow{border-color:var(--console-line);color:var(--console-muted);background:var(--console-raised)}#app-shell .table-scroll{background:#fff;border-color:var(--console-line);border-radius:9px}@media(max-width:760px){#app-shell .list-heading{min-height:0;margin:0}#app-shell .list-heading .home-eyebrow{font-size:var(--console-font-caption);letter-spacing:1.8px}#app-shell .list-heading h1{font-size:25px}#app-shell .list-heading>div>p:last-child{font-size:var(--console-font-caption)}}#app-shell .home-kpi .home-energy-pair{white-space:normal;line-height:1.4}#app-shell .main-nav{grid-template-columns:none}@media(max-width:700px){#app-shell .device-monitor-results{display:flex;flex-direction:column}#app-shell .device-monitor-selection{display:contents}#app-shell .device-monitor-selection>div:first-child{order:1;padding-bottom:18px}#app-shell .device-monitor-selection>div:last-child{order:3;margin-top:18px}#app-shell .monitor-signal-groups,#app-shell .device-monitor-results>.result-card{order:2}}:is(#app-shell,#modal) .ems-constraint-card{background:#fff;border-color:var(--console-line);color:var(--console-muted)}:is(#app-shell,#modal) .ems-constraint-card.is-limited{background:#fffaf1;border-color:#f0e2c9}#app-shell .dispatch-evidence-chain>div{background:var(--console-raised);border-color:var(--console-line)}#app-shell .dispatch-evidence-chain>div:last-child{background:var(--console-raised);border-color:var(--console-line)}#app-shell .dispatch-evidence-chain b,#app-shell .dispatch-evidence-chain span,#app-shell .dispatch-evidence-chain small{color:var(--console-muted)}#app-shell .dispatch-timeline li{background:#fff;border-color:var(--console-line)}#app-shell .dispatch-timeline li.is-active{background:var(--console-selected);border-color:var(--console-control-line)}#app-shell .dispatch-timeline-track{background:var(--console-raised)}#app-shell .dispatch-editor-section>summary{background:var(--console-raised);border-color:var(--console-line);color:var(--console-muted)}#app-shell .schedule-editor>div{background:var(--console-raised);border-color:var(--console-line)}#app-shell .ems-diagnostic-filters{background:var(--console-raised);border-color:var(--console-line)}:is(#app-shell,#modal) legend{color:var(--console-muted)}#app-shell .data-table td.status-offline{color:var(--console-danger)}#app-shell .data-table td.status-online{color:var(--console-success)}:is(#app-shell,#modal) .tag.red,:is(#app-shell,#modal) .tag.danger{background:#fff1ef;color:var(--console-danger)}#app-shell .device-monitor[data-presentation=parameters] .device-monitor-signal-name{color:var(--console-text)}@media(max-width:760px){#app-shell .station-context-stats span{min-height:29px}#app-shell .station-context-stats strong{white-space:nowrap}}#app-shell .home-trend :is(.trend-line,.trend-dot,.trend-value-label){filter:none;text-shadow:none}#app-shell .home-trend .trend-value-label{stroke:none;paint-order:normal;font-weight:400}#toast-host .toast{background:#fff;color:var(--console-muted);border-color:var(--console-line);box-shadow:0 8px 24px #28496915}#toast-host .toast.success{background:var(--console-raised);border-color:var(--console-line);color:var(--console-success)}#toast-host .toast.warning{background:#fffaf2;border-color:#efdfc3;color:var(--console-danger)}#toast-host .toast.error{background:#fff6f4;border-color:#f0d9d5;color:var(--console-danger)}#app-shell .topbar,#app-shell .main-nav,#app-shell .device-monitor-tree{background:var(--console-navigation)}#app-shell .main-nav .nav-item.active{background:var(--console-selected);box-shadow:10px 0 var(--console-selected),-10px 0 var(--console-selected)}#app-shell .device-monitor-tree button.active,#app-shell .device-monitor-tree button.active:hover,#app-shell .monitor-view-switch [aria-pressed=true],#app-shell .trend-segments button.active{background:var(--console-selected);color:var(--console-accent)}#app-shell .device-monitor-tree button.active,#app-shell .station-groups button.active{box-shadow:inset 3px 0 var(--console-accent)}:is(#app-shell,#modal,#login-gate) input::placeholder,:is(#app-shell,#modal,#login-gate) textarea::placeholder{color:var(--console-muted);opacity:1}:is(#app-shell,#modal) .btn-primary:hover,#login-gate .login-submit:hover{background:var(--console-accent-hover);color:#fff}:is(#app-shell,#modal) :is(.tag.red,.tag.danger,.error-text,.text-danger),#login-gate .login-error{color:var(--console-danger)}#app-shell .device-monitor[data-presentation=parameters] [data-signal-state=alarm]{background:#fff1ef}#app-shell [data-signal-state=alarm] .signal-status{color:var(--console-danger)}:is(#app-shell,#modal) :is(.home-kpi strong,.station-context-stats strong,.device-monitor-value>span){font-weight:600}#app-shell .station-context-stats :is(span,small),#app-shell .device-monitor-tree small,#app-shell .device-monitor[data-presentation=parameters] :is(.device-monitor-value>small,.signal-status,.signal-source){font-size:var(--console-font-caption)}#app-shell .station-context-stats span{min-height:2.9em}#toast-host .toast.error{color:var(--console-danger)}:is(#app-shell,#modal) :is(.site-health-status span,.pagination span,.pagination em,.table-empty span,.ops-data-status span,.ops-frame-title,.ops-node span,.ops-soc em,.ops-schedule-preview em,.ops-gauges span,.ems-summary-head span,.ems-device-freshness span,.ems-device-metrics span,.ack-row span,.ems-control-warning span,.dispatch-today summary span,.dispatch-timeline-axis span,.dispatch-editor-section summary em,.form-grid label>span,.schedule-editor label>span,.ems-control-fields em,.alarm-page-controls span,.ems-config-list span,.ems-config-list em,.ems-diagnostic-events span,.ems-source-grid span,.ems-source-card li,.telemetry-device-title span,.telemetry-device-title em,.telemetry-table-title span){color:var(--console-muted);text-shadow:none}:is(#app-shell,#modal) :is(.ems-constraint-card dd,.ems-diagnostic-events time){color:var(--console-text)}:is(#app-shell,#modal) .ems-constraint-card header>span{color:var(--console-success);background:#eef8f4}:is(#app-shell,#modal) .ems-constraint-card.is-limited header>span{color:var(--console-warning);background:#fff8ec}:is(#app-shell,#modal) :is(.ops-data-status,.ops-node,.ops-soc,.ops-gauges>div,.ems-device-metrics>div,.ems-source-grid>div,.ack-panel,.ack-panel section,.ack-row,.ack-nested,.telemetry-device-title,.telemetry-table-title){background:var(--console-raised);border-color:var(--console-line);box-shadow:none}#app-shell .alarm-status-tabs button{background:var(--console-raised);border-color:var(--console-control-line);color:var(--console-text)}#app-shell .alarm-status-tabs button.active{background:var(--console-selected);color:var(--console-accent);box-shadow:inset 0 -2px var(--console-accent)}:is(#app-shell,#modal) :is(.ops-soc>span,.ems-device-command-status span){color:var(--console-muted)}:is(#app-shell,#modal) .ems-device-command-status>div{background:var(--console-raised);border-color:var(--console-line)}#app-shell .device-monitor[data-presentation] [data-signal-state=missing] .signal-status.is-issue,#app-shell .device-monitor[data-presentation] [data-signal-state=unknown] .signal-status.is-issue,#app-shell .device-monitor[data-presentation] [data-signal-state=offline] .signal-status.is-issue{color:var(--console-muted)}#app-shell .device-monitor[data-presentation] [data-signal-state=stale] .signal-status.is-issue{color:var(--console-warning)}.alarm-navigation-context,.alarm-context-evidence{min-width:0;padding:16px;border:1px solid #a3b9a9;border-radius:12px;background:#f3f8f4;color:#293b32;overflow-wrap:anywhere}.alarm-navigation-context{margin-bottom:20px}.alarm-navigation-context .alarm-context-evidence{padding:0;border:0}.alarm-context-evidence h3{margin:0 0 10px;color:#172b22;font-size:15px}.alarm-context-evidence p{margin:8px 0;line-height:1.7;font-size:var(--console-font-body)}.alarm-context-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.alarm-context-actions .btn-ghost{min-height:40px}#modal .ticket-detail-workspace{color:#293b32}#modal .ticket-detail-workspace :is(.detail-grid>div,.ticket-confirm-grid>div,.summary-cards>div,.record-list>div,.result-card){background:#f3f8f4;border-color:#a3b9a9;color:#293b32}#modal .ticket-detail-workspace :is(.detail-grid b,.ticket-confirm-grid b,.summary-cards b,.record-list b,.result-card b,.timeline b){color:#172b22}#modal .ticket-detail-workspace :is(.ticket-confirm-grid span,.summary-cards span,.summary-cards p,.record-list time,.record-list p,.timeline time,.timeline p,.result-card span){color:#293b32}#modal .ticket-detail-workspace .tab-strip{flex-wrap:wrap}#modal .ticket-detail-workspace .tab-strip button{min-height:40px;background:#fff;border:1px solid #a3b9a9;color:#293b32}#modal .ticket-detail-workspace .tab-strip button.active{background:#256747;border-color:#256747;color:#fff}#app-shell #station-workspace[data-station-group=monitoring] .station-panel{color:var(--console-text)}#app-shell #station-workspace[data-station-group=monitoring] .ems-section-intro{margin:0 0 20px;padding:0;align-items:flex-start}#app-shell #station-workspace[data-station-group=monitoring] .ems-section-intro h3{margin:6px 0;color:var(--console-heading);font-size:18px;line-height:1.5}#app-shell #station-workspace[data-station-group=monitoring] .ems-section-intro p{margin:0;color:var(--console-muted);font-size:var(--console-font-caption);line-height:1.8}#app-shell #station-workspace[data-station-group=monitoring] .ems-section-intro .ems-eyebrow{color:var(--console-muted);font-size:var(--console-font-caption)}#app-shell .realtime-device-list{display:grid;gap:18px}#app-shell .realtime-device-list>.ems-section-intro{margin-bottom:0}#app-shell .realtime-device-list .telemetry-device-block{min-width:0;border:1px solid var(--console-line);border-radius:10px;background:var(--console-surface)}#app-shell .realtime-device-list :is(.telemetry-device-title,.telemetry-table-title){border-color:var(--console-line);background:var(--console-raised);padding:12px 14px}#app-shell .realtime-device-list .telemetry-device-title{flex-wrap:wrap}#app-shell .realtime-device-list .telemetry-device-title>div{min-width:0}#app-shell .realtime-device-list :is(.telemetry-device-title h4,.telemetry-table-title h4){color:var(--console-heading);font-weight:600;line-height:1.6}#app-shell .realtime-device-list .telemetry-device-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:var(--console-font-caption);color:var(--console-muted)}#app-shell .realtime-device-list .telemetry-freshness{background:#eef8f4;border:1px solid var(--console-line);color:var(--console-success);border-radius:4px;padding:2px 6px}#app-shell .realtime-device-list .telemetry-freshness.is-issue{background:#fff8ec;color:var(--console-warning)}#app-shell .realtime-device-list .telemetry-device-groups{display:block;column-count:2;column-gap:12px;padding:14px}#app-shell .realtime-device-list .telemetry-table-block{min-width:0;border:1px solid var(--console-line);background:var(--console-surface);border-radius:6px;margin:0 0 12px;break-inside:avoid}#app-shell .realtime-device-list .telemetry-table{width:100%;min-width:0;font-size:var(--console-font-caption);line-height:1.7}#app-shell .realtime-device-list .telemetry-table :is(th,td){height:auto;color:var(--console-text);border-color:var(--console-line);white-space:normal;overflow-wrap:anywhere;text-overflow:clip;vertical-align:top;padding:9px 12px}#app-shell .realtime-device-list .telemetry-table thead th{background:var(--console-navigation)}#app-shell .realtime-device-list .telemetry-table tbody tr:nth-child(2n) td{background:var(--console-raised)}@media(max-width:760px){#app-shell .realtime-device-list .telemetry-device-groups{column-count:1;padding:10px}#app-shell .realtime-device-list :is(.telemetry-device-title,.telemetry-table-title){padding:10px;gap:8px}#app-shell .realtime-device-list .telemetry-device-meta{width:100%}#app-shell .realtime-device-list .telemetry-table :is(th,td){padding:8px;font-size:var(--console-font-caption)}}#modal [data-ticket-editor]{color:var(--console-text)}#modal [data-ticket-editor] :is(.sub-title,.form-grid label>span,.ticket-choice-grid b,.ticket-picker b){color:var(--console-heading);text-shadow:none}#modal [data-ticket-editor] :is(.ticket-choice-grid span,.input-hint,.input-watch em){color:var(--console-muted)}#modal [data-ticket-editor] :is(.ticket-choice-grid button,.ticket-picker button){position:relative;min-width:0;min-height:44px;padding:12px 34px 12px 14px;border:1px solid var(--console-control-line);border-radius:8px;background:var(--console-surface);color:var(--console-text);box-shadow:none;overflow-wrap:anywhere}#modal [data-ticket-editor] :is(.ticket-choice-grid button,.ticket-picker button):hover{border-color:var(--console-accent)}#modal [data-ticket-editor] :is(.ticket-choice-grid button.active,.ticket-picker button.active){background:var(--console-selected);border-color:var(--console-accent);color:var(--console-accent);box-shadow:none}#modal [data-ticket-editor] :is(.ticket-choice-grid button.active,.ticket-picker button.active):after{content:"✓";position:absolute;right:10px;top:12px;font-weight:700}#modal [data-ticket-editor] .ticket-choice-grid button.active :is(b,span){color:var(--console-accent)}#modal [data-ticket-editor] .ticket-picker>div{min-width:0;flex-wrap:wrap;border:1px solid var(--console-line);border-radius:8px;background:var(--console-raised)}#modal [data-ticket-editor] .ticket-picker b{flex-basis:100%}#modal [data-ticket-editor] .input-watch.is-editing textarea,#modal [data-ticket-editor] :is(input,select,textarea):focus{border-color:var(--console-accent);outline:2px solid var(--console-accent);outline-offset:2px;box-shadow:none}#modal [data-ticket-editor] .field-error :is(input,select,textarea){border-color:var(--console-danger)!important;outline-color:var(--console-danger)}#modal [data-ticket-editor] .modal-actions{flex-wrap:wrap}#modal [data-ticket-editor] .modal-actions button{min-height:44px}:root{scrollbar-color:var(--console-scrollbar-thumb) var(--console-scrollbar-track)}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:var(--console-scrollbar-track)}::-webkit-scrollbar-thumb{border-radius:999px;background:var(--console-scrollbar-thumb)}::-webkit-scrollbar-thumb:hover{background:var(--console-scrollbar-hover)}::-webkit-scrollbar-thumb:active{background:var(--console-accent)}@media(forced-colors:active){:root{scrollbar-color:auto}::-webkit-scrollbar-track,::-webkit-scrollbar-corner{background:Canvas}::-webkit-scrollbar-thumb{background:CanvasText}::-webkit-scrollbar-thumb:hover,::-webkit-scrollbar-thumb:active{background:Highlight}}body{line-height:1.6}:is(#app-shell,#modal,#login-gate,#toast-host) small{font-size:var(--console-font-caption)}:is(#app-shell,#modal,#login-gate) :is(input,select,textarea){font-size:var(--console-font-control)!important;line-height:1.5}:is(#app-shell,#modal) :is(.data-table,.telemetry-table,.device-monitor-table){font-size:var(--console-font-body)}:is(#app-shell,#modal) :is(th,td){font-size:var(--console-font-body);line-height:1.6}#app-shell .main-nav .nav-item{font-size:var(--console-font-control)}#app-shell .main-nav{min-height:52px}#app-shell .main-nav .nav-item,:is(#app-shell,#modal) :is(.btn-primary,.btn-ghost){min-height:44px}#app-shell .station-subnav{flex-wrap:wrap}:is(#app-shell,#modal) :is(.form-grid label,.input-hint,.ems-reading-note){line-height:1.7}#app-shell .page-view.table-view .list-actions :is(button,.row-more>button){height:44px;min-height:44px}@media(max-width:760px){#app-shell .station-context-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}#app-shell .station-context-stats>div{padding:0;border:0}#app-shell .station-context-stats span{min-height:0;margin-bottom:6px}#app-shell .station-context-stats strong{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px;white-space:normal}}@media(max-width:700px){#app-shell .device-monitor-filters{gap:8px;padding-bottom:8px}#app-shell .device-monitor-selection>div:first-child{padding-bottom:8px}#app-shell .device-monitor-selection h4{margin-bottom:6px}#app-shell .monitor-selection-path,#app-shell .monitor-asof{margin-block:4px}}#app-shell :is(#strategy-view,#tickets-view) :is(.table-screen,.table-frame){background:transparent}#app-shell .operations-context{background:transparent;margin-bottom:0}#app-shell .operations-tabs{padding:0;gap:24px;border:0;border-bottom:1px solid var(--console-line);border-radius:0;background:transparent}#app-shell .operations-tabs button{min-height:44px;padding:8px 4px;background:transparent;border:0;border-bottom:3px solid transparent;border-radius:0;font-size:var(--console-font-body);color:var(--console-text)}#app-shell .operations-tabs button.active{background:transparent;color:var(--console-accent);border-bottom-color:var(--console-accent);font-weight:600}#app-shell .operations-filter-bar{display:grid;gap:8px;margin:0}#app-shell .operations-quick-filters{display:flex;flex-wrap:wrap;gap:8px}#app-shell .operations-quick-filters button{min-height:38px;padding:8px 12px;border-radius:var(--console-radius-control);border:1px solid var(--console-line);background:var(--console-surface);color:var(--console-text);font-size:var(--console-font-caption)}#app-shell .operations-quick-filters button[aria-pressed=true]{color:var(--console-accent);border-color:var(--console-control-line);background:var(--console-selected);font-weight:600}#app-shell .operations-filter-bar p{color:var(--console-muted);font-size:var(--console-font-caption);margin:0}#app-shell .operations-alarm-panel{background:transparent}#app-shell .operations-alarm-panel .overview-cards{gap:12px;grid-auto-rows:minmax(100px,auto);margin:0 0 16px}#app-shell .operations-alarm-panel .overview-cards>div{display:grid;justify-items:start;gap:8px;height:auto;overflow:visible;padding:16px;border:1px solid var(--console-line);border-radius:var(--console-radius-panel);background:var(--console-surface)}#app-shell .operations-alarm-panel .overview-cards b{color:var(--console-heading);line-height:1.6;overflow:visible}#app-shell .operations-alarm-panel .overview-cards span{white-space:normal;overflow:visible;overflow-wrap:anywhere}#app-shell .operations-alarm-panel .alarm-lifecycle-controls{padding:12px 0;margin-bottom:8px}:is(#app-shell,#modal) .alarm-event-card{padding:18px;border-radius:var(--console-radius-panel);background:var(--console-surface);color:var(--console-text)}:is(#app-shell,#modal) .alarm-event-badges{display:flex;flex-wrap:wrap;gap:8px}:is(#app-shell,#modal) :is(.alarm-event-status,.alarm-event-priority){padding:4px 8px;border:1px solid var(--console-line);border-radius:var(--console-radius-control);color:var(--console-muted);background:var(--console-raised);font-size:var(--console-font-caption)}:is(#app-shell,#modal) .alarm-event-status.is-active{color:var(--console-warning);background:#fff8ec}:is(#app-shell,#modal) .alarm-event-status.is-resolved{color:var(--console-success)}:is(#app-shell,#modal) .alarm-event-priority.is-urgent{color:var(--console-danger);background:#fff1ef}:is(#app-shell,#modal) .alarm-event-summary{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:12px}:is(#app-shell,#modal) .alarm-event-summary p{display:grid;gap:6px;margin:0;min-width:0;overflow-wrap:anywhere}:is(#app-shell,#modal) .alarm-event-summary b{color:var(--console-muted);font-weight:400}:is(#app-shell,#modal) .alarm-event-summary span{color:var(--console-text)}:is(#app-shell,#modal) .alarm-event-details{border-top:1px solid var(--console-line);padding-top:8px}:is(#app-shell,#modal) .alarm-event-details>summary{color:var(--console-accent);padding:8px 0;cursor:pointer;min-height:38px}:is(#app-shell,#modal) .alarm-event-details .alarm-query-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:8px}:is(#app-shell,#modal) .alarm-event-details .alarm-query-details>span{border:0;padding:10px 12px;border-radius:var(--console-radius-control);background:var(--console-raised)}:is(#app-shell,#modal) .alarm-event-details .alarm-query-details b{color:var(--console-muted);font-weight:400}#app-shell .strategy-observation{padding:20px;background:var(--console-surface);border:1px solid var(--console-line);border-radius:var(--console-radius-panel);margin-bottom:0}#app-shell .strategy-observation h2,#app-shell .strategy-directory-heading h2{color:var(--console-heading);font-size:18px;margin:0;line-height:1.6}#app-shell .strategy-observation header p{margin-top:6px}#app-shell .strategy-evidence>div{background:var(--console-raised);border-color:var(--console-line);border-radius:var(--console-radius-control);padding:14px}#app-shell .strategy-directory{display:flex;flex-direction:column;gap:16px;min-width:0}#app-shell .strategy-directory-heading{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:0}#app-shell .dispatch-state-labels{display:flex;flex-direction:column;align-items:flex-start;gap:8px}#app-shell .dispatch-state-labels>span{color:var(--console-text);font-size:var(--console-font-caption)}#app-shell .dispatch-state-labels .is-warning{color:var(--console-warning)}#app-shell .dispatch-freshness-label{border:1px solid var(--console-line);border-radius:var(--console-radius-control);background:var(--console-raised);padding:2px 6px}@media(max-width:700px){#app-shell .operations-tabs{flex-wrap:nowrap}#app-shell .operations-tabs button{flex:0 0 auto}#app-shell .operations-quick-filters button{min-height:44px}#app-shell .operations-alarm-panel .overview-cards{grid-template-columns:repeat(2,minmax(0,1fr))}:is(#app-shell,#modal) .alarm-event-summary,:is(#app-shell,#modal) .alarm-event-details .alarm-query-details{grid-template-columns:minmax(0,1fr)}:is(#app-shell,#modal) .alarm-event-details>summary{min-height:44px}#app-shell .strategy-observation{padding:16px}#app-shell .dispatch-observations-wrap{border:0;border-radius:0}#app-shell .dispatch-observations tbody{display:grid;gap:12px}#app-shell .dispatch-observations tr,#app-shell .dispatch-observations tr:nth-child(2n){border:1px solid var(--console-line);border-radius:var(--console-radius-panel);padding:12px;background:var(--console-surface)}#app-shell .dispatch-observations td:first-child{display:block;grid-column:1 / -1;width:auto;max-width:none;text-align:left}#app-shell .dispatch-observations td:first-child button{display:block;width:auto;min-width:44px;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid var(--console-line);background:var(--console-raised);color:var(--console-accent);justify-self:start;align-self:start;font-weight:600;margin:0 0 4px}#app-shell .dispatch-observations td:before{color:var(--console-muted)}}
