*{box-sizing:border-box;margin:0;padding:0}:root{--border-radius: 16px;--border-radius-sm: 8px;--border-radius-lg: 24px;--bg-input: rgba(255, 255, 255, .08);--branded-gradient: linear-gradient(to right, #000000 0%, #000000 60%, #0c4650 100%)}body.light-theme{--bg-main: #0c4650;--bg-main2: #ffffff;--bg-panel: #f7f7f9;--bg-list: #dae1e9;--bg-list-hover: #c5cdd6;--bg-input-hover: #f0f0f0;--text-primary: #1c1f2a;--text-secondary: #758592;--text-inverse: #ffffff;--accent: #FF6B6B;--accent-disabled: rgba(255, 107, 107, .5);--modal-accent: #e7ff2a;--tab-bg-inactive: #dae1e9;--tab-bg-active: #ffffff;--border-color: #758592;--border-color-hover: #5a6b78;--button-bg: #dae1e9;--button-hover-bg: #c5cdd6;--menu-bg: #fff;--menu-text: #1c1f2a;--primary-color: #0c4650;--primary-color-hover: #0d5a66;--status-active-bg: #4caf50;--status-active-text: #fff;--success-green: #4caf50;--success-green-bg: rgba(76, 175, 80, .1);--failed-red: #f44336;--failed-red-bg: rgba(244, 67, 54, .1);--status-pending-bg: #ffc107;--status-pending-text: #1c1f2a;--status-completed-bg: #0c4650;--status-completed-text: #fff;--status-archived-bg: #758592;--status-archived-text: #ffffff;--status-unknown-bg: #dae1e9;--status-unknown-text: #1c1f2a;--status-active: #4caf50;--status-completed: #0c4650;--status-archived: #758592;--status-pending: #ff9800;--status-unknown: #dae1e9;--status-active-hover: #43a047;--status-completed-hover: #0d5a66;--status-archived-hover: #5a6b78;--status-pending-hover: #f57c00;--prealarm-orange: #ff9800;--prealarm-orange-bg: rgba(255, 152, 0, .1);--prealarm-orange-border: rgba(255, 152, 0, .3);--delay-blue: #002B5C;--delay-blue-bg: rgba(0, 43, 92, .1);--delay-blue-border: rgba(0, 43, 92, .3);--info-blue: #2196f3;--info-blue-bg: rgba(33, 150, 243, .1);--info-blue-border: rgba(33, 150, 243, .3);--info-purple: #8e24aa;--info-purple-bg: rgba(142, 36, 170, .1);--link-color: #7ecbff;--disabled-grey: #ccc;--status-unknown-hover: #c5cdd6;--chip-text: #fff;--chip-shadow: 0 2px 4px rgba(0, 0, 0, .12);--button-hover-bg: #c8d922;--button-disabled-bg: rgba(255, 107, 107, .3);--button-danger-hover: #FF5555;--dialog-shadow: 0 4px 20px rgba(0, 0, 0, .5);--panel-shadow: 0 2px 8px rgba(0, 0, 0, .08);--panel-shadow-hover: 0 4px 12px rgba(0, 0, 0, .12);--panel-shadow-medium: 0 6px 16px rgba(0, 0, 0, .16);--panel-shadow-large: 0 8px 24px rgba(0, 0, 0, .2);--bg-gradient: linear-gradient(135deg, #0a353c 0%, #0c4650 100%);--floorplan-grid: #dae1e9;--floorplan-zone: rgba(0, 45, 93, .15);--floorplan-io: #43a047;--floorplan-default: #758592;--floorplan-smoke-detector: #FF6B6B;--floorplan-heat-detector: #ff6b6b;--floorplan-sounder: #4ecdc4;--floorplan-call-point: #45b7d1;--floorplan-io-module: #96ceb4;--floorplan-zone-device: #dae1e9;--floorplan-beacon: #fdcb6e;--floorplan-selected-stroke: #0c4650;--floorplan-stroke-default: #ffffff;--floorplan-text-default: #333333;--floorplan-text-muted: #999999;--floorplan-text-light: #666666;--floorplan-bg-main: #eef2ff;--floorplan-bg-overlay: rgba(0, 0, 0, .7);--floorplan-bg-cell: #f5f5f5;--floorplan-bg-cell-active: #ffffff;--floorplan-bg-cell-hover: #e8f4fd;--floorplan-bg-list: rgba(255, 255, 255, .05);--floorplan-bg-list-hover: rgba(255, 255, 255, .08);--floorplan-bg-preview: rgba(255, 255, 255, .08);--floorplan-bg-control: rgba(255, 255, 255, .9);--floorplan-bg-button-hover: rgba(0, 0, 0, .6);--floorplan-bg-button-default: rgba(0, 0, 0, .4);--matrix-header-bg: #0c4650;--matrix-header-text: #fff;--matrix-corner-bg: #0c4650;--matrix-row-bg: rgba(0, 45, 93, .1);--matrix-row-selected-bg: rgba(255, 107, 107, .1);--matrix-separator-bg: rgba(255, 107, 107, .05);--matrix-separator-border: #FF6B6B;--matrix-separator-text: #FF6B6B;--accent-hover: #FF5555;--matrix-row-hover-bg: rgba(255, 107, 107, .2);--header-gradient: linear-gradient(90deg, #0c4650 0%, #fff 100%);--scrollbar-track: #ffffff;--scrollbar-thumb: #0c4650;--scrollbar-thumb-hover: #0d5a66;--bg-chip-neutral: #dae1e9;--text-chip-neutral: #1c1f2a;--accent-highlight-bg: rgba(255, 107, 107, .15);--accent-highlight-text: #FF6B6B;--status-error-bg: rgba(255, 107, 107, .15);--status-error-text: #FF6B6B;--evacuate-red: #E63946;--evacuate-red-bg: rgba(230, 57, 70, .1);--evacuate-red-border: rgba(230, 57, 70, .3);--evacuate-red-shadow: rgba(230, 57, 70, .3);--status-info-bg: rgba(0, 45, 93, .15);--status-info-text: #0c4650;--floorplan-image-filter: none;--mermaid-node-color: #e1f5ff;--list-item-accent: var(--primary-color);--dashboard-accent: var(--primary-color)}body.dark-theme{--bg-main: #0c4650;--bg-main2: #1c1f2a;--bg-panel: #272a35;--bg-list: #303340;--bg-list-hover: rgba(255, 255, 255, .08);--bg-input: rgba(255, 255, 255, .08);--bg-input-hover: #3a3d4a;--text-primary: #fff;--text-secondary: rgba(255, 255, 255, .7);--text-inverse: #0c4650;--accent: #FF6B6B;--accent-disabled: rgba(255, 107, 107, .5);--modal-accent: #e7ff2a;--border-color: #758592;--border-color-hover: #a4b0bb;--tab-bg-inactive: #303340;--tab-bg-active: #3a3d4a;--button-bg: #303340;--button-hover-bg: #3a3d4a;--menu-bg: #1c1f2a;--menu-text: #fff;--primary-color: #0c4650;--primary-color-hover: #0d5a66;--status-active-bg: #388e3c;--status-active-text: #fff;--status-pending-bg: #ffd54f;--status-pending-text: #1c1f2a;--status-completed-bg: #0c4650;--status-completed-text: #fff;--status-archived-bg: #758592;--status-archived-text: #fff;--status-unknown-bg: #3a3d4a;--status-unknown-text: #fff;--status-active: #388e3c;--status-completed: #0c4650;--status-archived: #758592;--status-pending: #ffd54f;--status-unknown: #3a3d4a;--status-active-hover: #2e7d32;--status-completed-hover: #0d5a66;--status-archived-hover: #5a6b78;--status-pending-hover: #e65100;--status-unknown-hover: #474a57;--success-green: #4caf50;--success-green-bg: rgba(76, 175, 80, .15);--failed-red: #f44336;--failed-red-bg: rgba(244, 67, 54, .15);--prealarm-orange: #ff9800;--prealarm-orange-bg: rgba(255, 152, 0, .15);--prealarm-orange-border: rgba(255, 152, 0, .3);--delay-blue: #4a90d9;--delay-blue-bg: rgba(74, 144, 217, .15);--delay-blue-border: rgba(74, 144, 217, .3);--info-blue: #42a5f5;--info-blue-bg: rgba(66, 165, 245, .15);--info-blue-border: rgba(66, 165, 245, .3);--info-purple: #ba68c8;--info-purple-bg: rgba(186, 104, 200, .15);--link-color: #7ecbff;--disabled-grey: #4a4a4a;--chip-text: #fff;--chip-shadow: 0 2px 4px rgba(0, 0, 0, .32);--button-hover-bg: #c8d922;--button-disabled-bg: rgba(255, 107, 107, .3);--button-danger-hover: #FF5555;--dialog-shadow: 0 4px 20px rgba(0, 0, 0, .7);--panel-shadow: 0 2px 10px rgba(0, 0, 0, .25);--panel-shadow-hover: 0 4px 15px rgba(0, 0, 0, .35);--panel-shadow-medium: 0 6px 20px rgba(0, 0, 0, .4);--panel-shadow-large: 0 8px 30px rgba(0, 0, 0, .5);--bg-gradient: linear-gradient(135deg, #0a353c 0%, #0c4650 100%);--floorplan-grid: #303340;--floorplan-zone: rgba(0, 45, 93, .3);--floorplan-io: #81c784;--floorplan-default: #758592;--floorplan-smoke-detector: #FF6B6B;--floorplan-heat-detector: #ff6b6b;--floorplan-sounder: #4ecdc4;--floorplan-call-point: #45b7d1;--floorplan-io-module: #96ceb4;--floorplan-zone-device: #303340;--floorplan-beacon: #fdcb6e;--floorplan-selected-stroke: #0c4650;--floorplan-stroke-default: #ffffff;--floorplan-text-default: #ffffff;--floorplan-text-muted: #a4b0bb;--floorplan-text-light: #758592;--floorplan-bg-main: #1c1f2a;--floorplan-bg-overlay: rgba(0, 0, 0, .8);--floorplan-bg-cell: #272a35;--floorplan-bg-cell-active: #303340;--floorplan-bg-cell-hover: #3a3d4a;--floorplan-bg-list: rgba(255, 255, 255, .05);--floorplan-bg-list-hover: rgba(255, 255, 255, .08);--floorplan-bg-preview: rgba(255, 255, 255, .08);--floorplan-bg-control: rgba(255, 255, 255, .9);--floorplan-bg-button-hover: rgba(0, 0, 0, .6);--floorplan-bg-button-default: rgba(0, 0, 0, .4);--matrix-header-bg: #0c4650;--matrix-header-text: #fff;--matrix-corner-bg: #0c4650;--matrix-row-bg: rgba(0, 45, 93, .3);--matrix-row-selected-bg: rgba(255, 107, 107, .2);--matrix-row-hover-bg: rgba(255, 107, 107, .3);--header-gradient: linear-gradient(90deg, #0c4650 0%, #1b263b 100%);--scrollbar-track: #1c1f2a;--scrollbar-thumb: #758592;--scrollbar-thumb-hover: #a4b0bb;--bg-chip-neutral: #303340;--text-chip-neutral: #fff;--accent-highlight-bg: rgba(255, 107, 107, .3);--accent-highlight-text: #fff;--status-error-bg: rgba(255, 107, 107, .3);--status-error-text: #fff;--evacuate-red: #E63946;--evacuate-red-bg: rgba(230, 57, 70, .1);--evacuate-red-border: rgba(230, 57, 70, .3);--evacuate-red-shadow: rgba(230, 57, 70, .3);--status-info-bg: rgba(0, 45, 93, .3);--status-info-text: #fff;--floorplan-image-filter: invert(1) grayscale(1);--mermaid-node-color: #1a3a4a;--list-item-accent: var(--modal-accent);--dashboard-accent: var(--modal-accent)}body{margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-panel);color:var(--text-primary);transition:background .2s,color .2s}#root{height:100vh}.cursor-pointer{cursor:pointer}.text-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:transparent;border-radius:2px}::-webkit-scrollbar-thumb{background:#75859266;border-radius:2px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#758592b3}*{scrollbar-width:thin;scrollbar-color:rgba(117,133,146,.4) transparent}button{cursor:pointer}*:focus{outline:2px solid var(--accent);outline-offset:2px}.floorplan-overlay:focus{outline:none}.floorplan-overlay *:focus{outline:none}.leaflet-container{border-radius:8px;overflow:hidden}.leaflet-control-attribution{background:var(--bg-panel)!important;color:var(--text-secondary)!important;font-size:10px!important;padding:3px 6px!important;border-radius:4px!important;border:none!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important}.leaflet-control-attribution a{color:var(--accent)!important;text-decoration:none!important}.leaflet-control-attribution a:hover{text-decoration:underline!important}.leaflet-control-zoom{border-radius:6px!important;overflow:hidden!important;box-shadow:0 2px 8px #00000026!important}.leaflet-control-zoom a{border-radius:0!important;color:var(--text-primary)!important;background:var(--bg-panel)!important;border:1px solid var(--border-color)!important;width:24px!important;height:24px!important;line-height:24px!important;font-size:14px!important;font-weight:700!important;margin:0!important;transition:all .2s ease!important}.leaflet-control-zoom a:first-child{border-bottom:1px solid var(--border-color)!important}.leaflet-control-zoom a:hover{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}.leaflet-control-zoom a:active{transform:scale(.95)!important}.leaflet-popup-content-wrapper{border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;border:1px solid var(--border-color)!important}.leaflet-popup-tip{border-top-color:var(--border-color)!important}.custom-marker{background:transparent!important;border:none!important}.header{background-color:var(--bg-main);color:var(--text-primary)}.panel{background:var(--bg-panel);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--panel-shadow);overflow:hidden;padding:16px;transition:box-shadow .3s ease-in-out}.panel:hover{box-shadow:var(--panel-shadow-hover)}.panel-list{background:var(--bg-list);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--panel-shadow);overflow:hidden;padding:16px;transition:box-shadow .3s ease-in-out}.panel-list:hover{box-shadow:var(--panel-shadow-hover)}.list-item{background-color:var(--bg-list);color:var(--text-primary);border-bottom:1px solid var(--border-color)}.list-item:hover{background-color:var(--bg-list-hover)}.button{background-color:var(--button-bg)!important;color:var(--text-primary)!important;border:none!important;border-radius:var(--border-radius-sm)!important;transition:all .2s ease-in-out!important;text-transform:none!important;font-weight:500!important}.button:hover{background-color:var(--button-hover-bg)!important;color:var(--accent)!important;transform:translateY(-1px)!important;box-shadow:0 2px 8px #00000026!important}.tab.active{background-color:var(--tab-bg-active);color:var(--text-primary)}.MuiListItem-root,.MuiListItemButton-root{border-radius:12px!important;overflow:hidden!important}.login-container{height:100vh;display:flex;justify-content:center;align-items:center;background-color:var(--bg-panel)}.login-paper{background:var(--primary-color)!important;padding:2.5rem 2rem;display:flex;flex-direction:column;align-items:center;border-radius:8px!important;width:100%;max-width:420px;box-shadow:0 10px 25px #0003!important;position:relative;z-index:2}.login-logo-container{display:flex;justify-content:center;align-items:center;margin-bottom:.5rem;width:auto;height:auto}.login-title{color:var(--text-inverse)!important;margin-bottom:1rem!important;font-weight:400!important;letter-spacing:.5px!important}.login-form{width:100%}.login-textfield{margin-bottom:.5rem!important}.login-textfield .MuiOutlinedInput-notchedOutline{border-color:var(--border-color)}.login-textfield:hover .MuiOutlinedInput-notchedOutline{border-color:var(--border-color-hover)}.login-textfield.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--accent)!important;border-width:2px}.login-textfield .MuiInputLabel-root{color:var(--text-secondary)}.login-textfield .MuiInputLabel-root.Mui-focused{color:var(--accent)}.login-textfield input{color:var(--text-primary);padding:10px 14px;background:var(--bg-input)!important}.login-textfield .MuiFormHelperText-root{margin-top:0!important;font-size:.7rem;color:#fff!important}.login-button{margin-top:1.5rem!important;margin-bottom:.5rem!important;background-color:var(--accent-disabled)!important;color:var(--text-inverse)!important;height:42px;font-weight:500!important}.login-button:hover{background-color:var(--accent)!important;color:var(--text-inverse)!important}.login-link{transition:opacity .2s ease}.login-link:hover{opacity:1!important;text-decoration:underline;color:var(--accent)!important}.login-background{min-height:100vh;width:100vw;background:linear-gradient(to bottom,#002347,#036);position:fixed;top:0;left:0;z-index:0;overflow:hidden}.login-background:before{content:"";position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:1;pointer-events:none;background-size:auto;background-repeat:repeat;background-position:top left;background-attachment:fixed;opacity:.15}.login-textfield input,.login-textfield input:-webkit-autofill,.login-textfield input:-webkit-autofill:focus,.login-textfield input:-webkit-autofill:hover,.login-textfield input:-webkit-autofill:active{background:#ffffff14!important;-webkit-box-shadow:0 0 0 100px rgba(255,255,255,.08) inset!important;-webkit-text-fill-color:#fff!important;color:#fff!important;border-radius:8px!important}.login-textfield input:-webkit-autofill,.login-textfield input:-webkit-autofill:focus,.login-textfield input:-webkit-autofill:hover,.login-textfield input:-webkit-autofill:active{background:transparent!important;-webkit-box-shadow:0 0 0 1000px transparent inset!important;-webkit-text-fill-color:#fff!important;color:#fff!important;caret-color:#fff!important;border-radius:3px!important;transition:background-color 9999s ease-in-out 0s!important}input[type=password]::-ms-reveal,input[type=password]::-webkit-credentials-auto-fill-button,input[type=password]::-webkit-strong-password-auto-fill-button{display:none!important}.MuiInputAdornment-root .MuiIconButton-root[aria-label*="toggle password"],.MuiInputAdornment-root .MuiIconButton-root[aria-label="toggle password visibility"]{color:var(--accent)!important}.MuiInputAdornment-root .MuiIconButton-root[aria-label*="toggle password"]:hover,.MuiInputAdornment-root .MuiIconButton-root[aria-label="toggle password visibility"]:hover{color:var(--accent)!important;background-color:var(--accent-highlight-bg)!important}.MuiInputAdornment-root .MuiIconButton-root[aria-label*="toggle password"] svg,.MuiInputAdornment-root .MuiIconButton-root[aria-label="toggle password visibility"] svg{color:var(--accent)!important}.thin-scrollbar::-webkit-scrollbar{width:4px;height:4px}.thin-scrollbar::-webkit-scrollbar-track{background:transparent}.thin-scrollbar::-webkit-scrollbar-thumb{background:#7585924d;border-radius:2px;transition:background .2s ease}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:#75859299}.thin-scrollbar{scrollbar-width:thin;scrollbar-color:rgba(117,133,146,.3) transparent}.minimal-scrollbar::-webkit-scrollbar{width:2px;height:2px}.minimal-scrollbar::-webkit-scrollbar-track{background:transparent}.minimal-scrollbar::-webkit-scrollbar-thumb{background:#75859233;border-radius:1px;transition:all .2s ease}.minimal-scrollbar::-webkit-scrollbar-thumb:hover{background:#75859280;width:4px}.minimal-scrollbar{scrollbar-width:thin;scrollbar-color:rgba(117,133,146,.2) transparent}.hover-scrollbar{overflow:auto;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:transparent transparent}.hover-scrollbar::-webkit-scrollbar{width:4px;height:4px}.hover-scrollbar::-webkit-scrollbar-track{background:transparent}.hover-scrollbar::-webkit-scrollbar-thumb{background:transparent;border-radius:2px;transition:background .2s ease}.hover-scrollbar:hover{scrollbar-color:rgba(117,133,146,.4) transparent}.hover-scrollbar:hover::-webkit-scrollbar-thumb{background:#75859266}.hover-scrollbar:hover::-webkit-scrollbar-thumb:hover{background:#758592b3}.floorplan-image{filter:var(--floorplan-image-filter);background:var(--floorplan-bg-cell-active);image-rendering:-webkit-optimize-contrast;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges;image-rendering:pixelated;object-fit:contain;object-position:center;max-width:100%;max-height:100%;width:auto;height:auto;transition:all .2s ease;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.evacuate-flash{animation:evacuateFlash .6s infinite}@keyframes evacuateFlash{0%,to{opacity:1;fill:var(--evacuate-red)}50%{opacity:.3;fill:var(--evacuate-red)}}.prealarm-pulse{animation:preAlarmPulse .6s infinite}@keyframes preAlarmPulse{0%,to{opacity:1;fill:var(--prealarm-orange)}50%{opacity:.5;fill:var(--prealarm-orange)}}.alert-flash{animation:alertFlash .6s infinite}@keyframes alertFlash{0%,to{opacity:1;fill:var(--modal-accent)}50%{opacity:.3;fill:var(--modal-accent)}}.evacuate-flash-path{animation:evacuateFlashPath .6s infinite;animation-delay:0s}@keyframes evacuateFlashPath{0%,to{fill:var(--evacuate-red)}50%{fill:var(--bg-panel)}}.prealarm-flash-path{animation:prealarmFlashPath .6s infinite;animation-delay:0s}@keyframes prealarmFlashPath{0%,to{fill:var(--modal-accent)}50%{fill:var(--bg-panel)}}.detector-flash-path{animation:detectorFlashPath .6s infinite;animation-delay:0s}@keyframes detectorFlashPath{0%,to{fill:var(--info-blue)}50%{fill:var(--bg-panel)}}.grid-cell-evacuate-flash{animation:gridCellEvacuateFlash .6s infinite;animation-fill-mode:both;animation-play-state:running}@keyframes gridCellEvacuateFlash{0%,to{border-color:#ffffff1a}50%{border-color:var(--evacuate-red)}}.grid-cell-prealarm-flash{animation:gridCellPrealarmFlash .6s infinite;animation-fill-mode:both;animation-play-state:running}@keyframes gridCellPrealarmFlash{0%,to{border-color:#ffffff1a}50%{border-color:var(--prealarm-orange)}}.grid-cell-detector-flash{animation:gridCellDetectorFlash .6s infinite;animation-fill-mode:both;animation-play-state:running}@keyframes gridCellDetectorFlash{0%,to{border-color:#ffffff1a}50%{border-color:var(--info-blue)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}body:has(.MuiBackdrop-root:not(.MuiMenu-root .MuiBackdrop-root):not(.MuiPopover-root .MuiBackdrop-root)),body:has([class*=MuiModal-root]:not(.MuiMenu-root):not(.MuiPopover-root)){overflow:hidden}body:has(.MuiBackdrop-root:not(.MuiMenu-root .MuiBackdrop-root):not(.MuiPopover-root .MuiBackdrop-root)) #root,body:has([class*=MuiModal-root]:not(.MuiMenu-root):not(.MuiPopover-root)) #root{filter:blur(4px);transition:filter 0s;pointer-events:none}.MuiModal-root,.MuiDialog-root,.MuiDrawer-root,.presentation-mode-container,.presentation-mode-container *{filter:none!important;pointer-events:auto!important}body:has(.presentation-mode-container) #root{filter:none!important;pointer-events:auto!important}body.modal-open #root{filter:blur(4px);transition:filter 0s}body:not(.modal-open) #root{filter:none;transition:none}.floorplan-image{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:optimize-quality;-ms-interpolation-mode:bicubic;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}canvas.floorplan-image{image-rendering:-webkit-optimize-contrast;image-rendering:optimize-quality}
