html,body{background:#12151a;height:100%;margin:0;font-family:system-ui,sans-serif;overflow:hidden}:root{--asset-panel-width:calc(340px * 2 / 3 * 1.3)}#container{position:fixed;inset:0}#container canvas{width:100%;height:100%;display:block}#asset-panel{width:var(--asset-panel-width);box-sizing:border-box;z-index:3;--bim-ui_size-lg:calc(.75rem * 1.5);--bim-label--fz:.6875rem;--bim-ui_size-base:.6875rem;--bim-ui_size-16xl:1.75rem;height:100%;position:fixed;top:0;bottom:0;left:0}#asset-monitor{cursor:pointer;--asset-type-size:calc(1.5rem * .7);--asset-type-weight:700;--asset-fault-color:crimson;--asset-healthy-color:#3ddc84;--fixture-text-color:#d3d3d3;--fixture-text-size:calc(1em - .125rem);--fixture-icon-size:calc(.75rem)}#asset-monitor bim-table-row,#asset-monitor bim-table-cell{align-items:flex-start;height:auto;min-height:2rem}#asset-monitor bim-label{white-space:normal;max-width:100%;overflow:visible}#asset-monitor .fixture-name{width:100%;min-width:0;color:var(--fixture-text-color);align-items:flex-start;gap:.3rem;display:flex}#asset-monitor .fixture-name__icon{width:var(--fixture-icon-size);height:var(--fixture-icon-size);color:var(--fixture-text-color);flex:none;margin-top:.15rem}#asset-monitor .fixture-name__text{min-width:0;color:var(--fixture-text-color);font-size:var(--fixture-text-size);white-space:normal;overflow-wrap:anywhere;word-break:break-word;flex:1;line-height:1.3}#energy-chart{color:#d3d3d3;flex-direction:column;align-items:center;gap:.75rem;display:flex}.energy-chart__figure{width:8.5rem;height:8.5rem;position:relative}.energy-donut{width:100%;height:100%;display:block}.energy-donut__track,.energy-donut__slice{fill:none;stroke-width:5.5px}.energy-donut__track{stroke:#ffffff14}.energy-chart__total{pointer-events:none;flex-direction:column;justify-content:center;align-items:center;margin:0;font-size:1.05rem;font-weight:700;line-height:1.05;display:flex;position:absolute;inset:0}.energy-chart__total span:last-child{color:#a3a3a3;font-size:.68rem;font-weight:500}.energy-legend{flex-direction:column;gap:.4rem;width:100%;margin:0;padding:0;list-style:none;display:flex}.energy-legend li{grid-template-columns:.7rem 2rem 1fr;align-items:center;gap:.45rem;font-size:.75rem;display:grid}.energy-legend__swatch{border-radius:2px;width:.7rem;height:.7rem}.energy-legend__value{text-align:right}.energy-chart__note{color:#8b919a;width:100%;margin:0;font-size:.68rem}#iot-sensors{color:#d3d3d3;font-size:.68rem}#iot-sensors table{border-collapse:collapse;table-layout:fixed;width:100%}#iot-sensors th,#iot-sensors td{text-align:right;white-space:nowrap;border-bottom:1px solid #ffffff14;padding:.4rem .15rem}#iot-sensors th:first-child,#iot-sensors td:first-child{text-align:left;width:2.2rem}#iot-sensors th{color:#a3a3a3;vertical-align:bottom;font-size:.62rem;font-weight:600}#iot-sensors caption{caption-side:bottom;text-align:left;color:#8b919a;padding-top:.55rem;font-size:.68rem}#status{top:12px;left:calc(var(--asset-panel-width) + 12px);z-index:2;color:#f8fafc;background:#0f172ad1;border-radius:6px;margin:0;padding:8px 12px;font-size:14px;position:fixed}#status[hidden]{display:none}#status.error{background:#7f1d1deb}#plans{left:calc(var(--asset-panel-width) + 12px);z-index:2;color:#f8fafc;box-sizing:border-box;background:#0f172ae0;border-radius:8px;flex-direction:row;align-items:center;gap:8px;width:auto;max-height:none;padding:10px 12px;display:flex;position:fixed;bottom:12px;right:12px}#plans[hidden]{display:none}.plans-header{justify-content:space-between;align-items:center;gap:8px;display:flex}#plans h2{white-space:nowrap;margin:0;font-size:14px;font-weight:600}#close-plan,.plan-button{color:#f8fafc;font:inherit;cursor:pointer;background:#1e293b;border:0;border-radius:6px}#close-plan{white-space:nowrap;padding:6px 10px;font-size:13px}#close-plan[aria-pressed=true],.plan-button[aria-pressed=true]{background:#2563eb}#plan-list{flex-direction:row;gap:6px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.plan-button{text-align:center;white-space:nowrap;width:auto;padding:8px 10px;font-size:13px}.plan-empty{color:#cbd5e1;margin:0;font-size:13px}@media (width<=720px){#asset-panel{width:min(var(--asset-panel-width), 100vw)}#plans,#status{left:12px}#plans{flex-wrap:wrap}}
