:root{color:#17212b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f4f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #27b39d59}.appShell{color:#17212b;background:#f4f7f9;grid-template-columns:280px minmax(0,1fr);min-height:100vh;display:grid}.loginShell{background:#102027;grid-template-columns:minmax(0,1.1fr) minmax(420px,.9fr);min-height:100vh;display:grid}.loginVisual{color:#fff;background:linear-gradient(120deg,#102027eb,#102027b8),radial-gradient(circle at 75% 35%,#27b39d6b,#0000 31%),#102027;align-content:space-between;gap:28px;padding:44px;display:grid;position:relative;overflow:hidden}.loginVisual:before{content:"";background-image:linear-gradient(#ffffff0f 1px,#0000 1px),linear-gradient(90deg,#ffffff0f 1px,#0000 1px);background-size:44px 44px;position:absolute;inset:0}.loginVisual>*{z-index:1;position:relative}.loginVisual h1{color:#fff;max-width:720px;margin-bottom:16px;font-size:54px;line-height:.98}.loginVisual p{color:#c3d9d7;max-width:620px;font-size:17px}.loginStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.loginStats span{color:#c3d9d7;background:#ffffff14;border:1px solid #ffffff24;border-radius:8px;padding:14px}.loginStats strong{color:#fff;font-size:24px;display:block}.loginPanel{background:#f4f7f9;place-items:center;padding:30px;display:grid}.loginPanel form,.demoUsers{width:min(440px,100%)}.loginPanel form{background:#fff;border:1px solid #d9e2e7;border-radius:8px;gap:14px;padding:22px;display:grid;box-shadow:0 18px 42px #1020271f}.loginPanel form h2{font-size:26px}.demoUsers{color:#425660;background:#eaf2f3;border-radius:8px;gap:4px;margin-top:12px;padding:14px;font-size:13px;display:grid}.sidebar{color:#eef6f5;background:#102027;flex-direction:column;gap:22px;min-height:100vh;padding:22px;display:flex}.brandBlock,.sidebarStatus,.topbar,.panelHeader,.notice,.topbarActions,.searchBox,.metricIcon{align-items:center;display:flex}.brandBlock{gap:12px}.brandMark{color:#082622;background:#27b39d;border-radius:8px;place-items:center;width:44px;height:44px;display:grid}.brandBlock strong{font-size:18px;display:block}.brandBlock span,.sidebarStatus span{color:#a9c4c1;font-size:12px;display:block}.navList{gap:18px;display:grid}.navSection{gap:5px;display:grid}.navSectionLabel{color:#708f91;text-transform:uppercase;padding:0 11px 4px;font-size:10px;font-weight:800}.portalIdentity{background:#142b33;border:1px solid #29444c;border-radius:8px;gap:3px;padding:12px;display:grid}.portalIdentity span{color:#8fb0ad;font-size:11px}.portalIdentity strong{color:#fff;font-size:13px}.navGroup,.navChildren{gap:4px;display:grid}.navChevron{margin-left:auto;transition:transform .16s}.navChevron.open{transform:rotate(90deg)}.navItem.navChild{min-height:36px;padding-left:35px;font-size:13px}.navItem{color:#c5d8d5;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;min-height:42px;padding:0 11px;display:flex}.navItem.active,.navItem:hover{color:#fff;background:#1d3842}.sidebarStatus{background:#163039;border-radius:8px;gap:10px;min-width:0;margin-top:auto;padding:12px}.statusDot{background:#f0b429;border-radius:50%;flex:none;width:10px;height:10px}.statusDot.online{background:#27b39d}.statusDot.offline{background:#e25d5d}.main{min-width:0;padding:22px}.topbar{justify-content:space-between;gap:20px;margin-bottom:18px}.eyebrow{color:#60717a;text-transform:uppercase;margin:0 0 4px;font-size:13px}h1,h2,p{margin:0}h1{color:#102027;font-size:30px;font-weight:760;line-height:1.15}h2{color:#17212b;font-size:17px}.topbarActions{gap:10px}.tenantContext{background:#fff;border:1px solid #d9e2e7;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:220px;height:42px;padding:4px 9px;display:grid}.tenantContext span{color:#60717a;text-transform:uppercase;font-size:11px;font-weight:750}.tenantContext select{border:0;outline:0;width:100%;min-height:30px;padding:0;font-size:13px;font-weight:700}.searchBox{background:#fff;border:1px solid #d9e2e7;border-radius:8px;gap:8px;width:min(360px,40vw);height:42px;padding:0 12px}input,select{min-height:38px;font:inherit;color:#17212b;background:#fff;border:1px solid #ccd8df;border-radius:7px;padding:0 10px}.searchBox input{border:0;outline:0;width:100%;min-height:38px}.iconButton,.notice button{color:#24343d;cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:8px;place-items:center;width:42px;height:42px;display:grid}.notice{color:#5d4204;background:#fff6df;border-radius:8px;justify-content:space-between;gap:12px;margin-bottom:16px;padding:11px 12px}.viewStack{gap:16px;display:grid}.maintenanceHero{background:linear-gradient(135deg,#fff,#edf6f4);justify-content:space-between;align-items:center;gap:18px;display:flex}.adminHero{background:linear-gradient(135deg,#fffffff5,#eff7f6f5),linear-gradient(90deg,#27b39d29,#0000);grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);align-items:center;gap:18px;display:grid}.maintenanceHero h2,.adminHero h2{font-size:28px}.roleChips{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.roleChips span{color:#fff;background:#102027;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800}.maintenanceIdentity{color:#fff;background:#102027;border-radius:8px;gap:3px;min-width:240px;padding:14px;display:grid}.maintenanceIdentity span{color:#c3d9d7;font-size:13px}.maintenanceIdentity em{color:#27b39d;font-size:12px;font-style:normal;font-weight:800}.maintenanceGrid,.catalogLayout{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.maintenanceChecklist,.settingsList{gap:10px;display:grid}.checkRow{background:#f8fafb;border-radius:8px;grid-template-columns:24px 1fr;align-items:start;gap:10px;padding:12px;display:grid}.checkRow svg{color:#1f9a73}.checkRow strong,.checkRow span{display:block}.checkRow span{color:#657781;font-size:13px}.checkRow input[type=checkbox]{width:18px;height:18px;margin-top:1px}.formGrid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.catalogPanel{min-height:280px}.catalogHero{background:linear-gradient(135deg,#fff,#edf6f4);justify-content:space-between;align-items:center;gap:18px;display:flex}.catalogHero h2{font-size:28px}.catalogCreateGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.miniCreateForm{background:#fff;border:1px solid #d9e2e7;border-radius:8px;gap:8px;padding:14px;display:grid;box-shadow:0 8px 24px #1020270f}.miniCreateForm strong{color:#102027}.miniCreateForm button{color:#fff;cursor:pointer;background:#102027;border:0;border-radius:8px;min-height:36px;font-weight:800}.catalogRows{gap:8px;display:grid}.catalogRow{background:#f8fafb;border-radius:8px;grid-template-columns:1.3fr repeat(4,minmax(78px,1fr));align-items:center;gap:10px;padding:11px;display:grid}.catalogRow strong{font-size:13px}.catalogRow span{color:#657781;font-size:12px}.catalogCrud{min-width:0}.catalogPageHeader{border-bottom:1px solid #d9e2e7;justify-content:space-between;align-items:end;gap:18px;padding-bottom:16px;display:flex}.catalogPageHeader h2{margin-bottom:4px;font-size:27px}.catalogPageHeader p:last-child{color:#657781}.primaryButton,.secondaryButton{min-height:40px;font:inherit;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-weight:750;display:inline-flex}.primaryButton{color:#fff;background:#102027;border:1px solid #102027}.primaryButton:disabled{opacity:.45;cursor:not-allowed}.secondaryButton{color:#24343d;background:#fff;border:1px solid #ccd8df}.catalogTableWrap{background:#fff;border:1px solid #d9e2e7;border-radius:8px;overflow:auto}.catalogFilters{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;justify-content:space-between;align-items:end;gap:16px;padding:12px;display:flex}.catalogFilters>div{grid-template-columns:repeat(2,minmax(220px,320px));gap:12px;display:grid}.catalogFilters label,.catalogFilters label select{width:100%}.catalogFilters>span{color:#657781;font-size:12px;font-weight:700}.catalogRelation{font-size:13px;display:block}.catalogRelation small{color:#657781;margin-top:3px;font-size:10px;font-weight:500;display:block}.catalogPagination{background:#fff;border:1px solid #d9e2e7;border-radius:8px;margin-top:0;padding:12px}.modelOperations{gap:14px;display:grid}.modelCoverageBanner{background:linear-gradient(90deg,#f3faf8,#fff);border:1px solid #bed8d4;border-radius:8px;grid-template-columns:minmax(280px,1fr) repeat(3,minmax(120px,180px));align-items:stretch;gap:12px;padding:14px;display:grid}.modelCoverageBanner h2{margin-bottom:3px;font-size:20px}.modelCoverageBanner span{color:#52646e;font-size:12px}.modelCoverageBanner>div:not(:first-child){text-align:center;background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:11px}.modelCoverageBanner strong{color:#102027;font-size:26px;line-height:1;display:block}.modelOpsHeader,.modelSummaryBar,.modelDevicePager{justify-content:space-between;align-items:center;gap:14px;display:flex}.modelOpsHeader{border-bottom:1px solid #d9e2e7;padding-bottom:12px}.modelOpsHeader h2,.modelVariablesPanel h2,.modelDevicesPanel h2{font-size:17px}.modelOpsHeader p,.modelVariablesPanel p,.modelDevicesPanel p{color:#657781;font-size:12px}.modelOpsHeader label{min-width:300px}.modelSelectorControls{grid-template-columns:minmax(260px,1fr) minmax(220px,.8fr);align-items:end;gap:10px;min-width:min(100%,590px);display:grid}.modelSelectorControls label{min-width:0}.modelSelectorControls>span{color:#657781;text-align:right;grid-column:1/-1;font-size:11px;font-weight:700}.modelSummaryBar{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;flex-wrap:wrap;padding:12px}.modelSummaryBar>div{align-items:center;gap:9px;display:flex}.modelSummaryBar svg{color:#0f766e}.modelSummaryBar span,.modelSummaryBar strong{display:block}.modelSummaryBar span{color:#657781;font-size:11px}.modelSummaryBar strong{color:#102027;margin-top:2px;font-size:14px}.modelDetailGrid{grid-template-columns:minmax(420px,.9fr) minmax(460px,1.1fr);gap:14px;display:grid}.modelVariablesPanel,.modelDevicesPanel{background:#fff;border:1px solid #d9e2e7;border-radius:8px;min-width:0;padding:14px}.modelVariableTable,.modelDeviceList{gap:6px;margin-top:12px;display:grid}.variableToggle svg{transition:transform .16s}.variableToggle svg.expanded{transform:rotate(90deg)}.modelVariableHead,.modelVariableRow{grid-template-columns:minmax(100px,.9fr) minmax(150px,1.3fr) 82px 90px 82px;align-items:center;gap:9px;display:grid}.modelVariableHead{color:#657781;text-transform:uppercase;padding:0 9px 5px;font-size:10px;font-weight:800}.modelVariableRow{background:#f4f7f9;border-radius:7px;min-height:46px;padding:8px 9px;font-size:12px}.modelVariableRow code{color:#0f766e;font-weight:800}.modelVariableRow span,.modelVariableRow b,.modelVariableRow em{color:#52646e;font-weight:650}.modelVariableRow em{font-style:normal}.modelDeviceRow{border-bottom:1px solid #e5ecef;grid-template-columns:24px minmax(160px,1fr) minmax(150px,.9fr) auto;align-items:center;gap:9px;min-height:52px;padding:7px 4px;display:grid}.modelDeviceRow>svg{color:#0f766e}.modelDeviceRow div strong,.modelDeviceRow div span{display:block}.modelDeviceRow div strong{font-size:12px}.modelDeviceRow div span{color:#657781;margin-top:2px;font-size:10px}.modelDevicePager{border-top:1px solid #d9e2e7;margin-top:12px;padding-top:10px}.modelDevicePager>div{gap:8px;display:flex}.modelDevicePager>span{color:#657781;font-size:12px}.modelDialog{width:min(980px,100%)}.modelVariablesEditor{border:1px solid #d9e2e7;border-radius:8px;grid-column:1/-1;min-width:0;padding:14px}.modelVariablesEditor legend{color:#30434d;padding:0 7px;font-size:13px;font-weight:800}.variableEditorHead,.variableEditorRow{grid-template-columns:1fr 1.25fr 120px 100px 138px 38px;align-items:center;gap:8px;display:grid}.variableEditorHead{color:#657781;text-transform:uppercase;margin-bottom:6px;font-size:10px;font-weight:800}.variableEditorRow{margin-bottom:8px}.variableEditorRow .iconButton{width:38px;min-height:38px}.modelVariablesEditor>.secondaryButton{margin-top:6px}.lnsProvisioningField{gap:10px;display:grid}.appKeyGenerator{gap:8px;display:grid}.appKeyGenerator input{letter-spacing:.04em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.appKeyActions{flex-wrap:wrap;gap:8px;display:flex}.appKeyActions .secondaryButton{min-height:36px}.generatedKeyNotice{background:#f3f8f8;border:1px solid #c8d9de;border-left:5px solid #0f766e;border-radius:8px;gap:3px;padding:10px 12px;display:grid}.generatedKeyNotice strong{color:#0b2530;font-size:13px}.generatedKeyNotice span{color:#52646e;font-size:12px;line-height:1.4}.catalogTable{border-collapse:collapse;width:100%;font-size:13px}.catalogTable th,.catalogTable td{text-align:left;white-space:nowrap;border-bottom:1px solid #e5ecef;padding:12px 14px}.catalogTable th{color:#52646e;text-transform:uppercase;background:#f4f7f9;font-size:11px;font-weight:800}.catalogTable tbody tr:hover{background:#f8fbfb}.catalogTable tbody tr:last-child td{border-bottom:0}.lnsAuditGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.lnsAuditTable .attentionRow{background:#fff8ed}.statusOk,.statusBad{border-radius:999px;justify-content:center;align-items:center;min-width:58px;padding:5px 10px;font-size:12px;font-weight:900;display:inline-flex}.statusOk{color:#087c4a;background:#e7f8ef}.statusBad{color:#a63131;background:#ffe9e9}.payloadDetails{margin-top:8px}.payloadDetails summary{cursor:pointer;color:var(--accent);font-weight:800}.payloadDetails pre{white-space:pre-wrap;word-break:break-word;color:#d8f7ef;background:#0c2026;border-radius:8px;max-width:760px;max-height:220px;margin:8px 0 0;padding:10px;font-size:12px;overflow:auto}.siteTopology{grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr);gap:14px;display:grid}.siteMapPanel,.siteDetailPanel{background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:16px;box-shadow:0 8px 24px #1020270f}.siteMapCanvas{background:#dce8e7;border:1px solid #d9e2e7;border-radius:8px;min-height:360px;position:relative;overflow:hidden}.realMapCanvas{cursor:grab;touch-action:none;min-height:410px}.realMapCanvas:active{cursor:grabbing}.realMapTiles{pointer-events:none;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.realMapTile{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:256px;height:256px;position:absolute}.realMapCanvas:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #1020270f,inset 0 -80px 120px #10202721}.realMapControls{z-index:5;cursor:default;background:#fffffff0;border:1px solid #c8d7ddf2;border-radius:8px;display:grid;position:absolute;top:48px;right:10px;overflow:hidden;box-shadow:0 8px 18px #10202729}.realMapControls button{color:#102027;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #d9e2e7;place-items:center;width:34px;height:34px;font-size:20px;font-weight:900;display:grid}.realMapControls button:last-child{border-bottom:0}.realMapControls button:hover{background:#eef5f6}.realMapZoomLabel{z-index:5;color:#49616b;background:#ffffffeb;border:1px solid #c8d7ddf2;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;position:absolute;top:160px;right:10px}.realMapMarker{z-index:2;text-align:left;cursor:pointer;touch-action:manipulation;background:#fffffff0;border:1px solid #c8d7dd;border-radius:8px;width:min(190px,42%);padding:9px 10px 10px 34px;position:absolute;transform:translate(-50%,calc(-100% - 10px));box-shadow:0 10px 24px #1020272e}.realMapMarker:after{content:"";background:inherit;border-bottom:1px solid #c8d7dd;border-right:1px solid #c8d7dd;width:14px;height:14px;position:absolute;bottom:-11px;left:50%;transform:translate(-50%)rotate(45deg)}.realMapMarker.active{border-color:#0f766e;box-shadow:0 0 0 4px #0f766e24,0 12px 24px #10202729}.realMapMarker svg{color:#0f766e;position:absolute;top:12px;left:10px}.realMapMarker span{color:#fff;text-align:center;background:#102027;border-radius:999px;min-width:26px;padding:3px 7px;font-size:12px;font-weight:800;position:absolute;top:9px;right:9px}.realMapMarker strong,.realMapMarker em{padding-right:34px;display:block}.realMapMarker em{color:#657781;font-size:11px;font-style:normal}.realMapBounds{z-index:1;pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:10px;left:10px;right:10px}.realMapBounds span,.mapAttribution{color:#49616b;background:#ffffffe0;border:1px solid #c8d7dde6;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:700}.mapAttribution{z-index:3;text-decoration:none;position:absolute;bottom:10px;right:10px}.missingSiteList{z-index:4;background:#fffffff0;border:1px solid #d9e2e7;border-radius:8px;gap:5px;width:min(220px,100% - 20px);padding:10px;display:grid;position:absolute;bottom:10px;left:10px;box-shadow:0 10px 24px #1020271f}.missingSiteList strong{color:#102027;font-size:12px}.missingSiteList button{color:#49616b;cursor:pointer;text-align:left;background:0 0;border:0;font-weight:700}.siteKpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.siteKpis div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:12px}.siteKpis strong,.siteKpis span{display:block}.siteKpis strong{color:#102027;font-size:26px}.siteKpis span{color:#657781;font-size:12px}.gatewayTree{gap:12px;display:grid}.gatewayBranch{background:#fff;border:1px solid #d9e2e7;border-radius:8px;overflow:hidden}.gatewayBranchHeader{background:#f4f7f9;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px;display:grid}.gatewayBranchHeader span{color:#657781;font-size:12px}.gatewayDeviceGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;display:grid}.gatewayDevice{background:#f8fafb;border-left:3px solid #1f9a73;border-radius:7px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:9px;display:grid}.gatewayDevice.critico,.gatewayDevice.critical{border-left-color:#c44848}.gatewayDevice.atencion,.gatewayDevice.offline{border-left-color:#d99a20}.gatewayDevice strong,.gatewayDevice span{display:block}.gatewayDevice span{color:#657781;font-size:12px}.gatewayOperations{gap:14px;display:grid}.gatewayOpsHeader,.gatewayMapPanel,.gatewayDetailPanel,.sensorBoard,.sensorStarSection{background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:16px;box-shadow:0 8px 24px #1020270f}.gatewayOpsHeader{justify-content:space-between;align-items:end;gap:16px;display:flex}.gatewayOpsHeader label{color:#52646e;text-transform:uppercase;min-width:280px;font-size:12px;font-weight:800}.gatewayOpsHeader select{color:#102027;background:#fff;border:1px solid #cbd8de;border-radius:7px;width:100%;margin-top:6px;padding:11px 12px;font-weight:700;display:block}.gatewayOpsGrid{grid-template-columns:minmax(430px,1.1fr) minmax(340px,.9fr);gap:14px;display:grid}.gatewayNodeGrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.gatewayNode{text-align:left;cursor:pointer;color:#102027;background:linear-gradient(135deg,#27b39d14,#0000 55%),#f8fafb;border:1px solid #cbd8de;border-radius:8px;min-height:142px;padding:14px;transition:transform .16s,border-color .16s,box-shadow .16s}.gatewayNode:hover,.gatewayNode.active{border-color:#0f766e;transform:translateY(-2px);box-shadow:0 14px 28px #1020271f}.gatewayNode.degradado{background:linear-gradient(135deg,#d99a2024,#0000 55%),#fffaf0}.gatewayNode.offline{background:linear-gradient(135deg,#c448481f,#0000 55%),#fff7f7}.gatewayNode svg,.gatewayNode span,.gatewayNode strong,.gatewayNode em{display:block}.gatewayNode svg{color:#0f766e;margin-bottom:14px}.gatewayNode span{color:#657781;text-transform:uppercase;font-size:11px;font-weight:800}.gatewayNode strong{margin-top:3px;font-size:16px}.gatewayNode em{color:#52646e;margin-top:8px;font-size:12px;font-style:normal}.inlineActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.gatewayStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:12px;display:grid}.gatewayStats div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:11px}.gatewayStats strong,.gatewayStats span{display:block}.gatewayStats strong{color:#102027;font-size:24px}.gatewayStats span{color:#657781;font-size:12px}.metricChips{flex-wrap:wrap;gap:8px;display:flex}.metricChips span{color:#30434d;background:#eef5f6;border:1px solid #d9e2e7;border-radius:999px;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:800;display:inline-flex}.metricChips b{color:#fff;text-align:center;background:#102027;border-radius:999px;min-width:22px;padding:2px 6px}.sensorVisualGrid{grid-template-columns:repeat(auto-fit,minmax(178px,1fr));gap:12px;display:grid}.sensorVisualCard{text-align:left;color:#102027;cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:8px;min-height:238px;padding:13px;position:relative;overflow:hidden}.sensorVisualCard:hover{border-color:#27b39d;box-shadow:0 12px 28px #1020271c}.sensorVisualCard.critico,.sensorVisualCard.critical{border-color:#c4484885}.sensorVisualCard.atencion,.sensorVisualCard.offline{border-color:#d99a208c}.sensorVisualHeader{color:#52646e;text-transform:uppercase;justify-content:space-between;align-items:center;font-size:11px;font-weight:800;display:flex}.sensorVisualHeader svg{color:#0f766e}.sensorGraphic{place-items:center;height:92px;margin:10px 0;display:grid}.sensorGraphic>span{display:block;position:relative}.sensorGraphic.temperature span{border:4px solid #cbd8de;border-radius:999px;width:28px;height:72px}.sensorGraphic.temperature span:after{content:"";background:#c44848;border-radius:50%;width:42px;height:42px;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.sensorGraphic.temperature i{background:#c44848;border-radius:999px;width:12px;height:54px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.sensorGraphic.pressure span{border:8px solid #cbd8de;border-radius:50%;width:76px;height:76px}.sensorGraphic.pressure i{transform-origin:bottom;background:#102027;border-radius:999px;width:4px;height:31px;position:absolute;bottom:32px;left:50%;transform:rotate(42deg)}.sensorGraphic.pressure b{background:#27b39d;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.sensorGraphic.flow span{border-top:12px solid #2a6fba;border-bottom:12px solid #2a6fba;width:92px;height:42px}.sensorGraphic.flow i{border-top:3px solid #fff;border-right:3px solid #fff;width:12px;height:12px;position:absolute;top:7px;transform:rotate(45deg)}.sensorGraphic.flow i:first-child{left:18px}.sensorGraphic.flow i:nth-child(2){left:40px}.sensorGraphic.flow i:nth-child(3){left:62px}.sensorGraphic.battery span{border:5px solid #cbd8de;border-radius:8px;width:86px;height:40px}.sensorGraphic.battery span:after{content:"";background:#cbd8de;border-radius:0 5px 5px 0;width:8px;height:18px;position:absolute;top:10px;right:-12px}.sensorGraphic.battery i{background:#1f9a73;border-radius:4px;width:58px;height:20px;position:absolute;top:5px;left:5px}.sensorGraphic.air span{width:88px;height:72px}.sensorGraphic.air i{background:#2a6fba40;border:2px solid #2a6fbaa6;border-radius:50%;width:22px;height:22px;position:absolute}.sensorGraphic.air i:first-child{top:24px;left:4px}.sensorGraphic.air i:nth-child(2){top:8px;left:30px}.sensorGraphic.air i:nth-child(3){top:28px;left:55px}.sensorGraphic.air i:nth-child(4){top:43px;left:31px}.sensorGraphic.power span,.sensorGraphic.generic span{background:#eef5f6;border:2px solid #cbd8de;border-radius:50%;width:70px;height:70px}.sensorGraphic.power i{background:#d99a20;width:13px;height:45px;position:absolute;top:12px;left:29px;transform:skew(-17deg)}.sensorGraphic.generic i{border:2px solid #27b39d;border-radius:50%;position:absolute}.sensorGraphic.generic i:first-child{background:#27b39d;width:28px;height:28px;top:20px;left:20px}.sensorGraphic.generic i:nth-child(2){opacity:.45;width:60px;height:60px;top:4px;left:4px}.sensorVisualCard strong,.sensorVisualCard em,.sensorVisualCard small{display:block}.sensorVisualCard strong{font-size:15px}.sensorVisualCard em{color:#52646e;margin-top:5px;font-size:12px;font-style:normal}.sensorVisualCard small{color:#7c8d96;margin-top:8px;font-size:11px}.sensorStarLayout{grid-template-columns:minmax(460px,1fr) minmax(320px,.58fr);align-items:stretch;gap:14px;display:grid}.sensorStarMap{background:linear-gradient(90deg,#2a6fba14 1px,#0000 1px) 0 0/44px 44px,linear-gradient(#2a6fba14 1px,#0000 1px) 0 0/44px 44px,#f6fafb;border:1px solid #d9e2e7;border-radius:8px;min-height:520px;position:relative;overflow:hidden}.starOrbit{pointer-events:none;border:1px dashed #52646e4d;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.starOrbit.one{width:68%;height:68%}.starOrbit.two{width:88%;height:88%}.starGatewayNode{z-index:3;color:#fff;text-align:center;background:#102027;border:1px solid #0f766e;border-radius:50%;place-items:center;width:138px;height:138px;padding:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 40px #1020273d}.starGatewayNode svg{color:#27b39d}.starGatewayNode strong{text-overflow:ellipsis;max-width:106px;font-size:13px;line-height:1.15;overflow:hidden}.starGatewayNode span{color:#c3d9d7;font-size:11px}.sensorStarNode{z-index:2;color:#fff;cursor:pointer;background:#1f9a73;border:2px solid #fff;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 22px #10202729}.sensorStarNode:before{content:"";z-index:-1;width:1px;height:var(--link-length,140px);transform:translate(-50%, -100%) rotate(var(--link-angle,0deg));transform-origin:bottom;background:#52646e38;position:absolute;top:50%;left:50%}.sensorStarNode span{color:#30434d;opacity:0;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#fffffff5;border:1px solid #d9e2e7;border-radius:999px;max-width:132px;padding:4px 8px;font-size:10px;font-weight:800;position:absolute;top:calc(100% + 7px);left:50%;overflow:hidden;transform:translate(-50%)}.sensorStarNode:hover,.sensorStarNode.active{z-index:4;border-color:#102027;transform:translate(-50%,-50%)scale(1.12)}.sensorStarNode:hover span,.sensorStarNode.active span{opacity:1}.sensorStarNode.temperature{background:#c44848}.sensorStarNode.pressure{background:#2a6fba}.sensorStarNode.flow{background:#0f766e}.sensorStarNode.battery,.sensorStarNode.power{background:#d99a20}.sensorStarNode.air{background:#5f78b8}.sensorStarNode.generic{background:#52646e}.sensorStarNode.critico,.sensorStarNode.critical{box-shadow:0 0 0 5px #c448482e,0 10px 22px #10202729}.sensorStarNode.atencion,.sensorStarNode.offline{box-shadow:0 0 0 5px #d99a2033,0 10px 22px #10202729}.sensorStarDetail{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;align-content:start;gap:14px;padding:16px;display:grid}.sensorDetailHeader{grid-template-columns:54px minmax(0,1fr);align-items:center;gap:12px;display:grid}.sensorDetailHeader h3{color:#102027;margin:0;font-size:20px}.sensorDetailHeader p{color:#52646e;margin:4px 0 0}.sensorDetailIcon{color:#fff;background:#102027;border-radius:8px;place-items:center;width:54px;height:54px;display:grid}.sensorDetailIcon.temperature{background:#c44848}.sensorDetailIcon.pressure{background:#2a6fba}.sensorDetailIcon.flow{background:#0f766e}.sensorDetailIcon.battery,.sensorDetailIcon.power{background:#d99a20}.sensorDetailIcon.air{background:#5f78b8}.sensorDetailRows{gap:8px;display:grid}.sensorDetailRows div{background:#fff;border:1px solid #d9e2e7;border-radius:7px;grid-template-columns:86px minmax(0,1fr);gap:10px;padding:10px;display:grid}.sensorDetailRows span{color:#657781;text-transform:uppercase;font-size:11px;font-weight:800}.sensorDetailRows strong{color:#102027;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.sensorDetailActions{flex-wrap:wrap;gap:8px;display:flex}.actionsColumn{width:132px;text-align:right!important}.rowActions{justify-content:flex-end;gap:5px;display:flex}.rowActions button{color:#30434d;cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:6px;place-items:center;width:32px;height:32px;display:grid}.rowActions button:hover{color:#0c7464;border-color:#27b39d}.rowActions .dangerAction:hover{color:#b63434;border-color:#d95c5c}.statusBadge{color:#147565;background:#e8f4f1;border-radius:999px;padding:4px 7px;font-size:11px;font-weight:800;display:inline-flex}.emptyTable{color:#71818a;text-align:center!important;padding:42px 16px!important}.modalBackdrop{z-index:100;background:#07171c94;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.catalogDialog{background:#fff;border-radius:8px;width:min(680px,100%);max-height:calc(100vh - 40px);padding:20px;overflow:auto;box-shadow:0 24px 70px #07171c52}.dialogHeader,.dialogActions{justify-content:space-between;align-items:center;gap:12px;display:flex}.dialogHeader{margin-bottom:18px}.catalogForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.catalogForm label{color:#425660;gap:6px;font-size:12px;font-weight:750;display:grid}.catalogForm input,.catalogForm select{width:100%}.catalogForm input:disabled,.catalogForm select:disabled{color:#52646e;background:#eef3f5}.dialogActions{grid-column:1/-1;justify-content:flex-end;padding-top:8px}.clientDashboard{gap:16px;display:grid}.monitorDashboard{--monitor-ink:#102027}.monitorHero{color:#fff;background:#102027;border-radius:8px;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:24px;min-height:180px;padding:24px;display:grid;box-shadow:0 14px 34px #1020272e}.monitorHero .eyebrow,.monitorHero p{color:#a9c4c1}.monitorHero h2{color:#fff;margin:4px 0 8px;font-size:30px}.monitorState{color:#8ce0cf;background:#173b3a;border:1px solid #ffffff29;border-radius:8px;align-content:center;place-items:center;gap:2px;min-height:122px;display:grid}.monitorState.critical{color:#ffb7b2;background:#542728}.monitorState strong{font-size:34px}.monitorState span{font-size:12px}.monitorGrid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:16px;display:grid}.attentionList,.monitorStream{gap:8px;display:grid}.attentionRow,.streamRow{background:#f9fbfc;border:1px solid #e0e7eb;border-radius:7px;align-items:center;gap:10px;min-height:58px;padding:10px 12px;display:grid}.attentionRow{grid-template-columns:minmax(0,1fr) auto}.attentionRow div,.streamRow div{gap:3px;display:grid}.attentionRow span,.streamRow span,.streamRow em{color:#60717a;font-size:12px;font-style:normal}.attentionRow b{color:#a33b3b;font-size:12px}.streamRow{grid-template-columns:16px minmax(0,1fr) auto 70px}.streamRow b{font-size:16px}.integrationAccessPanel{text-align:center;align-content:center;place-items:center;gap:14px;min-height:300px;display:grid}.integrationAccessPanel code{color:#9fe7d9;background:#102027;border-radius:7px;padding:12px}.clientHero{color:#fff;background:linear-gradient(120deg,#102027f0,#102027b8),radial-gradient(circle at 78% 32%,#27b39d75,#0000 32%),linear-gradient(135deg,#12323c,#07171c);border-radius:8px;grid-template-columns:minmax(0,1fr) 240px;align-items:center;gap:20px;min-height:250px;padding:22px;display:grid;position:relative;overflow:hidden;box-shadow:0 18px 42px #10202738}.clientHero:before{content:"";background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-size:46px 46px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#000,#0000 92%);mask-image:linear-gradient(90deg,#000,#0000 92%)}.clientHeroCopy,.clientScore{z-index:1;position:relative}.clientHero h2{color:#fff;margin-bottom:10px;font-size:42px;line-height:1}.clientHero p{color:#c3d9d7;max-width:620px}.clientHeroStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:22px;display:grid}.clientHeroStats span{color:#c3d9d7;background:#ffffff14;border:1px solid #ffffff29;border-radius:8px;padding:12px;font-size:12px}.clientHeroStats strong{color:#fff;font-size:22px;display:block}.loadingHint{color:#c3d9d7;margin-top:10px;font-size:13px;font-weight:800}.clientScore{place-items:center;display:grid}.meterBoard{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.dashboardSensorsPanel{gap:14px;display:grid}.dashboardSensorToolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.dashboardSensorToolbar span{color:#657781;font-size:13px;font-weight:800}.dashboardSensorToolbar select{max-width:420px}.dashboardSensorToolbar>div{flex:1;justify-content:flex-end;align-items:center;gap:8px;display:flex}.dashboardSensorToolbar>div select{flex:1}.dashboardSensorToolbar>div button{flex:none}.dashboardMeterSlot{min-width:0;position:relative}.dashboardMeterSlot .meterCard{height:100%}.dashboardMeterSlot>button{color:#52646e;cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:7px;min-height:30px;font-size:12px;position:absolute;bottom:10px;right:10px}.meterCard{background:#fff;border:1px solid #d9e2e7;border-radius:8px;align-content:space-between;gap:12px;min-height:286px;padding:14px;display:grid;box-shadow:0 8px 24px #1020270f}.meterCard.warning{border-color:#d99a208c}.meterCard.critical{background:linear-gradient(#fff,#fff7f7);border-color:#c4484894}.meterCard.temperature{border-color:#c4484833}.meterCard.water{border-color:#1980b338}.meterCard.humidity{border-color:#27b39d40}.meterCard.gps{border-color:#2869b23d}.meterTop,.meterTop div,.meterFooter{align-items:center;display:flex}.meterTop,.meterFooter{justify-content:space-between;gap:8px}.meterTop div{color:#30424c;gap:7px;min-width:0;font-size:13px;font-weight:750}.meterTop span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meterTop em,.meterFooter span{color:#657781;font-size:12px;font-style:normal}.meterFooter strong{font-size:18px}.measurementText{white-space:nowrap;color:#071820;align-items:baseline;gap:6px;font-weight:900;display:inline-flex}.measurementText>strong{font-size:inherit;line-height:1}.unitText{color:#52646e;letter-spacing:0;font-size:.62em;font-weight:900;line-height:1}.unitText sup{font-size:.7em;line-height:0;position:relative;top:-.25em}.meterFooter .measurementText{font-size:24px}.meterFooter a,.gpsReadingItem a{color:#0f766e;font-size:12px;font-weight:850;text-decoration:none}.meterMetricSelect{grid-template-columns:auto minmax(120px,1fr);align-items:center;gap:8px;margin:-2px 0 2px;display:grid}.meterMetricSelect span{color:#657781;text-transform:uppercase;font-size:11px;font-weight:800}.meterMetricSelect select{border-radius:7px;min-height:34px;padding:5px 28px 5px 9px;font-size:12px}.dashboardVisual{grid-template-columns:118px minmax(0,1fr);justify-content:center;align-items:center;gap:18px;min-height:132px;margin:0 auto;display:grid}.dashboardVisual>div:last-child{gap:3px;display:grid}.dashboardVisual strong{font-size:30px;line-height:1}.dashboardVisual .measurementText{font-size:34px}.dashboardVisual span{color:#657781;text-transform:uppercase;font-size:12px;font-weight:800}.dashboardVisual .measurementText .unitText{font-size:.48em}.dashboardVisual.gpsVisualLink{color:inherit;border-radius:8px;text-decoration:none}.dashboardVisual.gpsVisualLink:hover span{color:#0f766e}.thermometerTube{background:#f7fbfc;border:7px solid #dce7eb;border-radius:24px 24px 18px 18px;width:38px;height:116px;margin:0 auto;position:relative}.thermometerTube:after{content:"";background:#fff;border:7px solid #dce7eb;border-radius:50%;width:54px;height:54px;position:absolute;bottom:-26px;left:50%;transform:translate(-50%)}.thermometerTube i{width:18px;height:var(--level);z-index:1;background:linear-gradient(#e66b5b,#c44848);border-radius:14px 14px 6px 6px;max-height:100%;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.thermometerTube i:after{content:"";background:#c44848;border-radius:50%;width:34px;height:34px;position:absolute;bottom:-37px;left:50%;transform:translate(-50%)}.waterVisual,.humidityVisual{grid-template-columns:138px minmax(0,1fr)}.waterVisual svg,.humidityVisual svg{color:#1980b3;justify-self:center}.waterPipe{background:linear-gradient(#fff,#f4fbfd);border:3px solid #dce7eb;border-radius:999px;grid-column:1;grid-template-columns:repeat(3,1fr);align-items:end;gap:5px;width:130px;height:54px;padding:8px;display:grid}.waterPipe i{height:var(--level);background:linear-gradient(#49b9dd,#1980b3);border-radius:999px;min-height:18%;display:block}.waterPipe i:nth-child(2){opacity:.78}.waterPipe i:nth-child(3){opacity:.55}.humidityTrack{background:#dce7eb;border-radius:999px;width:120px;height:16px;position:relative;overflow:hidden}.humidityTrack i{width:var(--level);border-radius:inherit;background:linear-gradient(90deg,#27b39d,#49b9dd);height:100%;display:block}.batteryVisual{grid-template-columns:138px minmax(0,1fr)}.batteryShell{border:5px solid #30424c;border-radius:12px;width:124px;height:58px;padding:6px;position:relative}.batteryShell:after{content:"";background:#30424c;border-radius:0 4px 4px 0;width:8px;height:18px;position:absolute;top:17px;right:-14px}.batteryShell i{width:var(--level);background:linear-gradient(90deg,#d99a20,#22a06b);border-radius:6px;height:100%;display:block}.gpsVisual{grid-template-columns:138px minmax(0,1fr)}.gpsPin{color:#2869b2;background:radial-gradient(circle,#2869b21f 0 34%,#0000 35%),repeating-linear-gradient(0deg,#0000 0 21px,#2869b214 22px 23px),repeating-linear-gradient(90deg,#0000 0 21px,#2869b214 22px 23px),#f6fbff;border:1px solid #d6e5ef;border-radius:50%;justify-self:center;place-items:center;width:112px;height:112px;display:grid}.radialMeter{--meterColor:#27b39d;aspect-ratio:1;background:radial-gradient(circle at center, #fff 0 55%, transparent 56%), conic-gradient(var(--meterColor) var(--pct), #e3ecef 0deg);border-radius:50%;place-items:center;width:138px;margin:0 auto;display:grid;box-shadow:inset 0 0 0 1px #10202714}.clientScore .radialMeter{background:radial-gradient(circle at center, #102027 0 55%, transparent 56%), conic-gradient(var(--meterColor) var(--pct), #ffffff2e 0deg);width:190px}.radialMeter.warning{--meterColor:#d99a20}.radialMeter.critical{--meterColor:#c44848}.radialMeter>div{text-align:center;place-items:center;display:grid}.radialMeter strong{font-size:25px;line-height:1;display:block}.clientScore .radialMeter strong{color:#fff;font-size:34px}.radialMeter span{color:#657781;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.clientScore .radialMeter span{color:#c3d9d7}.clientGrid{grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;display:grid}.processCanvas{background:linear-gradient(135deg,#2a6fba1f,#0000 45%),#eef4f5;border-radius:8px;height:360px;position:relative;overflow:hidden}.processCanvas:before{content:"";background-image:linear-gradient(#10202714 1px,#0000 1px),linear-gradient(90deg,#10202714 1px,#0000 1px);background-size:34px 34px;position:absolute;inset:0}.processNode{z-index:2;background:#fff;border:1px solid #d9e2e7;border-radius:8px;width:132px;min-height:82px;padding:12px;position:absolute;box-shadow:0 14px 28px #10202729}.processNode span{background:#27b39d;border-radius:50%;width:11px;height:11px;display:inline-block}.processNode.warning span{background:#d99a20}.processNode.critical span{background:#c44848}.processNode strong,.processNode em{display:block}.processNode strong{margin-top:8px}.processNode em{color:#657781;font-size:12px;font-style:normal}.nodeA{top:34%;left:7%}.nodeB{top:18%;left:33%}.nodeC{top:42%;left:58%}.nodeD{top:18%;left:78%}.pipe{z-index:1;transform-origin:0;opacity:.76;background:linear-gradient(90deg,#27b39d,#2a6fba);border-radius:999px;height:10px;position:absolute}.pipeOne{width:27%;top:45%;left:18%;transform:rotate(-22deg)}.pipeTwo{width:31%;top:37%;left:43%;transform:rotate(21deg)}.pipeThree{background:linear-gradient(90deg,#d99a20,#c44848);width:24%;top:40%;left:68%;transform:rotate(-32deg)}.actionList{gap:10px;display:grid}.actionItem{background:#f8fafb;border-radius:8px;grid-template-columns:72px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.actionItem>span{color:#fff;text-align:center;background:#102027;border-radius:999px;padding:5px 8px;font-size:12px;font-weight:800}.actionItem strong{display:block}.actionItem p{color:#657781;font-size:13px}.actionButtons{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.actionButtons button{cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:8px;min-height:34px;padding:0 10px;font-weight:750}.zoneGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.zoneCard{background:#f8fafb;border-radius:8px;grid-template-columns:1fr 52px;align-items:center;gap:10px;padding:13px;display:grid}.zoneCard span{color:#657781;font-size:12px;display:block}.zoneCard small{color:#7a8a92;margin-top:4px;font-size:11px;display:block}.zoneCard b{text-align:right;grid-area:1/2/3;font-size:28px}.zoneBar{background:#e3ecef;border-radius:999px;height:8px;overflow:hidden}.zoneBar i{height:100%;display:block}.kpiGrid,.queryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.queryGrid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric,.panel{background:#fff;border:1px solid #d9e2e7;border-radius:8px;box-shadow:0 8px 24px #1020270f}.metric{gap:4px;min-height:118px;padding:14px;display:grid}.metricIcon{color:#fff;border-radius:8px;justify-content:center;width:36px;height:36px}.metric.green .metricIcon{background:#1f9a73}.metric.blue .metricIcon{background:#2a6fba}.metric.red .metricIcon{background:#c44848}.metric.gold .metricIcon{background:#a87914}.metric span{color:#60717a;font-size:13px}.metric strong{font-size:28px;line-height:1}.metric em,.panelHeader p,.tenantRow span,.eventRow span,.storageCell span,.usageCell em{color:#657781;font-size:13px;font-style:normal}.metricButton{text-align:left;cursor:pointer;color:#102027;font:inherit;border:1px solid #d9e2e7}.metricButton svg{color:#fff;border-radius:8px;width:36px;height:36px;padding:8px}.metricButton.green svg{background:#1f9a73}.metricButton.blue svg{background:#2a6fba}.metricButton.red svg{background:#c44848}.metricButton.gold svg{background:#a87914}.metricButton.active,.metricButton:hover{background:#f1fbf8;border-color:#27b39d}.opsGrid{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px;display:grid}.panel{padding:16px}.panelHeader{justify-content:space-between;gap:16px;margin-bottom:14px}.fleetMap{background:linear-gradient(135deg,#27b39d29,#0000 34%),linear-gradient(225deg,#2a6fba2e,#0000 42%),#e9f1f2;border-radius:8px;height:390px;position:relative;overflow:hidden}.mapGrid{background-image:linear-gradient(#10202714 1px,#0000 1px),linear-gradient(90deg,#10202714 1px,#0000 1px);background-size:42px 42px;position:absolute;inset:0}.mapNode{color:#17212b;cursor:pointer;text-align:left;background:#fff;border:0;border-radius:8px;min-width:96px;padding:8px 10px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 10px 24px #1020272e}.mapNode span{background:#1f9a73;border-radius:50%;width:10px;height:10px;margin-right:6px;display:inline-block}.mapNode.warning span{background:#d99a20}.mapNode.critical span{background:#c44848}.mapNode strong,.mapNode em{font-size:12px;display:block}.mapNode em{color:#657781}.eventList{gap:10px;display:grid}.eventRow{background:#f6f9fb;border-left:4px solid #2a6fba;border-radius:8px;grid-template-columns:52px 1fr;gap:10px;padding:11px;display:grid}.eventRow.critical{border-left-color:#c44848}.eventRow.warning{border-left-color:#d99a20}.eventRow.ok{border-left-color:#1f9a73}.eventRow time{color:#60717a;font-size:12px}.eventRow strong{font-size:13px;display:block}.tenantList,.dataTable{gap:8px;display:grid}.tenantRow{text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e9ed;border-radius:8px;grid-template-columns:1.2fr .7fr .7fr 1fr 1fr;align-items:center;gap:12px;padding:12px;display:grid}.tenantRow.withActions{grid-template-columns:1.2fr 1fr 1fr 86px}.tenantSelectButton{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.tenantRow.selected,.tenantRow:hover{background:#f1fbf8;border-color:#27b39d}.tenantRow strong,.storageCell strong{font-size:14px;display:block}.usageCell{gap:6px;display:grid}.usageBar{background:#e3ecef;border-radius:999px;height:7px;overflow:hidden}.usageBar i{background:#27b39d;height:100%;display:block}.tenantActions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.tenantActions span{color:#71818a;text-transform:uppercase;font-size:11px;font-weight:750}.dangerAction{color:#b42323;cursor:pointer;background:#fff5f5;border:1px solid #ecc7c7;border-radius:7px;justify-content:center;align-items:center;min-width:34px;min-height:34px;display:inline-flex}.dangerAction:hover{background:#ffe8e8;border-color:#d88989}.accountsLayout,.commandsGrid,.alertsLayout,.adminLayout{grid-template-columns:minmax(420px,.95fr) minmax(0,1.05fr);gap:16px;display:grid}.accountsBusinessLayout{grid-template-columns:minmax(460px,1fr) minmax(380px,.82fr);gap:16px;display:grid}.accountFlowPanel{grid-row:span 2}.contractPreviewPanel,.accountPortfolioPanel{align-self:start}.contractForm,.commercialContractForm{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.commercialContractForm label span{color:#71818a;font-size:11px;font-weight:500;line-height:1.35}.commercialContractForm textarea{resize:vertical}.commercialContractForm .primaryButton,.wideField{grid-column:1/-1}.accountTypeSwitch{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.accountTypeSwitch button{color:#30434d;cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:8px;min-height:42px;font-weight:800}.accountTypeSwitch button.active{color:#0c6556;background:#edf8f5;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e14}.contractLifecycle{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.contractLifecycle div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;align-content:start;gap:5px;min-height:104px;padding:10px;display:grid}.contractLifecycle span{color:#fff;background:#102027;border-radius:999px;place-items:center;width:26px;height:26px;font-size:12px;font-weight:850;display:grid}.contractLifecycle strong{color:#102027;font-size:12px}.contractLifecycle em{color:#657781;font-size:11px;font-style:normal;line-height:1.35}.contractPreview{gap:10px;display:grid}.contractPreview div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;gap:4px;padding:12px;display:grid}.contractPreview span,.contractPreview em,.billingPolicy span,.accountLifecycleActions span,.accountLifecycleActions em{color:#657781;font-size:12px;font-style:normal}.contractPreview strong{color:#102027;font-size:20px}.billingPolicy{background:#fff8ea;border:1px solid #ecd28e;border-radius:8px;gap:6px;margin-top:12px;padding:12px;display:grid}.billingPolicy strong{color:#6f4a05}.billingCommandGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.billingOpsGrid{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:16px;display:grid}.contractDetailGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.contractDetailGrid div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;align-content:center;gap:4px;min-height:76px;padding:12px;display:grid}.contractDetailGrid span,.ledgerRow span small,.ledgerRow em{color:#657781;font-size:12px;font-style:normal}.contractDetailGrid strong{color:#102027;overflow-wrap:anywhere}.commercialMiniForm{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:11px;display:grid}.commercialMiniForm .panelHeader,.commercialMiniForm .primaryButton{grid-column:1/-1}.commercialContractBuilder{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.commercialContractBuilder .emptyState,.commercialContractBuilder .wideField,.commercialContractBuilder .primaryButton{grid-column:1/-1}.formHint{color:#657781;grid-column:1/-1;font-size:12px;font-weight:700}.subaccountColumns{grid-template-columns:minmax(180px,1.2fr) minmax(120px,.8fr) minmax(160px,1fr) minmax(160px,1fr) 92px}.billingLedgerGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ledgerColumn{align-content:start;gap:8px;min-width:0;display:grid}.ledgerColumn>strong{color:#102027;font-size:15px}.ledgerRow{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px;display:grid}.ledgerRow span,.ledgerRow span small,.ledgerRow em{display:block}.ledgerRow b{color:#102027}.ledgerRow em{grid-column:1/-1}.accountLifecycleActions{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;grid-template-columns:minmax(170px,1fr) auto auto auto;align-items:center;gap:10px;margin-bottom:14px;padding:12px;display:grid}.accountLifecycleActions div,.accountLifecycleActions span,.accountLifecycleActions strong,.accountLifecycleActions em{display:block}.accountLifecycleActions strong{color:#102027;font-size:18px}.textDanger{min-width:auto;padding:0 12px;font-weight:800}label{color:#4c5d66;gap:6px;font-size:12px;font-weight:700;display:grid}.primaryButton{color:#fff;cursor:pointer;background:#102027;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:700;display:inline-flex}.contractForm .primaryButton{grid-column:1/-1}.alertHero,.billingHero,.integrationHero,.reportsHero{background:linear-gradient(135deg,#fff,#edf6f4);justify-content:space-between;align-items:center;gap:18px;display:flex}.alertHero h2,.billingHero h2,.integrationHero h2,.reportsHero h2{font-size:28px}.clientOnboarding,.planAssistant{margin-top:14px}.onboardingTimeline{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.onboardingStep{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;align-content:start;gap:10px;min-height:138px;padding:12px;display:grid}.onboardingStep>span,.connectionStep>span{color:#fff;background:#102027;border-radius:999px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:inline-flex}.onboardingStep strong,.connectionStep strong{color:#102027;display:block}.onboardingStep b{color:#0c6556;margin:4px 0;font-size:13px;display:block}.onboardingStep p,.planRecommendation p,.connectionNote span,.sourceRow span{color:#657781;font-size:13px}.planAssistantGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.planRecommendation{color:#fff;background:#102027;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:14px;display:flex}.planRecommendation span{color:#b8d4cf;font-size:12px}.planRecommendation strong{font-size:24px;display:block}.planRecommendation p{color:#d9e8e5;max-width:620px}.connectionSteps{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.connectionStep{background:#fff;border:1px solid #d9e2e7;border-radius:8px;align-items:flex-start;gap:10px;min-height:92px;padding:12px;display:flex;box-shadow:0 8px 24px #1020270f}.connectionStep em{color:#0c6556;font-size:12px;font-style:normal;font-weight:800;display:block}.connectionGrid{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:14px;display:grid}.connectionWizard input[readonly]{color:#49616b;background:#eef4f6}.sourceList{gap:8px;display:grid}.sourceRow{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:11px}.sourceRow strong{display:block}.connectionNote{background:#edf6f4;border-radius:8px;align-items:flex-start;gap:10px;margin-top:12px;padding:12px;display:flex}.connectionConsole{gap:14px;display:grid}.connectionStatusBar{background:#fff;border:1px solid #d9e2e7;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:14px 16px;display:flex}.connectionStatusBar h2{font-size:24px}.connectionModeTabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.connectionModeTabs button{color:#24343d;min-height:48px;font:inherit;cursor:pointer;background:#fff;border:1px solid #ccd8df;border-radius:8px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:inline-flex}.connectionModeTabs button.active{color:#fff;background:#102027;border-color:#102027}.connectionBadge{text-align:right;background:#f6ead7;border:1px solid #e0c89f;border-radius:8px;min-width:230px;padding:10px 12px}.connectionBadge.ok{background:#e8f5ef;border-color:#add8c6}.connectionBadge span,.connectionBadge strong{display:block}.connectionBadge span{color:#657781;font-size:12px}.connectionBadge strong{color:#102027}.connectionWorkbench{grid-template-columns:220px minmax(420px,1fr) 320px;align-items:start;gap:14px;display:grid}.connectionRail{gap:10px;display:grid}.railStep{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;gap:10px;padding:11px;display:flex}.railStep>span{color:#52646e;background:#dfe8ec;border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:inline-flex}.railStep.done>span{color:#fff;background:#0c6556}.railStep strong,.railStep em{display:block}.railStep em{color:#657781;font-size:12px;font-style:normal}.connectionForm{gap:14px;display:grid}.formRow{gap:12px;display:grid}.formRow.two{grid-template-columns:repeat(2,minmax(0,1fr))}.endpointBox{border:1px solid #d9e2e7;border-radius:8px;overflow:hidden}.endpointBox>div{border-bottom:1px solid #e5ecef;grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;padding:11px 12px;display:grid}.endpointBox>div:last-child{border-bottom:0}.endpointBox label{color:#657781;font-size:12px;font-weight:800}.endpointBox code,.payloadTable code,.miniLog code,.connectionTable code,.compactKey code{text-overflow:ellipsis;white-space:nowrap;color:#102027;min-width:0;overflow:hidden}.requiredPayload{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:12px}.compactHeader{margin-bottom:10px}.compactHeader h3{font-size:17px}.payloadTable{gap:8px;display:grid}.payloadTable>div{grid-template-columns:140px minmax(0,1fr);align-items:center;gap:12px;display:grid}.payloadTable strong{color:#24343d}.connectionActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.compactKey{grid-template-columns:minmax(160px,.5fr) minmax(0,1fr) auto auto}.connectionInspector{gap:14px;display:grid}.validationState{background:#f6ead7;border:1px solid #e0c89f;border-radius:8px;gap:6px;padding:14px;display:grid}.validationState.ok{background:#e8f5ef;border-color:#add8c6}.validationState strong,.validationState span{display:block}.validationState span,.profileBox span,.miniLog span{color:#657781;font-size:13px}.profileBox{gap:8px;display:grid}.profileBox span{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:9px 10px}.miniLog{gap:8px;display:grid}.miniLog h3{font-size:16px}.miniLog>div:not(.emptyState){color:#fff;background:#102027;border-radius:8px;gap:6px;padding:12px;display:grid}.miniLog code{color:#d9f2ec}.connectionTable{gap:8px;display:grid}.connectionTableHead,.connectionTableRow{grid-template-columns:minmax(180px,1fr) minmax(120px,.6fr) minmax(150px,.8fr) 100px 96px;align-items:center;gap:12px;display:grid}.connectionTableHead{color:#657781;padding:0 12px;font-size:12px;font-weight:800}.connectionTableRow{background:#fff;border:1px solid #d9e2e7;border-radius:8px;min-height:48px;padding:10px 12px}.connectionTableRow b{color:#0c6556}.connectionTableRow button{cursor:pointer;background:#fff;border:1px solid #ccd8df;border-radius:7px;min-height:32px}.connectionOpsGrid{grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:14px;display:grid}.connectionOpsGrid.mqttFocused,.connectionOpsGrid.queueFocused{grid-template-columns:minmax(0,1fr)}.mqttSetupStrip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.mqttSetupStrip>div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:12px}.mqttSetupStrip strong,.mqttSetupStrip span{display:block}.mqttSetupStrip span{color:#657781;margin-top:4px;font-size:12px}@media (width<=1400px) and (width>=1101px){.connectionWorkbench{grid-template-columns:180px minmax(0,1fr)}.connectionInspector{grid-column:1/-1}}.mqttConnectionList,.queueFeed{gap:8px;display:grid}.mqttConnectionRow{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;grid-template-columns:42px minmax(190px,1.2fr) minmax(150px,.8fr) auto;align-items:center;gap:10px;min-height:62px;padding:9px 10px;display:grid}.mqttConnectionRow strong,.mqttConnectionRow span{display:block}.mqttConnectionRow strong{font-size:12px}.mqttConnectionRow span{color:#657781;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.mqttStatus{color:#60717a;background:#e7eef1;border-radius:7px;place-items:center;width:38px;height:38px;display:grid}.mqttStatus.online{color:#0c6556;background:#e4f4f1}.mqttStatus.error{color:#b43d3d;background:#fae8e8}.formAlert{color:#8f2626;background:#fff4f4;border:1px solid #efb4b4;border-radius:8px;padding:12px 14px;font-weight:800;line-height:1.4}.simpleFormHero{background:#f5faf9;border:1px solid #d7e4e8;border-radius:8px;align-items:flex-start;gap:12px;padding:14px;display:flex}.simpleFormHero svg{color:var(--accent);flex:none}.simpleFormHero strong{color:var(--ink);margin-bottom:3px;font-size:15px;display:block}.simpleFormHero span{color:var(--muted);line-height:1.45;display:block}.advancedFormBlock{background:#fbfdfd;border:1px solid #d7e4e8;border-radius:8px;padding:10px 12px}.advancedFormBlock summary{cursor:pointer;color:var(--ink);font-weight:900}.advancedFormBlock[open] summary{margin-bottom:12px}.queueStats{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.queueStats>div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;min-height:72px;padding:10px}.queueStats>div.critical{background:#fff4f4;border-color:#d98d8d}.queueStats span,.queueStats strong{display:block}.queueStats span{color:#657781;font-size:10px}.queueStats strong{margin-top:5px;font-size:22px}.queueFeed>div:not(.emptyState){border-bottom:1px solid #e5ecef;grid-template-columns:86px minmax(140px,1fr) minmax(120px,.8fr);align-items:center;gap:9px;min-height:48px;display:grid}.queueFeed strong,.queueFeed span,.queueFeed em{display:block}.queueFeed strong{font-size:12px}.queueFeed div span,.queueFeed em{color:#657781;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-style:normal;overflow:hidden}.queueState{color:#52646e;text-align:center;text-transform:uppercase;background:#e7eef1;border-radius:999px;padding:5px 7px;font-size:9px;font-weight:800}.queueState.processed{color:#0c6556;background:#e4f4f1}.queueState.retry,.queueState.pending{color:#8a6414;background:#fff3d8}.queueState.deadletter{color:#b43d3d;background:#fae8e8}.decoderCoverage{color:#52646e;border-top:1px solid #d9e2e7;align-items:center;gap:9px;margin-top:12px;padding-top:11px;font-size:11px;display:flex}.decoderCoverage svg{color:#2a6fba}.mqttToggles{align-items:center;gap:18px;display:flex}.mqttToggles label{align-items:center;gap:7px;display:flex}.mqttToggles input{width:auto}.alertScore,.billingTotal{color:#fff;text-align:right;background:#102027;border-radius:8px;min-width:190px;padding:16px}.alertScore strong,.billingTotal strong{font-size:38px;line-height:1;display:block}.alertScore span,.billingTotal span{color:#c3d9d7;font-size:12px}.alertList,.ruleList,.commandHistory{gap:10px;display:grid}.alertInboxTabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.alertInboxCard{text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:8px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 12px;min-height:96px;padding:16px;display:grid}.alertInboxCard.active{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e1a}.alertInboxCard span{font-weight:800}.alertInboxCard strong{color:#102027;font-size:30px;line-height:1}.alertInboxCard em{color:#657781;grid-column:2/4;font-size:12px;font-style:normal}.alertRow{background:#f8fafb;border-left:4px solid #2a6fba;border-radius:8px;grid-template-columns:86px 1fr 96px;align-items:center;gap:10px;padding:12px;display:grid}.responseRow{grid-template-columns:86px minmax(0,1fr) minmax(340px,auto)}.responseActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.responseLink{color:#102027;background:#fff;border:1px solid #d9e2e7;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.alertRow button.dangerAction{color:#8a1f1f;background:#fff5f5;border-color:#c44848;font-weight:800}.alertRow.warning{border-left-color:#d99a20}.alertRow.critical{border-left-color:#c44848}.alertRow>span{color:#102027;font-size:12px;font-weight:800}.alertRow p{color:#657781;font-size:13px}.alertRow small{color:#7b8b93;margin-top:4px;font-size:11px;display:block}.incidentMeta{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.incidentMeta b,.incidentMeta em,.incidentMeta span,.incidentMeta small{color:#334850;background:#fff;border:1px solid #d9e2e7;border-radius:999px;align-items:center;min-height:24px;margin:0;padding:0 9px;font-size:11px;font-style:normal;font-weight:700;display:inline-flex}.incidentMeta span{color:#0f5f52;background:#eef8f5;border-color:#c8e5df;max-width:min(620px,100%)}.incidentMeta small{color:#7a5214;background:#fff8ea;border-color:#f0d5a7}.alertRow button,.reportActions button{cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:8px;min-height:34px}.alertRow button:disabled{color:#7b8b93;cursor:default;background:#eef3f5}.stackForm,.ruleForm{gap:12px;display:grid}.rulesGrid{grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:14px;display:grid}.ruleForm{align-content:start}.ruleBuilderForm{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;grid-template-columns:repeat(2,minmax(280px,1fr));align-items:stretch;gap:12px;margin-bottom:14px;padding:12px}.ruleBuilderSection{background:#fff;border:1px solid #d9e2e7;border-radius:8px;align-content:start;gap:10px;padding:12px;display:grid}.ruleBuilderWide{grid-column:1/-1}.ruleBuilderSection h3{margin:0;font-size:15px}.ruleBuilderSection p{color:#657781;margin:0;font-size:12px}.ruleBuilderSection textarea{resize:vertical;width:100%;min-height:76px;font:inherit;border:1px solid #cfd9df;border-radius:8px;padding:9px 10px}.ruleConditionRow{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.fieldHint{background:#eef8f5;border-left:3px solid #2db7a3;border-radius:6px;padding:8px 10px}.ruleCard{background:#f8fafb;border-radius:8px;grid-template-columns:1fr 1fr 120px;align-items:center;gap:10px;padding:12px;display:grid}.ruleCard span,.ruleCard em,.commandRow span,.commandRow em,.integrationCard span,.integrationCard em,.reportCard span{color:#657781;font-size:13px;font-style:normal}.ruleCrud{gap:14px;display:grid}.ruleCrudPanel{overflow:hidden}.ruleFormInline{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;grid-template-columns:repeat(5,minmax(120px,1fr));align-items:end;margin-bottom:14px;padding:14px}.ruleFormActions{grid-column:1/-1;align-items:center;gap:8px;display:flex}.ruleTable{gap:8px;display:grid}.ruleTableHead,.ruleTableRow{grid-template-columns:minmax(160px,1fr) minmax(130px,.75fr) minmax(190px,1fr) 90px 80px 150px;align-items:center;gap:10px;display:grid}.ruleTableHead{color:#657781;padding:0 12px;font-size:12px;font-weight:800}.ruleTableRow{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;min-height:48px;padding:10px 12px}.ruleTableRow em{color:#657781;font-style:normal}.ruleTableRow b{color:#0c6556}.ruleTableRow div{gap:6px;display:flex}.ruleTableRow button{color:#7b8b93;background:#fff;border:1px solid #d9e2e7;border-radius:7px;min-height:30px}.commandRow{background:#f8fafb;border-radius:8px;grid-template-columns:1fr 110px 170px;align-items:center;gap:12px;padding:12px;display:grid}.commandCenter{grid-template-columns:minmax(340px,.75fr) minmax(0,1.25fr)}.commandHero{grid-column:1/-1}.commandWorkbench,.commandDetailPanel{background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:16px;box-shadow:0 8px 24px #1020270f}.commandFilters{grid-template-columns:1fr;gap:10px;margin-bottom:12px;display:grid}.commandDeviceList{gap:8px;max-height:540px;padding-right:4px;display:grid;overflow:auto}.commandDeviceRow{text-align:left;cursor:pointer;background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;grid-template-columns:minmax(0,1fr) 120px 78px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:grid}.commandDeviceRow.active{background:#edf8f5;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e14}.commandDeviceRow strong,.commandDeviceRow span{display:block}.commandDeviceRow span,.commandDeviceRow em{color:#657781;font-size:12px;font-style:normal}.commandDeviceRow b{color:#102027;text-align:right;font-size:12px}.commandCapabilitySummary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.commandCapabilitySummary div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:12px}.commandCapabilitySummary strong,.commandCapabilitySummary span{display:block}.commandCapabilitySummary span{color:#657781;font-size:12px}.commandUnavailable{color:#5d4204;background:#fff8e8;border:1px solid #ecd28e;border-radius:8px;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:12px;margin-bottom:14px;padding:14px;display:grid}.commandUnavailable p{color:#6f5a22;font-size:13px}.commandTrace{margin-top:14px}.panelHeader.compact{margin-bottom:10px}.integrationGrid,.reportGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.integrationCard,.reportCard{background:#fff;border:1px solid #d9e2e7;border-radius:8px;align-content:space-between;gap:8px;min-height:132px;padding:14px;display:grid;box-shadow:0 8px 24px #1020270f}.reportCard{text-align:left;color:#102027;cursor:pointer}.reportCard.active{background:#f2fbf9;border-color:#27b39d;box-shadow:0 12px 30px #27b39d24}.reportCard b{color:#0c6556;font-size:13px}.reportPeriod{background:#fff;border:1px solid #d9e2e7;border-radius:8px;min-width:270px;padding:12px}.reportPeriod span,.reportPreviewNote{color:#657781;font-size:12px}.reportPeriod strong{color:#102027;margin-top:4px;font-size:13px;display:block}.reportFilters{grid-template-columns:minmax(180px,1.2fr) repeat(2,minmax(180px,1fr)) auto;align-items:end;gap:12px;display:grid}.reportPresetButtons,.reportActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.reportPresetButtons button{color:#102027;cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:8px;min-height:40px;padding:0 12px;font-weight:700}.reportSelectorPanel{gap:12px;display:grid}.printOnly{display:none}.reportWorkbench{overflow:hidden}.reportWorkbench .panelHeader h2{align-items:center;gap:8px;display:flex}.executiveReportSummary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.executiveReportSummary div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:12px}.executiveReportSummary strong,.executiveReportSummary span{display:block}.executiveReportSummary strong{color:#102027;font-size:18px}.executiveReportSummary span{color:#657781;font-size:12px}.reportInsightGrid{grid-template-columns:minmax(0,1.3fr) minmax(260px,.8fr) minmax(0,1fr);gap:12px;margin-bottom:14px;display:grid}.reportInsightGrid .reportMapChart{grid-column:span 2}.reportChart{background:#fff;border:1px solid #d9e2e7;border-radius:8px;gap:12px;min-height:230px;padding:14px;display:grid}.reportChartHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.reportChartHeader strong{color:#102027}.reportChartHeader span{color:#657781;font-size:12px}.reportBarList{gap:10px;display:grid}.reportBarRow{grid-template-columns:minmax(110px,1fr) auto;align-items:center;gap:6px 10px;display:grid}.reportBarRow div{min-width:0}.reportBarRow strong,.reportBarRow span{display:block}.reportBarRow strong{text-overflow:ellipsis;white-space:nowrap;color:#102027;font-size:13px;overflow:hidden}.reportBarRow div span{color:#657781;font-size:11px}.reportBarRow em{color:#0c6556;font-size:12px;font-style:normal;font-weight:800}.reportBarTrack{background:#e8eff2;border-radius:999px;grid-column:1/-1;height:9px;overflow:hidden}.reportBarTrack i{border-radius:inherit;background:linear-gradient(90deg,#27b39d,#102027);height:100%;display:block}.reportDonutLayout{grid-template-columns:130px minmax(0,1fr);align-items:center;gap:12px;display:grid}.reportDonutLayout svg{width:130px;height:130px;transform:rotate(-90deg)}.reportDonutBase{fill:none;stroke:#e8eff2;stroke-width:16px}.reportDonutSegment{fill:none;stroke-width:16px;stroke-linecap:round;pathLength:100}.reportDonutLayout text{transform-origin:60px 60px;fill:#102027;font-size:18px;font-weight:800;transform:rotate(90deg)}.reportDonutLayout text+text{fill:#657781;font-size:10px;font-weight:700}.reportDonutLegend{gap:8px;display:grid}.reportDonutLegend div{color:#40525a;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:12px;display:grid}.reportDonutLegend i{border-radius:999px;width:10px;height:10px}.reportDonutLegend strong{color:#102027}.reportMapChart{min-height:310px}.reportRealMap{background:#dce8e7;border:1px solid #d9e2e7;border-radius:8px;min-height:220px;position:relative;overflow:hidden}.reportRealMap:after{content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #1020270f,inset 0 -62px 90px #1020271f}.reportMapTiles{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.reportMapTile{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:256px;height:256px;position:absolute}.reportMapMarker{z-index:2;pointer-events:none;justify-items:center;gap:4px;display:grid;position:absolute;transform:translate(-50%,-100%)}.reportMapMarker span{width:var(--marker-size);height:var(--marker-size);border:3px solid #fff;border-radius:999px;min-width:18px;min-height:18px;box-shadow:0 0 0 7px #10202724,0 8px 16px #10202738}.reportMapMarker.ok span{background:#27b39d}.reportMapMarker.warn span{background:#d99a20}.reportMapMarker.bad span{background:#c44848}.reportMapMarker strong{color:#102027;text-overflow:ellipsis;white-space:nowrap;background:#fffffff0;border:1px solid #d9e2e7;border-radius:999px;max-width:120px;padding:3px 8px;font-size:11px;overflow:hidden;box-shadow:0 6px 14px #10202724}.reportMapEmpty{z-index:2;text-align:center;color:#49616b;align-content:center;place-items:center;gap:6px;padding:20px;display:grid;position:absolute;inset:0}.reportMapEmpty strong,.reportMapEmpty span{display:block}.reportMapEmpty strong{color:#102027}.reportMapEmpty span{max-width:260px;font-size:12px}.reportMapAttribution{z-index:3;color:#49616b;background:#ffffffe6;border:1px solid #c8d7dde6;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:700;text-decoration:none;position:absolute;bottom:8px;right:8px}.reportMapLegend{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.reportMapLegend div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:8px}.reportMapLegend strong,.reportMapLegend span{display:block}.reportMapLegend strong{color:#102027;font-size:12px}.reportMapLegend span{color:#657781;font-size:11px}.reportTrendCard{align-content:start;min-height:205px}.reportTrendCard svg{width:100%;min-height:156px;display:block}.reportTrendGrid{stroke:#e5edf1;stroke-width:1px}.reportTrendArea{fill:#27b39d17}.reportTrendLine{fill:none;stroke:#27b39d;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.6px}.reportTrendPoint{fill:#fff;stroke:#27b39d;stroke-width:1.6px}.reportTrendValue{fill:#102027;font-size:13px;font-weight:800}.reportTrendDate{fill:#657781;font-size:9px;font-weight:700}.reportTable{gap:6px;width:100%;display:grid;overflow-x:auto}.reportTableHead,.reportTableRow{align-items:center;gap:8px;min-width:860px;display:grid}.reportTableHead{color:#fff;text-transform:uppercase;background:#102027;border-radius:8px;padding:10px 12px;font-size:11px;font-weight:800}.reportTableRow{color:#40525a;background:#fff;border:1px solid #d9e2e7;border-radius:8px;padding:10px 12px;font-size:12px}.reportTableRow span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.reportPreviewNote{margin-top:10px}.reportCoverPage{align-content:space-between;gap:28px;min-height:960px;padding:20px 0}.reportCoverBrand{border-bottom:2px solid #102027;justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}.reportCoverBrand strong{color:#102027;font-size:20px}.reportCoverBrand span,.reportCoverMeta span,.reportCoverKpis span{color:#657781;font-size:12px}.reportCoverPage h1{color:#102027;margin:10px 0;font-size:36px;line-height:1.1}.reportCoverMeta,.reportCoverKpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.reportCoverMeta{grid-template-columns:1fr 1.4fr 1fr}.reportCoverMeta div,.reportCoverKpis div{border:1px solid #d9e2e7;border-radius:8px;padding:12px}.reportCoverMeta strong,.reportCoverKpis strong{color:#102027;display:block}.reportCoverKpis strong{font-size:24px}.reportCoverCharts{grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);gap:12px;display:grid}.printReportPages{gap:0}.printReportPage{break-before:page}.printReportPage header{border-bottom:1px solid #d9e2e7;justify-content:space-between;align-items:flex-end;margin-bottom:10px;padding-bottom:8px;display:flex}.printReportPage header strong,.printReportPage header span{display:block}.printReportPage header span{color:#657781;font-size:11px}.integrationCard em{color:#0c6556;font-weight:800}.integrationKeyForm{gap:10px;margin:14px 0;display:flex}.integrationKeyForm input{flex:1}.integrationKeyList{gap:8px;display:grid}.integrationKeyRow,.generatedKey{background:#f8fafb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.integrationKeyRow span,.generatedKey span{color:#657781;font-size:12px;display:block}.integrationKeyRow button,.generatedKey button{cursor:pointer;background:#fff;border:1px solid #ccd8df;border-radius:7px;min-height:34px}.generatedKey{background:#fff6df;border:1px solid #ecd28e;grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr) auto auto}.generatedKey code{overflow-wrap:anywhere;color:#5d4204}.pipeline{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.pipelineStep{text-align:center;background:#f8fafb;border-radius:8px;align-content:center;justify-items:center;gap:8px;min-height:92px;display:grid}.pipelineStep span{color:#fff;background:#102027;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.billingColumns{grid-template-columns:1.2fr .8fr .8fr .8fr .8fr}.userForms{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.userForm{background:#f8fafb;border:1px solid #e1e9ed;border-radius:8px;align-content:start;gap:12px;padding:14px;display:grid}.userForm>strong{color:#102027}.userTable{gap:8px;display:grid}.userColumns{grid-template-columns:minmax(190px,1.4fr) minmax(120px,.7fr) minmax(120px,.9fr) minmax(80px,.5fr)}.userColumns div span{color:#657781;margin-top:2px;font-size:12px;display:block}.userColumns b{color:#102027;font-size:13px}.emptyState{color:#657781;background:#f8fafb;border-radius:8px;gap:4px;padding:18px;display:grid}.emptyState strong{color:#17212b}.readingList,.siteSummaryGrid{gap:8px;display:grid}.readingItem,.siteSummary{background:#f8fafb;border-radius:8px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:11px 12px;display:grid}.readingItem div,.siteSummary div{min-width:0}.readingItem strong,.readingItem span,.siteSummary strong,.siteSummary span{display:block}.readingItem span,.readingItem em,.siteSummary span{color:#657781;font-size:12px;font-style:normal}.siteSummary{grid-template-columns:20px minmax(0,1fr) auto}.siteSummary b{text-align:center;color:#0c6556;min-width:32px}.reportCard button:disabled{color:#7b8b93;cursor:default;background:#eef3f5}.telemetryHeader,.storageHero{justify-content:space-between;align-items:center;gap:18px;display:flex}.telemetryActions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.dashboardCustomizeBar{justify-content:space-between;align-items:center;gap:14px;display:flex}.dashboardCustomizeBar strong,.dashboardCustomizeBar span{display:block}.dashboardCustomizeBar span{color:#657781;font-size:12px}.dashboardCustomizer{background:#f8fafb}.sectionToggleGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.sectionToggleGrid label{background:#fff;border:1px solid #d9e2e7;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:0 12px;font-weight:750;display:flex}.meterSlotActions{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.meterSlotActions button{color:#30434d;cursor:pointer;background:#fff;border:1px solid #d9e2e7;border-radius:7px;min-height:32px;font-size:12px;font-weight:750}.meterSlotActions button:disabled{color:#9baab1;cursor:default;background:#eef3f5}.compactSelect{color:#657781;grid-template-columns:auto minmax(140px,1fr);align-items:center;gap:8px;font-size:12px;font-weight:750;display:grid}.compactSelect select{min-height:38px}.sensorContextCanvas{background:#fff;grid-template-columns:minmax(240px,.7fr) minmax(260px,1fr);gap:14px;padding:16px 20px 20px;display:grid}.sensorContextCanvas .meterCard{min-height:300px}.contextReadingSummary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.contextReadingSummary div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;align-content:center;gap:5px;min-height:92px;padding:12px;display:grid}.contextReadingSummary span,.gpsContext span,.gpsContext em{color:#657781;font-size:12px;font-style:normal}.contextReadingSummary strong,.gpsContext strong{color:#102027;font-size:17px}.gpsContext{align-items:stretch}.gpsContext>div:last-child{align-content:center;gap:8px;display:grid}.gpsContext .secondaryButton{width:fit-content;text-decoration:none}.sensorMapPreview{background:#dce8e7;border:1px solid #c8d7dd;border-radius:8px;min-height:260px;position:relative;overflow:hidden}.sensorMapGrid{background:linear-gradient(#10202714 1px,#0000 1px) 0 0/42px 42px,linear-gradient(90deg,#10202714 1px,#0000 1px) 0 0/42px 42px,linear-gradient(135deg,#eef5f6,#cfe0df) 0 0/100% 100%;position:absolute;inset:0}.sensorMapPreview svg{color:#c44848;filter:drop-shadow(0 8px 14px #1020273d);position:absolute;top:50%;left:50%;transform:translate(-50%,-80%)}.telemetryInsightGrid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.siteFocusPanel{overflow:hidden}.siteFocusSelect{min-width:260px}.siteFocusGrid{grid-template-columns:minmax(420px,1.05fr) minmax(360px,.95fr);gap:14px;display:grid}.siteMeterBoard{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.siteChartStack{gap:12px;display:grid}.siteMetricChart{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;padding:12px}.siteMetricChart>div:first-child{justify-content:space-between;gap:12px;margin-bottom:10px;display:flex}.siteMetricChart span,.siteMetricChart em{color:#657781;font-size:12px;font-style:normal}.siteChartBars{gap:8px;display:grid}.siteChartBars span{grid-template-columns:minmax(120px,.9fr) minmax(120px,1.2fr) 54px;align-items:center;gap:8px;display:grid}.siteChartBars b{color:#102027;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:800;overflow:hidden}.siteChartBars i{background:linear-gradient(90deg, #1f9a73 var(--bar), #dfe9ed var(--bar));border-radius:999px;height:9px}.siteChartBars em{text-align:right}.sensorActivityPanel{overflow:hidden}.activityControls{grid-template-columns:minmax(180px,1fr) minmax(130px,.65fr);gap:10px;min-width:min(100%,420px);display:grid}.sensorActivityBody{grid-template-columns:170px minmax(0,1fr);align-items:stretch;gap:14px;display:grid}.sensorActivitySummary{color:#fff;background:#102027;border:1px solid #d9e2e7;border-radius:8px;align-content:center;gap:5px;padding:14px;display:grid}.sensorActivitySummary strong{font-size:34px;line-height:1}.sensorActivitySummary span,.sensorActivitySummary em{color:#c3d9d7;font-size:12px;font-style:normal}.sensorActivitySummary b{margin-top:8px}.sensorLineChart{background:linear-gradient(#edf3f5 1px,#0000 1px) 0 25%/100% 25%,#f8fafb;border:1px solid #d9e2e7;border-radius:8px;min-height:150px;padding:14px;position:relative}.sensorLineChart svg{width:100%;height:120px;display:block;overflow:visible}.sensorLineChart polyline{fill:none;stroke:#1f9a73;stroke-linecap:round;stroke-linejoin:round;stroke-width:3px;vector-effect:non-scaling-stroke}.sensorLineChart circle{fill:#fff;stroke:#2a6fba;stroke-width:2px;vector-effect:non-scaling-stroke}.lineChartAxis{grid-template-columns:1fr auto 1fr;gap:10px;margin-top:8px;display:grid}.lineChartAxis span,.lineChartAxis b{color:#657781;font-size:11px}.lineChartAxis b{color:#102027;text-transform:uppercase}.lineChartAxis span:last-child{text-align:right}.telemetryHistoryPanel{padding:0;overflow:hidden}.telemetryHistoryHeader{border-bottom:1px solid #d9e2e7;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.telemetryHistoryHeader h2{margin:2px 0 3px;font-size:22px}.telemetryHistoryHeader p:last-child{color:#657781;font-size:12px}.historyFilters{background:#f5f8f9;border-bottom:1px solid #d9e2e7;grid-template-columns:minmax(160px,1fr) minmax(180px,1.25fr) minmax(130px,.75fr) minmax(170px,.9fr) minmax(170px,.9fr) auto;align-items:end;gap:10px;padding:14px 20px;display:grid}.historyFilters label{min-width:0}.historyFilters select,.historyFilters input{width:100%}.historyPresets{background:#fff;border:1px solid #ccd8df;border-radius:7px;min-height:40px;display:flex;overflow:hidden}.historyPresets button{color:#30434d;cursor:pointer;background:#fff;border:0;border-right:1px solid #d9e2e7;min-width:52px;font-size:11px;font-weight:750}.historyPresets button:last-child{border-right:0}.historyPresets button:hover{color:#0c6556;background:#eaf4f2}.historyStats{border-bottom:1px solid #d9e2e7;grid-template-columns:repeat(4,minmax(0,1fr));padding:0 20px;display:grid}.historyStats>div{border-right:1px solid #e2eaed;min-height:96px;padding:17px 20px}.historyStats>div:first-child{padding-left:0}.historyStats>div:last-child{border-right:0}.historyStats span,.historyStats strong,.historyStats em{display:block}.historyStats span{color:#657781;text-transform:uppercase;font-size:11px;font-weight:750}.historyStats strong{color:#102027;margin-top:4px;font-size:25px}.historyStats em{color:#71818a;margin-top:3px;font-size:10px;font-style:normal}.historyTabs{border-bottom:1px solid #d9e2e7;gap:24px;min-height:48px;padding:0 20px;display:flex}.historyTabs button{color:#657781;cursor:pointer;font:inherit;background:0 0;border:0;font-size:13px;font-weight:750;position:relative}.historyTabs button.active{color:#0c6556}.historyTabs button.active:after{content:"";background:#1f9a73;height:3px;position:absolute;bottom:0;left:0;right:0}.telemetryTrendChart{background:#fff;min-height:390px;padding:14px 20px 18px}.trendLegend{color:#52646e;justify-content:space-between;align-items:center;gap:12px;padding:0 8px 2px 55px;font-size:12px;display:flex}.trendLegend span{align-items:center;gap:7px;font-weight:750;display:flex}.trendLegend i{background:#2a6fba;width:18px;height:3px}.trendLegend em{font-style:normal}.trendContext{color:#71818a;justify-content:space-between;align-items:center;gap:12px;min-height:26px;margin:0 8px 2px 55px;font-size:11px;display:flex}.trendContext span,.trendContext b{align-items:center;min-height:22px;display:inline-flex}.trendContext b{color:#8a5a07;background:#fff8ea;border:1px solid #f0d6a3;border-radius:999px;padding:0 9px;font-weight:750}.telemetryTrendChart svg{width:100%;height:330px;display:block;overflow:visible}.trendGridLine line{stroke:#dde6ea;stroke-width:1px;vector-effect:non-scaling-stroke}.trendGridLine text,.trendDateLabel{fill:#71818a;font-size:11px}.trendAxis{stroke:#aebdc4;stroke-width:1px;vector-effect:non-scaling-stroke}.trendArea{fill:#2a6fba17}.trendLine{fill:none;stroke:#2a6fba;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5px;vector-effect:non-scaling-stroke}.trendPoint{fill:#fff;stroke:#1f9a73;stroke-width:2.5px;cursor:crosshair;vector-effect:non-scaling-stroke}.trendPoint:focus{stroke:#d99a20;outline:none}.trendTooltip>line{stroke:#90a3ad;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.trendTooltip rect{fill:#102027}.trendTooltip text{fill:#fff;font-size:13px;font-weight:750}.trendTooltip .trendTooltipDate{fill:#c3d9d7;font-size:10px;font-weight:500}.historyChartEmpty{place-items:center;min-height:360px;padding:20px;display:grid}.historyReadingList{max-height:420px;padding:8px 20px 18px;display:grid;overflow:auto}.historyReadingList>div:not(.emptyState){border-bottom:1px solid #e5ecef;grid-template-columns:minmax(140px,.6fr) minmax(180px,1fr) 100px;align-items:center;gap:12px;min-height:48px;display:grid}.historyReadingList span,.historyReadingList em{color:#657781;font-size:12px;font-style:normal}.siteCoverageList,.metricBreakdown{gap:8px;display:grid}.coverageRow,.metricBreakdownRow{text-align:left;cursor:pointer;background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;align-items:center;gap:10px;width:100%;min-height:58px;padding:10px 12px;display:grid}.coverageRow{grid-template-columns:minmax(0,1fr) 58px 92px}.metricBreakdownRow{grid-template-columns:minmax(0,1fr) 92px 74px 70px}.coverageRow.active,.metricBreakdownRow.active{background:#edf8f5;border-color:#0f766e;box-shadow:0 0 0 3px #0f766e14}.coverageRow strong,.coverageRow span,.metricBreakdownRow strong,.metricBreakdownRow span{display:block}.coverageRow span,.coverageRow em,.metricBreakdownRow span,.metricBreakdownRow em{color:#657781;font-size:12px;font-style:normal}.coverageRow b,.metricBreakdownRow b{color:#102027;text-align:right;font-size:18px}.coverageRow em,.metricBreakdownRow em{text-align:right}.anomalyGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.anomalyGrid div{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;align-content:center;gap:6px;min-height:106px;padding:14px;display:grid}.anomalyGrid strong{color:#102027;font-size:34px;line-height:1}.anomalyGrid span{color:#657781;font-size:12px}.telemetryExplorer{overflow:hidden}.telemetryFilters{background:#f8fafb;border:1px solid #d9e2e7;border-radius:8px;grid-template-columns:repeat(6,minmax(130px,1fr)) auto;align-items:end;gap:10px;margin-bottom:14px;padding:12px;display:grid}.telemetryColumns{grid-template-columns:minmax(180px,1.1fr) minmax(170px,1fr) minmax(100px,.6fr) minmax(80px,.45fr) 70px 100px minmax(140px,.8fr)}.paginationBar{border-top:1px solid #d9e2e7;grid-template-columns:minmax(150px,1fr) auto minmax(220px,1fr);align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:grid}.paginationBar>div{align-items:center;gap:8px;display:flex}.paginationBar>div:last-child{justify-content:flex-end}.paginationBar span{color:#657781;font-size:12px}.paginationBar select{width:86px}.tableRow strong small,.tableRow span small{color:#657781;margin-top:3px;font-size:11px;font-weight:500;display:block}.tableHead,.tableRow{align-items:center;gap:12px;padding:10px 12px;display:grid}.tableHead{color:#60717a;text-transform:uppercase;font-size:12px}.tableRow{background:#f8fafb;border-radius:8px}.five{grid-template-columns:1.2fr 1fr 1fr .8fr 1fr}.commandConsole{gap:12px;display:grid}.commandConsole div{gap:6px;display:grid}.timeline{gap:12px;display:grid}.timelineStep{grid-template-columns:34px 1fr;align-items:center;gap:10px;display:grid}.timelineStep span{color:#0c6556;background:#e4f4f1;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:800;display:grid}@media (width<=1100px){.loginShell{grid-template-columns:1fr}.loginVisual h1{font-size:38px}.loginStats,.appShell{grid-template-columns:1fr}.sidebar{min-height:auto}.navList{flex-wrap:wrap;gap:6px;display:flex}.navSection{flex-wrap:wrap;display:flex}.navSectionLabel,.portalIdentity{display:none}.navItem{justify-content:center}.navItem span{display:none}.kpiGrid,.queryGrid,.opsGrid,.accountsLayout,.accountsBusinessLayout,.commandsGrid,.alertsLayout,.adminLayout,.adminHero,.clientHero,.clientGrid,.zoneGrid,.maintenanceGrid,.catalogLayout,.billingCommandGrid,.billingOpsGrid,.billingLedgerGrid,.contractDetailGrid,.monitorHero,.monitorGrid{grid-template-columns:1fr}.topbarActions{flex-wrap:wrap}.tenantContext{min-width:min(100%,260px)}.integrationGrid,.reportGrid,.reportInsightGrid,.reportCoverCharts,.reportFilters,.executiveReportSummary,.alertInboxTabs,.telemetryInsightGrid,.siteFocusGrid,.onboardingTimeline,.planAssistantGrid,.connectionSteps,.connectionGrid,.connectionWorkbench,.connectionOpsGrid,.siteTopology,.gatewayOpsGrid,.sensorStarLayout,.modelDetailGrid,.pipeline,.catalogCreateGrid,.rulesGrid,.commercialContractForm,.commercialMiniForm,.commercialContractBuilder,.contractLifecycle,.accountLifecycleActions{grid-template-columns:1fr}.catalogFilters,.catalogFilters>div{grid-template-columns:1fr;align-items:stretch;display:grid}.reportInsightGrid .reportMapChart{grid-column:auto}.modelOpsHeader{flex-direction:column;align-items:stretch}.modelOpsHeader label{min-width:0}.modelSelectorControls{grid-template-columns:1fr;min-width:0}.modelSelectorControls>span{text-align:left;grid-column:1}.variableEditorHead{display:none}.variableEditorRow{grid-template-columns:1fr 1fr}.historyFilters{grid-template-columns:repeat(2,minmax(0,1fr))}.historyPresets{grid-column:1/-1}.historyStats{grid-template-columns:repeat(2,minmax(0,1fr))}.historyStats>div:nth-child(2){border-right:0}.historyStats>div:nth-child(-n+2){border-bottom:1px solid #e2eaed}.telemetryHistoryHeader{flex-direction:column;align-items:stretch}.meterBoard{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboardSensorToolbar,.dashboardSensorToolbar>div{flex-direction:column;align-items:stretch}.dashboardSensorToolbar select{max-width:none}.clientHeroStats{grid-template-columns:repeat(2,minmax(0,1fr))}.tenantRow,.five,.telemetryFilters,.telemetryColumns,.paginationBar,.userColumns,.billingColumns,.alertRow,.responseRow,.ruleFormInline,.ruleTableHead,.ruleTableRow,.ruleCard,.commandRow{grid-template-columns:1fr}.responseActions,.ruleFormActions,.ruleTableRow div{justify-content:flex-start}.topbar,.telemetryHeader,.storageHero,.maintenanceHero,.alertHero,.billingHero,.integrationHero,.reportsHero,.catalogHero{flex-direction:column;align-items:stretch}.telemetryActions{justify-content:stretch}.coverageRow,.metricBreakdownRow,.anomalyGrid,.activityControls,.sensorActivityBody,.siteMeterBoard,.siteChartBars span{grid-template-columns:1fr}.coverageRow b,.coverageRow em,.metricBreakdownRow b,.metricBreakdownRow em{text-align:left}.roleChips,.userForms{grid-template-columns:1fr;justify-content:stretch}.integrationKeyForm{flex-direction:column}.integrationKeyRow,.generatedKey{grid-template-columns:1fr}.planRecommendation{flex-direction:column;align-items:flex-start}.connectionStatusBar{flex-direction:column;align-items:stretch}.connectionBadge{text-align:left;min-width:0}.formRow.two,.endpointBox>div,.payloadTable>div,.connectionTableHead,.connectionTableRow{grid-template-columns:1fr}.mqttConnectionRow,.queueFeed>div:not(.emptyState){grid-template-columns:42px minmax(0,1fr)}.queueStats{grid-template-columns:repeat(2,minmax(0,1fr))}.connectionActions{justify-content:stretch}.catalogRow{grid-template-columns:1fr}.siteKpis,.gatewayDeviceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalogPageHeader,.gatewayOpsHeader{flex-direction:column;align-items:stretch}.gatewayOpsHeader label{min-width:0}.catalogForm{grid-template-columns:1fr}.navGroup,.navChildren{display:contents}.navItem.navChild{padding-left:11px}.searchBox{width:100%}}@media print{@page{size:letter;margin:12mm}body{background:#fff}.sidebar,.topbar,.printableReport>.panelHeader,.screenReportTable,.executiveReportSummary,.paginationBar,.noPrint{display:none!important}.printOnly{display:grid!important}.appShell{display:block}.mainArea{padding:0}.panel,.metric{box-shadow:none;break-inside:avoid}.reportsConsole{gap:12px}.printableReport{border:0;padding:0}.reportCoverPage{break-after:page;min-height:calc(100vh - 24mm);padding:0}.reportCoverPage .reportTrendCard{min-height:168px}.reportCoverPage .reportTrendCard svg{min-height:126px}.reportWorkbench,.reportTable{overflow:visible}.reportTableHead,.reportTableRow{break-inside:avoid;page-break-inside:avoid;min-width:0}.reportTableHead{padding:7px 8px;font-size:8px}.reportTableRow{padding:6px 8px;font-size:9px}.reportTableRow span{white-space:normal;text-overflow:initial;overflow-wrap:anywhere;overflow:visible}}
