@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";.flex{margin-top:10px;display:flex;justify-content:space-evenly}.alignLabel{color:#fff;background-color:#3b3b3bde;padding:2px 15px;font-family:Open Sans}.doubleCanvasContainer{display:flex;flex-direction:column}.halfScreenCanvas{position:relative;height:50%;width:100%}.grayBorderBottom{border-bottom:1px solid gray}.fullScreenCanvas{height:100vh;width:100vw;border:1px solid gray;box-sizing:border-box}.test-align{position:absolute;width:300px;z-index:99;background-color:#fff;top:0}.loading-screen{position:absolute;background-color:#000000c7;top:0;left:0;height:100%;width:100%;display:flex;justify-content:center;align-items:center;z-index:99}.loading-logo{animation:logo-animation 4s infinite ease-in-out;width:8em;margin-bottom:2em}@keyframes logo-animation{0%{transform:rotate(0)}10%{transform:translateY(-20px)}20%{transform:rotate(0)}60%{transform:rotate(180deg)}to{transform:rotate(0)}}.loading-text{margin:0;text-align:center;color:#fff;font-family:Open Sans;font-size:1.25em;font-weight:700;letter-spacing:.05em;animation:rotating-animation 2s infinite}@keyframes rotating-animation{0%{transform:rotate(0)}10%{transform:rotate(10deg)}20%{transform:rotate(-10deg)}30%{transform:rotate(0)}}.flex{display:flex}.pointer-events-all{pointer-events:all}.touch-action-none{touch-action:none}.measure-tag{font-family:Open Sans;font-size:.8em;font-weight:600;background-color:#4adede;white-space:nowrap;padding:2px 15px;border-radius:1em;border:1px solid #137876;-webkit-user-select:none;-ms-user-select:none;user-select:none;pointer-events:all;position:relative;z-index:1000}.measure-close{pointer-events:all;width:1.25em;position:absolute;top:-.5em;right:-.5em;cursor:pointer;-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.volume-measure-tag{display:flex;align-items:center;font-family:Open Sans;font-size:.8em;font-weight:600;background-color:#4adede;white-space:nowrap;padding:2px 15px;border-radius:10px;border:1px solid #137876;-webkit-user-select:none;-ms-user-select:none;user-select:none;position:relative;z-index:1000}.volume-measure-close{pointer-events:all;width:1.25em;position:absolute;top:0;right:-.5em;cursor:pointer;-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.crop-rect-action-btn{transition:background-color .15s ease,box-shadow .15s ease,transform .1s ease}.crop-rect-action-btn:hover{background-color:#00d4ff59!important;box-shadow:0 0 10px #00d4ff66}.crop-rect-action-btn:active{background-color:#00d4ff8c!important;box-shadow:0 0 6px #00d4ff80;transform:scale(.96)}.crop-rect-action-btn.is-active{background-color:#00d4ff!important}.crop-rect-action-btn.is-active:hover{background-color:#3df!important;box-shadow:0 0 12px #00d4ff99}.crop-rect-action-btn.is-active:active{background-color:#00b8e6!important;transform:scale(.96)}.check-button{padding-left:5px;width:28px}.check-button:hover{cursor:pointer}.deviation-distances{background-color:#fff;width:max-content;font-size:.75em;padding:2px 10px;pointer-events:none;position:relative;top:.5em;font-family:Open Sans;border-radius:10px;left:1em;border:1px solid rgb(90,90,90);-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:1000}.point-coordinates-tooltip{position:fixed;bottom:.1em;right:0;transform:translate(-50%);background-color:#ffffffe6;padding:.4em;border-radius:5px;box-shadow:0 0 10px #0000004d;display:flex;flex-direction:row;align-items:center;justify-content:center;font-family:Arial,sans-serif;color:#333;font-size:14px;pointer-events:none}.is-bim{bottom:calc(50% + .1rem)!important}.coordinate{margin:0;width:80px}.cross_marker{height:6em;width:6em;border-radius:5px;position:relative}.cross_marker:after{position:absolute;top:0;bottom:0;left:0;right:0;content:"❌";font-size:1em;line-height:6em;text-align:center;filter:invert(50%) sepia(100%) saturate(200%) hue-rotate(25deg) brightness(92%) contrast(400%)}.square_marker{height:.6em;width:.6em;border:2px solid #cdcd04;pointer-events:"none";transition:all .15s ease-in-out}.crop-heatmap-loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.crop-heatmap-loading-panel{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.72);border:1px solid rgba(0,212,255,.45);border-radius:8px;padding:10px 14px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.crop-heatmap-loading-spinner{width:16px;height:16px;border:2px solid rgba(0,212,255,.35);border-top-color:#00d4ff;border-radius:50%;animation:crop-heatmap-spin .8s linear infinite}.crop-heatmap-loading-text{font-family:Open Sans,sans-serif;font-size:12px;font-weight:600;color:#e8faff;letter-spacing:.2px}@keyframes crop-heatmap-spin{to{transform:rotate(360deg)}}.ff-summary-progress-track{width:100%;height:4px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden;margin-top:4px}.ff-summary-progress-fill{height:100%;background:linear-gradient(90deg,#00a8cc,#00d4ff);border-radius:2px;transition:width .25s ease-out}.ff-summary-progress-fill--busy{background:linear-gradient(90deg,#0088a8,#00d4ff,#00a8cc);background-size:200% 100%;animation:ff-summary-indeterminate 1.1s ease-in-out infinite}@keyframes ff-summary-indeterminate{0%{background-position:100% 0}to{background-position:-100% 0}}.ff-summary-jobs-panel{position:fixed;left:2px;right:auto;bottom:0;transform:none;z-index:99990;width:min(236px,calc(.7*(100vw - 24px)));font-family:Open Sans,sans-serif;border-radius:12px 12px 0 0;box-shadow:0 -4px 24px #00000073;border:1px solid rgba(0,212,255,.38);border-bottom:none;background:rgba(18,22,28,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.ff-summary-jobs-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#e8faff;font-size:13px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.08)}.ff-summary-jobs-panel-header:hover{background:rgba(0,212,255,.06)}.ff-summary-jobs-panel-chevron{display:inline-block;font-size:10px;opacity:.75;transition:transform .2s ease}.ff-summary-jobs-panel-chevron--open{transform:rotate(180deg)}.ff-summary-jobs-panel-body{max-height:220px;overflow-y:auto;padding:8px 12px 12px}.ff-summary-jobs-panel-row{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.ff-summary-jobs-panel-row:last-child{border-bottom:none}.ff-summary-jobs-panel-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:3px}.ff-summary-jobs-panel-row-title{flex:1;min-width:0;font-size:12px;font-weight:600;color:#e8faff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ff-summary-jobs-panel-analysis-name{color:#b8e6f0eb;font-weight:600}.ff-summary-jobs-panel-title-sep{font-weight:500;opacity:.85}.ff-summary-jobs-panel-cancel{flex-shrink:0;margin-top:-2px;padding:2px 8px;font-size:10px;font-weight:600;line-height:1.3;color:#ffb8b8;background:rgba(255,80,80,.14);border:1px solid rgba(255,120,120,.45);border-radius:8px;cursor:pointer}.ff-summary-jobs-panel-cancel:hover{background:rgba(255,80,80,.24)}.ff-summary-jobs-panel-row-label{font-size:11px;color:#b8e6f0e6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.general-hoc-jobs-panel{position:fixed;right:2px;left:auto;bottom:0;z-index:99990;width:min(236px,calc(.7*(100vw - 24px)));font-family:Open Sans,sans-serif;border-radius:12px 12px 0 0;box-shadow:0 -4px 24px #00000073;border:1px solid rgba(255,200,120,.45);border-bottom:none;background:rgba(28,22,18,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overflow:hidden}.general-hoc-jobs-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#fff4e8;font-size:13px;font-weight:600;border-bottom:1px solid rgba(255,255,255,.08)}.general-hoc-jobs-panel-header:hover{background:rgba(255,180,80,.08)}.general-hoc-jobs-panel-chevron{display:inline-block;font-size:10px;opacity:.75;transition:transform .2s ease}.general-hoc-jobs-panel-chevron--open{transform:rotate(180deg)}.general-hoc-jobs-panel-body{max-height:220px;overflow-y:auto;padding:8px 12px 12px}.general-hoc-jobs-panel-actions{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}.general-hoc-jobs-panel-open,.general-hoc-jobs-panel-dismiss{flex:1 1 auto;min-width:96px;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:600;cursor:pointer;border:1px solid rgba(255,200,120,.5)}.general-hoc-jobs-panel-open{background:rgba(120,70,20,.35);color:#fff4e8}.general-hoc-jobs-panel-dismiss{background:transparent;color:#ffb4a0f2;border-color:#ff8c7873}.general-hoc-jobs-panel-row{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.06)}.general-hoc-jobs-panel-row:last-child{border-bottom:none}.general-hoc-jobs-panel-row-title{font-size:12px;font-weight:600;color:#fff4e8;margin-bottom:3px}.general-hoc-jobs-panel-row-label{font-size:11px;color:#ffe0c8e6;margin-bottom:4px}.general-hoc-jobs-progress-track{width:100%;height:4px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden;margin-top:4px}.general-hoc-jobs-progress-fill{height:100%;background:linear-gradient(90deg,#ee9b00,#ffb703);border-radius:2px;transition:width .25s ease-out}.general-hoc-jobs-progress-fill--busy{background:linear-gradient(90deg,#ca6702,#ffb703,#ee9b00);background-size:200% 100%;animation:ff-summary-indeterminate 1.1s ease-in-out infinite}.floor-flatness-line-spinner{width:12px;height:12px;border:2px solid rgba(223,249,255,.35);border-top-color:#00d4ff;border-radius:50%;display:inline-block;animation:floor-flatness-line-spin .8s linear infinite}@keyframes floor-flatness-line-spin{to{transform:rotate(360deg)}}.tooltip-white{z-index:2147483647!important;color:gray!important;background-color:#fff!important;opacity:1!important;position:fixed!important;pointer-events:none!important;font-family:Open Sans,sans-serif!important;font-size:10px!important;padding:4px 6px!important;line-height:1.2!important}.toolbar-group-tooltip[data-place=top]{top:auto!important;bottom:auto!important}.tooltip-radius{border-radius:6px!important}.tooltip-small-font{font-size:10px!important}.side-menu{-webkit-user-select:none;user-select:none;background-color:#ebecec;height:100vh;width:5.5em;position:absolute;top:0;display:flex;flex-direction:column;align-items:center;z-index:25}.side-menu::-webkit-scrollbar{width:0px}.align-menu{-webkit-user-select:none;user-select:none;height:100vh;width:60px;position:absolute;top:0;left:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.tools-group{border-radius:20px;background-color:#ebecec;text-align:center}.tools-group-title{margin:0;color:#7c7c7c;font-family:Open Sans;font-size:.6em}.tools-group>button{margin-top:1.25em}.tools-group-separator{width:80%}.left-menu_button{display:inline-block;position:relative;width:2.5em;height:2.5em;border:0;margin-left:5px;margin-right:5px;pointer-events:auto;background-color:transparent;outline:none}.left-menu_button:hover{cursor:pointer;border-radius:50%;box-shadow:0 3px 1px 1px #0000005c!important}button>img{width:80%}div>img{width:70%}input[type=range][orient=vertical]{writing-mode:bt-lr;-webkit-appearance:slider-vertical;width:8px;height:175px;padding:0 5px}.left-desplegable{position:absolute;top:-1em;left:3em;width:3em;background-color:#ebecec;padding-bottom:1em;border-radius:8px;pointer-events:none;z-index:26}.left-desplegable>button{margin-top:1.25em}.active{filter:invert(51%) sepia(55%) saturate(5266%) hue-rotate(162deg) brightness(98%) contrast(101%)}.disabled{filter:invert(68%) sepia(0%) saturate(0%) hue-rotate(344deg) brightness(94%) contrast(87%)}.pointer-events-none{pointer-events:none}.inline-block{display:inline-block}.position-relative{position:relative}.text-center{text-align:center}.opacity-slider-container{display:flex;flex-direction:row;align-items:center;gap:12px;position:fixed;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 16px;border-radius:10px;box-shadow:0 4px 16px #0000001f;border:1px solid rgba(0,0,0,.08);-webkit-user-select:none;-ms-user-select:none;user-select:none;z-index:1999;transition:all .3s cubic-bezier(.4,0,.2,1)}.is-bottom-left{left:20px;bottom:80px}.is-top-right{right:20px!important;top:20px}.opacity-slider-input{width:200px;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(0,0,0,.1);border-radius:3px;outline:none;transition:background .2s;position:relative;z-index:1}.opacity-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#4adede;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #4adede66;transition:all .2s}.opacity-slider-input::-webkit-slider-thumb:hover{background:#3ac8c8;box-shadow:0 2px 8px #4adede99;transform:scale(1.1)}.opacity-slider-input::-moz-range-thumb{width:16px;height:16px;background:#4adede;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #4adede66;transition:all .2s}.opacity-slider-input::-moz-range-thumb:hover{background:#3ac8c8;box-shadow:0 2px 8px #4adede99;transform:scale(1.1)}.opacity-slider-text{font-family:Open Sans,sans-serif;font-size:12px;font-weight:500;text-align:left;letter-spacing:0;color:#333;min-width:120px;white-space:nowrap}.inspection-return-button{display:flex;justify-content:flex-start;align-items:center;gap:8px;min-width:132px;height:60px;position:fixed;right:70px;bottom:calc(max(2px,env(safe-area-inset-bottom,0px)) + 27px);padding:0 14px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#245f9d;border:1px solid rgba(36,95,157,.2);border-radius:12px;box-shadow:0 4px 20px #00000026;cursor:pointer;font-family:Open Sans,sans-serif;font-size:12px;font-weight:600;letter-spacing:.01em;z-index:2000;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.inspection-return-button:hover{background:#f5faff;border-color:#245f9d61;box-shadow:0 6px 20px #245f9d33;transform:translateY(-1px)}.inspection-return-button:focus-visible{outline:3px solid rgba(48,143,218,.4);outline-offset:2px}.tool-utils{position:absolute;display:flex;flex-direction:column;justify-content:left;align-items:start;gap:.1em;left:6em;top:.2em;width:calc(100vw - 5.5em);border-radius:10px;font-family:Open Sans;pointer-events:none}.vertices-adjustment{display:flex;justify-content:space-around;background-color:#ebecec;padding:10px;height:1em;width:max-content;border-radius:10px;font-family:Open Sans;font-size:.8em;align-items:center;pointer-events:all;column-gap:1em}.sectionbox-options{display:flex;align-items:center;justify-content:space-around;background-color:#ebecec;padding:.5em;gap:1em;border-radius:10px;font-family:Open Sans;font-size:.8em;pointer-events:all}.sectionplane-options,.areameasure-planes{display:flex;justify-content:space-around;background-color:#ebecec;padding:.5em;gap:1em;border-radius:10px;font-family:Open Sans;pointer-events:all}.areameasure-utils{display:flex;justify-content:space-around;background-color:#ebecec;padding:10px;height:40px;width:125px;border-radius:10px;font-family:Open Sans;pointer-events:all}.plane-button{height:30px;padding:.1em;border:none;cursor:pointer}.plane-button:hover{cursor:pointer;border-radius:50%;box-shadow:0 3px 1px 1px #0000005c!important}.plane-button>img{height:100%;width:100%}.box-reset-button{border-radius:10px;cursor:pointer;color:gray;border-color:gray}.sectionbox-confirm-button{display:inline-flex;align-items:center;justify-content:center;padding:.25em;border:none;border-radius:8px;background:#2ecc71;cursor:pointer;transition:background .2s}.sectionbox-confirm-button:hover{background:#27ae60}.sectionbox-confirm-button .sectionbox-confirm-icon{height:1.1em;width:1.1em;filter:brightness(0) invert(1)}.double-scale{transform:scale(1.5);accent-color:#4adede}.alignment-tools-group{border-radius:20px;background-color:#ebecec;text-align:center}.cloud-alignment-tools{display:flex;left:5px;position:absolute;bottom:20px;border-radius:20px;background-color:#ebecec;text-align:center;padding:10px 2px}.bim-alignment-tools{display:flex;left:5px;position:absolute;top:20px;border-radius:20px;background-color:#ebecec;text-align:center;padding:10px 2px}.alignment-tools-group>button{margin-top:25px}.pco-sectionbox-options{display:flex;justify-content:space-around;align-items:center;background-color:#ebecec;min-width:15em;font-size:.8em;gap:.1rem;font-family:Open Sans;pointer-events:all}.alignment-vertices-adjustment{display:flex;justify-content:space-around;background-color:#ebecec;min-width:15em;font-size:.8em;position:absolute;top:5em;padding:.5em;border-radius:1em;font-family:Open Sans;pointer-events:all}:root{--rt-color-white:#fff;--rt-color-dark:#222;--rt-color-success:#8dc572;--rt-color-error:#be6464;--rt-color-warning:#f0ad4e;--rt-color-info:#337ab7;--rt-opacity:.9;--rt-transition-show-delay:.15s;--rt-transition-closing-delay:.15s;--rt-arrow-size:8px}.core-styles-module_tooltip__3vRRp{left:0;opacity:0;pointer-events:none;position:absolute;top:0;will-change:opacity}.core-styles-module_fixed__pcSol{position:fixed}.core-styles-module_arrow__cvMwQ{background:inherit;position:absolute;z-index:-1}.core-styles-module_noArrow__xock6{display:none}.core-styles-module_clickable__ZuTTB{pointer-events:auto}.core-styles-module_show__Nt9eE{opacity:var(--rt-opacity);transition:opacity var(--rt-transition-show-delay) ease-out}.core-styles-module_closing__sGnxF{opacity:0;transition:opacity var(--rt-transition-closing-delay) ease-in}.styles-module_tooltip__mnnfp{border-radius:3px;font-size:90%;padding:8px 16px;width:max-content}.styles-module_arrow__K0L3T{height:var(--rt-arrow-size);width:var(--rt-arrow-size)}[class*=react-tooltip__place-top]>.styles-module_arrow__K0L3T{transform:rotate(45deg)}[class*=react-tooltip__place-right]>.styles-module_arrow__K0L3T{transform:rotate(135deg)}[class*=react-tooltip__place-bottom]>.styles-module_arrow__K0L3T{transform:rotate(225deg)}[class*=react-tooltip__place-left]>.styles-module_arrow__K0L3T{transform:rotate(315deg)}.styles-module_dark__xNqje{background:var(--rt-color-dark);color:var(--rt-color-white)}.styles-module_light__Z6W-X{background-color:var(--rt-color-white);color:var(--rt-color-dark)}.styles-module_success__A2AKt{background-color:var(--rt-color-success);color:var(--rt-color-white)}.styles-module_warning__SCK0X{background-color:var(--rt-color-warning);color:var(--rt-color-white)}.styles-module_error__JvumD{background-color:var(--rt-color-error);color:var(--rt-color-white)}.styles-module_info__BWdHW{background-color:var(--rt-color-info);color:var(--rt-color-white)}.toolbar-bottom-stack{position:fixed;bottom:max(2px,env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;z-index:2000;max-width:calc(100vw - 24px);width:max-content;box-sizing:border-box}.toolbar-container{position:relative;bottom:auto;left:auto;transform:none;display:flex;flex-direction:row;gap:12px;align-items:stretch;width:fit-content;flex-shrink:0}.modern-toolbar,.true-north-toolbar,.projection-toolbar{box-sizing:border-box;min-height:60px;padding:8px 12px;display:flex;align-items:center;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;box-shadow:0 4px 20px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1);width:fit-content;-webkit-user-select:none;user-select:none;border:1px solid rgba(0,0,0,.08);overflow:visible;position:relative}.modern-toolbar{z-index:2001;max-width:100vw;overflow:visible}.modern-toolbar::-webkit-scrollbar{height:4px}.modern-toolbar::-webkit-scrollbar-track{background:rgba(0,0,0,.05);border-radius:4px}.modern-toolbar::-webkit-scrollbar-thumb{background:rgba(0,0,0,.15);border-radius:4px}.modern-toolbar::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.25)}.true-north-toolbar,.projection-toolbar{z-index:1999}.toolbar-content{display:flex;flex-direction:column;justify-content:center;gap:4px;overflow:visible;align-items:center}.toolbar-groups{display:flex;flex-direction:row;gap:8px;align-items:center;flex-wrap:nowrap;overflow:visible;flex-shrink:0}.toolbar-group{position:relative;display:flex;flex-direction:column;overflow:visible;flex-shrink:0}.toolbar-group-button{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.08);border-radius:8px;cursor:pointer;transition:all .2s;width:44px;height:44px;position:relative}.toolbar-group-button:hover:not(.disabled){background:rgba(0,0,0,.06);border-color:#0000001f}.toolbar-group-button.disabled{opacity:.4;cursor:not-allowed}.toolbar-group-button.disabled:hover{background:rgba(0,0,0,.03);border-color:#00000014}.toolbar-group.expanded .toolbar-group-button{background:rgba(74,222,222,.1);border-color:#4adede4d;color:#2a9d9d}.group-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}#orthogonality-toggle img{background:transparent;filter:none}#orthogonality-toggle.active img{filter:invert(27%) sepia(96%) saturate(1458%) hue-rotate(204deg) brightness(95%) contrast(101%)}.toolbar-group.projection-switch-group{display:flex;align-items:center;height:44px}.projection-switch{display:flex;align-items:stretch;height:44px;border-radius:8px;overflow:hidden;border:1px solid rgba(0,0,0,.08);background:rgba(0,0,0,.03);box-sizing:border-box}.projection-segment{flex:1;min-width:36px;padding:0 10px;font-size:12px;font-weight:500;border:none;background:transparent;color:#0009;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.projection-segment img{height:22px;width:auto;object-fit:contain}.projection-segment:hover{background:rgba(0,0,0,.06);color:#000000d9}.projection-segment.active{background:rgba(74,222,222,.15);color:#2a9d9d;border-color:#4adede4d}.projection-segment:first-child{border-right:1px solid rgba(0,0,0,.08)}.projection-switch .projection-segment.splat-demo-button:only-child{border-right:none;min-width:52px}.projection-switch.cloud-display-mode-switch{min-width:0}.projection-switch.cloud-display-mode-switch .cloud-mode-segment{min-width:0;flex:1 1 0;padding:0 8px;font-size:11px;font-weight:600;letter-spacing:.02em;border-right:1px solid rgba(0,0,0,.08)}.projection-switch.cloud-display-mode-switch .cloud-mode-segment:last-child{border-right:none}.projection-segment.active:first-child{border-right-color:#4adede4d}.projection-segment.disabled{opacity:.5;cursor:not-allowed}.projection-segment.disabled:hover{background:transparent;color:#0009}.expand-icon{font-size:8px;color:#999;transition:transform .2s;display:inline-block;position:absolute;bottom:2px;right:2px}.expand-icon.expanded{transform:rotate(90deg)}.toolbar-subgroup-button .expand-icon{bottom:2px;right:2px}.toolbar-subgroup-button .expand-icon.expanded{transform:rotate(90deg)}.toolbar-subgroups{position:absolute;left:50%;bottom:100%;transform:translate(-50%);margin-bottom:8px;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 4px 16px #00000026;padding:8px;width:fit-content;border:1px solid rgba(0,0,0,.08);display:flex;flex-direction:row;gap:4px;z-index:2100;max-width:60vw;overflow:visible;align-items:flex-start}.toolbar-subgroup{display:flex;flex-direction:column;position:relative;overflow:visible}.toolbar-subgroup-button{display:flex;align-items:center;justify-content:center;padding:8px;background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.06);border-radius:6px;cursor:pointer;transition:all .2s;width:36px;height:36px;position:relative}.toolbar-subgroup-button:hover:not(.disabled){background:rgba(0,0,0,.05);border-color:#0000001a}.toolbar-subgroup-button.disabled{opacity:.4;cursor:not-allowed}.toolbar-subgroup-button.disabled:hover{background:rgba(0,0,0,.02);border-color:#0000000f}.toolbar-subgroup.expanded .toolbar-subgroup-button{background:rgba(74,222,222,.08);border-color:#4adede33;color:#2a9d9d}.subgroup-icon{width:18px;height:18px;object-fit:contain;flex-shrink:0}.toolbar-items{position:absolute;left:100%;top:0;margin-left:8px;display:flex;flex-direction:row;gap:6px;padding:8px;flex-wrap:wrap;align-items:center;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 4px 16px #00000026;border:1px solid rgba(0,0,0,.08);z-index:2101;width:fit-content;min-width:200px}.toolbar-subgroup .toolbar-items{position:absolute;left:50%;top:auto;bottom:calc(100% + 8px);transform:translate(-50%);margin-left:0;margin-bottom:0;margin-top:0;z-index:2102;display:flex;flex-direction:row!important;flex-wrap:nowrap;gap:6px;padding:8px;align-items:center;justify-content:center;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;box-shadow:0 4px 16px #00000026;border:1px solid rgba(0,0,0,.08);width:fit-content;min-width:auto;visibility:visible;opacity:1}.modern-toolbar-tooltip.tooltip-white{z-index:2050!important}.toolbar-subgroup .toolbar-items.toolbar-opacity-container{left:100%;top:0;bottom:auto;transform:none;margin-left:8px;padding:0;justify-content:flex-start;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:0;box-shadow:none;border:none}.toolbar-opacity-slider-container{position:absolute;left:50%;top:auto;bottom:calc(100% + 2px);transform:translate(15%,100%);margin-left:0;margin-bottom:0;margin-top:0;z-index:2102;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;padding:0;width:fit-content;visibility:visible;opacity:1}.toolbar-subgroups>.toolbar-items{position:static;left:auto;bottom:auto;margin-left:0;margin-bottom:0;margin-top:0;top:auto;width:auto;min-width:auto;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border:none;box-shadow:none;border-radius:0;display:flex;flex-direction:row;gap:4px;align-items:flex-start;flex-wrap:nowrap}.toolbar-items .left-menu_button{margin:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.02);border:1px solid rgba(0,0,0,.06);border-radius:6px;transition:all .2s}.toolbar-items .left-menu_button:hover{background:rgba(0,0,0,.05);border-color:#0000001f;box-shadow:0 2px 8px #0000001a}.toolbar-items .left-menu_button img{width:18px;height:18px}.toolbar-items .left-menu_button.active img{filter:invert(51%) sepia(55%) saturate(5266%) hue-rotate(162deg) brightness(98%) contrast(101%)}.toolbar-items .left-menu_button.disabled{opacity:.4;cursor:not-allowed}.toolbar-opacity-slider{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:0;padding:0 8px;height:22px;width:fit-content;background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:6px;border:1px solid rgba(0,0,0,.06);box-shadow:0 4px 16px #00000026}.toolbar-opacity-input{width:220px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:rgba(255,255,255,1);border-radius:2px;outline:none;transition:background .2s;flex-shrink:0;position:relative;z-index:1}.toolbar-opacity-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:#4adede;border-radius:50%;cursor:pointer;box-shadow:0 2px 6px #4adede66;transition:all .2s}.toolbar-opacity-input::-webkit-slider-thumb:hover{background:#3ac8c8;box-shadow:0 2px 8px #4adede99;transform:scale(1.1)}.toolbar-opacity-input::-moz-range-thumb{width:14px;height:14px;background:#4adede;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #4adede66;transition:all .2s}.toolbar-opacity-input::-moz-range-thumb:hover{background:#3ac8c8;box-shadow:0 2px 8px #4adede99;transform:scale(1.1)}.toolbar-opacity-placeholder{padding:12px;width:fit-content;text-align:center}.toolbar-opacity-message{font-family:Open Sans,sans-serif;font-size:11px;color:#999;font-style:italic;line-height:1.4}.toolbar-opacity-slider-standalone{position:relative;bottom:auto;left:auto;transform:none;display:flex;flex-direction:row;align-items:center;justify-content:center;flex-shrink:0;align-self:center;z-index:1;width:auto;min-width:0;overflow:visible;padding:0;box-sizing:border-box;background:transparent}.toolbar-opacity-columns{display:flex;flex-direction:row;align-items:stretch;justify-content:center;gap:6px;flex-wrap:nowrap}.toolbar-opacity-compact{display:flex;align-items:center;justify-content:center;gap:5px;width:min(360px,calc(100vw - 24px));min-height:22px;padding:0;border-radius:0;background:transparent;border:none;box-sizing:border-box}.toolbar-opacity-target-switch{display:flex;flex-direction:row;align-items:center;flex:0 0 auto;gap:2px;padding:0;border-radius:8px;background:transparent;border:none}.toolbar-opacity-target-btn{display:inline-flex;align-items:center;justify-content:center;height:22px;min-width:34px;padding:0 7px;border:none;border-radius:6px;background:transparent;color:#4b5563;font-family:Open Sans,sans-serif;font-size:10px;font-weight:700;line-height:1;cursor:pointer;transition:background .15s ease,color .15s ease}.toolbar-opacity-target-btn:hover{background:rgba(0,0,0,.06);color:#1f2937}.toolbar-opacity-target-btn.active{background:rgba(74,222,222,.22);color:#0f766e}.toolbar-opacity-reset-btn--compact{width:22px;height:22px;border-radius:6px}.toolbar-opacity-slider.toolbar-opacity-slider--compact{display:flex;flex-direction:row;align-items:center;flex:1 1 160px;min-width:120px;max-width:220px;height:22px;min-height:22px;padding:0;box-sizing:border-box;background:transparent;border-radius:0;border:none;box-shadow:none}.toolbar-opacity-slider--compact .slider-root{width:100%;height:22px;min-height:22px;display:flex;flex-direction:row;align-items:center;box-sizing:border-box}.toolbar-opacity-slider--compact .toolbar-opacity-input{width:100%;max-width:100%;min-width:0;display:block;height:4px;margin:0;align-self:center;background:rgba(255,255,255,.92);border-radius:2px;box-shadow:0 0 0 1px #ffffff59}.toolbar-opacity-slot{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:3px;flex:1 1 0;min-width:0;max-width:200px;width:156px;box-sizing:border-box;padding:3px 8px 1px;border-radius:8px;background:rgba(248,249,250,.95);border:1px solid rgba(0,0,0,.06)}.toolbar-opacity-slot-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:4px;min-height:0;margin:0;padding:0}.toolbar-opacity-reset-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:5px;background:rgba(0,0,0,.06);color:#4a5568;cursor:pointer;transition:background .15s ease,color .15s ease}.toolbar-opacity-reset-btn:hover:not(:disabled){background:rgba(0,0,0,.1);color:#1a202c}.toolbar-opacity-reset-btn:disabled{opacity:.38;cursor:not-allowed}.toolbar-opacity-slot-label{font-family:Open Sans,sans-serif;font-size:10px;font-weight:700;color:#2c2c2c;text-transform:none;letter-spacing:.01em;line-height:1.1;text-align:left;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:none;user-select:none}.toolbar-opacity-slot--disabled .toolbar-opacity-slot-label{color:#8b9099}.toolbar-opacity-slot--disabled .toolbar-opacity-slider--in-slot{background:rgba(241,243,245,.95);border-color:#0000000d;box-shadow:none}.toolbar-opacity-slot--disabled .toolbar-opacity-slider--in-slot .slider-root{cursor:not-allowed}.toolbar-opacity-slider.toolbar-opacity-slider--in-slot{display:block;width:100%;max-width:none;height:auto;min-height:18px;padding:2px;box-sizing:border-box;background:rgba(255,255,255,.9);border-radius:6px;border:1px solid rgba(0,0,0,.07);box-shadow:0 1px 2px #0000000a}.toolbar-opacity-slider--in-slot .slider-root{width:100%;display:block}.toolbar-opacity-slider-standalone .toolbar-opacity-slot .toolbar-opacity-input{width:100%;max-width:100%;min-width:0;display:block;height:4px;background:rgba(0,0,0,.1);border-radius:2px}.toolbar-opacity-slider-standalone .toolbar-opacity-slot .toolbar-opacity-input::-webkit-slider-thumb{width:12px;height:12px}.toolbar-opacity-slider-standalone .toolbar-opacity-slot .toolbar-opacity-input::-moz-range-thumb{width:12px;height:12px}.toolbar-opacity-slider-standalone .toolbar-opacity-slot .toolbar-opacity-input:disabled{cursor:not-allowed;opacity:1}.toolbar-opacity-slider-standalone .toolbar-opacity-slot .toolbar-opacity-input:disabled::-webkit-slider-thumb{background:#c5cdd9!important;box-shadow:none!important;cursor:not-allowed}.toolbar-opacity-slider-standalone .toolbar-opacity-slot .toolbar-opacity-input:disabled::-moz-range-thumb{background:#c5cdd9!important;box-shadow:none!important;cursor:not-allowed}.toolbar-opacity-input--bim::-webkit-slider-thumb{background:#14b8a6;box-shadow:0 2px 6px #14b8a673}.toolbar-opacity-input--bim::-webkit-slider-thumb:hover{background:#0d9488;box-shadow:0 2px 8px #14b8a68c}.toolbar-opacity-input--bim::-moz-range-thumb{background:#14b8a6;box-shadow:0 2px 6px #14b8a673}.toolbar-opacity-input--bim::-moz-range-thumb:hover{background:#0d9488}.toolbar-opacity-input--potree::-webkit-slider-thumb{background:#3b82f6;box-shadow:0 2px 6px #3b82f673}.toolbar-opacity-input--potree::-webkit-slider-thumb:hover{background:#2563eb;box-shadow:0 2px 8px #3b82f68c}.toolbar-opacity-input--potree::-moz-range-thumb{background:#3b82f6;box-shadow:0 2px 6px #3b82f673}.toolbar-opacity-input--potree::-moz-range-thumb:hover{background:#2563eb}.toolbar-opacity-input--splat::-webkit-slider-thumb{background:#a855f7;box-shadow:0 2px 6px #a855f773}.toolbar-opacity-input--splat::-webkit-slider-thumb:hover{background:#9333ea;box-shadow:0 2px 8px #a855f78c}.toolbar-opacity-input--splat::-moz-range-thumb{background:#a855f7;box-shadow:0 2px 6px #a855f773}.toolbar-opacity-input--splat::-moz-range-thumb:hover{background:#9333ea}@media (max-width: 1200px){.toolbar-bottom-stack{transform:translate(-50%) scale(.9)}.toolbar-container{gap:10px}.modern-toolbar,.true-north-toolbar{padding:7px 11px}.toolbar-group-button{width:40px;height:40px;padding:9px}.group-icon{width:18px;height:18px}.toolbar-subgroup-button{width:32px;height:32px;padding:7px}.subgroup-icon{width:16px;height:16px}.toolbar-items .left-menu_button{width:29px;height:29px}.toolbar-items .left-menu_button img{width:16px;height:16px}.expand-icon{font-size:7px}.toolbar-opacity-slider{height:20px;padding:0 6px;gap:0}.toolbar-opacity-input{width:200px}.toolbar-opacity-message{font-size:10px}}@media (max-width: 992px){.toolbar-bottom-stack{transform:translate(-50%) scale(.8)}.toolbar-container{gap:8px}.modern-toolbar,.true-north-toolbar{padding:6px 10px}.toolbar-group-button{width:36px;height:36px;padding:8px}.group-icon{width:16px;height:16px}.toolbar-subgroup-button{width:29px;height:29px;padding:6px}.subgroup-icon{width:14px;height:14px}.toolbar-items .left-menu_button{width:26px;height:26px}.toolbar-items .left-menu_button img{width:14px;height:14px}.expand-icon{font-size:6px}.toolbar-opacity-slider{height:19px;padding:0 6px;gap:0}.toolbar-opacity-input{width:220px}.toolbar-opacity-message{font-size:9px}}@media (max-width: 768px){.toolbar-bottom-stack{transform:translate(-50%) scale(.7);bottom:max(6px,env(safe-area-inset-bottom,0px))}.toolbar-container{gap:6px}.modern-toolbar,.true-north-toolbar{padding:5px 9px}.toolbar-group-button{width:32px;height:32px;padding:7px}.group-icon{width:14px;height:14px}.toolbar-subgroup-button{width:26px;height:26px;padding:5px}.subgroup-icon{width:12px;height:12px}.toolbar-items .left-menu_button{width:23px;height:23px}.toolbar-items .left-menu_button img{width:12px;height:12px}.expand-icon{font-size:5px}.toolbar-opacity-slider{height:17px;padding:0 5px;gap:0}.toolbar-opacity-input{width:200px;height:5px}.toolbar-opacity-input::-webkit-slider-thumb{width:14px;height:14px}.toolbar-opacity-input::-moz-range-thumb{width:14px;height:14px}.toolbar-opacity-message{font-size:8px}.toolbar-groups{gap:6px}.toolbar-subgroups{gap:3px;padding:6px}.toolbar-items{gap:5px;padding:6px}}@media (max-width: 576px){.toolbar-bottom-stack{transform:translate(-50%) scale(.6);bottom:max(4px,env(safe-area-inset-bottom,0px))}.toolbar-container{gap:4px}.modern-toolbar,.true-north-toolbar{padding:4px 8px}.toolbar-group-button{width:28px;height:28px;padding:6px}.group-icon{width:12px;height:12px}.toolbar-subgroup-button{width:23px;height:23px;padding:4px}.subgroup-icon{width:10px;height:10px}.toolbar-items .left-menu_button{width:20px;height:20px}.toolbar-items .left-menu_button img{width:10px;height:10px}.expand-icon{font-size:4px}.toolbar-opacity-slider{height:16px;padding:0 4px;gap:0}.toolbar-opacity-input{width:140px;height:4px}.toolbar-opacity-input::-webkit-slider-thumb{width:12px;height:12px}.toolbar-opacity-input::-moz-range-thumb{width:12px;height:12px}.toolbar-opacity-message{font-size:7px}.toolbar-groups{gap:4px}.toolbar-subgroups{gap:2px;padding:4px}.toolbar-items{gap:4px;padding:4px}}#true-north-toggle img{transition:transform .3s ease,filter .3s ease;transform:rotate(var(--true-north-rotation, 0deg))}#true-north-toggle.active img{filter:invert(27%) sepia(96%) saturate(1458%) hue-rotate(204deg) brightness(95%) contrast(101%)}#true-north-toggle.rotating img{transform:rotate(calc(var(--true-north-rotation, 0deg) + 180deg))}#true-north-toggle.active.rotating img{transform:rotate(calc(var(--true-north-rotation, 0deg) + 180deg));filter:invert(27%) sepia(96%) saturate(1458%) hue-rotate(204deg) brightness(95%) contrast(101%)}.toolbar-group-button img{transition:transform .3s ease,filter .3s ease}.toolbar-group-button.active{background:rgba(74,222,222,.1);border-color:#4adede4d}.toolbar-group-button.active img{filter:invert(27%) sepia(96%) saturate(1458%) hue-rotate(204deg) brightness(95%) contrast(101%)}.toolbar-group-button.rotating img{transform:rotate(180deg)}.toolbar-group-button.active.rotating img{transform:rotate(180deg);filter:invert(27%) sepia(96%) saturate(1458%) hue-rotate(204deg) brightness(95%) contrast(101%)}.message-box{position:absolute;display:flex;justify-content:center;top:0;width:100%}.message-container{border:2px solid #ff9911;background-color:#fff;font-family:Open Sans;width:auto;color:gray;font-size:.8em;font-weight:600;margin-top:10px;border-radius:5px;padding:5px;max-width:500px;word-break:break-word;display:flex;align-items:center}.message-id{flex-grow:0;flex-shrink:0;height:1.25em;width:1.25em;border-radius:2em;background-color:#f91;display:flex;justify-content:center;align-items:center;font-size:2em;color:#fff;font-family:Open Sans}.message-text{margin:0;padding-left:10px;text-align:center;font-family:Open Sans}.properties-panel-container{width:100vw;height:100vh;position:absolute;top:0;left:0;pointer-events:none}.rnd-panel{pointer-events:all;display:flex;border-radius:15px 15px 0 0}.panel-shadow{box-shadow:#00000054 5px 0 17px}.properties-panel-header{font-family:Open Sans;font-size:1rem;padding:8px;border-radius:15px 15px 0 0;background-color:#fff;cursor:move;display:flex;justify-content:space-between}.properties-panel-body{background-color:#f1f1f1;overflow-y:scroll;height:max-content;flex-grow:1;box-shadow:inset gray 0 5px 6px}.properties-panel-header-title{padding-right:20%;padding-left:10px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.properties-panel-button{border:none;font-family:Open Sans;cursor:pointer;background-color:transparent;padding:0}.properties-panel-button:before{content:"";background:url(/icons/triangle_down.png) 0 0 / 9px 9px no-repeat;width:9px;height:9px;color:#545454;float:left;margin-right:10px;margin-top:4px}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.properties-panel-body::-webkit-scrollbar{width:8px}.properties-panel-body::-webkit-scrollbar-track{background:#f1f1f1}.properties-panel-body::-webkit-scrollbar-thumb{background:#888}.properties-panel-body::-webkit-scrollbar-thumb:hover{background:#555}.properties-panel-body::-webkit-scrollbar-thumb:active{background:#444}.properties-subrow{display:flex}.property-name{width:30%}.property-value{width:70%}.properties-row-title{cursor:pointer;padding:5px;font-family:Open Sans;font-size:.9rem;padding:.5rem}.properties-row-content{background-color:#fff;padding:5px;font-family:Open Sans;font-size:.75rem;margin-left:5px}.properties-row-title:before{content:"";background:url(/icons/triangle_down.png) 0 0 / 9px 9px no-repeat;width:9px;height:9px;color:#545454;float:left;margin-right:10px;margin-top:4px}.collapsedRow:before{content:"";background:url(/icons/triangle_right.png) 0 0 / 9px 9px no-repeat;color:#545454}.no-pointer-events{pointer-events:none!important}@media (max-width: 1200px){.properties-panel-header{font-size:.95rem;padding:7px}.properties-row-title{font-size:.85rem}.properties-row-content{font-size:.7rem}}@media (max-width: 992px){.properties-panel-header{font-size:.9rem;padding:6px}.properties-panel-header-title{padding-left:8px}.properties-row-title{font-size:.8rem;padding:.4rem}.properties-row-content{font-size:.65rem;padding:4px}}@media (max-width: 768px){.properties-panel-header{font-size:.85rem;padding:5px}.properties-panel-header-title{padding-left:6px}.properties-row-title{font-size:.75rem;padding:.35rem}.properties-row-content{font-size:.6rem;padding:3px}.property-name{width:35%}.property-value{width:65%}}@media (max-width: 576px){.properties-panel-header{font-size:.8rem;padding:4px}.properties-panel-header-title{padding-left:5px}.properties-row-title{font-size:.7rem;padding:.3rem}.properties-row-content{font-size:.55rem;padding:2px}.property-name{width:40%}.property-value{width:60%}}.wrapper{display:flex;height:100vh;font-family:Open Sans,sans-serif;font-size:smaller;position:absolute;left:0}.main{flex-grow:1;overflow-y:auto}.side-panel-toggle{transform:translateY(2.8vh);width:2rem;max-height:5rem;flex-shrink:0;display:flex;flex-direction:column;place-items:center;justify-content:center;color:#666;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-right:none;border-radius:8px 0 0 8px;outline:none;cursor:pointer;pointer-events:all;transform:rotate(180deg);box-shadow:0 2px 8px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1)}.side-panel-subtitle{font-family:Open Sans;padding-right:.5rem;transform:rotate(-90deg);font-size:11px;font-weight:500;color:#555}.side-panel-toggle:hover{background:rgba(255,255,255,1);box-shadow:0 4px 12px #00000026}.side-panel{pointer-events:all;display:none;height:0;flex-shrink:0;padding:0;margin:0;color:#7c7c7c;background:none}.side-panel-content{padding:.75rem 1rem;display:flex;flex-direction:column;background:rgba(255,255,255,.95)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:0 0 8px;border:1px solid rgba(0,0,0,.08);border-left:none;box-shadow:0 2px 12px #0000001a;gap:6px}.side-panel-open .side-panel{display:initial}.side-panel-icon img{padding-top:.8rem;height:.6rem;width:.6rem;object-fit:cover;object-position:center}.side-panel-open .sp-icon-open{display:none!important}.side-panel-open .sp-icon-close{display:initial!important}.legend-element-wrapper{border-radius:6px;margin-bottom:0;margin-top:0;display:flex;flex-direction:row;transition:all .2s;overflow:visible}.legend-element-wrapper.toggleable:hover{transform:translate(2px)}.legend-element-title{width:100%;padding:8px 12px;font-size:12px;font-weight:500;color:#555;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);border-right:1px solid rgba(0,0,0,.1);border-top-right-radius:6px;border-bottom-right-radius:6px;background:rgba(255,255,255,.8);transition:all .2s}.legend-element-color{width:2rem;border-top-left-radius:6px;border-bottom-left-radius:6px;border-top:1px solid rgba(0,0,0,.1);border-bottom:1px solid rgba(0,0,0,.1);border-left:1px solid rgba(0,0,0,.1);position:relative;flex-shrink:0}.legend-element-color:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:12px;height:12px;background-image:url(/icons/menu/model.png);background-size:contain;background-repeat:no-repeat;background-position:center;z-index:10}.legend-element-title.toggleable:hover{background-color:#00000008;border-color:#00000026}.legend-element-title.static{cursor:default}.legend-element-title.active{border:1px solid #4adede;box-shadow:0 0 0 2px #4adede33;background-color:#4adede14;color:#2a9d9d;font-weight:600}.legend-element-title.inactive{border:1px solid rgba(0,0,0,.15);background-color:#00000005;position:relative;opacity:.6}.as-built-legend-panel{position:absolute;bottom:max(76px,calc(env(safe-area-inset-bottom,0px) + 72px));right:10px;left:auto;z-index:4;box-sizing:border-box;width:min(280px,calc(100% - 20px));min-width:min(200px,calc(100% - 20px));max-width:min(280px,calc(100% - 20px));max-height:min(52vh,440px);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:rgba(167,183,197,.6) transparent;color-scheme:dark;padding:10px 12px;border-radius:10px;background:rgba(12,18,23,.92);border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 16px #00000059;color:#ffffffeb;font-family:system-ui,-apple-system,sans-serif;pointer-events:auto}.as-built-legend-panel::-webkit-scrollbar{width:6px}.as-built-legend-panel::-webkit-scrollbar-track{background:transparent}.as-built-legend-panel::-webkit-scrollbar-thumb{background:rgba(167,183,197,.6);border-radius:999px}.as-built-legend-panel::-webkit-scrollbar-thumb:hover{background:rgba(200,215,228,.85)}.as-built-legend-panel::-webkit-scrollbar-button{display:none}.as-built-legend-panel--preview{position:fixed;bottom:max(88px,calc(env(safe-area-inset-bottom,0px) + 84px));right:16px;left:auto;z-index:10020;width:min(280px,calc(100vw - 32px));max-width:min(280px,calc(100vw - 32px))}.as-built-legend-panel-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffffb3;margin-bottom:8px}.as-built-legend-inspection-banner{display:flex;flex-direction:column;gap:8px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.14)}.as-built-legend-back{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:11px;font-weight:700;color:#ffffffeb;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:4px;padding:4px 8px;cursor:pointer;font-family:inherit}.as-built-legend-back:hover{background:rgba(255,255,255,.18)}.as-built-legend-inspection-title{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffffb3}.as-built-legend-inspection-pair{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.as-built-legend-inspection-note{font-size:11px;line-height:1.35;padding:2px 0}.as-built-legend-inspection-note--info{color:#ffffffc7}.as-built-legend-inspection-note--muted{color:#ffffff80}.as-built-legend-inspection-note--warn{color:#ffb445}.as-built-legend-chip{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.as-built-legend-overlap-btn{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;font-size:11px;font-weight:700;color:#ffffffe0;background:rgba(0,245,160,.12);border:1px solid rgba(0,245,160,.35);border-radius:4px;padding:4px 8px;cursor:pointer;font-family:inherit}.as-built-legend-overlap-btn.is-active,.as-built-legend-overlap-icon.is-active{background:rgba(0,245,160,.28);border-color:#00f5a0a6;color:#00f5a0}.as-built-legend-rows{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.as-built-legend-row{display:grid;grid-template-columns:14px minmax(0,1fr) auto auto;align-items:center;gap:8px}.as-built-legend-row.is-hidden{opacity:.42}.as-built-legend-eye{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;color:#ffffffb8;cursor:pointer}.as-built-legend-eye:hover{background:rgba(255,255,255,.1);color:#fffffff2}.as-built-legend-eye.is-disabled,.as-built-legend-eye:disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.as-built-legend-eye.is-disabled:hover,.as-built-legend-eye:disabled:hover{background:transparent;color:#ffffffb8}.as-built-legend-swatch{width:12px;height:12px;border-radius:3px;border:1px solid rgba(255,255,255,.35);box-sizing:border-box;flex-shrink:0}.as-built-legend-swatch.is-pulse{animation:as-built-legend-pulse 1.1s ease-in-out infinite}@keyframes as-built-legend-pulse{0%,to{box-shadow:0 0 #ff2d558c;opacity:.85}50%{box-shadow:0 0 0 4px #ff2d5526;opacity:1}}.as-built-legend-label{font-size:11px;font-weight:600;color:#ffffffe6}.as-built-legend-count{font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;color:#ffffffa6;min-width:1.5em;text-align:right}.as-built-legend-collisions{margin-top:10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.12)}.as-built-legend-collisions-toggle{display:block;width:100%;text-align:left;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:#ff6b8a;background:transparent;border:none;padding:0;cursor:pointer;font-family:inherit}.as-built-legend-collisions-toggle:hover{color:#ff8aa3}.as-built-legend-collision-list{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:4px;overflow:visible}.as-built-legend-collision-item{display:flex;align-items:center;gap:4px}.as-built-legend-collision-item.is-active{outline:1px solid rgba(255,176,0,.45);border-radius:4px;background:rgba(255,176,0,.08)}.as-built-legend-collision-row-btn{display:flex;align-items:center;gap:4px;flex:1;min-width:0;flex-wrap:wrap;background:transparent;border:none;padding:2px;cursor:pointer;font-family:inherit;text-align:left}.as-built-legend-collision-btn{font-size:11px;font-weight:600;color:#ffffffeb;background:rgba(255,45,85,.18);border:1px solid rgba(255,45,85,.35);border-radius:4px;padding:2px 6px;max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.as-built-legend-collision-row-btn:hover .as-built-legend-collision-btn{background:rgba(255,45,85,.32)}.as-built-legend-collision-sep{font-size:11px;color:#ffffff73}.as-built-legend-collision-link{display:inline-flex;align-items:center;justify-content:center;color:#4a90ff;flex-shrink:0}.as-built-legend-collision-item.is-linked .as-built-legend-collision-btn{border-color:#4a90ff73;background:rgba(74,144,255,.14)}.as-built-legend-overlap-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border-radius:4px;border:1px solid rgba(0,245,160,.3);background:rgba(0,245,160,.08);color:#00f5a0d9;cursor:pointer}.as-built-legend-overlap-icon:hover{background:rgba(0,245,160,.2)}.as-built-legend-collision-more{font-size:10px;color:#ffffff80;padding-top:2px}.as-built-legend-relations{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.08)}.as-built-legend-relations-toggle{display:block;width:100%;text-align:left;background:transparent;border:none;padding:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.02em;color:#ffffffb8;cursor:pointer}.as-built-legend-relations-toggle:hover{color:#ffffffeb}.as-built-legend-relation-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;overflow:visible}.as-built-legend-relation-item{display:flex;align-items:center;gap:4px}.as-built-legend-relation-item.is-hidden{opacity:.45}.as-built-legend-relation-item.is-active .as-built-legend-relation-btn{border-color:#ffb000a6;background:rgba(255,176,0,.16)}.as-built-legend-relation-row-btn{display:flex;align-items:center;flex:1;min-width:0;gap:4px;flex-wrap:wrap;background:transparent;border:none;padding:2px 0;cursor:pointer;text-align:left;color:inherit}.as-built-legend-relation-btn{font-size:11px;line-height:1.2;color:#ffffffe0;background:rgba(74,144,255,.14);border:1px solid rgba(74,144,255,.35);border-radius:4px;padding:2px 6px;max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.as-built-legend-relation-row-btn:hover .as-built-legend-relation-btn{background:rgba(74,144,255,.28)}.as-built-legend-relation-link{display:inline-flex;align-items:center;justify-content:center;color:#4a90ff;flex-shrink:0}.as-built-legend-relation-collision{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:100%;font-size:10px;line-height:1.2;color:#ff788cf2}.as-built-legend-relation-collision.is-linked{color:#ffa0b4fa}.as-built-legend-relation-collision-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:#ff2d55;box-shadow:0 0 #ff2d558c;animation:as-built-legend-relation-pulse 1.4s ease-out infinite}.as-built-legend-relation-collision-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes as-built-legend-relation-pulse{0%{box-shadow:0 0 #ff2d558c}70%{box-shadow:0 0 0 5px #ff2d5500}to{box-shadow:0 0 #ff2d5500}}.ff-analysis-name-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:100000;padding:20px}.ff-analysis-name-modal{background:#1a1a1a;border:2px solid #00d4ff;border-radius:12px;min-width:320px;max-width:420px;width:100%;box-shadow:0 8px 32px #00d4ff4d}.ff-analysis-name-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(0,212,255,.3);background:rgba(0,212,255,.05)}.ff-analysis-name-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#00d4ff}.ff-analysis-name-modal-close{background:transparent;border:none;color:#ff6b6b;font-size:28px;line-height:1;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.ff-analysis-name-modal-close:hover{background:rgba(255,107,107,.2)}.ff-analysis-name-modal-body{padding:20px}.ff-analysis-name-modal-hint{margin:0 0 12px;padding:8px 12px;background:rgba(255,180,0,.12);border:1px solid rgba(255,180,0,.4);border-radius:8px;color:#e6b84d;font-size:13px}.ff-analysis-name-modal-body label{display:block;margin-bottom:8px;color:#e0e0e0;font-size:14px}.ff-analysis-name-modal-body input{width:100%;box-sizing:border-box;padding:10px 12px;font-size:14px;border:1px solid rgba(0,212,255,.5);border-radius:8px;background:#0d0d0d;color:#fff;outline:none}.ff-analysis-name-modal-body input:focus{border-color:#00d4ff;box-shadow:0 0 0 2px #00d4ff33}.ff-analysis-name-modal-body input::placeholder{color:#666}.ff-analysis-name-modal-acceptance{margin-top:16px}.ff-analysis-name-modal-acceptance span{display:block;margin-bottom:8px}.ff-analysis-name-modal-acceptance select{width:100%;box-sizing:border-box;padding:10px 12px;font-size:14px;border:1px solid rgba(0,212,255,.5);border-radius:8px;background:#0d0d0d;color:#fff;outline:none}.ff-analysis-name-modal-acceptance select:focus{border-color:#00d4ff;box-shadow:0 0 0 2px #00d4ff33}.ff-analysis-name-modal-custom-acceptance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.ff-analysis-name-modal-custom-acceptance label{margin:0}.ff-analysis-name-modal-custom-acceptance input{padding:8px 10px}.ff-analysis-name-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid rgba(0,212,255,.2)}.ff-analysis-name-modal-btn{padding:8px 20px;font-size:14px;border-radius:8px;cursor:pointer;border:none;transition:opacity .2s,background .2s}.ff-analysis-name-modal-btn.cancel{background:transparent;color:#aaa;border:1px solid #555}.ff-analysis-name-modal-btn.cancel:hover{background:rgba(255,255,255,.08);color:#e0e0e0}.ff-analysis-name-modal-btn.save{background:#00d4ff;color:#0d0d0d}.ff-analysis-name-modal-btn.save:hover:not(:disabled){opacity:.9;background:#33ddff}.ff-analysis-name-modal-btn.save:disabled{opacity:.5;cursor:not-allowed}.label_container{background:#ffffff!important;border:2px solid #4adede;border-radius:8px;box-shadow:0 2px 8px #00000026;position:relative;z-index:1000;overflow:hidden}.label_container.label_editing{min-width:150px;max-width:250px}.label_inner_wrapper{background:#ffffff!important;padding:4px 6px;display:flex;align-items:center;justify-content:center;gap:4px;width:100%;height:100%;text-align:center}.label_container.label_editing .label_inner_wrapper{padding:6px 8px}.label_container.label_hoc_preview .label_inner_wrapper{padding-right:70px;padding-bottom:8px}.label_text{color:#000;font-family:Open Sans,sans-serif;font-size:.9em;font-weight:600;margin:0;white-space:nowrap;display:flex;align-items:center;gap:3px;background:transparent}.label_has_comment{font-size:.8em;display:inline-block;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.label_edit_btn,.label_delete_btn{background:transparent;border:none;font-size:.6em;font-weight:700;cursor:pointer;padding:0;width:10px;height:10px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;line-height:1}.label_edit_btn{color:#1890ff}.label_edit_btn:hover{background:#1890ff!important;color:#fff;transform:scale(.7)}.label_delete_btn{color:#ff4d4f}.label_delete_btn:hover{background:#ff4d4f!important;color:#fff;transform:scale(.7)}.label_edit_btn:active,.label_delete_btn:active{transform:scale(.6)}.label_comment_input_wrapper{display:flex;flex-direction:column;gap:4px;width:100%}.label_comment_input{font-family:Open Sans,sans-serif;font-size:.5em;padding:3px 5px;border:1px solid #4adede;border-radius:4px;outline:none;width:100%;min-width:130px;background:#ffffff!important;color:#333;box-sizing:border-box}.label_comment_input:focus{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff33}.label_comment_actions{display:flex;gap:6px;justify-content:flex-end;margin-top:2px}.label_comment_save_btn,.label_comment_cancel_btn{background:#ffffff!important;font-size:.55em;font-weight:700;cursor:pointer;padding:3px 8px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s ease;line-height:1;min-width:24px;min-height:20px}.label_comment_save_btn{color:#52c41a;border:1.5px solid #52c41a}.label_comment_save_btn:hover{background:#52c41a!important;color:#fff}.label_comment_cancel_btn{color:#ff4d4f;border:1.5px solid #ff4d4f}.label_comment_cancel_btn:hover{background:#ff4d4f!important;color:#fff}.label_container.label_bim,.label_inner_wrapper.label_bim_inner{background:#ffffff!important}.timeline-wrapper{width:100%;display:flex;justify-content:center;margin-top:1em;margin-bottom:1em}.has-heatmap-width{width:calc(100% - 70px)!important}.timeline-top{position:absolute;top:0}.timeline-bottom{position:absolute;bottom:1em}.timeline-wrapper>hr{position:absolute;height:2px;width:calc(95% - 1em);border:none;z-index:0;margin-top:.3em}.timeline-container{width:95%;display:flex;justify-content:space-between}.dark-timeline-theme hr{background-color:#868686}.dark-timeline-theme .history-point{border:1px solid rgb(134,134,134)}.dark-timeline-theme .current-pin-inactive{filter:invert(87%) sepia(0%) saturate(0%) hue-rotate(166deg) brightness(92%) contrast(99%)}.dark-timeline-theme label{margin-top:2px;color:#cacaca}.light-timeline-theme hr{background-color:#686868}.light-timeline-theme .history-point{border:1px solid rgb(104,104,104)}.light-timeline-theme label{color:#444}.light-timeline-theme .current-pin-inactive{filter:invert(61%) sepia(0%) saturate(294%) hue-rotate(154deg) brightness(89%) contrast(95%)}.history-point{height:.75em;width:.75em;border-radius:50%;display:inline-block;box-sizing:border-box;background-color:#fff;z-index:2;position:relative;display:flex;justify-content:center;pointer-events:all}.history-point:hover{cursor:pointer;background-color:#4adede}.history-point>label{position:absolute;top:1em;font-family:Open Sans;font-size:12px}.active-history{background-color:#4adede}.current{border-radius:50%;display:inline-block;box-sizing:border-box;position:relative;z-index:1;display:flex;justify-content:center;pointer-events:all}.current>img{cursor:pointer;position:relative;height:1.75em;bottom:8px}.current>label{position:absolute;font-family:Open Sans;font-size:12px;top:1.5em}.current-pin-active,.current-pin-inactive:hover{filter:invert(84%) sepia(97%) saturate(956%) hue-rotate(143deg) brightness(90%) contrast(94%)}.history-info{width:100%;position:absolute;top:4.5em;display:flex;justify-content:center}.history-info>label{background-color:#d3d3d3;font-family:Open Sans;font-size:.75em;padding:10px 40px;border-radius:20px}.xychart-container{pointer-events:auto!important;position:absolute;right:0;z-index:10;display:inline-block}.e57images-control-panel{width:100%;position:absolute;top:0}.e57-timeline{height:40px!important}.container{border-top:2px dashed #e2e2e2;background-color:#f2f2f287;padding:1rem;gap:20px;display:flex;flex-direction:column}.hide{display:none}.row{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:20px}.is-flex-shrink-1{flex-shrink:1}.is-flex-shrink-2{flex-shrink:2}.slider-group{display:flex;flex-direction:column;justify-content:space-around;pointer-events:auto;height:100%}.fullwidth{width:100%!important}.is-fullheight{height:100%!important}.slider-label{font-size:14px;font-weight:500;color:#333;margin-bottom:4px}.slider-container{position:relative;height:4px;background-color:#e2e2e2;border-radius:2px;width:100%;pointer-events:auto;display:flex;flex-direction:column;justify-content:center}.slider-text{text-align:center;font-family:Open Sans,sans-serif;color:#e2e2e2!important;font-size:.8rem!important;font-weight:600!important}.slider{-webkit-appearance:none;width:100%;height:1rem;border-radius:2px;background:transparent;position:relative;z-index:2;pointer-events:auto}.slider-fill{position:absolute;height:100%;background:#2196f3;border-radius:2px}.carousel-button{width:24px;height:24px;border-radius:50%;background-color:#fff;border:none;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:auto}.prev-button{left:8px}.next-button{right:8px}.timeline-placeholder{height:40px;border-top:2px dashed #e2e2e2;border-bottom:2px dashed #e2e2e2;display:flex;flex-direction:row;align-items:center;justify-content:center;color:#666;pointer-events:auto;background:#f2f2f2}.bottom-panel-toggle{max-height:1rem;flex-shrink:0;display:flex;flex-direction:row;place-items:center;justify-content:center;color:#7c7c7c;background:#ebecec;border:none;border-radius:0 0 .25rem .25rem;outline:none;cursor:pointer;pointer-events:all}.bottom-panel-subtitle{font-family:Open Sans}.bottom-panel-toggle:hover{background:#d1d1d1}.sp-icon-close{display:none!important}.bottom-panel{pointer-events:all;display:none;height:0;flex-shrink:0;padding:0;margin:0;color:#7c7c7c;background:none}.bottom-panel-content{padding-right:1rem;padding-left:1rem;display:flex;flex-direction:column;background-color:#f5f5f5!important;border-bottom-left-radius:.25rem}.bottom-panel-open .bottom-panel{display:initial}.bottom-panel-icon img{height:.6rem;width:.6rem;object-fit:cover;object-position:center}.bottom-panel-open .sp-icon-open{display:none!important}.bottom-panel-open .sp-icon-close{display:initial!important}.context-menu{background:white;border-radius:4px;box-shadow:0 2px 5px #0003;padding:8px 0;min-width:200px;z-index:1000;font-family:Open Sans,sans-serif;font-size:.6rem!important;font-weight:600!important}.context-menu-item{padding:8px 16px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#333;transition:background-color .2s}.context-menu-item:hover{background-color:#f5f5f5}.context-menu-item:active{background-color:#e8e8e8}.context-menu-item-disabled{cursor:not-allowed!important;opacity:.5}.context-menu-item-disabled:hover{background-color:transparent!important}.hoc-pdf-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:100000}.hoc-pdf-modal-container{background-color:#fff;width:100vw;height:100vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.hoc-pdf-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa;border-radius:8px 8px 0 0}.hoc-pdf-modal-header h2{margin:0;color:#333;font-family:Open Sans,sans-serif;font-size:1.5em;font-weight:600}.hoc-pdf-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.hoc-pdf-modal-close:hover{background-color:#e0e0e0;color:#333}.general-hoc-modal-header-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}.general-hoc-background-btn{border:1px solid #94a3b8;background:#f8fafc;color:#334155;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;font-family:Open Sans,sans-serif}.general-hoc-background-btn:hover{background:#e2e8f0}.hoc-pdf-modal-content{flex:1;padding:0;overflow-y:auto;overflow-x:hidden;min-height:0}.hoc-report-layout{width:100%;min-height:auto;height:auto;background-color:#fff;color:#000;font-family:Open Sans,sans-serif;display:flex;flex-direction:column;margin:0 auto;max-width:800px}.hoc-report-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:2px solid #333;background-color:#f8f9fa;flex-shrink:0}.project-info{display:flex;flex-direction:column}.project-name{font-size:16px;font-weight:600;color:#333;word-break:break-word}.timestamp-logo{display:flex;align-items:center;gap:15px;flex-shrink:0}.timestamp{font-size:12px;color:#666;white-space:nowrap}.company-logo{height:35px;width:auto;object-fit:contain;display:block;flex-shrink:0}.hoc-report-main{flex:0 1 auto;display:flex;flex-direction:column;padding:20px;position:relative;min-height:0}.hoc-report-main.two-col{flex-direction:row;align-items:flex-start;gap:16px}.screenshot-container{flex:1;position:relative;display:flex;justify-content:center;align-items:center;overflow:hidden;min-height:400px;max-height:60vh;width:100%;margin:0 auto}.screenshot-aspect-16-9{width:100%;aspect-ratio:16 / 9;max-height:60vh;min-height:320px;display:flex;align-items:center;justify-content:center}.screenshot-border{position:relative;width:100%;height:100%;display:flex;justify-content:center;align-items:center;padding:10px}.hoc-screenshot-image{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;display:block}.markers-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.marker-overlay{position:absolute;display:flex;flex-direction:column;align-items:center}.marker-point{background-color:#fff;color:#333;font-weight:700;font-size:14px;padding:4px 8px;border-radius:4px;border:2px solid #007bff;box-shadow:0 2px 4px #0000004d;z-index:10}.marker-line{width:2px;height:20px;background-color:#fff;margin-top:2px;box-shadow:0 1px 2px #0000004d}.screenshot-loading{width:100%;max-width:400px;height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:#e0e0e0;border-radius:4px;color:#666;font-size:14px;gap:10px}.retry-capture-btn{padding:8px 16px;background-color:#007bff;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color .2s}.retry-capture-btn:hover{background-color:#0056b3}.comments-section{background-color:#fff;border-top:2px solid #333;padding:15px 20px;min-height:80px;flex-shrink:0}.comments-section.side{border-top:none;border-left:2px solid #333;flex:0 1 35%;max-height:60vh;overflow:auto}.comments-section h3{margin:0 0 10px;font-size:15px;font-weight:700;color:#333}.comments-list{display:flex;flex-direction:column;gap:6px}.comment-item{display:flex;gap:8px;padding:6px 8px;background-color:#fff;border-radius:4px;border:1px solid #ddd}.marker-label{font-weight:600;color:#007bff;min-width:25px;font-size:15px;flex-shrink:0}.comment-text{flex:1;color:#333;font-size:14px;word-break:break-word}.no-comments{text-align:center;color:#666;font-style:italic;padding:10px;font-size:13px}.hoc-pdf-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:15px;border-top:1px solid #e0e0e0;background-color:#f8f9fa;border-radius:0 0 8px 8px;flex-shrink:0;flex-wrap:wrap}.hoc-pdf-download-btn,.hoc-pdf-save-btn,.hoc-pdf-close-btn{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-family:Open Sans,sans-serif;font-size:13px;font-weight:600;transition:background-color .2s;white-space:nowrap}.hoc-pdf-download-btn{background-color:#007bff;color:#fff}.hoc-pdf-download-btn:hover:not(:disabled){background-color:#0056b3}.hoc-pdf-download-btn:disabled{background-color:#ccc;cursor:not-allowed}.hoc-pdf-save-btn{background-color:#28a745;color:#fff}.hoc-pdf-save-btn:hover:not(:disabled){background-color:#218838}.hoc-pdf-save-btn:disabled{background-color:#ccc;cursor:not-allowed}.hoc-pdf-save-btn.success{background-color:#28a745;animation:successPulse .6s ease-in-out}@keyframes successPulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.hoc-pdf-close-btn{background-color:#6c757d;color:#fff}.hoc-pdf-close-btn:hover{background-color:#545b62}@media (max-width: 1024px){.hoc-report-layout{max-width:600px}.hoc-report-header{padding:12px 15px}.project-name{font-size:14px}.timestamp{font-size:11px}.company-logo{height:30px}.hoc-report-main{padding:15px}.hoc-report-main.two-col{gap:12px}.comments-section{padding:12px 15px;min-height:70px}.comments-section.side{max-height:50vh}.hoc-pdf-modal-footer{padding:12px}}@media (max-width: 768px){.hoc-report-layout{max-width:400px}.hoc-report-header{flex-direction:column;gap:10px;padding:10px;align-items:flex-start}.timestamp-logo{width:100%;justify-content:space-between}.project-name{font-size:13px}.timestamp{font-size:10px}.company-logo{height:25px}.hoc-report-main{padding:10px}.hoc-report-main.two-col{flex-direction:column}.screenshot-container,.screenshot-aspect-16-9{max-height:none}.comments-section{padding:10px;min-height:60px}.comments-section.side{border-left:none;border-top:2px solid #333;max-height:none}.comments-section h3{font-size:13px;margin-bottom:8px}.comment-item{padding:5px 6px}.marker-label{font-size:12px;min-width:22px}.comment-text{font-size:12px}.hoc-pdf-modal-footer{padding:10px;gap:6px}.hoc-pdf-download-btn,.hoc-pdf-save-btn,.hoc-pdf-close-btn{padding:7px 12px;font-size:12px}}@media (max-width: 480px){.hoc-pdf-modal-header{padding:12px}.hoc-pdf-modal-header h2{font-size:1.2em}.hoc-report-header{padding:8px}.project-name{font-size:12px}.timestamp{font-size:9px}.company-logo{height:22px}.hoc-report-main{padding:8px}.screenshot-aspect-16-9{min-height:200px}.screenshot-border{padding:5px}.comments-section{padding:8px;min-height:50px}.comments-section h3{font-size:12px;margin-bottom:6px}.comment-item{padding:4px 5px;gap:6px}.marker-label{font-size:11px;min-width:20px}.comment-text{font-size:11px}.hoc-pdf-modal-footer{padding:8px;gap:5px;flex-direction:column}.hoc-pdf-download-btn,.hoc-pdf-save-btn,.hoc-pdf-close-btn{padding:8px 12px;font-size:12px;width:100%}}.color-palette-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:100000}.color-palette-modal-container{background-color:#fff;width:90vw;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d;border-radius:8px;overflow:hidden}.color-palette-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;background-color:#f8f9fa}.color-palette-modal-header h2{margin:0;color:#333;font-family:Open Sans,sans-serif;font-size:1.5em;font-weight:600}.color-palette-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.color-palette-modal-close:hover{background-color:#e0e0e0;color:#333}.color-palette-modal-content{flex:1;padding:20px;overflow-y:auto;overflow-x:hidden;min-height:0}.color-palette-tabs{display:flex;border-bottom:2px solid #e0e0e0;margin-bottom:20px}.color-palette-tab{flex:1;padding:12px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .2s}.color-palette-tab:hover{color:#333}.color-palette-tab.active{color:#333;border-bottom-color:#007bff;font-weight:600;background:none}.color-palette-presets{display:flex;flex-direction:column;gap:24px}.preset-controls{display:flex;gap:20px;flex-wrap:wrap}.preset-control-group{display:flex;flex-direction:column;gap:8px;flex:1;min-width:200px}.preset-control-group label{font-weight:500;color:#333;font-size:14px}.preset-control-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer;transition:border-color .2s}.preset-control-group select:hover{border-color:#999}.preset-control-group select:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.scheme-preview h3,.deviation-mapping h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#333}.color-strip{display:flex;gap:4px;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.color-swatch{flex:1;height:60px;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s}.color-swatch:hover{transform:scaleY(1.1);z-index:1}.color-hex{background-color:#ffffffe6;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;color:#333;opacity:0;transition:opacity .2s}.color-swatch:hover .color-hex{opacity:1}.deviation-mapping{margin-top:20px}.deviation-colors-list{display:flex;flex-direction:column;gap:12px}.deviation-color-item{display:flex;align-items:center;gap:12px;padding:12px;background-color:#f8f9fa;border-radius:4px;border:1px solid #e0e0e0}.deviation-color-swatch{width:40px;height:40px;border-radius:4px;border:2px solid #ddd;flex-shrink:0}.deviation-color-label{flex:1;font-weight:500;color:#333}.deviation-color-hex{font-family:monospace;font-size:14px;color:#666}.color-palette-custom{display:flex;flex-direction:column;gap:20px}.custom-colors-list{display:flex;flex-direction:column;gap:16px}.custom-color-item{display:flex;align-items:center;gap:16px;padding:16px;background-color:#f8f9fa;border-radius:4px;border:1px solid #e0e0e0}.custom-color-item label{flex:1;font-weight:500;color:#333;min-width:150px}.custom-color-controls{display:flex;align-items:center;gap:12px}.color-picker{width:50px;height:50px;border:2px solid #ddd;border-radius:4px;cursor:pointer;padding:0;background:none}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:2px}.color-input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-family:monospace;font-size:14px;width:100px;transition:border-color .2s}.color-input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.color-palette-modal-footer{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-top:1px solid #e0e0e0;background-color:#f8f9fa}.footer-actions{display:flex;gap:12px}.btn-reset,.btn-cancel,.btn-apply{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-reset{background-color:#6c757d;color:#fff}.btn-reset:hover{background-color:#5a6268}.btn-cancel{background-color:#e0e0e0;color:#333}.btn-cancel:hover{background-color:#d0d0d0}.btn-apply{background-color:#007bff;color:#fff}.btn-apply:hover{background-color:#0056b3}.outline-controls{position:absolute;bottom:20px;right:20px;background:rgba(0,0,0,.85);color:#fff;border-radius:8px;z-index:10;min-width:280px;max-width:320px;box-shadow:0 4px 6px #0000004d;transition:all .3s ease}.outline-controls.closed{min-width:auto}.controls-toggle{width:100%;padding:12px 16px;background:rgba(255,255,255,.1);border:none;color:#fff;cursor:pointer;font-size:14px;font-weight:600;border-radius:0 0 8px 8px;display:flex;align-items:center;justify-content:space-between;transition:background .2s}.controls-toggle:hover{background:rgba(255,255,255,.15)}.controls-content{padding:16px}.control-group{margin-bottom:16px}.control-group:last-child{margin-bottom:0}.control-group label{display:block;font-size:13px;margin-bottom:8px}.control-group span{display:block;font-weight:500;margin-bottom:6px;color:#ffffffe6}.control-row{display:flex;gap:8px;align-items:center}.control-row input[type=range]{flex:1;height:6px;background:rgba(255,255,255,.2);border-radius:3px;outline:none;-webkit-appearance:none}.control-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#4a9eff;border-radius:50%;cursor:pointer;transition:background .2s}.control-row input[type=range]::-webkit-slider-thumb:hover{background:#6bb0ff}.control-row input[type=range]::-moz-range-thumb{width:16px;height:16px;background:#4a9eff;border-radius:50%;cursor:pointer;border:none;transition:background .2s}.control-row input[type=range]::-moz-range-thumb:hover{background:#6bb0ff}.number-input{width:70px;padding:6px 8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:13px;text-align:center}.number-input:focus{outline:none;border-color:#4a9eff;background:rgba(255,255,255,.15)}.color-input{width:50px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:4px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none}.color-input::-webkit-color-swatch-wrapper{padding:0}.color-input::-webkit-color-swatch{border:none;border-radius:3px}.color-input::-moz-color-swatch{border:none;border-radius:3px}.color-text-input{flex:1;padding:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:13px;font-family:monospace}.color-text-input:focus{outline:none;border-color:#4a9eff;background:rgba(255,255,255,.15)}.color-text-input::placeholder{color:#fff6}.mode-select{width:100%;padding:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#fff;font-size:13px;cursor:pointer}.mode-select:focus{outline:none;border-color:#4a9eff;background:rgba(255,255,255,.15)}.mode-select option{background:#1a1a1a;color:#fff}.control-group input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#4a9eff}.control-group label[style*=flex]{margin-bottom:0}.floor-flatness-panel{position:absolute;bottom:100px;right:20px;background:rgba(30,30,30,.95);border:2px solid #00d4ff;border-radius:8px;color:#fff;min-width:300px;max-width:380px;box-shadow:0 4px 16px #0009;z-index:1000;font-family:Arial,sans-serif;pointer-events:all}.floor-flatness-panel .panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;cursor:pointer;background:rgba(0,212,255,.1);border-bottom:1px solid rgba(0,212,255,.3);-webkit-user-select:none;user-select:none}.floor-flatness-panel .panel-header:hover{background:rgba(0,212,255,.15)}.floor-flatness-panel .panel-header h3{margin:0;font-size:14px;font-weight:600;color:#00d4ff}.floor-flatness-panel .toggle-icon{font-size:12px;color:#00d4ff;transition:transform .2s ease}.floor-flatness-panel .panel-content{padding:10px 12px;max-height:62vh;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,212,255,.6) rgba(255,255,255,.08)}.floor-flatness-panel .panel-content::-webkit-scrollbar{width:8px}.floor-flatness-panel .panel-content::-webkit-scrollbar-track{background:rgba(255,255,255,.08);border-radius:8px}.floor-flatness-panel .panel-content::-webkit-scrollbar-thumb{background:rgba(0,212,255,.6);border-radius:8px}.floor-flatness-panel .panel-content::-webkit-scrollbar-thumb:hover{background:rgba(0,212,255,.8)}.floor-flatness-panel .setting-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;gap:8px}.floor-flatness-panel .setting-row label{font-size:12px;line-height:1.2;color:#e0e0e0;font-weight:500;flex:1}.floor-flatness-panel .setting-row input[type=number]{width:80px;padding:4px 8px;background:rgba(0,0,0,.5);border:1px solid rgba(0,212,255,.5);border-radius:4px;color:#fff;font-size:12px;text-align:center}.floor-flatness-panel .setting-row input[type=number]:focus{outline:none;border-color:#00d4ff;box-shadow:0 0 8px #00d4ff4d}.floor-flatness-panel .setting-row input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#00d4ff}.floor-flatness-panel .setting-row input[type=range]{width:100%;height:6px;background:rgba(0,0,0,.5);border-radius:3px;outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.floor-flatness-panel .setting-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer;box-shadow:0 0 8px #00d4ff80}.floor-flatness-panel .setting-row input[type=range]::-moz-range-thumb{width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer;border:none;box-shadow:0 0 8px #00d4ff80}.floor-flatness-panel .setting-row input[type=range]::-webkit-slider-runnable-track{width:100%;height:6px;background:linear-gradient(to right,rgba(0,212,255,.3),rgba(0,212,255,.6));border-radius:3px}.floor-flatness-panel .setting-row input[type=range]::-moz-range-track{width:100%;height:6px;background:linear-gradient(to right,rgba(0,212,255,.3),rgba(0,212,255,.6));border-radius:3px}.floor-flatness-panel .info-text{margin-top:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.1)}.floor-flatness-panel .info-text p{margin:4px 0;font-size:11px;line-height:1.25;color:#b0b0b0}.floor-flatness-panel .info-text p:first-child{margin-top:0;font-size:11px;color:#e0e0e0}.floor-flatness-panel .info-text strong{color:#00d4ff}.floor-flatness-panel .flatness-profile{margin-top:16px;padding:12px;background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.3);border-radius:6px}.floor-flatness-panel .profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.floor-flatness-panel .profile-header h4{margin:0;font-size:14px;font-weight:600;color:#00d4ff}.floor-flatness-panel .clear-btn{background:transparent;border:none;color:#ff6b6b;font-size:24px;line-height:1;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.floor-flatness-panel .clear-btn:hover{background:rgba(255,107,107,.2)}.floor-flatness-panel .profile-stats{display:flex;flex-direction:column;gap:8px}.floor-flatness-panel .stat-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.05)}.floor-flatness-panel .stat-row:last-child{border-bottom:none}.floor-flatness-panel .stat-row span{color:#b0b0b0}.floor-flatness-panel .stat-row strong{color:#fff;font-family:Courier New,monospace}@media (max-width: 768px){.floor-flatness-panel{bottom:80px;right:10px;min-width:260px;max-width:300px}.floor-flatness-panel .panel-header h3{font-size:13px}.floor-flatness-panel .setting-row{flex-direction:column;align-items:flex-start;gap:8px}.floor-flatness-panel .setting-row input[type=number]{width:100%}}.floor-flatness-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;z-index:100000;padding:20px}.floor-flatness-modal{background:#1a1a1a;border:2px solid #00d4ff;border-radius:12px;max-width:1200px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #00d4ff4d}.floor-flatness-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid rgba(0,212,255,.3);background:rgba(0,212,255,.05)}.floor-flatness-modal .modal-header h2{margin:0;font-size:20px;font-weight:600;color:#00d4ff}.floor-flatness-modal .close-btn{background:transparent;border:none;color:#ff6b6b;font-size:32px;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.floor-flatness-modal .close-btn:hover{background:rgba(255,107,107,.2)}.floor-flatness-modal .modal-content{padding:24px;overflow-y:auto;flex:1}.floor-flatness-loading{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;color:#c8f6ff}.floor-flatness-loading h3{margin:0;color:#00d4ff;font-size:20px}.floor-flatness-loading p{margin:0;opacity:.85;font-size:14px}.floor-flatness-loading-spinner{width:44px;height:44px;border-radius:50%;border:4px solid rgba(0,212,255,.2);border-top-color:#00d4ff;animation:ff-summary-spin .9s linear infinite}@keyframes ff-summary-spin{to{transform:rotate(360deg)}}.floor-flatness-modal canvas{background:#1a1a1a;border:1px solid rgba(0,212,255,.2);border-radius:8px;display:block}.floor-flatness-modal .graph-section{margin-bottom:24px}.floor-flatness-modal .graph-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#00d4ff;padding-bottom:8px;border-bottom:1px solid rgba(0,212,255,.2)}.floor-flatness-modal .cross-section-screenshot-section{margin-bottom:24px}.floor-flatness-modal .cross-section-screenshot-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#00d4ff;padding-bottom:8px;border-bottom:1px solid rgba(0,212,255,.2)}.floor-flatness-modal .cross-section-screenshot{display:block;width:100%;height:auto;border:1px solid rgba(0,212,255,.2);border-radius:8px;background:#1a1a1a}.floor-flatness-modal .summary-heatmap-section{margin-bottom:24px}.floor-flatness-modal .summary-heatmap-section h3{margin:0 0 12px;font-size:16px;font-weight:600;color:#00d4ff;padding-bottom:8px;border-bottom:1px solid rgba(0,212,255,.2)}.floor-flatness-modal .summary-heatmap-image{display:block;width:100%;max-width:100%;height:auto;margin:0;border:1px solid rgba(0,212,255,.2);border-radius:8px;background:#09131a}.floor-flatness-modal .summary-heatmap-row{display:flex;align-items:flex-start;gap:8px;width:100%}.floor-flatness-modal .summary-heatmap-wrap{display:flex;align-items:flex-start;gap:8px;flex:1 1 auto;min-width:0;width:100%}.floor-flatness-modal .summary-heatmap-row .summary-heatmap-image{flex:1 1 auto;min-width:0;width:100%;height:auto;object-fit:contain;image-rendering:auto}.floor-flatness-modal .summary-heatmap-wrap .summary-heatmap-histogram{flex:0 0 clamp(44px,3.6vw,54px);width:clamp(44px,3.6vw,54px);height:auto;object-fit:fill;border:1px solid rgba(0,212,255,.28);border-radius:8px;background:rgba(7,16,23,.72)}.floor-flatness-modal .summary-heatmap-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:12px;font-size:12px;color:#d9f7ff}.floor-flatness-modal .summary-heatmap-meta-item{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid rgba(0,212,255,.18);border-radius:8px;background:rgba(0,212,255,.06)}.floor-flatness-modal .summary-heatmap-meta-item strong{color:#fff;font-size:13px}.floor-flatness-modal .stats-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:16px;background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.2);border-radius:8px}.floor-flatness-modal .stat-item{display:flex;flex-direction:column;gap:4px}.floor-flatness-modal .stat-item.wide{grid-column:1 / -1}.floor-flatness-modal .stat-label{font-size:12px;color:#888;text-transform:uppercase;letter-spacing:.5px}.floor-flatness-modal .stat-value{font-size:18px;font-weight:600;color:#00d4ff;font-family:Courier New,monospace}.floor-flatness-modal .stat-value.stat-value-small{font-size:13px;line-height:1.5;word-break:break-word}.floor-flatness-modal .fnumber-section{margin-bottom:20px;padding:20px;background:rgba(0,212,255,.08);border:2px solid rgba(0,212,255,.3);border-radius:8px}.floor-flatness-modal .fnumber-section h3{margin:0 0 16px;font-size:18px;font-weight:600;color:#00d4ff;text-align:center;border-bottom:1px solid rgba(0,212,255,.2);padding-bottom:12px}.floor-flatness-modal .fnumber-section .stat-item{margin-bottom:12px}.floor-flatness-modal .fnumber-section .stat-item.highlight{padding:12px;background:rgba(0,0,0,.3);border-radius:6px;border-left:3px solid;border-color:inherit}.floor-flatness-modal .fnumber-section .stat-item.highlight .stat-label{font-size:13px;font-weight:500;color:#ccc}.floor-flatness-modal .fnumber-section .stat-item.highlight .stat-value{font-size:24px;font-weight:700;font-family:Courier New,monospace}.floor-flatness-modal .fnumber-section .ff-value,.floor-flatness-modal .fnumber-section .fl-value{transition:all .3s ease}@media (max-width: 768px){.floor-flatness-modal{max-width:100%;max-height:100vh;border-radius:0}.floor-flatness-modal .modal-header{padding:16px}.floor-flatness-modal .modal-header h2{font-size:18px}.floor-flatness-modal .modal-content{padding:16px}.floor-flatness-modal .stats-summary{grid-template-columns:1fr}}.ff-analysis-sessions-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;z-index:100000;padding:20px}.ff-analysis-sessions-modal{background:#1a1a1a;border:2px solid #00d4ff;border-radius:12px;min-width:560px;max-width:760px;max-height:80vh;width:100%;display:flex;flex-direction:column;box-shadow:0 8px 32px #00d4ff4d}.ff-analysis-sessions-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid rgba(0,212,255,.3);background:rgba(0,212,255,.05);flex-shrink:0}.ff-analysis-sessions-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#00d4ff}.ff-analysis-sessions-modal-close{background:transparent;border:none;color:#ff6b6b;font-size:28px;line-height:1;cursor:pointer;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.ff-analysis-sessions-modal-close:hover{background:rgba(255,107,107,.2)}.ff-analysis-sessions-modal-body{padding:16px 20px;overflow-y:auto;flex:1;min-height:0}.ff-analysis-sessions-empty{margin:0;color:#888;font-size:14px}.ff-analysis-sessions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ff-analysis-sessions-item{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:2px 12px;align-items:center;padding:10px 12px;background:rgba(0,212,255,.06);border:1px solid rgba(0,212,255,.25);border-radius:8px;font-size:13px}.ff-analysis-sessions-name{grid-column:1;grid-row:1;font-weight:600;color:#00d4ff;display:flex;align-items:center;gap:8px}.ff-analysis-sessions-box-badge{font-size:11px;font-weight:400;color:#2ecc71;background:rgba(46,204,113,.15);padding:2px 6px;border-radius:4px}.ff-analysis-sessions-date{grid-column:2;grid-row:1;color:#888;font-size:12px}.ff-analysis-sessions-actions{grid-column:1 / -1;grid-row:3;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ff-analysis-sessions-acceptance{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:4px 7px;border:1px solid rgba(0,212,255,.35);border-radius:6px;color:#9feeff;font-size:12px}.ff-analysis-sessions-acceptance-controls{display:inline-flex;align-items:center;gap:8px}.ff-analysis-sessions-acceptance select{max-width:180px;border:1px solid rgba(0,212,255,.5);border-radius:4px;background:#141414;color:#e8fbff;font-size:12px;padding:3px 5px}.ff-analysis-sessions-custom-acceptance{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%}.ff-analysis-sessions-custom-acceptance label{display:inline-flex;align-items:center;gap:4px;color:#b7c8cc;font-size:11px}.ff-analysis-sessions-custom-acceptance input{width:56px;border:1px solid rgba(0,212,255,.4);border-radius:4px;background:#141414;color:#e8fbff;padding:3px 4px}.ff-analysis-sessions-reload-btn,.ff-analysis-sessions-saveall-btn,.ff-analysis-sessions-baseplane-btn,.ff-analysis-sessions-erase-btn{width:104px;min-height:34px;padding:6px 10px;font-size:12px;line-height:1.1;text-align:center;white-space:normal;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;border:none;cursor:pointer;transition:opacity .2s,background .2s}.ff-analysis-sessions-baseplane-btn{background:rgba(0,212,255,.18);color:#9feeff;border:1px solid rgba(0,212,255,.45)}.ff-analysis-sessions-baseplane-btn:hover{background:rgba(0,212,255,.3);color:#d8f8ff}.ff-analysis-sessions-reload-btn{background:#00d4ff;color:#0d0d0d}.ff-analysis-sessions-reload-btn:hover{opacity:.9;background:#33ddff}.ff-analysis-sessions-saveall-btn{background:rgba(64,191,115,.22);color:#9ff0bf;border:1px solid rgba(64,191,115,.55)}.ff-analysis-sessions-saveall-btn:hover{background:rgba(64,191,115,.38);color:#c6ffd9}.ff-analysis-sessions-saveall-btn:disabled{opacity:.85;cursor:wait}.ff-analysis-sessions-btn-spinner{width:14px;height:14px;border-radius:50%;border:2px solid rgba(198,255,217,.35);border-top-color:#c6ffd9;animation:ff-analysis-sessions-spin .8s linear infinite;margin-right:6px}@keyframes ff-analysis-sessions-spin{to{transform:rotate(360deg)}}.ff-analysis-sessions-erase-btn{background:rgba(255,107,107,.25);color:#ff6b6b;border:1px solid rgba(255,107,107,.5)}.ff-analysis-sessions-erase-btn:hover{background:rgba(255,107,107,.4);color:#ff8787}.ff-analysis-sessions-cloud{grid-column:1 / 3;grid-row:2;color:#aaa;font-size:12px;word-break:break-all}.ff-analysis-sessions-modal-footer{display:flex;justify-content:flex-end;padding:16px 20px;border-top:1px solid rgba(0,212,255,.2);flex-shrink:0}.ff-analysis-sessions-modal-btn.close{padding:8px 20px;font-size:14px;border-radius:8px;cursor:pointer;border:none;background:#00d4ff;color:#0d0d0d;transition:opacity .2s,background .2s}.ff-analysis-sessions-modal-btn.close:hover{opacity:.9;background:#33ddff}.ff-analysis-sessions-confirmation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);z-index:1}.ff-analysis-sessions-confirmation{width:min(320px,calc(100vw - 40px));padding:16px;border:1px solid #00d4ff;border-radius:8px;background:#15262b;box-shadow:0 8px 20px #00000073;color:#e8fbff}.ff-analysis-sessions-confirmation p{margin:0;font-size:13px;line-height:1.4}.ff-analysis-sessions-confirmation-description{margin-top:6px!important;color:#b7c8cc;font-size:12px!important}.ff-analysis-sessions-confirmation-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.ff-analysis-sessions-confirmation-actions button{min-width:72px;padding:6px 10px;border:1px solid rgba(0,212,255,.45);border-radius:5px;background:rgba(0,212,255,.12);color:#9feeff;cursor:pointer}.ff-analysis-sessions-confirmation-actions button:disabled{cursor:wait;opacity:.7}.ff-analysis-sessions-confirmation-actions .ff-analysis-sessions-confirmation-erase{border-color:#ff6b6ba6;background:rgba(255,107,107,.25);color:#ff8787}@media (max-width: 820px){.ff-analysis-sessions-modal{min-width:0;max-width:100%}}.project-view-asbuilt-split-root{--split-divider-width: 6px;--split-ratio: .5;display:grid;grid-template-columns:minmax(0,calc((100% - var(--split-divider-width)) * var(--split-ratio))) var(--split-divider-width) minmax(0,1fr);height:100%;width:100%;min-height:0;flex:1;box-sizing:border-box;overflow:hidden}.project-view-asbuilt-split-pane-left,.project-view-asbuilt-split-pane-right{position:relative;min-width:0;min-height:0;height:100%;overflow:hidden;box-sizing:border-box}.project-view-asbuilt-split-pane-right{background:#121212}.project-view-asbuilt-split-scene-host{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.project-view-asbuilt-split-scene-host>div{position:relative!important;width:100%!important;height:100%!important}.project-view-asbuilt-split-divider{position:relative;width:100%;height:100%;cursor:col-resize;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.22);-webkit-user-select:none;user-select:none;z-index:4;box-sizing:border-box}.project-view-asbuilt-split-divider:hover,.project-view-asbuilt-split-resizing .project-view-asbuilt-split-divider{background:rgba(0,123,255,.25)}.project-view-asbuilt-split-divider-handle{width:3px;height:32px;background:rgba(255,255,255,.45);border-radius:2px;transition:background .2s ease;pointer-events:none}.project-view-asbuilt-split-divider:hover .project-view-asbuilt-split-divider-handle,.project-view-asbuilt-split-resizing .project-view-asbuilt-split-divider-handle{background:rgba(0,123,255,.75)}.project-view-asbuilt-split-resizing{cursor:col-resize}.project-view-asbuilt-split-pane-label{position:absolute;top:8px;left:10px;z-index:2;font-size:11px;font-weight:600;letter-spacing:.02em;color:#ffffffd1;pointer-events:none;font-family:system-ui,-apple-system,sans-serif;text-transform:uppercase}.project-view-asbuilt-split-exit{position:absolute;top:8px;right:10px;z-index:3;font-size:11px;font-weight:600;padding:4px 10px;border:1px solid rgba(255,255,255,.35);border-radius:4px;background:rgba(0,0,0,.45);color:#ffffffe6;cursor:pointer;font-family:system-ui,-apple-system,sans-serif}.project-view-asbuilt-split-exit:hover{background:rgba(0,0,0,.65)}.as-built-exit-linked-inspection{position:fixed;top:12px;right:12px;z-index:10040;font-size:12px;font-weight:600;padding:8px 14px;border:1px solid rgba(255,255,255,.35);border-radius:6px;background:rgba(0,0,0,.55);color:#fffffff2;cursor:pointer;font-family:system-ui,-apple-system,sans-serif;box-shadow:0 2px 8px #00000059}.as-built-exit-linked-inspection:hover{background:rgba(0,0,0,.75)}.project-view-asbuilt-split-visibility-toggles{position:absolute;top:8px;right:10px;z-index:3;display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-family:system-ui,-apple-system,sans-serif}.project-view-asbuilt-split-toggle{display:flex;align-items:center;gap:8px;margin:0;-webkit-user-select:none;user-select:none}.project-view-asbuilt-split-toggle-label-group{display:inline-flex;align-items:center;gap:4px}.project-view-asbuilt-split-info{position:relative;display:inline-flex;align-items:center}.project-view-asbuilt-split-info-btn{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:50%;background:rgba(0,0,0,.35);color:#ffffffb8;cursor:help;transition:color .15s ease,border-color .15s ease,background .15s ease}.project-view-asbuilt-split-info-btn:hover,.project-view-asbuilt-split-info-btn:focus-visible,.project-view-asbuilt-split-info:hover .project-view-asbuilt-split-info-btn{color:#fffffffa;border-color:#007bffbf;background:rgba(0,123,255,.35);outline:none}.project-view-asbuilt-split-info-tip{position:absolute;top:calc(100% + 8px);right:0;z-index:20;width:min(300px,calc(100vw - 24px));padding:10px 12px;border-radius:6px;background:rgba(14,14,14,.94);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 24px #00000073;color:#ffffffeb;pointer-events:auto;text-align:left}.project-view-asbuilt-split-info-tip-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.project-view-asbuilt-split-info-swatch{width:10px;height:10px;border-radius:2px;border:1px solid rgba(255,255,255,.35);flex-shrink:0}.project-view-asbuilt-split-info-tip-title{font-size:11px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:#fffffff2}.project-view-asbuilt-split-info-tip-list{margin:0;padding-left:14px;display:flex;flex-direction:column;gap:6px}.project-view-asbuilt-split-info-tip-list li{font-size:11px;font-weight:500;line-height:1.4;color:#ffffffd1;text-transform:none;letter-spacing:0}.project-view-asbuilt-split-mode-picker{display:flex;flex-wrap:wrap;justify-content:flex-end;max-width:min(100%,420px);gap:4px;padding:2px;border-radius:6px;background:rgba(0,0,0,.45);border:1px solid rgba(255,255,255,.2)}.project-view-asbuilt-split-boolean-picker{max-width:min(100%,520px)}.project-view-asbuilt-split-mode-btn{font-size:10px;font-weight:600;padding:4px 8px;border:none;border-radius:4px;background:transparent;color:#ffffffbf;cursor:pointer;text-transform:uppercase;letter-spacing:.03em}.project-view-asbuilt-split-mode-btn.is-active{background:rgba(0,123,255,.55);color:#fffffff2}.project-view-asbuilt-split-mode-btn:disabled{opacity:.45;cursor:not-allowed}.project-view-asbuilt-split-mode-status{font-size:10px;color:#ffffffa6}.project-view-asbuilt-split-toggle-label{font-size:11px;font-weight:600;color:#ffffffe0;letter-spacing:.01em;min-width:52px;text-align:right}.project-view-asbuilt-split-switch{position:relative;width:34px;height:18px;padding:0;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(0,0,0,.45);cursor:pointer;transition:background .15s ease,border-color .15s ease}.project-view-asbuilt-split-switch.is-on{background:color-mix(in srgb,var(--switch-on-color, #007bff) 55%,transparent);border-color:color-mix(in srgb,var(--switch-on-color, #007bff) 85%,transparent)}.project-view-asbuilt-split-switch-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.92);transition:transform .15s ease;pointer-events:none}.project-view-asbuilt-split-switch.is-on .project-view-asbuilt-split-switch-thumb{transform:translate(16px)}.project-view-asbuilt-split-full{height:100%;width:100%;min-height:0;flex:1;box-sizing:border-box}.as-built-offset-tooltip{position:fixed;z-index:10001;padding:6px 10px;border-radius:4px;background:rgba(20,20,20,.88);color:#ffffffeb;font-size:11px;font-family:system-ui,-apple-system,sans-serif;pointer-events:none;box-shadow:0 2px 8px #00000059;line-height:1.35;white-space:nowrap}.as-built-offset-tooltip .coordinate{margin:0;width:auto}.as-built-offset-tooltip-related{color:#8eb8ff;margin-top:4px!important}.as-built-offset-tooltip-collision{color:#ff6b8a;margin-top:2px!important;font-weight:700}html,body,#root{position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden}.react-tooltip{z-index:2147483647!important;position:fixed!important;pointer-events:none!important}.project-viewer-size-container{position:absolute;pointer-events:none;top:0;left:0;height:100vh;width:100vw}.pointer-events-all{pointer-events:all!important}.immersive-info-container{width:100%;margin-top:1em;display:flex;justify-content:center;align-items:center}.immersive-info{width:25rem;display:flex;justify-content:center;align-items:center;border-radius:1.5em;padding:.2em 1.5em;background-color:#fff;border:2px solid #cecece}.immersive-info>img{width:25rem}.hidden{display:none}.viewer{height:100%}.tooltip{position:relative}.tooltip-container{visibility:hidden;position:absolute;pointer-events:none;min-width:150px;min-height:30px;z-index:4;display:flex;justify-content:center;align-items:center}.tooltip-border{top:0;left:0;position:absolute;height:100%;width:100%;background-color:gray;border-radius:10px;color:gray;font-size:smaller!important;font-weight:700}.tooltip-text{top:2;left:1;position:absolute;height:calc(100% - 4px);width:calc(100% - 4px);background-color:#fff;border-radius:9px;color:gray;font-size:smaller!important;font-weight:700;display:flex;align-items:center;justify-content:center}.tooltip-right{position:absolute;top:50%;transform:translateY(-50%);left:42px}.tooltip:hover .tooltip-container{visibility:visible}.tooltip-border:after{content:"";position:absolute;top:50%;right:100%;margin-top:-10px;margin-right:-3px;border-width:10px;border-style:solid;border-color:transparent grey transparent transparent}.tooltip-text:after{content:"";position:absolute;top:50%;right:100%;margin-top:-9px;margin-right:-3px;border-width:9px;z-index:10;border-style:solid;border-color:transparent white transparent transparent}.heatmap-panel{position:absolute;top:0;width:100%;height:100%}
