
:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;color:#e7f2ff;background:#06132e;font-synthesis:none;--cyan:#62e4e9;--gold:#ffc76d;--blue:#769dff;--mint:#73e3bf;--screen-line:#35609160;--subtle:#8fa6c7}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #8fecfa;outline-offset:4px}button{color:inherit}button:disabled{opacity:.5;cursor:wait}.screen-shell{height:100dvh;min-height:620px;padding:0 24px 10px;display:grid;grid-template-rows:78px minmax(0,1fr) 25px;gap:12px;background:radial-gradient(ellipse at 51% 43%,#11376e88,transparent 55%),linear-gradient(155deg,#071a3d,#061027);overflow:hidden}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--screen-line)}.screen-brand{display:flex;align-items:center;gap:13px}.brand-orbit{width:43px;height:43px;display:grid;place-items:center;font-size:30px;font-weight:700;color:#b9faff;border:1px solid #69cee699;border-radius:14px;background:linear-gradient(140deg,#28649f99,#174183);box-shadow:0 0 25px #2bb2df30}.screen-brand h1{font-size:clamp(19px,1.7vw,28px);font-weight:650;letter-spacing:.05em;margin:0 0 3px}.screen-brand div>span{font-size:10px;letter-spacing:.12em;color:var(--subtle)}.screen-brand i{font-style:normal;color:#445f88;margin:0 6px}.header-center,.screen-actions{display:flex;align-items:center;gap:16px}.live-indicator{font-size:11px;color:#acd9dc;display:flex;align-items:center;gap:7px}.live-indicator i{width:7px;height:7px;border-radius:50%;background:#6de1b4;box-shadow:0 0 12px #6de1b4}.live-indicator.offline i{background:#ffc76d;box-shadow:none}.simulation-tag,.tiny-badge{border:1px solid #618bc747;border-radius:7px;padding:4px 7px;font-size:10px;color:#a5c2e8;background:#21457850;white-space:nowrap}.screen-actions time{font-size:17px;color:#c1d7ef;font-variant-numeric:tabular-nums}.action-primary{display:inline-flex;align-items:center;justify-content:center;gap:20px;background:linear-gradient(145deg,#348cf8,#1766dd);border:1px solid #69b3ff80;border-radius:12px;padding:11px 16px;font-size:12px;font-weight:600;box-shadow:0 5px 18px #0968eb30}.action-primary:hover{filter:brightness(1.14)}.icon-button{border:1px solid var(--screen-line);background:#142c54;border-radius:10px;padding:8px 10px;font-size:20px}.dashboard-grid{display:grid;grid-template-columns:minmax(205px,.95fr) minmax(490px,3fr) minmax(235px,1.12fr);gap:14px;min-height:0}.dashboard-column,.center-column{display:grid;gap:14px;min-height:0;min-width:0}.left-column{grid-template-rows:1fr 1.46fr 1.12fr}.right-column{grid-template-rows:1.38fr 1fr 1fr}.center-column{grid-template-rows:88px minmax(0,1fr) 132px}.glass-panel{border:1px solid var(--screen-line);border-radius:18px;background:linear-gradient(145deg,#1533656b,#0b224854);box-shadow:inset 0 1px 0 #739ecc0c,0 10px 28px #00000012;min-height:0;min-width:0;overflow:hidden;padding:16px;display:flex;flex-direction:column}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:7px;flex-shrink:0;min-height:22px}.panel-title h2{font-size:13px;letter-spacing:.04em;font-weight:650;margin:0;color:#d9eaff}.panel-title .eyebrow{display:block;font-size:9px;letter-spacing:.17em;color:#6fb9da;margin-bottom:5px}.detail-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #639bf160;background:#24589750;color:#b7dbff;border-radius:8px;font-size:10px;padding:4px 8px;white-space:nowrap}.detail-button span{font-size:16px;line-height:12px}.detail-button:hover{background:#2c68b299;border-color:#79b6ff}.project-orbit{display:flex;align-items:center;flex:1;min-height:0;gap:8px}.project-orbit svg{width:76px;flex-shrink:0}.project-orbit div{min-width:0}.project-orbit span{font-size:12px;display:block;color:#cee5fa}.project-orbit strong{font-size:10px;color:#86a6d0;font-weight:500}.project-orbit small{font-size:9px;color:#6e8aaf;display:block;margin-top:6px}.project-metrics{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--screen-line);padding-top:10px;gap:8px}.project-metrics span{font-size:9px;display:block;color:var(--subtle)}.project-metrics strong{font-size:15px;color:#b9d9ff;display:block;margin-top:5px}.project-metrics small{font-size:10px}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.metric-grid>div{padding:10px;background:#14356b50;border:1px solid #3862944d;border-radius:10px;min-width:0}.metric-grid span{display:block;font-size:10px;color:#90aacf}.metric-grid strong{font-size:22px;color:var(--cyan);font-variant-numeric:tabular-nums;display:inline-block;margin-top:4px}.metric-grid small{font-size:9px;margin-left:4px;color:#7e9fbe}.soc-row{display:flex;align-items:center;gap:13px;margin-top:auto;padding-top:12px}.mini-donut{width:70px;height:70px;border-radius:50%;position:relative;background:conic-gradient(var(--cyan) calc(var(--soc,0)*1%),#263d61 0);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.mini-donut:before{content:"";position:absolute;inset:6px;background:#112a50;border-radius:50%}.mini-donut span,.mini-donut small{z-index:1}.mini-donut span{font-size:17px;font-variant-numeric:tabular-nums}.mini-donut small{font-size:8px;color:#93aac9}.soc-copy span,.soc-copy small{display:block;font-size:10px;color:var(--subtle)}.soc-copy strong{font-size:12px;color:#a9dcd9;display:block;margin:7px 0}.soc-copy small{font-size:9px}.status-list{display:grid;gap:11px;margin:17px 0}.status-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.status-list dt{font-size:10px;color:var(--subtle);white-space:nowrap}.status-list dd{font-size:11px;margin:0;text-align:right;color:#b8d2ef}.info-caption{font-size:9px;color:#7892b4;line-height:1.7;border-top:1px solid var(--screen-line);padding-top:8px;margin-top:auto}.value-strip{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:1px;border:1px solid var(--screen-line);border-radius:16px;overflow:hidden;background:#24447277}.value-strip>div{min-width:0;padding:13px 12px;background:#102a50;display:flex;flex-direction:column;justify-content:center;position:relative}.value-strip span{font-size:10px;color:#91add0;display:block}.value-strip strong{font-size:16px;color:#a9d7ff;font-weight:550;display:block;white-space:nowrap;margin-top:6px}.value-total strong{font-size:24px;color:var(--gold);margin-top:3px}.value-strip b{font-weight:650;font-variant-numeric:tabular-nums}.value-strip small{font-size:8px;color:#7998bc;margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.value-strip .detail-button{align-self:flex-start;padding:2px 6px;margin-top:5px;font-size:8px;position:absolute;right:9px;bottom:6px}.value-strip>div:last-child strong{margin-bottom:12px}.flow-stage{padding:14px 16px 9px;position:relative;background:radial-gradient(ellipse at center,#13458050,transparent 70%),#0b23432b}.flow-note{font-size:9px;color:#719dbe}.flow-layout{position:relative;flex:1;min-height:0;margin-top:4px}.flow-wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.orbit-track{fill:none;stroke:#2488c752;stroke-width:1.2}.orbit-inner{fill:none;stroke:#4599df38;stroke-width:1;stroke-dasharray:5 8}.orbit-ticks{fill:none;stroke:#36ade66b;stroke-width:13;stroke-dasharray:3 10}.flow-line{stroke:var(--cyan);stroke-width:2;fill:none;stroke-dasharray:8 10;animation:flow 14s linear infinite;filter:drop-shadow(0 0 5px #39a9ef);opacity:.85}.flow-line.inactive{stroke:#43638b;opacity:.35;stroke-dasharray:3 8;animation:none}.flow-line.reverse{stroke:var(--gold)}@keyframes flow{to{stroke-dashoffset:-360}}.energy-node{position:absolute;transform:translate(-50%,-50%);width:140px;display:flex;flex-direction:column;align-items:center;padding:0 5px 6px;border:1px solid transparent;border-radius:13px;background:transparent;z-index:2;transition:background .18s,border-color .18s,filter .18s}.energy-node:hover,.energy-node:focus-visible{border-color:#5fabed80;background:#22528f45;filter:drop-shadow(0 0 12px #31aad94a)}.energy-node svg{width:126px;height:82px;filter:drop-shadow(0 9px 7px #001b3770);margin-bottom:0}.node-name{font-size:11px;color:#d4eaff;display:flex;align-items:center;gap:8px}.node-name i{font-style:normal;background:#366da190;border-radius:4px;width:15px;line-height:15px;color:#94d6ff}.energy-node strong{font-size:18px;color:#67dcec;font-variant-numeric:tabular-nums;line-height:1.5}.energy-node small{font-size:9px;font-weight:400;color:#88a6c5}.grid-node{left:12%;top:49%}.solar-node{left:30%;top:19%}.storage-node{left:28%;top:80%}.building-node{left:84%;top:35%}.charging-node{left:78%;top:80%}.energy-hub{position:absolute;left:52%;top:49%;transform:translate(-50%,-50%);width:clamp(120px,12vw,195px);aspect-ratio:1;border-radius:50%;padding:0;border:1px solid #74d8ff9c;z-index:3;background:radial-gradient(circle at 40% 30%,#327aca88,#0c326970 67%,#1a5ba2a6);box-shadow:0 0 0 9px #5d9dea12,0 0 0 22px #298de50b,0 0 40px #309ee830,inset 0 0 20px #67c2ff40}.energy-hub:hover{box-shadow:0 0 0 9px #5d9dea20,0 0 40px #4fc3ff60,inset 0 0 20px #67c2ff60}.hub-aura{position:absolute;inset:-9px;border:3px solid #3baef62e;border-top-color:#76e6fa;border-right-color:#3d78eb;border-radius:50%;animation:spin 22s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hub-inner{display:flex;flex-direction:column;align-items:center;position:relative}.hub-inner>small{font-size:10px;color:#a3c4e8}.hub-inner>strong{font-size:clamp(26px,2.65vw,43px);font-weight:650;color:#86e7f4;line-height:1.4}.hub-inner>span{font-size:9px;color:#8caed3}.hub-inner>b{font-size:15px;line-height:1.7;color:#d4efff;font-variant-numeric:tabular-nums}.hub-inner b small{font-size:9px;font-weight:400}.hub-inner em{font-style:normal;font-size:8px;background:#2c64a184;color:#b5e4ff;border-radius:5px;padding:2px 6px}.flow-power-label{position:absolute;transform:translate(-50%,-50%);color:#8acfde;font-size:9px;white-space:nowrap;z-index:1;background:#0d294880;padding:3px 5px;border-radius:5px}.stage-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:9px;color:#718db1;border-top:1px solid #26466b50;padding-top:8px;flex-shrink:0}.legend-dot{width:6px;height:6px;display:inline-block;border-radius:2px;margin-right:5px}.cyan{background:var(--cyan)}.gold{background:var(--gold)}.blue{background:var(--blue)}.mint{background:var(--mint)}.chart-legend{display:flex;align-items:center;gap:10px;font-size:9px;color:#99b2d1;flex-wrap:wrap}.power-panel>.chart-legend{margin-top:12px;gap:9px}.chart-space{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;margin-top:8px}.chart-space svg{width:100%;height:100%;overflow:visible}.chart-space text{font:9px -apple-system,"Microsoft YaHei",sans-serif;fill:#7895b8}.chart-caption{font-size:8px;margin:5px 0 0;color:#728caf}.waiting-state{font-size:11px;color:#728caf;text-align:center;line-height:1.8;padding:10px}.savings-chart{flex:1;display:flex;align-items:center;min-height:0;overflow:hidden;padding-top:14px}.benefit-bars{display:grid;gap:12px;width:100%}.benefit-row>div{display:flex;justify-content:space-between;gap:7px;font-size:10px;color:#8fb0d4}.benefit-row strong{color:#b4def6;font-size:11px;font-weight:500}.benefit-track{height:6px;background:#214366;border-radius:8px;margin-top:6px;overflow:hidden}.benefit-track i{display:block;height:100%;background:linear-gradient(90deg,#337cde,#68dbe8);border-radius:8px}.load-ranking{display:flex;flex:1;flex-direction:column;justify-content:center;gap:15px;padding:12px 0}.rank-row{display:grid;grid-template-columns:20px 1fr auto;gap:7px;align-items:center;font-size:11px;color:#a4bedc}.rank-row>span{display:grid;place-items:center;width:19px;height:19px;border-radius:6px;background:#2d64ab50;color:#89d7fa}.rank-row strong{font-size:12px;font-weight:550;color:#bcdef4}.rank-row small{display:block;color:#6d91b3;font-size:9px;margin-top:2px}.screen-shell footer{display:flex;align-items:center;justify-content:space-between;font-size:8px;color:#5f7fa5;padding:0 3px}.skip-link{position:absolute;top:-100px;padding:8px;background:white;color:#15365e;z-index:20}.skip-link:focus{top:5px}dialog{width:min(660px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:1px solid #527dad70;border-radius:22px;padding:26px;background:#102b4ff2;backdrop-filter:blur(28px);color:#ddecff;box-shadow:0 30px 100px #0008}dialog::backdrop{background:#021027aa;backdrop-filter:blur(6px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.dialog-heading h2{margin:5px 0 0;font-size:23px}.eyebrow{font-size:10px;color:#79afd6;letter-spacing:.15em}.dialog-close{border:1px solid #4f739955;background:#34557c55;border-radius:50%;width:32px;height:32px;font-size:22px;display:grid;place-items:center;color:#bcd4ed}.dialog-description{font-size:13px;color:#9db8d9}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.detail-grid>div{padding:14px;border:1px solid #50709955;background:#22436966;border-radius:12px}.detail-grid span{display:block;font-size:11px;color:#9fbcdd}.detail-grid strong{display:block;font-size:20px;margin-top:6px}.detail-note{font-size:12px;line-height:1.8;color:#90afcd}.detail-chart{height:280px;margin:20px 0}.path-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #305277;font-size:12px;color:#9cbfe3}.path-row strong{color:#92e1ec;white-space:nowrap}#login-form{display:grid;gap:14px}#login-form label{font-size:12px;color:#a2bfdc;display:grid;gap:8px}#login-form input{width:100%;border:1px solid #638cba60;border-radius:10px;background:#0a203d;color:#e6f4ff;padding:12px}#login-error{font-size:12px;color:#ffb6a6;margin:0}#login-dialog{max-width:420px}#login-dialog .info-caption{margin-top:20px}
@media(min-width:1700px){.screen-shell{padding:0 32px 12px;grid-template-rows:94px minmax(0,1fr) 28px;gap:18px}.dashboard-grid,.dashboard-column,.center-column{gap:18px}.center-column{grid-template-rows:110px minmax(0,1fr) 180px}.glass-panel{padding:21px}.panel-title h2{font-size:16px}.value-strip span{font-size:12px}.value-strip strong{font-size:21px}.value-total strong{font-size:31px}.metric-grid strong{font-size:30px}.metric-grid span,.status-list dt{font-size:12px}.status-list dd{font-size:13px}.energy-node{width:174px}.energy-node svg{width:165px;height:110px}.node-name{font-size:14px}.energy-node strong{font-size:23px}.energy-node small{font-size:11px}.flow-power-label,.flow-note,.stage-foot,.chart-legend{font-size:11px}.soc-row{padding-top:20px}.mini-donut{width:91px;height:91px}.project-orbit svg{width:105px}.project-orbit span{font-size:15px}.rank-row{font-size:13px}.rank-row strong{font-size:15px}.info-caption,.chart-caption{font-size:10px}.detail-button{font-size:11px}}
@media(max-width:1200px) and (min-width:901px){.screen-shell{padding:0 14px 8px;gap:10px;grid-template-rows:68px minmax(0,1fr) 22px}.dashboard-grid{grid-template-columns:190px minmax(430px,1fr) 215px;gap:10px}.dashboard-column,.center-column{gap:10px}.glass-panel{padding:12px}.header-center{display:none}.center-column{grid-template-rows:82px minmax(0,1fr) 120px}.value-strip>div{padding:9px 8px}.value-strip strong{font-size:13px}.value-total strong{font-size:20px}.energy-node{width:108px}.energy-node svg{width:100px;height:66px}.energy-node strong{font-size:16px}.metric-grid strong{font-size:19px}.metric-grid{gap:6px}.metric-grid>div{padding:8px}.soc-row{gap:8px}.mini-donut{height:59px;width:59px}.hub-inner>b{font-size:12px}.flow-power-label{font-size:8px}.value-strip .detail-button{right:4px}.screen-actions{gap:10px}}
@media(max-height:720px) and (min-width:901px){.screen-shell{grid-template-rows:60px minmax(0,1fr) 18px;gap:9px;padding-bottom:5px}.center-column{grid-template-rows:72px minmax(0,1fr) 103px}.glass-panel{padding:11px}.dashboard-column,.center-column{gap:9px}.energy-node svg{height:65px;width:100px}.energy-node{width:115px}.energy-node strong{font-size:15px}.panel-title h2{font-size:12px}.metric-grid{gap:6px;margin-top:9px}.metric-grid>div{padding:6px 8px}.soc-row{padding-top:8px}.mini-donut{width:55px;height:55px}.status-list{gap:8px;margin:12px 0}.value-strip strong{font-size:13px}.value-total strong{font-size:20px}.value-strip>div{padding:8px 10px}}
@media(max-width:900px){.screen-shell{height:auto;min-height:100dvh;overflow:visible;grid-template-rows:auto 1fr auto;padding:0 16px 14px;gap:14px}.screen-header{min-height:80px;flex-wrap:wrap;padding:12px 0}.screen-brand h1{font-size:20px}.header-center{display:none}.screen-actions time{display:none}.screen-actions{gap:8px}.dashboard-grid{display:flex;flex-direction:column}.center-column{order:-1;grid-template-rows:90px 430px 170px}.dashboard-column{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:270px;gap:12px}.right-column{grid-template-rows:270px}.metric-grid strong{font-size:18px}.glass-panel{padding:12px}.project-orbit{flex-direction:column;justify-content:center;align-items:flex-start}.project-orbit svg{display:none}.soc-copy small{display:none}.mini-donut{height:50px;width:50px}.soc-row{gap:8px}.screen-shell footer{gap:15px;line-height:1.7}.screen-shell footer span:last-child{display:none}}
@media(max-width:600px){.screen-brand h1{font-size:17px}.brand-orbit{width:33px;height:33px;font-size:24px}.screen-brand div>span{font-size:8px}.action-primary{font-size:11px;padding:9px 11px;gap:8px}.screen-header{gap:10px}.dashboard-column{grid-template-columns:1fr;grid-template-rows:170px 255px 205px}.right-column{grid-template-rows:260px 220px 190px}.center-column{grid-template-rows:150px 360px 170px}.value-strip{grid-template-columns:1.3fr 1fr;gap:1px}.value-strip>div{padding:10px}.value-total strong{font-size:22px}.value-strip strong{font-size:15px}.value-strip>div:last-child strong{margin-bottom:0}.value-strip .detail-button{position:static;align-self:flex-start;margin-top:5px}.energy-node{width:88px}.energy-node svg{width:85px;height:57px}.energy-node strong{font-size:14px}.node-name{font-size:9px;gap:4px}.energy-node small{font-size:8px}.energy-hub{width:112px}.hub-inner>strong{font-size:26px}.hub-inner>small{font-size:9px}.hub-inner>b{font-size:12px}.grid-node{left:12%}.building-node{left:87%}.solar-node{left:26%}.flow-power-label{font-size:7px;padding:2px}.stage-foot{font-size:8px}.chart-legend{gap:7px;font-size:8px}.project-orbit{flex-direction:row;align-items:center;justify-content:flex-start}.project-orbit svg{display:block}.soc-copy small{display:block}.mini-donut{width:70px;height:70px}.metric-grid strong{font-size:24px}.detail-grid strong{font-size:17px}dialog{padding:20px}.detail-chart{height:210px}}
@media(min-width:901px) and (max-width:1699px){.left-column{grid-template-rows:.82fr 1.45fr 1.13fr}.metric-grid{margin-top:10px;gap:8px}.metric-grid>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;padding:8px}.metric-grid span{grid-column:1/-1}.metric-grid strong{font-size:20px;line-height:24px;white-space:nowrap}.metric-grid small{margin-left:1px;font-size:8px}.soc-row{padding-top:9px;gap:10px}.mini-donut{width:62px;height:62px}.status-list{gap:9px;margin:12px 0}.project-metrics{padding-top:8px}.project-orbit svg{width:65px}.project-orbit small{font-size:8px;margin-top:3px}.info-caption{font-size:8px}.load-ranking{padding:9px 0;gap:12px}}
@media(max-height:720px) and (min-width:901px){.left-column{grid-template-rows:.82fr 1.45fr 1.13fr}.metric-grid{margin-top:8px;gap:6px}.metric-grid>div{padding:5px 7px}.metric-grid strong{font-size:19px;line-height:22px}.mini-donut{height:48px;width:48px}.status-list{gap:7px;margin:9px 0}.status-list dt,.status-list dd{font-size:9px}.soc-copy strong{margin:4px 0}.info-caption{padding-top:5px;font-size:8px}.project-metrics span{font-size:8px}.project-metrics strong{font-size:12px;margin-top:3px}.project-orbit svg{width:52px}}
@media(min-width:901px) and (max-width:1699px){.electricity-panel{padding-bottom:9px}}
@media(min-width:1700px){.left-column{grid-template-rows:.9fr 1.6fr 1.12fr}}
@media(max-width:600px){.left-column{grid-template-rows:170px 315px 205px}}
@media(max-height:650px) and (min-width:901px){.soc-row{padding-top:6px}.mini-donut{width:44px;height:44px}.load-ranking{gap:8px;padding:6px 0}.ranking-panel .info-caption{line-height:1.4}}
.institution-logos{display:flex;align-items:center;gap:11px;background:#fafcfe;border:1px solid #ffffffd9;border-radius:9px;padding:7px 11px;flex-shrink:0;height:46px;box-shadow:0 2px 14px #00112526}.institution-logos img{display:block;object-fit:contain;height:auto}.institution-logos .tongji-logo{width:132px;max-height:34px}.institution-logos .company-logo{width:100px;max-height:31px}.logo-divider{width:1px;height:27px;background:#dce4ec;flex-shrink:0}.screen-brand{gap:18px}.screen-brand h1{font-size:clamp(18px,1.4vw,26px);letter-spacing:.02em}.screen-brand div>span{letter-spacing:.09em}.screen-header{gap:14px}
@media(min-width:1700px){.institution-logos{height:54px;padding:8px 14px;gap:14px}.institution-logos .tongji-logo{width:155px;max-height:39px}.institution-logos .company-logo{width:119px;max-height:36px}.logo-divider{height:31px}.screen-brand{gap:23px}}
@media(max-width:1200px){.institution-logos{height:40px;padding:6px 9px;gap:8px}.institution-logos .tongji-logo{width:105px;max-height:29px}.institution-logos .company-logo{width:81px;max-height:26px}.logo-divider{height:23px}.screen-brand{gap:12px}.screen-brand h1{font-size:18px}.screen-brand div>span{font-size:8px}}
@media(max-width:600px){.screen-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 0}.screen-brand{flex-direction:column;align-items:flex-start;gap:8px}.screen-brand h1{font-size:16px}.screen-brand div>span{font-size:8px}.institution-logos{height:35px;padding:5px 7px;gap:7px}.institution-logos .tongji-logo{width:99px;max-height:25px}.institution-logos .company-logo{width:72px;max-height:23px}.logo-divider{height:20px}.screen-actions .icon-button{display:none}.screen-actions .action-primary{gap:7px;padding:10px;font-size:10px}.energy-screen .energy-node small{font-size:8px;margin-left:1px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Shared interaction and surface language for the cockpit and management workspace. */
@font-face{font-family:EnergyInter;src:url('./assets/EMSDisplayLatin.dd94b8dfdd8e.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ui-radius:18px;--ui-blue:#087cf0;--ui-blue-deep:#075fce;--ui-focus:#70bcff;--ui-font:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,input,select,textarea{font-family:var(--ui-font)}button,a{transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}button:disabled{cursor:not-allowed}
body.management-ui{font-family:var(--ui-font);--green:#087cf0;--mint:#e8f2ff;--muted:#798699;--line:#dfe7ef;--blue:#087cf0;--radius:18px;color:#233348;background:#f2f5fa}.management-ui .sidebar{background:rgba(247,250,255,.95);border-right:1px solid #dce5f0;padding-top:22px}.management-ui .workspace-label{color:#59728e;font-size:13px;margin:10px 0 24px;font-weight:650}.management-ui .workspace-label span{border-radius:5px;border:0;background:#087cf01a;color:#087cf0;padding:3px 6px}.management-ui .nav-item{border-radius:11px;color:#697f97;padding:11px 12px}.management-ui .nav-item.active{background:#087cf0;color:white;box-shadow:0 5px 14px #087cf024}.management-ui .nav-item:hover:not(.active){background:#e6edf7}.management-ui .topbar{height:76px;background:#ffffffd9;backdrop-filter:blur(22px);border-bottom:1px solid #dee7f1}.management-ui .site-icon{color:#087cf0}.management-ui .demo-badge{background:#eef4fd;border:1px solid #dce8f6;color:#6482a4;border-radius:7px}.management-ui .page-heading h1{font-weight:650;font-size:27px;letter-spacing:0;color:#203854}.management-ui .eyebrow{color:#8495aa;letter-spacing:.14em;font-size:10px}.management-ui .panel,.management-ui .kpi,.management-ui .device-card{background:#fff;border:1px solid #e2e9f2;border-radius:18px;box-shadow:0 6px 22px #214a7f06;overflow:hidden}.management-ui .panel-head{border-color:#edf1f7}.management-ui .panel-head h2{color:#365571}.management-ui .kpi-value{color:#1b4270;font-weight:650}.management-ui .kpi .label{color:#8294aa}.management-ui .kpi-foot{border-color:#edf1f7}.management-ui button{border-radius:10px;border:1px solid #dce6f2;color:#42617e;background:#f9fbff;font-weight:500}.management-ui button:hover:not(:disabled){background:#edf4ff;border-color:#b5d3f7}.management-ui button.primary{color:white;background:#087cf0;border-color:#087cf0;box-shadow:0 4px 10px #087cf019}.management-ui button.primary:hover:not(:disabled){background:#076bdd;border-color:#076bdd}.management-ui button.link,.management-ui button[data-detail],.management-ui button[data-alarm-detail],.management-ui button[data-snapshot],.management-ui button[data-query-command]{border:1px solid #cfe0f7;background:#eef5ff;color:#0871df;padding:5px 10px;border-radius:8px;gap:7px}.management-ui button.link:after,.management-ui button[data-detail]:after,.management-ui button[data-alarm-detail]:after,.management-ui button[data-snapshot]:after,.management-ui button[data-query-command]:after{content:"›";font-size:17px;line-height:12px}.management-ui button.danger{background:#fff1f1;border-color:#f5d3d1;color:#c4574e}.management-ui .heading-actions .timestamp{color:#9aa8b8}.management-ui input,.management-ui select,.management-ui textarea{background:#fbfcff;border:1px solid #d6e2ef;border-radius:10px;color:#344f6e;accent-color:#087cf0}.management-ui input:focus,.management-ui select:focus,.management-ui textarea:focus{border-color:#91c4fa;box-shadow:0 0 0 3px #087cf00b}.management-ui .status{border-radius:7px;background:#eaf7f2;color:#298973}.management-ui .status.blue{background:#e8f2ff;color:#0871df}.management-ui .status.amber{background:#fff5e7;color:#a97a3a}.management-ui .status.red{background:#fff0ef;color:#c4574e}.management-ui .info-note{border-radius:11px;background:#edf5ff;border-color:#d4e7fc;color:#5279a1}.management-ui .info-note.amber{background:#fff7ec;color:#997449;border-color:#f5e7d3}.management-ui .device-tile,.management-ui .device-icon{background:#eaf3ff;color:#087cf0;border-radius:11px}.management-ui .detail-grid>div{background:#f5f8fd;border-color:#e5edf7;border-radius:11px}.management-ui .detail-grid strong{color:#365779}.management-ui table thead{background:#f7faff;color:#8b9db2}.management-ui th{color:#8b9db2}.management-ui td{border-color:#edf1f7}.management-ui .task{border-radius:13px;border-color:#e3ebf5;background:#fcfdff}.management-ui .timeline .done{background:#e8f2ff;color:#087cf0}.management-ui .positive{color:#219886}.management-ui .two-col{gap:20px}.management-ui .flow-node{background:#f0f6ff;border-color:#d5e5f8;color:#50749b;border-radius:13px}.management-ui .flow-center{background:#e8f2ff;border-color:#b2d4fb}.management-ui .flow-lines path{stroke:#aacdf4}.management-ui .flow-node strong{color:#285b94}.management-ui .study-kpis article{background:linear-gradient(145deg,#2d80df,#2759a3);border-radius:17px;color:#fff}.management-ui .study-kpis span,.management-ui .study-kpis p{color:#c4dcf9}.management-ui .study-orbit{background:#e5f1ff;color:#087cf0;box-shadow:0 0 0 14px #f3f8ff}.management-ui .study-empty{background:radial-gradient(circle at top,#eaf3ff,white 70%)}.management-ui .study-savings div{background:#f0f6ff;border-radius:11px}.management-ui .study-savings strong{color:#2673c7}.management-ui .study-progress{background:#ecf5ff;border-color:#c9e1fd;color:#3e79b4}.management-ui .study-progress i{background:#087cf0}.management-ui .study-day-label select{border-radius:9px}.management-ui dialog{background:#fffffff5;backdrop-filter:blur(24px);border:1px solid #d8e5f3;border-radius:22px;box-shadow:0 25px 100px #0c2d5750}.management-ui dialog::backdrop{background:#10284f55;backdrop-filter:blur(5px)}.management-ui .modal-head{border-color:#e6edf5}.management-ui .modal-head .close{border-radius:50%;height:32px;width:32px;padding:0;background:#eef3fa;color:#6d87a4}.management-ui .modal-foot{border-color:#e6edf5;background:#f7faff}.management-ui #toast{border-radius:13px;background:#284b72;box-shadow:0 12px 38px #223f6c25}.management-ui .back-screen{border:1px solid #d4e4f8;background:#eef5ff;border-radius:9px;padding:6px 11px;color:#0871df;font-size:12px}.management-ui .code-box{background:#f5f8fc;border-color:#e0eaf5;color:#4b6583}.management-ui summary{color:#3f74ac}.management-ui .soc-bar i{background:#4ba9e6}.management-ui .alert-item{border-radius:12px}.management-ui .scenario-bar{border-radius:11px}.management-ui .study-chart text{fill:#8097b1}.management-ui footer{color:#95a6ba}.management-ui .sidebar-bottom{color:#89a0b8}
@media(max-width:600px){.management-ui .sidebar{padding:5px 3px}.management-ui .nav-text{font-size:9px}.management-ui .nav-item{padding:5px 0;gap:1px;border-radius:8px}.management-ui .topbar{height:72px}.management-ui .back-screen{font-size:10px;padding:4px 6px}.management-ui .page-heading h1{font-size:23px}}
.management-ui #control-form button[type=submit]{background:#eef5ff;border-color:#b8d6f9;color:#0871df;box-shadow:none}.management-ui #control-form button[type=submit]:hover:not(:disabled){background:#e3efff}.management-ui #control-form button[type=submit]:after{content:"›";font-size:18px;line-height:12px}
.energy-screen .metric-grid strong,.energy-screen .energy-node strong,.energy-screen .hub-inner strong,.energy-screen .hub-inner b,.energy-screen .value-strip strong,.energy-screen .value-strip b,.energy-screen .mini-donut span,.energy-screen .benefit-row strong,.energy-screen .rank-row strong,.energy-screen .detail-grid strong,.energy-screen time,.management-ui .kpi-value,.management-ui .study-kpis strong,.management-ui .study-savings strong{font-family:EnergyInter,"Segoe UI Variable Display","Segoe UI",sans-serif;font-variant-numeric:lining-nums tabular-nums;font-optical-sizing:auto;font-feature-settings:"tnum" 1;font-synthesis:none;letter-spacing:-.035em;font-weight:450}
.energy-screen .metric-grid strong,.energy-screen .energy-node strong{color:#d2e7f5;font-weight:450;text-shadow:none}.energy-screen .hub-inner>strong{font-weight:400;letter-spacing:-.05em;color:#c8effb}.energy-screen .hub-inner>b{font-weight:450}.energy-screen .energy-node small,.energy-screen .hub-inner b small{font-family:EnergyInter,"Segoe UI",sans-serif;font-size:10px;font-weight:400;letter-spacing:0;margin-left:3px;color:#91aac2}.energy-screen .value-total strong{color:#ecd9b6}.energy-screen .value-strip b{font-weight:500}.energy-screen .rank-row strong,.energy-screen .benefit-row strong{font-weight:450;letter-spacing:-.02em}.energy-screen .metric-grid small{margin-left:5px}
@media(prefers-reduced-motion:reduce){button,a{transition:none}}

.energy-insights{--insight-text:#bcd6ed;--insight-muted:#8daac7;--insight-border:#4d739345;--insight-bg:#16375965;color:var(--insight-text);min-width:0}.insight-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.insight-heading h2{font-size:17px;margin:5px 0 0}.insight-source-tag{font-size:10px;color:#77d6dc;border:1px solid #77d6dc40;background:#77d6dc0b;padding:4px 8px;border-radius:6px;white-space:nowrap}.insight-filters{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin:18px 0 8px}.insight-filters label{display:grid;gap:6px;font-size:11px;color:var(--insight-muted);flex:1;min-width:115px}.insight-filters select,.insight-filters input{width:100%;min-width:0;background:var(--insight-bg);border:1px solid var(--insight-border);color:var(--insight-text);padding:8px;border-radius:8px;font-size:12px;color-scheme:dark}.insight-filters select option{background:#102b4f}.insight-filters button{background:#217eaa26;border:1px solid #4d9ac675;padding:8px 12px;border-radius:8px;color:var(--insight-text);white-space:nowrap;font-size:12px;min-height:34px}.insight-filters [hidden]{display:none}.insight-period,.insight-caption{font-size:11px;color:var(--insight-muted);line-height:1.8}.insight-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:14px 0}.insight-metric{border:1px solid var(--insight-border);border-radius:10px;background:var(--insight-bg);padding:13px;min-width:0}.insight-metric span{display:block;font-size:11px;color:var(--insight-muted);line-height:1.6}.insight-metric strong{display:block;font-size:21px;line-height:1.6;font-weight:500;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.insight-metric small{font-size:10px;font-weight:400;color:var(--insight-muted);white-space:nowrap}.insight-extra details{font-size:11px;line-height:1.8;color:var(--insight-muted)}.insight-extra summary{cursor:pointer;color:var(--insight-text)}.insight-extra p{margin:10px 0}.insight-tou{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.insight-tou>div{padding:9px;border-radius:8px;background:var(--insight-bg);display:grid;gap:4px}.insight-empty{padding:16px;font-size:12px;color:var(--insight-muted)}.energy-screen #detail-dialog{width:min(820px,calc(100vw - 24px))}.energy-screen .institution-logos{background:transparent;border-color:transparent;box-shadow:none;padding-left:0}.energy-screen .institution-logos img{filter:grayscale(1) invert(1);mix-blend-mode:screen;opacity:.86}.energy-screen .logo-divider{background:#7da2c84d}.energy-screen .flow-stage{position:relative}.node-preview{position:absolute;z-index:8;width:min(330px,90%);padding:16px;background:#102c4ff5;border:1px solid #75cce768;box-shadow:0 15px 50px #00172f80;border-radius:14px;pointer-events:auto;backdrop-filter:blur(18px)}.node-preview[hidden]{display:none}.node-preview h3{margin:0;font-size:15px}.node-preview .preview-period{font-size:10px;color:#8daac7;line-height:1.8;margin:7px 0}.node-preview .preview-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px}.node-preview .insight-metric{padding:8px}.node-preview .insight-metric strong{font-size:15px}.node-preview .insight-metric span{font-size:10px}.node-preview button{margin-top:12px;background:#2e75a54d;color:#b5e9f2;border:1px solid #538fad66;border-radius:8px;padding:6px 10px;font-size:11px;cursor:pointer}.live-detail{display:flex;gap:8px;flex-wrap:wrap;font-size:11px;margin:10px 0;color:#91b5ce}.live-detail b{color:#a4e8f0;font-weight:500}.insight-live-note{font-size:11px;color:#8daac7;line-height:1.8}.management-ui .energy-insights{--insight-text:#284d74;--insight-muted:#72879f;--insight-border:#e0e9f3;--insight-bg:#f6f9fd;padding:22px;background:white;border:1px solid #e2e9f2;border-radius:18px;margin-bottom:20px}.management-ui .insight-filters input,.management-ui .insight-filters select{color-scheme:light}.management-ui .insight-filters select option{background:white}.management-ui .insight-source-tag{color:#23857a;background:#effaf6;border-color:#cae8df}.management-ui .insight-metric strong{color:#245684}.management-ui .insight-filters button{background:#087cf0;color:white;border-color:#087cf0}.compact-insights .insight-values{grid-template-columns:repeat(4,minmax(0,1fr))}.energy-screen .dashboard-stats{margin-top:14px;padding:18px}.energy-screen .screen-shell{height:auto;min-height:100dvh;overflow:visible}.energy-screen .dashboard-grid{min-height:700px}.energy-screen .screen-shell{grid-template-rows:78px minmax(700px,calc(100dvh - 120px)) auto auto}.energy-screen .dashboard-stats .insight-values{grid-template-columns:repeat(7,minmax(0,1fr))}.energy-screen .dashboard-stats .insight-heading h2{font-size:15px}.energy-screen .dashboard-stats .insight-metric{padding:10px}.energy-screen .dashboard-stats .insight-metric strong{font-size:19px}.energy-screen .dashboard-stats .insight-filters{margin-top:12px}.energy-screen .dashboard-stats .insight-filters label{flex:0 1 180px}.energy-screen .screen-shell footer{min-height:24px}
@media(min-width:1700px){.energy-screen .screen-shell{grid-template-rows:94px minmax(770px,calc(100dvh - 145px)) auto auto}}@media(max-width:1100px){.compact-insights .insight-values,.energy-screen .dashboard-stats .insight-values{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:900px){.energy-screen .screen-shell{display:flex;flex-direction:column}.energy-screen .dashboard-grid{min-height:0}.energy-screen .screen-header{flex-shrink:0}.energy-screen .dashboard-stats{margin-top:0}.insight-values{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.compact-insights .insight-values,.energy-screen .dashboard-stats .insight-values{grid-template-columns:repeat(2,minmax(0,1fr))}.management-ui .energy-insights{padding:16px}.insight-filters label{min-width:calc(50% - 8px)}.insight-metric strong{font-size:18px}.insight-heading h2{font-size:16px}.insight-tou{grid-template-columns:1fr}.energy-screen #detail-dialog{padding:16px}.node-preview{display:none}}
.insight-node-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}.insight-node-tabs button{border:1px solid var(--insight-border);border-radius:8px;background:transparent;color:var(--insight-muted);font-size:12px;padding:6px 14px;cursor:pointer}.insight-node-tabs button[aria-pressed=true]{background:#258bc62b;color:#9fe8f3;border-color:#6cbac670}.management-ui .insight-node-tabs button[aria-pressed=true]{background:#e8f2ff;color:#087cf0;border-color:#b3d5f7}
.flow-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.node-preview{--insight-text:#bcd6ed;--insight-muted:#8daac7;--insight-border:#4d739345;--insight-bg:#16375965}

/* Immersive energy workspace · shared spatial design language. */
/* The embedded device monitor needs a dark base beneath translucent cards. */
.management-ui .wf-device-monitor{background:rgba(7,20,34,.68);border-color:var(--sp-line);color:var(--sp-ink);color-scheme:dark}
.management-ui .wf-device-monitor .device-card{background:var(--sp-glass);border-color:var(--sp-line)}
.management-ui .wf-device-monitor .device-card strong{color:#dcecf5}
.management-ui .wf-device-monitor .device-card small{color:#89a9bc}
.management-ui .wf-device-monitor .detail-grid span{color:#95b2c4}
:root{color-scheme:dark;--sp-ink:#e7f0f6;--sp-muted:#89a4b7;--sp-cyan:#83dce5;--sp-line:rgba(163,207,226,.16);--sp-glass:linear-gradient(135deg,rgba(38,64,83,.52),rgba(13,30,48,.55));--sp-shadow:0 18px 60px #000b1f35,inset 0 1px 0 #e1f8ff0c}
body.energy-screen,body.management-ui{color:var(--sp-ink);background:#06111f;font-family:var(--ui-font);font-size:13px;--green:#83dce5;--mint:#183b46;--muted:#89a4b7;--line:rgba(163,207,226,.16);--blue:#83dce5;--amber:#d5ae78;--red:#ed9b99;--radius:20px;isolation:isolate}
.spatial-atmosphere{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:radial-gradient(ellipse at 51% 44%,#16455c63,transparent 57%),radial-gradient(ellipse at 2% 90%,#1e334f47,transparent 45%),linear-gradient(125deg,#081524,#081523 45%,#050c16)}
.spatial-light{position:absolute;width:80vw;height:80vw;top:-40vw;left:12vw;background:radial-gradient(ellipse,#447c9c1d,transparent 65%);transform:rotate(-25deg)}
.spatial-stars{position:absolute;inset:0;background-image:radial-gradient(#a6dce457 .65px,transparent .8px),radial-gradient(#75b7cc22 1px,transparent 1.2px);background-size:89px 89px,149px 149px;background-position:18px 12px,42px 80px;mask-image:linear-gradient(transparent,#000 15%,#000 90%,transparent);opacity:.5}
.spatial-contours{position:absolute;width:100%;height:100%;color:#90d7ec0b;stroke-width:1;transform:perspective(1000px) rotateX(8deg);filter:drop-shadow(0 0 12px #8bd9e51a)}
.spatial-coordinate{position:absolute;font:9px EnergyInter,sans-serif;letter-spacing:.19em;color:#6a8c9b80}.coord-a{bottom:26px;left:28px}.coord-b{right:28px;top:47%;writing-mode:vertical-rl}
.energy-screen .screen-shell{display:block;min-height:100dvh;height:auto;padding:0 32px 28px;background:none;overflow:visible}
.energy-screen .screen-header{height:101px;min-height:101px;border-bottom:1px solid #b2daeb10;gap:24px}
.energy-screen .screen-brand{gap:20px}.energy-screen .screen-brand h1{font-size:21px;letter-spacing:.11em;font-weight:550;margin:0 0 7px}.energy-screen .screen-brand div>span{font-size:8px;letter-spacing:.23em;color:#708c9e}.energy-screen .institution-logos{opacity:.8;gap:10px;height:38px;padding:0}.energy-screen .institution-logos .tongji-logo{width:101px}.energy-screen .institution-logos .company-logo{width:75px}.energy-screen .screen-actions time{font:15px EnergyInter,sans-serif;color:#9db7c7}.energy-screen .header-center{margin-left:auto;margin-right:20px}.energy-screen .live-indicator{font-size:10px;color:#a6c3c9}.energy-screen .simulation-tag{background:#7ab6ce09;border:1px solid #9dc4d522;color:#8aaab9;padding:4px 9px;border-radius:20px;font-size:9px}.energy-screen .icon-button{border:1px solid var(--sp-line);border-radius:9px;background:#819db80a;color:#a8c8d4}
.energy-screen .action-primary{background:#85d5df13;border:1px solid #8bcdd04d;border-radius:9px;box-shadow:none;color:#c3eef0;font-weight:500;gap:13px;padding:9px 14px;font-size:11px}.energy-screen .action-primary:hover{background:#85d5df29;box-shadow:0 0 26px #72cede13}
.energy-screen #energy-main{display:block;position:relative;min-height:740px;height:calc(100dvh - 216px);max-height:1100px;isolation:isolate}
.energy-screen .dashboard-column,.energy-screen .center-column{display:contents}
.energy-screen .glass-panel{background:var(--sp-glass);backdrop-filter:blur(26px) saturate(120%);-webkit-backdrop-filter:blur(26px) saturate(120%);border:1px solid var(--sp-line);border-radius:20px;box-shadow:var(--sp-shadow);padding:18px;overflow:hidden}
.energy-screen #energy-main>.dashboard-column>section,.energy-screen .center-column>section{position:absolute;transition:transform .35s,border-color .3s,box-shadow .3s}
.energy-screen .glass-panel:hover{border-color:#addefb35;box-shadow:0 18px 70px #000b1f44,inset 0 1px 0 #e1f8ff18}
.energy-screen .project-panel{left:4px;top:35px;width:235px;height:176px;transform:rotate(-1deg)}
.energy-screen .electricity-panel{left:27px;top:242px;width:249px;height:283px;transform:translateZ(10px)}
.energy-screen .quality-panel{left:63px;bottom:14px;width:229px;height:178px;transform:rotate(.6deg)}
.energy-screen .power-panel{right:1px;top:67px;width:268px;height:229px;transform:rotate(.7deg)}
.energy-screen .savings-panel{right:25px;top:327px;width:237px;height:186px;transform:rotate(-.6deg)}
.energy-screen .ranking-panel{right:50px;bottom:4px;width:251px;height:194px}
.energy-screen .project-orbit{margin-top:10px;gap:10px}.energy-screen .project-orbit svg{width:62px;height:60px}.energy-screen .project-orbit span{font-size:11px}.energy-screen .project-orbit strong{font:9px EnergyInter,sans-serif;letter-spacing:.08em;color:#6d93a5}.energy-screen .project-orbit small{font-size:8px;margin-top:4px}.energy-screen .project-metrics{margin-top:7px;padding-top:8px;border-color:#b3d3df12}.energy-screen .project-metrics strong{font:17px EnergyInter,sans-serif;margin-top:4px;color:#cadde7}.energy-screen .project-metrics span{font-size:8px}
.energy-screen .panel-title h2{font-size:11px;font-weight:550;letter-spacing:.08em;color:#a8c6d7}.energy-screen .detail-button{font-size:9px;color:#75b3c6}.energy-screen .tiny-badge{font-size:8px;border-color:#87b1c42b;border-radius:20px;background:#87b1c40d;padding:3px 6px}
.energy-screen .metric-grid{gap:11px;margin-top:18px}.energy-screen .metric-grid>div{display:block;padding:0;background:none;border:0;border-radius:0}.energy-screen .metric-grid span{font-size:9px;color:#718e9f}.energy-screen .metric-grid strong{font-size:25px;line-height:1.8;color:#e1edf3;font-weight:550}.energy-screen .metric-grid small{font-size:8px;color:#7d9aac;margin-left:4px}.energy-screen .soc-row{padding-top:14px;border-top:1px solid #a4c5d114;margin-top:12px;gap:14px}.energy-screen .mini-donut{width:57px;height:57px;background:conic-gradient(#88d1d8 calc(var(--soc)*1%),#7b9bae20 0);padding:3px;box-shadow:0 0 25px #70d5e10a}.energy-screen .mini-donut:before{background:#132a3a}.energy-screen .mini-donut span{font-size:16px}.energy-screen .mini-donut small{font-size:7px}.energy-screen .soc-copy span{font-size:9px}.energy-screen .soc-copy strong{font-size:11px;margin:3px 0}.energy-screen .soc-copy small{font-size:8px;color:#6d899d}
.energy-screen .status-list{gap:8px;margin:13px 0 8px}.energy-screen .status-list dt,.energy-screen .status-list dd{font-size:9px}.energy-screen .info-caption{font-size:8px;padding-top:7px;color:#607f93;border-color:#accfe315}.energy-screen .chart-caption{font-size:8px;color:#63859c;margin:4px 0}.energy-screen .chart-legend{font-size:8px;gap:10px;margin-top:10px;color:#6c8e9d}.energy-screen .chart-space{min-height:0}.energy-screen .power-panel .chart-space{height:145px;flex:initial;margin-top:8px}.energy-screen .chart-space svg text{fill:#68899f;font-family:EnergyInter,sans-serif}.energy-screen .legend-dot{width:4px;height:4px}.energy-screen .benefit-bars{gap:13px;padding-top:12px}.energy-screen .benefit-row>div{font-size:9px}.energy-screen .benefit-row strong{font-size:11px;color:#cbdce5}.energy-screen .benefit-track{height:3px;background:#7799ac16}.energy-screen .benefit-track i{background:linear-gradient(90deg,#4b8299,#a8d6d6)}.energy-screen .load-ranking{gap:11px;padding-top:13px}.energy-screen .rank-row{font-size:10px}.energy-screen .rank-row strong{font-size:13px}.energy-screen .rank-track{height:3px}.energy-screen .waiting-state{font-size:10px;line-height:1.9;color:#6c91a7}
.energy-screen .value-strip{left:calc(50% - 315px);top:23px;width:630px;min-height:72px;height:72px;border:0;background:none;box-shadow:none;display:grid;grid-template-columns:1.45fr 1fr 1fr 1fr;gap:0;padding:0;overflow:visible}
.energy-screen .value-strip>div{background:none;border:0;border-left:1px solid #9ac5d522;padding:4px 15px}.energy-screen .value-strip>div:first-child{border:0;padding-left:0}.energy-screen .value-strip span{font-size:8px;letter-spacing:.03em;color:#6e92a8}.energy-screen .value-strip strong{font-size:16px;line-height:1.7;color:#b5cdd8}.energy-screen .value-strip strong b{font-weight:500}.energy-screen .value-total strong{font-size:25px;color:#dbe3da}.energy-screen .value-total small{font-size:7px;color:#69889c}.energy-screen .value-strip .detail-button{font-size:8px;position:static;margin-top:1px}
.energy-screen .flow-stage{left:calc(50% - 365px);top:125px;width:730px;height:470px;padding:0;background:none;border:0;box-shadow:none;backdrop-filter:none;overflow:visible}.energy-screen .flow-stage:hover{box-shadow:none;border:0}.energy-screen .flow-stage>.panel-title{justify-content:center;gap:24px}.energy-screen .flow-stage .eyebrow{font:8px EnergyInter,sans-serif;letter-spacing:.3em;color:#568699}.energy-screen .flow-stage h2{font-size:17px;letter-spacing:.24em;font-weight:450;color:#b4cdd7}.energy-screen .flow-stage .flow-actions{position:absolute;right:0;top:10px}.energy-screen .flow-note{display:none}.energy-screen .flow-layout{height:394px;flex:initial;margin-top:11px}.energy-screen .stage-foot{display:flex;justify-content:space-between;font:8px EnergyInter,sans-serif;letter-spacing:.08em;color:#456c85;padding:4px 35px 0}.energy-screen .energy-node{width:113px;border-radius:16px;padding:5px;transition:transform .3s,filter .3s,background .3s;backdrop-filter:blur(0)}.energy-screen .energy-node:hover{transform:translate(-50%,-56%);background:#5484a715;border-color:#9cc8db25;filter:drop-shadow(0 12px 12px #65d5f023)}.energy-screen .energy-node svg{width:100px;height:67px;opacity:.85;filter:drop-shadow(0 10px 12px #000a1f88) saturate(.65)}.energy-screen .node-name{font-size:10px;letter-spacing:.05em;color:#9fbecc;gap:6px}.energy-screen .energy-node strong{font:18px EnergyInter,sans-serif;color:#d3e5eb;margin-top:1px;font-weight:500}.energy-screen .energy-node small{font-size:8px}.energy-screen .flow-power-label{font:8px EnergyInter,sans-serif;background:#12304870;border:1px solid #779aaa22;backdrop-filter:blur(8px);color:#729eb1;border-radius:5px;padding:3px 6px}.energy-screen .flow-line{stroke:#87d3df6e;stroke-width:1;stroke-dasharray:5 12;animation:spatial-stream 24s linear infinite;filter:drop-shadow(0 0 3px #83deeb44)}.energy-screen .flow-line.inactive{stroke:#5b758b2e;animation:none}.energy-screen .orbit-track,.energy-screen .orbit-inner,.energy-screen .orbit-ticks{stroke:#7bb6c41f;stroke-width:.65}
.energy-screen .energy-hub{width:250px;height:264px;aspect-ratio:auto;top:47%;border-radius:0;border:0;background:none;box-shadow:none;overflow:visible;display:flex;align-items:flex-end;justify-content:center;padding:0}.energy-screen .energy-hub::before{content:'';position:absolute;left:-30px;right:-30px;top:-23px;height:240px;background:url('./spatial-core.svg') center/contain no-repeat;filter:drop-shadow(0 14px 24px #2fb5d51d);transition:transform .4s,filter .4s}.energy-screen .energy-hub:hover{box-shadow:none;background:none}.energy-screen .energy-hub:hover::before{transform:translateY(-8px);filter:drop-shadow(0 18px 25px #64d5e333)}.energy-screen .hub-aura{inset:initial;top:155px;width:220px;height:70px;border:1px solid #71cbd235;border-top-color:#8adfe66b;border-radius:50%;animation:spatial-breathe 5s ease-in-out infinite}.energy-screen .hub-inner{width:160px;min-height:70px;background:linear-gradient(130deg,#274d6370,#0f273e80);backdrop-filter:blur(18px);border:1px solid #a4d9e532;border-radius:12px;padding:8px 10px;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:8px;position:relative;transform:translateY(8px)}.energy-screen .hub-inner>small{font-size:8px;text-align:left;color:#83acbb}.energy-screen .hub-inner>strong{font-size:21px;grid-column:2;grid-row:1/3;color:#d1f0ec;font-weight:500}.energy-screen .hub-inner>span{font-size:7px;text-align:left;color:#668ea4}.energy-screen .hub-inner>b{font:9px EnergyInter,sans-serif;grid-column:1/-1;text-align:left;color:#8ab5c9}.energy-screen .hub-inner em{display:none}
.energy-screen .demand-trend{left:calc(50% - 280px);bottom:11px;width:560px;height:139px;padding:12px 17px;background:linear-gradient(140deg,#22445a28,#17354a18);border:1px solid #94b9ce14;box-shadow:none;transform:translateX(-8px)}.energy-screen .demand-trend .chart-space{height:86px;min-height:0}.energy-screen .demand-trend .panel-title h2{font-size:10px}.energy-screen .demand-trend .chart-legend{margin:0;font-size:7px}
.spatial-nav{display:flex;justify-content:center;align-items:center;gap:18px;position:relative;min-height:100px;margin:13px auto 20px;width:min(1160px,100%);z-index:210}.hud-nav-wire{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.hud-nav-wire path{fill:none;stroke:#76aebe2b;stroke-width:.8;stroke-dasharray:3 8;animation:spatial-stream 35s linear infinite}.hud-node{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:10px;flex:1;min-width:0;height:66px;padding:10px 12px;color:#a2bfcd;background:none;border:0;border-radius:0;isolation:isolate;transition:transform .3s,filter .3s}.hud-node:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(140deg,#3d62756b,#142d466b);border:1px solid #abcbdc29;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);backdrop-filter:blur(20px)}.hud-node:after{content:'';position:absolute;left:0;top:14px;width:2px;height:17px;background:#79bac644;transition:height .2s,background .2s}.hud-node:hover,.hud-node.active{color:#d7f4f7;filter:drop-shadow(0 0 15px #6ed4e01c);transform:translateY(-5px)}.hud-node:hover:after,.hud-node.active:after{height:30px;background:#8ce2e8}.hud-glyph svg{width:20px;height:20px;color:#88b8c8}.hud-label{text-align:left;display:flex;flex-direction:column;gap:4px}.hud-label strong{font-size:11px;font-weight:500;white-space:nowrap}.hud-label small{font:6px EnergyInter,sans-serif;letter-spacing:.11em;color:#5e869a;white-space:nowrap}.hud-index{position:absolute;right:6px;top:4px;font:6px EnergyInter,sans-serif;letter-spacing:.1em;color:#719eaf66}.hud-node:nth-of-type(2){margin-top:-16px}.hud-node:nth-of-type(4){margin-top:-29px}.hud-node:nth-of-type(6){margin-top:-12px}
.energy-screen .dashboard-stats{margin:30px auto 20px;width:calc(100% - 48px);padding:24px 28px;background:linear-gradient(130deg,#203d4e45,#10283a52);border-color:#8bb7c820;border-radius:22px}.energy-screen .dashboard-stats .insight-heading h2{font-size:15px;font-weight:500}.energy-screen .screen-shell>footer{font-size:8px;letter-spacing:.08em;color:#45657b;padding:8px 5px}.energy-screen .insight-metric{border-color:#a3c8d51c;background:#7cbbd507}.energy-screen .insight-metric strong{font-weight:500;color:#d4e8ed}.energy-screen .insight-source-tag{color:#8ec8cf;border-color:#8ec8cf2b}.energy-screen .insight-filters select,.energy-screen .insight-filters input{background:#122b3f;border-color:#8bb7c82e;color:#b2ccd6}.energy-screen .insight-filters button{border-color:#8bc8d044;background:#75bfcf13}
.spatial-workspace{position:fixed;inset:112px 48px 133px;z-index:200;display:flex;flex-direction:column;background:linear-gradient(135deg,#163349d6,#091b30e8);border:1px solid #afd9eb38;border-radius:24px;box-shadow:0 35px 150px #000b1faa,inset 0 1px 0 #e3f5ff17;backdrop-filter:blur(35px) saturate(120%);overflow:hidden}.spatial-workspace[hidden]{display:none}.workspace-chrome{height:60px;flex-shrink:0;border-bottom:1px solid #abcde61a;padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#a9d4e804}.workspace-chrome>div{display:flex;align-items:center;gap:12px}.workspace-mark{width:6px;height:6px;background:#8cd5da;box-shadow:0 0 14px #8cd5da55;transform:rotate(45deg)}.workspace-overline{font:8px EnergyInter,sans-serif;letter-spacing:.2em;color:#628da4}.workspace-chrome h2{font-size:14px;font-weight:500;color:#c4dce8;padding-left:14px;border-left:1px solid #9cbacb25;margin:0}.workspace-close{display:flex;gap:18px;align-items:center;background:#c2e5f009;border:1px solid #c2e5f020;color:#b2ceda;border-radius:8px;padding:5px 10px;font-size:20px;line-height:1.3}.workspace-close span{font-size:10px;color:#7fa5b9}.spatial-workspace iframe{width:100%;height:100%;flex:1;min-height:0;border:0;background:transparent;color-scheme:dark}.spatial-workspace-open .spatial-nav{position:fixed;bottom:5px;left:50%;transform:translateX(-50%);width:min(1160px,calc(100% - 120px));margin:0}.spatial-workspace-open #energy-main{filter:blur(5px);opacity:.3;transition:filter .3s,opacity .3s}.spatial-workspace-open .dashboard-stats{visibility:hidden}
/* All existing operational forms keep their behavior on the new glass surface. */
.management-ui .shell{margin-left:0;padding-top:89px;padding-bottom:143px}.management-ui .topbar{position:absolute;inset:20px 38px auto;height:58px;padding:0 16px;background:#91bad209;border:1px solid #9fc5d61c;border-radius:14px;backdrop-filter:blur(25px)}.management-ui .site-picker{font-size:13px;color:#b9d5e0;font-weight:500}.management-ui .site-icon{color:#8ccbd6;font-size:25px}.management-ui .top-actions{gap:12px}.management-ui .back-screen{border-color:#9ec8d731;background:#78b8c810;color:#9cd0da}.management-ui .demo-badge{background:#9cbdd009;border-color:#9cbdd026;color:#7b9cae;border-radius:20px;font-size:10px}.management-ui #role{color:#a5c5d4;background:transparent;font-size:11px}.management-ui .role-label select option{background:#102b40}.management-ui #logout{font-size:10px;background:#7294aa0a;border-color:#9bc1d328;color:#9cbacb}
.management-ui .sidebar{position:fixed;inset:auto 36px 18px;width:auto;height:90px;background:none;border:0;padding:0;z-index:80;display:block;backdrop-filter:none}.management-ui .workspace-label,.management-ui .nav-section-label{display:none}.management-ui .sidebar nav{display:flex;justify-content:center;align-items:center;gap:18px;height:90px;max-width:1160px;margin:auto}.management-ui .nav-item{flex:1;position:relative;display:flex;align-items:center;gap:11px;padding:10px 13px;height:62px;border-radius:0;background:linear-gradient(135deg,#2d50665e,#152e455e);border:1px solid #9bc5d32b;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);backdrop-filter:blur(22px);color:#83a7bb;transition:transform .25s,background .25s,border-color .25s}.management-ui .nav-item:nth-of-type(2){margin-top:-16px}.management-ui .nav-item:nth-of-type(4){margin-top:-25px}.management-ui .nav-item:nth-of-type(6){margin-top:-11px}.management-ui .nav-item:hover{background:#487a8c40;transform:translateY(-4px)}.management-ui .nav-item.active{background:linear-gradient(135deg,#447d8d5c,#1e465955);color:#ceebed;border-color:#9acfdc70;box-shadow:inset 2px 0 #88d1dc}.management-ui .nav-item .icon{width:19px;height:19px}.management-ui .nav-text{font-size:11px;font-weight:500}.management-ui .nav-count{position:absolute;right:7px;top:5px;background:#ba896b16;color:#dcac7f;font-size:8px;min-width:14px}.management-ui .sidebar-bottom{position:fixed;bottom:10px;left:28px;padding:0;font-size:8px}.management-ui .connection{font-size:8px;color:#557f94;gap:5px}.management-ui .connection i{width:4px;height:4px}
.management-ui main{padding:28px 46px;max-width:1720px;margin:auto;min-height:calc(100dvh - 240px)}.management-ui .page-heading,.management-ui .wf-heading{margin-bottom:27px}.management-ui .page-heading h1,.management-ui .wf-heading h1{font-size:28px;font-weight:500;color:#dcebf2;letter-spacing:.03em}.management-ui .eyebrow{color:#628b9f;font-size:8px;letter-spacing:.23em}.management-ui .muted,.management-ui .subtitle{color:#7797aa}.management-ui h2,.management-ui h3{color:#bdd7e4}.management-ui a{color:#8bc7d4}.management-ui .panel,.management-ui .kpi,.management-ui .device-card,.management-ui .energy-insights{background:var(--sp-glass);border:1px solid var(--sp-line);box-shadow:var(--sp-shadow);border-radius:19px;backdrop-filter:blur(24px)}.management-ui .panel-head{border-color:#a5d0de12}.management-ui .panel-head h2{color:#bad4e1;font-size:13px;font-weight:500}.management-ui .kpi{padding:21px 23px}.management-ui .kpi .label{color:#7294a9;font-size:11px}.management-ui .kpi-value{color:#d8eaf1;font-size:34px;font-weight:550;letter-spacing:-.03em}.management-ui .kpi-value small{color:#7da0b7;font-size:12px;margin-left:6px}.management-ui .kpi-foot{color:#7093a5;border-color:#a5d0de15;font-size:10px}.management-ui .positive{color:#87c9bf}.management-ui button{background:#719eae0c;border:1px solid #9ec5d72b;color:#b2cdda;border-radius:9px;font-weight:400}.management-ui button:hover:not(:disabled){background:#8bbac323;border-color:#a6d5e059;box-shadow:0 0 25px #7cced00b}.management-ui button.primary,.management-ui #control-form button[type=submit]{background:linear-gradient(120deg,#6dc4d82b,#568dc22b);border-color:#92d9e25e;color:#cbf1f1;box-shadow:0 3px 20px #6fc9d010}.management-ui button.primary:hover:not(:disabled){background:#8cd8df30;border-color:#b7f0f5a6}.management-ui button.link,.management-ui button[data-detail],.management-ui button[data-alarm-detail],.management-ui button[data-snapshot],.management-ui button[data-query-command]{background:#75c0d00d;border-color:#8ec4d534;color:#8fc8d9;font-size:11px}.management-ui button.danger{background:#e699990c;border-color:#dca8a72e;color:#dda4a1}.management-ui input,.management-ui select,.management-ui textarea{color:#c4dbe6;background:#061b2c50;border:1px solid #9dc5d32e;border-radius:9px;accent-color:#8bd2d6;color-scheme:dark}.management-ui input:focus,.management-ui select:focus,.management-ui textarea:focus{border-color:#94d3e278;box-shadow:0 0 0 3px #81d1db0c}.management-ui select option{background:#132d41;color:#c4dbe6}.management-ui label,.management-ui .field label{color:#829eaf}.management-ui .status{background:#6ab6a514;color:#8bd4c0;border:1px solid #83c8b623;font-size:10px}.management-ui .status.blue{background:#82b8da12;color:#97c6df;border-color:#9ccce02b}.management-ui .status.amber{background:#b4926312;color:#d0b388;border-color:#bba0772b}.management-ui .status.red{background:#d4929212;color:#dda3a3;border-color:#d492922e}.management-ui .status.gray{background:#9eb6c30c;color:#7e9daf;border-color:#9eb6c320}.management-ui .info-note,.management-ui .warning-banner{background:#77b2c310;border-color:#87c4d52b;color:#97bacd}.management-ui .info-note.amber{background:#ba996b0c;border-color:#bda5792e;color:#c5b08b}.management-ui .device-tile,.management-ui .device-icon{background:#81bbd112;color:#9fcddc;border:1px solid #94c2d720}.management-ui .detail-grid>div{background:#89b4cd09;border-color:#93bad322}.management-ui .detail-grid strong{color:#b7d4e2}.management-ui .detail-grid span{color:#7194aa}.management-ui table thead{background:#93b8ce07}.management-ui th{color:#7194aa;font-weight:400;border-color:#97c3d51c}.management-ui td{border-color:#a8c6d714;color:#acc7d8}.management-ui tbody tr:hover{background:#97c6d207}.management-ui .task{background:#86acc407;border-color:#94bad31f}.management-ui .timeline .done{background:#7cbfc81a;color:#a5d5de}.management-ui .flow-node{background:#153b514d;border-color:#8fbace37;color:#9dc2d7;backdrop-filter:blur(14px)}.management-ui .flow-center{background:#47809333;border-color:#9cd7dc5c}.management-ui .flow-node strong{color:#c2e4eb}.management-ui .flow-lines path{stroke:#7cbcc644;stroke-width:1;stroke-dasharray:4 8}.management-ui .study-kpis article{background:linear-gradient(140deg,#3b7c9452,#254f695e);border:1px solid #96c5d32e}.management-ui .study-kpis span,.management-ui .study-kpis p{color:#91b7cb}.management-ui .study-savings div{background:#78abc512}.management-ui .study-savings strong{color:#b4d7df}.management-ui .study-empty{background:radial-gradient(circle at top,#2f647633,transparent)}.management-ui .study-orbit{background:#89c7d41a;color:#9cd6df;box-shadow:0 0 0 14px #89c7d407}.management-ui .study-progress{background:#8ac4d00b;color:#9acddd;border-color:#91c8d533}.management-ui .code-box{background:#081c2b80;border-color:#8bb6cc2c;color:#93b4ca}.management-ui summary{color:#9ac3d8}.management-ui .scenario-bar{background:#85aec108;border-color:#9cc2d322;color:#6c91a6}.management-ui .simulator-panel{background:#7c9eb309}.management-ui .soc-bar{background:#729cad1c}.management-ui .soc-bar i{background:#7cc4d0}.management-ui .alert-mark{background:#d5ad7510;color:#cbb185}.management-ui .insight{background:#8bc2cf0a;border-color:#87bacd22}.management-ui .chart text{fill:#769bb1}.management-ui .chart line{stroke:#7da3bb1c}.management-ui .chart-box{background:transparent}.management-ui .chart path[stroke="#39896b"]{stroke:#8bcdd0}.management-ui .chart path[stroke="#82a3c1"]{stroke:#729ad0}
.management-ui dialog,.energy-screen dialog{background:linear-gradient(135deg,#17364bef,#0c2035f5);color:#c0d7e2;border:1px solid #aed7e442;border-radius:22px;backdrop-filter:blur(30px);box-shadow:0 30px 120px #000a1f99}.management-ui dialog::backdrop,.energy-screen dialog::backdrop{background:#020d1b7a;backdrop-filter:blur(10px)}.management-ui .modal-head,.management-ui .modal-foot{border-color:#9ec3d522;background:#92b5ce05}.management-ui .modal-head h2{color:#cfdfeb}.management-ui .modal-head .close,.energy-screen .dialog-close{background:#7fa9c015;border-color:#92c0d52e;color:#a6cadb}.management-ui #toast{background:#26485af5;border:1px solid #9ccbdc44;color:#d0e6ea}.management-ui .shell>footer{color:#426a7e;font-size:8px;text-align:right;letter-spacing:.1em;padding-right:46px}.management-ui .metric-strip{background:#7aabc00b;border-color:#8cbdce22}.management-ui .metric-strip strong{color:#c6dfeb}
/* Function canvas and simulation forms. */
.management-ui .function-workbench{--wf-blue:#91d4df;--wf-ink:#c3dbe6;--wf-muted:#7595ab;--wf-border:#91bed32e;--wf-green:#7bc0b3;--wf-violet:#b7afd6}.management-ui .wf-heading p{color:#6d8ca2}.management-ui .wf-context-strip{background:#81b5cd0a;border-color:#94bdd522;color:#688fa6}.management-ui .wf-context-strip .wf-ready{color:#85bfb6}.management-ui .wf-plan-bar>label{color:#7f9eb3}.management-ui .wf-plan-bar>span{color:#577b92}.management-ui .wf-steps{border-color:#93bed52b;gap:16px}.management-ui .wf-steps>button{border-bottom:1px solid transparent;background:none;padding-bottom:17px;gap:12px}.management-ui .wf-steps>button.active{background:linear-gradient(0deg,#8bcbd00d,transparent);border-bottom-color:#83c7d1}.management-ui .wf-steps b{background:#8aaec211;color:#60859b;border:1px solid #95bcd51a;border-radius:8px}.management-ui .wf-steps strong{color:#7697ae;font-weight:400}.management-ui .wf-steps small{color:#496e86}.management-ui .wf-steps .active strong{color:#b9e1e4}.management-ui .wf-steps .active b{background:#91c8d21d;color:#bfe2e9;border-color:#91c8d25d;box-shadow:0 0 20px #6dc3d014}.management-ui .wf-builder{gap:20px;grid-template-columns:220px minmax(300px,1fr) 210px}.management-ui .wf-library,.management-ui .wf-inspector{background:linear-gradient(145deg,#4163791c,#152e421a);border-color:#91bed326;border-radius:16px;backdrop-filter:blur(15px)}.management-ui .wf-library-card{background:#9cc8da05;border-color:#91bed32b}.management-ui .wf-library-card h3{color:#b2d0df}.management-ui .wf-library-card p{color:#5f839b}.management-ui .wf-library-card[draggable=true]{background:#9b91cd0b;border-color:#baabe52b}.management-ui .wf-small-tag{color:#68879c}.management-ui .wf-feature-icon{background:#8bc7d011;color:#92c9d6}.management-ui .wf-arbitrage .wf-feature-icon{background:#c2b3e011;color:#b9afd9}.management-ui .wf-library-note{color:#54798f;border-color:#93bdd515}.management-ui .wf-library-label{color:#60839c}.management-ui .wf-canvas{border-color:#89b4d233;border-radius:16px;background-color:#081b2b55;background-image:radial-gradient(#78aac32b .6px,transparent .7px);background-size:22px 22px;box-shadow:inset 0 0 90px #000a1f33}.management-ui .wf-canvas-toolbar{background:#91bcd009;border-color:#a2c8d51a;color:#799eb5}.management-ui .wf-canvas-toolbar small,.management-ui .wf-canvas-toolbar>span{color:#4d7890}.management-ui .wf-start{background:#18405658;border-color:#7db7cf3b;color:#7fa6bd}.management-ui .wf-connector{background:#8bbdcc40}.management-ui .wf-connector:after{border-top-color:#8bbdcc66}.management-ui .wf-flow-block{background:linear-gradient(135deg,#315e7575,#17384f86);border-color:#94ccda3d;box-shadow:0 15px 32px #000a1f22,inset 0 1px #c5e7ee09;backdrop-filter:blur(18px)}.management-ui .wf-flow-block.wf-arbitrage{border-color:#b3a6dc40;background:linear-gradient(140deg,#53496e45,#26364d65)}.management-ui .wf-block-head h3{color:#c1dce7;font-weight:500}.management-ui .wf-block-head span:not(.wf-feature-icon){color:#6b93aa}.management-ui .wf-block-head>b{color:#52798f}.management-ui .wf-flow-block>p{color:#80a9bd}.management-ui .wf-block-rule{background:#7faec00b;border-color:#96c2d21b;color:#6b96ad}.management-ui .wf-block-rule strong{color:#b1d3e2}.management-ui .wf-drop-zone{background:#85b5ce06;border-color:#8fbdd63b;color:#739eb4}.management-ui .wf-drop-zone>span{background:#8bb7d011;color:#90b9ca}.management-ui .wf-drop-zone strong{color:#8eafc0}.management-ui .wf-drop-zone small{color:#567f98}.management-ui .wf-end{color:#8ebebf;background:#71c1b810;border-color:#8dbfb833}.management-ui .wf-canvas-caption{background:#8bb7cf06;border-color:#8fbad31b;color:#527b92}.management-ui .wf-inspector h2{color:#c1d8e4;font-size:16px;font-weight:500}.management-ui .wf-inspector-item{border-color:#9cc5d51c}.management-ui .wf-inspector-item>span{color:#587f97}.management-ui .wf-inspector-item strong{color:#a8cbda;font-weight:400}.management-ui .wf-inspector-item small{color:#577d96}.management-ui .wf-message{background:#82bcb110;border-color:#82bcb12a;color:#96c4bd}.management-ui .wf-message.error{background:#c49a7d0c;border-color:#c49a7d2e;color:#ceaa92}.management-ui .wf-field{color:#89a9bc}.management-ui .wf-field>div{background:#061b2c50;border-color:#9dc5d32e}.management-ui .wf-field>div input{background:transparent}.management-ui .wf-field>div>span{color:#597f99}.management-ui .wf-field small{color:#648ca1}.management-ui .wf-field small[data-wf-override]{color:#9bb7c8}.management-ui .wf-form-note{color:#648ca2}.management-ui .wf-tariff-upload{background:#82aec30a;border-color:#87b6cc28}.management-ui .wf-binding-card,.management-ui .wf-data-provenance,.management-ui .wf-data-provenance>div,.management-ui .wf-review-grid>div{background:#88b1cb09;border-color:#9bc4d326}.management-ui .wf-binding-card strong,.management-ui .wf-data-provenance strong,.management-ui .wf-review-grid strong{color:#b4d0df}.management-ui .wf-binding-card small,.management-ui .wf-data-provenance small,.management-ui .wf-review-grid span{color:#688da4}.management-ui .wf-confirmation{background:#82b5c50b}.management-ui .wf-execution-notice{background:#85b7c40c;border-color:#83bbce28;color:#8ab7c9}.management-ui .wf-result-kpis article{background:linear-gradient(135deg,#3d6d8150,#22475e55);border-color:#9bc5d533}.management-ui .wf-result-kpis strong{color:#d1e7ed;font-weight:500}.management-ui .wf-result-kpis span{color:#7fa3b8}.management-ui .wf-result-costs>div{background:#8ab6ce0c}.management-ui .wf-result-costs strong{color:#a8d0da}.management-ui .wf-empty-results{background:#83abc208;border-color:#8ebad326;color:#5c829b}.management-ui .wf-run-review small{color:#658ba1}.management-ui .wf-report-heading h2{color:#c4dbe7;font-weight:500}.management-ui .wf-report-heading p{color:#7294ab}.management-ui .wf-selected-run{background:#84b9c910}.management-ui .wf-report-details pre{background:#0417264d;color:#82a4bd;border-color:#89b6ce22}.management-ui .wf-drag-ghost{background:#1b3049ed;color:#bdb3df;border-color:#b4a9d857}
.management-ui .energy-insights{--insight-text:#bfd5e0;--insight-muted:#7598ad;--insight-border:#94bed327;--insight-bg:#89b2cc08}.management-ui .insight-filters input,.management-ui .insight-filters select{color-scheme:dark}.management-ui .insight-filters select option{background:#122c42}.management-ui .insight-source-tag{background:#8ac6c20a;color:#90bdbd;border-color:#98cac42b}.management-ui .insight-metric strong{color:#c6dfe9}.management-ui .insight-filters button{background:#8bc3d01a;color:#b6d9df;border-color:#91c3d440}
.management-ui.embedded-workspace{background:transparent;min-height:100dvh}.embedded-workspace .spatial-atmosphere,.embedded-workspace .sidebar,.embedded-workspace .topbar,.embedded-workspace .shell>footer{display:none}.management-ui.embedded-workspace .shell{padding:0;margin:0}.management-ui.embedded-workspace main{padding:27px 29px 32px;max-width:none;min-height:100dvh}.embedded-workspace .page-heading h1,.embedded-workspace .wf-heading h1{font-size:25px}.embedded-workspace .wf-builder{grid-template-columns:210px minmax(280px,1fr) 205px}
@keyframes spatial-stream{to{stroke-dashoffset:-200}}@keyframes spatial-breathe{50%{opacity:.45;transform:scale(1.035)}}
@media(min-width:1700px){.energy-screen #energy-main{min-height:800px}.energy-screen .flow-stage{width:900px;left:calc(50% - 450px);height:580px;top:145px}.energy-screen .flow-layout{height:480px}.energy-screen .energy-node{width:145px}.energy-screen .energy-node svg{width:130px;height:88px}.energy-screen .energy-node strong{font-size:22px}.energy-screen .energy-hub{width:320px;height:330px}.energy-screen .energy-hub:before{height:300px}.energy-screen .energy-hub .hub-inner{transform:translateY(-9px)}.energy-screen .hub-aura{top:200px;width:275px;height:90px}.energy-screen .value-strip{width:740px;left:calc(50% - 370px);top:40px}.energy-screen .value-strip strong{font-size:21px}.energy-screen .value-total strong{font-size:30px}.energy-screen .project-panel{width:260px;top:70px;left:25px}.energy-screen .electricity-panel{width:280px;top:300px;left:60px}.energy-screen .quality-panel{left:105px;bottom:30px;width:250px}.energy-screen .power-panel{width:305px;right:20px;top:110px}.energy-screen .savings-panel{width:270px;right:60px;top:385px}.energy-screen .ranking-panel{width:280px;right:102px;bottom:3px}.energy-screen .demand-trend{width:650px;left:calc(50% - 325px);bottom:0}}
@media(min-width:1101px) and (max-width:1350px){.energy-screen .screen-shell{padding:0 22px 25px}.energy-screen .screen-header{gap:15px}.energy-screen .header-center{display:none}.energy-screen .project-panel{width:202px}.energy-screen .electricity-panel{left:8px;width:214px}.energy-screen .quality-panel{left:29px;width:206px}.energy-screen .power-panel{width:225px}.energy-screen .savings-panel{right:8px;width:204px}.energy-screen .ranking-panel{right:22px;width:225px}.energy-screen .flow-stage{width:calc(100% - 432px);left:218px}.energy-screen .energy-node{width:95px}.energy-screen .energy-node svg{width:84px;height:58px}.energy-screen .energy-hub{width:200px;height:230px}.energy-screen .energy-hub:before{height:220px;left:-27px;right:-27px;top:-25px}.energy-screen .hub-inner{transform:translateY(12px);width:145px}.energy-screen .value-strip{width:calc(100% - 438px);left:220px}.energy-screen .value-strip>div{padding:4px 9px}.energy-screen .value-total strong{font-size:21px}.energy-screen .value-strip strong{font-size:13px}.energy-screen .demand-trend{width:calc(100% - 485px);left:242px}.hud-node{gap:7px;padding:9px}.hud-label strong{font-size:10px}.hud-glyph svg{width:17px}.spatial-nav{gap:12px}.management-ui .sidebar nav{gap:10px}.management-ui .nav-item{padding:9px;gap:8px}.management-ui .nav-text{font-size:10px}}
@media(max-width:1100px){.energy-screen #energy-main{display:grid;grid-template-columns:1fr 1fr;gap:18px;height:auto;max-height:none;min-height:0;padding-top:14px}.energy-screen .center-column{display:flex;flex-direction:column;grid-column:1/-1;grid-row:1;gap:15px;min-width:0}.energy-screen .dashboard-column{display:flex;flex-direction:column;gap:18px;min-width:0}.energy-screen #energy-main>.dashboard-column>section,.energy-screen .center-column>section{position:relative;inset:auto;width:100%;transform:none}.energy-screen .value-strip{left:auto;top:auto;height:82px;min-height:82px;order:0;max-width:700px;margin:auto}.energy-screen .flow-stage{height:500px;order:1;max-width:850px;margin:auto}.energy-screen .flow-layout{height:426px}.energy-screen .demand-trend{height:155px;order:2;max-width:700px;margin:0 auto 10px}.energy-screen .demand-trend .chart-space{height:104px}.energy-screen .project-panel{height:180px}.energy-screen .electricity-panel{height:275px}.energy-screen .quality-panel{height:180px}.energy-screen .power-panel{height:250px}.energy-screen .savings-panel{height:180px}.energy-screen .ranking-panel{height:205px}.energy-screen .screen-header{height:92px;min-height:92px}.energy-screen .header-center{display:none}.energy-screen .institution-logos{display:none}.energy-screen .screen-brand h1{font-size:20px}.energy-screen .screen-actions time{font-size:12px}.spatial-nav{flex-wrap:wrap;gap:12px;padding:14px 0}.hud-node{flex:0 0 calc(25% - 12px);height:62px}.hud-node:nth-of-type(n){margin-top:0}.hud-nav-wire{display:none}.spatial-workspace{inset:95px 18px 175px}.spatial-workspace-open .spatial-nav{bottom:4px;width:calc(100% - 45px);background:#06152499;backdrop-filter:blur(20px);border-radius:18px;padding:12px}.management-ui .sidebar{inset:auto 14px 10px;height:83px}.management-ui .sidebar nav{gap:8px;height:70px}.management-ui .nav-item{flex-direction:column;justify-content:center;gap:6px;height:63px;padding:8px 3px}.management-ui .nav-item:nth-of-type(n){margin-top:0}.management-ui .nav-text{font-size:9px;white-space:nowrap}.management-ui .sidebar-bottom{display:none}.management-ui main{padding:24px}.management-ui .topbar{inset:15px 24px auto}.management-ui .wf-builder,.embedded-workspace .wf-builder{grid-template-columns:190px minmax(270px,1fr)}.management-ui .wf-inspector{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.management-ui .wf-inspector .eyebrow,.management-ui .wf-inspector h2{display:none}.management-ui .wf-inspector-item{padding:8px 0}.management-ui .wf-inspector>button{grid-column:1/-1}.management-ui .wf-heading{gap:15px}.management-ui .wf-heading-actions{gap:6px}.management-ui .wf-saved-picker select{min-width:150px}.management-ui.embedded-workspace main{padding:23px}.workspace-overline{display:none}}
@media(max-width:600px){.energy-screen .screen-shell{padding:0 16px 18px}.energy-screen .screen-header{height:84px;min-height:84px;display:flex;flex-wrap:nowrap;gap:10px}.energy-screen .screen-brand h1{font-size:15px;letter-spacing:.04em;white-space:nowrap}.energy-screen .screen-brand div>span{font-size:6px;letter-spacing:.09em}.energy-screen .screen-actions{gap:5px}.energy-screen .screen-actions time{display:none}.energy-screen .action-primary{font-size:9px;padding:8px 9px;gap:5px}.energy-screen #energy-main{gap:12px;padding-top:7px}.energy-screen .center-column{gap:12px}.energy-screen .value-strip{height:118px;min-height:118px;grid-template-columns:1.3fr 1fr;gap:9px 0}.energy-screen .value-strip>div{padding:0 10px}.energy-screen .value-strip>div:nth-child(3){border:0;padding-left:0}.energy-screen .value-total strong{font-size:24px}.energy-screen .value-strip strong{font-size:15px}.energy-screen .value-strip span{font-size:8px}.energy-screen .flow-stage{height:350px}.energy-screen .flow-stage h2{font-size:14px;letter-spacing:.14em}.energy-screen .flow-stage .eyebrow{font-size:6px}.energy-screen .flow-stage .flow-actions{top:0;right:-4px;font-size:8px}.energy-screen .flow-layout{height:291px;margin-top:12px}.energy-screen .flow-stage .detail-button{font-size:7px}.energy-screen .energy-node{width:72px;padding:2px}.energy-screen .energy-node svg{width:69px;height:46px}.energy-screen .energy-node strong{font-size:12px}.energy-screen .node-name{font-size:8px;letter-spacing:0}.energy-screen .energy-node small{font-size:6px}.energy-screen .energy-hub{width:140px;height:200px;top:47%}.energy-screen .energy-hub:before{height:175px;top:-9px;left:-30px;right:-30px}.energy-screen .hub-aura{width:140px;height:43px;top:128px}.energy-screen .hub-inner{width:116px;min-height:51px;padding:5px 8px;transform:translateY(2px);border-radius:8px;column-gap:4px}.energy-screen .hub-inner>strong{font-size:16px}.energy-screen .hub-inner>small{font-size:7px}.energy-screen .hub-inner>span{font-size:6px}.energy-screen .hub-inner>b{font-size:8px}.energy-screen .flow-power-label{font-size:6px;padding:2px 3px}.energy-screen .stage-foot{font-size:6px;padding:0}.energy-screen .demand-trend{height:138px;padding:10px}.energy-screen .demand-trend .chart-space{height:88px}.energy-screen #energy-main>.dashboard-column{gap:12px}.energy-screen .glass-panel{padding:12px;border-radius:15px}.energy-screen .project-panel{height:170px}.energy-screen .project-orbit svg{display:none}.energy-screen .project-orbit strong{font-size:7px}.energy-screen .project-metrics span{font-size:7px}.energy-screen .project-metrics strong{font-size:14px}.energy-screen .panel-title h2{font-size:9px;letter-spacing:0}.energy-screen .electricity-panel{height:288px}.energy-screen .metric-grid{grid-template-columns:1fr;gap:6px;margin-top:12px}.energy-screen .metric-grid>div{display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}.energy-screen .metric-grid span{width:100%;font-size:7px}.energy-screen .metric-grid strong{font-size:19px;line-height:1.4}.energy-screen .metric-grid small{font-size:6px;margin:0}.energy-screen .soc-row{gap:7px;padding-top:8px;margin-top:10px}.energy-screen .mini-donut{height:42px;width:42px}.energy-screen .mini-donut span{font-size:12px}.energy-screen .mini-donut small{font-size:5px}.energy-screen .soc-copy span{font-size:7px}.energy-screen .soc-copy strong{font-size:8px}.energy-screen .soc-copy small{display:none}.energy-screen .quality-panel{height:168px}.energy-screen .status-list{gap:6px}.energy-screen .status-list dt,.energy-screen .status-list dd{font-size:7px}.energy-screen .info-caption{font-size:6px}.energy-screen .power-panel{height:226px}.energy-screen .power-panel .chart-space{height:150px}.energy-screen .power-panel .chart-legend{gap:6px;font-size:6px;flex-wrap:wrap}.energy-screen .savings-panel{height:188px}.energy-screen .benefit-row>div{font-size:7px;flex-wrap:wrap}.energy-screen .benefit-row strong{font-size:8px}.energy-screen .ranking-panel{height:212px}.energy-screen .rank-row{font-size:8px}.energy-screen .rank-row strong{font-size:9px}.energy-screen .dashboard-stats{width:100%;padding:16px;margin-top:15px}.energy-screen .dashboard-stats .insight-values{grid-template-columns:1fr 1fr}.energy-screen .dashboard-stats .insight-heading h2{font-size:12px}.spatial-nav{gap:8px;justify-content:flex-start;margin-top:18px}.hud-node{height:58px;flex-basis:calc(50% - 4px);padding:9px 11px}.hud-label strong{font-size:10px}.hud-label small{font-size:6px}.hud-glyph svg{width:18px}.spatial-nav .hud-node:last-child{flex-basis:100%;justify-content:center;height:45px}.spatial-workspace{inset:84px 8px 105px;border-radius:17px}.workspace-chrome{height:47px;padding:0 13px}.workspace-chrome h2{font-size:12px;border:0;padding:0}.workspace-close{padding:4px 8px;font-size:17px}.workspace-close span{font-size:8px}.spatial-workspace-open .spatial-nav{bottom:0;width:calc(100% - 8px);padding:6px;gap:5px;border-radius:13px}.spatial-workspace-open .hud-node{flex-basis:calc(25% - 4px);height:41px;justify-content:center;padding:4px;gap:4px}.spatial-workspace-open .hud-glyph svg{width:13px;height:13px}.spatial-workspace-open .hud-label strong{font-size:8px}.spatial-workspace-open .hud-label small{display:none}.spatial-workspace-open .spatial-nav .hud-node:last-child{flex-basis:calc(25% - 4px);height:41px}.spatial-workspace-open .hud-index{display:none}.management-ui .shell{padding-top:90px;padding-bottom:98px}.management-ui .topbar{inset:12px 12px auto;padding:9px;height:62px}.management-ui .site-picker{font-size:9px;gap:6px}.management-ui .site-icon{font-size:19px}.management-ui .site-picker .muted{margin:0 2px}.management-ui .top-actions{gap:5px;flex-wrap:wrap;justify-content:flex-end}.management-ui .demo-badge{display:none}.management-ui .back-screen{font-size:8px;padding:4px 6px}.management-ui #role{font-size:9px;max-width:86px}.management-ui #logout{font-size:8px;padding:4px}.management-ui .sidebar{inset:auto 6px 5px;height:74px}.management-ui .sidebar nav{gap:4px;height:70px;background:#06152480;backdrop-filter:blur(20px)}.management-ui .nav-item{height:59px;padding:5px 1px;gap:4px;border-radius:0}.management-ui .nav-item .icon{width:16px;height:16px}.management-ui .nav-text{font-size:7px}.management-ui main{padding:18px 13px}.management-ui .page-heading h1,.management-ui .wf-heading h1{font-size:22px}.management-ui .wf-heading{align-items:flex-start;gap:12px;flex-direction:column;margin-bottom:20px}.management-ui .wf-heading-actions{width:100%;justify-content:space-between}.management-ui .wf-saved-picker{flex:1}.management-ui .wf-saved-picker select{width:100%;max-width:none;min-width:0}.management-ui .wf-context-strip{font-size:9px;gap:8px;padding:9px 11px;margin-bottom:15px}.management-ui .wf-context-strip span:last-child{margin-left:0}.management-ui .wf-plan-bar{gap:7px;flex-wrap:wrap}.management-ui .wf-plan-bar>label{gap:7px;width:100%;font-size:11px}.management-ui .wf-plan-bar input{width:calc(100% - 60px)}.management-ui .wf-plan-bar>button{padding:6px 9px;font-size:10px}.management-ui .wf-builder,.embedded-workspace .wf-builder{display:flex;flex-direction:column;gap:15px}.management-ui .wf-library{padding:16px}.management-ui .wf-library-card{padding:12px}.management-ui .wf-canvas{min-height:535px}.management-ui .wf-inspector{display:block}.management-ui .wf-inspector-item{padding:10px 0}.management-ui .wf-inspector>button{margin-top:10px}.management-ui .wf-steps{gap:3px}.management-ui .wf-steps>button{padding:7px 2px 10px;gap:7px;flex-direction:column}.management-ui .wf-steps strong{font-size:9px}.management-ui .wf-steps small{display:none}.management-ui .wf-steps b{width:26px;height:28px;font-size:11px}.management-ui .wf-field-grid{grid-template-columns:1fr}.management-ui .wf-parameter-panel .panel-body{padding:16px}.management-ui .wf-step-actions{flex-wrap:wrap;gap:10px}.management-ui .wf-result-kpis{grid-template-columns:1fr 1fr}.management-ui .wf-result-costs{grid-template-columns:1fr 1fr}.management-ui.embedded-workspace main{padding:18px 13px 28px}.management-ui .kpi{padding:16px}.management-ui .kpi-value{font-size:25px}.management-ui .kpi-grid{gap:12px}.management-ui .panel,.management-ui .device-card{border-radius:15px}.management-ui .panel-body{padding:16px}.management-ui .page-heading{gap:15px;flex-wrap:wrap}.management-ui .heading-actions{font-size:9px}.management-ui .shell>footer{padding:5px 16px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
:root{background:#06111f}.embedded-root{background:transparent}
.workspace-chrome .workspace-tools{display:flex;align-items:center;gap:10px}.workspace-tools select{padding:6px 9px;border:1px solid #96bbd329;background:#8ab5cc0a;border-radius:7px;color:#8eb2c7;font-size:10px}.workspace-tools select option{background:#153148}.workspace-logout{border:0;background:none;color:#638ba4;font-size:9px;padding:4px 5px}@media(max-width:600px){.workspace-chrome .workspace-tools{gap:5px}.workspace-tools select{font-size:8px;padding:5px;max-width:87px}.workspace-logout{font-size:8px}.workspace-close span{display:none}}
.management-ui .ops-kpis article{background:#8bb8ca09;border-color:#98c1d326}.management-ui .ops-kpis strong{color:#c4dce7}.management-ui .ops-flow b{background:#8bb9cf10;color:#92b9cc}.management-ui .nav-item:focus-visible{box-shadow:inset 0 0 0 2px #a0d9e5}.hud-node:focus-visible:before{background:#4e899e55}@media(max-width:600px){.energy-screen .screen-shell{padding-bottom:125px}.energy-screen .spatial-nav,.energy-screen.spatial-workspace-open .spatial-nav{position:fixed;bottom:0;left:4px;right:4px;transform:none;width:calc(100% - 8px);margin:0;padding:6px;gap:5px;justify-content:flex-start;background:#061524ce;backdrop-filter:blur(24px);border:1px solid #8db9cf22;border-radius:13px;min-height:0}.energy-screen .spatial-nav .hud-node,.energy-screen.spatial-workspace-open .spatial-nav .hud-node{flex:0 0 calc(25% - 4px);height:41px;padding:4px;gap:4px;justify-content:center}.energy-screen .spatial-nav .hud-label small,.energy-screen .spatial-nav .hud-index{display:none}.energy-screen .spatial-nav .hud-label strong{font-size:8px}.energy-screen .spatial-nav .hud-glyph svg{width:13px;height:13px}}
@media(min-width:1101px){.energy-screen .spatial-nav{position:fixed;bottom:9px;left:50%;transform:translateX(-50%);width:min(1160px,calc(100% - 170px));margin:0;min-height:85px}.energy-screen .screen-shell{padding-bottom:130px}}@media(min-width:1101px) and (max-height:850px){.energy-screen .screen-header{height:82px;min-height:82px}.energy-screen #energy-main{height:calc(100dvh - 190px);min-height:0}.energy-screen .project-panel{top:3%;height:26%;min-height:140px}.energy-screen .electricity-panel{top:33%;height:39%;min-height:213px;padding:14px}.energy-screen .quality-panel{bottom:0;height:24%;min-height:130px;padding:12px 16px}.energy-screen .power-panel{top:5%;height:35%;min-height:190px;padding:13px 16px}.energy-screen .savings-panel{top:46%;height:27%;min-height:146px;padding:13px 16px}.energy-screen .ranking-panel{bottom:0;height:24%;min-height:130px;padding:12px 16px}.energy-screen .power-panel .chart-space{height:120px}.energy-screen .project-orbit{margin-top:6px}.energy-screen .project-orbit svg{height:48px;width:50px}.energy-screen .project-metrics{padding-top:5px;margin-top:5px}.energy-screen .metric-grid{margin-top:9px;gap:5px}.energy-screen .metric-grid strong{font-size:21px;line-height:1.6}.energy-screen .metric-grid span{font-size:8px}.energy-screen .soc-row{margin-top:8px;padding-top:9px}.energy-screen .mini-donut{width:48px;height:48px}.energy-screen .soc-copy span{font-size:8px}.energy-screen .soc-copy small{font-size:7px}.energy-screen .status-list{gap:5px;margin:9px 0 5px}.energy-screen .status-list dt,.energy-screen .status-list dd{font-size:8px}.energy-screen .info-caption{font-size:7px;padding-top:5px}.energy-screen .load-ranking{gap:7px;padding-top:10px}.energy-screen .rank-row{font-size:9px}.energy-screen .rank-row strong{font-size:11px}.energy-screen .benefit-bars{gap:10px;padding-top:9px}.energy-screen .value-strip{top:1%;height:65px;min-height:65px}.energy-screen .value-total strong{font-size:22px}.energy-screen .flow-stage{top:17%;height:62%}.energy-screen .flow-layout{height:calc(100% - 63px);min-height:0}.energy-screen .energy-node{width:100px}.energy-screen .energy-node svg{width:84px;height:53px}.energy-screen .energy-node strong{font-size:15px}.energy-screen .energy-hub{width:185px;height:200px}.energy-screen .energy-hub:before{height:190px;top:-10px}.energy-screen .hub-aura{top:139px;width:166px;height:49px}.energy-screen .hub-inner{width:140px;min-height:54px;transform:translateY(8px);padding:6px 9px}.energy-screen .hub-inner>strong{font-size:18px}.energy-screen .demand-trend{height:18%;min-height:90px;bottom:0;padding:9px 15px}.energy-screen .demand-trend .chart-space{height:calc(100% - 22px)}.energy-screen .stage-foot{font-size:7px;padding-top:0}}
@media(min-width:1101px){.energy-screen .spatial-nav{width:min(1160px,calc(100% - 245px));left:calc(50% - 35px)}.management-ui .sidebar{right:150px;left:38px}.energy-screen .dashboard-stats{margin-top:120px}}
.management-ui .flow{background:radial-gradient(ellipse at center,rgba(68,133,153,.14),rgba(9,27,45,.3) 72%)}.management-ui .flow-node{background:rgba(17,44,62,.88);border-color:rgba(143,186,206,.24);color:#c2dce7}.management-ui .flow-center{background:rgba(39,82,99,.82);border-color:rgba(156,215,220,.38);box-shadow:0 8px 28px rgba(2,13,27,.25)}.management-ui .flow-node .icon,.management-ui .flow-center .icon{color:#9bd2d8}.management-ui .flow-node span,.management-ui .flow-center span{color:#9fbfce}.management-ui .flow-node strong{color:#e2f2f5}.management-ui .flow-node small,.management-ui .flow-center small{color:#88adbf}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--spacing:.25rem}}@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.static{position:static}.flex{display:flex}.grid{display:grid}.hidden{display:none}.grow{flex-grow:1}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-3{gap:calc(var(--spacing) * 3)}.text-center{text-align:center}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.select-none{-webkit-user-select:none;user-select:none}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
/* Login-gated spatial Hub. The cockpit's atmosphere and energy core are reused in place. */
.energy-screen .hub-space[hidden],.energy-screen .hub-detail-panel[hidden]{display:none!important}
.energy-screen .hub-space{position:absolute;inset:0;z-index:12;pointer-events:none;isolation:isolate;animation:hub-arrive .85s cubic-bezier(.16,1,.3,1) both}
.energy-screen .hub-space button{pointer-events:auto}
.energy-screen .hub-space [hidden]{display:none!important}
.energy-screen .hub-scene-meta{position:absolute;left:4.5%;top:25px;gap:13px;font:8px EnergyInter,sans-serif;letter-spacing:.22em;color:#6b92a7}
.hub-scene-meta>i{width:5px;height:5px;transform:rotate(45deg);background:#9fd5da;box-shadow:0 0 12px #79c4d55e}.hub-meta-line{height:1px;width:67px;background:linear-gradient(90deg,#89c1d333,transparent)}.hub-scene-meta b{font-weight:400;color:#a1c4d2}
.energy-screen .hub-field-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#a6d8e022;stroke-width:.65;pointer-events:none;z-index:-1;mask-image:radial-gradient(ellipse,#000 20%,transparent 78%)}
.hub-field-lines path:nth-child(2n){stroke-dasharray:2 9;animation:hub-line-flow 32s linear infinite}
.energy-screen .hub-identity{position:absolute;left:4.5%;top:56%;width:330px;color:#d6e6ec;pointer-events:none}
.hub-identity-kicker{font:9px EnergyInter,sans-serif;letter-spacing:.23em;color:#7198ae;gap:12px}.hub-identity-kicker>span{font-size:19px;font-weight:200;color:#b4d4e1}.hub-identity-kicker>i{width:36px;height:1px;background:#8eb7c738}
.energy-screen .hub-display-title{font:400 clamp(39px,3.6vw,60px)/1.03 EnergyInter,sans-serif;letter-spacing:-.05em;margin:20px 0 14px;color:#c3dbe7;text-shadow:0 0 50px #88d1df1c}.hub-display-title em{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.065em;color:#e4ece9}
.energy-screen .hub-identity h1{margin:0;font-size:22px;font-weight:400;letter-spacing:.2em;line-height:1.5;white-space:nowrap}.hub-identity-sub{font:7px EnergyInter,sans-serif;letter-spacing:.2em;color:#6e97ac;margin:12px 0 0}.hub-identity-sub>span{color:#b5d1d8;margin:0 7px}.hub-identity-rule{display:flex;align-items:center;gap:10px;margin-top:22px;font-size:9px;letter-spacing:.11em;color:#6f97a9}.hub-identity-rule>i{width:93px;height:5px;background:repeating-linear-gradient(90deg,#7ca3b755 0 1px,transparent 1px 5px);border-bottom:1px solid #8eb7c52e}.hub-identity-rule>b{font:8px EnergyInter,sans-serif;font-weight:400;color:#bad0da;margin-right:8px}
.energy-screen .hub-anchors{position:absolute;inset:0;pointer-events:none}
.energy-screen .hub-anchor{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:240px;height:190px;transform:translate(-50%,-50%);padding:0;background:none;border:0;box-shadow:none;border-radius:0;color:#bad5e0;outline-offset:7px;isolation:isolate;pointer-events:auto;transition:filter .4s,opacity .4s}
.energy-screen .hub-anchor:before{content:'';position:absolute;inset:-15px -25px;z-index:-1;border-radius:50%;background:radial-gradient(ellipse,#6fbcd211,transparent 65%);opacity:.5;filter:blur(8px);transition:opacity .5s,transform .5s}
.energy-screen .hub-anchor:after{content:'+';position:absolute;left:19px;bottom:39px;font:15px EnergyInter,sans-serif;font-weight:200;opacity:.3;color:#b0d2dd}
.energy-screen .hub-anchor:hover,.energy-screen .hub-anchor:focus-visible{background:none;border:0;color:#e1f1f2;filter:drop-shadow(0 0 16px #7ac7dd14)}
.energy-screen .hub-anchor:hover:before,.energy-screen .hub-anchor:focus-visible:before{opacity:1;transform:scale(1.12);background:radial-gradient(ellipse,#68c5e028,transparent 66%)}
.anchor-base{width:90px;height:90px;position:relative;display:grid;place-items:center;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.anchor-geometry{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#c9e5ec36;stroke-width:.65;overflow:visible;transition:transform .65s cubic-bezier(.2,.8,.2,1),stroke .45s}
.anchor-orbit{stroke:#b3dfec29;stroke-dasharray:110 13 22 15}.anchor-ticks{stroke:#b8dae22c;stroke-width:2;stroke-dasharray:.65 7.4;transform-origin:center;animation:hub-ring-turn 85s linear infinite}.anchor-diamond{stroke:#93c6d42c;transform-origin:center;transition:transform .65s,stroke .45s}.anchor-segment{stroke:#b8e1e7a1;stroke-width:1.2}
.anchor-icon{position:relative;width:35px;height:35px;display:grid;place-items:center;color:#bedfe6;filter:drop-shadow(0 0 8px #8bd8e017);transition:color .4s,transform .45s}.anchor-icon>svg{width:100%;height:100%}.anchor-glow{position:absolute;inset:13px;background:radial-gradient(circle,#8dced71c,transparent 70%);border-radius:50%;animation:hub-breathe 6s ease-in-out infinite}
.hub-anchor:hover .anchor-base,.hub-anchor:focus-visible .anchor-base{transform:translateY(-4px) scale(1.05)}.hub-anchor:hover .anchor-geometry,.hub-anchor:focus-visible .anchor-geometry{transform:rotate(12deg);stroke:#c4e8ed73}.hub-anchor:hover .anchor-diamond{transform:rotate(-24deg);stroke:#d5f0f4b0}.hub-anchor:hover .anchor-icon{color:#e4fbfb;transform:scale(1.04)}
.anchor-number{position:absolute;left:calc(50% - 78px);top:33px;font:8px EnergyInter,sans-serif;letter-spacing:.17em;color:#7399ab;writing-mode:vertical-rl;transform:rotate(180deg)}
.anchor-caption{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;margin-top:14px}.anchor-caption>strong{font-size:17px;font-weight:400;letter-spacing:.24em;text-indent:.24em;line-height:1.5;color:#d1e3eb;text-shadow:0 0 28px #a6deec24;transition:color .3s}.anchor-caption>small{font:7px EnergyInter,sans-serif;letter-spacing:.15em;color:#638fa5;white-space:nowrap}.anchor-caption>small>i{font-style:normal;color:#a1bfcb;opacity:.65;margin-left:5px}.anchor-ruler{width:69px;height:3px;background:linear-gradient(90deg,transparent,#a7cddd66 30% 70%,transparent);opacity:.45;position:relative;transition:width .5s,opacity .5s}.anchor-ruler:before,.anchor-ruler:after{content:'';position:absolute;top:-2px;height:6px;width:1px;background:#b1d4de80}.anchor-ruler:before{left:0}.anchor-ruler:after{right:0}.hub-anchor:hover .anchor-ruler{width:105px;opacity:.9}.hub-anchor:hover .anchor-caption>strong{color:#efffff}
.anchor-pill{margin-top:10px;display:inline-flex;align-items:center;gap:7px;border:1px solid #9cc9d72d;background:#6c99ae0c;backdrop-filter:blur(10px);padding:4px 10px;border-radius:99px;font-size:9px;line-height:1.4;letter-spacing:.035em;color:#7aa7b9;white-space:nowrap;min-height:23px}.anchor-pill:before{content:'';height:4px;width:4px;border-radius:50%;background:currentColor;opacity:.7}.anchor-pill[data-tone=warning]{color:#e9ae83;background:#c1814c0b;border-color:#d1a17a45}.anchor-pill[data-tone=warning]:before{box-shadow:0 0 7px #e9a97899;animation:hub-breathe 2.8s ease-in-out infinite}.anchor-pill[data-tone=normal]{color:#8ac2ba;border-color:#8ac2ba30}.anchor-pill[data-tone=locked]{color:#8499a8;border-color:#8eabb522;background:#4a5d6d16}.anchor-pill[data-tone=subtle]{color:#779bad;border-color:#8eb7c41e}
.energy-screen .anchor-overview{left:39%;top:63%}.energy-screen .anchor-devices{left:55%;top:80%}.energy-screen .anchor-control{left:76%;top:72%}.energy-screen .anchor-history{left:69%;top:55%}.energy-screen .anchor-alarms{left:86%;top:16%}.energy-screen .anchor-functions{left:80%;top:37%;width:270px;height:215px}.anchor-functions .anchor-base{width:108px;height:108px}.anchor-functions .anchor-icon{width:42px;height:42px}.anchor-functions .anchor-caption>strong{font-size:20px}.anchor-functions .anchor-number{top:41px;left:calc(50% - 91px)}.anchor-functions .anchor-diamond{stroke:#8bb9e04a}.anchor-alarms .anchor-segment{stroke:#d6b19680}
.energy-screen .anchor-architecture{left:16%;top:86%;width:290px;height:89px;flex-direction:row;gap:18px;justify-content:flex-start;padding:0 14px}.anchor-architecture .anchor-base{width:61px;height:61px;flex-shrink:0}.anchor-architecture .anchor-icon{width:25px;height:25px}.anchor-architecture .anchor-caption{align-items:flex-start;gap:7px;margin:0}.anchor-architecture .anchor-caption>strong{font-size:13px;text-indent:0;letter-spacing:.12em}.anchor-architecture .anchor-caption>small{font-size:6px;letter-spacing:.09em}.anchor-architecture .anchor-ruler{width:83px}.anchor-architecture .anchor-number{writing-mode:horizontal-tb;transform:none;left:12px;top:-6px;font-size:7px}.anchor-architecture:after{display:none}
.anchor-lock{position:absolute;width:37px;height:37px;background:#142a3c99;border:1px solid #99b7c442;transform:rotate(45deg);backdrop-filter:blur(7px);display:grid;place-items:center;box-shadow:0 0 20px #0b192c80}.anchor-lock>svg{width:21px;height:21px;transform:rotate(-45deg);color:#b1c3ce}.hub-anchor[data-access=locked] .anchor-icon{opacity:.18}.hub-anchor[data-access=locked] .anchor-geometry{opacity:.45}.hub-anchor[data-access=locked] .anchor-caption>strong{color:#8b9fae}.hub-anchor[data-access=locked]:hover:before{background:radial-gradient(ellipse,#93a6b618,transparent 65%)}
.hub-session{position:absolute;left:4.5%;top:76px;pointer-events:auto;color:#a8c3d0;gap:11px}.hub-avatar{width:34px;height:34px;border:1px solid #9abecb2e;border-radius:50%;display:grid;place-items:center}.hub-avatar>svg{width:18px;height:18px;color:#7ea6b9}.hub-session>div{display:flex;flex-direction:column;gap:5px}.hub-session>div>span{font:11px EnergyInter,sans-serif;letter-spacing:.04em;color:#bdd3de}.hub-session small{font-size:8px;letter-spacing:.06em;color:#63879e}.energy-screen .hub-logout{padding:5px 0 5px 20px;background:none;border:0;box-shadow:none;border-radius:0;font-size:8px;color:#5b839a;margin-left:8px;border-left:1px solid #91b6c324}.hub-logout:hover{color:#acd0dd!important}
.hub-footnote{position:absolute;left:4.5%;right:4.5%;bottom:17px;font:7px EnergyInter,sans-serif;letter-spacing:.16em;color:#456d86;gap:15px}.hub-footnote b{font-size:8px;font-weight:400;letter-spacing:.06em;color:#7da9bc;margin-left:12px}.hub-toast{position:fixed;bottom:36px;left:50%;z-index:950;transform:translate(-50%,12px);opacity:0;pointer-events:none;max-width:calc(100% - 36px);padding:12px 20px;border:1px solid #9ccad34a;background:#122a3eea;color:#b8d4e0;font-size:12px;line-height:1.8;backdrop-filter:blur(20px);border-radius:12px;box-shadow:0 15px 50px #000c1f66;transition:opacity .2s,transform .2s}.hub-toast.visible{opacity:1;transform:translate(-50%,0)}
/* Scene changes use the original background, model, topology and DOM. */
.energy-screen[data-scene=screen] .screen-shell,.energy-screen[data-scene=login] .screen-shell{padding-bottom:28px}.energy-screen[data-scene=screen] .dashboard-stats,.energy-screen[data-scene=login] .dashboard-stats{margin-top:35px}.energy-screen .dashboard-column>section,.energy-screen .value-strip,.energy-screen .demand-trend{transition:opacity .65s,transform .65s,visibility .65s}
.energy-screen.hub-mode{overflow:hidden}.energy-screen.hub-mode .screen-shell{height:100dvh;min-height:0;padding:0 32px;background:none;overflow:hidden}.energy-screen.hub-mode .screen-header{height:86px;min-height:86px;border-color:#a6cbdc0e}.energy-screen.hub-mode #energy-main{height:calc(100dvh - 86px);min-height:0;max-height:none;display:block;padding:0;overflow:visible}.energy-screen.hub-mode .dashboard-column>section,.energy-screen.hub-mode .value-strip,.energy-screen.hub-mode .demand-trend{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(12px)}.energy-screen.hub-mode .dashboard-stats,.energy-screen.hub-mode .screen-shell>footer{display:none}.energy-screen.hub-mode .flow-stage{position:absolute;left:20%;top:0;width:65%;height:68%;max-width:none;margin:0;padding:0;background:none;border:0;box-shadow:none;transition:left .8s,top .8s,width .8s,height .8s}.energy-screen.hub-mode .flow-layout{height:100%;margin:0;min-height:0}.energy-screen.hub-mode .flow-stage>.panel-title,.energy-screen.hub-mode .flow-stage>.stage-foot,.energy-screen.hub-mode .flow-stage .energy-node,.energy-screen.hub-mode #flow-labels{opacity:0;visibility:hidden;pointer-events:none}.energy-screen.hub-mode .energy-hub{width:320px;height:330px;top:44%;left:52%;transition:width .8s,height .8s,top .8s;z-index:4}.energy-screen.hub-mode .energy-hub:before{top:-24px;left:-50px;right:-50px;height:340px;filter:drop-shadow(0 18px 45px #53bfd32a)}.energy-screen.hub-mode .hub-aura{top:245px;width:300px;height:88px;border-color:#89d3d72e;border-top-color:#a3dfe775}.energy-screen.hub-mode .hub-inner{width:160px;min-height:58px;padding:7px 10px;transform:translateY(30px);border-color:#b3dbe22d;background:linear-gradient(120deg,#2c596729,#152e443d);backdrop-filter:blur(10px)}.energy-screen.hub-mode .hub-inner>strong{font-size:22px}.energy-screen.hub-mode .hub-inner>small{font-size:8px}.energy-screen.hub-mode .hub-inner>b{font-size:10px}.energy-screen.hub-mode .flow-line{stroke:#8cbec938;stroke-width:.55;marker-end:none;opacity:.38}.energy-screen.hub-mode .flow-wires{opacity:.48;mask-image:radial-gradient(ellipse,#000 15%,transparent 76%)}.energy-screen.hub-mode .orbit-track,.energy-screen.hub-mode .orbit-inner,.energy-screen.hub-mode .orbit-ticks{stroke:#8dc5d42c;opacity:.8}.energy-screen.hub-mode .flow-stage:after{content:'PARK ENERGY CORE / 01';position:absolute;top:9%;left:52%;transform:translateX(-50%);font:7px EnergyInter,sans-serif;letter-spacing:.3em;color:#4d829b;pointer-events:none}.energy-screen.hub-mode .header-center{opacity:.55}
.energy-screen[data-scene=detail] #energy-main{filter:blur(16px) brightness(.55);opacity:.75;pointer-events:none;transition:filter .45s,opacity .45s}
/* Spatial detail surface with a lightweight breadcrumb switcher. */
.energy-screen .hub-detail-panel{inset:104px 44px 34px;z-index:200;border-radius:23px;background:rgba(15,23,42,.72);border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 160px #000818a8,inset 0 1px 0 #f0faff0d;backdrop-filter:blur(32px) saturate(1.15);-webkit-backdrop-filter:blur(32px) saturate(1.15);animation:hub-panel-arrive .52s cubic-bezier(.16,1,.3,1) both;transform-origin:var(--panel-origin-x,50%) var(--panel-origin-y,50%)}
.hub-detail-panel .workspace-chrome{height:62px;padding:0 20px;background:#9db8d005;border-bottom:1px solid #c7dce314}.hub-detail-panel .workspace-breadcrumb{gap:14px}.hub-detail-panel .workspace-close{display:flex;align-items:center;gap:9px;border:0;border-radius:0;background:none;padding:7px 0;color:#bfd8e4;font-size:11px}.hub-detail-panel .workspace-close>span:first-child{font-size:18px;font-weight:300;margin-right:4px}.hub-detail-panel .workspace-close small{font:6px EnergyInter,sans-serif;letter-spacing:.11em;color:#5b8199;margin-left:4px}.breadcrumb-divider{color:#557b93;font-size:13px;font-weight:300}.hub-detail-panel .workspace-chrome h2{font-size:12px;font-weight:400;letter-spacing:.08em;padding:0;border:0;color:#93b3c6}.hub-detail-panel #workspace-switch{width:29px;color:transparent;padding:5px 0 5px 2px;background:transparent;border:0;font-size:10px;border-radius:5px;cursor:pointer}.hub-detail-panel #workspace-switch option{color:#b6cfdc;background:#122b40}.hub-detail-panel .workspace-tools{gap:12px}.hub-detail-panel .workspace-tools select{font-size:10px;border-color:#acc9d524;background:#a3c0d00a}.hub-detail-panel .detail-dismiss{height:29px;width:29px;display:grid;place-items:center;background:#a8cbd00a;border:1px solid #b1d1dc24;border-radius:50%;color:#9ebdcc;font-size:18px}.focus-sentinel{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}
@keyframes hub-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes hub-panel-arrive{from{opacity:0;filter:blur(8px);transform:translate(var(--panel-shift-x,0px),var(--panel-shift-y,14px)) scale(.91)}to{opacity:1;filter:blur(0);transform:translate(0,0) scale(1)}}@keyframes hub-ring-turn{to{transform:rotate(360deg)}}@keyframes hub-breathe{50%{opacity:.3}}@keyframes hub-line-flow{to{stroke-dashoffset:-180}}
@media(min-width:1700px){.energy-screen .hub-identity{width:420px}.energy-screen .hub-identity h1{font-size:26px}.energy-screen .hub-display-title{font-size:65px}.energy-screen .hub-anchor{width:270px;height:215px}.anchor-base{width:106px;height:106px}.anchor-caption>strong{font-size:20px}.anchor-caption>small{font-size:8px}.anchor-pill{font-size:10px}.energy-screen .anchor-functions{width:300px;height:240px}.anchor-functions .anchor-base{width:128px;height:128px}.anchor-functions .anchor-caption>strong{font-size:23px}.energy-screen .anchor-architecture{width:325px;height:90px}.energy-screen.hub-mode .energy-hub{width:380px;height:380px}.energy-screen.hub-mode .energy-hub:before{height:400px}.energy-screen.hub-mode .hub-aura{top:300px;width:350px;height:110px}.energy-screen.hub-mode .hub-inner{transform:translateY(40px)}}
@media(max-height:800px) and (min-width:1101px){.energy-screen.hub-mode .screen-header{height:74px;min-height:74px}.energy-screen.hub-mode #energy-main{height:calc(100dvh - 74px)}.energy-screen .hub-identity{top:55%;width:290px}.energy-screen .hub-display-title{font-size:42px;margin:14px 0 10px}.energy-screen .hub-identity h1{font-size:18px}.hub-identity-rule{margin-top:15px}.energy-screen .hub-anchor{width:210px;height:165px}.anchor-base{width:73px;height:73px}.anchor-icon{width:29px;height:29px}.anchor-caption{margin-top:10px;gap:7px}.anchor-caption>strong{font-size:15px}.anchor-caption>small{font-size:6px}.anchor-pill{font-size:8px;margin-top:8px;padding:3px 8px}.anchor-number{top:29px;left:calc(50% - 64px);font-size:7px}.energy-screen .anchor-functions{height:190px;width:240px}.anchor-functions .anchor-base{width:91px;height:91px}.anchor-functions .anchor-caption>strong{font-size:17px}.energy-screen .anchor-architecture{height:73px;width:260px;top:88%}.anchor-architecture .anchor-base{height:52px;width:52px}.anchor-architecture .anchor-caption>strong{font-size:12px}.energy-screen.hub-mode .energy-hub{width:245px;height:255px}.energy-screen.hub-mode .energy-hub:before{height:280px;left:-45px;right:-45px;top:-18px}.energy-screen.hub-mode .hub-aura{top:202px;width:238px;height:67px}.energy-screen.hub-mode .hub-inner{transform:translateY(37px);width:145px}.hub-session{top:64px}.hub-scene-meta{top:17px!important}.hub-footnote{bottom:12px}.energy-screen .hub-detail-panel{inset:90px 35px 22px}}
@media(max-width:1100px) and (min-width:601px){.energy-screen.hub-mode .screen-shell{padding:0 20px}.energy-screen.hub-mode #energy-main{height:calc(100dvh - 86px);min-height:740px}.energy-screen.hub-mode{overflow:auto}.energy-screen.hub-mode .screen-shell{height:auto;min-height:100dvh;overflow:visible}.energy-screen .hub-identity{left:2%;width:260px;top:57%}.energy-screen .hub-display-title{font-size:42px}.energy-screen .hub-identity h1{font-size:18px}.energy-screen .hub-anchor{width:190px;height:175px}.anchor-caption>strong{font-size:15px}.anchor-caption>small{font-size:6px}.anchor-base{width:78px;height:78px}.anchor-icon{width:28px;height:28px}.anchor-pill{font-size:8px}.energy-screen .anchor-functions{width:210px;height:195px;left:80%}.anchor-functions .anchor-base{width:94px;height:94px}.anchor-functions .anchor-caption>strong{font-size:17px}.energy-screen .anchor-overview{left:39%}.energy-screen .anchor-devices{left:56%;top:82%}.energy-screen .anchor-control{left:82%;top:72%}.energy-screen .anchor-history{left:67%;top:57%}.energy-screen .anchor-architecture{left:17%;width:260px;height:85px;top:90%}.energy-screen.hub-mode .energy-hub{width:260px;height:280px}.energy-screen.hub-mode .energy-hub:before{height:290px}.energy-screen.hub-mode .hub-aura{top:215px;width:240px;height:72px}.energy-screen .hub-detail-panel{inset:99px 18px 24px}.hub-detail-panel .workspace-close small{display:none}}
@media(max-width:600px){.energy-screen.hub-mode{overflow:auto}.energy-screen.hub-mode .screen-shell{height:auto;min-height:100dvh;padding:0 12px 0;overflow:visible}.energy-screen.hub-mode .screen-header{height:78px;min-height:78px;position:sticky;top:0;z-index:90;background:#081523da;backdrop-filter:blur(20px)}.energy-screen.hub-mode #energy-main{display:block;height:1090px;min-height:1090px;padding:0}.energy-screen.hub-mode .flow-stage{left:-8%;top:5px;width:100%;height:325px}.energy-screen.hub-mode .energy-hub{width:220px;height:230px;top:44%;left:52%}.energy-screen.hub-mode .energy-hub:before{height:247px;top:-14px;left:-38px;right:-38px}.energy-screen.hub-mode .hub-aura{top:174px;width:210px;height:64px}.energy-screen.hub-mode .hub-inner{width:128px;min-height:49px;transform:translateY(30px);padding:5px 7px}.energy-screen.hub-mode .hub-inner>strong{font-size:18px}.energy-screen.hub-mode .hub-inner>small{font-size:7px}.energy-screen.hub-mode .hub-inner>span{font-size:6px}.energy-screen.hub-mode .hub-inner>b{font-size:8px}.energy-screen.hub-mode .flow-stage:after{font-size:6px;letter-spacing:.16em;top:15%}.energy-screen .hub-scene-meta{left:8px;top:12px;font-size:6px;gap:7px;letter-spacing:.1em}.hub-meta-line{width:18px}.hub-session{right:8px;left:auto;top:44px;gap:6px}.hub-avatar{display:none}.hub-session>div>span{font-size:9px}.hub-session small{font-size:6px}.energy-screen .hub-logout{font-size:7px;padding-left:9px;margin-left:2px}.energy-screen .hub-identity{left:15px;top:325px;width:calc(100% - 30px)}.hub-identity-kicker{font-size:8px;gap:10px}.energy-screen .hub-display-title{font-size:43px;margin:15px 0 12px;letter-spacing:-.055em;line-height:1}.energy-screen .hub-identity h1{font-size:19px;letter-spacing:.15em}.hub-identity-sub{font-size:6px;letter-spacing:.19em}.hub-identity-rule{margin-top:17px;font-size:8px}.hub-identity-rule>i{width:70px}.energy-screen .hub-anchor{width:165px;height:155px}.anchor-base{width:74px;height:74px}.anchor-icon{width:27px;height:27px}.anchor-number{left:calc(50% - 58px);top:25px;font-size:6px}.anchor-caption{margin-top:11px;gap:7px}.anchor-caption>strong{font-size:15px;letter-spacing:.18em}.anchor-caption>small{font-size:5px;letter-spacing:.08em}.anchor-caption>small>i{margin-left:2px}.anchor-ruler{width:52px}.anchor-pill{font-size:7px;padding:3px 7px;min-height:20px;margin-top:7px;gap:5px}.anchor-pill:before{width:3px;height:3px}.energy-screen .hub-anchor:after{left:5px;bottom:32px;font-size:12px}.energy-screen .anchor-alarms{left:78%;top:19%;width:145px;height:150px}.anchor-alarms .anchor-base{width:60px;height:60px}.anchor-alarms .anchor-caption>strong{font-size:13px}.anchor-alarms .anchor-number{left:calc(50% - 47px);top:22px}.energy-screen .anchor-functions{left:74%;top:50%;height:170px;width:175px}.anchor-functions .anchor-base{width:86px;height:86px}.anchor-functions .anchor-icon{width:33px;height:33px}.anchor-functions .anchor-caption>strong{font-size:17px}.anchor-functions .anchor-number{left:calc(50% - 65px);top:28px}.energy-screen .anchor-overview{left:25%;top:55%}.energy-screen .anchor-devices{left:74%;top:68%}.energy-screen .anchor-history{left:26%;top:73%}.energy-screen .anchor-control{left:75%;top:87%}.energy-screen .anchor-architecture{left:25%;top:93%;width:177px;height:76px;gap:9px;padding:0 6px}.anchor-architecture .anchor-base{width:45px;height:45px}.anchor-architecture .anchor-icon{width:19px;height:19px}.anchor-architecture .anchor-caption>strong{font-size:12px;letter-spacing:.06em}.anchor-architecture .anchor-caption>small{font-size:4px;letter-spacing:0;white-space:nowrap}.anchor-architecture .anchor-caption>small>i{display:none}.anchor-architecture .anchor-ruler{width:72px}.anchor-architecture .anchor-number{font-size:6px;top:-2px;left:7px}.hub-footnote{left:7px;right:7px;bottom:7px;font-size:5px;letter-spacing:.04em;gap:8px}.hub-footnote b{font-size:6px;margin-left:5px}.hub-footnote>span:last-child{display:none}.energy-screen .hub-detail-panel{inset:85px 7px 12px;border-radius:18px}.hub-detail-panel .workspace-chrome{height:51px;padding:0 11px}.hub-detail-panel .workspace-breadcrumb{gap:6px}.hub-detail-panel .workspace-close{font-size:10px;gap:5px;white-space:nowrap}.hub-detail-panel .workspace-close>span:first-child{font-size:16px;margin-right:1px}.hub-detail-panel .workspace-close small{display:none}.hub-detail-panel .workspace-chrome h2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.hub-detail-panel #workspace-switch{width:24px;font-size:9px}.hub-detail-panel .workspace-tools{gap:5px}.hub-detail-panel .workspace-tools select{font-size:8px;padding:5px;max-width:79px}.hub-detail-panel .workspace-logout{font-size:7px;padding:4px}.hub-detail-panel .detail-dismiss{width:24px;height:24px;font-size:16px}.breadcrumb-divider{font-size:9px;color:#688a9e}.energy-screen.hub-mode .hub-session>div{gap:3px}.hub-toast{bottom:22px;width:max-content;font-size:11px}.energy-screen[data-scene=detail] #energy-main{filter:blur(12px) brightness(.5)}.hub-detail-panel{transform-origin:center!important}}
@media(prefers-reduced-motion:reduce){.hub-space,.hub-detail-panel,.anchor-ticks,.anchor-glow,.anchor-pill:before,.hub-field-lines path{animation:none!important}.hub-anchor,.hub-anchor:before,.anchor-base,.anchor-geometry,.anchor-diamond,.anchor-icon,.anchor-ruler{transition:none!important}}
@media(min-width:601px){.energy-screen .anchor-overview{width:200px}.energy-screen .anchor-devices{left:57.5%;top:82%;width:200px}.energy-screen .anchor-control{left:78%;top:79%;width:200px}.energy-screen .anchor-history{left:64%;width:200px}.energy-screen .anchor-functions{width:230px}.energy-screen .anchor-alarms{top:12%;width:200px}}
.energy-screen .hub-space{overflow:clip}
@media(min-width:1101px) and (max-width:1350px){.energy-screen .anchor-functions{left:84%}.energy-screen .anchor-history{left:62%}}@media(min-width:601px) and (max-width:1100px){.energy-screen .anchor-functions{left:85%;width:180px}.energy-screen .anchor-history{left:59%;width:160px}.energy-screen .anchor-overview{left:36%;width:180px}.energy-screen .anchor-devices{width:180px}.energy-screen .anchor-control{left:83%;width:180px}}
@media(min-width:1101px){.energy-screen .anchor-history{top:61%;width:180px;height:170px}.energy-screen .anchor-devices{top:85%}}

/* Cockpit alignment contract. Scoped away from the authenticated Hub. */
body.energy-screen:not(.hub-mode){height:100vh;height:100dvh;overflow:hidden;--dash-gap:16px;--dash-side:clamp(240px,22.5vw,340px)}
.energy-screen:not(.hub-mode) .screen-shell{height:100vh;height:100dvh;min-height:0;display:grid;grid-template-rows:86px minmax(0,1fr) 18px;gap:12px;padding:0 24px 8px;overflow:hidden}
.energy-screen:not(.hub-mode) .screen-header{height:86px;min-height:0}
.energy-screen:not(.hub-mode) #energy-main{display:grid;grid-template-columns:var(--dash-side) minmax(0,1fr) var(--dash-side);gap:var(--dash-gap);height:auto;min-height:0;max-height:none;padding:0;overflow:visible}
.energy-screen:not(.hub-mode) .dashboard-column{display:grid;gap:var(--dash-gap);min-width:0;min-height:0}
.energy-screen:not(.hub-mode) .left-column{grid-template-rows:1fr 1.42fr 1.08fr}
.energy-screen:not(.hub-mode) .right-column{grid-template-rows:1.38fr 1fr 1fr}
.energy-screen:not(.hub-mode) .center-column{display:grid;grid-template-rows:104px minmax(0,1fr) clamp(125px,18vh,190px);gap:var(--dash-gap);min-width:0;min-height:0}
.energy-screen:not(.hub-mode) #energy-main>.dashboard-column>section,.energy-screen:not(.hub-mode) .center-column>section{position:relative;inset:auto;width:100%;height:auto;max-width:none;min-width:0;min-height:0;margin:0;transform:none}
.energy-screen:not(.hub-mode) .glass-panel{padding:16px;border-radius:18px}
.energy-screen:not(.hub-mode) .panel-title h2{font-size:12px}
.energy-screen:not(.hub-mode) .project-orbit{margin-top:8px}
.energy-screen:not(.hub-mode) .project-orbit svg{height:60px;width:68px}
.energy-screen:not(.hub-mode) .metric-grid{margin-top:14px;gap:10px}
.energy-screen:not(.hub-mode) .metric-grid strong{font-size:clamp(21px,1.8vw,29px);line-height:1.5}
.energy-screen:not(.hub-mode) .soc-row{margin-top:auto;padding-top:12px}
.energy-screen:not(.hub-mode) .status-list{gap:8px;margin:14px 0 10px}
.energy-screen:not(.hub-mode) .power-panel .chart-space{height:auto;flex:1;min-height:0;margin-top:10px}
.energy-screen:not(.hub-mode) .savings-chart{padding-top:10px}
.energy-screen:not(.hub-mode) .load-ranking{padding:12px 0;gap:14px}
.energy-screen:not(.hub-mode) .value-strip{display:flex;align-items:center;justify-content:space-between;gap:0;padding:14px 16px;overflow:hidden;border:1px solid rgba(163,207,226,.16);border-radius:18px;background:var(--sp-glass);box-shadow:var(--sp-shadow);backdrop-filter:blur(26px) saturate(120%)}
.energy-screen:not(.hub-mode) .value-strip>div{flex:1;display:grid;grid-template-rows:14px 32px 14px;align-content:center;min-width:0;padding:0 12px;border-left:1px solid #9ac5d522;background:none}
.energy-screen:not(.hub-mode) .value-strip>div:first-child{flex:1.2;padding-left:0;border:0}
.energy-screen:not(.hub-mode) .value-strip>div:last-child{padding-right:0}
.energy-screen:not(.hub-mode) .value-strip span{font-size:9px;line-height:14px;white-space:nowrap}
.energy-screen:not(.hub-mode) .value-strip strong{font-size:clamp(16px,1.45vw,24px);line-height:32px;height:32px;margin:0;font-weight:500}
.energy-screen:not(.hub-mode) .value-strip .value-total strong{color:#ecd9b6}
.energy-screen:not(.hub-mode) .value-strip small{grid-row:3;line-height:14px;margin:0;font-size:7px}
.energy-screen:not(.hub-mode) .value-strip .detail-button{grid-row:3;position:static;inset:auto;justify-self:start;align-self:center;padding:0;border:0;background:none;margin:0;font-size:8px;line-height:14px}
.energy-screen:not(.hub-mode) .flow-stage{display:flex;flex-direction:column;padding:4px 0 0;background:none;border:0;box-shadow:none;backdrop-filter:none;overflow:visible}
.energy-screen:not(.hub-mode) .flow-stage>.panel-title{justify-content:center;min-height:36px;text-align:center}
.energy-screen:not(.hub-mode) .flow-stage .flow-actions{position:absolute;right:0;top:12px}
.energy-screen:not(.hub-mode) .flow-stage h2{font-size:16px}
.energy-screen:not(.hub-mode) .flow-layout{flex:1;height:auto;min-height:0;width:100%;margin:8px auto 0}
.energy-screen:not(.hub-mode) .energy-hub{left:50%;top:47%;width:clamp(145px,34%,260px);height:calc(var(--dash-art-size,clamp(170px,25vh,300px)) + 48px);margin:0 auto}
.energy-screen:not(.hub-mode) .energy-hub:before{height:var(--dash-art-size,clamp(170px,25vh,300px));top:0;left:-25px;right:-25px}
.energy-screen:not(.hub-mode) .hub-inner{transform:none;width:160px;min-height:58px;padding:7px 10px;margin:0 auto}
.energy-screen:not(.hub-mode) .hub-inner>strong{font-size:21px}
.energy-screen:not(.hub-mode) .hub-aura{top:calc(var(--dash-art-size,clamp(170px,25vh,300px)) * .76);width:80%;height:50px}
.energy-screen:not(.hub-mode) .stage-foot{min-height:20px;padding:3px 12px 0;justify-content:space-between}
.energy-screen:not(.hub-mode) .demand-trend{padding:12px 16px;background:var(--sp-glass);border:1px solid var(--sp-line);border-radius:18px;box-shadow:var(--sp-shadow)}
.energy-screen:not(.hub-mode) .demand-trend .chart-space{height:auto;flex:1;min-height:0}
.energy-screen:not(.hub-mode) .screen-shell>footer{font-size:7px;line-height:18px;padding:0;margin:0}
/* Keep the existing report and filters available without adding another page row. */
.energy-screen #period-stats-dialog{width:min(1100px,calc(100vw - 40px));max-height:calc(100dvh - 48px);background:rgba(15,30,48,.94);padding:24px}
.energy-screen #period-stats-dialog .dashboard-stats{position:static;display:block;width:100%;height:auto;margin:0;padding:18px;background:transparent;border:1px solid var(--sp-line)}
.energy-screen #period-stats-dialog .insight-heading h2{font-size:14px}
@media(min-width:1101px) and (max-height:850px){
 .energy-screen:not(.hub-mode) .screen-shell{grid-template-rows:74px minmax(0,1fr) 16px;gap:10px}
 .energy-screen:not(.hub-mode) .screen-header{height:74px}
 .energy-screen:not(.hub-mode) .center-column{grid-template-rows:96px minmax(0,1fr) 125px}
 .energy-screen:not(.hub-mode) .glass-panel{padding:12px 14px}
 .energy-screen:not(.hub-mode) .panel-title h2{font-size:11px}
 .energy-screen:not(.hub-mode) .project-orbit svg{width:52px;height:44px}
 .energy-screen:not(.hub-mode) .project-orbit{margin-top:5px}
 .energy-screen:not(.hub-mode) .metric-grid{margin-top:8px;gap:6px}
 .energy-screen:not(.hub-mode) .metric-grid strong{font-size:22px;line-height:1.4}
 .energy-screen:not(.hub-mode) .soc-row{padding-top:8px;gap:10px}
 .energy-screen:not(.hub-mode) .mini-donut{width:47px;height:47px}
 .energy-screen:not(.hub-mode) .status-list{gap:6px;margin:8px 0}
 .energy-screen:not(.hub-mode) .flow-stage{padding:0}
 .energy-screen:not(.hub-mode) .flow-stage h2{font-size:14px}
 .energy-screen:not(.hub-mode) .flow-stage .eyebrow{font-size:7px}
 .energy-screen:not(.hub-mode) .flow-layout{margin-top:2px}
 .energy-screen:not(.hub-mode) .energy-node svg{width:80px;height:52px}
 .energy-screen:not(.hub-mode) .energy-node strong{font-size:15px}
 .energy-screen:not(.hub-mode) .value-strip{padding:10px 14px}
 .energy-screen:not(.hub-mode) .demand-trend{padding:10px 14px}
 .energy-screen:not(.hub-mode) .info-caption{font-size:7px}
}
@media(max-width:1100px){
 .energy-screen:not(.hub-mode) .screen-shell{grid-template-rows:78px minmax(0,1fr) 16px;padding:0 16px 8px}
 .energy-screen:not(.hub-mode) .screen-header{height:78px}
 .energy-screen:not(.hub-mode) #energy-main{grid-template-columns:1fr 1fr;align-content:start;overflow:auto;scrollbar-width:none;padding-bottom:12px}
 .energy-screen:not(.hub-mode) #energy-main::-webkit-scrollbar{display:none}
 .energy-screen:not(.hub-mode) .center-column{grid-column:1/-1;grid-row:1;grid-template-rows:104px 410px 150px}
 .energy-screen:not(.hub-mode) .dashboard-column{grid-template-columns:1fr;grid-template-rows:200px 285px 210px}
 .energy-screen:not(.hub-mode) .energy-hub{--dash-art-size:235px}
 .energy-screen:not(.hub-mode) .screen-shell>footer span:last-child{display:none}
}
@media(max-width:600px){
 .energy-screen:not(.hub-mode) .screen-shell{padding:0 12px 6px;gap:8px;grid-template-rows:74px minmax(0,1fr) 14px}
 .energy-screen:not(.hub-mode) .screen-header{height:74px}
 .energy-screen:not(.hub-mode) .center-column{grid-template-rows:164px 350px 145px;gap:14px}
 .energy-screen:not(.hub-mode) .value-strip{display:grid;grid-template-columns:1fr 1fr;gap:12px 0;padding:12px}
 .energy-screen:not(.hub-mode) .value-strip>div{padding:0 12px;grid-template-rows:12px 28px 12px}
 .energy-screen:not(.hub-mode) .value-strip>div:nth-child(3){border:0;padding-left:0}
 .energy-screen:not(.hub-mode) .value-strip strong{font-size:20px;line-height:28px;height:28px}
 .energy-screen:not(.hub-mode) .value-strip span{font-size:8px}
 .energy-screen:not(.hub-mode) .flow-stage .flow-actions{top:9px;right:-2px}
 .energy-screen:not(.hub-mode) .flow-stage .detail-button{font-size:6px}
 .energy-screen:not(.hub-mode) .flow-stage h2{font-size:13px}
 .energy-screen:not(.hub-mode) .energy-hub{--dash-art-size:175px;width:140px}
 .energy-screen:not(.hub-mode) .hub-inner{width:120px;min-height:51px;padding:6px 8px}
 .energy-screen:not(.hub-mode) .hub-inner>strong{font-size:17px}
 .energy-screen:not(.hub-mode) .energy-node{width:72px}
 .energy-screen:not(.hub-mode) .dashboard-column{grid-template-rows:200px 310px 220px}
 .energy-screen:not(.hub-mode) .metric-grid{grid-template-columns:1fr}
 .energy-screen:not(.hub-mode) .project-orbit svg{display:none}
 .energy-screen:not(.hub-mode) .panel-title h2{font-size:9px}
 .energy-screen:not(.hub-mode) .metric-grid strong{font-size:20px}
 .energy-screen:not(.hub-mode) .soc-copy small{display:none}
 .energy-screen:not(.hub-mode) .glass-panel{padding:12px}
 .energy-screen #period-stats-dialog{width:calc(100vw - 16px);padding:16px}
}
.energy-screen:not(.hub-mode) .screen-shell>footer{padding-right:76px}

/* Plaque, seal and operator ID use document flow instead of competing coordinates. */
.energy-screen.hub-mode .dashboard-column,.energy-screen.hub-mode .value-strip,.energy-screen.hub-mode .demand-trend{display:none}
.energy-screen.hub-mode .center-column{display:contents}
.energy-screen .hub-plaque{position:absolute;left:16px;bottom:48px;display:flex;flex-direction:column;gap:24px;width:min(360px,30vw);pointer-events:none}
.energy-screen .hub-plaque .hub-identity{position:static;inset:auto;width:100%}
.energy-screen .hub-plaque .anchor-architecture{position:relative;inset:auto;transform:none;display:flex;flex-direction:row;align-items:center;gap:16px;width:100%;height:82px;margin:0;padding:10px 16px;border-left:1px solid #8dbdcc4d;pointer-events:auto;transition:transform .35s,border-color .35s}
.energy-screen .hub-plaque .anchor-architecture:hover,.energy-screen .hub-plaque .anchor-architecture:focus-visible{transform:translateX(6px);border-left:1px solid #b5e5e9b0}
.hub-plaque .anchor-architecture .anchor-number{top:0;left:20px;font-size:6px}
.hub-plaque .anchor-architecture .anchor-base{width:59px;height:59px}
.hub-plaque .anchor-architecture .anchor-caption{gap:6px;align-items:flex-start}
.hub-plaque .anchor-architecture .anchor-caption>strong{font-size:14px}
.hub-plaque .anchor-architecture .anchor-caption>small{font-size:6px}
.hub-plaque .anchor-architecture .anchor-ruler{display:none}
.architecture-status{font-size:8px;letter-spacing:.08em;color:#638a9e;line-height:1.5}
.energy-screen .hub-operator-hud{position:absolute;left:0;top:20px;display:flex;flex-direction:column;gap:12px;pointer-events:auto;width:340px}
.energy-screen .hub-operator-hud .hub-scene-meta,.energy-screen .hub-operator-hud .hub-session{position:static;inset:auto;margin:0}
.hub-operator-hud .hub-scene-meta{font-size:7px!important;gap:10px!important}
.hub-operator-hud .hub-meta-line{width:32px}
.hub-operator-hud .hub-session{gap:10px}
.hub-operator-hud .hub-avatar{width:29px;height:29px}
.hub-operator-hud .hub-session>div{gap:4px}
.hub-operator-hud .hub-session>div>span{font-size:11px}
.energy-screen .hub-operator-hud .hub-logout{font-size:8px;padding-left:14px}
/* Hierarchy: overview and telemetry have a second counter-rotating reticle. */
.energy-screen .anchor-overview,.energy-screen .anchor-devices{height:212px}
.anchor-overview .anchor-base,.anchor-devices .anchor-base{width:108px;height:108px;flex-shrink:0}
.anchor-overview .anchor-icon,.anchor-devices .anchor-icon{width:38px;height:38px}
.anchor-priority-ring{position:absolute;inset:-9px;width:calc(100% + 18px);height:calc(100% + 18px);fill:none;stroke:#a4dce951;stroke-width:.7;overflow:visible;transform-origin:center;animation:hub-ring-turn 100s linear infinite reverse}
.anchor-priority-ring circle{stroke-dasharray:2 7}
.anchor-priority-ring path{stroke:#c9edf199;stroke-width:1}
.energy-screen .hub-field-lines{z-index:-1;mask-image:none;stroke:rgba(56,189,248,.2);stroke-width:.8}
.energy-screen .hub-field-lines path,.energy-screen .hub-field-lines path:nth-child(2n){stroke-dasharray:4 4;animation:hub-line-flow 38s linear infinite}
@media(min-width:1101px){
 .energy-screen .anchor-overview{left:40%}
 .energy-screen .anchor-devices{left:60%;top:83%}
 .energy-screen .anchor-history{left:64.5%;top:58%;width:160px}
 .energy-screen .anchor-control{left:auto;top:auto;right:160px;bottom:90px;transform:none;width:200px;height:190px}
}
@media(min-width:1101px) and (max-width:1399px){
 .energy-screen .hub-plaque{width:290px}
 .energy-screen .anchor-control{right:130px;bottom:80px;width:180px;height:170px}
}
@media(min-width:1101px) and (max-height:800px){
 .energy-screen .hub-plaque{bottom:40px}
 .hub-plaque .hub-display-title{font-size:40px}
 .energy-screen .anchor-overview,.energy-screen .anchor-devices{height:184px}
 .anchor-overview .anchor-base,.anchor-devices .anchor-base{width:88px;height:88px}
 .anchor-overview .anchor-icon,.anchor-devices .anchor-icon{width:32px;height:32px}
 .energy-screen .anchor-devices{top:84%}
 .energy-screen .hub-plaque .anchor-architecture{height:74px}
}
@media(min-width:1700px){
 .anchor-overview .anchor-base,.anchor-devices .anchor-base{width:127px;height:127px}
 .energy-screen .anchor-overview,.energy-screen .anchor-devices{height:235px}
 .energy-screen .hub-plaque{width:400px}
}
@media(min-width:801px) and (max-width:1100px){
 .energy-screen.hub-mode #energy-main{min-height:760px}
 .energy-screen .hub-plaque{left:16px;width:235px;bottom:42px}
 .energy-screen .hub-plaque .hub-display-title{font-size:37px}
 .energy-screen .hub-plaque .hub-identity h1{font-size:17px;letter-spacing:.12em}
 .energy-screen .hub-plaque .anchor-architecture{height:76px;padding:8px 12px;gap:12px}
 .hub-plaque .anchor-architecture .anchor-base{width:48px;height:48px}
 .hub-plaque .anchor-architecture .anchor-caption>strong{font-size:12px}
 .architecture-status{font-size:7px}
 .energy-screen .anchor-overview{left:46%;top:56%}
 .anchor-overview .anchor-base,.anchor-devices .anchor-base{width:94px;height:94px}
 .energy-screen .anchor-overview,.energy-screen .anchor-devices{height:200px;width:180px}
 .energy-screen .anchor-devices{left:46%;top:85%}
 .energy-screen .anchor-history{left:69%;top:62%;width:160px}
 .energy-screen .anchor-control{left:auto;top:auto;right:80px;bottom:40px;transform:none;width:180px;height:160px}
 .energy-screen .anchor-alarms{top:8%}
}
@media(max-width:800px){
 .energy-screen.hub-mode{overflow:auto}
 .energy-screen.hub-mode .screen-shell{height:auto;min-height:100dvh;padding:0 12px;overflow:visible}
 .energy-screen.hub-mode .screen-header{height:78px;min-height:78px}
 .energy-screen.hub-mode #energy-main{height:1320px;min-height:1320px}
 .energy-screen.hub-mode .flow-stage{left:-8%;top:5px;width:100%;height:325px}
 .energy-screen.hub-mode .energy-hub{width:220px;height:230px;top:44%;left:52%}
 .energy-screen.hub-mode .energy-hub:before{height:247px;top:-14px;left:-38px;right:-38px}
 .energy-screen.hub-mode .hub-aura{top:174px;width:210px;height:64px}
 .energy-screen.hub-mode .hub-inner{width:128px;min-height:49px;transform:translateY(30px);padding:5px 7px}
 .energy-screen.hub-mode .flow-stage:after{font-size:6px;letter-spacing:.16em;top:15%}
 .energy-screen .hub-operator-hud{left:0;right:0;top:13px;width:auto;gap:10px}
 .hub-operator-hud .hub-scene-meta{font-size:6px!important;gap:7px!important}
 .hub-operator-hud .hub-session{gap:8px}
 .hub-operator-hud .hub-session>div>span{font-size:10px}
 .hub-operator-hud .hub-session small{font-size:7px}
 .energy-screen .hub-plaque{left:15px;right:15px;top:320px;bottom:auto;width:auto;max-width:420px;gap:24px}
 .energy-screen .hub-plaque .hub-display-title{font-size:42px}
 .energy-screen .hub-plaque .anchor-architecture{height:72px;width:100%;padding:8px 14px}
 .hub-plaque .anchor-architecture .anchor-base{width:50px;height:50px}
 .hub-plaque .anchor-architecture .anchor-caption>strong{font-size:13px}
 .hub-plaque .anchor-architecture .anchor-caption>small{font-size:6px}
 .energy-screen .anchor-overview{left:25%;top:57%}
 .energy-screen .anchor-functions{left:75%;top:57%;width:175px;height:170px}
 .energy-screen .anchor-devices{left:75%;top:74%}
 .energy-screen .anchor-history{left:25%;top:74%;width:165px;height:155px}
 .energy-screen .anchor-control{left:75%;top:90%;right:auto;bottom:auto;width:165px;height:155px;transform:translate(-50%,-50%)}
 .energy-screen .anchor-alarms{top:17%;left:78%;width:145px;height:150px}
 .energy-screen .anchor-overview,.energy-screen .anchor-devices{height:184px;width:165px}
 .anchor-overview .anchor-base,.anchor-devices .anchor-base{width:89px;height:89px}
 .anchor-overview .anchor-icon,.anchor-devices .anchor-icon{width:31px;height:31px}
}
@media(min-width:1101px) and (max-height:800px){
 .energy-screen .anchor-alarms{top:6%}
 .energy-screen .anchor-functions{top:35%}
 .energy-screen .anchor-overview{top:55%;height:184px;width:200px}
 .energy-screen .anchor-devices{left:50%;top:84%;height:184px;width:180px}
 .energy-screen .anchor-history{top:56%}
 .energy-screen .anchor-control{bottom:32px;height:150px}
 .anchor-overview .anchor-base,.anchor-devices .anchor-base{width:88px;height:88px}
 .anchor-overview .anchor-icon,.anchor-devices .anchor-icon{width:32px;height:32px}
}
@media(prefers-reduced-motion:reduce){.anchor-priority-ring,.energy-screen .hub-field-lines path{animation:none!important}.energy-screen .hub-plaque .anchor-architecture{transition:none}}

/* The equipment gate belongs to the Hub; the public cockpit and assistant keep their layouts. */
.hub-left-rail{position:absolute;left:16px;top:20px;bottom:48px;width:clamp(320px,24vw,360px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;pointer-events:none;z-index:25}
.energy-screen .hub-left-rail .hub-operator-hud,.energy-screen .hub-left-rail .hub-plaque{position:static;inset:auto;width:100%;margin:0}
.energy-screen .hub-left-rail .hub-plaque{gap:16px}
.hub-left-rail .hub-display-title{font-size:clamp(38px,3.2vw,54px);margin:12px 0 10px}
.hub-left-rail .hub-identity h1{font-size:20px;letter-spacing:.12em}
.hub-left-rail .hub-identity-kicker{font-size:8px}
.hub-left-rail .hub-identity-rule{margin-top:16px}
.hub-left-rail .hub-identity-sub{font-size:6px}
.energy-screen .hub-left-rail .anchor-architecture{height:65px;padding:6px 12px}
.hub-left-rail .anchor-architecture .anchor-base{width:48px;height:48px}
.equipment-builder{position:relative;align-self:start;min-height:0;height:100%;max-height:520px;box-sizing:border-box;display:flex;flex-direction:column;gap:0;padding:17px 17px 14px;pointer-events:auto;background:rgba(15,23,42,.4);border:1px solid rgba(174,216,229,.18);border-radius:3px 18px 3px 18px;box-shadow:inset 0 1px 0 #d9faff07,0 16px 60px #000c1c26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#adc9d7;font-family:EnergyInter,'Microsoft Yahei',sans-serif}
.equipment-builder[data-status=ready]{height:auto;padding-bottom:14px}
.eb-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:13px;flex-shrink:0}
.eb-heading>div>span{font-size:6px;letter-spacing:.18em;color:#7296ab}
.eb-heading h2{font-size:16px;letter-spacing:.12em;font-weight:500;color:#d3e6ed;margin:5px 0 0}
.eb-status{display:flex;align-items:center;gap:5px;font-size:9px;color:#d2ab7b;white-space:nowrap}
.eb-status i,.eb-source-line i{width:4px;height:4px;background:currentColor;border-radius:50%;box-shadow:0 0 8px currentColor;animation:eb-pulse 2.5s ease-in-out infinite}
[data-status=ready] .eb-status{color:#80d8d0}
.eb-source-line{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#83b1bf;gap:8px;margin-bottom:6px;flex-shrink:0}
.eb-source-line>span{display:flex;align-items:center;gap:6px}
.equipment-builder button{font:inherit;cursor:pointer}
.equipment-builder button:disabled{cursor:not-allowed;opacity:.42}
.energy-screen .equipment-builder button{box-shadow:none}
.energy-screen .eb-library-toggle{padding:5px 7px;background:#5ca4c40b;border:1px solid #8bbfc62a;border-radius:5px;color:#a8d1db;font-size:9px}
.eb-library-toggle b{font-size:12px;font-weight:400;margin-left:5px}
.eb-provenance{font-size:8px;line-height:1.6;color:#638b9f;margin:0 0 10px;flex-shrink:0}
.eb-lanes{display:flex;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#4e8ba866 transparent;padding-right:3px;flex:1}
.eb-lane{border:1px solid #7aafc31c;border-left:2px solid #77bec342;padding:8px;border-radius:3px;background:linear-gradient(115deg,#5098ac08,transparent);transition:border-color .22s,background .22s}
.eb-lane>header{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.eb-lane>header b{font-size:12px;font-weight:400;color:#a4d5db}
.eb-lane>header span{font-size:5px;letter-spacing:.12em;color:#5f8c9d}
.eb-lane>header small{margin-left:auto;font-size:8px;color:#6c98aa}
.eb-device-list{display:grid;grid-template-columns:1fr;gap:5px}
.energy-screen .eb-device{display:flex;align-items:center;gap:9px;text-align:left;padding:5px 6px;background:#4a82960a;border:1px solid transparent;border-radius:4px;min-height:36px;width:100%;transition:background .2s,border-color .2s}
.energy-screen .eb-device:hover,.energy-screen .eb-device:focus-visible{background:#6bbac214;border-color:#82c6d147}
.eb-device-icon{display:grid;place-items:center;width:25px;height:25px;border:1px solid #8bc0c92b;border-radius:4px;color:#8ec8d3;flex-shrink:0}
.eb-device svg{width:18px;height:18px}
.eb-device>span:nth-child(2){display:flex;flex-direction:column;gap:4px;min-width:0}
.eb-device strong{font-size:10px;color:#b5d3de;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eb-device small{font-size:7px;color:#7199ad}
.eb-device em{font-size:5px;letter-spacing:.07em;font-style:normal;color:#bcaa83;margin-left:auto}
.eb-device:has(em){animation:eb-device-snap .3s cubic-bezier(.16,1,.3,1) both}
.eb-drop-hint{display:none;padding:10px;font-size:8px;color:#83ccd2;border:1px dashed #77b8c36b;border-radius:4px;text-align:center}
.eb-drop-active,.equipment-builder[data-dragging=source] [data-eb-lane=source],.equipment-builder[data-dragging=load] [data-eb-lane=load],.equipment-builder[data-dragging=storage] [data-eb-lane=storage]{background:#51b8c514;border-color:#8de4df80}
[data-dragging] .eb-drop-hint{display:block}
.eb-feedback{font-size:9px;color:#e3af8b;line-height:1.6;flex-shrink:0}
.eb-feedback:not(:empty){padding:7px 0}
.eb-footer{padding-top:12px;flex-shrink:0;border-top:1px solid #7ba8b81c;margin-top:10px}
.eb-footer>div{display:flex;align-items:center;gap:8px}
.energy-screen .eb-initiate{display:flex;align-items:center;justify-content:space-between;gap:8px;flex:1;font-size:11px;color:#c5e5ea;background:linear-gradient(110deg,#28718b70,#2a59724d);border:1px solid #a2d8dd45;padding:11px 12px;border-radius:3px 9px 3px 9px;transition:background .2s,border-color .2s}
.eb-initiate:hover{border-color:#a2d8dd90!important;background:#3a84937a!important}
.eb-initiate small{font-size:6px;letter-spacing:.11em;color:#8cbdca}
.eb-footer>small{display:block;margin-top:8px;font-size:7px;color:#557f94;line-height:1.6}
.energy-screen .eb-discard{font-size:8px;color:#91b1c1;background:none;border:0;padding:4px}
.eb-corner{position:absolute;width:10px;height:10px;pointer-events:none;border-color:#a0d9df85;border-style:solid}
.eb-corner-a{left:-1px;top:-1px;border-width:1px 0 0 1px}.eb-corner-b{right:-1px;bottom:-1px;border-width:0 1px 1px 0}
.eb-library,.eb-editor{position:absolute;left:calc(100% + 12px);top:0;width:226px;box-sizing:border-box;background:rgba(15,32,49,.95);border:1px solid #accfdb35;border-radius:14px;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 16px 60px #000c2080;padding:17px;z-index:40;animation:eb-slide-in .28s ease both}
.eb-library>header,.eb-editor>header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.eb-library>header span,.eb-editor>header>span{font-size:6px;letter-spacing:.12em;color:#81a7ba}
.eb-library h3,.eb-editor h3{font-size:14px;color:#cbe6ec;margin:6px 0 0;font-weight:400}
.eb-library>p{font-size:8px;color:#779eaf;margin-bottom:15px}
.energy-screen .eb-library>header button,.energy-screen .eb-editor>header button{border:0;background:none;color:#9bbac9;padding:2px 6px;font-size:19px}
.eb-asset{display:flex;align-items:center;gap:10px;margin-bottom:9px;padding:12px 8px;background:#5791ab0b;border:1px solid #7daab733;border-radius:7px;cursor:grab;user-select:none;-webkit-user-select:none}
.eb-asset>span,.eb-asset>div{pointer-events:none}
.eb-asset:active{cursor:grabbing}.eb-asset>span svg{height:27px;width:27px;color:#9ed6db}
.eb-asset>div{display:flex;flex-direction:column;gap:6px}.eb-asset strong{font-size:10px;color:#c0dbe3;font-weight:400}.eb-asset small{font-size:6px;color:#7295aa;white-space:nowrap}
.energy-screen .eb-asset>button{padding:3px 7px;margin-left:auto;font-size:16px;color:#a1d2d9;border:1px solid #84b5c037;background:#5a9aa50e;border-radius:5px}
.eb-library-note,.eb-editor-note{font-size:7px;color:#7399ad;line-height:1.8;display:block}
.eb-editor-title{display:flex;align-items:center;gap:10px;margin:16px 0 21px}.eb-editor-title>svg{width:29px;height:29px;color:#a0d8dc;flex-shrink:0}.eb-editor-title small{font-size:7px;line-height:1.7;color:#749bac;display:block;margin-top:6px}
.eb-editor label{display:block;font-size:9px;color:#84abbd;margin:0 0 17px}.eb-editor label>span{float:right;font-size:8px;color:#587f93}
.energy-screen .eb-editor input{display:block;box-sizing:border-box;outline:none;width:100%;border:0;border-bottom:1px solid #88b3c04a;border-radius:0;background:transparent;color:#d0e7ec;padding:9px 0 6px;font:14px EnergyInter,'Microsoft Yahei',sans-serif;box-shadow:none}
.energy-screen .eb-editor input:focus{border-bottom-color:#a0e8e2}
.eb-editor-error{font-size:9px;color:#e6ad89;line-height:1.6}
.energy-screen .eb-save-params{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:10px;background:#498d9e30;border:1px solid #90c9d152;border-radius:7px;font-size:10px;color:#b8e3e7}
.eb-save-params svg{width:15px;height:15px}.energy-screen .eb-remove-device{background:none;border:0;color:#b8957c;padding:10px 0;font-size:8px}
.eb-scanner{display:grid;place-items:center;flex:1;min-height:120px;position:relative;overflow:hidden;color:#91bdcd;font-size:10px}.eb-scanner>span{position:absolute;inset:0;background:linear-gradient(transparent,#6fe3e720,transparent);height:80px;animation:eb-scan 1.7s ease-in-out infinite}.eb-scanner>div{z-index:1;text-align:center}.eb-scanner small{display:block;font-size:6px;letter-spacing:.15em;color:#5d8da5;margin-top:14px}
.eb-error{font-size:11px;color:#d0a47d;padding:20px 0;line-height:1.7}
.eb-ready-summary{display:flex;gap:12px;align-items:center;margin:9px 0 14px}.eb-ready-mark{display:grid;place-items:center;width:32px;height:32px;border:1px solid #85d4cc44;border-radius:50%;color:#8bdbd3}.eb-ready-mark svg{height:19px;width:19px}.eb-ready-summary strong{font-size:11px;font-weight:400;color:#badddf}.eb-ready-summary small{font-size:7px;color:#608b9d;margin-top:6px;display:block}
.eb-ready-stats{display:flex;justify-content:space-between;border-top:1px solid #8cbac523;border-bottom:1px solid #8cbac523;padding:12px 2px;margin-bottom:12px}.eb-ready-stats span{font-size:9px;color:#6f9eae;display:flex;align-items:center;gap:12px}.eb-ready-stats b{font-size:15px;color:#aed7df;font-weight:400}
.energy-screen .eb-reconfigure{width:100%;padding:8px 0;text-align:left;color:#8db5c5;background:none;border:0;font-size:9px}
.energy-screen.hub-equipment-locked .hub-anchor{filter:brightness(.65)}
.energy-screen.hub-equipment-locked .energy-hub::before{opacity:.58;filter:saturate(.7) brightness(.8)}
.hub-core-lock{position:absolute;top:36%;left:52%;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;gap:12px;border:0!important;background:radial-gradient(ellipse,#101f30d9,transparent 70%)!important;width:250px;height:190px;color:#b0d0db;z-index:10;cursor:pointer;pointer-events:auto;box-shadow:none!important}
.hub-core-lock svg{width:34px;height:34px;margin-top:35px;color:#9abfcd}.hub-core-lock>span{font-size:11px;letter-spacing:.12em}.hub-core-lock>small{font-size:6px;letter-spacing:.15em;color:#658fa5}
.hub-core-lock[hidden]{display:none!important}
@keyframes eb-pulse{50%{opacity:.35}}@keyframes eb-scan{from{transform:translateY(-80px)}to{transform:translateY(240px)}}@keyframes eb-slide-in{from{opacity:0;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}
@keyframes eb-device-snap{from{opacity:.3;transform:translateY(5px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(min-width:1101px) and (max-height:850px){.hub-left-rail{top:13px;bottom:30px;gap:12px}.hub-left-rail .hub-display-title{font-size:34px;margin:7px 0}.hub-left-rail .hub-identity h1{font-size:16px}.hub-left-rail .hub-identity-rule{display:none}.hub-left-rail .hub-identity-sub{font-size:5px}.energy-screen .hub-left-rail .hub-plaque{gap:8px}.energy-screen .hub-left-rail .anchor-architecture{height:53px}.equipment-builder{padding:12px}.eb-heading{margin-bottom:7px}.eb-heading h2{font-size:14px}.eb-footer{padding-top:8px;margin-top:7px}.eb-footer>small{font-size:6px}.eb-initiate{padding:8px 10px!important}.eb-lane{padding:6px}}
@media(min-width:801px) and (max-width:1100px){.hub-left-rail{width:320px;left:0;top:16px;bottom:40px;gap:12px}.hub-left-rail .hub-display-title{font-size:34px}.hub-left-rail .hub-identity h1{font-size:15px}.hub-left-rail .hub-identity-rule{display:none}.energy-screen.hub-mode .flow-stage{left:27%;width:65%}.hub-left-rail .hub-plaque{gap:8px!important}.eb-library,.eb-editor{left:8px;right:8px;top:65px;width:auto;max-height:calc(100% - 72px);overflow:auto}.eb-editor label{margin-bottom:10px}.eb-editor-title{margin:10px 0}.eb-source-line{font-size:8px}}
@media(max-width:800px){.energy-screen.hub-mode #energy-main{height:auto;min-height:1920px}.hub-left-rail{left:8px;right:8px;top:15px;bottom:auto;width:auto;display:flex;flex-direction:column;gap:18px;z-index:25}.energy-screen .hub-left-rail .hub-operator-hud{height:75px;flex-shrink:0}.equipment-builder{height:500px;width:100%;max-width:360px;align-self:flex-start}.equipment-builder[data-status=ready]{height:auto}.energy-screen .hub-left-rail .hub-plaque{margin-top:290px;max-width:360px;pointer-events:none}.energy-screen.hub-mode .flow-stage{top:610px;left:0;height:300px}.energy-screen .hub-space{min-height:1920px}.hub-left-rail .hub-plaque .hub-display-title{font-size:38px}.eb-editor,.eb-library{left:8px;right:8px;width:auto;top:65px;max-height:calc(100% - 72px);overflow:auto}.energy-screen .anchor-overview,.energy-screen .anchor-functions{top:69%}.energy-screen .anchor-devices,.energy-screen .anchor-history{top:80%}.energy-screen .anchor-control{top:92%}.energy-screen .anchor-alarms{top:53%}.hub-core-lock{top:36%}.eb-editor-title{margin:8px 0 16px}}
@media(prefers-reduced-motion:reduce){.eb-status i,.eb-scanner>span,.eb-library,.eb-editor,.eb-device{animation:none!important}}
@media(min-width:1101px) and (max-height:850px){.hub-left-rail .anchor-architecture .anchor-base{width:36px;height:36px}.hub-left-rail .anchor-architecture .anchor-caption{gap:4px}.hub-left-rail .architecture-status{font-size:6px}}
@media(max-width:1100px){.equipment-builder .eb-library{left:38%;right:8px;top:105px;width:auto}.eb-library .eb-asset{gap:6px;padding:10px 6px}.eb-library .eb-asset>span svg{height:20px;width:20px}.eb-library .eb-asset>button{padding:3px 5px}.eb-library .eb-asset small{font-size:5px}}
@media(max-width:800px){.energy-screen .anchor-alarms{top:65%}.energy-screen .anchor-overview,.energy-screen .anchor-functions{top:75%}.energy-screen .anchor-devices,.energy-screen .anchor-history{top:86%}.energy-screen .anchor-control{left:50%;top:96%}}
@media(min-width:1101px) and (max-width:1699px){.equipment-builder .eb-editor{left:auto;right:8px;top:65px;width:226px;max-height:calc(100% - 72px);overflow:auto}.equipment-builder .eb-library{left:38%;right:8px;top:105px;width:auto}.eb-library .eb-asset{gap:6px;padding:10px 6px}.eb-library .eb-asset>span svg{height:20px;width:20px}.eb-library .eb-asset small{font-size:5px}}
@media(min-width:1700px) and (min-height:1000px){.equipment-builder{max-height:600px}.eb-lane{padding:6px}.eb-lane>header{margin-bottom:5px}.eb-lanes{gap:7px}}

/* The administration seal shares the lower-right business anchor field. */
.energy-screen .anchor-admin .anchor-segment{stroke:#adbdc9a0}.anchor-admin .anchor-icon{color:#bfd8e5}.anchor-admin .anchor-pill{font-size:8px}.energy-screen .anchor-admin[data-access=locked]{filter:grayscale(.75) brightness(.6)}
@media(min-width:1101px){.energy-screen .anchor-admin{left:auto;top:auto;right:clamp(160px,10vw,192px);bottom:64px;transform:none;width:180px;height:180px}.energy-screen .anchor-control{right:calc(clamp(160px,10vw,192px) + 205px);bottom:64px;width:180px;height:180px}.anchor-admin .anchor-base{width:84px;height:84px}.anchor-admin .anchor-caption>strong{font-size:17px}}
@media(min-width:1101px) and (max-height:850px){.energy-screen .anchor-admin,.energy-screen .anchor-control{height:150px;bottom:32px;width:160px}.energy-screen .anchor-control{right:calc(clamp(160px,10vw,192px) + 185px)}.anchor-admin .anchor-base{width:73px;height:73px}}
@media(min-width:801px) and (max-width:1100px){.energy-screen .anchor-admin{left:auto;top:auto;right:95px;bottom:35px;width:160px;height:160px;transform:none}.energy-screen .anchor-control{right:275px;bottom:35px;width:160px;height:160px}}
@media(max-width:800px){.energy-screen .anchor-admin{left:75%;top:96%;right:auto;bottom:auto;width:165px;height:155px;transform:translate(-50%,-50%)}.energy-screen .anchor-control{left:25%;top:96%}.anchor-admin .anchor-base{width:74px;height:74px}.anchor-admin .anchor-caption>strong{font-size:15px}}

/* Authentication gates both the cockpit and business surfaces before any data is drawn. */
.energy-screen.park-entry-locked #energy-main,.energy-screen.park-entry-locked .screen-shell>footer,.energy-screen.park-entry-locked .spatial-workspace,.energy-screen.park-entry-locked .screen-actions .header-center,.energy-screen.park-entry-locked #screen-clock,.energy-screen.park-entry-locked ems-assistant{display:none!important}
.park-entry-panel[hidden]{display:none!important}
.screen-header{position:relative}
.park-switcher{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:14px;padding:10px 16px;border:1px solid #9cc8db32;border-radius:10px;background:rgba(15,35,52,.54);backdrop-filter:blur(12px);z-index:91}
.park-switcher>span{font:6px EnergyInter,sans-serif;letter-spacing:.14em;color:#5c8ca4;white-space:nowrap}
.park-switcher select{background:transparent;color:#bad9e5;font:12px 'Microsoft Yahei',sans-serif;border:0;min-width:124px;padding:0 12px 0 0;outline:none;cursor:pointer}
.park-switcher option{background:#122a40;color:#c7e1e9}.park-switcher i{width:4px;height:4px;border-radius:50%;background:#83ccc9;box-shadow:0 0 8px #6bd1cd66}
.energy-screen .screen-actions .header-center{position:static;transform:none;display:flex;align-items:center;gap:12px;margin-right:12px;font-size:9px}.screen-actions .header-center .simulation-tag{font-size:8px;padding:4px 8px}
.park-entry-panel{position:absolute;inset:120px 0 0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px 28px 90px;box-sizing:border-box;overflow:hidden;color:#c1dde7}
.park-entry-heading{text-align:center;position:relative;z-index:1;margin-bottom:38px}.park-entry-heading>span{color:#628ca1;font:8px EnergyInter,sans-serif;letter-spacing:.3em}.park-entry-heading h1{font-weight:400;font-size:32px;letter-spacing:.15em;margin:18px 0 15px;color:#d3e9ee}.park-entry-heading p{font-size:12px;color:#7396aa;letter-spacing:.09em;line-height:1.8}
.park-entry-cards{display:flex;gap:30px;position:relative;z-index:1}.energy-screen .park-entry-cards>button{width:280px;min-height:280px;display:flex;flex-direction:column;align-items:flex-start;padding:28px 30px;text-align:left;background:linear-gradient(140deg,rgba(40,74,95,.34),rgba(12,28,46,.62));border:1px solid #9ec8d437;border-radius:3px 24px 3px 24px;backdrop-filter:blur(18px);box-shadow:0 25px 80px #00101c33;transition:transform .3s,border-color .3s,background .3s}
.park-entry-cards>button:hover,.park-entry-cards>button:focus-visible{transform:translateY(-5px);border-color:#9ee3dc99;background:linear-gradient(140deg,#315e715c,#0c1c2e9e)}
.park-card-number{font:8px EnergyInter,sans-serif;letter-spacing:.15em;color:#658b9f}.park-entry-cards svg{fill:none;stroke:#92ced7;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;width:95px;height:76px;align-self:center;margin:17px 0 23px;filter:drop-shadow(0 5px 16px #4fbfd233)}
.park-entry-cards strong{font-size:23px;letter-spacing:.14em;font-weight:500;color:#c9e5ed}.park-entry-cards small{font:6px EnergyInter,sans-serif;color:#668ca4;letter-spacing:.1em;margin:10px 0 22px}.park-entry-cards em{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.1em;font-style:normal;width:100%;padding-top:16px;border-top:1px solid #8fb8c529;color:#91b9ca}.park-entry-cards em b{font-size:16px;font-weight:300}
.park-entry-steps{display:flex;align-items:center;gap:18px;margin-top:37px;font-size:9px;color:#557d94;letter-spacing:.08em;position:relative;z-index:1}.park-entry-steps b{font-weight:400;color:#98c1cf}.park-entry-steps i{width:30px;height:1px;background:#8fb9c42e}
.park-entry-orbit{position:absolute;left:50%;top:52%;width:950px;height:550px;transform:translate(-50%,-50%) rotate(-12deg);border:1px solid #75a8bc13;border-radius:50%;box-shadow:0 0 160px #28758b0c,inset 0 0 120px #28758b08;pointer-events:none}.park-entry-orbit:before,.park-entry-orbit:after{content:'';position:absolute;inset:55px;border:1px solid #72a7b211;border-radius:50%}.park-entry-orbit:after{inset:100px;border-style:dashed}
.park-login-change{display:block;margin-top:14px;border:0!important;background:transparent!important;color:#7ba6bd!important;box-shadow:none!important;padding:5px 0!important;font-size:11px!important}
@media(max-width:1500px){.screen-actions .header-center{display:none!important}.park-switcher{padding:9px 11px;gap:8px}.park-switcher>span{display:none}.park-switcher select{font-size:11px;min-width:114px}}
@media(max-width:1000px){.park-switcher{left:auto;right:195px;transform:translateY(-50%)}.park-switcher select{min-width:105px}.screen-brand h1{font-size:20px!important}.institution-logos{max-width:180px}.screen-actions #screen-clock{display:none}}
@media(max-width:600px){.park-switcher{right:12px;top:94px;transform:none;padding:8px 12px}.park-switcher select{min-width:100px}.park-entry-panel{inset:135px 0 0;padding:24px 18px 35px;justify-content:flex-start;overflow-x:hidden;overflow-y:auto}.park-entry-heading{margin:25px 0 25px}.park-entry-heading h1{font-size:25px}.park-entry-cards{width:100%;max-width:380px;gap:14px;flex-direction:column}.energy-screen .park-entry-cards>button{width:100%;min-height:182px;padding:22px;display:grid;grid-template-columns:1fr 80px;gap:8px}.park-entry-cards svg{grid-column:2;grid-row:1/4;width:75px;height:65px;margin:0}.park-entry-cards strong{font-size:22px}.park-entry-cards small{margin:0;font-size:6px}.park-entry-cards em{grid-column:1/3;margin-top:7px;padding-top:12px}.park-entry-steps{gap:9px;font-size:7px;margin-top:24px}.park-entry-steps i{width:12px}}
@media(prefers-reduced-motion:reduce){.park-entry-cards>button{transition:none!important}}


/* Isolated chart surfaces, shared by cockpit and embedded workspace. */
.energy-chart{--ec-text:#cce2ef;--ec-muted:#7897ae;--ec-grid:#90bdd719;position:relative;min-width:0;color:var(--ec-text);font-family:var(--ui-font,system-ui);font-variant-numeric:tabular-nums;outline-offset:3px;border-radius:10px}
.energy-chart .ec-summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:6px 3px 10px;font-size:11px;line-height:1.6;color:var(--ec-muted)}
.energy-chart .ec-summary>span{display:flex;align-items:center;gap:7px;white-space:nowrap}.energy-chart .ec-summary b{color:var(--ec-text);font-size:19px;font-weight:550;letter-spacing:-.03em}.energy-chart .ec-summary small{font-size:9px;color:var(--ec-muted)}.energy-chart .ec-summary .ec-range{font-size:10px;gap:7px}.energy-chart .ec-range b{font-size:12px;letter-spacing:0}.energy-chart .ec-range em{font-style:normal;opacity:.4;margin:0 4px}
.energy-chart i{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%}
.energy-chart .ec-plot{position:relative;min-height:0;background:radial-gradient(ellipse at 50% 100%,#4b99b60b,transparent 75%);touch-action:pan-y}
.energy-chart svg.ec-svg{display:block;width:100%;height:auto;overflow:visible;max-width:none;aspect-ratio:auto}
.energy-chart .ec-svg .ec-axis,.energy-chart .ec-svg .ec-unit{fill:var(--ec-muted);font-size:10px;letter-spacing:0;font-family:inherit}.energy-chart .ec-svg .ec-unit{font-size:9px;fill:#9eb9cc}
.energy-chart .ec-grid{stroke:var(--ec-grid);stroke-width:1;stroke-dasharray:3 5;vector-effect:non-scaling-stroke}.energy-chart .ec-grid-v{opacity:.48;stroke-dasharray:none}.energy-chart .ec-zero{stroke:#b5cee340;stroke-dasharray:none}
.energy-chart .ec-band{fill:#ffc87518;stroke:#ffc87530;stroke-width:1;vector-effect:non-scaling-stroke}.energy-chart .ec-line{stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.energy-chart .ec-line-halo{stroke-width:7;opacity:.045;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.energy-chart .ec-end-halo{opacity:.13}.energy-chart .ec-end{stroke:#102637;stroke-width:1.5;vector-effect:non-scaling-stroke}.energy-chart .ec-hidden{display:none}
.energy-chart .ec-crosshair{pointer-events:none}.energy-chart .ec-crosshair line{stroke:#b1e0f47a;stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.energy-chart .ec-cross-h{opacity:.4}.energy-chart .ec-crosshair circle{stroke:#091827;stroke-width:2;vector-effect:non-scaling-stroke}
.energy-chart .ec-tooltip{position:absolute;z-index:6;pointer-events:none;min-width:165px;max-width:calc(100% - 4px);padding:11px 13px;border:1px solid #9fcee333;border-radius:11px;background:rgba(10,25,42,.95);box-shadow:0 12px 35px #0005;backdrop-filter:blur(12px);color:#dcecf6;font-size:11px}
.energy-chart .ec-tooltip[hidden]{display:none}.energy-chart .ec-tooltip header{font-size:10px;letter-spacing:.04em;color:#94b1c6;border-bottom:1px solid #93bed01f;padding-bottom:7px;margin-bottom:6px}.energy-chart .ec-tooltip>div{display:flex;align-items:center;justify-content:space-between;gap:15px;line-height:2}.energy-chart .ec-tooltip span{display:flex;align-items:center;gap:7px}.energy-chart .ec-tooltip strong{font-weight:550;white-space:nowrap}.energy-chart .ec-tooltip small{font-size:9px;color:#88a4ba;margin-left:5px}
.energy-chart .ec-legend{display:flex;flex-wrap:wrap;align-items:center;gap:5px 15px;padding:7px 3px 3px}.energy-chart .ec-legend button{display:inline-flex;align-items:center;gap:6px;padding:5px 0!important;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;color:var(--ec-muted);font-size:10px;font-weight:400;line-height:1.3}.energy-chart .ec-legend button:hover{color:var(--ec-text)}.energy-chart .ec-legend button[aria-pressed=false]{opacity:.35}.energy-chart .ec-legend button[aria-pressed=false] i{background:#8b9eb2!important}.energy-chart .ec-legend b{font-weight:550;color:var(--ec-text);margin-left:3px}.energy-chart .ec-legend small{font-size:8px;opacity:.6}
.energy-chart.ec-compact{display:flex;flex-direction:column;height:100%;min-height:0}.energy-chart.ec-compact .ec-summary{padding:0 0 4px;font-size:8px;line-height:1.4;flex:none}.energy-chart.ec-compact .ec-summary b{font-size:14px}.energy-chart.ec-compact .ec-summary small{font-size:7px}.energy-chart.ec-compact .ec-plot{flex:1;min-height:0}.energy-chart.ec-compact svg.ec-svg{height:100%}.energy-chart.ec-compact .ec-tooltip{font-size:10px;min-width:140px;padding:8px 10px}.energy-chart.ec-compact .ec-svg .ec-axis{font-size:9px}
.ec-empty{height:100%;min-height:80px;display:grid;place-content:center;color:#7997ae;font-size:11px;text-align:center}
.energy-screen #detail-content .energy-chart{height:auto;min-height:260px}.energy-screen #detail-content .ec-plot{min-height:220px}.energy-screen #detail-content svg.ec-svg{height:auto;min-height:220px}
.management-ui .chart-box:has(>.energy-chart){padding-top:8px}.management-ui .panel-body>.energy-chart{margin:8px 0 22px}.management-ui .panel-body>.energy-chart:last-child{margin-bottom:0}
@media(max-width:600px){.energy-chart .ec-summary .ec-range{display:none}.energy-chart .ec-legend{gap:4px 12px}.energy-chart .ec-legend b,.energy-chart .ec-legend small{display:none}.energy-chart .ec-summary b{font-size:16px}.energy-chart.ec-compact .ec-summary{font-size:7px}.energy-chart.ec-compact .ec-summary b{font-size:12px}.energy-chart .ec-svg .ec-axis{font-size:11px}}
