.cesium-svgPath-svg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}.cesium-button{display:inline-block;position:relative;background:#303336;border:1px solid #444;color:#edffff;fill:#edffff;border-radius:4px;padding:5px 12px;margin:2px 3px;cursor:pointer;overflow:hidden;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-button:focus{color:#fff;fill:#fff;border-color:#ea4;outline:none}.cesium-button:hover{color:#fff;fill:#fff;background:#48b;border-color:#aef;box-shadow:0 0 8px #fff}.cesium-button:active{color:#000;fill:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-button:disabled,.cesium-button-disabled,.cesium-button-disabled:focus,.cesium-button-disabled:hover,.cesium-button-disabled:active{background:#303336;border-color:#444;color:#646464;fill:#646464;box-shadow:none;cursor:default}.cesium-button option{background-color:#000;color:#eee}.cesium-button option:disabled{color:#777}.cesium-button input,.cesium-button label{cursor:pointer}.cesium-button input{vertical-align:sub}.cesium-toolbar-button{box-sizing:border-box;width:32px;height:32px;border-radius:14%;padding:0;vertical-align:middle;z-index:0}.cesium-performanceDisplay-defaultContainer{position:absolute;top:50px;right:10px;text-align:right}.cesium-performanceDisplay{background-color:#282828b3;padding:7px;border-radius:5px;border:1px solid #444;font:700 12px sans-serif}.cesium-performanceDisplay-fps{color:#e52}.cesium-performanceDisplay-throttled{color:#a42}.cesium-performanceDisplay-ms{color:#de3}.cesium-animation-theme{visibility:hidden;display:block;position:absolute;z-index:-100}.cesium-animation-themeNormal{color:#222}.cesium-animation-themeHover{color:#4488b0}.cesium-animation-themeSelect{color:#242}.cesium-animation-themeDisabled{color:#333}.cesium-animation-themeKnob{color:#222}.cesium-animation-themePointer{color:#2e2}.cesium-animation-themeSwoosh{color:#8ac}.cesium-animation-themeSwooshHover{color:#aef}.cesium-animation-svgText{fill:#edffff;font-family:Sans-Serif;font-size:15px;text-anchor:middle}.cesium-animation-blank{fill:#000;fill-opacity:.01;stroke:none}.cesium-animation-rectButton{cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-rectButton .cesium-animation-buttonGlow{fill:#fff;stroke:none;display:none}.cesium-animation-rectButton:hover .cesium-animation-buttonGlow{display:block}.cesium-animation-rectButton .cesium-animation-buttonPath{fill:#edffff}.cesium-animation-rectButton .cesium-animation-buttonMain{stroke:#444;stroke-width:1.2}.cesium-animation-rectButton:hover .cesium-animation-buttonMain{stroke:#aef}.cesium-animation-rectButton:active .cesium-animation-buttonMain{fill:#abd6ff}.cesium-animation-buttonDisabled{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-animation-buttonDisabled .cesium-animation-buttonMain{stroke:#555}.cesium-animation-buttonDisabled .cesium-animation-buttonPath{fill:#818181}.cesium-animation-buttonDisabled .cesium-animation-buttonGlow{display:none}.cesium-animation-buttonToggled .cesium-animation-buttonGlow{display:block;fill:#2e2}.cesium-animation-buttonToggled .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-buttonToggled:hover .cesium-animation-buttonGlow{fill:#fff}.cesium-animation-buttonToggled:hover .cesium-animation-buttonMain{stroke:#2e2}.cesium-animation-shuttleRingG,.cesium-animation-shuttleRingPointer,.cesium-animation-shuttleRingPausePointer{cursor:pointer}.cesium-animation-shuttleRingBack{fill:#181818;fill-opacity:.8;stroke:#333;stroke-width:1.2}.cesium-animation-shuttleRingSwoosh line{stroke:#8ac;stroke-width:3;stroke-opacity:.2;stroke-linecap:round}.cesium-animation-knobOuter{cursor:pointer;stroke:#444;stroke-width:1.2}.cesium-animation-knobInner{cursor:pointer}.cesium-baseLayerPicker-selected{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.cesium-baseLayerPicker-dropDown{display:block;position:absolute;box-sizing:content-box;top:auto;right:0;width:320px;max-height:500px;margin-top:5px;background-color:#262626bf;border:1px solid #444;padding:6px;overflow:auto;border-radius:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;transform:translateY(-20%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-baseLayerPicker-dropDown-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-baseLayerPicker-sectionTitle{display:block;font-family:sans-serif;font-size:16pt;text-align:left;color:#edffff;margin-bottom:4px}.cesium-baseLayerPicker-choices{margin-bottom:5px}.cesium-baseLayerPicker-categoryTitle{color:#edffff;font-size:11pt}.cesium-baseLayerPicker-choices{display:block;border:1px solid #888;border-radius:5px;padding:5px 0}.cesium-baseLayerPicker-item{display:inline-block;vertical-align:top;margin:2px 5px;width:64px;text-align:center;cursor:pointer}.cesium-baseLayerPicker-itemLabel{display:block;font-family:sans-serif;font-size:8pt;text-align:center;vertical-align:middle;color:#edffff;cursor:pointer;word-wrap:break-word}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel,.cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel{text-decoration:underline}.cesium-baseLayerPicker-itemIcon{display:inline-block;position:relative;width:inherit;height:auto;background-size:100% 100%;border:solid 1px #444;border-radius:9px;color:#edffff;margin:0;padding:0;cursor:pointer;box-sizing:border-box}.cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon{border-color:#fff;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel{color:#bdecf8}.cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon{border:double 4px rgb(189,236,248)}.cesium-widget{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-widget,.cesium-widget canvas{width:100%;height:100%;touch-action:none}.cesium-widget-credits{display:block;position:absolute;bottom:0;left:0;color:#fff;font-size:10px;text-shadow:0px 0px 2px #000000;padding-right:5px}.cesium-widget-errorPanel{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;background:#000000b3;z-index:99999}.cesium-widget-errorPanel:before{display:inline-block;vertical-align:middle;height:100%;content:""}.cesium-widget-errorPanel-content{width:75%;max-width:500px;display:inline-block;text-align:left;vertical-align:middle;border:1px solid #510c00;border-radius:7px;background-color:#f0d9d5;font-size:14px;color:#510c00}.cesium-widget-errorPanel-content.expanded{max-width:75%}.cesium-widget-errorPanel-header{font-size:18px;font-family:Open Sans,Verdana,Geneva,sans-serif;background:#d69d93;border-bottom:2px solid #510c00;border-radius:3px 3px 0 0;padding:15px}.cesium-widget-errorPanel-scroll{overflow:auto;font-family:Open Sans,Verdana,Geneva,sans-serif;white-space:pre-wrap;padding:0 15px;margin:10px 0 20px}.cesium-widget-errorPanel-buttonPanel{padding:0 15px;margin:10px 0 20px;text-align:right}.cesium-widget-errorPanel-buttonPanel button{border-color:#510c00;background:#d69d93;color:#202020;margin:0}.cesium-widget-errorPanel-buttonPanel button:focus{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:hover{border-color:#510c00;background:#f0d9d5;color:#510c00}.cesium-widget-errorPanel-buttonPanel button:active{border-color:#510c00;background:#b17b72;color:#510c00}.cesium-widget-errorPanel-more-details{text-decoration:underline;cursor:pointer}.cesium-widget-errorPanel-more-details:hover{color:#2b0700}.cesium-cesiumInspector{border-radius:5px;transition:width ease-in-out .25s;background:#303336cc;border:1px solid #444;color:#edffff;display:inline-block;position:relative;padding:4px 12px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}.cesium-cesiumInspector-button{text-align:center;font-size:11pt}.cesium-cesiumInspector-visible .cesium-cesiumInspector-button{border-bottom:1px solid #aaa;padding-bottom:3px}.cesium-cesiumInspector input:enabled,.cesium-cesiumInspector-button{cursor:pointer}.cesium-cesiumInspector-visible{width:185px;height:auto}.cesium-cesiumInspector-hidden{width:122px;height:17px}.cesium-cesiumInspector-sectionContent{max-height:600px}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionContent{max-height:0;padding:0!important;overflow:hidden}.cesium-cesiumInspector-dropDown{margin:5px 0;font-family:sans-serif;font-size:10pt;width:185px}.cesium-cesiumInspector-frustumStatistics{padding:5px;background-color:#505050bf}.cesium-cesiumInspector-pickButton{background-color:#0000004d;border:1px solid #444;color:#edffff;border-radius:5px;padding:3px 7px;cursor:pointer;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;margin:0 auto}.cesium-cesiumInspector-pickButton:focus{outline:none}.cesium-cesiumInspector-pickButton:active,.cesium-cesiumInspector-pickButtonHighlight{color:#000;background:#adf;border-color:#fff;box-shadow:0 0 8px #fff}.cesium-cesiumInspector-center{text-align:center}.cesium-cesiumInspector-sectionHeader{font-weight:700;font-size:10pt;margin:0;cursor:pointer}.cesium-cesiumInspector-pickSection{border:1px solid #aaa;border-radius:5px;padding:3px;margin-bottom:5px}.cesium-cesiumInspector-sectionContent{margin-bottom:10px;transition:max-height .25s}.cesium-cesiumInspector-tileText{padding-bottom:10px;border-bottom:1px solid #aaa}.cesium-cesiumInspector-relativeText{padding-top:10px}.cesium-cesiumInspector-sectionHeader:before{margin-right:5px;content:"-";width:1ch;display:inline-block}.cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionHeader:before{content:"+"}ul.cesium-cesiumInspector-statistics{margin:0;padding-top:3px;padding-bottom:3px}ul.cesium-cesiumInspector-statistics+ul.cesium-cesiumInspector-statistics{border-top:1px solid #aaa}.cesium-cesiumInspector-slider{margin-top:5px}.cesium-cesiumInspector-slider input[type=number]{text-align:left;background-color:#222;outline:none;border:1px solid #444;color:#edffff;width:100px;border-radius:3px;padding:1px;margin-left:10px;cursor:auto}.cesium-cesiumInspector-slider input[type=number]::-webkit-outer-spin-button,.cesium-cesiumInspector-slider input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cesium-cesiumInspector-slider input[type=range]{margin-left:5px;vertical-align:middle}.cesium-cesiumInspector-hide .cesium-cesiumInspector-styleEditor{display:none}.cesium-cesiumInspector-styleEditor{padding:10px;border-radius:5px;background:#303336cc;border:1px solid #444}.cesium-cesiumInspector-styleEditor textarea{width:100%;height:300px;background:transparent;color:#edffff;border:none;padding:0;white-space:pre;overflow-wrap:normal;overflow-x:auto}.cesium-3DTilesInspector{width:300px;pointer-events:all}.cesium-3DTilesInspector-statistics{font-size:11px}.cesium-3DTilesInspector-disabledElementsInfo{margin:5px 0 0;padding:0 0 0 20px;color:#eed202}.cesium-3DTilesInspector div,.cesium-3DTilesInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-cesiumInspector-error{color:#ff9e9e;overflow:auto}.cesium-3DTilesInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-3DTilesInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}input.cesium-cesiumInspector-url{overflow:hidden;white-space:nowrap;overflow-x:scroll;background-color:transparent;color:#fff;outline:none;border:none;height:1em;width:100%}.cesium-cesiumInspector .field-group{display:table}.cesium-cesiumInspector .field-group>label{display:table-cell;font-weight:700}.cesium-cesiumInspector .field-group>.field{display:table-cell;width:100%}.cesium-VoxelInspector{width:300px;pointer-events:all}.cesium-VoxelInspector div,.cesium-VoxelInspector input[type=range]{width:100%;box-sizing:border-box}.cesium-VoxelInspector .cesium-cesiumInspector-section{margin-top:3px}.cesium-VoxelInspector .cesium-cesiumInspector-sectionHeader+.cesium-cesiumInspector-show{border-top:1px solid white}.cesium-button.cesium-fullscreenButton,.cesium-button.cesium-vrButton{display:block;width:100%;height:100%;margin:0;border-radius:0}.cesium-viewer-geocoderContainer .cesium-geocoder-input{border:solid 1px #444;background-color:#282828b3;color:#fff;display:inline-block;vertical-align:middle;width:0;height:32px;margin:0;padding:0 32px 0 0;border-radius:0;box-sizing:border-box;transition:width ease-in-out .25s,background-color .2s ease-in-out;-webkit-appearance:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input{border-color:#aef;box-shadow:0 0 8px #fff}.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus{border-color:#ea4;background-color:#0f0f0fe6;box-shadow:none;outline:none}.cesium-viewer-geocoderContainer:hover .cesium-geocoder-input,.cesium-viewer-geocoderContainer .cesium-geocoder-input:focus,.cesium-viewer-geocoderContainer .cesium-geocoder-input-wide{padding-left:4px;width:250px}.cesium-viewer-geocoderContainer .search-results{position:absolute;background-color:#000;color:#eee;overflow-y:auto;opacity:.8;width:100%}.cesium-viewer-geocoderContainer .search-results ul{list-style-type:none;margin:0;padding:0}.cesium-viewer-geocoderContainer .search-results ul li{font-size:14px;padding:3px 10px}.cesium-viewer-geocoderContainer .search-results ul li:hover{cursor:pointer}.cesium-viewer-geocoderContainer .search-results ul li.active{background:#48b}.cesium-geocoder-searchButton{background-color:#303336;display:inline-block;position:absolute;cursor:pointer;width:32px;top:1px;right:1px;height:30px;vertical-align:middle;fill:#edffff}.cesium-geocoder-searchButton:hover{background-color:#48b}.cesium-infoBox{display:block;position:absolute;top:50px;right:0;width:40%;max-width:480px;background:#262626f2;color:#edffff;border:1px solid #444;border-right:none;border-top-left-radius:7px;border-bottom-left-radius:7px;box-shadow:0 0 10px 1px #000;transform:translate(100%);visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in,transform .2s ease-in}.cesium-infoBox-visible{transform:translate(0);visibility:visible;opacity:1;transition:opacity .2s ease-out,transform .2s ease-out}.cesium-infoBox-title{display:block;height:20px;padding:5px 30px 5px 25px;background:#545454;border-top-left-radius:7px;text-align:center;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;box-sizing:content-box}.cesium-infoBox-bodyless .cesium-infoBox-title{border-bottom-left-radius:7px}button.cesium-infoBox-camera{display:block;position:absolute;top:4px;left:4px;width:22px;height:22px;background:transparent;border-color:transparent;border-radius:3px;padding:0 5px;margin:0}button.cesium-infoBox-close{display:block;position:absolute;top:5px;right:5px;height:20px;background:transparent;border:none;border-radius:2px;font-weight:700;font-size:16px;padding:0 5px;margin:0;color:#edffff}button.cesium-infoBox-close:focus{background:#ee880070;outline:none}button.cesium-infoBox-close:hover{background:#888;color:#000}button.cesium-infoBox-close:active{background:#a00;color:#000}.cesium-infoBox-bodyless .cesium-infoBox-iframe{display:none}.cesium-infoBox-iframe{border:none;width:100%;width:calc(100% - 2px)}span.cesium-sceneModePicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-sceneModePicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-sceneModePicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-none{display:none}.cesium-sceneModePicker-slide-svg{transition:left 2s;top:0;left:0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D{margin:0 0 3px}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-icon2D{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button3D .cesium-sceneModePicker-iconColumbusView{left:200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon3D{left:-200%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-buttonColumbusView .cesium-sceneModePicker-icon2D,.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-icon3D{left:-100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-button2D .cesium-sceneModePicker-iconColumbusView{left:100%}.cesium-sceneModePicker-wrapper .cesium-sceneModePicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}span.cesium-projectionPicker-wrapper{display:inline-block;position:relative;margin:0 3px}.cesium-projectionPicker-visible{visibility:visible;opacity:1;transition:opacity .25s linear}.cesium-projectionPicker-hidden{visibility:hidden;opacity:0;transition:visibility 0s .25s,opacity .25s linear}.cesium-projectionPicker-wrapper .cesium-projectionPicker-none{display:none}.cesium-projectionPicker-wrapper .cesium-projectionPicker-dropDown-icon{box-sizing:border-box;padding:0;margin:3px 0}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective,.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic{margin:0 0 3px}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonPerspective .cesium-projectionPicker-iconOrthographic{left:100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-buttonOrthographic .cesium-projectionPicker-iconPerspective{left:-100%}.cesium-projectionPicker-wrapper .cesium-projectionPicker-selected{border-color:#2e2;box-shadow:0 0 8px #fff,0 0 8px #fff}.cesium-performance-watchdog-message-area{position:relative;background-color:#ff0;color:#000;padding:10px}.cesium-performance-watchdog-message{margin-right:30px}.cesium-performance-watchdog-message-dismiss{position:absolute;right:0;margin:0 10px 0 0}.cesium-navigationHelpButton-wrapper{position:relative;display:inline-block}.cesium-navigation-help{visibility:hidden;position:absolute;top:38px;right:2px;width:250px;border-radius:10px;transform:scale(.01);transform-origin:234px -10px;transition:visibility 0s .25s,transform .25s ease-in}.cesium-navigation-help-visible{visibility:visible;transform:scale(1);transition:transform .25s ease-out}.cesium-navigation-help-instructions{border:1px solid #444;background-color:#262626bf;padding-bottom:5px;border-radius:0 0 10px 10px}.cesium-click-navigation-help{display:none}.cesium-touch-navigation-help{display:none;padding-top:5px}.cesium-click-navigation-help-visible,.cesium-touch-navigation-help-visible{display:block}.cesium-navigation-help-pan{color:#6cf;font-weight:700}.cesium-navigation-help-zoom{color:#65fd00;font-weight:700}.cesium-navigation-help-rotate{color:#ffd800;font-weight:700}.cesium-navigation-help-tilt{color:#d800d8;font-weight:700}.cesium-navigation-help-details{color:#fff}.cesium-navigation-button{color:#fff;background-color:transparent;border-bottom:none;border-top:1px solid #444;border-right:1px solid #444;margin:0;width:50%;cursor:pointer}.cesium-navigation-button-icon{vertical-align:middle;padding:5px 1px}.cesium-navigation-button:focus{outline:none}.cesium-navigation-button-left{border-radius:10px 0 0;border-left:1px solid #444}.cesium-navigation-button-right{border-radius:0 10px 0 0;border-left:none}.cesium-navigation-button-selected{background-color:#262626bf}.cesium-navigation-button-unselected{background-color:#000000bf}.cesium-navigation-button-unselected:hover{background-color:#4c4c4cbf}.cesium-selection-wrapper{position:absolute;width:160px;height:160px;pointer-events:none;visibility:hidden;opacity:0;transition:visibility 0s .2s,opacity .2s ease-in}.cesium-selection-wrapper-visible{visibility:visible;opacity:1;transition:opacity .2s ease-out}.cesium-selection-wrapper svg{fill:#2e2;stroke:#000;stroke-width:1.1px}.cesium-timeline-main{position:relative;left:0;bottom:0;overflow:hidden;border:solid 1px #888;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.cesium-timeline-trackContainer{width:100%;overflow:auto;border-top:solid 1px #888;position:relative;top:0;left:0}.cesium-timeline-tracks{position:absolute;top:0;left:0;width:100%}.cesium-timeline-needle{position:absolute;left:0;top:1.7em;bottom:0;width:1px;background:red}.cesium-timeline-bar{position:relative;left:0;top:0;overflow:hidden;cursor:pointer;width:100%;height:1.7em;background:linear-gradient(to bottom,#747577cc,#3a4452cc 11%,#2e3238cc,#353535cc 81%,#353535cc)}.cesium-timeline-ruler{visibility:hidden;white-space:nowrap;font-size:80%;z-index:-200}.cesium-timeline-highlight{position:absolute;bottom:0;left:0;background:#08f}.cesium-timeline-ticLabel{position:absolute;top:0;left:0;white-space:nowrap;font-size:80%;color:#eee}.cesium-timeline-ticMain{position:absolute;bottom:0;left:0;width:1px;height:50%;background:#eee}.cesium-timeline-ticSub{position:absolute;bottom:0;left:0;width:1px;height:33%;background:#aaa}.cesium-timeline-ticTiny{position:absolute;bottom:0;left:0;width:1px;height:25%;background:#888}.cesium-timeline-icon16{display:block;position:absolute;width:16px;height:16px;background-image:url(data:text/plain;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAQCAYAAAB3AH1ZAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sIDBITKIVzLEMAAAKNSURBVEjHxdXNSxRhHAfw7zzrqhuoWJnSkrippUVSEKsHI9BTUYdAJA/RoYMREV26rAdn6tAfUARi16hQqkOBQRgUEYFWEC3OwczMjdZd92VmdWfmeelgTjO7q7gb0VzmmZnn85vvPPPMM8B/3qTcE2PPpuTZKB1eWuUQACgXYACYwVFbCTTVeZXB/i55o4LFelcAZfStYD4vpAoPGAGo4GBcQEgSOAUMQyAezwK6iQfDPXnhS/FkHZ+/8VLMWxxqWkfH3gbMRNOYi2roavbja0zHQmoFPYf8ED4Ko4aivm9MOG/u9I8mwrafeK7a/tVrNc/bARYN5noadeq7q0342vXw9CIMU6BmW8rVP9cPBPe52uu+v3O/y9sB4gkTWs6Qsk0mj5ExXMelejvA8WafYmkmGPHanTijdtvif8rx5RiCjdWKs2Cp3jWRDl96KhrbqlBeJqBOLyLQXg0IgbkZDS0dO8EZxZfPSTA9jvDDK3mT0OmP1FXh3XwEEAKdTX5MRWLgjCK4pwH3xt/YnjgLHAv4lHTCAKMMu/wV+KZGob6PoKyMQ0+sgBpZVJZn0NterxQaVqef/DRn+/EXYds/mZx2eVeAW9d65dhCEsaKCb7K8HH0gqTevyh9GDkn0VULRiaLzJKGBu9swfdaiie5RVo9ESURN8E8BE0n7ggACJy8KzghSCzp6DmwWxkaCm24EBXr8wI8Hrkq06QBiRC0t24HALS11IBTCyJl4vb1AXmzpbVYTwoVOXN0h7L8Mwtm8bXPybIQ/5FCX3dA2cr6XowvGCA02CvztAnz9+JiZk1AMxG6fEreSoBiPNmoyNnuWiWVzAIAtISO08E6pZi/3N96AIDn4E3h3P8L/wshP+txtEs4JAAAAABJRU5ErkJggg==);background-repeat:no-repeat}.cesium-viewer{font-family:sans-serif;font-size:16px;overflow:hidden;display:block;position:relative;top:0;left:0;width:100%;height:100%}.cesium-viewer-cesiumWidgetContainer{width:100%;height:100%}.cesium-viewer-bottom{display:block;position:absolute;bottom:0;left:0;padding-right:5px}.cesium-viewer .cesium-widget-credits{display:inline;position:static;bottom:auto;left:auto;padding-right:0;color:#fff;font-size:10px;text-shadow:0 0 2px #000000}.cesium-viewer-timelineContainer{position:absolute;bottom:0;left:169px;right:29px;height:27px;padding:0;margin:0;overflow:hidden;font-size:14px}.cesium-viewer-animationContainer{position:absolute;bottom:0;left:0;padding:0;width:169px;height:112px}.cesium-viewer-fullscreenContainer,.cesium-viewer-vrContainer{position:absolute;bottom:0;right:0;padding:0;width:29px;height:29px;overflow:hidden}.cesium-viewer-toolbar{display:block;position:absolute;top:5px;right:5px}.cesium-viewer-cesiumInspectorContainer{display:block;position:absolute;top:50px;right:10px}.cesium-viewer-geocoderContainer{position:relative;display:inline-block;margin:0 3px}.cesium-viewer-cesium3DTilesInspectorContainer,.cesium-viewer-voxelInspectorContainer{display:block;position:absolute;top:50px;right:10px;max-height:calc(100% - 120px);box-sizing:border-box;overflow-y:auto;overflow-x:hidden}.cesium-viewer-i3s-explorer ul{list-style-type:none}.cesium-viewer-i3s-explorer .layersList{padding:0}.cesium-viewer-i3s-explorer input{margin:0 3px 0 0}.cesium-viewer-i3s-explorer .expandItem{cursor:pointer;-webkit-user-select:none;user-select:none;width:20px}.cesium-viewer-i3s-explorer .nested,.cesium-viewer-i3s-explorer #bsl-wrapper{display:none}.cesium-viewer-i3s-explorer .active{display:block}.cesium-viewer-i3s-explorer .li-wrapper{display:flex;flex-direction:row;align-content:center}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-BmRLXWpJ.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-700-normal-DCQwxkRk.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-cyrillic-700-normal-D_uavGvn.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-700-normal-RFb1v-CK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-greek-700-normal-wyJ6jzdA.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-700-normal-CkZN0sRy.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-vietnamese-700-normal-CkEo6LDy.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-700-normal-BV5B8Are.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-ext-700-normal-aMgXseD4.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-700-normal-DZH6Xh-4.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink-0: #ffffff;--ink-50: #e6ebf2;--ink-100: #c3ccd9;--ink-200: #93a0b4;--ink-300: #7d8a9e;--ink-400: #5d6b82;--ink-500: #475264;--steel-700:#1c2436;--steel-800:#141a28;--steel-900:#0e131e;--steel-950:#0b0e16;--blue-300: #7d9bf0;--blue-400: #5183f0;--blue-500: #3b6fe0;--blue-600: #2f5ad0;--navy-800: #16245e;--green-500: #46b074;--green-400: #6fbf5e;--lime-500: #aec23a;--amber-500: #ec9a33;--orange-500: #e8742e;--gold-500: #e8a23e;--red-500: #e0563f;--red-700: #bf3b2c;--purple-500: #9b6fe0;--bg-page: var(--steel-950);--bg-surface: var(--steel-800);--bg-elevated: var(--steel-700);--bg-hover: rgba(120, 150, 220, .08);--bg-active: rgba(120, 150, 220, .14);--bg-canvas: var(--ink-0);--text-primary: var(--ink-50);--text-secondary: var(--ink-200);--text-muted: var(--ink-300);--text-dim: var(--ink-400);--text-faint: var(--ink-500);--border-subtle: rgba(255, 255, 255, .055);--border: rgba(255, 255, 255, .1);--border-strong: rgba(120, 150, 220, .24);--border-focus: var(--blue-500);--highlight: rgba(255, 255, 255, .06);--accent: var(--blue-500);--accent-hover: var(--blue-400);--accent-soft: rgba(59, 111, 224, .14);--accent-glow: rgba(59, 111, 224, .42);--accent-text: #ffffff;--status-good-soft: rgba(70, 176, 116, .15);--status-warn-soft: rgba(232, 162, 62, .15);--status-bad-soft: rgba(224, 86, 63, .16);--danger-soft: rgba(224, 86, 63, .16);--panel-insights-soft: var(--accent-soft);--status-good: var(--green-500);--status-warn: var(--gold-500);--status-bad: var(--red-500);--status-critical: var(--red-700);--danger: var(--red-500);--grade-0: var(--green-500);--grade-1: var(--green-400);--grade-2: var(--lime-500);--grade-3: var(--amber-500);--grade-4: var(--orange-500);--grade-5: var(--red-500);--grade-6: var(--red-700);--font-ui: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace;--radius-xs: 2px;--radius-sm: 3px;--radius-md: 4px;--radius-lg: 4px;--radius-pill: 999px;--radius-circle: 50%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 28px rgba(0, 0, 0, .45);--space-0: 0;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--text-10: 10px;--text-11: 11px;--text-12: 12px;--text-13: 13px;--text-14: 14px;--text-16: 16px;--text-18: 18px;--text-20: 20px;--text-24: 24px;--text-32: 32px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.2;--leading-snug: 1.4;--leading-normal: 1.5;--ease-out: cubic-bezier(.2, 0, 0, 1);--spring: .26s cubic-bezier(.34, 1.4, .64, 1);--transition-fast: .15s;--transition-base: .2s;--transition-slow: .3s;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-overlay: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-toast: 800;--panel-details: var(--accent);--panel-ut: var(--accent);--panel-images: var(--accent);--panel-documents: var(--accent);--panel-insights: var(--accent)}.sidebar{min-width:280px;max-width:80vw}.sidebar.resizing{transition:none}.sidebar.expanded{width:50vw}.sidebar-details{border-left:1px solid var(--border)}.findings-table-panel .findings-table{font-size:var(--text-13);table-layout:auto}.findings-table-panel .findings-table th{padding:var(--space-8) var(--space-10);font-size:var(--text-11)}.findings-table-panel .findings-table th select{background:var(--bg-active);border:1px solid var(--border-strong);color:var(--text-secondary);font-size:var(--text-11);padding:var(--space-4) var(--space-4);border-radius:var(--radius-md)}.findings-table-panel .findings-table td{padding:var(--space-10);color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.findings-table-panel .findings-table tbody tr:nth-child(2n){background:var(--bg-hover)}.findings-table-panel .findings-table .location-cell{color:var(--accent);font-weight:600;font-size:var(--text-13)}.findings-table-panel .findings-table .date-cell{color:var(--text-muted);font-size:var(--text-12)}.findings-table-panel .findings-table .type-badge{padding:var(--space-2) var(--space-10);font-size:var(--text-11)}.findings-table-panel .findings-table .grade-badge{padding:var(--space-2) var(--space-10);font-size:var(--text-12)}.findings-table-panel .findings-table .trend-badge{padding:var(--space-2) var(--space-10);font-size:var(--text-11)}.toggle-btn-right{position:relative}.toggle-btn-right.images-btn.has-photogrammetry:after{content:"";position:absolute;top:4px;right:4px;width:6px;height:6px;background:var(--status-good);border-radius:var(--radius-circle);border:1px solid var(--border-strong)}.toggle-btn-right.details-btn{display:flex;align-items:center;justify-content:center}.toggle-btn-right.details-btn svg{width:16px;height:16px;transition:all .2s ease}.toggle-btn-right.details-btn.active svg{width:20px;height:20px}.toggle-btn-right.details-btn.active{background:var(--accent);border-color:var(--accent-glow);color:var(--text-primary)}.toggle-btn-right.insights-btn{display:flex;align-items:center;justify-content:center}.toggle-btn-right.insights-btn svg{width:16px;height:16px;transition:all .2s ease}.toggle-btn-right.insights-btn.active svg{width:20px;height:20px}.toggle-btn-right.insights-btn.active{background:var(--panel-insights);border-color:var(--panel-insights-soft);color:var(--text-primary)}.toggle-btn-right.ut-btn{display:flex;align-items:center;justify-content:center}.toggle-btn-right.ut-btn svg{width:16px;height:16px;transition:all .2s ease}.toggle-btn-right.ut-btn.active svg{width:20px;height:20px}.toggle-btn-right.ut-btn.active{background:var(--accent);border-color:var(--accent-glow);color:var(--text-primary)}.sidebar-resize-handle-right{left:auto;right:0}.sidebar-resize-handle-right:after{left:auto;right:2px}.sidebar-details .btn-sidebar-expand,.sidebar-details .btn-sidebar-collapse{border-color:var(--accent-glow);color:var(--status-warn)}.sidebar-details .btn-sidebar-expand:hover,.sidebar-details .btn-sidebar-collapse:hover{background:var(--accent-soft);border-color:var(--accent-glow)}.sidebar-ut .btn-sidebar-expand,.sidebar-ut .btn-sidebar-collapse{border-color:var(--status-good-soft);color:var(--status-good)}.sidebar-ut .btn-sidebar-expand:hover,.sidebar-ut .btn-sidebar-collapse:hover{background:var(--status-good-soft);border-color:var(--status-good-soft)}.sidebar-images .btn-sidebar-expand,.sidebar-images .btn-sidebar-collapse{border-color:var(--accent-glow);color:var(--accent)}.sidebar-images .btn-sidebar-expand:hover,.sidebar-images .btn-sidebar-collapse:hover{background:var(--accent-soft);border-color:var(--accent-glow)}.sidebar-documents .btn-sidebar-expand,.sidebar-documents .btn-sidebar-collapse{border-color:var(--status-warn-soft);color:var(--status-warn)}.sidebar-documents .btn-sidebar-expand:hover,.sidebar-documents .btn-sidebar-collapse:hover{background:var(--status-warn-soft);border-color:var(--status-warn-soft)}.sidebar-insights .btn-sidebar-expand,.sidebar-insights .btn-sidebar-collapse{border-color:var(--panel-insights-soft);color:var(--panel-insights)}.sidebar-insights .btn-sidebar-expand:hover,.sidebar-insights .btn-sidebar-collapse:hover{background:var(--panel-insights-soft);border-color:var(--panel-insights-soft)}.btn-panel-view-3d{margin-left:auto;margin-right:var(--space-6);padding:var(--space-2) var(--space-8);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-11);font-weight:500;text-decoration:none;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-panel-view-3d:hover{background:var(--bg-active);color:var(--text-primary);border-color:var(--border-strong)}.doc-tags-container,.upload-doc-tags-container{display:flex;flex-wrap:wrap;gap:var(--space-8);min-height:36px;align-items:center}.doc-tags-container:empty:before{content:"No locations set yet";color:#ffffff59;font-size:var(--text-13);font-style:italic;padding:var(--space-6) var(--space-2)}.upload-doc-tags-container:empty{display:none}.doc-tag-chip,.upload-doc-tag-chip{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-4) var(--space-6) var(--space-4) var(--space-12);background:var(--status-warn-soft);border:1px solid var(--status-warn-soft);border-radius:var(--radius-lg);color:var(--status-warn);font-size:var(--text-13);line-height:1.4}.doc-tag-chip.pinned,.upload-doc-tag-chip.pinned{background:var(--status-warn-soft);border-color:var(--status-warn-soft)}.doc-tag-chip .chip-label,.upload-doc-tag-chip .chip-label{font-weight:600;letter-spacing:.02em}.doc-tag-chip .chip-pin-status,.upload-doc-tag-chip .chip-pin-status{font-size:var(--text-11);font-weight:500;color:var(--status-warn);padding:1px var(--space-8);background:#0003;border-radius:var(--radius-lg)}.doc-tag-chip .chip-placepin-btn,.doc-tag-chip .chip-repin-btn,.doc-tag-chip .chip-removepin-btn,.upload-doc-tag-chip .chip-placepin-btn,.upload-doc-tag-chip .chip-repin-btn{background:var(--status-warn-soft);border:1px solid var(--status-warn-soft);border-radius:var(--radius-lg);color:var(--status-warn);font-size:var(--text-11);font-weight:500;padding:var(--space-2) var(--space-10);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.doc-tag-chip .chip-placepin-btn:hover,.doc-tag-chip .chip-repin-btn:hover,.upload-doc-tag-chip .chip-placepin-btn:hover,.upload-doc-tag-chip .chip-repin-btn:hover{background:var(--status-warn-soft);color:var(--text-primary);border-color:var(--status-warn)}.doc-tag-chip .chip-removepin-btn{color:var(--status-bad);border-color:var(--status-bad-soft);background:var(--status-bad-soft)}.doc-tag-chip .chip-removepin-btn:hover{background:var(--status-bad-soft);color:var(--text-primary);border-color:var(--status-bad)}.doc-tag-chip-remove{background:var(--bg-hover);border:1px solid var(--border);color:#ffffff8c;cursor:pointer;font-size:var(--text-16);line-height:1;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-circle);transition:background .15s,color .15s,border-color .15s}.doc-tag-chip-remove:hover{color:var(--text-primary);background:var(--status-bad-soft);border-color:var(--status-bad)}.doc-tags-add-row{display:flex;gap:var(--space-8);align-items:stretch;margin-top:var(--space-10)}.doc-tags-add-row select{flex:1;min-width:0}.doc-tags-add-row button{flex-shrink:0;padding:0 var(--space-16);font-size:var(--text-13);font-weight:600;background:var(--status-warn-soft);border:1px solid var(--status-warn-soft);border-radius:var(--radius-lg);color:var(--status-warn);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.doc-tags-add-row button:hover{background:var(--status-warn-soft);color:var(--text-primary);border-color:var(--status-warn)}.doc-tags-hint{font-size:var(--text-12);color:#ffffff73;margin-top:var(--space-8);font-style:italic}.sidebar-subheader{flex:0 0 auto;padding:var(--space-8) var(--space-16);font-size:var(--text-14);font-weight:500;letter-spacing:.02em;color:var(--text-secondary);background:var(--bg-hover);border-bottom:1px solid var(--border-subtle)}.sidebar-subheader:empty{display:none}.sidebar-details .sidebar-subheader{background:var(--accent-soft);border-bottom-color:var(--accent-soft);color:var(--status-warn)}.sidebar-ut .sidebar-subheader{background:var(--status-good-soft);border-bottom-color:var(--status-good-soft);color:var(--status-good)}.sidebar-images .sidebar-subheader{background:var(--accent-soft);border-bottom-color:var(--accent-soft);color:var(--accent)}.sidebar-documents .sidebar-subheader{background:var(--status-warn-soft);border-bottom-color:var(--status-warn-soft);color:var(--status-warn)}.sidebar-insights .sidebar-subheader{background:var(--panel-insights-soft);border-bottom-color:var(--panel-insights-soft);color:var(--panel-insights)}.sidebar-details,.sidebar-ut,.sidebar-images,.sidebar-documents,.sidebar-insights{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) rgba(0,0,0,.2)}.sidebar-details ::-webkit-scrollbar,.sidebar-ut ::-webkit-scrollbar,.sidebar-images ::-webkit-scrollbar,.sidebar-documents ::-webkit-scrollbar,.sidebar-insights ::-webkit-scrollbar{width:8px;height:8px}.sidebar-details ::-webkit-scrollbar-track,.sidebar-ut ::-webkit-scrollbar-track,.sidebar-images ::-webkit-scrollbar-track,.sidebar-documents ::-webkit-scrollbar-track,.sidebar-insights ::-webkit-scrollbar-track{background:#0003}.sidebar-details ::-webkit-scrollbar-thumb,.sidebar-ut ::-webkit-scrollbar-thumb,.sidebar-images ::-webkit-scrollbar-thumb,.sidebar-documents ::-webkit-scrollbar-thumb,.sidebar-insights ::-webkit-scrollbar-thumb{background:var(--bg-active);border-radius:var(--radius-md)}.sidebar-details ::-webkit-scrollbar-thumb:hover,.sidebar-ut ::-webkit-scrollbar-thumb:hover,.sidebar-images ::-webkit-scrollbar-thumb:hover,.sidebar-documents ::-webkit-scrollbar-thumb:hover,.sidebar-insights ::-webkit-scrollbar-thumb:hover{background:var(--bg-active)}.sidebar-images .sidebar-header{background:var(--accent-soft);border-bottom:1px solid var(--accent-glow)}.images-filter{padding:var(--space-12);border-bottom:1px solid var(--border)}.images-filter select{width:100%;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-12);padding:var(--space-8) var(--space-10);cursor:pointer}.images-filter select:focus{outline:none;border-color:var(--accent)}.images-filter select option{background:var(--bg-surface);color:var(--text-secondary)}.sidebar-empty{padding:60px var(--space-24);text-align:center;color:var(--text-dim);display:flex;flex-direction:column;align-items:center;justify-content:center}.sidebar-empty .empty-icon{width:48px;height:48px;margin-bottom:var(--space-16);opacity:.4;color:var(--text-dim)}.sidebar-empty .empty-text{font-size:var(--text-14);color:var(--text-muted);margin-bottom:var(--space-8);font-weight:500}.sidebar-empty .empty-hint{font-size:var(--text-12);color:var(--text-dim);max-width:200px;line-height:1.5}.sidebar-insights.resizing{transition:none}.sidebar-insights.expanded{width:50vw}.document-section-header{display:flex;align-items:center;justify-content:space-between}.btn-toggle-all-schematics{background:var(--bg-active);border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-14);padding:var(--space-2) var(--space-8);color:var(--text-dim);transition:all .15s}.btn-toggle-all-schematics:hover{background:var(--bg-active);color:var(--text-primary)}.sidebar-ut{position:fixed;top:0;right:0;width:min(480px,35vw);min-width:280px;max-width:80vw;height:100%;background:var(--bg-surface);border-left:1px solid var(--border);z-index:996;transform:translate(0);transition:transform .3s ease,width .2s ease;display:flex;flex-direction:column}.sidebar-ut.collapsed{transform:translate(100%)}.sidebar-ut.resizing{transition:none}.sidebar-ut.expanded{width:50vw}.sidebar-ut .sidebar-header{display:flex;justify-content:space-between;align-items:center;background:var(--accent-soft);border-bottom:1px solid var(--border)}.sidebar-ut .sidebar-header h1{color:var(--text-primary)}.sidebar-ut .sidebar-content{flex:1;overflow-y:auto;padding:var(--space-12)}.ut-summary-panel{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-12);margin-bottom:var(--space-12)}.ut-summary-panel .ut-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8)}.ut-summary-panel .ut-summary-stat{text-align:center;padding:var(--space-8) var(--space-4);background:var(--bg-hover);border-radius:var(--radius-md)}.ut-summary-panel .ut-stat-value{font-size:var(--text-18);font-weight:600;color:var(--text-primary)}.ut-summary-panel .ut-stat-label{font-size:var(--text-10);color:var(--text-dim);margin-top:var(--space-2)}.ut-summary-panel .ut-stat-warning .ut-stat-value,.ut-summary-panel .ut-stat-critical .ut-stat-value{color:var(--status-bad)}.ut-reading-item{display:flex;align-items:center;gap:var(--space-10);padding:var(--space-10) var(--space-12);background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-6);cursor:pointer;transition:all .15s ease}.ut-reading-item:hover{background:var(--status-good-soft);border-color:var(--status-good-soft);transform:translate(2px)}.ut-reading-item.status-ok{border-left:3px solid var(--status-good)}.ut-reading-item.status-warning{border-left:3px solid var(--status-warn)}.ut-reading-item.status-critical{border-left:3px solid var(--status-bad)}.ut-reading-thickness{font-size:var(--text-18);font-weight:600;color:var(--text-primary);min-width:60px}.ut-reading-thickness span{font-size:var(--text-11);color:var(--text-dim);font-weight:400}.ut-reading-info{flex:1;min-width:0}.ut-reading-name{font-size:var(--text-12);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ut-reading-location{font-size:var(--text-11);color:var(--text-dim);margin-top:var(--space-2)}.ut-readings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8);padding:0 var(--space-4)}.ut-readings-header h4{font-size:var(--text-11);text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin:0}.ut-readings-header .ut-count{font-size:var(--text-11);color:var(--text-dim)}.schematic-item{display:flex;align-items:center;justify-content:space-between}.schematic-actions{display:flex;gap:var(--space-4);flex-shrink:0}.schematic-actions button{padding:var(--space-4) var(--space-8);border:none;background:var(--bg-active);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-12);color:var(--text-dim);transition:all .15s}.schematic-actions button:hover{background:var(--bg-active);color:var(--text-primary)}.btn-schematic-toggle{font-size:var(--text-14)!important}.btn-schematic-delete:hover{background:var(--status-bad-soft)!important;color:var(--status-bad)!important}.btn-schematic-newtab:hover{background:var(--accent-glow)!important;color:var(--accent)!important}.schematic-filter{padding:var(--space-8) 0;margin-bottom:var(--space-8)}.schematic-filter select{width:100%;padding:var(--space-8) var(--space-12);background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-13);cursor:pointer;outline:none}.schematic-filter select:hover{background:var(--bg-active);border-color:var(--border-strong)}.schematic-filter select:focus{border-color:var(--accent-glow)}.schematic-filter select option{background:var(--bg-elevated);color:var(--text-secondary)}.schematic-location-group{margin-bottom:var(--space-12)}.schematic-group-header{font-size:var(--text-11);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);padding:var(--space-6) var(--space-8);margin-bottom:var(--space-4);background:var(--bg-hover);border-radius:var(--radius-md)}.schematic-date{font-size:var(--text-11);color:var(--text-dim)}.schematic-size{font-size:var(--text-11);color:var(--text-dim);margin-left:var(--space-8)}.schematic-status{display:inline-block;font-size:var(--text-10);font-weight:600;text-transform:uppercase;padding:var(--space-2) var(--space-6);border-radius:var(--radius-sm);margin-left:var(--space-6);vertical-align:middle}.schematic-status.preview{background:var(--accent-soft);color:var(--status-bad)}.schematic-status.generating{background:var(--accent-soft);color:var(--accent);animation:pulse 1.5s infinite}.schematic-status.complete{background:var(--status-good-soft);color:var(--status-good)}.schematic-status.error{background:var(--status-bad-soft);color:var(--status-bad)}@keyframes pulse{50%{opacity:.5}}#schematicPositionPanel{position:fixed;top:80px;right:20px;width:260px;max-height:calc(100vh - 120px);display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0006;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);resize:both;overflow:hidden}.schematic-panel-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-12) var(--space-12);border-bottom:1px solid var(--border);font-weight:600;font-size:var(--text-13);cursor:move;flex-shrink:0}.schematic-panel-header button{background:none;border:none;color:var(--text-dim);font-size:var(--text-18);cursor:pointer;padding:0 var(--space-4)}.schematic-panel-header button:hover{color:var(--text-primary)}.schematic-panel-body{padding:var(--space-12) var(--space-12);overflow-y:auto;flex:1}.schematic-panel-hint{font-size:var(--text-11);color:var(--text-dim);background:var(--bg-hover);padding:var(--space-8) var(--space-10);border-radius:var(--radius-lg);margin-bottom:var(--space-12);line-height:1.5}.schematic-panel-row{display:flex;align-items:center;gap:var(--space-10);margin-bottom:var(--space-8)}.schematic-panel-row label{width:60px;font-size:var(--text-12);color:var(--text-muted)}.schematic-panel-row input[type=number]{flex:1;padding:var(--space-6) var(--space-10);background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-13)}.schematic-panel-row input[type=range]{flex:1}.schematic-panel-footer{display:flex;gap:var(--space-8);padding:var(--space-12) var(--space-12);border-top:1px solid var(--border)}.schematic-panel-footer button{flex:1;padding:var(--space-8) var(--space-12);border-radius:var(--radius-lg);font-size:var(--text-13);font-weight:500;cursor:pointer;border:none}.btn-schematic-generate{background:var(--accent-soft)!important;color:var(--accent)!important;font-weight:600}.btn-schematic-generate:hover{background:var(--accent-glow)!important;color:var(--text-primary)!important}.tile-generation-prompt{position:fixed;bottom:20px;right:20px;z-index:10000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.tile-prompt-content{background:linear-gradient(135deg,var(--bg-surface),var(--bg-surface));border:1px solid var(--accent-glow);border-radius:var(--radius-lg);padding:var(--space-16) var(--space-20);box-shadow:0 8px 32px #0006;max-width:320px}.tile-prompt-title{font-size:var(--text-14);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-8)}.tile-prompt-text{font-size:var(--text-12);color:var(--text-muted);line-height:1.5;margin-bottom:var(--space-12)}.tile-prompt-buttons{display:flex;gap:var(--space-8)}.tile-prompt-buttons button{flex:1;padding:var(--space-8) var(--space-12);border-radius:var(--radius-lg);font-size:var(--text-12);font-weight:500;cursor:pointer;border:none}.schematic-panel-section{background:var(--status-good-soft);border:1px solid var(--status-good-soft);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-10);margin-bottom:var(--space-12)}.ref-plane-controls{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--status-good-soft)}.schematic-panel-row select{flex:1;padding:var(--space-6) var(--space-10);background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-13)}.schematic-panel-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--status-good)}.lcs-plane-btn{flex:1;background:var(--accent-soft);border-color:var(--accent-glow);color:var(--accent)}.lcs-plane-btn:hover{background:var(--accent-glow);color:var(--text-primary)}.lcs-plane-btn.active{background:var(--accent);border-color:var(--accent);color:var(--text-primary);box-shadow:0 0 8px var(--accent-glow)}.section-collapse-header{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-10);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast);-webkit-user-select:none;user-select:none}.section-collapse-header:hover{background:var(--bg-active);border-color:var(--border-strong)}.section-collapse-arrow{font-size:var(--text-10);color:var(--text-dim);transition:transform .2s ease;display:inline-block}.section-collapse-header.collapsed .section-collapse-arrow{transform:rotate(-90deg)}.section-collapse-title{flex:1;font-size:var(--text-12);color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.section-collapse-body{margin-top:var(--space-6);transition:none}.section-collapse-body.collapsed{display:none}.document-location-filter{padding:var(--space-8) var(--space-12);border-bottom:1px solid var(--border-subtle)}.document-location-filter select{width:100%;padding:var(--space-6) var(--space-8);background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-12);outline:none}.document-location-filter select:focus{border-color:var(--accent-glow)}.document-location-filter select option{background:var(--bg-surface);color:var(--text-secondary)}.document-subfolder{margin-left:var(--space-12);border-left:1px solid var(--border-subtle)}.subfolder-header{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-12);font-size:var(--text-12);color:var(--text-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.3px}.subfolder-header:hover{color:var(--text-secondary)}.subfolder-title{flex:1}.findings-table-container{min-height:0}.findings-table{table-layout:fixed}.findings-table th{position:sticky;top:0;z-index:1;background:var(--bg-surface)}.findings-table colgroup .col-marker{width:24px}.findings-table colgroup .col-location{width:22%}.findings-table colgroup .col-type,.findings-table colgroup .col-grade,.findings-table colgroup .col-date{width:26%}.findings-table th:nth-child(2),.findings-table td.location-cell{width:24%;min-width:40px}.findings-table th:nth-child(3),.findings-table td.type-cell{width:24%;min-width:40px}.findings-table th:nth-child(4),.findings-table td:nth-child(4){width:24%;min-width:40px}.findings-table th:nth-child(5),.findings-table td.date-cell{width:28%;min-width:55px}.findings-table .grade-badge{padding:var(--space-2) var(--space-4);font-size:0}.findings-table .grade-badge .grade-num{font-size:var(--text-10)}.findings-table .location-cell{font-size:var(--text-10);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.findings-table .type-cell,.findings-table .date-cell{overflow:hidden;text-overflow:ellipsis}.grade-badge{white-space:nowrap}.trend-badge{display:inline-block;padding:1px var(--space-6);border-radius:var(--radius-sm);font-size:var(--text-10);font-weight:600;text-transform:capitalize}.trend-badge.improved{background:var(--status-good-soft);color:var(--status-good)}.trend-badge.deteriorated{background:var(--status-bad-soft);color:var(--status-bad)}.trend-badge.no_change{background:var(--status-warn-soft);color:var(--status-warn)}.trend-badge.na{background:var(--bg-elevated);color:var(--text-dim)}@keyframes pulse{}.finding-image-placeholder{min-height:140px}.nav-preset-btn.active,.nav-preset-btn.locked{background:var(--accent-glow);border:2px solid var(--accent);color:var(--text-primary);box-shadow:0 0 8px var(--accent-glow)}.display-row select{flex:1;padding:var(--space-4) var(--space-8);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-12);cursor:pointer}.display-row select:hover{border-color:var(--border)}.color-picker-row{flex:1;display:flex;align-items:center;gap:var(--space-8)}.color-picker-row input[type=color]{width:32px;height:24px;padding:0;border:1px solid var(--border);border-radius:var(--radius-md);background:transparent;cursor:pointer}.color-picker-row input[type=color]::-webkit-color-swatch-wrapper{padding:var(--space-2)}.color-picker-row input[type=color]::-webkit-color-swatch{border:none;border-radius:var(--radius-xs)}.color-presets{display:flex;gap:var(--space-4)}.color-preset{width:20px;height:20px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:transform .1s,border-color .1s}.color-preset:hover{transform:scale(1.15);border-color:var(--border)}.sidebar-header-buttons{display:flex;align-items:center;gap:var(--space-4);flex-shrink:0}.sidebar-controls{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-16);border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-controls.hidden{display:none}.settings-icon-btn{background:var(--bg-active);border:none;border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-20);width:36px;height:36px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.settings-icon-btn:hover{background:var(--bg-active);color:var(--text-primary)}.settings-icon-btn svg{transition:transform .3s ease}.settings-icon-btn:hover svg{transform:rotate(45deg)}.settings-tabs{display:flex;gap:var(--space-8);margin-bottom:var(--space-20);border-bottom:1px solid var(--border);padding-bottom:var(--space-12)}.settings-tab{background:transparent;border:none;color:var(--text-dim);padding:var(--space-8) var(--space-16);cursor:pointer;border-radius:var(--radius-lg);transition:all .2s;font-size:var(--text-14)}.settings-tab:hover{background:var(--bg-active);color:var(--text-secondary)}.settings-tab.active{background:var(--accent-soft);color:var(--status-warn)}.settings-tab-content{display:block}.settings-tab-content.hidden{display:none}.settings-user-info{display:flex;align-items:center;gap:var(--space-16);padding:var(--space-20);background:var(--bg-hover);border-radius:var(--radius-lg);margin-bottom:var(--space-20)}.settings-user-avatar{width:64px;height:64px;background:var(--accent-soft);border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;color:var(--status-warn)}.settings-user-details{flex:1}.settings-user-name{font-size:var(--text-18);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-4)}.settings-user-role{font-size:var(--text-12);color:var(--status-warn);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-4)}.settings-user-email{font-size:var(--text-13);color:var(--text-dim)}.settings-actions{display:flex;gap:var(--space-12)}.settings-admin-hint{color:var(--text-dim);font-size:var(--text-13);margin-bottom:var(--space-16)}.settings-form-group{margin-bottom:var(--space-16)}.settings-form-group label{display:block;margin-bottom:var(--space-6);font-size:var(--text-13);color:var(--text-muted)}.settings-form-group input{width:100%;padding:var(--space-10) var(--space-12);background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14)}.settings-form-group input:focus{outline:none;border-color:var(--status-warn)}.settings-form-hint{display:block;margin-top:var(--space-4);font-size:var(--text-11);color:var(--text-dim)}.settings-form-error{background:var(--status-bad-soft);border:1px solid var(--status-bad-soft);color:var(--status-bad);padding:var(--space-10) var(--space-12);border-radius:var(--radius-lg);margin-bottom:var(--space-16);font-size:var(--text-13)}.settings-form-success{background:var(--status-good-soft);border:1px solid var(--status-good-soft);color:var(--status-good);padding:var(--space-10) var(--space-12);border-radius:var(--radius-lg);margin-bottom:var(--space-16);font-size:var(--text-13)}.btn-danger{background:transparent;border:1px solid var(--status-bad);color:var(--status-bad);transition:background var(--transition-fast) var(--ease-out)}.btn-danger:hover{background:var(--status-bad-soft)}.btn{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-10) var(--space-16);border-radius:var(--radius-lg);cursor:pointer;font-size:var(--text-14);transition:all .2s}.sidebar-finding-form .area-picker-row{display:flex;align-items:center;gap:var(--space-8)}.sidebar-finding-form .area-picker-row input[type=number]{flex:1;background:#0003;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-12);padding:var(--space-6) var(--space-8)}.sidebar-finding-form .btn-measure-area{padding:var(--space-6) var(--space-10);background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:var(--radius-md);color:var(--accent);font-size:var(--text-11);cursor:pointer;display:flex;align-items:center;gap:var(--space-4);white-space:nowrap}.sidebar-finding-form .btn-measure-area:hover{background:var(--accent-glow)}.sidebar-finding-form .btn-measure-area.active{background:var(--accent);color:var(--text-primary)}.sidebar-image-thumbnails{flex-direction:column;width:100%}.sidebar-thumb-item{border:1px solid var(--border);background:var(--bg-surface)}.sidebar-thumb-item img{display:block}.sidebar-thumb-remove{text-align:center;padding:0}.sidebar-image-date-divider{width:100%;font-size:var(--text-10);color:var(--text-dim);padding:var(--space-4) 0 var(--space-2);border-bottom:1px solid var(--border);margin-bottom:var(--space-2);grid-column:1 / -1}.finding-history-section{border-top:1px solid var(--border);margin-top:var(--space-16);padding-top:var(--space-8)}.finding-history-toggle{display:flex;align-items:center;gap:var(--space-6);background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:var(--text-12);padding:var(--space-6) 0;width:100%;text-align:left}.finding-history-toggle:hover{color:var(--text-primary)}.finding-history-toggle .toggle-arrow{margin-left:auto;transition:transform .2s}.finding-history-toggle.open .toggle-arrow{transform:rotate(180deg)}.finding-history-list{max-height:300px;overflow-y:auto;padding:var(--space-4) 0}.history-entry{border-left:3px solid var(--border);padding:var(--space-6) var(--space-8);margin-bottom:var(--space-6);font-size:var(--text-11)}.history-entry-text{color:var(--text-secondary);margin-bottom:var(--space-2)}.history-entry-meta{color:var(--text-dim);font-size:var(--text-10)}.finding-comments-section{background:#00000026;border-radius:var(--radius-md);padding:var(--space-10);margin-top:var(--space-4)}.finding-comments-list{max-height:300px;overflow-y:auto;margin-bottom:var(--space-10)}.finding-comments-list:empty{display:none}.finding-comment{background:var(--bg-surface);border-left:3px solid var(--accent);border-radius:var(--radius-xs) var(--radius-md) var(--radius-md) var(--radius-xs);padding:var(--space-10) var(--space-12);margin-bottom:var(--space-8);position:relative}.finding-comment:last-child{margin-bottom:0}.finding-comment-header{display:flex;align-items:center;gap:var(--space-6);margin-bottom:var(--space-6);font-size:var(--text-11);color:var(--text-muted)}.finding-comment-author{color:var(--accent);font-weight:600}.finding-comment-edited{color:var(--text-dim);font-style:italic;cursor:pointer}.finding-comment-edited:hover{color:var(--text-muted);text-decoration:underline}.finding-comment-text{font-size:var(--text-13);line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word}.finding-comment-actions{position:absolute;top:6px;right:6px;display:flex;gap:var(--space-4);opacity:0;transition:opacity .15s}.finding-comment:hover .finding-comment-actions{opacity:1}.finding-comment-actions button{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--space-2) var(--space-4);font-size:var(--text-11)}.finding-comment-actions button:hover{color:var(--text-secondary)}.finding-comment-actions .delete-btn:hover{color:var(--status-bad)}.finding-comment-input{display:flex;gap:var(--space-6);align-items:flex-end}.finding-comment-input textarea{flex:1;background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-13);padding:var(--space-8) var(--space-10);resize:vertical;min-height:60px;font-family:inherit}.finding-comment-input textarea:focus{outline:none;border-color:var(--accent)}.btn-add-comment{background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-primary);padding:var(--space-6) var(--space-12);cursor:pointer;font-size:var(--text-12);white-space:nowrap}.btn-add-comment:hover{background:var(--accent)}.btn-add-comment:disabled{background:var(--bg-elevated);cursor:not-allowed}.finding-comment.editing .finding-comment-text,.finding-comment-edit-input{display:none}.finding-comment.editing .finding-comment-edit-input{display:flex;gap:var(--space-4);margin-top:var(--space-4)}.finding-comment-edit-input textarea{flex:1;background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-13);padding:var(--space-4) var(--space-6);resize:none;font-family:inherit}.finding-comment-edit-input button{background:var(--accent);border:none;border-radius:var(--radius-sm);color:var(--text-primary);padding:var(--space-4) var(--space-8);cursor:pointer;font-size:var(--text-11)}.finding-comment-edit-input button.cancel-btn{background:var(--bg-elevated)}.comment-history-popover{position:fixed;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-10);max-width:300px;max-height:200px;overflow-y:auto;z-index:10000;box-shadow:0 4px 12px #00000080}.comment-history-popover h4{margin:0 0 var(--space-8) 0;font-size:var(--text-12);color:var(--text-secondary);border-bottom:1px solid var(--border);padding-bottom:var(--space-4)}.comment-history-entry{margin-bottom:var(--space-8);padding-bottom:var(--space-8);border-bottom:1px solid var(--border)}.comment-history-entry:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.comment-history-entry-text{font-size:var(--text-12);color:var(--text-secondary);white-space:pre-wrap;margin-bottom:var(--space-2)}.comment-history-entry-meta{font-size:var(--text-10);color:var(--text-muted)}.sidebar-content{min-height:0}.grid-cell.has-data,.grid-cell.has-data.selected{background:var(--status-good-soft);border-color:var(--status-good-soft)}body.right-sidebar-open .branding{right:336px}.login-version{color:var(--text-faint);font-size:var(--text-12);margin-top:var(--space-4)}.form-group input,.form-group select,.form-group textarea{padding:var(--space-12) var(--space-16);background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14);outline:none;font-family:inherit;transition:border-color .2s,background .2s}.form-group textarea{resize:vertical;min-height:60px}.form-group select option{background:var(--bg-surface);color:var(--text-secondary)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-glow);background:#0006}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-faint)}@keyframes shake{}.modal-body .form-group+.form-group{margin-top:var(--space-16)}.ut-dropzone{border:2px dashed var(--status-good-soft);border-radius:var(--radius-lg);padding:var(--space-32) var(--space-20);text-align:center;cursor:pointer;transition:all .2s}.ut-dropzone:hover,.ut-dropzone.dragover{border-color:var(--status-good);background:var(--status-good-soft)}.ut-dropzone .dropzone-icon{width:32px;height:32px;margin:0 auto var(--space-12);color:var(--status-good);opacity:.6}.ut-file-list{margin-top:var(--space-12)}.ut-file-list.hidden{display:none}.ut-file-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-10) var(--space-12);background:var(--status-good-soft);border:1px solid var(--status-good-soft);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.ut-file-item .filename{color:var(--status-good);font-size:var(--text-13);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ut-file-item button{background:none;border:none;color:var(--text-dim);font-size:var(--text-16);cursor:pointer;padding:0 var(--space-4);margin-left:var(--space-8)}.ut-file-item button:hover{color:var(--status-bad)}.ut-options-section{margin-top:var(--space-8)}.overlay-file-input{display:flex;align-items:center;gap:var(--space-8)}.btn-select-overlay{background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);padding:var(--space-6) var(--space-12);cursor:pointer;font-size:var(--text-12);white-space:nowrap}.btn-select-overlay:hover{background:var(--bg-active);color:var(--text-primary)}.overlay-filename{font-size:var(--text-12);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.overlay-filename.has-file{color:var(--accent)}.btn-clear-overlay{background:none;border:none;color:var(--text-dim);cursor:pointer;font-size:var(--text-14);padding:var(--space-2) var(--space-6)}.btn-clear-overlay:hover{color:var(--status-bad)}.schematic-page-preview{margin-top:var(--space-10);text-align:center;background:#0003;border-radius:var(--radius-lg);padding:var(--space-8)}.schematic-page-preview img{max-width:100%;max-height:200px;border-radius:var(--radius-md);box-shadow:0 2px 8px #0000004d}.schematic-page-preview.loading{min-height:100px;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.admin-upload-section{margin-top:var(--space-12);padding:var(--space-10) var(--space-12);background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:var(--radius-lg)}.admin-upload-toggle{display:flex;align-items:center;gap:var(--space-10);cursor:pointer}.admin-upload-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--status-warn)}.admin-upload-toggle .toggle-label{color:var(--status-bad);font-weight:500;font-size:var(--text-13)}.admin-upload-toggle .toggle-hint{color:var(--text-dim);font-size:var(--text-11);margin-left:auto}@keyframes indeterminate{}.finding-subtype-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.finding-subtype-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-12) var(--space-8);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-dim);cursor:pointer;transition:all .15s;font-size:var(--text-11)}.finding-subtype-btn:hover{background:var(--bg-active);border-color:var(--border-strong);color:var(--text-secondary)}.finding-subtype-btn.selected{background:var(--accent-soft);border-color:var(--accent-glow);color:var(--status-bad)}.finding-subtype-btn .subtype-icon{width:24px;height:24px}.finding-subtype-content{margin-top:var(--space-12)}.finding-subtype-content.hidden{display:none}.admin-dropdown-container{position:relative}.admin-dropdown-trigger{display:flex;align-items:center;gap:var(--space-6);background:none;border:none;cursor:pointer;padding:var(--space-4) var(--space-8);border-radius:var(--radius-lg);transition:background .2s;min-width:0;overflow:hidden}.admin-dropdown-trigger:hover{background:var(--bg-active)}.admin-dropdown-trigger h1{margin:0;font-size:var(--text-16);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dropdown-arrow{color:var(--text-dim);transition:transform .2s}.admin-dropdown-container.open .admin-dropdown-arrow{transform:rotate(180deg)}.admin-dropdown-menu{position:absolute;top:100%;left:0;min-width:260px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0006;z-index:1000;overflow:hidden;margin-top:var(--space-4)}.admin-dropdown-item{display:flex;align-items:center;gap:var(--space-10);width:100%;padding:var(--space-12) var(--space-16);background:none;border:none;color:var(--text-secondary);font-size:var(--text-13);cursor:pointer;text-align:left;transition:background .2s}.admin-dropdown-item:hover{background:var(--bg-active);color:var(--text-primary)}.admin-dropdown-item svg{flex-shrink:0;color:var(--text-dim)}.admin-dropdown-item:hover svg{color:var(--accent)}.lcs-panel{position:fixed;top:80px;left:280px;width:320px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0006;z-index:1001;overflow:hidden}.sidebar-collapsed .lcs-panel{left:20px}.lcs-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-12) var(--space-16);background:var(--accent-soft);border-bottom:1px solid var(--accent-glow);cursor:move}.lcs-panel-header h3{margin:0;font-size:var(--text-14);font-weight:600;color:var(--accent);display:flex;align-items:center;gap:var(--space-8)}.lcs-panel-close{background:none;border:none;color:var(--text-dim);cursor:pointer;padding:var(--space-4);border-radius:var(--radius-md);transition:all .2s}.lcs-panel-close:hover{background:var(--bg-active);color:var(--text-primary)}.lcs-panel-body{padding:var(--space-16)}.lcs-view-tabs{display:flex;gap:var(--space-4);margin-bottom:var(--space-12);background:#0000004d;border-radius:var(--radius-lg);padding:var(--space-4)}.lcs-view-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-8) var(--space-12);background:transparent;border:none;border-radius:var(--radius-lg);color:var(--text-dim);font-size:var(--text-12);font-weight:500;cursor:pointer;transition:all .2s}.lcs-view-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.lcs-view-tab.active{background:var(--accent-soft);color:var(--accent)}.lcs-view-tab svg{width:16px;height:16px}.lcs-instruction{background:var(--accent-soft);border:1px solid var(--accent-soft);border-radius:var(--radius-lg);padding:var(--space-10) var(--space-12);margin-bottom:var(--space-12);font-size:var(--text-12);color:var(--accent)}.lcs-position-section{background:var(--bg-hover);border-radius:var(--radius-lg);padding:var(--space-12);margin-bottom:var(--space-12)}.lcs-position-label{font-size:var(--text-11);text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:var(--space-8)}.lcs-position-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);margin-bottom:var(--space-10)}.lcs-input-group{display:flex;flex-direction:column;gap:var(--space-4)}.lcs-input-group label{font-size:var(--text-10);color:var(--text-dim);text-align:center}.lcs-input-group input{width:100%;padding:var(--space-6) var(--space-8);background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-12);font-family:monospace;text-align:center}.lcs-input-group input:focus{outline:none;border-color:var(--accent)}.lcs-position-buttons{display:flex;gap:var(--space-8)}.lcs-pick-btn,.lcs-reset-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-8) var(--space-10);background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:var(--radius-lg);color:var(--accent);font-size:var(--text-11);cursor:pointer;transition:all .2s}.lcs-pick-btn:hover,.lcs-reset-btn:hover{background:var(--accent-soft);border-color:var(--accent-glow)}.lcs-pick-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--text-primary)}.lcs-reset-btn{background:var(--bg-active);border-color:var(--border-strong);color:var(--text-muted)}.lcs-reset-btn:hover{background:var(--bg-active);border-color:var(--border-strong);color:var(--text-primary)}.lcs-rotation-section{background:var(--bg-hover);border-radius:var(--radius-lg);padding:var(--space-12);margin-bottom:var(--space-12)}.lcs-slider-group{margin-bottom:0}.lcs-slider-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-8)}.lcs-slider-label span{font-size:var(--text-13);color:var(--text-secondary)}.lcs-slider-value{font-size:var(--text-12);color:var(--accent);font-family:monospace;min-width:50px;text-align:right}.lcs-slider{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-active);border-radius:var(--radius-sm);outline:none}.lcs-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--accent);border-radius:var(--radius-circle);cursor:pointer;transition:transform .2s}.lcs-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.lcs-slider::-moz-range-thumb{width:16px;height:16px;background:var(--accent);border-radius:var(--radius-circle);cursor:pointer;border:none}.lcs-text-btn{background:none;border:none;color:var(--text-dim);font-size:var(--text-11);cursor:pointer;padding:var(--space-4) 0;margin-top:var(--space-6);text-align:left}.lcs-text-btn:hover{color:var(--accent);text-decoration:underline}.lcs-options{display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-12)}.lcs-option-row{display:flex;align-items:center;gap:var(--space-10);padding:var(--space-8) var(--space-12);background:var(--bg-hover);border-radius:var(--radius-lg)}.lcs-option-row label{font-size:var(--text-12);color:var(--text-muted);cursor:pointer}.lcs-option-row input:checked+label{color:var(--text-primary)}.lcs-panel-footer{display:flex;gap:var(--space-8);padding:var(--space-12) var(--space-16);border-top:1px solid var(--border)}.lcs-btn{flex:1;padding:var(--space-10) var(--space-16);border-radius:var(--radius-lg);font-size:var(--text-13);font-weight:500;cursor:pointer;transition:all .2s}.lcs-btn-save{background:var(--accent);border:none;color:var(--text-primary)}.lcs-btn-save:hover{background:var(--accent)}.lcs-btn-save:disabled{background:var(--bg-surface);color:var(--text-dim);cursor:not-allowed}.lcs-btn-clear{background:transparent;border:1px solid var(--accent-glow);color:var(--status-bad)}.lcs-btn-clear:hover{background:var(--accent-soft)}.lcs-btn-cancel{background:transparent;border:1px solid var(--border-strong);color:var(--text-dim)}.lcs-btn-cancel:hover{background:var(--bg-hover);color:var(--text-secondary)}.btn-compare{display:flex;align-items:center;justify-content:center;gap:var(--space-8);width:100%;margin-top:var(--space-12);padding:var(--space-10) var(--space-16);background:var(--panel-insights-soft);border:1px solid var(--panel-insights-soft);border-radius:var(--radius-lg);color:var(--panel-insights);font-size:var(--text-13);font-weight:500;cursor:pointer;transition:all .2s}.btn-compare:hover{background:var(--panel-insights-soft);border-color:var(--panel-insights);color:var(--text-secondary)}.btn-compare.active{background:var(--panel-insights-soft);border-color:var(--panel-insights);color:var(--text-primary)}.btn-compare svg{flex-shrink:0}body.comparison-mode #cesiumContainer{left:280px!important;width:calc(50% - 140px)!important;right:auto!important;background:var(--bg-page)!important}body.comparison-mode #cesiumContainerRight{left:calc(50% + 140px);right:0}body.comparison-mode:not(.left-sidebar-open) #cesiumContainer{left:0!important;width:50%!important}body.comparison-mode:not(.left-sidebar-open) #cesiumContainerRight{left:50%}body.comparison-mode:not(.left-sidebar-open) .comparison-divider{left:calc(50% - 2px)}#cesiumContainerRight{position:fixed;left:50%;right:0;top:0;bottom:0;z-index:0}#cesiumContainerRight.hidden{display:none}body.comparison-mode .comparison-divider{left:calc(50% + 138px)}.comparison-divider{position:fixed;left:calc(50% - 2px);top:0;bottom:0;width:4px;background:var(--bg-surface);z-index:1001;cursor:col-resize}.comparison-divider.hidden{display:none}.comparison-toolbar{position:fixed;top:50px;left:calc(50% + 140px);transform:translate(-50%);z-index:1002;display:flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-12);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 4px 20px #0006}body.comparison-mode:not(.left-sidebar-open) .comparison-toolbar{left:50%}.comparison-toolbar.hidden{display:none}.comparison-toolbar-section{display:flex;align-items:center;gap:var(--space-6)}.comparison-toolbar-divider{width:1px;height:28px;background:var(--bg-active);margin:0 var(--space-8)}.comparison-toolbar label{font-size:var(--text-11);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.comparison-toolbar select{padding:var(--space-6) var(--space-10);background:#0006;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-12);min-width:120px;cursor:pointer}.comparison-toolbar select:hover{border-color:var(--border-strong)}.comparison-toolbar button{padding:var(--space-6) var(--space-12);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-12);cursor:pointer;transition:all .2s}.comparison-toolbar button:hover{background:var(--bg-elevated);color:var(--text-primary)}.comparison-toolbar button.active{background:var(--accent);border-color:var(--accent-glow);color:var(--text-primary)}.comparison-toolbar .btn-exit{background:var(--status-bad);border-color:var(--status-bad-soft)}.comparison-toolbar .btn-exit:hover{background:var(--status-bad)}.comparison-filters{gap:var(--space-12)}.comparison-data-types{display:flex;gap:var(--space-4)}.comparison-type-btn{padding:var(--space-4) var(--space-8);background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-dim);font-size:var(--text-11);cursor:pointer;transition:all .2s}.comparison-type-btn:hover{background:var(--bg-elevated);color:var(--text-secondary)}.comparison-type-btn.active{background:var(--status-good);border-color:var(--status-good-soft);color:var(--text-primary)}.comparison-findings-left,.comparison-findings-right{position:fixed;bottom:0;height:200px;width:calc(50% - 140px);background:var(--bg-surface);border-top:1px solid var(--accent-glow);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.comparison-findings-left{left:280px}.comparison-findings-right{right:0;border-left:1px solid var(--border)}body.comparison-mode:not(.left-sidebar-open) .comparison-findings-left,body.comparison-mode:not(.left-sidebar-open) .comparison-findings-right{width:50%}body.comparison-mode:not(.left-sidebar-open) .comparison-findings-left{left:0}.comparison-findings-left.hidden,.comparison-findings-right.hidden{display:none}.comparison-findings-resize-handle{position:absolute;top:0;left:0;right:0;height:6px;background:transparent;cursor:ns-resize;z-index:10;transition:background .15s}.comparison-findings-resize-handle:hover,.comparison-findings-resize-handle:active{background:var(--accent-glow)}.comparison-findings-header{padding:var(--space-6) var(--space-10);background:var(--accent-soft);border-bottom:1px solid var(--accent-glow);font-size:var(--text-12);font-weight:600;color:var(--status-bad);display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);flex-wrap:wrap}.comparison-findings-title{white-space:nowrap}.comparison-findings-filters{display:flex;gap:var(--space-4);flex-wrap:wrap}.comparison-filter{padding:var(--space-2) var(--space-6);font-size:var(--text-10);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;max-width:80px}.comparison-filter:hover{border-color:var(--accent-glow)}.comparison-filter:focus{outline:none;border-color:var(--accent)}.comparison-findings-body{flex:1;overflow-y:auto;padding:0}.comparison-findings-empty{padding:var(--space-20);text-align:center;color:var(--text-dim);font-size:var(--text-13)}.comparison-findings-table{width:100%;border-collapse:collapse;font-size:var(--text-12);table-layout:fixed}.comparison-findings-table th{padding:var(--space-8) var(--space-6);text-align:left;background:#0000004d;color:var(--text-dim);font-weight:500;font-size:var(--text-10);text-transform:uppercase;letter-spacing:.3px;position:sticky;top:0;z-index:1;white-space:nowrap;overflow:hidden}.comparison-findings-table th select.comparison-filter{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);color:#ffffffd9;font-size:var(--text-10);padding:var(--space-4) var(--space-2);cursor:pointer}.comparison-findings-table th select.comparison-filter:hover{border-color:var(--border-strong)}.comparison-findings-table th select.comparison-filter:focus{outline:none;border-color:var(--accent)}.comparison-findings-table td{padding:var(--space-6) var(--space-10);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}.comparison-finding-row{cursor:pointer;transition:background .15s}.comparison-finding-row:hover,.comparison-finding-row.highlighted{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-glow)}.comparison-finding-row.grade-1 td:first-child{border-left:3px solid var(--status-good)}.comparison-finding-row.grade-2 td:first-child{border-left:3px solid var(--accent)}.comparison-finding-row.grade-3 td:first-child,.comparison-finding-row.grade-4 td:first-child,.comparison-finding-row.grade-5 td:first-child{border-left:3px solid var(--status-bad)}.finding-status{text-transform:capitalize}.finding-status.status-open{color:var(--status-bad)}.finding-status.status-in-review{color:var(--accent)}.finding-status.status-resolved{color:var(--status-good)}.finding-status.status-deferred{color:var(--text-dim)}body.comparison-mode #cesiumContainer,body.comparison-mode #cesiumContainerRight,body.comparison-mode .comparison-divider{bottom:200px}body.comparison-mode{background:var(--bg-page)!important}body.comparison-mode .sidebar-details,body.comparison-mode .right-toggle-btns,body.comparison-mode .findings-table-panel{display:none!important}body.comparison-mode .sidebar{display:flex!important;bottom:200px;background:var(--bg-surface)}body.comparison-mode .left-toggle-btns{display:flex!important}body.comparison-mode #tabFindings,body.comparison-mode #tabUT,body.comparison-mode #tabMeasure,body.comparison-mode .sidebar-content-details,body.comparison-mode .sidebar-content-measure,body.comparison-mode #btnCompare{display:none!important}#shipOverview{position:fixed;top:40px;left:0;right:0;bottom:0;background:var(--bg-page);color:var(--text-secondary);overflow-y:auto;z-index:10}.overview-loading,.overview-error,.overview-empty{text-align:center;padding:80px var(--space-20);color:var(--text-dim);font-size:var(--text-14)}.overview-error{color:var(--status-bad)}.overview-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-16) var(--space-24);background:#0000004d;border-bottom:1px solid var(--border)}.overview-header-left{display:flex;align-items:center;gap:var(--space-6);font-size:var(--text-14)}.overview-breadcrumb{color:var(--accent);text-decoration:none}.overview-breadcrumb:hover{text-decoration:underline}.overview-breadcrumb-sep{color:var(--text-dim)}.overview-breadcrumb-current{color:var(--text-secondary);font-weight:600}.overview-quick-actions{display:flex;gap:var(--space-6);margin-left:var(--space-16)}.overview-quick-btn{padding:var(--space-4) var(--space-10);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--accent);font-size:var(--text-12);cursor:pointer;text-decoration:none;transition:background .15s,color .15s}.overview-quick-btn:hover{background:var(--accent-soft);color:var(--accent)}.overview-header-right{display:flex;align-items:center;gap:var(--space-12);font-size:var(--text-13)}.overview-stat{color:var(--text-muted)}.overview-3d-link{color:var(--accent);text-decoration:none;padding:var(--space-4) var(--space-10);border:1px solid var(--border);border-radius:var(--radius-md);font-size:var(--text-12)}.overview-3d-link:hover{border-color:var(--border-strong);background:var(--bg-hover)}.condition-badge{display:inline-block;padding:var(--space-2) var(--space-8);border-radius:var(--radius-sm);font-size:var(--text-11);font-weight:600;color:var(--text-primary);text-transform:uppercase}.condition-badge-sm{padding:1px var(--space-6);font-size:var(--text-10)}.overview-body{padding:0}.overview-split{display:flex;flex-direction:column;height:calc(100vh - 100px)}.overview-schematic-panel{padding:var(--space-16);flex:1 1 0;min-height:80px;overflow:hidden;position:relative}.overview-reports-panel{position:absolute;top:0;right:0;width:320px;height:100%;background:var(--bg-surface);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:10;transform:translate(100%);transition:transform .2s ease}.overview-reports-panel.open{transform:translate(0)}.overview-reports-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-10) var(--space-12);border-bottom:1px solid var(--border);flex-shrink:0}.overview-reports-header h3{margin:0;font-size:var(--text-14);font-weight:600;color:var(--text-secondary)}.overview-reports-close{background:none;border:none;color:var(--text-dim);font-size:var(--text-18);cursor:pointer;padding:0 var(--space-4)}.overview-reports-close:hover{color:var(--text-primary)}.overview-reports-body{flex:1;overflow-y:auto;padding:var(--space-8)}.overview-reports-body .document-item{padding:var(--space-8) var(--space-10)}.overview-resize-handle{flex:0 0 6px;cursor:row-resize;background:var(--bg-hover);border-top:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .15s}.overview-resize-handle:hover,.overview-resize-handle.dragging{background:var(--accent-glow)}.overview-table-panel{flex:1 1 0;min-height:60px;display:flex;flex-direction:column;overflow:hidden}.schematic-viewer{position:relative;width:100%;height:100%;overflow:hidden;background:var(--bg-page);border-radius:var(--radius-lg);border:1px solid var(--border)}.schematic-inner{position:relative;width:100%;height:100%;transform-origin:0 0}.schematic-image{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none}.schematic-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.schematic-hotspot{stroke-width:2;pointer-events:all;transition:opacity .15s}.schematic-hotspot:hover{stroke-width:3;filter:brightness(1.3)}.schematic-hotspot-group.highlighted .schematic-hotspot{stroke-width:4;filter:brightness(1.7);stroke-dasharray:none;stroke:var(--accent)}.schematic-viewer.has-selection .schematic-hotspot-group:not(.highlighted){opacity:.35}.schematic-viewer.has-selection .schematic-hotspot-group:not(.highlighted):hover{opacity:.65}.schematic-selection-chip{position:absolute;top:12px;left:12px;z-index:5;display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-8) var(--space-6) var(--space-12);background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-13);font-weight:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.schematic-selection-chip .chip-label{font-weight:700;letter-spacing:.02em}.schematic-selection-chip .chip-clear-btn{background:#00000040;border:1px solid var(--border-strong);color:#ffffffb3;cursor:pointer;font-size:var(--text-16);line-height:1;width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-circle);transition:background .15s,color .15s,border-color .15s}.schematic-selection-chip .chip-clear-btn:hover{background:var(--status-bad-soft);color:var(--text-primary);border-color:var(--status-bad)}.schematic-hotspot-group:hover rect,.schematic-hotspot-group:hover path{filter:brightness(1.3);stroke-width:3}.schematic-hotspot-group.highlighted rect,.schematic-hotspot-group.highlighted path{stroke-width:3;filter:brightness(1.5)}rect.schematic-hotspot-group:hover,path.schematic-hotspot-group:hover{filter:brightness(1.3);stroke-width:3}rect.schematic-hotspot-group.highlighted,path.schematic-hotspot-group.highlighted{stroke-width:3;filter:brightness(1.5)}.schematic-hotspot-label,.schematic-hotspot-count{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;text-shadow:0 1px 3px rgba(0,0,0,.8)}.schematic-tooltip{position:absolute;background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:var(--space-8) var(--space-12);font-size:var(--text-12);color:var(--text-secondary);pointer-events:none;z-index:100;white-space:nowrap;line-height:1.5}.overview-table-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-10) var(--space-12);background:#0000004d;border-bottom:1px solid var(--border)}.overview-table-title{font-size:var(--text-13);font-weight:600;color:var(--text-secondary)}.overview-filter-btns{display:flex;gap:var(--space-4)}.overview-filter-btn{padding:var(--space-4) var(--space-10);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);font-size:var(--text-11);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.overview-filter-btn:hover{color:var(--text-muted);border-color:var(--border-strong)}.overview-filter-btn.active{background:transparent;border-color:var(--accent);color:var(--accent)}.overview-search{padding:var(--space-4) var(--space-8);font-size:var(--text-12);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);width:140px;font-family:inherit}.overview-search::placeholder{color:var(--text-dim)}.overview-search:focus{outline:none;border-color:var(--accent-glow);background:var(--bg-active)}.overview-table th.sortable-col{cursor:pointer;-webkit-user-select:none;user-select:none;padding:var(--space-6) var(--space-10)}.overview-table th.sortable-col:hover{color:var(--text-secondary);background:var(--bg-active)}.overview-table-wrap{flex:1;overflow-y:auto}.overview-table-wrap .overview-insights{padding:var(--space-16)}.overview-table-wrap .overview-insights .insights-section{margin-bottom:var(--space-16)}.overview-table-wrap .overview-insights .insights-summary-3col{grid-template-columns:repeat(3,1fr)}.overview-table-empty{padding:var(--space-24);text-align:center;color:var(--text-dim);font-size:var(--text-13)}.overview-table{width:100%;border-collapse:collapse;font-size:var(--text-12)}.overview-table th{position:sticky;top:0;background:#00000080;padding:var(--space-4) var(--space-10);text-align:left;font-size:var(--text-10);text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;z-index:1}.overview-table td{padding:var(--space-6) var(--space-10);border-bottom:1px solid var(--border-subtle);vertical-align:middle;white-space:nowrap}.overview-table-row{cursor:pointer;transition:background .15s}.overview-table-row:hover{background:var(--bg-hover)}.overview-table-row.highlighted{background:var(--accent-soft)}.overview-table-grade-dot{display:inline-block;width:8px;height:8px;border-radius:var(--radius-circle);margin-right:var(--space-6);vertical-align:middle}.overview-table-loc-link{color:var(--accent);text-decoration:none;font-weight:500}.overview-table-loc-link:hover{text-decoration:underline}.overview-table-group{color:var(--text-dim);font-size:var(--text-11)}.overview-table-count,.overview-table-grade{text-align:left}.overview-table-3d{text-align:left;color:var(--text-dim)}.overview-grid-container{max-width:1200px;margin:0 auto}.overview-grid-group{margin-bottom:var(--space-24)}.overview-grid-group-label{font-size:var(--text-13);font-weight:600;color:var(--text-muted);text-transform:uppercase;margin-bottom:var(--space-10);letter-spacing:.5px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-12)}.overview-card{display:block;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-16);text-decoration:none;color:var(--text-secondary);transition:border-color .15s,background .15s}.overview-card:hover{border-color:var(--border-strong);background:var(--bg-surface)}.overview-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}.overview-card-name{font-weight:600;font-size:var(--text-14)}.overview-card-body{display:flex;align-items:center;gap:var(--space-12);font-size:var(--text-12);color:var(--text-muted)}#areaDetail{position:fixed;top:40px;left:0;right:var(--right-panel-width, 0px);bottom:0;background:var(--bg-canvas);color:var(--text-secondary);overflow:hidden;z-index:10;display:flex;flex-direction:column;transition:right .3s ease}body.resizing-right-panel #areaDetail{transition:none}.area-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-12) var(--space-24);background:#0000004d;border-bottom:1px solid var(--border)}.area-header-left{display:flex;align-items:center;gap:var(--space-6);font-size:var(--text-14)}.area-header-right{display:flex;align-items:center;gap:var(--space-12);font-size:var(--text-13)}.area-content{display:flex;gap:0;flex:1;min-height:0}.area-content .area-schematics,.area-content .area-viewers{flex:1 1 auto;min-width:0}.area-schematics{overflow:hidden;display:flex;flex-direction:column}.area-view-toggle{display:inline-flex;background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.area-view-toggle-btn{padding:var(--space-6) var(--space-12);font-size:var(--text-12);background:transparent;border:none;color:var(--text-muted);cursor:pointer}.area-view-toggle-btn.active{background:var(--bg-active);color:var(--text-secondary)}.area-view-toggle-btn:not(.active):hover{color:var(--text-secondary)}.area-view-toggle.area-view-toggle-overlay{position:absolute;top:12px;right:12px;z-index:8;background:#0000008c}.area-schematic-svg-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2}.area-schematic-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-12)}.area-schematic-tab{padding:var(--space-6) var(--space-12);font-size:var(--text-12);background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--text-muted);cursor:pointer}.area-schematic-tab.active{background:var(--bg-active);color:var(--text-secondary);border-bottom-color:transparent}.area-schematic-viewer{flex:1;position:relative;overflow:hidden}.area-schematic-inner{position:relative;display:inline-block;transform-origin:0 0}.area-schematic-image{display:block;max-width:100%;max-height:100%;-webkit-user-select:none;user-select:none}.area-finding-marker{position:absolute;width:24px;height:24px;background-size:contain;background-repeat:no-repeat;background-position:center;transform:translate(-50%,-50%);cursor:pointer;transition:transform .15s;z-index:10}.area-finding-marker:hover,.area-finding-marker.highlighted{transform:translate(-50%,-50%) scale(1.4);z-index:20}.area-finding-marker.selected{transform:translate(-50%,-50%) scale(1.55);filter:drop-shadow(0 0 2px var(--accent)) drop-shadow(0 0 4px var(--accent));z-index:21}.area-finding-marker.not-positioned{display:none}.area-viewers{display:flex;height:100%;overflow:hidden}.area-viewer-container{flex:1;min-height:200px;overflow:hidden;position:relative}.area-viewer-angles{position:absolute;top:4px;left:4px;display:flex;gap:var(--space-2);z-index:5}.area-viewer-angle{padding:var(--space-2) var(--space-6);font-size:var(--text-10);font-family:inherit;background:#282828cc;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;text-transform:uppercase}.area-viewer-angle:hover{color:var(--text-secondary);background:var(--bg-elevated)}.area-viewer-angle.active{color:var(--text-primary);background:var(--accent);border-color:var(--accent)}.area-viewer-container .cesium-viewer-bottom,.area-viewer-container .cesium-viewer-toolbar,.area-viewer-container .cesium-widget-credits{display:none!important}.area-viewer-container .cesium-viewer,.area-viewer-container .cesium-widget,.area-viewer-container .cesium-widget canvas{width:100%!important;height:100%!important;position:absolute!important;top:0;left:0;overflow:hidden}.area-finding-grade{display:inline-block;width:8px;height:8px;border-radius:var(--radius-circle);margin-right:var(--space-6);vertical-align:middle}.area-finding-3d-btn{padding:var(--space-2) var(--space-8);font-size:var(--text-11);background:var(--accent-glow);border:1px solid var(--accent-glow);border-radius:var(--radius-sm);color:var(--accent);cursor:pointer;text-decoration:none}.area-finding-3d-btn:hover{background:var(--accent-glow);color:var(--text-primary)}.ft-row td{border-bottom:1px solid var(--border-subtle)}.ft-row{scroll-margin-top:28px}.ft-row:hover{background:var(--bg-hover)}.ft-row.ft-highlighted,.ft-row.ft-active{background:var(--accent-soft)}.ft-row.ft-active td:first-child{border-left:3px solid var(--accent)}.ft-details-btn{width:22px;height:22px;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--bg-hover);color:var(--text-muted);font-size:var(--text-14);line-height:1;cursor:pointer}.ft-details-btn:hover{background:var(--accent-glow);border-color:var(--accent);color:var(--text-primary)}.ft-3d-btn{display:inline-block;padding:var(--space-2) var(--space-6);margin-right:var(--space-4);font-size:var(--text-10);background:var(--accent-glow);border:1px solid var(--accent-glow);border-radius:var(--radius-sm);color:var(--accent);text-decoration:none;vertical-align:middle}.ft-3d-btn:hover{background:var(--accent-glow);color:var(--text-primary)}.ft-detail-cell{padding:0}.ft-detail-card{padding:var(--space-10) var(--space-12);background:var(--bg-hover);border-bottom:1px solid var(--border);font-size:var(--text-12);color:var(--text-secondary)}.ft-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4) var(--space-12)}.ft-detail-field{display:flex;flex-direction:column;gap:1px;padding:var(--space-2) 0}.ft-detail-label{font-size:var(--text-10);text-transform:uppercase;color:var(--text-dim)}.ft-detail-value{color:var(--text-secondary)}.ft-detail-desc{margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.ft-detail-images{margin-top:var(--space-8);display:flex;gap:var(--space-6);flex-wrap:wrap}.ft-detail-actions{margin-top:var(--space-8);display:flex;gap:var(--space-8)}.ft-edit-btn{padding:var(--space-2) var(--space-10);font-size:var(--text-11);background:var(--bg-active);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer}.ft-edit-btn:hover{background:var(--bg-active);color:var(--text-secondary)}.area-no-schematic{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-dim);font-size:var(--text-14)}.area-3d-breadcrumb{border-top:none}*{margin:0;padding:0;box-sizing:border-box}.hidden{display:none!important}html,body{width:100%;height:100%;margin:0;padding:0;overflow:hidden;background:var(--bg-page);color:var(--text-secondary);font-family:var(--font-ui)}#cesiumContainer{position:fixed;top:0;left:0;right:var(--right-panel-width, 0px);bottom:0;transition:bottom .3s ease,right .3s ease}body.resizing-right-panel #cesiumContainer{transition:bottom .3s ease}.sidebar{position:fixed;top:0;left:0;height:100%;width:320px;background:var(--bg-surface);color:var(--text-primary);transform:translate(0);transition:transform .3s ease;z-index:1000;display:flex;flex-direction:column}.sidebar.collapsed{transform:translate(-320px)}.sidebar-details{position:fixed;top:0;right:0;height:100%;width:min(540px,40vw);min-width:280px;max-width:80vw;background:var(--bg-surface);color:var(--text-primary);transform:translate(0);transition:transform .3s ease,width .2s ease;z-index:1000;display:flex;flex-direction:column}.sidebar-details.collapsed{transform:translate(100%)}.sidebar-details.resizing{transition:none}.sidebar-details.expanded{width:50vw}.sidebar-details .sidebar-header{background:var(--accent-soft);border-bottom:1px solid var(--accent-glow)}.sidebar-details .sidebar-header h1{color:var(--status-bad)}.sidebar-details .sidebar-header{display:flex;justify-content:space-between;align-items:center}.findings-actions-bar{padding:var(--space-8) var(--space-12);background:#0003;border-bottom:1px solid var(--accent-soft);display:flex;gap:var(--space-8)}.btn-add-finding,.btn-view-table{background:var(--accent);border:1px solid var(--accent);color:var(--text-primary);padding:var(--space-6) var(--space-12);border-radius:var(--radius-md);font-size:var(--text-12);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:var(--space-4);transition:all .2s;flex:1;justify-content:center}.btn-add-finding:hover,.btn-view-table:hover{background:var(--accent);border-color:var(--accent)}.btn-add-finding .btn-icon,.btn-view-table .btn-icon{width:14px;height:14px}.btn-view-table,.btn-view-table:hover{background:var(--bg-elevated);border-color:var(--border-strong)}.findings-table-panel{position:fixed;bottom:-320px;left:0;right:0;height:300px;background:var(--bg-surface);border-top:2px solid var(--accent-glow);z-index:1500;display:flex;flex-direction:column;box-shadow:0 -4px 20px #00000080;transition:bottom .3s ease}.findings-table-panel.visible{bottom:0}#cesiumContainer.drawer-open{bottom:300px!important}.findings-table-panel.floating{position:fixed;border:2px solid var(--accent-glow);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0009;min-width:400px;min-height:200px;max-width:95vw;max-height:90vh;resize:both;overflow:hidden}.findings-table-panel.floating:after{content:"";position:absolute;bottom:0;right:0;width:16px;height:16px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--accent-glow) 50%);border-radius:0 0 var(--radius-lg) 0;pointer-events:none}.findings-table-panel.sidebar-collapsed{left:0}.findings-table-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-8) var(--space-12);background:var(--accent-soft);border-bottom:1px solid var(--accent-glow);cursor:move;-webkit-user-select:none;user-select:none}.findings-table-panel-header h2{margin:0;font-size:var(--text-14);color:var(--status-bad);font-weight:600}.findings-table-panel-controls{display:flex;gap:var(--space-8);align-items:center}.findings-table-panel-controls button{background:var(--bg-active);border:1px solid var(--border-strong);color:var(--text-muted);width:28px;height:28px;border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--text-14);transition:all .2s}.findings-table-panel-controls button:hover{background:var(--bg-active);color:var(--text-primary)}.findings-table-panel-controls .btn-snap{display:none}.findings-table-panel.floating .findings-table-panel-controls .btn-snap{display:flex}.findings-table-panel-controls .btn-popout{font-size:var(--text-16)}.findings-table-panel-body{flex:1;overflow:auto;padding:var(--space-12)}.findings-table-panel .findings-table{width:100%}.findings-table-panel-resize{position:absolute;top:0;left:0;right:0;height:6px;cursor:ns-resize;background:transparent}.findings-table-panel.floating .findings-table-panel-resize{display:none}.findings-table-panel .findings-table th{background:var(--accent-soft);position:sticky;top:0;z-index:1}.findings-table-panel .findings-table tbody tr:hover{background:var(--accent-soft)}.findings-toggle{display:flex;align-items:center;gap:var(--space-6);cursor:pointer;font-size:var(--text-11);color:var(--text-dim);-webkit-user-select:none;user-select:none}.findings-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--status-bad);cursor:pointer}.findings-toggle .toggle-label{opacity:.8}.findings-toggle:hover .toggle-label{opacity:1}.findings-header-controls{display:flex;align-items:center;gap:var(--space-8)}.findings-marker-controls{display:flex;gap:var(--space-4);padding:var(--space-6) var(--space-12);background:#0003;border-bottom:1px solid var(--accent-soft)}.marker-control-btn{padding:var(--space-2) var(--space-10);font-size:var(--text-11);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:all .2s}.marker-control-btn:hover{background:var(--accent-glow);border-color:var(--accent-glow);color:var(--text-primary)}.right-toggle-btns{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:var(--space-4);z-index:999;transition:right .3s ease}.right-toggle-btns.sidebar-open{right:336px}.toggle-btn-right{width:36px;height:36px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);font-size:var(--text-14);cursor:pointer;transition:all .2s ease}.toggle-btn-right:hover{opacity:1;color:var(--text-primary)}.toggle-btn-right.active{width:44px;height:44px;font-size:var(--text-18);color:var(--text-primary);opacity:1}.toggle-btn-right.findings-btn{background:var(--accent);border-color:var(--accent-glow);color:var(--text-primary);opacity:.6}.toggle-btn-right.findings-btn.active{opacity:1}.toggle-btn-right.images-btn{display:flex;align-items:center;justify-content:center}.toggle-btn-right.images-btn svg{width:16px;height:16px;transition:all .2s ease}.toggle-btn-right.images-btn.active svg{width:20px;height:20px}.toggle-btn-right.images-btn.active{background:var(--accent);border-color:var(--accent-glow);color:var(--text-primary)}.toggle-btn-right.documents-btn{display:flex;align-items:center;justify-content:center}.toggle-btn-right.documents-btn svg{width:16px;height:16px;transition:all .2s ease}.toggle-btn-right.documents-btn.active svg{width:20px;height:20px}.toggle-btn-right.documents-btn.active{background:var(--accent);border-color:var(--accent-glow);color:var(--text-primary)}.sidebar-images{position:fixed;top:0;right:0;width:min(380px,30vw);min-width:280px;max-width:80vw;height:100%;background:var(--bg-surface);border-left:1px solid var(--border);z-index:998;transform:translate(0);transition:transform .3s ease,width .2s ease;display:flex;flex-direction:column}.sidebar-images.collapsed{transform:translate(100%)}.sidebar-images.resizing{transition:none}.sidebar-images.expanded{width:50vw}.sidebar-resize-handle{position:absolute;left:0;top:0;width:6px;height:100%;cursor:ew-resize;background:transparent;z-index:10;transition:background .2s}.sidebar-resize-handle:hover,.sidebar-resize-handle.active{background:var(--accent-glow)}.sidebar-resize-handle:after{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:2px;height:40px;background:var(--bg-active);border-radius:var(--radius-xs)}.sidebar-expand-btns{display:flex;gap:var(--space-4)}.btn-sidebar-expand,.btn-sidebar-collapse{background:var(--bg-active);border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-dim);width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.btn-sidebar-expand:hover,.btn-sidebar-collapse:hover{background:var(--bg-active);color:var(--text-primary)}.btn-sidebar-expand svg,.btn-sidebar-collapse svg{width:14px;height:14px}.sidebar-images.selecting-for-finding{z-index:10002}.sidebar-images .sidebar-header{display:flex;justify-content:space-between;align-items:center}.sidebar-images .sidebar-header h1{color:var(--accent)}#imagesContent{overflow:hidden!important;display:flex!important;flex-direction:column!important;min-height:0}.images-filters{padding:var(--space-8) var(--space-10);border-bottom:1px solid var(--border);display:flex;gap:var(--space-6);align-items:center;flex-shrink:0;flex-wrap:wrap;background:var(--bg-surface)}.images-filter-select{flex:1 1 100px;min-width:100px;max-width:150px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:#ffffffe6;font-size:var(--text-13);font-weight:400;padding:var(--space-10) var(--space-32) var(--space-10) var(--space-12);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;transition:border-color .15s ease,background-color .15s ease}.images-filter-select:hover{background-color:var(--bg-surface);border-color:var(--border-strong)}.images-filter-select:focus{outline:none;border-color:var(--border-strong)}.images-filter-select option{background:var(--bg-surface);color:var(--text-primary);padding:var(--space-10)}.thumb-size-selector{display:flex;gap:var(--space-2);flex-shrink:0;background:#00000080;border-radius:var(--radius-lg);padding:var(--space-2);border:1px solid var(--border)}.thumb-size-selector{display:flex;gap:3px;padding:var(--space-4);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-left:auto}.thumb-size-btn{width:32px;height:28px;padding:var(--space-4);margin:0;background:var(--bg-active);border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.thumb-size-btn svg{width:18px;height:18px}.thumb-size-btn:hover{background:var(--bg-active);color:var(--text-primary)}.thumb-size-btn.active{background:var(--accent);color:var(--text-primary)}.images-count{flex-shrink:0}.images-virtual-container{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--space-8);width:100%;box-sizing:border-box}.images-virtual-content{display:grid!important;grid-template-columns:repeat(2,1fr);gap:var(--space-8);width:100%;box-sizing:border-box;padding:0;margin:0}.images-virtual-content.thumb-size-small{grid-template-columns:repeat(5,1fr)!important;gap:var(--space-4)!important}.images-virtual-content.thumb-size-medium{grid-template-columns:repeat(2,1fr)!important;gap:var(--space-8)!important}.images-virtual-content.thumb-size-large{grid-template-columns:1fr!important;gap:var(--space-10)!important}.images-virtual-content.thumb-size-large .image-thumb-virtual{aspect-ratio:16 / 9}.image-thumb-virtual{position:relative;width:100%;min-width:0;max-width:100%;height:auto;aspect-ratio:1;background:var(--bg-active);border:2px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .15s;box-shadow:0 2px 4px #0006;box-sizing:border-box}.image-thumb-virtual:hover{border-color:var(--accent);transform:scale(1.05)}.image-thumb-virtual.selected{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.image-thumb-virtual img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.images-grid-container{flex:1;overflow-y:auto;padding:var(--space-8)}.images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.image-thumb{aspect-ratio:1;background:var(--bg-hover);border:2px solid transparent;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s}.image-thumb:hover{border-color:var(--accent-glow);transform:scale(1.02)}.image-thumb.selected{border-color:var(--accent)}.image-thumb img{width:100%;height:100%;object-fit:cover}.image-thumb-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:var(--text-20)}.images-location-group{margin-bottom:var(--space-12)}.images-location-header{font-size:var(--text-11);color:var(--text-dim);padding:var(--space-6) var(--space-4);border-bottom:1px solid var(--border);margin-bottom:var(--space-6)}.images-empty{padding:var(--space-24) var(--space-16);text-align:center;color:var(--text-dim);display:none}.images-empty.visible{display:block}.images-instruction{padding:var(--space-24) var(--space-16);text-align:center;color:var(--text-dim)}.images-instruction .instruction-icon{font-size:var(--text-32);margin-bottom:var(--space-12)}.images-instruction .instruction-text{font-size:var(--text-13);line-height:1.5}.images-instruction.hidden{display:none}.images-preview{display:none;padding:var(--space-12);border-bottom:1px solid var(--border)}.images-preview.visible{display:block}.preview-container{position:relative;width:100%;aspect-ratio:4/3;background:var(--bg-page);border-radius:var(--radius-md);overflow:hidden}.preview-container img{width:100%;height:100%;object-fit:contain}.preview-marker{position:absolute;width:20px;height:20px;border:2px solid var(--status-warn);border-radius:var(--radius-circle);transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 8px var(--status-warn-soft);display:none}.preview-marker.visible{display:block}.preview-info{display:flex;justify-content:space-between;margin-top:var(--space-8);font-size:var(--text-11)}.preview-filename{color:var(--accent);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.preview-distance{color:var(--text-dim);margin-left:var(--space-8)}.btn-use-image{display:none;width:100%;margin-top:var(--space-10);padding:var(--space-10) var(--space-16);background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-13);font-weight:500;cursor:pointer;align-items:center;justify-content:center;gap:var(--space-8)}.btn-use-image svg{width:16px;height:16px}.btn-use-image:hover{background:var(--accent-hover)}.sidebar-images.selecting-for-finding .btn-use-image{display:flex}.images-count{padding:var(--space-8) var(--space-12);font-size:var(--text-11);color:var(--text-dim);border-bottom:1px solid var(--border);display:none}.images-count.visible{display:block}.images-thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-8);max-height:400px;overflow-y:auto}.image-thumbnail{aspect-ratio:4/3;background:var(--bg-surface);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.image-thumbnail:hover{border-color:var(--border)}.image-thumbnail.selected{border-color:var(--accent)}.image-thumbnail img{width:100%;height:100%;object-fit:cover}.image-full-preview{border-top:1px solid var(--border);padding:var(--space-10);background:#0000004d;flex-shrink:0;min-height:240px}.images-at-point-header{flex-shrink:0;padding:var(--space-12);border-bottom:1px solid var(--accent-glow);background:var(--accent-soft);display:flex;justify-content:space-between;align-items:center}.images-at-point-clear{padding:var(--space-6) var(--space-12);background:var(--bg-active);border:1px solid var(--border-strong);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-12);cursor:pointer}.image-distance-badge{margin-left:auto;padding:var(--space-2) var(--space-8);background:var(--accent-soft);border-radius:var(--radius-md);font-size:var(--text-11);color:var(--accent)}.images-delete-btn{display:none;padding:var(--space-4) var(--space-10);background:var(--status-bad);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-11);cursor:pointer}.btn-use-image-at-point{display:none;width:calc(100% - 20px);margin:var(--space-10);padding:var(--space-10) var(--space-16);background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-13);font-weight:500;cursor:pointer;align-items:center;justify-content:center;gap:var(--space-8)}.image-full-preview-label{font-size:var(--text-10);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-6);display:flex;justify-content:space-between;align-items:center}.image-full-preview-name{color:var(--accent);text-transform:none;letter-spacing:0;font-size:var(--text-11);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-full-placeholder{width:100%;height:200px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:var(--text-12);overflow:hidden}.image-full-placeholder img{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-lg);background:var(--bg-page)}.sidebar-documents{position:fixed;top:0;right:0;width:min(360px,30vw);min-width:280px;max-width:80vw;height:100%;background:var(--bg-surface);border-left:1px solid var(--border);z-index:997;transform:translate(0);transition:transform .3s ease,width .2s ease;display:flex;flex-direction:column}.sidebar-documents.collapsed{transform:translate(100%)}.sidebar-documents.resizing{transition:none}.sidebar-documents.expanded{width:50vw}.sidebar-documents .sidebar-header{background:var(--accent-soft);border-bottom:1px solid var(--border)}.sidebar-documents .sidebar-header h1{color:var(--text-primary)}.sidebar-insights{position:fixed;top:0;right:0;width:min(380px,30vw);min-width:280px;max-width:80vw;height:100%;background:var(--bg-surface);border-left:1px solid var(--border);z-index:996;transform:translate(0);transition:transform .3s ease,width .2s ease;display:flex;flex-direction:column}.sidebar-insights.collapsed{transform:translate(100%)}.sidebar-insights .sidebar-header{background:var(--panel-insights-soft);border-bottom:1px solid var(--panel-insights-soft)}.sidebar-insights .sidebar-header h1{color:var(--panel-insights)}.insights-charts{padding:var(--space-12);display:flex;flex-direction:column;gap:var(--space-12)}.insights-section{background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-12)}.insights-section-title{font-size:var(--text-12);font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-10)}.insights-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-8)}.insights-stat{background:var(--bg-active);border-radius:var(--radius-lg);padding:var(--space-8);text-align:center}.insights-stat-value{font-size:var(--text-20);font-weight:700;color:var(--text-primary)}.insights-stat-label{font-size:var(--text-10);color:var(--text-muted);margin-top:var(--space-2)}.insights-stat-good .insights-stat-value{color:var(--status-good)}.insights-stat-fair .insights-stat-value{color:var(--status-warn)}.insights-stat-poor .insights-stat-value{color:var(--status-bad)}.insights-bar-chart{display:flex;flex-direction:column;gap:var(--space-6)}.insights-bar-row{display:flex;align-items:center;gap:var(--space-8)}.insights-bar-label{font-size:var(--text-11);color:var(--text-secondary);min-width:70px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insights-bar-track{flex:1;height:16px;background:var(--bg-active);border-radius:var(--radius-sm);overflow:hidden}.insights-bar-fill{height:100%;border-radius:var(--radius-sm);transition:width .3s ease;min-width:3px}.insights-bar-count{font-size:var(--text-11);color:var(--text-secondary);min-width:24px;text-align:right;font-weight:600}.insights-condition-bar{display:flex;height:24px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-8);background:var(--bg-active)}.condition-segment{transition:width .3s ease}.condition-good{background:var(--status-good)}.condition-fair{background:var(--status-warn)}.condition-poor{background:var(--status-bad)}.insights-condition-legend{display:flex;justify-content:center;gap:var(--space-16);font-size:var(--text-11);color:var(--text-secondary)}.legend-item{display:flex;align-items:center;gap:var(--space-4)}.legend-dot{width:8px;height:8px;border-radius:var(--radius-circle);display:inline-block}.insights-area-selector{margin-bottom:var(--space-12)}.insights-area-selector select{width:100%;padding:var(--space-6) var(--space-10);-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--panel-insights-soft);border:1px solid var(--panel-insights-soft);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-12);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:var(--space-24)}.insights-area-selector select:focus{outline:none;border-color:var(--panel-insights)}.insights-area-selector select option{background:var(--bg-elevated);color:var(--text-secondary)}.insights-summary-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.insights-stat .insights-stat-open{color:var(--accent)}.insights-stat .insights-stat-resolved{color:var(--status-good)}.insights-stacked-bar{display:flex;height:24px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-8);background:var(--bg-hover)}.insights-stacked-segment{cursor:pointer;transition:opacity .15s ease;min-width:4px}.insights-stacked-segment:hover{opacity:.75}.insights-status-legend{display:flex;flex-wrap:wrap;gap:var(--space-10);font-size:var(--text-11);color:var(--text-secondary)}.insights-bar-row.insights-clickable{cursor:pointer;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);transition:background .15s ease}.insights-bar-row.insights-clickable:hover{background:var(--bg-hover)}.insights-active-filter{outline:2px solid var(--panel-insights);outline-offset:1px;border-radius:var(--radius-sm)}#documentsFooter{flex:0 0 auto!important;border-top:1px solid var(--border);display:flex!important;flex-direction:row!important;background:#0000004d;margin-top:auto}#documentsFooter button{flex:1;padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);font-size:var(--text-12);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);background:var(--bg-active);border:1px solid var(--border-strong);color:var(--text-primary);transition:background var(--transition-fast),border-color var(--transition-fast)}#documentsFooter button:hover{background:var(--bg-hover);border-color:var(--accent)}.document-list{flex:1;overflow-y:auto;padding:var(--space-12)}.document-section{margin-bottom:var(--space-16)}.document-section-header{font-size:var(--text-10);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-dim);margin-bottom:var(--space-8);padding-left:var(--space-4)}.document-item{display:flex;align-items:center;gap:var(--space-10);padding:var(--space-10) var(--space-12);background:var(--bg-hover);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);margin-bottom:var(--space-6);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.document-item:hover{background:var(--bg-active);border-color:var(--border-strong)}.document-icon{font-size:var(--text-20);width:28px;text-align:center;flex-shrink:0}.document-info{flex:1;min-width:0}.document-name{font-size:var(--text-13);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.document-meta{font-size:var(--text-11);color:var(--text-dim);margin-top:var(--space-2);display:flex;gap:var(--space-8)}.document-meta .doc-type{color:var(--text-dim);text-transform:uppercase;font-size:var(--text-10);letter-spacing:.3px}.document-actions{display:flex;gap:var(--space-4);opacity:0;transition:opacity .15s}.document-item:hover .document-actions{opacity:1}.document-actions button{padding:var(--space-4) var(--space-6);border:none;background:var(--bg-active);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-11);color:var(--text-dim);transition:all .15s}.document-actions button:hover{background:var(--bg-active);color:var(--text-primary)}.document-actions button.danger:hover{background:var(--status-bad-soft);color:var(--status-bad)}.document-folder{margin-bottom:var(--space-12)}.folder-header{display:flex;align-items:center;gap:var(--space-10);padding:var(--space-10) var(--space-12);background:linear-gradient(135deg,var(--status-warn-soft) 0%,var(--status-warn-soft) 100%);border:1px solid var(--status-warn-soft);border-radius:var(--radius-lg);cursor:pointer;transition:all .15s ease}.folder-header:hover{background:linear-gradient(135deg,var(--status-warn-soft) 0%,var(--status-warn-soft) 100%);border-color:var(--status-warn-soft)}.folder-icon{font-size:var(--text-18);transition:transform .2s ease}.folder-header.collapsed .folder-icon{transform:rotate(-90deg)}.folder-name{flex:1;font-size:var(--text-13);color:var(--status-warn);font-weight:600}.folder-count{font-size:var(--text-10);color:var(--text-muted);padding:var(--space-2) var(--space-8);background:#00000040;border-radius:var(--radius-lg);font-weight:500}.folder-contents{margin-left:var(--space-16);padding-left:var(--space-12);border-left:2px solid var(--status-warn-soft);margin-top:var(--space-8);padding-top:var(--space-4)}.folder-contents.collapsed{display:none}.folder-empty{padding:var(--space-12) var(--space-16);font-size:var(--text-12);color:var(--text-faint);font-style:italic}.context-menu{position:fixed;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #00000080,0 2px 8px #0000004d;z-index:9999;min-width:160px;overflow:hidden;padding:var(--space-4) 0}.context-menu-item{transition:all .1s ease}.context-menu-item.danger{color:var(--status-bad)}.context-menu-item.danger:hover{background:var(--status-bad-soft);color:var(--status-bad)}.context-menu-divider{height:1px;background:var(--bg-surface);margin:var(--space-4) var(--space-8)}.file-drop-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-24);text-align:center;transition:all .2s;cursor:pointer}.file-drop-zone:hover,.file-drop-zone.dragover{border-color:var(--status-warn);background:var(--status-warn-soft)}.drop-zone-content .drop-icon{width:32px;height:32px;opacity:.6;margin-bottom:var(--space-12);display:block;color:var(--text-dim)}.drop-zone-content p{margin:var(--space-4) 0;color:var(--text-dim);font-size:var(--text-13)}.drop-zone-content .browse-link{color:var(--status-warn);text-decoration:underline;cursor:pointer}.drop-zone-content .drop-hint{font-size:var(--text-11);color:var(--text-dim)}.selected-file{gap:var(--space-10)}.selected-file .file-icon{width:24px;height:24px;color:var(--text-muted);flex-shrink:0}.selected-file .file-name{flex:1;font-size:var(--text-13);color:var(--text-secondary);word-break:break-all}.selected-file .clear-file{padding:var(--space-4) var(--space-8);border:none;background:var(--bg-active);color:var(--text-dim);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-14)}.selected-file .clear-file:hover{background:var(--status-bad-soft);color:var(--status-bad)}.upload-progress{display:flex;align-items:center;gap:var(--space-10);margin-top:var(--space-12)}.upload-progress .progress-bar{flex:1;height:8px;background:var(--bg-surface);border-radius:var(--radius-md);overflow:hidden}.upload-progress .progress-fill{height:100%;background:linear-gradient(90deg,var(--status-warn),var(--status-warn));border-radius:var(--radius-md);transition:width .2s;width:0%}.upload-progress .progress-text{font-size:var(--text-12);color:var(--text-dim);min-width:40px;text-align:right}.document-viewer{position:fixed;top:60px;left:300px;width:800px;height:600px;min-width:400px;min-height:300px;background:var(--bg-surface);z-index:1000;display:flex;flex-direction:column;box-shadow:0 8px 40px #0009,0 0 1px #ffffff1a;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}.document-viewer.hidden{display:none}.document-viewer-header{display:flex;align-items:center;padding:var(--space-10) var(--space-12);background:linear-gradient(180deg,var(--bg-elevated) 0%,var(--bg-surface) 100%);border-bottom:1px solid var(--border);flex-shrink:0;cursor:move;-webkit-user-select:none;user-select:none;gap:var(--space-12)}.document-viewer-title{font-size:var(--text-13);font-weight:600;color:var(--status-warn);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}.document-viewer-controls{display:flex;align-items:center}.zoom-select{background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-12);padding:var(--space-6) var(--space-10);cursor:pointer;outline:none;min-width:90px}.zoom-select:hover{background:var(--bg-active);border-color:var(--status-warn-soft)}.zoom-select:focus{border-color:var(--status-warn)}.zoom-select option{background:var(--bg-elevated);color:var(--text-secondary);padding:var(--space-8)}.document-viewer-actions{display:flex;gap:var(--space-6)}.viewer-btn{padding:var(--space-6);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.viewer-btn:hover{background:var(--bg-active);color:var(--text-primary);border-color:var(--border-strong)}.viewer-btn.viewer-close:hover{background:var(--status-bad-soft);border-color:var(--status-bad-soft);color:var(--status-bad)}.document-viewer-content{flex:1;overflow:hidden;background:var(--bg-surface);position:relative}.document-viewer-content iframe{width:100%;height:100%;border:none;background:var(--bg-canvas)}.resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,var(--bg-active) 50%);border-radius:0 0 var(--radius-lg) 0}.resize-handle:hover{background:linear-gradient(135deg,transparent 50%,var(--status-warn-soft) 50%)}.document-viewer.dragging{opacity:.9;cursor:move}.document-viewer.dragging iframe{pointer-events:none}#documentsFooter{gap:var(--space-8)!important;padding:var(--space-10) var(--space-12)!important}.findings-list{padding:0;margin:0;list-style:none}.finding-item{padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--border);cursor:pointer;transition:background .2s}.finding-item:hover{background:var(--bg-hover)}.finding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.finding-name{font-weight:500;font-size:var(--text-14)}.finding-severity{font-size:var(--text-11);padding:var(--space-2) var(--space-8);border-radius:var(--radius-lg);text-transform:uppercase}.finding-severity.low{background:var(--status-good-soft);color:var(--status-good)}.finding-severity.medium{background:var(--status-warn-soft);color:var(--status-warn)}.finding-severity.high,.finding-severity.critical{background:var(--status-bad-soft);color:var(--status-bad)}.finding-description{font-size:var(--text-12);color:var(--text-dim);margin-top:var(--space-4)}.finding-status{font-size:var(--text-11);color:var(--text-dim);margin-top:var(--space-6)}.findings-empty{padding:var(--space-24) var(--space-16);text-align:center;color:var(--text-dim)}.findings-table-container{padding:var(--space-12);overflow-x:auto;flex:1;overflow-y:auto}.findings-table{width:100%;border-collapse:collapse;font-size:var(--text-12)}.findings-table th{text-align:left;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:500;font-size:var(--text-10);letter-spacing:.5px}.findings-table th select{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:#ffffffe6;font-size:var(--text-12);padding:var(--space-8) var(--space-24) var(--space-8) var(--space-12);cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.5)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;transition:border-color .15s ease,background-color .15s ease}.findings-table th select:hover{background-color:var(--bg-surface);border-color:var(--border-strong)}.findings-table th select:focus{outline:none;border-color:var(--border-strong)}.findings-table th select option{background:var(--bg-surface);color:var(--text-primary);padding:var(--space-8)}.findings-table td{padding:var(--space-10) var(--space-6);border-bottom:1px solid var(--bg-elevated);vertical-align:middle}.findings-table tbody tr{cursor:pointer;transition:background .2s}.findings-table tbody tr:hover{background:var(--bg-hover)}.findings-table tbody tr.selected{background:var(--accent-soft)}.findings-table tbody tr.marker-hidden:after{content:"(hidden)";color:var(--text-dim);font-size:var(--text-10);margin-left:var(--space-8)}.findings-table tbody tr.highlighted{background:var(--accent-soft)!important;box-shadow:inset 0 0 0 1px var(--accent-glow)}.findings-table tbody tr.marker-hidden{opacity:.5}.findings-table .marker-col{width:28px;text-align:center;padding:var(--space-4)!important}.findings-table .marker-col input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:var(--status-bad)}.findings-table th.marker-col{vertical-align:middle}.mesh-indicator{color:var(--accent);font-size:var(--text-10);margin-left:var(--space-2);vertical-align:middle}.finding-hover-popup{position:fixed;background:var(--bg-surface);border:1px solid var(--accent-glow);border-radius:var(--radius-lg);padding:var(--space-12);min-width:200px;max-width:350px;z-index:10000;opacity:0;pointer-events:none;transition:opacity .15s;box-shadow:0 4px 20px #00000080}.finding-hover-popup.visible{opacity:1;pointer-events:auto}.finding-hover-popup.expanded{min-width:300px;max-width:450px}.finding-popup-header{display:flex;align-items:center;gap:var(--space-10);margin-bottom:var(--space-8)}.finding-popup-grade{width:24px;height:24px;border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-12);flex-shrink:0}.finding-popup-grade.good{background:var(--status-good);color:#fff}.finding-popup-grade.fair{background:var(--status-warn);color:#fff}.finding-popup-grade.poor{background:var(--status-bad);color:#fff}.finding-popup-name{font-weight:600;color:var(--text-primary);flex:1}.finding-popup-close{background:none;border:none;color:var(--text-dim);font-size:var(--text-24);cursor:pointer;padding:var(--space-4) var(--space-8);line-height:1;margin:-4px -8px -4px 0;z-index:10;position:relative}.finding-popup-close:hover{color:var(--text-primary)}.finding-popup-type{color:var(--text-muted);font-size:var(--text-12);margin-bottom:var(--space-4)}.finding-popup-location{color:var(--accent);font-size:var(--text-12);margin-bottom:var(--space-8)}.finding-popup-hint{color:var(--text-dim);font-size:var(--text-10);font-style:italic}.finding-popup-expanded .finding-popup-body{margin:var(--space-12) 0;padding:var(--space-12) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.finding-popup-row{color:var(--text-secondary);font-size:var(--text-12);margin-bottom:var(--space-6)}.finding-popup-row strong{color:var(--text-muted)}.finding-popup-actions{display:flex;gap:var(--space-8);margin-top:var(--space-12)}.finding-popup-actions button{flex:1;padding:var(--space-6) var(--space-12);font-size:var(--text-12)}.findings-table .location-cell{color:var(--accent);font-weight:500}.findings-table .type-cell{color:var(--text-secondary)}.findings-table .date-cell{color:var(--text-dim);font-size:var(--text-11);white-space:nowrap}.grade-badge{display:inline-flex;align-items:center;gap:var(--space-6);padding:var(--space-2) var(--space-10);border-radius:var(--radius-md);font-size:var(--text-11);font-weight:500;text-transform:uppercase}.grade-badge .grade-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-circle);background:var(--bg-active);font-size:var(--text-10);font-weight:600}.grade-badge.good{background:var(--status-good-soft);color:var(--status-good)}.grade-badge.fair{background:var(--status-warn-soft);color:var(--status-warn)}.grade-badge.poor{background:var(--status-bad-soft);color:var(--status-bad)}.type-badge{display:inline-block;padding:var(--space-2) var(--space-6);border-radius:var(--radius-sm);font-size:var(--text-10);font-weight:500;text-transform:uppercase;letter-spacing:.3px}.type-badge.coating{background:var(--accent-soft);color:var(--accent)}.type-badge.corrosion{background:var(--accent-soft);color:var(--status-bad)}.type-badge.pitting{background:var(--panel-insights-soft);color:var(--panel-insights)}.type-badge.deformation{background:var(--status-warn-soft);color:var(--status-warn)}.type-badge.fracture{background:var(--accent-soft);color:var(--status-bad)}.type-badge.cleanliness{background:var(--status-good-soft);color:var(--status-good)}.type-badge.general{background:#96969633;color:var(--text-muted)}.finding-source-badge{display:inline-block;padding:var(--space-2) var(--space-6);border-radius:var(--radius-sm);font-size:var(--text-10);font-weight:500;text-transform:uppercase;letter-spacing:.3px;background:#9696962e;color:var(--text-secondary)}.finding-source-manual{background:#9696962e;color:var(--text-secondary)}.finding-source-ml_import{background:var(--accent-soft);color:var(--accent)}.finding-source-poi_import{background:var(--accent-soft);color:var(--status-bad)}.finding-source-csv_import{background:var(--status-good-soft);color:var(--status-good)}.sidebar-finding-form .finding-source-badge{align-self:flex-start;margin-bottom:var(--space-8)}.finding-form{display:flex;flex-direction:column;gap:var(--space-16)}.finding-form-row{display:flex;gap:var(--space-12)}.finding-form-row>*{flex:1}.finding-form-actions{display:flex;gap:var(--space-8);margin-top:var(--space-16);padding-top:var(--space-12);border-top:1px solid var(--border)}.finding-form-actions button{padding:var(--space-10) var(--space-20);border-radius:var(--radius-md);font-size:var(--text-13);cursor:pointer;border:1px solid var(--border)}.finding-form-actions .btn-save{background:var(--accent);border-color:var(--accent);color:var(--text-primary);flex:1}.finding-form-actions .btn-save:hover{background:var(--accent-hover)}.finding-form-actions .btn-delete{background:transparent;border-color:var(--status-bad);color:var(--status-bad)}.finding-form-actions .btn-delete:hover{background:var(--status-bad-soft)}.finding-form-group{display:flex;flex-direction:column;gap:var(--space-6)}.finding-form-group label{font-size:var(--text-11);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.finding-form-group input,.finding-form-group select,.finding-form-group textarea{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);padding:var(--space-10) var(--space-12);font-size:var(--text-14)}.finding-form-group input:focus,.finding-form-group select:focus,.finding-form-group textarea:focus{outline:none;border-color:var(--border)}.finding-form-group textarea{min-height:80px;resize:vertical}.finding-form-group select option{background:var(--bg-surface);color:var(--text-secondary)}.finding-position-picker{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-8) var(--space-12);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg)}.position-coords{display:flex;gap:var(--space-12);font-family:monospace;font-size:var(--text-12);color:var(--text-muted)}.coord-label{color:var(--text-dim);margin-right:var(--space-2)}.btn-pick-position{margin-left:auto;padding:var(--space-6) var(--space-12);background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-12);cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:var(--space-6)}.btn-pick-position .pick-icon{width:14px;height:14px}.btn-pick-position:hover{background:var(--accent)}.btn-pick-position.active{background:var(--status-bad);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.finding-position-hint{font-size:var(--text-11);color:var(--text-dim);margin:var(--space-4) 0 0 0;font-style:italic}.finding-position-hint.picking{color:var(--status-bad)}.pick-confirm-popup{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-16) var(--space-20);box-shadow:0 8px 32px #00000080;z-index:10000;min-width:280px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pick-confirm-popup.hidden{display:none}.pick-confirm-header{font-size:var(--text-14);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-12);text-align:center}.pick-confirm-info{background:#0000004d;border-radius:var(--radius-lg);padding:var(--space-10) var(--space-12);margin-bottom:var(--space-12)}.pick-confirm-location{font-size:var(--text-13);color:var(--status-good);font-weight:500;margin-bottom:var(--space-4)}.pick-confirm-coords{font-size:var(--text-11);font-family:monospace;color:var(--text-dim)}.pick-confirm-actions{display:flex;gap:var(--space-8)}.pick-confirm-btn{flex:1;padding:var(--space-10) var(--space-12);border:none;border-radius:var(--radius-lg);font-size:var(--text-12);font-weight:500;cursor:pointer;transition:all .2s}.pick-confirm-btn.accept{background:var(--status-good);color:var(--text-primary)}.pick-confirm-btn.accept:hover{background:var(--status-good)}.pick-confirm-btn.repick{background:var(--accent);color:var(--text-primary)}.pick-confirm-btn.repick:hover{background:var(--accent)}.pick-confirm-btn.cancel{background:var(--bg-elevated);color:var(--text-secondary)}.pick-confirm-btn.cancel:hover{background:var(--bg-elevated);color:var(--text-primary)}.pick-confirm-btn.disabled,.pick-confirm-btn:disabled{background:var(--bg-surface);color:var(--text-dim);cursor:not-allowed}.pick-confirm-btn.disabled:hover,.pick-confirm-btn:disabled:hover{background:var(--bg-surface);color:var(--text-dim)}.model-context-menu{position:fixed;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);min-width:160px;z-index:10000;box-shadow:0 4px 12px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.context-menu-item:hover{background:var(--accent-glow);color:var(--text-primary)}.himp-grade-selector{display:flex;gap:var(--space-4)}.himp-grade-btn{flex:1;padding:var(--space-10) var(--space-4);border:2px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-hover);color:var(--text-dim);font-size:var(--text-14);font-weight:600;cursor:pointer;transition:all .2s}.himp-grade-btn:hover{border-color:var(--border);color:var(--text-secondary)}.himp-grade-btn.selected{color:var(--text-primary)}.himp-grade-btn[data-grade="0"].selected,.himp-grade-btn[data-grade="1"].selected,.himp-grade-btn[data-grade="2"].selected{background:var(--status-good-soft);border-color:var(--status-good);color:var(--status-good)}.himp-grade-btn[data-grade="3"].selected,.himp-grade-btn[data-grade="4"].selected{background:var(--status-warn-soft);border-color:var(--status-warn);color:var(--status-warn)}.himp-grade-btn[data-grade="5"].selected,.himp-grade-btn[data-grade="6"].selected{background:var(--status-bad-soft);border-color:var(--status-bad);color:var(--status-bad)}.himp-grade-labels{display:flex;justify-content:space-between;margin-top:var(--space-4);font-size:var(--text-10);color:var(--text-dim)}.himp-grade-labels span{text-transform:uppercase;letter-spacing:.3px}.himp-grade-labels .label-good{color:var(--status-good)}.himp-grade-labels .label-fair{color:var(--status-warn)}.himp-grade-labels .label-poor{color:var(--status-bad)}.finding-image-preview{border-top:1px solid var(--border);padding:var(--space-12);background:#0003}.finding-image-preview-label{font-size:var(--text-10);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-8)}.finding-image-placeholder{width:100%;aspect-ratio:4/3;background:var(--bg-hover);border:1px dashed var(--border);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:var(--text-12)}.finding-image-placeholder img{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-lg)}.finding-detail-content{text-align:left;padding:var(--space-8);display:flex;flex-direction:column;gap:var(--space-8)}.finding-detail-name{font-size:var(--text-13);font-weight:500;color:var(--text-primary)}.finding-detail-meta{display:flex;gap:var(--space-8);align-items:center}.finding-detail-desc{font-size:var(--text-11);color:var(--text-dim);line-height:1.4;flex:1;overflow:hidden;text-overflow:ellipsis}.finding-detail-inspector{font-size:var(--text-10);color:var(--text-dim)}.btn-edit-finding{background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);padding:var(--space-6) var(--space-12);font-size:var(--text-11);cursor:pointer;transition:all .2s;margin-top:auto}.btn-edit-finding:hover{background:var(--bg-active);color:var(--text-primary)}.finding-image-container{position:relative;width:100%;height:100%;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-surface)}.finding-preview-image{width:100%;height:100%;object-fit:contain}.image-count{position:absolute;bottom:6px;right:6px;background:#000000b3;color:var(--text-primary);font-size:var(--text-10);padding:var(--space-2) var(--space-6);border-radius:var(--radius-md)}.finding-gallery{position:relative}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:40px;background:#00000080;border:none;color:var(--text-primary);font-size:var(--text-18);cursor:pointer;z-index:2;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.finding-gallery:hover .gallery-nav{opacity:1}.gallery-prev{left:0;border-radius:0 var(--radius-md) var(--radius-md) 0}.gallery-next{right:0;border-radius:var(--radius-md) 0 0 var(--radius-md)}.gallery-nav:hover{background:#000000b3}.finding-no-image{width:100%;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-6);background:var(--bg-hover);border-radius:var(--radius-lg);color:var(--text-faint);font-size:var(--text-11)}.no-image-icon{font-size:var(--text-20);opacity:.5}.finding-image-upload{position:relative}.finding-image-buttons{display:flex;gap:var(--space-8)}.finding-image-dropzone{flex:1;height:60px;border:2px dashed var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);cursor:pointer;transition:all .2s;background:var(--bg-hover)}.finding-image-dropzone:hover{border-color:var(--border);background:var(--bg-hover)}.finding-image-dropzone:hover .dropzone-icon,.finding-image-dropzone:hover .dropzone-text{color:var(--text-primary)}.finding-image-dropzone.drag-over{border-color:var(--status-bad);background:var(--accent-soft)}.finding-image-dropzone .dropzone-icon{width:20px;height:20px;color:var(--text-muted)}.finding-image-dropzone .dropzone-icon svg{width:100%;height:100%}.finding-image-dropzone .dropzone-text{font-size:var(--text-11);color:var(--text-muted)}.finding-image-preview-thumb{position:relative;width:100%;height:120px;border-radius:var(--radius-lg);overflow:hidden}.finding-image-preview-thumb img{width:100%;height:100%;object-fit:cover}.remove-image-btn{position:absolute;top:6px;right:6px;width:24px;height:24px;border-radius:var(--radius-circle);border:none;background:#000000b3;color:var(--text-primary);font-size:var(--text-16);cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-image-btn:hover{background:var(--status-bad)}.btn-choose-from-images{flex:1;height:60px;padding:var(--space-8) var(--space-12);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-muted);font-size:var(--text-11);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);transition:all .2s}.btn-choose-from-images:hover{background:var(--bg-active);border-color:var(--border);color:var(--text-primary)}.btn-choose-from-images .btn-icon{width:20px;height:20px;color:currentColor}.add-finding-btn{margin:var(--space-16);padding:var(--space-12);background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:var(--radius-lg);color:var(--status-bad);font-size:var(--text-14);cursor:pointer;transition:background .2s}.add-finding-btn:hover{background:var(--accent-glow)}.finding-categories{display:flex;flex-wrap:wrap;gap:var(--space-8);padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--border)}.category-tab{padding:var(--space-6) var(--space-12);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-dim);font-size:var(--text-12);cursor:pointer;transition:all .2s}.category-tab:hover{background:var(--bg-active);color:var(--text-primary)}.category-tab.active{background:var(--accent-glow);border-color:var(--accent-glow);color:var(--text-primary)}.findings-actions{display:flex;gap:var(--space-8);padding:var(--space-12) var(--space-16);border-top:1px solid var(--border)}.findings-actions button{flex:1;padding:var(--space-10);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-12);cursor:pointer;transition:all .2s}.findings-actions button:hover{background:var(--bg-active)}.findings-actions button.primary{background:var(--accent-soft);border-color:var(--accent-glow);color:var(--status-bad)}.findings-actions button.primary:hover{background:var(--accent-glow)}.findings-scroll{flex:1;overflow-y:auto}.view-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8)}.view-mode-btn,.area-view-toggle-btn{padding:var(--space-10) var(--space-8);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-dim);font-size:var(--text-11);cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.view-mode-btn:hover,.area-view-toggle-btn:hover{background:var(--bg-active);color:var(--text-muted)}.view-mode-btn.active,.area-view-toggle-btn.active{background:var(--accent-soft);border-color:var(--accent-glow);color:var(--text-primary)}.view-mode-btn .icon,.area-view-toggle-btn .icon{width:20px;height:20px}.nav-controls{display:flex;flex-direction:column;gap:var(--space-12)}.nav-row{display:flex;gap:var(--space-8)}.nav-btn{flex:1;padding:var(--space-10) var(--space-8);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-12);cursor:pointer;transition:all .2s;text-align:center}.nav-btn:hover{background:var(--bg-active);color:var(--text-primary)}.nav-btn.active{background:var(--accent-soft);border-color:var(--accent-glow);color:var(--text-primary)}.nav-btn.primary{background:var(--accent-soft);border-color:var(--accent-glow)}.nav-btn.primary:hover{background:var(--accent-soft)}.nav-section-label{font-size:var(--text-11);color:var(--text-dim);text-transform:uppercase;margin-bottom:var(--space-4)}.nav-preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}.nav-preset-btn{padding:var(--space-8) var(--space-4);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);font-size:var(--text-10);cursor:pointer;transition:all .2s}.nav-preset-btn:hover{background:var(--bg-active);color:var(--text-primary)}.nav-tools{display:flex;gap:var(--space-6);flex-wrap:wrap;justify-content:center}.nav-tool-btn{padding:var(--space-8) var(--space-12);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-dim);font-size:var(--text-11);cursor:pointer;transition:all .2s}.nav-tool-btn:hover{background:var(--bg-active);color:var(--text-primary)}.nav-tool-btn.active{background:var(--accent-soft);border-color:var(--accent-glow);color:var(--status-warn)}.nav-hint{font-size:var(--text-10);color:var(--text-faint);margin-top:var(--space-8);line-height:1.4}.cross-section-controls{margin-top:var(--space-8);padding:var(--space-10);background:var(--bg-hover);border-radius:var(--radius-lg);display:none}.cross-section-hint{font-size:var(--text-11);color:var(--text-dim);margin-bottom:var(--space-10);line-height:1.4;text-align:center}.display-controls{padding:var(--space-4) 0}.display-section{margin-bottom:var(--space-12)}.display-section-title{font-size:var(--text-11);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-10);padding-bottom:var(--space-4);border-bottom:1px solid var(--border)}.display-row{display:flex;align-items:center;gap:var(--space-8);margin-bottom:var(--space-8)}.display-row label{flex:0 0 100px;font-size:var(--text-12);color:var(--text-muted)}.display-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:var(--bg-surface);border-radius:var(--radius-xs);outline:none}.display-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--accent);border-radius:var(--radius-circle);cursor:pointer}.display-row input[type=range]::-webkit-slider-thumb:hover{background:var(--accent)}.display-row.checkbox-row{margin-top:var(--space-10)}.display-row.checkbox-row label{flex:1;display:flex;align-items:center;gap:var(--space-8);cursor:pointer}.display-row input[type=checkbox]{width:14px;height:14px;accent-color:var(--accent)}.display-hint{font-size:var(--text-11);color:var(--text-dim);font-style:italic;padding:var(--space-8) 0}.reset-defaults-btn{width:100%;padding:var(--space-8) var(--space-12);margin-top:var(--space-12);background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);font-size:var(--text-11);cursor:pointer;transition:all .2s}.reset-defaults-btn:hover{background:var(--bg-hover);border-color:var(--border);color:var(--text-muted)}.display-preset-row{display:flex;flex-direction:column;gap:var(--space-4)}.display-preset-btn{position:relative;display:flex;align-items:center;justify-content:space-between;padding:var(--space-8) var(--space-12);background:var(--bg-hover);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-12);font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;text-align:left}.display-preset-btn:hover,.display-preset-btn.active{background:var(--accent-soft);border-color:var(--accent);color:var(--text-primary)}.display-preset-btn .preset-name{line-height:1.2}.display-preset-btn .preset-edit-icon{width:18px;height:18px;display:flex;align-items:center;justify-content:center;color:var(--text-dim);border-radius:var(--radius-sm);opacity:0;transition:opacity .15s,color .15s,background .15s;flex-shrink:0}.display-preset-btn:hover .preset-edit-icon:not(.disabled),.display-preset-btn.active .preset-edit-icon:not(.disabled){opacity:1}.display-preset-btn .preset-edit-icon:not(.disabled):hover{color:var(--text-primary);background:var(--bg-active)}.display-preset-btn .preset-edit-icon.disabled{cursor:not-allowed;opacity:0}#presetEditModal .modal-body{max-height:70vh;overflow-y:auto}#presetEditModal .preset-edit-name{color:var(--accent);font-weight:500}#presetEditModal .display-row label{flex:0 0 130px}#presetEditModal .modal-footer{display:flex;align-items:center;gap:var(--space-8)}.box-zoom-overlay{position:fixed;border:2px dashed var(--accent);background:var(--accent-soft);pointer-events:none;z-index:9999;display:none}.sidebar-header{padding:var(--space-16);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.sidebar-header h1{font-size:var(--text-18);font-weight:600}.home-icon-btn{background:var(--bg-active);border:none;border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-20);width:36px;height:36px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.home-icon-btn:hover{background:var(--bg-active);color:var(--text-primary)}.home-icon-btn.hidden{display:none}.left-toggle-btns{position:fixed;top:16px;left:16px;display:flex;flex-direction:column;gap:var(--space-4);z-index:999;transition:left .3s ease}.left-toggle-btns.sidebar-open{left:296px}.toggle-btn-left{width:36px;height:36px;background:var(--bg-elevated);border:1px solid var(--border-strong);border-radius:var(--radius-lg);color:var(--text-dim);font-size:var(--text-14);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.toggle-btn-left:hover{opacity:1;color:var(--text-primary)}.toggle-btn-left.active{width:44px;height:44px;color:var(--text-primary);opacity:1}.toggle-btn-left svg{width:16px;height:16px;transition:all .2s ease}.toggle-btn-left.active svg{width:20px;height:20px}.toggle-btn-left.nav-btn.active,.toggle-btn-left.details-btn.active{background:var(--accent);border-color:var(--accent-glow)}.toggle-btn-left.findings-btn{background:var(--accent);border-color:var(--accent-glow);color:var(--text-primary);opacity:.8}.toggle-btn-left.findings-btn.active{background:var(--accent);border-color:var(--accent-glow);opacity:1}.toggle-btn-left.ut-btn{display:flex;align-items:center;justify-content:center}.toggle-btn-left.ut-btn svg{width:16px;height:16px;transition:all .2s ease}.toggle-btn-left.ut-btn.active svg{width:20px;height:20px}.toggle-btn-left.ut-btn.active{background:var(--accent);border-color:var(--accent-glow)}.toggle-btn-left.measure-btn.active{background:var(--status-good);border-color:var(--status-good-soft)}.sidebar-content-details{flex:1;overflow:hidden!important;display:flex;flex-direction:column;min-height:0}.sidebar-content-details.hidden{display:none}.sidebar-details-header{padding:var(--space-12) var(--space-16);background:#0000004d;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.sidebar-details-header h2{margin:0;font-size:var(--text-14);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-8)}.sidebar-details-header h2 svg{width:16px;height:16px;opacity:.7}.finding-details-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-dim);gap:var(--space-16);padding:var(--space-40) var(--space-24);text-align:center}.finding-details-placeholder .placeholder-icon{width:64px;height:64px;border-radius:var(--radius-circle);background:var(--accent-soft);display:flex;align-items:center;justify-content:center}.finding-details-placeholder .placeholder-icon svg{width:32px;height:32px;color:var(--accent);opacity:.6}.finding-details-placeholder .placeholder-text{font-size:var(--text-13);line-height:1.5;max-width:200px}.finding-details-placeholder .placeholder-text strong{display:block;font-size:var(--text-14);color:var(--text-muted);margin-bottom:var(--space-4);font-style:normal}.finding-details-placeholder .placeholder-hint{font-size:var(--text-11);color:var(--text-dim);font-style:italic}.finding-details-placeholder .btn-new-finding{margin-top:var(--space-8);padding:var(--space-10) var(--space-20);background:var(--accent);border:none;border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-13);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:var(--space-6);transition:background .2s}.finding-details-placeholder .btn-new-finding:hover{background:var(--accent-hover)}.finding-details-placeholder .btn-new-finding svg{width:16px;height:16px}.sidebar-details-body{flex:1;overflow-y:auto;padding:var(--space-12);min-height:0}.finding-details-panel{display:flex;flex-direction:column;gap:var(--space-12)}.sidebar-finding-form .finding-form-group{margin-bottom:var(--space-12)}.sidebar-finding-form .finding-form-group label{display:block;font-size:var(--text-11);color:var(--text-dim);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.5px}.sidebar-finding-form .finding-form-group input,.sidebar-finding-form .finding-form-group select,.sidebar-finding-form .finding-form-group textarea{width:100%;padding:var(--space-8) var(--space-10);background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-13)}.sidebar-finding-form .finding-form-group input:focus,.sidebar-finding-form .finding-form-group select:focus,.sidebar-finding-form .finding-form-group textarea:focus{outline:none;border-color:var(--accent)}.sidebar-finding-form .finding-form-group textarea{min-height:60px;resize:vertical}.sidebar-finding-form .finding-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10)}.sidebar-finding-form .himp-grade-selector{display:flex;gap:var(--space-4)}.sidebar-finding-form .himp-grade-btn{flex:1;padding:var(--space-6) 0;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);font-size:var(--text-12);cursor:pointer;transition:all .15s}.sidebar-finding-form .himp-grade-btn:hover{background:var(--bg-elevated);color:var(--text-primary)}.sidebar-finding-form .himp-grade-btn.selected{color:var(--text-primary);font-weight:700}.sidebar-finding-form .himp-grade-btn.selected[data-grade="0"],.sidebar-finding-form .himp-grade-btn.selected[data-grade="1"],.sidebar-finding-form .himp-grade-btn.selected[data-grade="2"]{background:var(--status-good);border-color:var(--status-good)}.sidebar-finding-form .himp-grade-btn.selected[data-grade="3"],.sidebar-finding-form .himp-grade-btn.selected[data-grade="4"]{background:var(--status-warn);border-color:var(--status-warn)}.sidebar-finding-form .himp-grade-btn.selected[data-grade="5"],.sidebar-finding-form .himp-grade-btn.selected[data-grade="6"]{background:var(--status-bad);border-color:var(--status-bad)}.sidebar-finding-form .himp-grade-labels{display:flex;justify-content:space-between;margin-top:var(--space-4);font-size:var(--text-10)}.sidebar-finding-form .himp-grade-labels .label-good{color:var(--status-good)}.sidebar-finding-form .himp-grade-labels .label-fair{color:var(--status-warn)}.sidebar-finding-form .himp-grade-labels .label-poor{color:var(--status-bad)}.sidebar-finding-form .position-picker-row{display:flex;align-items:center;gap:var(--space-8)}.sidebar-finding-form .position-coords{flex:1;display:flex;gap:var(--space-8);font-size:var(--text-11);color:var(--text-dim);background:#0003;padding:var(--space-6) var(--space-8);border-radius:var(--radius-md)}.sidebar-finding-form .btn-pick-position{padding:var(--space-6) var(--space-10);background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:var(--radius-md);color:var(--accent);font-size:var(--text-11);cursor:pointer;display:flex;align-items:center;gap:var(--space-4)}.sidebar-finding-form .btn-pick-position:hover{background:var(--accent-glow)}.sidebar-finding-form .btn-pick-position.active{background:var(--accent);color:var(--text-primary)}.sidebar-finding-form .btn-pick-position svg{width:14px;height:14px}.sidebar-image-upload{display:flex;flex-direction:column;gap:var(--space-8)}.sidebar-image-buttons{display:flex;gap:var(--space-8)}.sidebar-image-dropzone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-8);background:#0003;border:1px dashed var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.sidebar-image-dropzone:hover,.sidebar-image-dropzone.drag-over{border-color:var(--accent);background:var(--accent-soft)}.sidebar-image-dropzone svg{width:20px;height:20px;color:var(--text-dim)}.sidebar-image-dropzone span{font-size:var(--text-11);color:var(--text-dim)}.sidebar-choose-images-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-12) var(--space-8);background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.sidebar-choose-images-btn:hover{background:var(--accent-soft);border-color:var(--accent-glow)}.sidebar-choose-images-btn svg{width:20px;height:20px;color:var(--accent)}.sidebar-choose-images-btn span{font-size:var(--text-11);color:var(--accent)}.sidebar-image-preview{position:relative;display:inline-block}.sidebar-image-preview img{max-width:100%;max-height:80px;border-radius:var(--radius-md);border:1px solid var(--border)}.sidebar-remove-image-btn{position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:var(--status-bad);border:none;border-radius:var(--radius-circle);color:var(--text-primary);font-size:var(--text-14);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.sidebar-remove-image-btn:hover{background:var(--status-bad)}.sidebar-image-thumbnails{display:flex;flex-wrap:wrap;gap:var(--space-6)}.sidebar-thumb-item{position:relative;width:60px;height:60px;border-radius:var(--radius-md);overflow:visible}.sidebar-thumb-item img{width:60px;height:60px;object-fit:cover;border-radius:var(--radius-md);border:1px solid var(--border)}.sidebar-thumb-remove{position:absolute;top:-5px;right:-5px;width:18px;height:18px;background:var(--status-bad);border:none;border-radius:var(--radius-circle);color:var(--text-primary);font-size:var(--text-12);line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}.sidebar-thumb-remove:hover{background:var(--status-bad)}.sidebar-image-count{font-size:var(--text-11);color:var(--text-dim);padding-top:var(--space-2)}.sidebar-details-footer{padding:var(--space-12);background:#0000004d;border-top:1px solid var(--border);display:flex;gap:var(--space-8);flex-shrink:0}.sidebar-details-footer.hidden{display:none}.sidebar-details-footer button{flex:1;padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);font-size:var(--text-12);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-6)}.sidebar-details-footer button svg{width:14px;height:14px}.sidebar-details-footer .btn-cancel{background:transparent;border:1px solid var(--border-strong);color:var(--text-primary)}.sidebar-details-footer .btn-cancel:hover{background:var(--bg-active);border-color:var(--accent)}.sidebar-details-footer .btn-save{background:var(--accent);border:1px solid var(--accent);color:var(--text-primary)}.sidebar-details-footer .btn-save:hover{background:var(--accent-hover)}.sidebar-details-footer .btn-delete{background:transparent;border:1px solid var(--status-bad);color:var(--status-bad);flex:0 0 auto;padding:var(--space-8) var(--space-12);display:flex;align-items:center;gap:var(--space-6);font-size:var(--text-13)}.sidebar-details-footer .btn-delete:hover{background:var(--status-bad-soft)}.sidebar-details-footer .btn-delete svg{width:16px;height:16px}.sidebar-content-measure{flex:1;display:flex;flex-direction:column;overflow:hidden}.sidebar-content-measure.hidden{display:none}.sidebar-measure-header{padding:var(--space-12) var(--space-16);background:#0000004d;border-bottom:1px solid var(--border)}.sidebar-measure-header h2{margin:0;font-size:var(--text-14);font-weight:600;color:var(--text-primary);display:flex;align-items:center;gap:var(--space-8)}.sidebar-measure-header h2 svg{width:16px;height:16px;opacity:.7}.sidebar-measure-body{flex:1;overflow-y:auto;padding:var(--space-12);display:flex;flex-direction:column;gap:var(--space-12)}.measure-tools{display:flex;gap:var(--space-8)}.measure-tool-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-6);padding:var(--space-12) var(--space-8);background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-dim);cursor:pointer;transition:all .2s}.measure-tool-btn:hover{background:var(--bg-elevated);color:var(--text-muted)}.measure-tool-btn.active{background:var(--accent-soft);border-color:var(--accent-glow);color:var(--accent)}.measure-tool-btn svg{width:24px;height:24px}.measure-tool-btn span{font-size:var(--text-11)}.measure-instructions{padding:var(--space-10) var(--space-12);background:var(--status-good-soft);border:1px solid var(--status-good-soft);border-radius:var(--radius-md);font-size:var(--text-12);color:var(--status-good)}.measure-instructions p{margin:0}.measure-results{padding:var(--space-12);background:#0003;border-radius:var(--radius-lg)}.measure-result-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-8) 0;border-bottom:1px solid var(--border-subtle)}.measure-result-item:last-child{border-bottom:none}.measure-result-item .result-label{font-size:var(--text-12);color:var(--text-dim)}.measure-result-item .result-value{font-size:var(--text-16);font-weight:600;color:var(--status-good);font-family:SF Mono,Monaco,monospace}.measure-result-item.area-result .result-value{color:var(--accent)}.measure-points-list{display:flex;flex-direction:column;gap:var(--space-4);max-height:150px;overflow-y:auto}.measure-point-item{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-8);background:#0003;border-radius:var(--radius-md);font-size:var(--text-11);color:var(--text-dim)}.measure-point-item .point-number{width:18px;height:18px;border-radius:var(--radius-circle);background:var(--status-good);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-10);font-weight:700}.measure-point-item .point-distance{margin-left:auto;color:var(--status-good);font-family:SF Mono,Monaco,monospace}.sidebar-measure-footer{padding:var(--space-12);background:#0000004d;border-top:1px solid var(--border);display:flex;gap:var(--space-8)}.sidebar-measure-footer button{flex:1;padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);font-size:var(--text-12);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-6);transition:all .2s}.sidebar-measure-footer button svg{width:14px;height:14px}.btn-measure-save{background:var(--status-good-soft);border:1px solid var(--status-good-soft);color:var(--status-good)}.btn-measure-save:hover:not(:disabled){background:var(--status-good-soft)}.btn-measure-save:disabled{opacity:.4;cursor:not-allowed}.btn-measure-clear{background:var(--accent-soft);border:1px solid var(--accent-glow);color:var(--status-bad)}.btn-measure-clear:hover{background:var(--accent-glow)}.btn-measure-undo{background:var(--bg-elevated);border:1px solid var(--border);color:var(--text-secondary)}.btn-measure-undo:hover{background:var(--bg-elevated)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-12);display:flex;flex-direction:column}#findingsFooter{flex:0 0 auto!important;padding:var(--space-8) var(--space-12)!important;border-top:1px solid var(--border);display:flex!important;flex-direction:row!important;gap:var(--space-6)!important;background:#0000004d;margin-top:auto}#findingsFooter button{flex:1;padding:var(--space-6) var(--space-8)!important;border-radius:var(--radius-md);font-size:var(--text-11)!important;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);transition:all .2s;white-space:nowrap}#findingsFooter .btn-icon{width:14px;height:14px}#findingsFooter button:disabled{opacity:.5;cursor:not-allowed}.sidebar-section{border-bottom:1px solid var(--border)}.section-header{width:100%;padding:var(--space-12) var(--space-16);background:none;border:none;color:var(--text-primary);font-size:var(--text-14);font-weight:500;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center}button.section-header:hover{background:var(--bg-hover)}button.section-header:after{content:"▼";font-size:var(--text-10);transition:transform .2s}button.section-header.collapsed:after{transform:rotate(-90deg)}div.section-header{cursor:default;font-weight:600;background:var(--bg-hover)}.section-body{padding:var(--space-8) var(--space-16) var(--space-16);color:var(--text-secondary);font-size:var(--text-13)}.section-body.collapsed{display:none}.asset-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-10) var(--space-12);margin:var(--space-4) 0;background:var(--bg-hover);border-radius:var(--radius-lg);cursor:pointer;transition:background .2s}.asset-item:hover{background:var(--bg-active)}.asset-name{font-weight:500}.asset-arrow{color:var(--text-dim)}.layer-row{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-6) 0;cursor:pointer}.layer-row input[type=checkbox]{width:16px;height:16px}.location-tree{padding:var(--space-4) 0}.location-group{margin-bottom:var(--space-2)}.location-header,.location-header-simple,.location-header-expandable{display:flex;align-items:center;width:100%;padding:var(--space-8) var(--space-8);background:var(--bg-hover);border:none;border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-13);font-weight:500;cursor:pointer;transition:background .2s;text-align:left}.location-header:hover,.location-header-simple:hover,.location-header-expandable:hover{background:var(--bg-active)}.location-header.expanded,.location-header-expandable.expanded{background:var(--accent-soft)}.location-toggle{font-size:var(--text-10);margin-right:var(--space-8);transition:transform .2s;color:var(--text-dim)}.location-header.expanded .location-toggle,.location-header-expandable.expanded .location-toggle{transform:rotate(90deg);color:var(--accent)}.location-name{flex:1}.location-header-simple .loc-checkbox{margin-right:0;margin-left:auto}.location-header-expandable .loc-checkbox{margin-right:0;margin-left:var(--space-8)}.location-children{padding:var(--space-8) var(--space-4);overflow:hidden;max-height:500px;transition:max-height .3s ease,opacity .2s}.location-children.collapsed{max-height:0;opacity:0;padding:0}.loc-checkbox{display:inline-block;width:16px;height:16px;border:2px solid var(--border);border-radius:var(--radius-circle);margin-right:var(--space-10);position:relative;transition:all .2s;flex-shrink:0}.loc-checkbox:hover{border-color:var(--border)}.loc-checkbox.checked{border-color:var(--accent);background:var(--accent-soft)}.loc-checkbox.checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:var(--accent);border-radius:var(--radius-circle)}.loc-checkbox.has-data{border-color:var(--accent)}.loc-checkbox.has-data:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:var(--accent);border-radius:var(--radius-circle);opacity:.5}.loc-checkbox.checked.has-data:after{opacity:1;width:8px;height:8px}.loc-checkbox.partial{border-color:var(--accent)}.loc-checkbox.partial:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:2px;background:var(--accent);border-radius:var(--radius-xs)}.ship-grid{position:relative;padding:var(--space-20) var(--space-24) var(--space-8) var(--space-24);min-height:100px}.grid-label{position:absolute;font-size:var(--text-10);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.grid-label-left{left:8px;top:50%;transform:translateY(-50%) rotate(-90deg)}.grid-label-right{right:8px;top:50%;transform:translateY(-50%) rotate(90deg)}.grid-label-top{top:4px;left:50%;transform:translate(-50%)}.grid-label-bottom{display:none}.grid-container{display:grid;gap:var(--space-2);background:var(--bg-hover);border-radius:var(--radius-md);padding:var(--space-4);box-sizing:border-box}.cargo-container{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,24px)}.ballast-grid{padding:var(--space-20) var(--space-32) var(--space-8) var(--space-24)}.ballast-container{grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(6,12px);width:100%;box-sizing:border-box}.ballast-container .grid-cell{min-width:16px}.ballast-container .ballast-rowP{grid-row:1 / 4}.ballast-container .ballast-rowS{grid-row:4 / 7}.ballast-container .ballast-dP{grid-row:1 / 3;grid-column:9}.ballast-container .ballast-dC{grid-row:3 / 5;grid-column:9}.ballast-container .ballast-dS{grid-row:5 / 7;grid-column:9}.ballast-numbers{padding:var(--space-2) var(--space-6) 0 var(--space-6)}.grid-cell{min-width:20px;min-height:20px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-xs);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.grid-cell:hover{background:var(--bg-active);border-color:var(--border-strong)}.grid-cell.selected{background:var(--accent-soft);border-color:var(--accent-glow)}.grid-cell .loc-checkbox{width:12px;height:12px;margin:0;border-width:1.5px}.grid-cell .loc-checkbox.checked:after{width:6px;height:6px}.grid-numbers{display:flex;justify-content:space-around;padding:var(--space-2) var(--space-4) 0;margin-top:var(--space-2)}.grid-numbers span{font-size:var(--text-10);color:var(--text-dim);text-align:center;flex:1}.slop-grid{min-height:100px;display:flex;justify-content:center}.slop-container{grid-template-columns:1fr;grid-template-rows:repeat(3,24px);width:28px}.slop-container .grid-cell{min-height:20px}.sub-locations-container{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--border)}.sub-locations-container:empty{display:none}.sub-locations-header{font-size:var(--text-11);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-8)}.sub-location-item{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-6) var(--space-8);margin:var(--space-2) 0;background:var(--bg-hover);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-12);color:var(--text-secondary);transition:background .2s,color .2s}.sub-location-item:hover{background:var(--bg-active);color:var(--text-primary)}.sub-location-item.selected{background:var(--accent-soft);color:var(--text-primary)}.sub-location-item .sub-loc-checkbox{width:14px;height:14px;border:1px solid var(--border-strong);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sub-location-item.selected .sub-loc-checkbox{background:var(--accent);border-color:var(--accent)}.sub-location-item.selected .sub-loc-checkbox:after{content:"✓";font-size:var(--text-10);color:var(--text-primary)}.sub-location-parent{font-size:var(--text-10);color:var(--text-dim);margin-left:auto}.back-btn,.home-btn{width:100%;padding:var(--space-12) var(--space-16);background:var(--bg-hover);border:none;color:var(--text-primary);font-size:var(--text-14);text-align:left;cursor:pointer;transition:background .2s}.back-btn:hover,.home-btn:hover{background:var(--bg-active)}.hint{color:var(--text-dim);font-size:var(--text-12);margin-bottom:var(--space-12)}.description{color:var(--text-dim);line-height:1.5}.view-toggle{position:fixed;top:16px;right:16px;display:flex;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;z-index:1000}.view-toggle button{padding:var(--space-10) var(--space-16);background:none;border:none;color:var(--text-dim);font-size:var(--text-13);cursor:pointer;transition:all .2s}.view-toggle button:hover{background:var(--bg-hover)}.view-toggle button.active{background:var(--bg-active);color:var(--text-primary)}.classic-view{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--bg-surface) 0%,var(--bg-surface) 100%);display:none;align-items:center;justify-content:center;padding:var(--space-40)}.classic-view.active{display:flex}.tiles-container{display:flex;gap:var(--space-24);flex-wrap:wrap;justify-content:center;max-width:1200px}.asset-tile{width:200px;height:240px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.asset-tile:hover{background:var(--bg-active);border-color:var(--border-strong)}.asset-tile.add-asset-tile{border-style:dashed;border-color:var(--status-good-soft)}.asset-tile.add-asset-tile:hover{background:var(--status-good-soft);border-color:var(--status-good-soft)}.asset-tile.add-asset-tile .tile-icon{background:var(--status-good-soft);color:var(--status-good);font-size:48px;font-weight:300}.asset-tile.add-asset-tile .tile-name{color:var(--status-good)}.tile-icon{width:80px;height:80px;background:var(--bg-active);border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-16);font-size:var(--text-32)}.tile-name{color:var(--text-primary);font-size:var(--text-16);font-weight:500;text-align:center}.tile-description{color:var(--text-dim);font-size:var(--text-12);margin-top:var(--space-8)}#cesiumContainer.hidden{display:none}.cesium-credit-logoContainer,.cesium-credit-textContainer,.cesium-viewer-bottom{display:none!important}body.left-sidebar-open #axisIndicator{left:340px}.branding{position:fixed;bottom:16px;right:calc(var(--right-panel-width, 0px) + 16px);color:#fff9;font-size:var(--text-14);font-weight:500;z-index:100;pointer-events:none;transition:right .3s ease}body.resizing-right-panel .branding{transition:none}.login-page{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--bg-page) 0%,var(--bg-surface) 50%,var(--bg-surface) 100%);display:flex;align-items:center;justify-content:center;z-index:10000}.login-page.hidden{display:none}.login-container{width:100%;max-width:400px;padding:var(--space-40)}.login-logo{text-align:center;margin-bottom:var(--space-32)}.login-logo img{max-width:150px;max-height:100px;width:auto;height:auto;object-fit:contain;margin-bottom:var(--space-16)}.login-logo h1{color:var(--text-primary);font-size:var(--text-24);font-weight:600;margin-bottom:var(--space-8)}.login-logo p{color:var(--text-dim);font-size:var(--text-14)}.login-box{background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-32)}.login-form{display:flex;flex-direction:column;gap:var(--space-20)}.form-group{display:flex;flex-direction:column;gap:var(--space-8)}.form-group label{color:var(--text-muted);font-size:var(--text-13);font-weight:500}.form-group input{padding:var(--space-12) var(--space-16);background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14);outline:none;transition:border-color .2s,background .2s}.form-group input:focus{border-color:var(--accent-glow);background:#0006}.form-group input::placeholder{color:var(--text-faint)}.login-btn{padding:var(--space-12) var(--space-24);background:var(--accent);border:none;border-radius:var(--radius-lg);color:var(--accent-text);font-size:var(--text-14);font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.login-btn:hover{background:var(--accent-hover)}.login-btn:active{transform:scale(.97)}.login-error{color:var(--status-bad);font-size:var(--text-13);text-align:center;padding:var(--space-12);background:var(--status-bad-soft);border-radius:var(--radius-lg);display:none}.login-error.visible{display:block}#shipOverview,#areaDetail{top:0}.ft-row td{padding:var(--space-6) var(--space-10)}.overview-tabs{display:flex;gap:0;border-bottom:1px solid var(--border);background:#0003}.overview-tab{padding:var(--space-10) var(--space-16);background:none;border:none;color:var(--text-dim);font-size:var(--text-13);font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:color .15s,border-color .15s,background .15s;display:inline-flex;align-items:center;gap:var(--space-8)}.overview-tab svg{width:16px;height:16px;flex-shrink:0;transition:transform .15s}.overview-tab:hover{color:var(--text-secondary)}.overview-tab.active{color:var(--text-primary)}.overview-tab.active svg{transform:scale(1.1)}.overview-tab-label{line-height:1}.overview-tab-findings:hover{color:var(--status-bad)}.overview-tab-findings.active{color:var(--text-primary);background:var(--accent-soft);border-bottom-color:var(--accent)}.overview-tab-ut:hover{color:var(--status-good)}.overview-tab-ut.active{color:var(--text-primary);background:var(--status-good-soft);border-bottom-color:var(--status-good)}.overview-tab-images:hover{color:var(--accent)}.overview-tab-images.active{color:var(--text-primary);background:var(--accent-soft);border-bottom-color:var(--accent)}.overview-tab-documents:hover{color:var(--status-warn)}.overview-tab-documents.active{color:var(--text-primary);background:var(--status-warn-soft);border-bottom-color:var(--status-warn)}.overview-tab-insights:hover{color:var(--text-secondary)}.overview-tab-insights.active{color:var(--text-primary);background:var(--panel-insights-soft);border-bottom-color:var(--panel-insights)}.overview-tab-content{flex:1;overflow-y:auto}.overview-tab-loading,.overview-tab-empty{padding:var(--space-40);text-align:center;color:var(--text-dim);font-size:var(--text-13)}.overview-docs-list{display:flex;flex-direction:column}.overview-doc-item{display:flex;align-items:center;gap:var(--space-10);padding:var(--space-10) var(--space-16);color:var(--text-secondary);text-decoration:none;border-bottom:1px solid var(--border-subtle);transition:background .15s;cursor:pointer}.overview-doc-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.overview-doc-item:hover{background:var(--bg-hover)}.overview-doc-icon{font-size:var(--text-18);flex-shrink:0}.overview-doc-name{flex:1;font-size:var(--text-13)}.overview-doc-meta{color:var(--text-dim);font-size:var(--text-11);white-space:nowrap}.overview-tab-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-8) var(--space-16);gap:var(--space-12);border-bottom:1px solid var(--border-subtle);background:#00000026}.overview-tab-search{padding:var(--space-4) var(--space-10);font-size:var(--text-12);background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-secondary);width:180px;outline:none}.overview-tab-search:focus{border-color:var(--accent)}.overview-docs-section{border-bottom:1px solid var(--border)}.overview-docs-section-title{font-size:var(--text-11);font-weight:600;text-transform:uppercase;color:var(--text-dim);padding:var(--space-10) var(--space-16) var(--space-4);margin:0;letter-spacing:.5px}.overview-docs-count{font-weight:400;color:var(--text-dim)}.overview-docs-area-banner{padding:var(--space-8) var(--space-16);background:var(--accent-soft);border-bottom:1px solid var(--accent-soft);font-size:var(--text-12);color:var(--text-secondary)}.overview-docs-area-banner strong{color:var(--status-warn)}.overview-docs-area-banner a{color:var(--status-warn);margin-left:var(--space-8)}.overview-docs-section-ship .overview-docs-section-title{color:var(--text-muted)}.overview-docs-section-area .overview-docs-section-title{color:var(--status-warn)}.overview-insights-area-banner{padding:var(--space-8) var(--space-16);background:var(--panel-insights-soft);border-bottom:1px solid var(--panel-insights-soft);font-size:var(--text-12);color:var(--text-secondary)}.overview-insights-area-banner.hidden{display:none}.overview-insights-area-banner strong{color:var(--panel-insights)}.overview-insights-area-banner a{color:var(--panel-insights);margin-left:var(--space-8)}.overview-images-filters{display:flex;gap:var(--space-8);align-items:center;flex-wrap:wrap}.overview-images-filters input.overview-tab-search{flex:1 1 220px;min-width:160px}.overview-images-filters select.overview-tab-search{flex:0 0 auto;min-width:130px}.overview-images-sections{padding:var(--space-4) 0 var(--space-16)}.overview-images-section{border-bottom:1px solid var(--border-subtle);padding-bottom:var(--space-12);margin-bottom:var(--space-8)}.overview-images-section-title{font-size:var(--text-11);font-weight:600;text-transform:uppercase;color:var(--text-muted);padding:var(--space-10) var(--space-16) var(--space-6);margin:0;letter-spacing:.5px;background:#0003;border-bottom:1px solid var(--border-subtle)}.overview-images-count{font-weight:400;color:var(--text-dim);margin-left:var(--space-4)}.overview-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-6);padding:var(--space-10) var(--space-12) 0}.overview-image-tile{position:relative;aspect-ratio:4 / 3;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:transform .15s,border-color .15s}.overview-image-tile:hover{transform:scale(1.03);border-color:var(--accent);z-index:1}.overview-image-tile img{width:100%;height:100%;object-fit:cover;display:block}.overview-insights-filter{padding:var(--space-4) var(--space-12);background:none;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);font-size:var(--text-12);cursor:pointer}.overview-insights-filter:hover{color:var(--text-secondary);border-color:var(--border-strong)}.overview-insights-filter.active{color:var(--text-primary);border-color:var(--accent);background:var(--accent-soft)}.cesium-navigation-help-button,.cesium-navigationHelpButton-wrapper{display:none!important}.area-3d-breadcrumb{position:fixed;top:6px;left:50%;transform:translate(-50%);z-index:50;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-8) var(--space-16);display:flex;align-items:center;gap:var(--space-6);font-size:var(--text-13);color:var(--text-secondary)}.area-3d-breadcrumb a{color:var(--accent);text-decoration:none}.area-3d-breadcrumb a:hover{text-decoration:underline}.area-3d-breadcrumb .breadcrumb-sep{color:var(--text-dim)}.login-2fa-hint{color:var(--text-muted);font-size:var(--text-13);margin-bottom:var(--space-12);text-align:center}.login-2fa-toggle{display:block;color:var(--accent);font-size:var(--text-12);text-decoration:none;margin-top:var(--space-8);text-align:center}.login-2fa-toggle:hover{color:var(--status-warn)}#tfaCode{text-align:center;font-size:var(--text-20);letter-spacing:6px;font-family:monospace}.sidebar-logo{max-width:40px;max-height:28px;width:auto;height:auto;object-fit:contain;margin-right:var(--space-10)}.sidebar-header-content{display:flex;align-items:center;min-width:0}.sidebar-footer{margin-top:auto;border-top:1px solid var(--border);border-bottom:none;padding:var(--space-12);display:flex;flex-direction:column;gap:0;flex:1}.sidebar-footer .upload-btn{margin:0 0 var(--space-12) 0;border-radius:var(--radius-lg);position:relative}.sidebar-footer .upload-btn:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:var(--bg-active)}.sidebar-footer .logout-btn{margin-top:auto}.logout-btn{width:100%;padding:var(--space-12) var(--space-16);background:var(--bg-hover);border:none;border-radius:var(--radius-lg);color:var(--text-dim);font-size:var(--text-13);cursor:pointer;transition:all .2s}.logout-btn:hover{background:var(--accent-soft);color:var(--status-bad)}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)}40%{transform:translate(10px)}60%{transform:translate(-10px)}80%{transform:translate(10px)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10001}.modal-overlay.hidden{display:none}.modal-container{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column}.modal-container.draggable-modal{position:absolute;margin:0}.modal-container.draggable-modal .draggable-header{cursor:move}.modal-container.draggable-modal.dragging{-webkit-user-select:none;user-select:none;opacity:.9}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--border)}.modal-header h2{color:var(--text-primary);font-size:var(--text-18);margin:0}.modal-close{background:none;border:none;color:var(--text-dim);font-size:var(--text-24);cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:var(--space-20);overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-12);padding:var(--space-16) var(--space-20);border-top:1px solid var(--border)}.modal-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 var(--space-20)}.modal-tab{background:none;border:none;color:var(--text-dim);padding:var(--space-12) var(--space-20);cursor:pointer;font-size:var(--text-14);border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.modal-tab:hover{color:var(--text-secondary)}.modal-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.data-manager-tab{display:block}.data-manager-tab.hidden{display:none}.layers-filters{display:flex;flex-wrap:wrap;gap:var(--space-8);margin-bottom:var(--space-12)}.filter-select{flex:1 1 calc(25% - 6px);min-width:120px;padding:var(--space-8) var(--space-10);background:var(--bg-active);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-13);cursor:pointer}.filter-select:hover{background:var(--bg-active)}.filter-select option,.filter-select optgroup{background:var(--bg-elevated);color:var(--text-primary)}.layers-list{max-height:360px;overflow-y:auto}.layer-item{display:flex;align-items:center;padding:var(--space-12) var(--space-16);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-8)}.layer-item:hover{background:var(--bg-hover)}.layer-icon{font-size:var(--text-20);margin-right:var(--space-12);opacity:.7}.layer-info{flex:1}.layer-name{color:var(--text-primary);font-size:var(--text-14);margin-bottom:var(--space-2)}.layer-type{color:var(--text-dim);font-size:var(--text-12);text-transform:capitalize}.layer-actions{display:flex;gap:var(--space-8)}.layer-action-btn{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-dim);padding:var(--space-6) var(--space-10);border-radius:var(--radius-md);font-size:var(--text-12);cursor:pointer;transition:all .2s}.layer-action-btn:hover{background:var(--bg-active);color:var(--text-primary)}.layer-action-btn.delete:hover{background:var(--status-bad-soft);border-color:var(--status-bad-soft);color:var(--status-bad)}.layer-location-select{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-secondary);padding:var(--space-6) var(--space-8);border-radius:var(--radius-md);font-size:var(--text-11);cursor:pointer;max-width:100px}.layer-location-select:hover{background:var(--bg-active);border-color:var(--border-strong)}.layer-location-select:focus{outline:none;border-color:var(--accent)}.layer-location-select option{background:var(--bg-surface);color:var(--text-secondary)}.layer-location-select optgroup{background:var(--bg-surface);color:var(--text-dim);font-weight:600}.layers-empty{text-align:center;color:var(--text-dim);padding:var(--space-40) var(--space-20)}.layers-empty-icon{font-size:48px;margin-bottom:var(--space-16);opacity:.5}.layers-empty-text{font-size:var(--text-14);margin-bottom:var(--space-16)}.layers-empty-hint{font-size:var(--text-12);color:var(--text-faint)}.pending-list{max-height:360px;overflow-y:auto}.pending-item{padding:var(--space-16);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:var(--space-10)}.pending-header{display:flex;align-items:center;gap:var(--space-12);margin-bottom:var(--space-8)}.pending-checkbox{flex-shrink:0}.pending-checkbox input{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}.pending-name{flex:1;color:var(--text-primary);font-size:var(--text-14);font-weight:500}.pending-status{font-size:var(--text-12);padding:var(--space-2) var(--space-8);border-radius:var(--radius-lg);background:var(--accent-soft);color:var(--accent)}.pending-status.validating{background:var(--accent-soft);color:var(--status-warn)}.pending-status.tiling{background:var(--accent-soft);color:var(--accent)}.pending-status.completed{background:var(--status-good-soft);color:var(--status-good)}.pending-status.failed{background:var(--status-bad-soft);color:var(--status-bad)}.pending-checks{display:flex;gap:var(--space-12);margin-bottom:var(--space-10);font-size:var(--text-12)}.pending-check{display:flex;align-items:center;gap:var(--space-4);color:var(--text-dim)}.pending-check.passed{color:var(--status-good)}.pending-check.failed{color:var(--status-bad)}.pending-check-icon{font-size:var(--text-14)}.pending-progress{margin-top:var(--space-8)}.pending-progress-bar{height:6px;background:var(--bg-active);border-radius:var(--radius-sm);overflow:hidden}.pending-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent));border-radius:var(--radius-sm);transition:width .3s ease}.pending-progress-text{display:flex;justify-content:space-between;margin-top:var(--space-6);font-size:var(--text-11);color:var(--text-dim)}.pending-empty{text-align:center;color:var(--text-dim);padding:var(--space-40) var(--space-20)}.pending-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid var(--border)}.pending-count{color:var(--text-dim);font-size:var(--text-13)}.pending-actions{display:flex;gap:var(--space-8)}.btn-small{padding:var(--space-4) var(--space-10);font-size:var(--text-12);border-radius:var(--radius-md);border:none;cursor:pointer;background:var(--bg-active);color:var(--text-secondary);transition:background var(--transition-fast) var(--ease-out),color var(--transition-fast) var(--ease-out)}.btn-small:hover{background:var(--accent);color:var(--text-primary)}.btn-small.btn-secondary{background:var(--bg-active);color:var(--text-secondary)}.btn-small.btn-secondary:hover{background:var(--bg-active)}.btn-small.btn-danger{background:var(--status-bad-soft);color:var(--status-bad)}.btn-small.btn-danger:hover{background:var(--status-bad-soft)}.upload-section{margin-bottom:var(--space-16)}.upload-section-label{display:block;color:var(--text-dim);font-size:var(--text-12);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-8)}.upload-type-grid.compact{grid-template-columns:repeat(6,1fr);gap:var(--space-8)}.upload-type-grid.compact .upload-type-btn{padding:var(--space-10) var(--space-6)}.upload-type-grid.compact .upload-type-icon{width:18px;height:18px;margin-bottom:var(--space-4)}.upload-type-grid.compact .upload-type-name{font-size:var(--text-10)}.upload-progress-section{margin-top:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--border)}.upload-progress-section.hidden{display:none}.upload-step{display:block}.upload-step.hidden{display:none}.upload-step h3{color:var(--text-primary);font-size:var(--text-16);margin:0 0 var(--space-16) 0}.upload-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12)}.upload-type-btn{padding:var(--space-16) var(--space-8);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:all .2s;text-align:center}.upload-type-btn:hover{background:var(--bg-active);border-color:var(--accent-glow)}.upload-type-btn.selected{background:var(--accent-soft);border-color:var(--accent-glow);color:var(--text-primary)}.upload-type-icon{width:24px;height:24px;margin-bottom:var(--space-8);color:currentColor}.upload-type-name{font-size:var(--text-11);line-height:1.3}.upload-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-40) var(--space-20);text-align:center;cursor:pointer;transition:all .2s}.upload-dropzone:hover,.upload-dropzone.dragover{border-color:var(--accent-glow);background:var(--accent-soft)}.upload-dropzone.hidden{display:none}.upload-dropzone .dropzone-icon{width:32px;height:32px;margin-bottom:var(--space-12);color:var(--text-dim);opacity:.6}.dropzone-text{color:var(--text-secondary);margin-bottom:var(--space-8);font-size:var(--text-14)}.dropzone-hint{color:var(--text-dim);font-size:var(--text-12)}.selected-file{display:flex;align-items:center;justify-content:space-between;padding:var(--space-12) var(--space-16);background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14)}.selected-file.hidden{display:none}.selected-file button{background:none;border:none;color:var(--text-dim);font-size:var(--text-18);cursor:pointer;padding:0 var(--space-4)}.selected-file button:hover{color:var(--text-primary)}.upload-location-section{margin-top:var(--space-16);padding-top:var(--space-16);border-top:1px solid var(--border)}.upload-label{display:block;color:var(--text-secondary);font-size:var(--text-13);margin-bottom:var(--space-8)}.upload-select{width:100%;padding:var(--space-10) var(--space-12);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14);cursor:pointer}.upload-select:hover{border-color:var(--border-strong)}.upload-select:focus{outline:none;border-color:var(--accent)}.upload-select option,.upload-select optgroup{background:var(--bg-surface);color:var(--text-primary)}.upload-input{width:100%;padding:var(--space-10) var(--space-12);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14)}.upload-input:hover{border-color:var(--border-strong)}.upload-input:focus{outline:none;border-color:var(--accent)}.upload-hint{font-size:var(--text-11);color:var(--text-dim);margin-top:var(--space-6)}.survey-date-row{display:flex;gap:var(--space-8)}.survey-date-row .survey-select{flex:1}.btn-new-survey{background:var(--status-good-soft);border-color:var(--status-good-soft);color:var(--status-good)}.btn-new-survey:hover{background:var(--status-good-soft)}.new-survey-row{display:flex;gap:var(--space-8);margin-top:var(--space-8)}.new-survey-row .upload-input{flex:1}.upload-location-hint{color:var(--text-dim);font-size:var(--text-11);margin-top:var(--space-6)}.sub-location-row{display:flex;gap:var(--space-8);align-items:center}.sub-location-row .sub-location-select{flex:1}.add-sub-location-row{display:flex;align-items:center;margin-top:var(--space-8);gap:var(--space-8)}.sub-location-input-group{display:flex;flex:1}.sub-location-prefix{padding:var(--space-8) var(--space-4) var(--space-8) var(--space-12);background:var(--bg-active);border:1px solid var(--border);border-right:none;border-radius:var(--radius-lg) 0 0 var(--radius-lg);color:var(--accent);font-size:var(--text-14);font-weight:500;white-space:nowrap}.sub-location-input-group .upload-input{flex:1;padding:var(--space-8) var(--space-12) var(--space-8) var(--space-4);background:var(--bg-hover);border:1px solid var(--border);border-left:none;border-radius:0 var(--radius-lg) var(--radius-lg) 0;color:var(--text-primary);font-size:var(--text-14)}.add-sub-location-row .upload-input:focus{outline:none;border-color:var(--accent)}.btn-icon{width:32px;height:32px;padding:0;background:var(--bg-active);border:1px solid var(--border-strong);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-16);cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:var(--bg-active)}.btn-icon svg{width:14px;height:14px}.btn-icon.btn-confirm{background:var(--status-good-soft);border-color:var(--status-good-soft);color:var(--status-good)}.btn-icon.btn-confirm:hover{background:var(--status-good-soft)}.btn-icon.btn-cancel{background:var(--accent-glow);border-color:var(--accent-glow);color:var(--status-bad)}.btn-icon.btn-cancel:hover{background:var(--accent-glow)}.upload-progress{margin-bottom:var(--space-16)}.progress-bar{height:8px;background:var(--bg-active);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-8)}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent));width:0%;transition:width .3s}.progress-text{text-align:center;color:var(--text-dim);font-size:var(--text-13)}.upload-status{text-align:center;color:var(--text-secondary);font-size:var(--text-14);margin-top:var(--space-12)}.job-toast{position:fixed;bottom:20px;right:20px;width:320px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:1001;box-shadow:0 4px 20px #00000080}.job-toast.hidden{display:none}.job-toast-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--border);color:var(--text-primary);font-size:var(--text-14);font-weight:500}.job-toast-header button{background:none;border:none;color:var(--text-dim);font-size:var(--text-18);cursor:pointer;padding:0}.job-toast-body{padding:var(--space-16)}.job-progress-bar{height:6px;background:var(--bg-active);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--space-8)}.job-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent));width:0%;transition:width .5s}.job-progress-fill.indeterminate{width:30%!important;animation:indeterminate 1.5s ease-in-out infinite}@keyframes indeterminate{0%{transform:translate(-100%)}to{transform:translate(400%)}}.job-progress-percent{font-size:var(--text-24);font-weight:600;color:var(--text-primary);text-align:center;margin:var(--space-12) 0 var(--space-8)}.job-status-message{font-size:var(--text-13);color:var(--text-dim);text-align:center;min-height:18px}.job-status-message.error{color:var(--status-bad)}.job-status-message.success{color:var(--status-good)}.job-progress-text{color:var(--text-dim);font-size:var(--text-12);text-align:center}.btn-primary{width:100%;padding:var(--space-10) var(--space-20);background:var(--accent);border:none;border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14);font-weight:500;cursor:pointer;transition:background var(--transition-fast) var(--ease-out);display:inline-flex;align-items:center;gap:var(--space-6)}.btn-primary .btn-icon{width:16px;height:16px}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:var(--space-10) var(--space-20);background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14);cursor:pointer;transition:background var(--transition-fast) var(--ease-out),border-color var(--transition-fast) var(--ease-out);display:inline-flex;align-items:center;gap:var(--space-6)}.btn-secondary .btn-icon{width:16px;height:16px}.btn-secondary:hover{background:var(--bg-active);border-color:var(--accent)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.upload-btn{width:100%;padding:var(--space-12) var(--space-16);background:var(--accent);border:none;border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14);font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:var(--space-8);transition:background var(--transition-fast) var(--ease-out)}.upload-btn:hover{background:var(--accent-hover)}.upload-icon{font-size:var(--text-16)}.new-asset-btn{width:100%;padding:var(--space-10) var(--space-16);background:var(--status-good-soft);border:1px solid var(--status-good-soft);border-radius:var(--radius-lg);color:var(--status-good);font-size:var(--text-13);cursor:pointer;margin-bottom:var(--space-8);transition:all .2s}.new-asset-btn:hover{background:var(--status-good-soft)}.asset-buttons{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--border)}.manage-assets-btn{width:100%;padding:var(--space-10) var(--space-16);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-muted);font-size:var(--text-13);cursor:pointer;margin-bottom:var(--space-12);transition:all .2s}.manage-assets-btn:hover{background:var(--bg-active);color:var(--text-primary)}.asset-item-row{display:flex;align-items:center;gap:var(--space-8);margin:var(--space-4) 0}.asset-item-row .asset-item{flex:1;margin:0}.asset-actions{display:flex;gap:var(--space-4)}.asset-action-btn{width:32px;height:32px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-dim);font-size:var(--text-14);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.asset-action-btn:hover{background:var(--bg-active);color:var(--text-primary)}.asset-action-btn.delete:hover{background:var(--status-bad-soft);border-color:var(--status-bad-soft);color:var(--status-bad)}.modal-form{display:flex;flex-direction:column;gap:var(--space-16)}.modal-form .form-group{display:flex;flex-direction:column;gap:var(--space-6)}.modal-form label{color:var(--text-muted);font-size:var(--text-13)}.modal-form input,.modal-form textarea{padding:var(--space-12);background:#0000004d;border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14);outline:none}.modal-form input:focus,.modal-form textarea:focus{border-color:var(--accent-glow)}.modal-form textarea{min-height:80px;resize:vertical}.finding-options-section{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--border)}.finding-upload-info{background:var(--bg-hover);border-radius:var(--radius-lg);padding:var(--space-12);font-size:var(--text-12);color:var(--text-secondary)}.finding-upload-info p{margin:0 0 var(--space-8) 0}.finding-zip-structure{background:#0000004d;border-radius:var(--radius-md);padding:var(--space-8) var(--space-12);font-family:monospace;font-size:var(--text-11);color:var(--accent);margin:0;white-space:pre;overflow-x:auto}.mesh-photogrammetry-section{margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--border)}.photogrammetry-toggle{display:flex;align-items:center;gap:var(--space-10);cursor:pointer;color:var(--text-secondary);font-size:var(--text-14)}.photogrammetry-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.photogrammetry-fields{margin-top:var(--space-12)}.photogrammetry-dropzone-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin-bottom:var(--space-16)}.photogrammetry-dropzone-grid.single-col{grid-template-columns:1fr}.photogrammetry-dropzone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-20) var(--space-12);text-align:center;cursor:pointer;transition:all .2s;min-height:100px;display:flex;flex-direction:column;justify-content:center;align-items:center}.photogrammetry-dropzone:hover,.photogrammetry-dropzone.dragover{border-color:var(--accent-glow);background:var(--accent-soft)}.photogrammetry-dropzone.has-file{border-color:var(--status-good-soft);background:var(--status-good-soft)}.photogrammetry-dropzone.required{border-color:var(--accent-glow)}.photogrammetry-dropzone.required.has-file{border-color:var(--status-good-soft)}.photogrammetry-dropzone-icon{width:20px;height:20px;margin-bottom:var(--space-6);color:var(--text-dim);opacity:.6}.photogrammetry-dropzone-label{font-size:var(--text-12);color:var(--text-muted);margin-bottom:var(--space-4)}.photogrammetry-dropzone-hint{font-size:var(--text-10);color:var(--text-dim)}.photogrammetry-dropzone-file{font-size:var(--text-11);color:var(--status-good);margin-top:var(--space-8);word-break:break-all;display:flex;align-items:center;gap:var(--space-6)}.photogrammetry-dropzone-file .clear-btn{background:none;border:none;color:var(--status-bad);cursor:pointer;font-size:var(--text-14);padding:0;line-height:1}.photogrammetry-dropzone-file .clear-btn:hover{color:var(--status-bad)}.photogrammetry-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin-bottom:var(--space-16)}.photogrammetry-options.single-col{grid-template-columns:1fr}.photogrammetry-option-group{display:flex;flex-direction:column;gap:var(--space-6)}.photogrammetry-option-group label{font-size:var(--text-11);color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.photogrammetry-resolution-row{display:flex;gap:var(--space-8)}.photogrammetry-resolution-row input{width:100%;padding:var(--space-8) var(--space-10);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-13)}.photogrammetry-resolution-row input:focus{outline:none;border-color:var(--accent-glow)}.photogrammetry-resolution-row input::placeholder{color:var(--text-dim)}.photogrammetry-layer-select{width:100%;padding:var(--space-10) var(--space-12);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-14);cursor:pointer}.photogrammetry-layer-select:focus{outline:none;border-color:var(--accent-glow)}.photogrammetry-layer-select option{background:var(--bg-surface);color:var(--text-primary)}.photogrammetry-xmp-warning{display:none;padding:var(--space-10) var(--space-12);background:var(--accent-soft);border:1px solid var(--accent-glow);border-radius:var(--radius-lg);color:var(--status-bad);font-size:var(--text-12);margin-bottom:var(--space-16)}.photogrammetry-xmp-warning.visible{display:block}.photogrammetry-validation{margin-top:var(--space-16);padding:var(--space-12);background:#0003;border-radius:var(--radius-lg);border:1px solid var(--border)}.photogrammetry-validation.hidden{display:none}.validation-header{font-size:var(--text-11);font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-10);padding-bottom:var(--space-6);border-bottom:1px solid var(--border)}.validation-item{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-6) 0;font-size:var(--text-12);color:var(--text-dim)}.validation-item.valid,.validation-item.valid .validation-icon{color:var(--status-good)}.validation-item.invalid,.validation-item.invalid .validation-icon{color:var(--status-bad)}.validation-item.validating,.validation-item.validating .validation-icon{color:var(--status-warn)}.validation-icon{font-size:var(--text-14);width:16px;text-align:center}.validation-label{color:var(--text-muted);min-width:100px}.validation-status{flex:1}#toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:var(--space-10);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-10);padding:var(--space-12) var(--space-16);background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:0 4px 20px #0006;color:var(--text-primary);font-size:var(--text-14);min-width:280px;max-width:420px;pointer-events:auto;transform:translate(120%);opacity:0;transition:transform .3s ease,opacity .3s ease;border-left:4px solid var(--border)}.toast-visible{transform:translate(0);opacity:1}.toast-hiding{transform:translate(120%);opacity:0}.toast-error{border-left-color:var(--status-bad);background:var(--bg-surface)}.toast-success{border-left-color:var(--status-good);background:var(--bg-surface)}.toast-warning{border-left-color:var(--status-warn);background:var(--bg-surface)}.toast-info{border-left-color:var(--accent);background:var(--bg-surface)}.toast-icon{font-size:var(--text-16);font-weight:700;width:20px;text-align:center}.toast-error .toast-icon{color:var(--status-bad)}.toast-success .toast-icon{color:var(--status-good)}.toast-warning .toast-icon{color:var(--status-warn)}.toast-info .toast-icon{color:var(--accent)}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;color:var(--text-dim);font-size:var(--text-18);cursor:pointer;padding:0 var(--space-4);line-height:1}.toast-close:hover{color:var(--text-primary)}#adminPage{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-surface);color:var(--text-secondary);overflow:auto;z-index:50}.admin-page-wrap{max-width:1100px;margin:0 auto;padding:var(--space-32) var(--space-40) 80px}.admin-page-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-16);padding-bottom:var(--space-16);margin-bottom:var(--space-24);border-bottom:1px solid var(--border);flex-wrap:wrap}.admin-page-header h1{font-size:var(--text-20);font-weight:600;margin:0}.admin-page-actions{display:flex;gap:var(--space-8)}.admin-back-link{color:var(--text-muted);text-decoration:none;font-size:var(--text-13);margin-right:var(--space-12)}.admin-back-link:hover{color:var(--status-warn)}.admin-page-body{padding:var(--space-8) 0}.admin-page-wrap .btn{display:inline-block;padding:var(--space-8) var(--space-12);background:var(--status-warn);color:var(--bg-page);border:none;border-radius:var(--radius-md);font-size:var(--text-13);font-weight:500;text-decoration:none;cursor:pointer}.admin-page-wrap .btn:hover{background:var(--status-bad)}.admin-page-wrap .hint{color:var(--text-dim);font-size:var(--text-13)}.admin-page-wrap .btn.btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border)}.admin-page-wrap .btn.btn-secondary:hover{background:var(--bg-surface)}.admin-page-wrap .btn.btn-danger{background:var(--status-bad);color:var(--text-primary)}.admin-page-wrap .btn.btn-danger:hover{background:var(--status-bad)}.admin-table{width:100%;border-collapse:collapse;font-size:var(--text-13)}.admin-table th,.admin-table td{text-align:left;padding:var(--space-10) var(--space-12);border-bottom:1px solid var(--bg-elevated)}.admin-table th{font-weight:600;color:var(--text-dim);text-transform:uppercase;font-size:var(--text-11);letter-spacing:.5px}.admin-table th.num,.admin-table td.num{text-align:right}.admin-table-row{cursor:pointer}.admin-table-row:hover{background:var(--bg-surface)}.admin-card{background:var(--bg-surface);border:1px solid var(--bg-elevated);border-radius:var(--radius-lg);padding:var(--space-20) var(--space-24);margin-bottom:var(--space-20)}.admin-card h2{font-size:var(--text-14);font-weight:600;margin:0 0 var(--space-12) 0;color:var(--text-secondary)}.admin-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-12);flex-wrap:wrap;gap:var(--space-12)}.admin-card-header h2{margin:0}.admin-card-actions{display:flex;gap:var(--space-8)}.admin-dl{display:grid;grid-template-columns:140px 1fr;gap:var(--space-8) var(--space-16);font-size:var(--text-13)}.admin-dl dt{color:var(--text-dim);font-weight:500}.admin-dl dd{color:var(--text-secondary);margin:0;word-break:break-word}.admin-form{max-width:600px;display:flex;flex-direction:column;gap:var(--space-16)}.admin-form label{display:flex;flex-direction:column;gap:var(--space-6);font-size:var(--text-12);color:var(--text-muted)}.admin-form label span{font-weight:500}.admin-form label em{color:var(--status-warn);font-style:normal}.admin-form input,.admin-form textarea{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-8) var(--space-10);color:var(--text-secondary);font-size:var(--text-13);font-family:inherit}.admin-form input:focus,.admin-form textarea:focus{outline:none;border-color:var(--status-warn)}.admin-form textarea{resize:vertical}.admin-form-actions{display:flex;gap:var(--space-8);justify-content:flex-end;margin-top:var(--space-8)}.admin-form select{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-8) var(--space-10);color:var(--text-secondary);font-size:var(--text-13);font-family:inherit}.admin-form select:focus{outline:none;border-color:var(--status-warn)}.admin-form-readonly{display:flex;flex-direction:column;gap:var(--space-6);font-size:var(--text-12);color:var(--text-muted)}.admin-form-readonly strong{color:var(--text-secondary);font-size:var(--text-13);font-weight:500}.admin-form-hint{font-size:var(--text-11);color:var(--text-dim);margin-top:var(--space-2)}.admin-status{display:inline-block;padding:var(--space-2) var(--space-8);border-radius:var(--radius-lg);font-size:var(--text-11);font-weight:600;text-transform:uppercase}.admin-status-active{background:var(--bg-surface);color:var(--status-good)}.admin-status-inactive{background:var(--bg-surface);color:var(--status-bad)}.admin-page-wrap .btn.btn-small{padding:var(--space-4) var(--space-10);font-size:var(--text-12)}.admin-assignment-list{display:flex;flex-direction:column;gap:var(--space-12)}.admin-assignment{background:var(--bg-surface);border:1px solid var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-12) var(--space-12)}.admin-assignment-main{display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);flex-wrap:wrap}.admin-assignment-name{font-weight:600;color:var(--text-secondary);font-size:var(--text-13)}.admin-assignment-toggles{display:flex;align-items:center;gap:var(--space-16)}.admin-toggle{display:inline-flex;align-items:center;gap:var(--space-6);font-size:var(--text-12);color:var(--text-muted);cursor:pointer}.admin-toggle input{accent-color:var(--status-warn);cursor:pointer}.admin-assignment-filters{margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px dashed var(--bg-elevated);font-size:var(--text-12);color:var(--text-dim)}.admin-filter-summary{color:var(--text-muted)}.admin-filter-summary strong{color:var(--text-secondary)}.admin-assign-picker{margin-top:var(--space-16);padding:var(--space-16);background:var(--bg-surface);border:1px solid var(--bg-elevated);border-radius:var(--radius-md)}.admin-assign-picker label{display:flex;flex-direction:column;gap:var(--space-6);font-size:var(--text-12);color:var(--text-muted);margin-bottom:var(--space-12)}.admin-assign-picker select{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-8) var(--space-10);color:var(--text-secondary);font-size:var(--text-13)}.ml-import-preview-data{font-size:var(--text-13);color:var(--text-secondary);display:flex;flex-direction:column;gap:var(--space-4);margin:var(--space-8) 0;padding:var(--space-10);background:var(--bg-surface);border-radius:var(--radius-md)}.admin-password-input{display:flex;gap:var(--space-6);align-items:stretch}.admin-password-input input{flex:1}.admin-password-toggle{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-12);font-size:var(--text-11);font-family:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.5px}.admin-password-toggle:hover{background:var(--bg-surface);color:var(--text-primary)}.admin-reset-form{margin-top:var(--space-16);padding:var(--space-16);background:var(--bg-surface);border:1px solid var(--bg-elevated);border-radius:var(--radius-md)}.admin-reset-form h3{font-size:var(--text-13);font-weight:600;color:var(--text-secondary);margin:0 0 var(--space-6) 0}.admin-reset-form .admin-form-hint{margin-bottom:var(--space-10)}.admin-reset-form .admin-password-input{max-width:400px}.admin-reset-form input{background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-8) var(--space-10);color:var(--text-secondary);font-size:var(--text-13);font-family:inherit}.admin-reset-form input:focus{outline:none;border-color:var(--status-warn)}.admin-reset-form .admin-form-actions{margin-top:var(--space-12)}.sidebar-details .sidebar-header h1,.sidebar-ut .sidebar-header h1,.sidebar-images .sidebar-header h1,.sidebar-documents .sidebar-header h1,.sidebar-insights .sidebar-header h1,.sidebar-details .sidebar-subheader,.sidebar-ut .sidebar-subheader,.sidebar-images .sidebar-subheader,.sidebar-documents .sidebar-subheader,.sidebar-insights .sidebar-subheader{color:var(--text-primary)}.right-toggle-btns{align-items:flex-end}.toggle-btn-right{color:var(--text-secondary)}.ft-grade-box{display:inline-block;min-width:20px;padding:1px var(--space-6);border-radius:var(--radius-sm);color:var(--accent-text);font-weight:600;font-size:var(--text-11);text-align:center}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible,.toggle-btn-right:focus-visible,.toggle-btn-left:focus-visible,th button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.model-context-menu{position:fixed;background:#1e1e1ef2;border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);min-width:160px;z-index:10000;box-shadow:0 4px 12px #0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.model-context-menu.hidden{display:none}.context-menu-item{display:flex;align-items:center;gap:var(--space-8);width:100%;padding:var(--space-8) var(--space-12);border:none;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);font-size:var(--text-13);cursor:pointer;text-align:left}.context-menu-item:hover{background:#dc50504d;color:var(--text-secondary)}.context-menu-icon{width:16px;height:16px;flex-shrink:0}.cross-section-controls{margin-top:var(--space-8);padding:var(--space-10);background:#ffffff08;border-radius:var(--radius-lg);display:none}.cross-section-controls.active{display:block}.cross-section-hint{font-size:var(--text-11);color:var(--text-muted);margin-bottom:var(--space-10);line-height:1.4;text-align:center}.cross-section-controls .nav-row{justify-content:center}.cross-section-controls .nav-btn{flex:0 0 auto}.box-zoom-overlay{position:fixed;border:2px dashed rgba(100,150,255,.8);background:#6496ff1a;pointer-events:none;z-index:9999;display:none}.crosshair-cursor{cursor:crosshair!important}#axisIndicator{position:fixed;bottom:20px;left:20px;width:80px;height:80px;z-index:100;pointer-events:none;display:none;transition:left .3s ease}body.left-sidebar-open #axisIndicator{left:300px}#axisIndicator svg{display:block}#axisIndicator text{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.form-select,.filter-select,.images-filter-select,.zoom-select,.upload-select,.survey-select,.sub-location-select,.layer-location-select,.photogrammetry-layer-select,.images-filter select,.schematic-filter select,.schematic-panel-row select,.document-location-filter select,.display-row select,.form-group select,.comparison-toolbar select,.comparison-findings-table th select,.insights-area-selector select,.findings-table th select,.finding-form-group select,.sidebar-finding-form .finding-form-group select,.admin-form select,.admin-assign-picker select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--text-13);padding:var(--space-8) var(--space-32) var(--space-8) var(--space-12);cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%238c99ad' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-12) center;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-select:focus,.filter-select:focus,.images-filter-select:focus,.zoom-select:focus,.upload-select:focus,.layer-location-select:focus,.photogrammetry-layer-select:focus,.images-filter select:focus,.schematic-filter select:focus,.document-location-filter select:focus,.display-row select:focus,.form-group select:focus,.comparison-toolbar select:focus,.comparison-findings-table th select:focus,.insights-area-selector select:focus,.findings-table th select:focus,.finding-form-group select:focus,.sidebar-finding-form .finding-form-group select:focus,.admin-form select:focus,.admin-assign-picker select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.form-input,.form-textarea,.upload-input,.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group input[type=password],.form-group input[type=date],.form-group textarea,.modal-form input[type=text],.modal-form input[type=number],.modal-form input[type=email],.modal-form input[type=password],.modal-form textarea,.finding-form-group input[type=text],.finding-form-group input[type=number],.finding-form-group textarea,.sidebar-finding-form .finding-form-group input,.sidebar-finding-form .finding-form-group textarea,.admin-form input[type=text],.admin-form input[type=number],.admin-form input[type=email],.admin-form input[type=password],.admin-form textarea{background-color:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-ui);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-textarea:focus,.upload-input:focus,.form-group input:focus,.form-group textarea:focus,.modal-form input:focus,.modal-form textarea:focus,.finding-form-group input:focus,.finding-form-group textarea:focus,.sidebar-finding-form .finding-form-group input:focus,.sidebar-finding-form .finding-form-group textarea:focus,.admin-form input:focus,.admin-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.btn-primary,.btn-save,.save-edit-btn,.lcs-btn-save,.btn-add-finding,.btn-add-comment,.upload-btn,.btn-use-image,.btn-use-image-at-point,.btn-new-finding{background:var(--accent);border:1px solid var(--accent);border-radius:var(--radius-md);color:var(--accent-text);font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.btn-primary:hover,.btn-save:hover,.save-edit-btn:hover,.lcs-btn-save:hover,.btn-add-finding:hover,.btn-add-comment:hover,.upload-btn:hover,.btn-use-image:hover,.btn-use-image-at-point:hover,.btn-new-finding:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-primary:active,.btn-save:active,.save-edit-btn:active,.lcs-btn-save:active,.btn-add-finding:active,.btn-add-comment:active,.upload-btn:active,.btn-use-image:active,.btn-use-image-at-point:active,.btn-new-finding:active{transform:scale(.97)}.btn-secondary,.btn-cancel,.lcs-btn-cancel{background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius-md);color:var(--text-primary);font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.btn-secondary:hover,.btn-cancel:hover,.lcs-btn-cancel:hover{background:var(--bg-active);border-color:var(--accent)}.btn-secondary:active,.btn-cancel:active,.lcs-btn-cancel:active{transform:scale(.97)}.btn-danger,.btn-delete,.lcs-btn-clear,.btn-measure-clear,.images-delete-btn{background:transparent;border:1px solid var(--status-bad);border-radius:var(--radius-md);color:var(--status-bad);font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast)}.btn-danger:hover,.btn-delete:hover,.lcs-btn-clear:hover,.btn-measure-clear:hover,.images-delete-btn:hover{background:var(--status-bad-soft)}.btn-danger:active,.btn-delete:active,.lcs-btn-clear:active,.btn-measure-clear:active,.images-delete-btn:active{transform:scale(.97)}
