*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7fa;color:#172033;overflow:hidden}button,input,select{font:inherit}.app{height:100vh;display:grid;grid-template-columns:224px minmax(660px,1fr) 360px;grid-template-rows:64px 1fr;transition:grid-template-columns .25s ease}.app.sidebarCollapsed{grid-template-columns:72px minmax(720px,1fr) 360px}.topbar{grid-column:1/-1;height:64px;background:#fff;border-bottom:1px solid #e7ebf0;display:flex;align-items:center;padding:0 16px;gap:16px;z-index:20}.brand{display:flex;align-items:center;gap:10px;min-width:190px}.brandMark{width:34px;height:34px;border-radius:11px;background:#2563eb;color:#fff;display:grid;place-items:center;font-weight:800}.brand strong{font-size:18px}.brand strong span{color:#2563eb}.siteSelector{height:42px;border:1px solid #e3e7ed;background:#fff;border-radius:12px;display:flex;align-items:center;gap:9px;padding:0 12px;min-width:250px;text-align:left}.siteSelector>span:nth-child(2){display:grid;flex:1}.siteSelector b{font-size:12px}.siteSelector small{font-size:10px;color:#758094}.diamond{color:#2563eb;font-size:18px}.topnav{height:64px;display:flex;align-items:stretch;gap:4px;flex:1;overflow:hidden}.topnav a{display:flex;align-items:center;padding:0 10px;font-size:12px;color:#626d7e;white-space:nowrap;position:relative}.topnav a.active{color:#2563eb;font-weight:700}.topnav a.active:after{content:"";height:2px;background:#2563eb;position:absolute;left:8px;right:8px;bottom:0}.editorNav{font-weight:700}.topActions{display:flex;align-items:center;gap:8px}.searchBox{width:245px;height:38px;border:1px solid #e3e7ed;border-radius:11px;background:#fafbfc;display:flex;align-items:center;padding:0 10px;color:#8b95a5}.searchBox input{border:0;background:transparent;outline:0;width:100%;padding-left:7px;font-size:11px}.liveBadge,.notification{height:38px;border:1px solid #e3e7ed;border-radius:10px;background:#fff}.liveBadge{padding:0 12px;color:#178f50}.liveBadge i{display:inline-block;width:7px;height:7px;background:#22c55e;border-radius:50%;margin-right:5px}.notification{width:38px;position:relative}.notification b{position:absolute;right:-5px;top:-6px;background:#ef4444;color:#fff;border-radius:10px;font-size:9px;padding:2px 5px}.userBlock{display:flex;align-items:center;gap:8px}.avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef3ff;color:#2563eb;font-weight:700;font-size:11px}.userBlock>div:last-child{display:grid}.userBlock b{font-size:11px}.userBlock select{border:0;background:transparent;color:#758094;font-size:9px;outline:0;max-width:120px}.sidebar{grid-row:2;background:#fff;border-right:1px solid #e7ebf0;padding:16px 12px 14px;display:flex;flex-direction:column;justify-content:space-between;min-width:0}.sidebar>div:first-child,.sidebarBottom{display:grid;gap:5px}.sidebar button{height:46px;border:0;border-radius:11px;background:transparent;display:grid;grid-template-columns:34px 1fr auto;align-items:center;text-align:left;padding:0 10px;color:#5f6b7d}.sidebar button.active{background:#edf3ff;color:#2563eb}.sidebar button span{font-size:18px;text-align:center}.sidebar button b{font-size:12px;font-weight:580}.sidebar button em{font-style:normal;font-size:9px;background:#eef3ff;color:#2563eb;border-radius:10px;padding:3px 6px}.sidebarBottom{border-top:1px solid #edf0f4;padding-top:10px}.sidebarUser{display:flex;align-items:center;gap:9px;padding:10px}.avatar.small{width:30px;height:30px}.sidebarUser span{display:grid}.sidebarUser b{font-size:10px}.sidebarUser small{font-size:9px;color:#22a55b}.sidebar.collapsed{padding-left:8px;padding-right:8px}.sidebar.collapsed button{grid-template-columns:1fr;padding:0}.sidebar.collapsed button b,.sidebar.collapsed button em,.sidebar.collapsed .sidebarUser span{display:none}.sidebar.collapsed .sidebarUser{justify-content:center}.main{grid-row:2;padding:14px;display:grid;grid-template-rows:minmax(0,1fr) 96px;gap:12px;min-width:0;overflow:hidden}.commandPanel{background:#fff;border:1px solid #e6eaf0;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px #0f172a0b;display:grid;grid-template-rows:auto 1fr}.canvasHeader{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 18px 10px}.canvasHeader p{margin:0 0 5px;font-size:10px;color:#7b8798}.canvasHeader h1{font-size:18px;margin:0}.canvasHeader small{font-size:10px;color:#7b8798}.canvasHeader>div:last-child{display:flex;gap:7px}.canvasHeader button{width:36px;height:36px;border:1px solid #e3e7ed;background:#fff;border-radius:10px}.canvasWrap{position:relative;min-height:0;background:radial-gradient(circle at 50% 40%,#fff 10%,#f8fafc);overflow:hidden}.canvasWrap canvas{display:block}.floorControls{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:grid;gap:7px}.floorControls button{width:46px;height:42px;border:1px solid #e3e7ed;border-radius:12px;background:#fffffff2;box-shadow:0 5px 18px #0f172a0f;font-size:11px}.floorControls button.active{border-color:#4e87ff;background:#eef4ff;color:#2563eb;font-weight:700}.floorControls button:disabled{opacity:.35}.canvasHint{position:absolute;left:18px;bottom:22px;font-size:10px;color:#7a8596}.canvasDock{position:absolute;left:50%;bottom:16px;transform:translate(-50%);display:flex;gap:4px;padding:6px;background:#fffffff5;border:1px solid #e3e7ed;border-radius:14px;box-shadow:0 10px 30px #0f172a14}.canvasDock button{height:34px;border:0;background:transparent;border-radius:9px;color:#657184;padding:0 10px}.canvasDock button.active{background:#eef4ff;color:#2563eb}.sceneLabel{background:#fffffff5;border:1px solid #dfe5ec;border-radius:12px;box-shadow:0 10px 28px #0f172a1f;padding:7px 9px;display:flex;gap:7px;min-width:142px;pointer-events:none}.sceneLabel>span{width:21px;height:21px;border-radius:50%;background:#2563eb;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:700}.sceneLabel>div{display:grid}.sceneLabel b{font-size:9px}.sceneLabel small{font-size:8px;color:#748094}.sceneLabel i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e}.sceneLabel i.warning{background:#f59e0b}.sceneLabel i.critical{background:#ef4444}.statusStrip{background:#fff;border:1px solid #e6eaf0;border-radius:18px;display:grid;grid-template-columns:1.25fr repeat(4,1fr);overflow:hidden}.statusStrip button{border:0;border-right:1px solid #edf0f4;background:#fff;display:flex;align-items:center;gap:10px;padding:12px;text-align:left}.statusStrip button:last-child{border-right:0}.statusStrip button>span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}.statusStrip .green{background:#eaf9f0;color:#18a55a}.statusStrip .red{background:#fff0f0;color:#ef4444}.statusStrip .blue{background:#edf3ff;color:#2563eb}.statusStrip .amber{background:#fff6e3;color:#f59e0b}.statusStrip .mint{background:#eaf9f2;color:#16966a}.statusStrip button>div{display:grid}.statusStrip small{text-transform:uppercase;font-size:8px;letter-spacing:.4px;color:#8993a3}.statusStrip strong{font-size:13px}.statusStrip em{font-style:normal;font-size:9px;color:#778294}.drawer{grid-row:2;background:#fff;border-left:1px solid #e7ebf0;padding:16px;overflow:auto;min-width:0;transition:.25s}.drawer:not(.open){transform:translate(100%);opacity:0;pointer-events:none}.drawerHeader{display:flex;justify-content:space-between;padding-bottom:12px;border-bottom:1px solid #edf0f4}.drawerTitleRow{display:flex;gap:10px}.drawerCode{width:36px;height:36px;border-radius:10px;background:#eef4ff;color:#2563eb;display:grid;place-items:center;font-size:10px;font-weight:700}.drawerHeader h2{margin:0 0 4px;font-size:16px}.drawerHeader p{margin:0;color:#778294;font-size:9px}.drawerHeader>button{border:0;background:transparent;font-size:22px;color:#8d97a6}.statusPill{display:inline-block;margin:12px 0;padding:5px 9px;border-radius:20px;font-size:10px}.statusPill.healthy{background:#eaf9f0;color:#178f50}.statusPill.warning{background:#fff5df;color:#b87400}.statusPill.critical{background:#fff0f0;color:#d63434}.drawerTabs{display:flex;border-bottom:1px solid #edf0f4;overflow:auto}.drawerTabs button{border:0;background:transparent;padding:9px 8px;color:#778294;font-size:10px;white-space:nowrap}.drawerTabs button.active{color:#2563eb;border-bottom:2px solid #2563eb}.roleNotice{margin:14px 0 10px;padding:10px;border-radius:10px;background:#edf4ff;color:#2a60b9;font-size:10px}.metricGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.metricCard{border:1px solid #e4e8ee;border-radius:11px;padding:11px}.metricCard small{display:block;font-size:9px;color:#7d8797;margin-bottom:5px}.metricCard strong{font-size:15px}.sectionHeading{display:flex;justify-content:space-between;align-items:center;margin:17px 0 9px;text-transform:uppercase;font-size:10px;letter-spacing:.35px}.sectionHeading a{color:#2563eb;text-transform:none;font-size:9px}.alertCard{border:1px solid #f1d4d4;background:#fff8f8;border-radius:12px;padding:12px}.alertCard b{color:#d43a3a;font-size:11px}.alertCard p{font-size:10px}.alertCard small{font-size:9px;color:#8a94a4}.actionGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actionGrid button{min-height:42px;border:1px solid #e1e6ed;background:#fff;border-radius:10px;text-align:left;padding:9px;font-size:10px}.healthBlock{display:flex;gap:14px;align-items:center;padding:14px;background:#f8fafc;border:1px solid #edf0f4;border-radius:14px;margin-top:14px}.healthScore{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;border:8px solid #51c982;font-size:20px;font-weight:700}.healthBlock h3{font-size:12px;margin:0 0 4px}.healthBlock p{font-size:9px;color:#778294;margin:0}@media(max-width:1380px){.app{grid-template-columns:72px minmax(610px,1fr) 330px}.sidebar{padding-left:8px;padding-right:8px}.sidebar button{grid-template-columns:1fr;padding:0}.sidebar button b,.sidebar button em,.sidebarUser span{display:none}.sidebarUser{justify-content:center}.siteSelector{display:none}.brand{min-width:150px}.topnav a{padding:0 7px}.searchBox{width:185px}}@media(max-width:1120px){.app{grid-template-columns:72px 1fr 0}.drawer{position:fixed;right:0;top:64px;bottom:0;width:350px;z-index:30;box-shadow:-16px 0 40px #0f172a1f}.topnav a:not(.active):not(.editorNav){display:none}.searchBox{width:170px}}.app,.main,.sidebar,.commandPanel,.canvasWrap,.threeCanvasHost{min-width:0;min-height:0}.sidebar>div:first-child{min-height:0;overflow:auto;padding-right:2px}.sidebarNavGroups{align-content:start;gap:7px!important}.sidebarGroup{display:grid;gap:3px}.sidebarGroupToggle{height:24px!important;grid-template-columns:20px 1fr!important;padding:0 8px!important;border-radius:7px!important;color:#8a96a8!important;background:transparent!important}.sidebarGroupToggle span{font-size:11px!important}.sidebarGroupToggle b{font-size:7px!important;font-weight:850!important;letter-spacing:.65px;text-transform:uppercase}.sidebarGroupToggle.activeGroup{color:#2563eb!important}.sidebarGroupItems{display:grid;gap:5px}.sidebar.collapsed .sidebarGroupToggle{height:6px!important;min-height:6px;pointer-events:none;opacity:.2}.sidebar.collapsed .sidebarGroupToggle span,.sidebar.collapsed .sidebarGroupToggle b{display:none!important}.canvasWrap,.threeCanvasHost{width:100%!important;height:100%!important}.app{grid-template-columns:224px minmax(660px,1fr) 306px}.app.sidebarCollapsed{grid-template-columns:72px minmax(720px,1fr) 306px}.app.drawerClosed{grid-template-columns:224px minmax(760px,1fr) 0}.app.sidebarCollapsed.drawerClosed{grid-template-columns:72px minmax(820px,1fr) 0}@media(max-width:1380px){.app{grid-template-columns:72px minmax(610px,1fr) 281px}}.threeCanvasHost{position:absolute;inset:0;overflow:hidden;background:#fff;contain:strict}.drawer{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);overflow:hidden}.threeCanvasHost canvas{display:block;touch-action:none}.sceneLoading,.sceneFallback{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:24px;text-align:center;color:#526174;background:radial-gradient(circle at 50% 40%,#fff 10%,#f3f6fa);font-size:11px}.sceneLoading{z-index:2}.sceneFallback{z-index:7}.sceneFallback strong{color:#172033;font-size:14px}.sceneFallback p{max-width:300px;margin:0;line-height:1.5}.sceneFallback button{height:34px;padding:0 14px;border:1px solid #2563eb;border-radius:8px;background:#2563eb;color:#fff;font-size:10px;font-weight:700;cursor:pointer}.masterDataBackdrop{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;background:#0f172a61;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.masterDataPanel{width:min(1120px,100%);max-height:calc(100vh - 48px);overflow:auto;border-radius:18px;background:#fff;box-shadow:0 24px 80px #0f172a3d;padding:22px}.masterDataPanel>header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #edf0f4;padding-bottom:15px}.masterDataPanel header small{color:#7b8798;font-size:9px}.masterDataPanel header h2{margin:4px 0;font-size:20px}.masterDataPanel header p{margin:0;color:#778294;font-size:10px}.masterDataPanel header button{border:0;background:transparent;color:#657184;font-size:12px}.masterDataPanel header button:last-child{font-size:24px}.masterDataHeaderActions{display:flex;align-items:center;gap:12px}.masterDataHeaderActions .planSaveButton{height:34px;padding:0 16px;border:1px solid #2563eb;border-radius:10px;background:#2563eb;color:#fff;font-size:10px;font-weight:900}.masterDataStatus{display:flex;justify-content:space-between;align-items:center;min-height:36px;color:#5e6b7d;font-size:10px}.masterDataStatus button{border:0;background:transparent;color:#2563eb;font-size:10px;font-weight:700}.masterDataGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.masterDataCard{display:grid;align-content:start;gap:9px;padding:13px;border:1px solid #e1e7ee;border-radius:12px;background:#fbfcfe}.masterDataCard h3{margin:0 0 2px;font-size:12px}.masterDataCard label,.masterDataLogin label{display:grid;gap:4px;color:#748094;font-size:9px}.masterDataCard input,.masterDataCard select,.masterDataLogin input{width:100%;height:32px;border:1px solid #dbe2ea;border-radius:7px;background:#fff;padding:0 8px;color:#172033;font-size:10px}.masterDataCard .primaryButton,.masterDataLogin .primaryButton{width:100%;height:34px;margin-top:3px}.masterDataSummary{display:flex;gap:8px;margin-top:12px}.masterDataSummary strong{flex:1;padding:11px;border-radius:9px;background:#edf4ff;color:#2563eb;text-align:center;font-size:11px}.authPanel{width:min(420px,100%)}.masterDataLogin{display:grid;gap:12px;padding-top:18px}.masterDataError{margin:0;color:#dc2626;font-size:10px}.planDataPanel{width:min(1420px,100%);height:min(820px,calc(100vh - 48px));display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.planWorkspace{min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr) 250px;gap:14px;padding-top:14px}.planToolbar,.planInspector,.planCanvasPanel{min-height:0;border:1px solid #e1e7ee;border-radius:14px;background:#fbfcfe}.planToolbar,.planInspector{display:grid;align-content:start;gap:12px;overflow:auto;padding:12px}.planToolbar label,.planInspector label,.planToolCard label{display:grid;gap:5px;color:#748094;font-size:9px;font-weight:700}.planToolbar input,.planToolbar select,.planInspector input,.planInspector select,.planToolCard input,.planToolCard select{width:100%;height:32px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;padding:0 8px;color:#172033;font-size:10px;font-weight:600}.planToolButtons{display:grid;gap:7px}.planToolButtons button{height:36px;display:flex;align-items:center;gap:8px;border:1px solid #dbe2ea;border-radius:10px;background:#fff;color:#536176;font-size:10px;font-weight:800;cursor:pointer}.planToolButtons button.active{border-color:#9fc2ff;background:#edf4ff;color:#2563eb}.planToolButtons button span{width:20px;color:inherit;text-align:center;font-size:13px}.planToolCard{display:grid;gap:9px;padding:11px;border:1px solid #e4eaf2;border-radius:12px;background:#fff}.planToolCard h3{margin:0;color:#172033;font-size:12px}.planToolCard p{margin:0;color:#7b8798;line-height:1.45;font-size:9px}.planTwoFields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.planCounts{padding:10px;border-radius:10px;background:#edf4ff;color:#536176;line-height:1.5;font-size:10px;font-weight:700}.planCounts strong{color:#2563eb}.planResetButton,.planDangerButton{height:34px;border:1px solid #dbe2ea;border-radius:9px;background:#fff;color:#2563eb;font-size:10px;font-weight:800;cursor:pointer}.planDangerButton{border-color:#fecaca;color:#dc2626}.planCanvasPanel{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:radial-gradient(circle at 50% 0%,#fff,#f7faff 78%)}.planCanvasHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 13px;border-bottom:1px solid #e8eef6;color:#172033;font-size:11px;font-weight:900}.planCanvasHeader small{color:#7b8798;font-size:9px;font-weight:700}.planHistoryActions,.planViewportActions{display:flex;align-items:center;gap:7px}.planHistoryActions{margin-left:auto}.planHistoryActions button,.planViewportActions button{height:28px;display:inline-flex;align-items:center;gap:5px;border:1px solid #dbe2ea;border-radius:8px;background:#fff;color:#2563eb;padding:0 9px;font-size:9px;font-weight:850;cursor:pointer}.planViewportActions button{min-width:28px;justify-content:center;padding:0 8px}.planHistoryActions button:disabled,.planViewportActions button:disabled{color:#9aa7b8;background:#f7f9fc;cursor:not-allowed}.planViewportActions span{min-width:38px;color:#536176;text-align:center;font-size:9px;font-weight:900}.planHistoryActions em{min-width:14px;height:14px;display:inline-grid;place-items:center;border-radius:999px;background:#edf4ff;color:currentColor;font-style:normal;font-size:7px}.planCanvas{width:100%;height:100%;min-height:430px;touch-action:none;cursor:crosshair}.planCanvas.mode-select{cursor:grab}.planCanvas.mode-select:active{cursor:grabbing}.planCanvas text{pointer-events:none;paint-order:stroke;stroke:#ffffffe6;stroke-width:.08px}.planCanvas g{cursor:grab}.planCanvas g.selected{filter:drop-shadow(0 1px 2px rgba(37,99,235,.35))}.planResizeHandles rect,.planResizeHandles circle{pointer-events:auto;fill:#fff;stroke:#2563eb;stroke-width:.06;cursor:nwse-resize;filter:drop-shadow(0 .5px 1px rgba(15,23,42,.25))}.planWall line{pointer-events:stroke;cursor:pointer}.planWall.selected line{stroke:#2563eb}.planWall.drawing line{pointer-events:none}.planEntrance line,.planEntrance path{pointer-events:stroke}.planGroupBox rect{fill:#2563eb0a;stroke:#2563eb;stroke-width:.07;stroke-dasharray:.42 .28;pointer-events:all;cursor:move}.planGroupBox.selected rect{fill:#2563eb14;stroke-width:.1}.planGroupBox text{fill:#2563eb;font-size:.34px;font-weight:900}.planCutPreview rect{fill:#ef444429;stroke:#ef4444;stroke-width:.08;stroke-dasharray:.32 .2;pointer-events:none}.planCutPreview text{fill:#b91c1c;font-size:.34px;font-weight:900;pointer-events:none}.planToolCard .primaryButton:disabled{opacity:.48;cursor:not-allowed}.planInspector h3{margin:0;color:#172033;font-size:12px}.planInspector>small{margin-top:-8px;color:#94a3b8;font-size:9px;font-weight:800;text-transform:uppercase}.planInspector p{margin:0;color:#7b8798;font-size:10px}.canvasWrap{isolation:isolate}.canvasWrap:fullscreen{border-radius:0;background:#f8fafc}.sectionMain{grid-template-rows:minmax(0,1fr)}.sectionPage{min-width:0;overflow:auto;padding:28px;border:1px solid #e6eaf0;border-radius:18px;background:radial-gradient(circle at 50% 0%,#fff,#f7f9fc 90%);box-shadow:0 8px 30px #0f172a0b}.sectionPageHero{display:flex;align-items:center;gap:16px;max-width:760px;margin:7vh auto 34px}.sectionPageHero p{margin:0 0 6px;color:#7b8798;font-size:10px}.sectionPageHero h1{margin:0 0 8px;font-size:25px}.sectionPageHero small{color:#657184;font-size:11px;line-height:1.6}.sectionPageIcon{display:grid;flex:0 0 58px;width:58px;height:58px;place-items:center;border-radius:16px;background:#edf4ff;color:#2563eb;font-size:25px}.sectionPageGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:760px;margin:0 auto}.sectionPageGrid article{padding:15px;border:1px solid #e2e8f0;border-radius:12px;background:#fffc}.sectionPageGrid small{color:#8a94a4;text-transform:uppercase;letter-spacing:.4px;font-size:8px}.sectionPageGrid strong{display:block;margin:8px 0 5px;font-size:12px}.sectionPageGrid p{margin:0;color:#748094;font-size:10px;line-height:1.5}.editorPage{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto 1fr;border:1px solid #e6eaf0;border-radius:18px;background:#fff;box-shadow:0 8px 30px #0f172a0b}.editorToolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-bottom:1px solid #e7ebf0}.editorToolbar p{margin:0 0 4px;color:#7b8798;font-size:9px}.editorToolbar h1{margin:0 0 4px;font-size:18px}.editorToolbar small{color:#778294;font-size:9px}.editorToolbarActions{display:flex;align-items:center;gap:7px}.editorToolbarActions button{height:34px;padding:0 10px;border:1px solid #dfe5ec;border-radius:8px;background:#fff;color:#5f6d80;font-size:9px;font-weight:700}.editorToolbarActions button.active{background:#edf4ff;border-color:#bcd3ff;color:#2563eb}.editorToolbarActions .primaryButton{border-color:#2563eb;background:#2563eb;color:#fff}.editorSwitch{display:flex;align-items:center;gap:5px;color:#657184;font-size:9px}.editorWorkspace{min-height:0;display:grid;grid-template-columns:230px minmax(0,1fr) 245px}.editorHierarchy,.editorInspector{min-width:0;overflow:auto;padding:14px;background:#fbfcfe}.editorHierarchy{border-right:1px solid #e7ebf0}.editorInspector{border-left:1px solid #e7ebf0}.editorSectionHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;color:#273449;font-size:10px}.editorSectionHeader span{color:#8792a2;font-size:8px}.editorSectionHeader button{border:0;background:transparent;color:#dc2626;font-size:9px}.editorFloor{display:grid;gap:4px;margin-bottom:10px}.editorFloor>div{display:flex;justify-content:space-between;align-items:center;padding:7px;border-radius:7px;background:#edf4ff;color:#2563eb}.editorFloor>div b{font-size:10px}.editorFloor>div small{color:#6f86ac;font-size:8px}.editorFloor>div button{border:0;background:transparent;color:#2563eb;font-size:14px}.editorFloor>button,.editorRoom{border:0;border-radius:6px;padding:6px 8px;background:transparent;color:#657184;text-align:left;font-size:9px;cursor:pointer}.editorFloor>button:hover,.editorFloor>button.selected,.editorRoom:hover,.editorRoom.selected{background:#eaf1ff;color:#2563eb}.editorRoom{display:block;width:100%;margin-bottom:4px}.editorHierarchyActions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:15px}.editorHierarchyActions button{height:32px;border:1px dashed #b8c8dc;border-radius:7px;background:#fff;color:#2563eb;font-size:9px;font-weight:700}.editorCanvas{position:relative;min-width:0;overflow:hidden;background:radial-gradient(circle at 50% 44%,#fff,#f6f8fb 88%)}.editorGridBackdrop{position:absolute;inset:0;opacity:.7;background-image:linear-gradient(#e5ebf2 1px,transparent 1px),linear-gradient(90deg,#e5ebf2 1px,transparent 1px);background-size:32px 32px}.editorObject{position:absolute;z-index:1;transform:translate(-50%,-50%);min-width:105px;padding:8px 10px;border:1px solid #dbe3eb;border-radius:8px;background:#fffffff0;box-shadow:0 8px 20px #0f172a1a;color:#273449;font-size:9px;cursor:pointer}.editorObject i{display:inline-block;width:7px;height:7px;margin-right:5px;border-radius:50%;background:#22c55e}.editorObject.selected{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb24,0 10px 22px #0f172a1f}.editorObject.readonly{cursor:default}.editorCanvasHint{position:absolute;left:14px;bottom:12px;z-index:2;color:#8590a0;font-size:9px}.editorInspector label{display:grid;gap:4px;margin-bottom:12px;color:#748094;font-size:9px}.editorInspector input,.editorInspector select{height:31px;border:1px solid #dbe2ea;border-radius:7px;padding:0 8px;background:#fff;color:#172033;font-size:10px}.inspectorGroup{display:grid;gap:5px;margin-bottom:13px;color:#748094;font-size:9px}.inspectorGroup>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.emptyInspector{color:#8490a1;font-size:10px;line-height:1.5}.revisionBadge{display:inline-block;padding:5px 7px;border-radius:10px;background:#eaf9f0;color:#16834a;font-size:8px}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.canvasWrap>.floorControls,.canvasWrap>.canvasHint,.canvasWrap>.canvasDock{z-index:5}.canvasHeaderActions{align-items:center}.stackedToggle{height:36px;display:flex;align-items:center;gap:8px;padding:0 9px;border:1px solid #dfe5ec;border-radius:8px;color:#657184;font-size:10px;font-weight:700;cursor:pointer}.stackedToggle input{position:absolute;opacity:0;pointer-events:none}.stackedToggle i{position:relative;width:30px;height:17px;border-radius:10px;background:#cbd3dd;transition:background .2s ease}.stackedToggle i:after{content:"";position:absolute;width:13px;height:13px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a33;transition:transform .2s ease}.stackedToggle input:checked+i{background:#2563eb}.stackedToggle input:checked+i:after{transform:translate(13px)}.spatialLabels{position:absolute;inset:0;z-index:4;pointer-events:none}.facilityLabel,.assetLabel{position:absolute;--label-scale: .72;--label-detail-opacity: 1;transform:translate(10px,-105%) scale(var(--label-scale));transform-origin:left bottom;pointer-events:auto;border:1px solid #d9e1ea;background:#fffffff5;box-shadow:0 5px 16px #0f172a1c;color:#172033;display:flex;align-items:center;text-align:left;cursor:pointer;left:50%;top:50%;will-change:left,top,transform}.facilityLabel{min-width:108px;min-height:32px;border-radius:7px;padding:5px 8px;gap:6px;border-left:3px solid var(--zone-color)}.facilityLabel:hover,.assetLabel:hover{border-color:var(--zone-color, #2563eb);transform:translate(10px,-105%) translateY(-2px) scale(calc(var(--label-scale) + .04))}.facilityLabel[data-anchor-side=right],.assetLabel[data-anchor-side=right]{transform:translate(calc(-100% - 10px),-105%) scale(var(--label-scale));transform-origin:right bottom}.facilityLabel[data-anchor-side=right]:hover,.assetLabel[data-anchor-side=right]:hover{transform:translate(calc(-100% - 10px),-105%) translateY(-2px) scale(calc(var(--label-scale) + .04))}.facilityLabel i{width:7px;height:7px;border-radius:50%;background:#22c55e;flex:0 0 7px}.facilityLabel.warning i{background:#f59e0b}.facilityLabel.critical i{background:#ef4444}.facilityLabel span,.assetLabel span:last-child{display:grid;min-width:0}.facilityLabel b,.assetLabel b{max-width:120px;overflow:hidden;text-overflow:ellipsis;font-size:9px;line-height:1.05;white-space:nowrap}.facilityLabel small,.assetLabel small{max-width:112px;overflow:hidden;color:#738094;font-size:7px;line-height:1.1;opacity:var(--label-detail-opacity);white-space:nowrap}.facilityLabel.stackedLabel{min-width:0;min-height:32px;max-width:126px;padding:5px 8px;gap:6px;box-shadow:0 5px 14px #0f172a1a}.facilityLabel.stackedLabel b{max-width:96px;overflow:hidden;text-overflow:ellipsis}.facilityLabel.stackedLabel small{display:none}.facilityLabel.stackedLabel.floor-lt3{opacity:.96}.facilityLabel.stackedLabel.floor-lt2{opacity:.68}.facilityLabel.stackedLabel.floor-lt1{opacity:.42}.facilityLabel.stackedLabel:hover{opacity:1;z-index:2}.assetLabel{min-width:118px;border-radius:7px;padding:5px 8px;gap:6px}.assetLabel.missing{border-left:3px solid #ef4444}.assetLabel.due{border-left:3px solid #f59e0b}.assetLabel.verified{border-left:3px solid #22a55b}.rfidSignal{color:#2563eb;font-size:8px;font-weight:800;transform:rotate(180deg)}.backToFloor{position:absolute;z-index:6;top:14px;left:18px;height:36px;padding:0 12px;border:1px solid #dbe3ec;border-radius:8px;background:#fffffff5;color:#2563eb;font-size:10px;font-weight:700;box-shadow:0 5px 16px #0f172a14}.modalBackdrop{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:#0f172a5c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.facilityModal{width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:8px;background:#fff;box-shadow:0 24px 70px #0f172a40;border-top:4px solid var(--zone-color);padding:20px}.facilityModal header{display:grid;grid-template-columns:44px 1fr 32px;align-items:center;gap:11px}.facilityModal header h2{margin:2px 0 0;font-size:18px}.facilityModal header small{color:#778294;font-size:9px}.modalIcon{width:44px;height:44px;display:grid;place-items:center;border-radius:7px;background:color-mix(in srgb,var(--zone-color) 14%,white);color:var(--zone-color);font-weight:800}.modalClose{border:0;background:transparent;color:#7d8795;font-size:24px}.modalStatusRow{display:flex;align-items:center;gap:12px;border-bottom:1px solid #edf0f4;padding:8px 0 14px;color:#657184;font-size:10px}.modalMetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.modalMetrics div{border:1px solid #e3e8ef;border-radius:7px;padding:11px;display:grid;gap:5px}.modalMetrics small{color:#7c8797;font-size:8px}.modalMetrics strong{font-size:13px}.assetPreviewList{display:grid;border-top:1px solid #edf0f4}.assetPreviewList>div{display:flex;align-items:center;gap:9px;padding:10px 2px;border-bottom:1px solid #edf0f4}.assetPreviewList i{width:8px;height:8px;border-radius:50%;background:#22a55b}.assetPreviewList i.due{background:#f59e0b}.assetPreviewList i.missing{background:#ef4444}.assetPreviewList i.found{background:#16a34a}.assetPreviewList i.notFound{background:#ef4444}.assetPreviewList span{display:grid}.assetPreviewList b{font-size:10px}.assetPreviewList small{color:#778294;font-size:8px}.assetPreviewList>div.scanning{animation:scanPulse 1s ease-in-out infinite}.assetPreviewList em{margin-left:auto;font-style:normal;font-size:9px;font-weight:700;padding:4px 7px;border-radius:10px}.assetPreviewList em.found{color:#15803d;background:#eaf9f0}.assetPreviewList em.notFound{color:#dc2626;background:#fff0f0}.facilityModal footer{display:flex;justify-content:flex-end;gap:8px;padding-top:16px}.facilityModal footer button{height:38px;border-radius:7px;padding:0 14px;font-size:10px;font-weight:700}.secondaryButton{border:1px solid #dce3eb;background:#fff;color:#5e6a7c}.primaryButton{border:1px solid #2563eb;background:#2563eb;color:#fff}.scanButton{border:1px solid #2563eb;background:#eef4ff;color:#2563eb}.scanButton:disabled{opacity:.65;cursor:wait}.primaryButton:disabled{opacity:.65;cursor:wait}.primaryButton span{margin-left:8px}.deviceControl,.climateControl{margin-top:14px;padding:13px;border:1px solid #dfe5ec;border-radius:8px;background:#f8fafc}.deviceControl.armed{border-color:#b9e7cc;background:#f2fbf6}.deviceControl.unarmed{border-color:#fecaca;background:#fff7f7}.controlHeading{display:flex;align-items:center;justify-content:space-between;gap:10px}.controlHeading>div{display:grid;gap:3px}.controlHeading small{font-size:8px;color:#7c8797;text-transform:uppercase}.controlHeading strong{font-size:12px}.deviceControl p{color:#687588;font-size:9px;line-height:1.45;margin:10px 0}.controlSwitch{position:relative;width:38px;height:21px;flex:0 0 38px}.controlSwitch input{position:absolute;opacity:0}.controlSwitch i{position:absolute;inset:0;border-radius:12px;background:#cbd3dd;cursor:pointer;transition:.2s}.controlSwitch i:after{content:"";position:absolute;width:17px;height:17px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0f172a40;transition:transform .2s}.controlSwitch input:checked+i{background:#16a34a}.controlSwitch input:checked+i:after{transform:translate(17px)}.controlState{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(100,116,139,.16);padding-top:9px}.controlState span{font-size:9px;font-weight:800;color:#16a34a}.unarmed .controlState span{color:#dc2626}.controlState small{color:#778294;font-size:8px}.controlLive{color:#15803d;background:#dcfce7;border-radius:10px;padding:4px 7px;font-size:8px;font-weight:800}.temperatureControl{display:grid;grid-template-columns:34px 1fr 34px;align-items:center;gap:12px;margin:12px 0 8px}.temperatureControl button{width:34px;height:34px;border:1px solid #dbe2ea;border-radius:50%;background:#fff;color:#2563eb;font-size:17px}.temperatureGauge{justify-self:center;width:82px;height:82px;border-radius:50%;display:grid;place-content:center;text-align:center;position:relative;background:conic-gradient(#2563eb var(--temperature-progress),#e5eaf0 0)}.temperatureGauge:after{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff}.temperatureGauge strong,.temperatureGauge small{position:relative;z-index:1}.temperatureGauge strong{font-size:20px}.temperatureGauge small{color:#778294;font-size:7px}.temperatureRange{width:100%;accent-color:#2563eb}.rangeLabels{display:flex;justify-content:space-between;color:#8590a0;font-size:7px}@keyframes scanPulse{50%{opacity:.42}}.healthScore{flex:0 0 68px;width:68px;height:68px;aspect-ratio:1}.healthBlock>div:last-child{min-width:0}@media(max-height:760px){.main{grid-template-rows:minmax(420px,1fr) 88px}}@media(max-width:900px){.facilityLabel{min-width:105px;padding:6px}.facilityLabel small{display:none}.modalMetrics{grid-template-columns:1fr}}@media(max-width:760px){.app,.app.sidebarCollapsed,.app.drawerClosed,.app.sidebarCollapsed.drawerClosed{grid-template-columns:56px minmax(0,1fr) 0;grid-template-rows:58px minmax(0,1fr)}.topbar{height:58px;padding:0 10px;gap:8px}.brand{min-width:34px}.brand strong,.topnav,.liveBadge,.userBlock>div:last-child{display:none}.topActions{margin-left:auto}.searchBox{width:34px;padding:0 9px}.searchBox input{display:none}.main{padding:8px;grid-template-rows:minmax(360px,1fr) 150px;gap:8px}.commandPanel{border-radius:12px}.canvasHeader{padding:12px}.canvasHeader h1{font-size:16px}.canvasHeaderActions{gap:4px}.canvasHeader button{width:32px;height:32px}.stackedToggle{padding:0 6px}.floorControls{right:8px}.canvasDock{bottom:8px;max-width:calc(100% - 16px);overflow-x:auto}.canvasDock button{padding:0 7px}.canvasHint{left:10px;bottom:60px;max-width:50%;line-height:1.4}.statusStrip{grid-template-columns:repeat(2,minmax(150px,1fr));overflow:auto}.drawer{top:58px;width:min(306px,100vw)}.masterDataBackdrop{padding:10px}.masterDataPanel{max-height:calc(100vh - 20px);padding:14px;border-radius:12px}.masterDataGrid{grid-template-columns:1fr}.masterDataSummary{display:grid;grid-template-columns:1fr 1fr}.planDataPanel{height:calc(100vh - 20px)}.planWorkspace{grid-template-columns:1fr;overflow:auto}.planCanvas{min-height:360px}.sectionPage{padding:16px;border-radius:12px}.sectionPageHero{margin:4vh auto 24px}.sectionPageHero h1{font-size:20px}.sectionPageGrid{grid-template-columns:1fr}.editorPage{border-radius:12px}.editorToolbar{align-items:flex-start;flex-direction:column;padding:12px}.editorToolbarActions{flex-wrap:wrap}.editorWorkspace{grid-template-columns:1fr;grid-template-rows:190px minmax(300px,1fr) auto}.editorHierarchy{border-right:0;border-bottom:1px solid #e7ebf0}.editorInspector{border-left:0;border-top:1px solid #e7ebf0}}.topActions{margin-left:auto}.editor3dWorkspace{grid-template-columns:282px minmax(0,1fr) 292px}.editor3dCanvas{background:#f7f9fc}.editor3dCanvas canvas{display:block;width:100%;height:100%}.editorAddPrimary{width:100%;min-height:35px;margin-bottom:10px;border:1px solid #bcd2ee;border-radius:8px;background:#edf4ff;color:#2563eb;font-size:9px;font-weight:750;cursor:pointer}.editorTreeBuilding{display:grid;gap:3px;margin-bottom:9px;padding:5px;border:1px solid #e2e8ef;border-radius:9px;background:#fff}.editorTreeBuilding>button:first-child,.editorTreeFloor>button:first-child{min-width:0;min-height:31px;display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:4px;padding:5px 7px;border:0;border-radius:6px;background:transparent;color:#526074;text-align:left;cursor:pointer}.editorTreeBuilding>button:first-child b,.editorTreeFloor>button:first-child b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.editorTreeBuilding>button:first-child small,.editorTreeFloor>button:first-child small{color:#8a96a6;font-size:7px}.editorTreeBuilding button.selected,.editorTreeFloor button.selected,.editorTreeObject.selected{background:#eaf2ff!important;color:#2563eb!important}.editorTreeFloor{display:grid;gap:2px;margin-left:11px;padding-left:5px;border-left:1px solid #dce4ed}.editorTreeObject{min-width:0;min-height:25px;display:flex;align-items:center;gap:6px;padding:4px 8px 4px 24px;border:0;border-radius:5px;background:transparent;color:#667387;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:8px;cursor:pointer}.editorTreeObject i{width:7px;height:7px;flex:0 0 7px;border-radius:2px}.editorTreeAdd{min-height:27px;margin-left:15px;border:0;background:transparent;color:#2563eb;text-align:left;font-size:8px;cursor:pointer}.editorLibraryHeader{position:sticky;top:-14px;z-index:3;margin:10px -14px 0;padding:12px 14px 7px;border-top:1px solid #e7ebf0;background:#fbfcfe}.editorLibraryHeader .editorSectionHeader{margin-bottom:8px}.editorLibraryHeader input{width:100%;height:31px;border:1px solid #dce3eb;border-radius:7px;padding:0 8px;color:#334155;font-size:9px}.editorCategoryTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-bottom:8px}.editorCategoryTabs button{min-width:0;height:34px;display:grid;place-items:center;border:1px solid #e0e6ed;border-radius:7px;background:#fff;color:#728095;font-size:12px;cursor:pointer}.editorCategoryTabs button span{display:none}.editorCategoryTabs button.active{border-color:#9ec0f7;background:#eaf2ff;color:#2563eb}.editorLibraryList{display:grid;gap:4px;padding-bottom:12px}.editorLibraryList>button{min-height:38px;display:grid;grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 8px;border:1px solid #e1e7ee;border-radius:7px;background:#fff;color:#46556a;text-align:left;cursor:pointer}.editorLibraryList>button:disabled{opacity:.45;cursor:not-allowed}.editorLibraryList>button>i{width:10px;height:22px;border-radius:3px}.editorLibraryList>button>span{display:grid;min-width:0}.editorLibraryList b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.editorLibraryList small{color:#8b96a5;text-transform:capitalize;font-size:7px}.editorLibraryList em{color:#2563eb;font-style:normal;font-size:14px}.editor3dLabel{display:inline-block;padding:4px 7px;border:1px solid #dce4ec;border-radius:6px;background:#ffffffeb;box-shadow:0 4px 12px #0f172a14;color:#536176;white-space:nowrap;font-size:8px;font-weight:700}.editor3dLabel.selected{border-color:#86acf1;color:#2563eb}.editorTransformDock{position:absolute;z-index:5;left:50%;bottom:15px;display:flex;gap:4px;padding:5px;transform:translate(-50%);border:1px solid #dce3eb;border-radius:11px;background:#fffffff2;box-shadow:0 8px 25px #0f172a1a}.editorTransformDock button{height:31px;padding:0 9px;border:0;border-radius:7px;background:transparent;color:#68768a;font-size:8px;font-weight:700;cursor:pointer}.editorTransformDock button.active{background:#eaf2ff;color:#2563eb}.editorTransformHint{min-height:34px;justify-content:center;padding:0 12px;color:#6b788b;font-size:8px;white-space:nowrap;pointer-events:none}.editorEmptyState{position:absolute;z-index:4;left:50%;top:50%;width:min(360px,75%);padding:22px;transform:translate(-50%,-50%);border:1px solid #dfe6ed;border-radius:14px;background:#fffffff0;box-shadow:0 16px 45px #0f172a1f;text-align:center}.editorEmptyState>span{display:grid;width:45px;height:45px;place-items:center;margin:0 auto 9px;border-radius:12px;background:#eaf2ff;color:#2563eb;font-size:20px}.editorEmptyState h2{margin:0 0 6px;font-size:15px}.editorEmptyState p{margin:0 0 13px;color:#748196;font-size:9px;line-height:1.55}.editorEmptyState button{height:33px;padding:0 12px;border:0;border-radius:7px;background:#2563eb;color:#fff;font-size:9px;font-weight:750;cursor:pointer}.editorInspectorActions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:12px}.editorInspectorActions button{height:30px;border:1px solid #dfe5ec;border-radius:7px;background:#fff;color:#556378;font-size:8px;font-weight:700;cursor:pointer}.editorInspectorActions button.danger{border-color:#f0caca;color:#d13c3c}.editorAttributeHeader{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px;padding-top:10px;border-top:1px solid #e6ebf0;color:#344258;font-size:9px}.editorAttributeHeader small{color:#8c97a6;font-size:8px}.editorAttributes{display:grid;gap:7px}.editorAttributes label{margin:0}.editorAttributes label>span{display:flex;justify-content:space-between;align-items:center}.editorAttributes label>span button{border:0;background:transparent;color:#bd5360;font-size:12px;cursor:pointer}.editorAttributes input[type=checkbox]{width:16px;height:16px}.editorAddAttribute{display:grid;grid-template-columns:1fr 1fr auto;gap:4px;margin-top:9px}.editorAddAttribute input{min-width:0}.editorAddAttribute button{border:0;border-radius:6px;background:#2563eb;color:#fff;font-size:8px;font-weight:700}.editorRevisionHistory{margin-top:14px}.editorRevisionHistory>div:not(.editorAttributeHeader){display:grid;grid-template-columns:1fr auto;gap:2px 6px;margin-bottom:5px;padding:7px;border:1px solid #e4e9ef;border-radius:7px;background:#fff}.editorRevisionHistory b{font-size:8px}.editorRevisionHistory span{font-size:7px;text-transform:uppercase}.editorRevisionHistory span.published{color:#16834a}.editorRevisionHistory span.draft{color:#b8790a}.editorRevisionHistory>div small{grid-column:1/-1;color:#8a95a4;font-size:7px}@media(max-width:1120px){.editor3dWorkspace{grid-template-columns:230px minmax(0,1fr) 260px;grid-template-rows:minmax(0,1fr)}}@media(max-width:760px){.editor3dWorkspace{grid-template-columns:1fr;grid-template-rows:220px minmax(360px,1fr) auto}}.app.moduleMode{grid-template-columns:224px minmax(0,1fr) 0}.app.moduleMode.sidebarCollapsed{grid-template-columns:72px minmax(0,1fr) 0}.moduleMode .drawer{display:none}.moduleMode .main{grid-template-rows:minmax(0,1fr)}.operationsPage,.workOrdersPage{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;border:1px solid #e5eaf0;border-radius:18px;background:#f7f9fc;box-shadow:0 8px 30px #0f172a0b}.workOrdersPage{grid-template-rows:auto auto minmax(0,1fr)}.moduleHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e5eaf0;background:#fff}.moduleHeader p{margin:0 0 4px;color:#8290a3;font-size:9px}.moduleHeader h1{margin:0 0 4px;font-size:19px}.moduleHeader small{color:#718095;font-size:9px}.moduleHeaderActions{display:flex;align-items:center;gap:8px}.moduleHeaderActions>span{display:flex;align-items:center;gap:5px;padding:6px 9px;border-radius:20px;background:#f0f3f6;color:#778497;font-size:8px}.moduleHeaderActions>span i{width:6px;height:6px;border-radius:50%;background:#9aa5b4}.moduleHeaderActions>span.connected{background:#eaf8ef;color:#198b50}.moduleHeaderActions>span.connected i{background:#22a55b}.moduleHeaderActions button{height:33px;padding:0 11px;border:1px solid #dce3eb;border-radius:8px;background:#fff;color:#526176;font-size:9px;font-weight:700;cursor:pointer}.operationsSummary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 12px}.operationsSummary article{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:11px 13px;border:1px solid #e1e7ed;border-radius:10px;background:#fff}.operationsSummary article small{color:#758297;font-size:8px;text-transform:uppercase}.operationsSummary article strong{grid-row:1/3;grid-column:2;align-self:center;font-size:23px}.operationsSummary article span{color:#8b96a6;font-size:8px}.operationsSummary article.critical{border-left:3px solid #ef4444}.operationsSummary article.critical strong{color:#dc2626}.operationsWorkspace{min-height:0;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:10px;padding:0 12px 12px}.alarmQueue,.incidentRail{min-width:0;min-height:0;overflow:auto;border:1px solid #e0e6ed;border-radius:11px;background:#fff}.panelHeading{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid #e8ecf1}.panelHeading>div{display:grid;gap:2px}.panelHeading strong{color:#29374b;font-size:10px}.panelHeading small{color:#8995a5;font-size:8px}.panelHeading button{height:29px;padding:0 9px;border:0;border-radius:7px;background:#2563eb;color:#fff;font-size:8px;font-weight:700;cursor:pointer}.panelHeading button:disabled{opacity:.45}.alarmTableHeader,.alarmRow{display:grid;grid-template-columns:24px minmax(220px,1.7fr) 95px 105px 65px 150px;align-items:center;gap:7px}.alarmTableHeader{position:sticky;top:0;z-index:2;min-height:30px;padding:0 10px;background:#f7f9fb;color:#8b96a5;text-transform:uppercase;font-size:7px}.alarmRow{position:relative;min-height:66px;padding:8px 10px;border-top:1px solid #edf0f4;color:#657286;font-size:8px}.alarmRow:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#94a3b8}.alarmRow.critical:before{background:#ef4444}.alarmRow.high:before{background:#f97316}.alarmRow.medium:before{background:#f59e0b}.alarmRow>div:nth-child(2){display:grid;gap:4px;min-width:0}.alarmRow b{overflow:hidden;color:#27364a;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.alarmRow small{overflow:hidden;color:#8591a2;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.alarmRow>div:last-child{display:flex;gap:4px}.alarmRow button{min-height:27px;padding:0 7px;border:1px solid #dce3eb;border-radius:6px;background:#fff;color:#3765a5;font-size:7px;font-weight:700;cursor:pointer}.workflowStatus{display:inline-flex;width:fit-content;align-items:center;padding:4px 7px;border-radius:10px;background:#eef1f5;color:#667386;text-transform:capitalize;font-size:7px;font-weight:700}.workflowStatus.active{background:#fff0f0;color:#d93c3c}.workflowStatus.acknowledged,.workflowStatus.investigating,.workflowStatus.in_progress{background:#fff6df;color:#ad7200}.workflowStatus.closed,.workflowStatus.verified,.workflowStatus.completed{background:#eaf8ef;color:#18864d}.workflowStatus.open,.workflowStatus.assigned{background:#eaf2ff;color:#2563eb}.incidentRail{padding-bottom:8px}.incidentRail .panelHeading{position:sticky;top:0;z-index:2;background:#fff}.incidentRail article{margin:8px 8px 0;padding:11px;border:1px solid #e1e7ee;border-left:3px solid #f59e0b;border-radius:9px;background:#fff;cursor:pointer}.incidentRail article.critical{border-left-color:#ef4444}.incidentRail article.high{border-left-color:#f97316}.incidentRail article.selected{box-shadow:0 0 0 2px #2563eb26}.incidentRail article>div:first-child{display:flex;align-items:center;justify-content:space-between}.incidentRail h3{margin:9px 0 5px;color:#27364a;font-size:11px}.incidentRail p{margin:0;color:#6d7a8d;font-size:8px;line-height:1.5}.incidentRail dl,.workOrderDetail dl{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:10px 0}.incidentRail dl div,.workOrderDetail dl div{display:grid;gap:2px}.incidentRail dt,.workOrderDetail dt{color:#8a95a4;font-size:7px}.incidentRail dd,.workOrderDetail dd{margin:0;color:#445268;font-size:8px;font-weight:700}.incidentRail article>button{width:100%;height:29px;border:1px solid #bcd3ef;border-radius:7px;background:#edf4ff;color:#2563eb;font-size:8px;font-weight:700;cursor:pointer}.verifiedText{color:#16834a!important}.workOrderCreate{display:grid;grid-template-columns:1.1fr 1.5fr .65fr .8fr .85fr auto;gap:7px;padding:10px 12px;border-bottom:1px solid #e1e7ed;background:#f9fbfd}.workOrderCreate label{display:grid;gap:3px;color:#778497;font-size:7px}.workOrderCreate input,.workOrderCreate select{min-width:0;height:31px;border:1px solid #dce3eb;border-radius:7px;padding:0 7px;background:#fff;color:#35445a;font-size:8px}.workOrderCreate button{align-self:end;height:31px;padding:0 11px;border:0;border-radius:7px;background:#2563eb;color:#fff;font-size:8px;font-weight:700}.workOrderWorkspace{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:10px;padding:10px 12px 12px}.workOrderBoard{min-width:0;min-height:0;display:grid;grid-template-columns:repeat(5,minmax(175px,1fr));gap:7px;overflow:auto}.workOrderBoard>section{min-width:175px;padding:6px;border:1px solid #e0e6ed;border-radius:10px;background:#eef2f6}.workOrderBoard>section>header{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 8px;color:#5b687b;font-size:8px;font-weight:700;text-transform:uppercase}.workOrderBoard>section>header b{display:grid;width:20px;height:20px;place-items:center;border-radius:8px;background:#fff;color:#6b788a;font-size:8px}.workOrderBoard article{margin-bottom:6px;padding:9px;border:1px solid #dde4eb;border-top:3px solid #94a3b8;border-radius:8px;background:#fff;box-shadow:0 3px 10px #0f172a09;cursor:pointer}.workOrderBoard article.emergency{border-top-color:#ef4444}.workOrderBoard article.high{border-top-color:#f97316}.workOrderBoard article.medium{border-top-color:#eab308}.workOrderBoard article.selected{box-shadow:0 0 0 2px #2563eb2e}.workOrderBoard article>div{display:flex;justify-content:space-between;color:#8a95a4;text-transform:uppercase;font-size:7px}.workOrderBoard article>div span{color:#b45309;font-weight:800}.workOrderBoard h3{margin:8px 0 5px;color:#2d3b4f;font-size:9px;line-height:1.35}.workOrderBoard p{display:-webkit-box;margin:0;overflow:hidden;color:#748095;font-size:7px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.workOrderBoard footer{display:grid;gap:3px;margin-top:9px;padding-top:7px;border-top:1px solid #edf0f4;color:#58667b;font-size:7px}.workOrderBoard footer small{color:#8b96a5;font-size:7px}.workOrderDetail{min-width:0;overflow:auto;padding:12px;border:1px solid #e0e6ed;border-radius:10px;background:#fff}.workOrderDetail>p{color:#667489;font-size:8px;line-height:1.55}.workOrderSection{display:grid;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid #e7ebf0}.workOrderSection>strong{color:#35445a;font-size:9px}.workOrderSection label{display:flex;align-items:flex-start;gap:7px;color:#5f6d81;font-size:8px}.workOrderSection>span{color:#58708e;font-size:8px}.readingGrid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}.readingGrid div{padding:8px;border-radius:7px;background:#f3f6f9}.readingGrid small{display:block;margin-bottom:3px;color:#8894a4;font-size:7px}.readingGrid strong{color:#344258;font-size:8px}.verificationNote{margin-top:12px;padding:9px;border-radius:8px;background:#eaf8ef}.verificationNote small{color:#18864d;font-size:7px;text-transform:uppercase}.verificationNote p{margin:4px 0 0;color:#3e6450;font-size:8px;line-height:1.45}.workOrderPrimaryAction{width:100%;height:35px;margin-top:13px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-size:9px;font-weight:750;cursor:pointer}@media(max-width:1380px){.app.moduleMode{grid-template-columns:72px minmax(0,1fr) 0}.alarmTableHeader,.alarmRow{grid-template-columns:22px minmax(190px,1fr) 85px 80px 55px 128px}}@media(max-width:980px){.operationsSummary{grid-template-columns:repeat(2,1fr)}.operationsWorkspace,.workOrderWorkspace{grid-template-columns:1fr;overflow:auto}.alarmQueue{min-height:420px}.incidentRail,.workOrderDetail{min-height:300px}.workOrderCreate{grid-template-columns:1fr 1fr}}.editorSourceBackdrop{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:24px;background:#f2f6fab8;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.editorSourcePicker{width:min(650px,100%);max-height:min(620px,calc(100% - 20px));overflow:auto;padding:22px;border:1px solid #dce4ed;border-radius:17px;background:#fffffffa;box-shadow:0 24px 70px #0f172a2e}.editorSourcePicker>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.editorSourcePicker header small{color:#2563eb;text-transform:uppercase;letter-spacing:.5px;font-size:8px;font-weight:750}.editorSourcePicker header h2{margin:5px 0 6px;color:#1f2d42;font-size:19px}.editorSourcePicker header p{max-width:510px;margin:0;color:#748196;font-size:9px;line-height:1.55}.editorSourcePicker header>button{width:30px;height:30px;flex:0 0 30px;border:1px solid #dfe5ec;border-radius:8px;background:#fff;color:#6c788a;font-size:17px;cursor:pointer}.editorSourceChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.editorSourceChoices>button{min-height:148px;display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:start;gap:12px;padding:18px;border:1px solid #dce4ed;border-radius:13px;background:#fbfcfe;color:#536176;text-align:left;cursor:pointer;transition:.18s ease}.editorSourceChoices>button:hover{transform:translateY(-2px);border-color:#91b6ed;background:#f3f7ff;box-shadow:0 10px 25px #2563eb17}.editorSourceChoices>button>span{display:grid;width:46px;height:46px;place-items:center;border-radius:12px;background:#eaf2ff;color:#2563eb;font-size:20px}.editorSourceChoices>button>div{display:grid;gap:4px}.editorSourceChoices b{color:#2563eb;text-transform:uppercase;font-size:7px;letter-spacing:.45px}.editorSourceChoices strong{color:#26364b;font-size:13px}.editorSourceChoices small{color:#78859a;font-size:8px;line-height:1.5}.editorSourceChoices em{color:#2563eb;font-style:normal;font-size:16px}.editorSourceBack{margin:-5px 0 10px;border:0;background:transparent;color:#2563eb;font-size:8px;font-weight:700;cursor:pointer}.editorExistingList{display:grid;gap:7px}.editorExistingList>button{min-height:57px;display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 11px;border:1px solid #dfe5ec;border-radius:10px;background:#fff;color:#536176;text-align:left;cursor:pointer}.editorExistingList>button:hover{border-color:#9dbbed;background:#f5f8ff}.editorExistingList>button:disabled{opacity:.55;cursor:wait}.editorExistingList>button>span{display:grid;width:36px;height:36px;place-items:center;border-radius:9px;background:#edf3ff;color:#2563eb;font-size:15px}.editorExistingList>button>div{display:grid;gap:3px;min-width:0}.editorExistingList b{overflow:hidden;color:#2c3b50;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.editorExistingList small{color:#8390a2;font-size:8px}.editorExistingList em{color:#5876a1;font-style:normal;font-size:8px;font-weight:700}.editorSourceNote{margin:10px 0 0;padding:9px;border-radius:8px;background:#fff7e8;color:#876222;font-size:8px;line-height:1.5}@media(max-width:720px){.editorSourceChoices{grid-template-columns:1fr}.editorSourcePicker{padding:16px}}.editorToolbarActions .editorGuidedButton{border-color:#9dbcf0;background:#edf4ff;color:#2563eb}.editor3dWorkspace{overflow:hidden}.editor3dWorkspace .editorHierarchy,.editor3dWorkspace .editorInspector{overflow-x:hidden}.editorInspector input,.editorInspector select{min-width:0;width:100%;box-sizing:border-box}.editorInspector .inspectorGroup>div{min-width:0}.editorWizardBackdrop{position:absolute;inset:0;z-index:14;display:grid;place-items:center;padding:18px;background:#edf3f9cc;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.editorWizard{width:min(780px,100%);max-height:min(700px,calc(100% - 10px));overflow:auto;border:1px solid #d9e2eb;border-radius:17px;background:#fff;box-shadow:0 26px 80px #0f172a33}.editorWizard>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px 15px}.editorWizard>header small{color:#2563eb;text-transform:uppercase;letter-spacing:.5px;font-size:8px;font-weight:800}.editorWizard>header h2{margin:5px 0;color:#1f2e43;font-size:19px}.editorWizard>header p{margin:0;color:#768397;font-size:9px;line-height:1.5}.editorWizard>header>button{width:30px;height:30px;border:1px solid #dde4eb;border-radius:8px;background:#fff;color:#6e7a8c;font-size:17px;cursor:pointer}.editorWizardProgress{display:grid;grid-template-columns:repeat(3,1fr);margin:0;padding:0 22px 16px;list-style:none}.editorWizardProgress li{position:relative;display:flex;align-items:center;gap:8px;color:#9aa5b4}.editorWizardProgress li:not(:last-child):after{content:"";position:absolute;z-index:0;left:34px;right:8px;top:14px;height:2px;background:#e1e7ed}.editorWizardProgress li.active:not(:last-child):after{background:#a9c5ef}.editorWizardProgress li>span{position:relative;z-index:1;display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border:2px solid #dce3eb;border-radius:50%;background:#fff;font-size:9px;font-weight:800}.editorWizardProgress li.active>span{border-color:#2563eb;background:#2563eb;color:#fff}.editorWizardProgress li>div{position:relative;z-index:1;display:grid;padding-right:7px;background:#fff}.editorWizardProgress b{color:#667386;font-size:9px}.editorWizardProgress li.active b{color:#254d87}.editorWizardProgress small{font-size:7px}.editorWizardForm,.editorWizardObjects{padding:18px 22px 20px;border-top:1px solid #e7ebf0;background:#fbfcfe}.editorWizardIntro{display:flex;align-items:center;gap:11px;margin-bottom:15px;padding:11px;border:1px solid #dce6f2;border-radius:10px;background:#f1f6ff}.editorWizardIntro>span{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:9px;background:#dceaff;color:#2563eb;font-size:17px}.editorWizardIntro>div{display:grid;gap:3px}.editorWizardIntro strong{color:#2e4564;font-size:10px}.editorWizardIntro p{margin:0;color:#708098;font-size:8px}.editorWizardFields{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.editorWizardFields label,.editorWizardObjectToolbar label{display:grid;gap:4px;color:#68768a;font-size:8px;font-weight:650}.editorWizardFields input,.editorWizardFields select,.editorWizardObjectToolbar input,.editorWizardObjectToolbar select{min-width:0;width:100%;height:34px;border:1px solid #d9e1e9;border-radius:7px;padding:0 9px;background:#fff;color:#2f3e53;font-size:9px}.editorWizardArea{display:grid;align-content:center;justify-items:center;min-height:57px;border:1px dashed #b9cae0;border-radius:8px;background:#f5f8fc}.editorWizardArea small{color:#7c899b;font-size:7px}.editorWizardArea strong{margin-top:3px;color:#2563eb;font-size:14px}.editorWizardForm footer,.editorWizardObjects footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:18px;padding-top:14px;border-top:1px solid #e4e9ef}.editorWizardForm footer button,.editorWizardObjects footer button{min-height:34px;padding:0 12px;border:1px solid #dce3eb;border-radius:8px;background:#fff;color:#617086;font-size:8px;font-weight:750;cursor:pointer}.editorWizardForm footer button.primary,.editorWizardObjects footer button.primary{border-color:#2563eb;background:#2563eb;color:#fff}.editorWizardPreview{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:13px;padding:11px 12px;border:1px solid #dce4ec;border-radius:9px;background:#fff}.editorWizardPreview b{display:grid;min-width:64px;height:34px;place-items:center;border-radius:8px;background:#eaf2ff;color:#2563eb;font-size:10px}.editorWizardPreview span{color:#45546a;font-size:9px;font-weight:700}.editorWizardPreview small{color:#8490a0;font-size:8px}.editorWizardObjectToolbar{display:grid;grid-template-columns:1fr 1.4fr auto;align-items:end;gap:8px;margin-bottom:10px}.editorWizardObjectToolbar>div{display:grid;min-width:88px;height:34px;grid-template-columns:auto 1fr;grid-template-rows:1fr 1fr;align-items:center;column-gap:5px;padding:4px 9px;border-radius:8px;background:#edf4ff}.editorWizardObjectToolbar>div b{grid-row:1/3;color:#2563eb;font-size:17px}.editorWizardObjectToolbar>div small{color:#667d9e;font-size:7px}.editorWizardCategories{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px}.editorWizardCategories button{min-height:36px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #dfe5ec;border-radius:7px;background:#fff;color:#6a778a;font-size:8px;cursor:pointer}.editorWizardCategories button span{color:#607895;font-size:11px}.editorWizardCategories button.active{border-color:#9bbbed;background:#eaf2ff;color:#2563eb;font-weight:750}.editorWizardLibrary{max-height:270px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;overflow:auto;padding:1px}.editorWizardLibrary>button{min-width:0;min-height:49px;display:grid;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px;border:1px solid #dfe5ec;border-radius:8px;background:#fff;color:#536176;text-align:left;cursor:pointer}.editorWizardLibrary>button:hover{border-color:#9cbced;background:#f5f8ff}.editorWizardLibrary>button i{width:9px;height:29px;border-radius:3px}.editorWizardLibrary>button>span{display:grid;min-width:0}.editorWizardLibrary b{overflow:hidden;color:#35445a;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.editorWizardLibrary small{color:#8a95a5;text-transform:capitalize;font-size:7px}.editorWizardLibrary em{color:#2563eb;white-space:nowrap;font-style:normal;font-size:7px;font-weight:750}@media(max-width:720px){.editorWizardFields,.editorWizardLibrary,.editorWizardCategories{grid-template-columns:1fr 1fr}.editorWizardObjectToolbar{grid-template-columns:1fr}.editorWizardProgress li>div{display:none}}.canvasHeaderActions>button{width:auto;min-width:42px;padding:0 10px;color:#5d6a7d;font-size:10px;font-weight:750}.canvasHeaderActions>button.active{border-color:#9bbcf2;background:#edf4ff;color:#2563eb}.controlPanelView{width:100%;height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;padding:12px;overflow:hidden;background:linear-gradient(135deg,#f8fbff,#fff 42%,#f3f7fb)}.controlPanelHero{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:104px;padding:14px 16px;border:1px solid #dfe7f0;border-radius:14px;background:#ffffffeb;box-shadow:0 10px 26px #0f172a0e}.controlPanelHero small,.controlGroupHeader small{color:#2563eb;text-transform:uppercase;letter-spacing:.5px;font-size:8px;font-weight:800}.controlPanelHero h2{margin:4px 0 3px;color:#172033;font-size:17px}.controlPanelHero p{margin:0;color:#718095;font-size:10px}.controlHeroStats{display:flex;gap:8px}.controlHeroStats span{min-width:72px;display:grid;gap:1px;padding:8px 9px;border:1px solid #e3e8ee;border-radius:11px;background:#fff;text-align:center}.controlHeroStats b{color:#1f2d42;font-size:18px}.controlHeroStats small{color:#8090a4;letter-spacing:0;text-transform:none}.controlGroupGrid{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));grid-auto-rows:minmax(0,1fr);gap:10px;overflow:hidden}.controlGroup{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:11px;border:1px solid #dfe7ef;border-left:4px solid #22c55e;border-radius:13px;background:#fffffff5;box-shadow:0 8px 22px #0f172a0a}.controlGroup.warning{border-left-color:#f59e0b}.controlGroup.critical{border-left-color:#ef4444}.controlGroupHeader{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:8px;align-items:start;margin-bottom:8px}.controlGroupHeader h3{margin:3px 0;color:#213047;font-size:12px}.controlGroupHeader p{margin:0;color:#77869b;font-size:8px}.controlGauge{width:72px;height:41px;display:grid;place-items:end center;overflow:hidden;border-radius:72px 72px 0 0;background:conic-gradient(from 270deg,var(--gauge-color) 0 var(--gauge-degree),#e4eaf1 var(--gauge-degree) 180deg,transparent 180deg)}.controlGauge>div{width:52px;height:27px;display:grid;place-items:center;align-content:center;border-radius:52px 52px 0 0;background:#fff}.controlGauge strong{color:#1f2d42;font-size:11px}.controlGauge small{color:#7e8b9e;font-size:6px;text-transform:none;letter-spacing:0}.controlNodeGrid{min-height:0;display:grid;grid-template-columns:1fr;grid-auto-rows:min-content;gap:6px;overflow:auto;padding-right:2px}.controlNodeGrid button{min-width:0;min-height:42px;display:grid;grid-template-columns:7px minmax(0,1fr);gap:2px 7px;align-items:center;padding:7px 8px;border:1px solid #e1e7ee;border-radius:8px;background:#fbfcfe;color:#344258;text-align:left;cursor:pointer}.controlNodeGrid button:hover{border-color:#a9c5ef;background:#f3f7ff}.controlNodeGrid button span{grid-row:1/3;width:7px;height:25px;border-radius:4px}.controlNodeGrid b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.controlNodeGrid small{color:#8390a2;font-size:7px;text-transform:capitalize}.drawerBody{min-height:calc(100% - 108px);display:grid;grid-template-rows:minmax(0,1fr) minmax(175px,25%);gap:12px}.drawerMainInfo{min-height:0;overflow:auto;padding-right:2px}.drawerEmpty{margin:8px 0 0;padding:10px;border:1px dashed #d8e1eb;border-radius:10px;background:#f8fafc;color:#748197;font-size:9px;line-height:1.45}.sectionHeading button{border:0;background:transparent;color:#2563eb;text-transform:none;font-size:9px;font-weight:750;letter-spacing:.08em;cursor:pointer}.actionGrid button{cursor:pointer}.actionGrid button:hover{border-color:#a9c5ef;background:#f4f8ff;color:#2563eb}.drawerChat{min-height:175px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-top:1px solid #e7ebf0;padding-top:10px}.drawerChat .sectionHeading{margin:0 0 7px}.drawerChat .sectionHeading span{color:#8b96a6;font-size:8px;text-transform:none;letter-spacing:0}.chatLog{min-height:0;overflow:auto;display:grid;align-content:end;gap:6px;padding:8px;border:1px solid #e1e7ee;border-radius:10px;background:#f8fafc}.chatLog p{width:fit-content;max-width:92%;margin:0;padding:7px 9px;border-radius:10px;color:#405069;font-size:8px;line-height:1.45}.chatLog p.bot{background:#fff;border:1px solid #e3e8ef}.chatLog p.user{justify-self:end;background:#2563eb;color:#fff}.drawerChat form{display:grid;grid-template-columns:1fr auto;gap:6px;margin-top:7px}.drawerChat input{min-width:0;height:32px;border:1px solid #dce3eb;border-radius:8px;padding:0 9px;color:#344258;font-size:8px}.drawerChat button{height:32px;border:0;border-radius:8px;background:#2563eb;color:#fff;font-size:8px;font-weight:750;cursor:pointer}.reportsPage{min-width:0;min-height:0;overflow:auto;padding:18px;border:1px solid #e5eaf0;border-radius:18px;background:#f7f9fc;box-shadow:0 8px 30px #0f172a0b}.sectionHero{margin-bottom:14px;padding:18px;border:1px solid #e3e8ef;border-radius:15px;background:#fff}.sectionHero p{margin:0 0 5px;color:#8390a2;font-size:10px}.sectionHero h1{margin:0 0 5px;color:#172033;font-size:22px}.sectionHero small{color:#718095;font-size:10px}.reportKpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}.reportKpis article,.reportCard{border:1px solid #e1e7ee;border-radius:13px;background:#fff;box-shadow:0 6px 18px #0f172a09}.reportKpis article{display:grid;gap:4px;padding:13px}.reportKpis small{color:#8290a3;font-size:8px;text-transform:uppercase}.reportKpis strong{color:#1f2d42;font-size:24px}.reportKpis span{overflow:hidden;color:#77869a;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.reportGrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:12px}.reportCard.wide{grid-column:span 1}.reportCard{min-width:0;padding:14px}.reportCardHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.reportCardHeader h2{margin:0;color:#25344a;font-size:13px}.reportCardHeader button{height:29px;border:1px solid #dce3eb;border-radius:7px;background:#fff;color:#2563eb;font-size:8px;font-weight:750;cursor:pointer}.floorReportRows{display:grid;gap:7px}.floorReportRows div{display:grid;grid-template-columns:100px 72px 1fr;gap:8px;align-items:center;padding:9px;border-radius:9px;background:#f8fafc}.floorReportRows b{color:#344258;font-size:9px}.floorReportRows small{color:#758296;font-size:8px}.reportStatus{display:inline-grid;width:fit-content;place-items:center;padding:4px 7px;border-radius:999px;background:#eef2f7;color:#64748b;text-transform:capitalize;font-size:7px;font-weight:800}.reportStatus.healthy,.reportStatus.info{background:#eaf8ef;color:#16834a}.reportStatus.warning{background:#fff6df;color:#ad7200}.reportStatus.critical{background:#fff0f0;color:#dc2626}.assetBars{display:grid;gap:10px}.assetBars label{display:grid;grid-template-columns:84px 1fr 24px;align-items:center;gap:8px;color:#657386;font-size:8px}.assetBars i{height:8px;border-radius:20px;background:#8bb5ff}.assetBars b{color:#344258;font-size:9px}.logTable{width:100%;border-collapse:collapse}.logTable td{padding:9px 7px;border-top:1px solid #edf0f4;color:#5f6e82;font-size:8px}.logTable td:first-child{color:#8b96a6;width:50px}.logTable td:nth-child(2){color:#2f3e53;font-weight:800;width:130px}@media(max-width:980px){.controlPanelHero,.reportCardHeader{align-items:flex-start;flex-direction:column}.controlGroupGrid,.reportGrid{grid-template-columns:1fr}.reportKpis{grid-template-columns:repeat(2,1fr)}}.iotDevicesPage{width:100%;max-width:100%;box-sizing:border-box;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;overflow:hidden;padding:14px;border:1px solid #e5eaf0;border-radius:18px;background:#f7f9fc;box-shadow:0 8px 30px #0f172a0b}.iotHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #e1e8f0;border-radius:15px;background:#fff}.iotHero>div:first-child{min-width:0}.iotHero p{margin:0 0 4px;color:#7d8ba0;font-size:9px}.iotHero h1{margin:0 0 5px;color:#172033;font-size:22px}.iotHero small{color:#718095;font-size:10px;line-height:1.45}.iotHeroStats{flex:0 1 auto;min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.iotHeroStats span{min-width:66px;display:grid;gap:2px;padding:9px;border:1px solid #e1e7ee;border-radius:11px;background:#f9fbfd;text-align:center}.iotHeroStats b{color:#1f2d42;font-size:20px}.iotHeroStats small{color:#7b8797;font-size:8px;text-transform:uppercase}.iotWorkspace{width:100%;max-width:100%;min-height:0;overflow:hidden;display:grid;grid-template-columns:minmax(220px,270px) minmax(360px,1fr) minmax(260px,300px);gap:10px}.iotCatalog,.iotRegistry,.iotInspector{min-width:0;min-height:0;overflow:hidden;border:1px solid #e0e7ee;border-radius:13px;background:#fff}.iotPanelHeading{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #e8edf2}.iotPanelHeading div{display:grid;gap:2px;min-width:0}.iotPanelHeading strong{color:#27364a;font-size:11px}.iotPanelHeading small{overflow:hidden;color:#8290a3;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.iotPanelHeading button{height:29px;padding:0 9px;border:1px solid #bcd3ef;border-radius:7px;background:#edf4ff;color:#2563eb;font-size:8px;font-weight:750;cursor:pointer}.iotTemplateList{height:calc(100% - 48px);overflow:auto;display:grid;align-content:start;gap:7px;padding:10px}.iotTemplateList button{min-width:0;min-height:70px;display:grid;align-content:center;gap:4px;padding:9px;border:1px solid #e1e7ee;border-radius:10px;background:#fbfcfe;color:#3e4d63;text-align:left;cursor:pointer}.iotTemplateList button:hover{border-color:#a9c5ef;background:#f3f7ff}.iotTemplateList b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.iotTemplateList small{overflow:hidden;color:#7d8a9c;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.iotCategoryPill{display:inline-flex;width:fit-content;align-items:center;gap:4px;padding:4px 6px;border-radius:999px;background:#edf4ff;color:#2563eb;font-size:7px;font-weight:800;white-space:nowrap}.iotRegistry{display:grid;grid-template-rows:auto minmax(0,1fr)}.iotFilters{display:grid;grid-template-columns:1fr 165px;gap:8px;padding:10px;border-bottom:1px solid #e8edf2;background:#fbfcfe}.iotFilters input,.iotFilters select{min-width:0;height:34px;border:1px solid #dce4ec;border-radius:8px;padding:0 9px;background:#fff;color:#344258;font-size:9px}.iotDeviceTable{min-height:0;overflow-y:auto;overflow-x:hidden;display:grid;align-content:start;gap:6px;padding:10px}.iotDeviceTable>button{min-width:0;min-height:58px;display:grid;grid-template-columns:10px minmax(0,1.45fr) minmax(90px,.7fr) minmax(82px,.55fr) minmax(92px,.65fr) minmax(58px,auto);align-items:center;gap:8px;padding:8px 10px;border:1px solid #e2e8ef;border-radius:10px;background:#fff;color:#536176;text-align:left;cursor:pointer}.iotDeviceTable>button:hover,.iotDeviceTable>button.selected{border-color:#9dbcf0;background:#f4f8ff;box-shadow:0 0 0 2px #2563eb14}.iotStatusDot{width:9px;height:9px;border-radius:50%;background:#94a3b8}.iotStatusDot.online{background:#22c55e}.iotStatusDot.attention{background:#f59e0b}.iotStatusDot.draft{background:#64748b}.iotStatusDot.offline{background:#ef4444}.iotDeviceTable div{display:grid;min-width:0;gap:3px}.iotDeviceTable b{overflow:hidden;color:#27364a;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.iotDeviceTable small{overflow:hidden;color:#7c899b;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.iotDeviceTable em{width:fit-content;padding:4px 6px;border-radius:999px;background:#eef2f7;color:#607086;font-style:normal;font-size:7px;font-weight:800}.iotInspector{overflow:auto}.iotInspector .iotPanelHeading{position:sticky;top:0;z-index:2;min-height:42px;padding:8px 10px;background:#fffffff5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.iotInspector .iotPanelHeading strong{font-size:10px}.iotInspector .iotPanelHeading small{font-size:7px}.iotForm{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:9px 10px}.iotForm label{min-width:0;display:grid;gap:3px;color:#6f7d90;font-size:7px;font-weight:800;letter-spacing:.02em}.iotFieldWide{grid-column:1 / -1}.iotForm input,.iotForm select{min-width:0;width:100%;height:26px;border:1px solid #dce4ec;border-radius:7px;padding:0 8px;background:#fff;color:#314057;font-size:8px;font-weight:700}.iotForm select{background-size:9px}.iotChecks{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:6px}.iotChecks label{min-height:28px;display:flex;align-items:center;gap:5px;padding:6px 7px;border:1px solid #e1e7ee;border-radius:8px;background:#f8fafc;color:#43546a;font-size:7px;line-height:1.25}.iotChecks input{flex:0 0 auto;width:12px;height:12px}.iotInspectorActions{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.iotInspectorActions button{min-height:28px;border:1px solid #dbe4ee;border-radius:8px;background:#fff;color:#2563eb;font-size:7px;font-weight:850;cursor:pointer}.iotInspectorActions button[type=submit]{border-color:#2563eb;background:#2563eb;color:#fff}.iotInspectorActions button.danger{border-color:#f0caca;color:#dc2626}.iotInspectorActions button:disabled{opacity:.45;cursor:not-allowed}.iotBrandReference{margin:0 11px 12px;padding-top:10px;border-top:1px solid #e8edf2}.iotBrandReference>strong{display:block;margin-bottom:8px;color:#324156;font-size:9px}.iotBrandReference>div{display:flex;flex-wrap:wrap;gap:5px}.iotBrandReference span{display:inline-flex;align-items:center;gap:4px;padding:5px 7px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:7px;font-weight:800}.iotBrandReference small{color:#94a3b8;font-size:6px}.iotIntegrationPage{width:100%;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;overflow:hidden;padding:14px;border:1px solid #e5eaf0;border-radius:18px;background:#f7f9fc;box-shadow:0 8px 30px #0f172a0b}.iotIntegrationHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #e1e8f0;border-radius:15px;background:#fff}.iotIntegrationHero>div:first-child{min-width:0}.iotIntegrationHero p{margin:0 0 4px;color:#7d8ba0;font-size:9px}.iotIntegrationHero h1{margin:0 0 5px;color:#172033;font-size:22px}.iotIntegrationHero small{color:#718095;font-size:10px;line-height:1.45}.iotIntegrationGrid{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr) minmax(240px,300px);gap:10px;overflow:hidden}.iotIntegrationList,.iotIntegrationEditor,.iotIntegrationGuide{min-width:0;min-height:0;overflow:hidden;border:1px solid #e0e7ee;border-radius:13px;background:#fff}.iotIntegrationDevices{min-height:0;overflow:auto;display:grid;align-content:start;gap:7px;padding:10px}.iotIntegrationDevices button{min-width:0;min-height:58px;display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border:1px solid #e1e7ee;border-radius:10px;background:#fbfcfe;color:#3e4d63;text-align:left;cursor:pointer}.iotIntegrationDevices button.selected,.iotIntegrationDevices button:hover{border-color:#9dbcf0;background:#f4f8ff;box-shadow:0 0 0 2px #2563eb14}.iotIntegrationDevices i{width:8px;height:28px;border-radius:6px;background:#94a3b8}.iotIntegrationDevices i.connected{background:#2563eb}.iotIntegrationDevices i.installed{background:#22c55e}.iotIntegrationDevices i.failed{background:#ef4444}.iotIntegrationDevices span{display:grid;min-width:0;gap:3px}.iotIntegrationDevices b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.iotIntegrationDevices small{overflow:hidden;color:#7c899b;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.iotIntegrationDevices em{padding:4px 6px;border-radius:999px;background:#eef2f7;color:#607086;font-style:normal;font-size:7px;font-weight:850}.iotIntegrationEditor{display:grid;grid-template-rows:auto minmax(0,1fr)}.iotIntegrationTitle{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid #e8edf2;background:#fbfcfe}.iotIntegrationTitle div{display:grid;min-width:0;gap:2px}.iotIntegrationTitle strong{overflow:hidden;color:#243348;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.iotIntegrationTitle small{overflow:hidden;color:#7d8ba0;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.iotInstallStatus{flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#eef2f7;color:#607086;font-size:8px;font-weight:900}.iotInstallStatus.connected{background:#eaf2ff;color:#2563eb}.iotInstallStatus.installed{background:#eaf8ef;color:#16834a}.iotInstallStatus.failed{background:#fff0f0;color:#dc2626}.iotIntegrationForm{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px;padding:14px}.iotIntegrationForm label{display:grid;gap:4px;color:#6f7d90;font-size:8px;font-weight:800}.iotIntegrationForm label.wide,.iotIntegrationCheck,.iotIntegrationActions{grid-column:1 / -1}.iotIntegrationForm input,.iotIntegrationForm select{min-width:0;height:32px;border:1px solid #dce4ec;border-radius:8px;padding:0 9px;background:#fff;color:#314057;font-size:9px;font-weight:700}.iotIntegrationCheck{display:flex!important;align-items:center;gap:8px;min-height:34px;padding:8px;border:1px solid #e1e7ee;border-radius:9px;background:#f8fafc;color:#43546a}.iotIntegrationCheck input{width:14px;height:14px}.iotIntegrationActions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.iotIntegrationActions button{min-height:34px;border:1px solid #dbe4ee;border-radius:8px;background:#fff;color:#2563eb;font-size:8px;font-weight:850;cursor:pointer}.iotIntegrationGuide{overflow:auto}.iotIntegrationGuide ol{display:grid;gap:8px;margin:0;padding:11px;list-style:none}.iotIntegrationGuide li{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;min-height:42px;padding:8px;border:1px solid #e1e7ee;border-radius:10px;background:#fbfcfe;color:#536176;font-size:9px;font-weight:800}.iotIntegrationGuide li b{display:grid;width:24px;height:24px;place-items:center;border-radius:8px;background:#eef2f7;color:#64748b}.iotIntegrationGuide li.done b{background:#eaf8ef;color:#16834a}.iotIntegrationSummary{margin:0 11px 12px;padding:11px;border:1px solid #e1e7ee;border-radius:11px;background:#f8fafc}.iotIntegrationSummary strong{color:#27364a;font-size:10px}.iotIntegrationSummary p{margin:7px 0;color:#405069;font-size:9px;line-height:1.45}.iotIntegrationSummary small{color:#8290a3;font-size:8px}@media(max-width:1500px){.iotWorkspace{grid-template-columns:minmax(210px,250px) minmax(0,1fr) minmax(240px,280px)}.iotDeviceTable>button{grid-template-columns:10px minmax(0,1fr) minmax(90px,.62fr) minmax(80px,.5fr)}.iotDeviceTable>button>small:nth-of-type(2),.iotDeviceTable>button>em{margin-left:18px}}@media(max-width:1240px){.iotWorkspace{grid-template-columns:245px minmax(0,1fr)}.iotInspector{grid-column:1 / -1;min-height:360px}.iotForm{grid-template-columns:repeat(4,minmax(0,1fr))}.iotFieldWide{grid-column:span 2}.iotChecks,.iotInspectorActions,.iotBrandReference{grid-column:1 / -1}.iotDeviceTable>button{grid-template-columns:10px minmax(0,1fr) minmax(92px,auto)}.iotDeviceTable>button>small,.iotDeviceTable>button>em{margin-left:18px}.iotIntegrationGrid{grid-template-columns:245px minmax(0,1fr);overflow:auto}.iotIntegrationGuide{grid-column:1 / -1;min-height:260px}.iotIntegrationGuide ol{grid-template-columns:repeat(5,minmax(120px,1fr))}}@media(max-width:860px){.iotHero,.iotWorkspace,.iotIntegrationHero,.iotIntegrationGrid{grid-template-columns:1fr}.iotIntegrationHero{align-items:flex-start;flex-direction:column}.iotIntegrationGrid{display:grid;overflow:auto}.iotIntegrationList,.iotIntegrationEditor,.iotIntegrationGuide{min-height:300px}.iotIntegrationForm,.iotIntegrationActions,.iotIntegrationGuide ol{grid-template-columns:1fr}.iotHero{align-items:flex-start;flex-direction:column}.iotWorkspace{display:grid}.iotCatalog,.iotRegistry,.iotInspector{min-height:320px}.iotForm{grid-template-columns:repeat(2,minmax(0,1fr))}.iotFieldWide{grid-column:1 / -1}.iotInspectorActions{grid-template-columns:repeat(2,minmax(0,1fr))}.iotDeviceTable>button{grid-template-columns:10px minmax(0,1fr)}.iotDeviceTable>button>.iotCategoryPill,.iotDeviceTable>button>small,.iotDeviceTable>button>em{margin-left:18px}}.appointmentPage{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(720px,1fr);gap:10px;overflow:auto;padding:12px;border:1px solid #e5eaf0;border-radius:18px;background:#f7f9fc;box-shadow:0 8px 30px #0f172a0b}.appointmentHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 16px;border:1px solid #e1e8f0;border-radius:15px;background:radial-gradient(circle at 10% 10%,#edf4ff 0,#fff 38% 100%)}.appointmentHero p{margin:0 0 4px;color:#7d8ba0;font-size:9px}.appointmentHero h1{margin:0 0 5px;color:#172033;font-size:22px}.appointmentHero small{color:#718095;font-size:10px;line-height:1.45}.appointmentHeroStats{display:flex;gap:8px}.appointmentHeroStats span{min-width:74px;display:grid;gap:2px;padding:9px;border:1px solid #e1e7ee;border-radius:11px;background:#ffffffe0;text-align:center}.appointmentHeroStats b{color:#1f2d42;font-size:20px}.appointmentHeroStats small{color:#7b8797;font-size:8px;text-transform:uppercase}.appointmentWorkspace{min-height:0;display:grid;grid-template-columns:minmax(230px,260px) minmax(420px,1fr) minmax(300px,340px);gap:10px}.guestRegistry,.appointmentSchedule,.appointmentInspector{min-width:0;min-height:0;overflow:hidden;border:1px solid #e0e7ee;border-radius:13px;background:#fff}.appointmentPanelHeading{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #e8edf2}.appointmentPanelHeading div{display:grid;gap:2px;min-width:0}.appointmentPanelHeading strong{color:#27364a;font-size:11px}.appointmentPanelHeading small{overflow:hidden;color:#8290a3;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.appointmentPanelHeading button,.scheduleToolbar button{height:30px;padding:0 9px;border:1px solid #bcd3ef;border-radius:8px;background:#edf4ff;color:#2563eb;font-size:8px;font-weight:800;cursor:pointer}.guestRegistry{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.guestList{min-height:0;overflow:auto;display:grid;align-content:start;gap:7px;padding:10px;border-bottom:1px solid #e8edf2}.guestList button{min-width:0;min-height:58px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px;border:1px solid #e1e7ee;border-radius:10px;background:#fbfcfe;color:#536176;text-align:left;cursor:pointer}.guestList button:hover,.guestList button.selected{border-color:#9dbcf0;background:#f4f8ff;box-shadow:0 0 0 2px #2563eb14}.guestList button>span{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;background:#eaf2ff;color:#2563eb;font-size:9px;font-weight:900}.guestList div{display:grid;min-width:0;gap:3px}.guestList b{overflow:hidden;color:#27364a;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.guestList small{overflow:hidden;color:#7c899b;text-overflow:ellipsis;white-space:nowrap;font-size:7px}.guestList em{padding:4px 6px;border-radius:999px;background:#eef2f7;color:#607086;font-style:normal;font-size:7px;font-weight:800;text-transform:capitalize}.guestMiniForm,.appointmentForm{min-height:0;overflow:auto;display:grid;gap:7px;padding:11px}.guestMiniForm{max-height:46vh;border-top:1px solid #e8edf2;background:#fff}.guestMiniForm strong{color:#27364a;font-size:10px}.guestMiniForm label,.appointmentForm label{display:grid;gap:4px;color:#6f7d90;font-size:8px;font-weight:750}.guestMiniForm input,.guestMiniForm select,.guestMiniForm textarea,.appointmentForm input,.appointmentForm select,.appointmentForm textarea,.scheduleToolbar input{min-width:0;width:100%;border:1px solid #dce4ec;border-radius:8px;padding:0 9px;background:#fff;color:#314057;font-size:9px}.guestMiniForm input,.guestMiniForm select,.appointmentForm input,.appointmentForm select,.scheduleToolbar input{height:32px}.guestMiniForm textarea,.appointmentForm textarea{min-height:58px;padding-top:8px;resize:vertical}.appointmentForm select[multiple]{min-height:78px;padding:6px 9px}.twoFields,.threeFields{display:grid;gap:7px}.twoFields{grid-template-columns:1fr 1fr}.threeFields{grid-template-columns:1fr 82px 82px}.appointmentFormActions,.appointmentQuickActions{display:grid;gap:6px}.appointmentFormActions{grid-template-columns:1fr 1fr}.appointmentQuickActions{grid-template-columns:repeat(2,1fr)}.appointmentFormActions button,.appointmentQuickActions button{min-height:31px;border:1px solid #dbe4ee;border-radius:8px;background:#fff;color:#2563eb;font-size:8px;font-weight:850;cursor:pointer;text-transform:capitalize}.appointmentFormActions button[type=submit]{border-color:#2563eb;background:#2563eb;color:#fff}.appointmentFormActions button.danger{border-color:#f0caca;color:#dc2626}.appointmentFormActions button:disabled,.appointmentQuickActions button:disabled{opacity:.45;cursor:not-allowed}.appointmentSchedule{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.scheduleToolbar{min-height:52px;display:grid;grid-template-columns:minmax(150px,1fr) 124px minmax(150px,.75fr) auto;align-items:center;gap:7px;padding:10px 12px;border-bottom:1px solid #e8edf2;background:#fbfcfe}.scheduleToolbar div{display:grid;gap:2px}.scheduleToolbar strong{color:#27364a;font-size:11px}.scheduleToolbar small{overflow:hidden;color:#8290a3;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.scheduleBoard{min-height:0;display:grid;grid-template-columns:44px minmax(0,1fr);overflow:hidden;background:linear-gradient(#f8fbff,#fff)}.timeAxis{display:grid;grid-template-rows:repeat(6,1fr);padding:12px 8px;border-right:1px solid #e8edf2;color:#8a96a8;font-size:8px;font-weight:800}.timeGrid{position:relative;min-height:0;overflow:auto;padding:12px}.timeGrid>i{display:block;height:64px;border-top:1px solid #edf2f7;background-image:linear-gradient(90deg,rgba(224,231,239,.55) 1px,transparent 1px);background-size:42px 42px}.scheduleCard{position:absolute;left:22px;right:22px;min-height:66px;display:grid;align-content:center;gap:3px;padding:10px 12px;border:1px solid #dce5ef;border-left:5px solid #94a3b8;border-radius:11px;background:#fffffff2;color:#46566d;text-align:left;box-shadow:0 10px 24px #0f172a12;cursor:pointer}.scheduleCard:hover,.scheduleCard.selected{border-color:#9dbcf0;border-left-color:#2563eb;background:#f7faff}.scheduleCard strong{color:#1f2d42;font-size:11px}.scheduleCard small,.scheduleCard span{overflow:hidden;color:#728096;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.scheduleCard.approved{border-left-color:#2563eb}.scheduleCard.checked-in{border-left-color:#22c55e}.scheduleCard.completed{border-left-color:#64748b}.scheduleCard.cancelled{opacity:.55;border-left-color:#ef4444}.emptySchedule{position:absolute;inset:40% 24px auto;padding:14px;border:1px dashed #c9d6e4;border-radius:12px;background:#fff;color:#718095;text-align:center;font-size:9px}.roomBookingStrip{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:7px;padding:10px;border-top:1px solid #e8edf2;background:#fbfcfe;overflow-x:auto}.roomBookingStrip button{min-width:0;display:grid;gap:2px;padding:8px;border:1px solid #e1e7ee;border-radius:9px;background:#fff;color:#526176;text-align:left;cursor:pointer}.roomBookingStrip button:hover{border-color:#a9c5ef;background:#f3f7ff}.roomBookingStrip b{overflow:hidden;color:#2c3b50;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.roomBookingStrip small{color:#8290a3;font-size:7px}.appointmentInspector{overflow:auto}.appointmentStatus{display:inline-flex;align-items:center;width:fit-content;padding:5px 7px;border-radius:999px;background:#eef2f7;color:#64748b;font-size:7px;font-weight:900;text-transform:capitalize;white-space:nowrap}.appointmentStatus.scheduled{background:#eef4ff;color:#2563eb}.appointmentStatus.approved{background:#eaf2ff;color:#1d4ed8}.appointmentStatus.checked-in{background:#eaf8ef;color:#16834a}.appointmentStatus.completed{background:#f1f5f9;color:#475569}.appointmentStatus.cancelled{background:#fff0f0;color:#dc2626}.appointmentStatus.draft{background:#fff7df;color:#ad7200}@media(max-width:1320px){.appointmentWorkspace{grid-template-columns:250px minmax(0,1fr)}.appointmentInspector{grid-column:1 / -1;min-height:430px}.appointmentForm{grid-template-columns:repeat(2,1fr)}.appointmentForm label:nth-child(1),.appointmentForm label:nth-child(6),.appointmentForm label:nth-child(7),.appointmentForm label:nth-child(9),.appointmentQuickActions,.appointmentFormActions{grid-column:1 / -1}}@media(max-width:900px){.appointmentHero{align-items:flex-start;flex-direction:column}.appointmentWorkspace,.scheduleToolbar,.roomBookingStrip{grid-template-columns:1fr}.guestRegistry,.appointmentSchedule,.appointmentInspector{min-height:360px}}.developerModePage{min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:12px;overflow:hidden;padding:14px;border:1px solid #e5eaf0;border-radius:18px;background:#f7f9fc;box-shadow:0 8px 30px #0f172a0b}.developerHero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #e1e8f0;border-radius:15px;background:#fff}.developerHero p{margin:0 0 4px;color:#7d8ba0;font-size:9px}.developerHero h1{margin:0 0 5px;color:#172033;font-size:22px}.developerHero small{color:#718095;font-size:10px;line-height:1.45}.developerStats{display:flex;gap:8px}.developerStats span{min-width:74px;display:grid;gap:2px;padding:9px;border:1px solid #e1e7ee;border-radius:11px;background:#f9fbfd;text-align:center}.developerStats b{color:#1f2d42;font-size:20px}.developerStats small{color:#7b8797;font-size:8px;text-transform:uppercase}.erdMap{min-height:0;display:grid;grid-template-columns:repeat(5,minmax(210px,1fr));gap:10px;overflow:auto;padding-bottom:2px}.erdDomainColumn{min-width:210px;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid #e0e7ee;border-radius:13px;background:#fff;overflow:hidden}.erdDomainHeader{display:flex;align-items:center;gap:9px;padding:10px;border-bottom:1px solid #e8edf2;background:linear-gradient(90deg,color-mix(in srgb,var(--erd-color) 12%,#fff),#fff)}.erdDomainHeader>span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--erd-color);color:#fff;font-size:10px;font-weight:850}.erdDomainHeader div{display:grid;gap:2px}.erdDomainHeader strong{color:#243348;font-size:10px}.erdDomainHeader small{color:#8190a4;font-size:7px;text-transform:uppercase}.erdDomainTables{min-height:0;overflow:auto;display:grid;align-content:start;gap:8px;padding:9px}.erdTableCard{border:1px solid #dfe6ee;border-left:4px solid var(--erd-color);border-radius:10px;background:#fff;box-shadow:0 4px 14px #0f172a09;overflow:hidden}.erdTableCard header{padding:9px 10px 7px;border-bottom:1px solid #edf1f5}.erdTableCard header small{color:var(--erd-color);font-size:7px;font-weight:850;text-transform:uppercase;letter-spacing:.35px}.erdTableCard h3{margin:3px 0;color:#172033;font-size:12px}.erdTableCard p{margin:0;color:#718095;font-size:7px;line-height:1.4}.erdColumns{display:grid;gap:1px;padding:7px}.erdColumns div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:center;padding:5px 6px;border-radius:6px;background:#f8fafc}.erdColumns b{overflow:hidden;color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.erdColumns span{color:#64748b;font-size:7px;white-space:nowrap}.erdTableCard footer{display:flex;flex-wrap:wrap;gap:4px;padding:0 7px 8px}.erdTableCard footer span{padding:4px 6px;border-radius:999px;background:color-mix(in srgb,var(--erd-color) 10%,#fff);color:#475569;font-size:6px;font-weight:800}.erdRelationshipPanel{min-height:150px;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid #e0e7ee;border-radius:13px;background:#fff}.erdPanelHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #e8edf2}.erdPanelHeader div{display:grid;gap:2px}.erdPanelHeader strong{color:#27364a;font-size:11px}.erdPanelHeader small{color:#8290a3;font-size:8px}.erdPanelHeader code{padding:5px 7px;border-radius:7px;background:#f1f5f9;color:#64748b;font-size:8px}.erdRelationshipGrid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:7px;padding:10px}.erdRelationshipGrid div{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center;padding:8px;border:1px solid #e5ebf1;border-radius:9px;background:#fbfcfe}.erdRelationshipGrid b{overflow:hidden;color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.erdRelationshipGrid span{color:#2563eb;font-size:7px;font-weight:850;white-space:nowrap}.erdRelationshipGrid small{grid-column:1 / -1;color:#8290a3;font-size:7px}@media(max-width:1280px){.erdMap{grid-template-columns:repeat(3,minmax(230px,1fr))}.erdRelationshipGrid{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:860px){.developerHero{align-items:flex-start;flex-direction:column}.erdMap,.erdRelationshipGrid{grid-template-columns:1fr}}.developerModePage.erdDiagramMode{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.developerHero.compact{padding:13px 16px}.erdDiagramWorkspace{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:10px;overflow:hidden}.erdCanvas{min-width:0;min-height:0;overflow:auto;border:1px solid #e0e7ee;border-radius:14px;background:radial-gradient(circle at 50% 0%,#fff 0,#f8fbff 36%,#f4f7fb)}.erdCanvasInner{position:relative;width:1480px;height:930px}.erdEdges{position:absolute;inset:0;width:1480px;height:930px;pointer-events:none;overflow:visible}.erdEdges path{fill:none;stroke:#94a3b8;stroke-width:1.4;stroke-dasharray:5 4;marker-end:url(#erdArrow);opacity:.78}.erdEdges text{fill:#2563eb;font-size:9px;font-weight:850;paint-order:stroke;stroke:#fff;stroke-width:4px;stroke-linejoin:round}.erdEdges .erdFkLabel{fill:#64748b;font-size:7px;font-weight:750}.erdGraphNode{position:absolute;width:178px;height:132px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:3px;padding:10px;border:1px solid #dfe7ef;border-left:5px solid var(--erd-color);border-radius:12px;background:#fffffff5;color:#334155;text-align:left;box-shadow:0 10px 24px #0f172a12;cursor:pointer}.erdGraphNode:hover,.erdGraphNode.selected{border-color:#9dbcf0;border-left-color:#2563eb;background:#f8fbff;box-shadow:0 0 0 3px #2563eb1f,0 12px 26px #0f172a14;transform:translateY(-1px)}.erdGraphNode small{color:var(--erd-color);font-size:6px;font-weight:900;letter-spacing:.45px;text-transform:uppercase}.erdGraphNode strong{overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.erdGraphNode>span{display:-webkit-box;overflow:hidden;color:#718095;font-size:7px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.erdGraphNode dl{display:grid;gap:2px;margin:2px 0 0}.erdGraphNode dl div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:3px 5px;border-radius:5px;background:#f8fafc}.erdGraphNode dt{overflow:hidden;color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:7px;font-weight:800}.erdGraphNode dd{margin:0;color:#64748b;font-size:6px;white-space:nowrap}.erdInspector{min-height:0;overflow:auto;border:1px solid #e0e7ee;border-radius:14px;background:#fff}.erdInspector>p{margin:11px 12px;color:#64748b;font-size:9px;line-height:1.5}.erdInspectorColumns{display:grid;gap:4px;padding:0 12px 12px}.erdInspectorColumns div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:7px 8px;border-radius:7px;background:#f8fafc}.erdInspectorColumns b{overflow:hidden;color:#334155;text-overflow:ellipsis;white-space:nowrap;font-size:8px}.erdInspectorColumns span{color:#64748b;font-size:7px;white-space:nowrap}.erdInspector code{display:block;margin:12px;padding:8px;border-radius:8px;background:#f1f5f9;color:#64748b;font-size:8px;white-space:normal}.erdRelationshipPanel.compact{margin:0 12px 12px;min-height:auto}.erdRelationshipGrid.compact{grid-template-columns:1fr;padding:8px}@media(max-width:1180px){.erdDiagramWorkspace{grid-template-columns:1fr;overflow:auto}.erdInspector{min-height:320px}}
