.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}:root{--color-bg-primary: #1a1a1a;--color-bg-secondary: #2a2a2a;--color-bg-tertiary: #252525;--color-bg-hover: rgba(255, 255, 255, .05);--color-bg-active: rgba(255, 255, 255, .1);--color-text-primary: #fff;--color-text-secondary: #ccc;--color-text-muted: #aaa;--color-text-dim: #888;--color-text-faint: #666;--color-border: #333;--color-border-light: rgba(255, 255, 255, .1);--color-border-focus: #4a9eff;--color-accent-blue: #4a9eff;--color-accent-blue-hover: #5ab0ff;--color-accent-blue-dim: rgba(100, 150, 255, .3);--color-accent-red: #dc5050;--color-accent-red-hover: #e06060;--color-accent-red-dim: rgba(220, 80, 80, .3);--color-accent-green: #50b464;--color-accent-green-hover: #60c474;--color-accent-green-dim: rgba(80, 180, 100, .3);--color-accent-yellow: #f0c040;--color-accent-orange: #fa8c00;--color-grade-good: #8f8;--color-grade-good-bg: rgba(100, 200, 100, .2);--color-grade-fair: #ec0;--color-grade-fair-bg: rgba(200, 180, 80, .2);--color-grade-poor: #f66;--color-grade-poor-bg: rgba(220, 80, 80, .2);--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--sidebar-width: 280px;--sidebar-right-width: 320px;--header-height: 48px;--panel-max-height: 300px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "SF Mono", Monaco, Consolas, monospace;--font-size-xs: 10px;--font-size-sm: 11px;--font-size-md: 12px;--font-size-lg: 14px;--font-size-xl: 16px;--font-size-2xl: 20px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 20px rgba(0, 0, 0, .5);--shadow-xl: 0 8px 32px rgba(0, 0, 0, .6);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700}*{margin:0;padding:0;box-sizing:border-box}.hidden{display:none!important}html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#cesiumContainer{position:fixed;top:0;left:0;right:0;bottom:0;transition:bottom .3s ease}.sidebar{position:fixed;top:0;left:0;height:100%;width:280px;background:#141414f2;color:#fff;transform:translate(0);transition:transform .3s ease;z-index:1000;display:flex;flex-direction:column}.sidebar.collapsed{transform:translate(-280px)}.sidebar-right{position:fixed;top:0;right:0;height:100%;width:320px;min-width:280px;max-width:80vw;background:#141414f2;color:#fff;transform:translate(0);transition:transform .3s ease,width .2s ease;z-index:1000;display:flex;flex-direction:column}.sidebar-right.collapsed{transform:translate(100%)}.sidebar-right.resizing{transition:none}.sidebar-right.expanded{width:50vw}.sidebar-right .sidebar-header{background:#dc505026;border-bottom:1px solid rgba(220,80,80,.3)}.sidebar-right .sidebar-header h1{color:#f0a0a0}.sidebar-right .sidebar-header{display:flex;justify-content:space-between;align-items:center}.findings-actions-bar{padding:8px 12px;background:#0003;border-bottom:1px solid rgba(220,80,80,.2);display:flex;gap:8px}.btn-add-finding,.btn-view-table{background:#dc5050cc;border:1px solid rgba(220,80,80,.6);color:#fff;padding:6px 14px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .2s;flex:1;justify-content:center}.btn-add-finding:hover,.btn-view-table:hover{background:#dc5050;border-color:#dc5050cc}.btn-add-finding .btn-icon,.btn-view-table .btn-icon{width:14px;height:14px}.btn-view-table{background:#646464cc;border-color:#64646499}.btn-view-table:hover{background:#787878;border-color:#787878cc}.findings-table-panel{position:fixed;bottom:-320px;left:0;right:0;height:300px;background:#191919fa;border-top:2px solid rgba(220,80,80,.5);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 rgba(220,80,80,.5);border-radius:8px;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%,rgba(220,80,80,.5) 50%);border-radius:0 0 6px;pointer-events:none}.findings-table-panel.sidebar-collapsed{left:0}.findings-table-panel-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#dc505026;border-bottom:1px solid rgba(220,80,80,.3);cursor:move;-webkit-user-select:none;user-select:none}.findings-table-panel-header h2{margin:0;font-size:14px;color:#f0a0a0;font-weight:600}.findings-table-panel-controls{display:flex;gap:8px;align-items:center}.findings-table-panel-controls button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#aaa;width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all .2s}.findings-table-panel-controls button:hover{background:#fff3;color:#fff}.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:16px}.findings-table-panel-body{flex:1;overflow:auto;padding:12px}.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:#dc50501a;position:sticky;top:0;z-index:1}.findings-table-panel .findings-table tbody tr:hover{background:#dc50501a}.btn-small{padding:4px 10px;font-size:11px;background:#64646499;border:1px solid rgba(100,100,100,.4);color:#ccc;border-radius:3px;cursor:pointer;transition:all .2s}.btn-small:hover{background:#dc505099;border-color:#dc505066;color:#fff}.findings-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;color:#888;-webkit-user-select:none;user-select:none}.findings-toggle input[type=checkbox]{width:14px;height:14px;accent-color:#dc5050;cursor:pointer}.findings-toggle .toggle-label{opacity:.8}.findings-toggle:hover .toggle-label{opacity:1}.findings-header-controls{display:flex;align-items:center;gap:8px}.findings-marker-controls{display:flex;gap:4px;padding:6px 12px;background:#0003;border-bottom:1px solid rgba(220,80,80,.2)}.marker-control-btn{padding:3px 10px;font-size:11px;background:#50505080;border:1px solid #444;border-radius:4px;color:#aaa;cursor:pointer;transition:all .2s}.marker-control-btn:hover{background:#dc50504d;border-color:#dc505080;color:#fff}.right-toggle-btns{position:fixed;top:16px;right:16px;display:flex;flex-direction:column;gap:4px;z-index:999;transition:right .3s ease}.right-toggle-btns.sidebar-open{right:336px}.toggle-btn-right{width:36px;height:36px;background:#505050e6;border:1px solid rgba(100,100,100,.5);border-radius:8px;color:#888;font-size:14px;cursor:pointer;transition:all .2s ease}.toggle-btn-right:hover{opacity:1;color:#fff}.toggle-btn-right.active{width:44px;height:44px;font-size:18px;color:#fff;opacity:1}.toggle-btn-right.findings-btn{background:#dc5050e6;border-color:#dc505080;color:#fff;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:#50a0dce6;border-color:#50a0dc80;color:#fff}.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:#a08c50e6;border-color:#a08c5080;color:#fff}.sidebar-images{position:fixed;top:0;right:-320px;width:320px;min-width:280px;max-width:80vw;height:100%;background:#1a1a1a;border-left:1px solid #333;z-index:998;transition:right .3s ease,width .2s ease;display:flex;flex-direction:column}.sidebar-images.open{right:0}.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:#50a0dc80}.sidebar-resize-handle:after{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:2px;height:40px;background:#fff3;border-radius:1px}.sidebar-expand-btns{display:flex;gap:4px;margin-left:auto}.btn-sidebar-expand,.btn-sidebar-collapse{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#888;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:#fff3;color:#fff}.btn-sidebar-expand svg,.btn-sidebar-collapse svg{width:14px;height:14px}.btn-dock-sidebar{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#888;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}.btn-dock-sidebar:hover{background:#fff3;color:#fff}.btn-dock-sidebar svg{width:14px;height:14px}.sidebar-right.floating,.sidebar-images.floating,.sidebar-documents.floating{position:fixed;top:80px;right:80px;height:auto;max-height:80vh;min-height:300px;border-radius:8px;box-shadow:0 8px 32px #00000080;border:1px solid rgba(255,255,255,.1);transform:none!important;z-index:2000}.sidebar-right.floating{right:auto;left:50%;transform:translate(-50%)!important}.sidebar-images.floating,.sidebar-documents.floating{right:80px!important}.sidebar-right.floating .sidebar-header,.sidebar-images.floating .sidebar-header,.sidebar-documents.floating .sidebar-header{cursor:move}.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:#a0c0f0}.btn-popout-sidebar{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:4px;color:#888;width:28px;height:28px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-popout-sidebar:hover{background:#fff3;color:#fff}.btn-popout-sidebar svg{width:14px;height:14px}#imagesContent{overflow:hidden!important;display:flex!important;flex-direction:column!important;min-height:0}.images-filters{padding:8px 10px;border-bottom:1px solid #333;display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:wrap;background:#141414fa}.images-filter-select{flex:1 1 100px;min-width:100px;max-width:150px;background:#141923f2;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffe6;font-size:13px;font-weight:400;padding:10px 32px 10px 14px;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:#1e2332f2;border-color:#ffffff40}.images-filter-select:focus{outline:none;border-color:#ffffff59}.images-filter-select option{background:#1a1f2e;color:#fff;padding:10px}.thumb-size-selector{display:flex;gap:3px;flex-shrink:0;background:#00000080;border-radius:6px;padding:3px;border:1px solid rgba(255,255,255,.1)}.thumb-size-btn{width:32px;height:28px;padding:5px;margin:0;background:#ffffff14;border:none;border-radius:4px;color:#ccc;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:#fff3;color:#fff}.thumb-size-btn.active{background:#50a0dccc;color:#fff}.images-count{padding:6px 12px;font-size:11px;color:#888;border-bottom:1px solid #333;flex-shrink:0}.images-virtual-container{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px;width:100%;box-sizing:border-box}.images-virtual-content{display:grid!important;grid-template-columns:repeat(2,1fr);gap:8px;width:100%;box-sizing:border-box;padding:0;margin:0}.images-virtual-content.thumb-size-small{grid-template-columns:repeat(5,1fr)!important;gap:4px!important}.images-virtual-content.thumb-size-medium{grid-template-columns:repeat(2,1fr)!important;gap:8px!important}.images-virtual-content.thumb-size-large{grid-template-columns:1fr!important;gap:10px!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:#ffffff14;border:2px solid rgba(255,255,255,.15);border-radius:6px;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:#64b4ff99;transform:scale(1.05)}.image-thumb-virtual.selected{border-color:#4080ff;box-shadow:0 0 0 3px #4080ff66}.image-thumb-virtual img{width:100%;height:100%;object-fit:cover;border-radius:4px}.images-grid-container{flex:1;overflow-y:auto;padding:8px}.images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.image-thumb{aspect-ratio:1;background:#ffffff0d;border:2px solid transparent;border-radius:6px;overflow:hidden;cursor:pointer;transition:border-color .2s,transform .2s}.image-thumb:hover{border-color:#50a0dc80;transform:scale(1.02)}.image-thumb.selected{border-color:#4080ff}.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:#444;font-size:20px}.images-location-group{margin-bottom:12px}.images-location-header{font-size:11px;color:#888;padding:6px 4px;border-bottom:1px solid #333;margin-bottom:6px}.images-empty{padding:24px 16px;text-align:center;color:#666;display:none}.images-empty.visible{display:block}.images-instruction{padding:24px 16px;text-align:center;color:#888}.images-instruction .instruction-icon{font-size:32px;margin-bottom:12px}.images-instruction .instruction-text{font-size:13px;line-height:1.5}.images-instruction.hidden{display:none}.images-preview{display:none;padding:12px;border-bottom:1px solid #333}.images-preview.visible{display:block}.preview-container{position:relative;width:100%;aspect-ratio:4/3;background:#111;border-radius:4px;overflow:hidden}.preview-container img{width:100%;height:100%;object-fit:contain}.preview-marker{position:absolute;width:20px;height:20px;border:2px solid #ff0;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;box-shadow:0 0 8px #ffff0080;display:none}.preview-marker.visible{display:block}.preview-info{display:flex;justify-content:space-between;margin-top:8px;font-size:11px}.preview-filename{color:#a0c0f0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.preview-distance{color:#888;margin-left:8px}.btn-use-image{display:none;width:100%;margin-top:10px;padding:10px 16px;background:#00aeff;border:none;border-radius:4px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;align-items:center;justify-content:center;gap:8px}.btn-use-image svg{width:16px;height:16px}.btn-use-image:hover{background:#0095d4}.sidebar-images.selecting-for-finding .btn-use-image{display:flex}.images-count{padding:8px 12px;font-size:11px;color:#888;border-bottom:1px solid #333;display:none}.images-count.visible{display:block}.images-thumbnails{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;max-height:400px;overflow-y:auto}.image-thumbnail{aspect-ratio:4/3;background:#222;border-radius:4px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .2s}.image-thumbnail:hover{border-color:#555}.image-thumbnail.selected{border-color:#4a9eff}.image-thumbnail img{width:100%;height:100%;object-fit:cover}.image-full-preview{border-top:1px solid #333;padding:10px;background:#0000004d;flex-shrink:0;min-height:240px}.image-full-preview-label{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;display:flex;justify-content:space-between;align-items:center}.image-full-preview-name{color:#a0c0f0;text-transform:none;letter-spacing:0;font-size:11px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.image-full-placeholder{width:100%;height:200px;background:#ffffff08;border:1px solid #333;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#555;font-size:12px;overflow:hidden}.image-full-placeholder img{width:100%;height:100%;object-fit:contain;border-radius:6px;background:#000}.sidebar-documents{position:fixed;top:0;right:-320px;width:320px;min-width:280px;max-width:80vw;height:100%;background:#1a1a1a;border-left:1px solid #333;z-index:997;transition:right .3s ease,width .2s ease;display:flex;flex-direction:column}.sidebar-documents.open{right:0}.sidebar-documents.resizing{transition:none}.sidebar-documents.expanded{width:50vw}.sidebar-documents .sidebar-header{background:#a08c5026;border-bottom:1px solid rgba(160,140,80,.3)}.sidebar-documents .sidebar-header h1{color:#d0c090}.sidebar-insights{position:fixed;top:40px;right:-320px;width:320px;min-width:280px;max-width:80vw;height:calc(100% - 40px);background:#1a1a1a;border-left:1px solid #333;z-index:996;transition:right .3s ease,width .2s ease;display:flex;flex-direction:column}.sidebar-insights.open{right:0}.sidebar-insights .sidebar-header{background:#8c64c826;border-bottom:1px solid rgba(140,100,200,.3)}.sidebar-insights .sidebar-header h1{color:#c0a0e0}.insights-empty{padding:60px 24px;text-align:center;color:#666;display:flex;flex-direction:column;align-items:center;gap:8px}.insights-empty .empty-icon{width:48px;height:48px;opacity:.3}.insights-charts{padding:12px;display:flex;flex-direction:column;gap:14px}.insights-section{background:#ffffff12;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:12px}.insights-section-title{font-size:12px;font-weight:600;color:#ccc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.insights-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.insights-stat{background:#ffffff14;border-radius:6px;padding:8px;text-align:center}.insights-stat-value{font-size:20px;font-weight:700;color:#fff}.insights-stat-label{font-size:10px;color:#aaa;margin-top:2px}.insights-stat-good .insights-stat-value{color:#4caf50}.insights-stat-fair .insights-stat-value{color:#ffc107}.insights-stat-poor .insights-stat-value{color:#f44336}.insights-bar-chart{display:flex;flex-direction:column;gap:6px}.insights-bar-row{display:flex;align-items:center;gap:8px}.insights-bar-label{font-size:11px;color:#bbb;min-width:70px;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.insights-bar-track{flex:1;height:16px;background:#ffffff1a;border-radius:3px;overflow:hidden}.insights-bar-fill{height:100%;border-radius:3px;transition:width .3s ease;min-width:3px}.insights-bar-count{font-size:11px;color:#ccc;min-width:24px;text-align:right;font-weight:600}.insights-condition-bar{display:flex;height:24px;border-radius:4px;overflow:hidden;margin-bottom:8px;background:#ffffff14}.condition-segment{transition:width .3s ease}.condition-good{background:#4caf50}.condition-fair{background:#ffc107}.condition-poor{background:#f44336}.insights-condition-legend{display:flex;justify-content:center;gap:16px;font-size:11px;color:#bbb}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.insights-area-selector{margin-bottom:12px}.insights-area-selector select{width:100%;padding:7px 24px 7px 10px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#8064b42e;border:1px solid rgba(128,100,180,.35);border-radius:4px;color:#ddd;font-size:12px;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}.insights-area-selector select:focus{outline:none;border-color:#8064b499}.insights-area-selector select option{background:#2a2a2a;color:#ddd}.insights-summary-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.insights-stat .insights-stat-open{color:#5090d0}.insights-stat .insights-stat-resolved{color:#4caf50}.insights-stacked-bar{display:flex;height:24px;border-radius:4px;overflow:hidden;margin-bottom:8px;background:#ffffff0f}.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:10px;font-size:11px;color:#bbb}.insights-bar-row.insights-clickable{cursor:pointer;padding:2px 4px;border-radius:3px;transition:background .15s ease}.insights-bar-row.insights-clickable:hover{background:#ffffff0f}.insights-active-filter{outline:2px solid rgba(156,119,199,.7);outline-offset:1px;border-radius:3px}.documents-empty{padding:60px 24px;text-align:center;color:#666;display:flex;flex-direction:column;align-items:center;justify-content:center}.documents-empty .empty-icon{width:48px;height:48px;margin-bottom:16px;opacity:.4;color:#888}.documents-empty .empty-text{font-size:15px;color:#999;margin-bottom:8px;font-weight:500}.documents-empty .empty-hint{font-size:12px;color:#666;max-width:200px;line-height:1.5}#documentsFooter{flex:0 0 auto!important;padding:8px 12px!important;border-top:1px solid #333;display:flex!important;flex-direction:row!important;background:#0000004d;margin-top:auto}#documentsFooter button{flex:1;padding:8px 12px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;background:#a08c50cc;border:1px solid rgba(160,140,80,.5);color:#fff;transition:all .2s}#documentsFooter button:hover{background:#a08c50}.document-list{flex:1;overflow-y:auto;padding:12px}.document-section{margin-bottom:16px}.document-section-header{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#666;margin-bottom:8px;padding-left:4px}.document-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:8px;margin-bottom:6px;cursor:pointer;transition:all .15s ease}.document-item:hover{background:#a08c501f;border-color:#a08c504d;transform:translate(2px)}.document-icon{font-size:22px;width:28px;text-align:center;flex-shrink:0}.document-info{flex:1;min-width:0}.document-name{font-size:13px;color:#e0e0e0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.document-meta{font-size:11px;color:#666;margin-top:3px;display:flex;gap:8px}.document-meta .doc-type{color:#888;text-transform:uppercase;font-size:9px;letter-spacing:.3px}.document-actions{display:flex;gap:4px;opacity:0;transition:opacity .15s}.document-item:hover .document-actions{opacity:1}.document-actions button{padding:4px 6px;border:none;background:#ffffff1a;border-radius:4px;cursor:pointer;font-size:11px;color:#888;transition:all .15s}.document-actions button:hover{background:#fff3;color:#fff}.document-actions button.danger:hover{background:#dc50504d;color:#f88}.document-folder{margin-bottom:12px}.folder-header{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(135deg,#a08c501f,#a08c500f);border:1px solid rgba(160,140,80,.2);border-radius:8px;cursor:pointer;transition:all .15s ease}.folder-header:hover{background:linear-gradient(135deg,#a08c5033,#a08c501a);border-color:#a08c5059}.folder-icon{font-size:18px;transition:transform .2s ease}.folder-header.collapsed .folder-icon{transform:rotate(-90deg)}.folder-name{flex:1;font-size:13px;color:#d0c090;font-weight:600}.folder-count{font-size:10px;color:#999;padding:2px 8px;background:#00000040;border-radius:10px;font-weight:500}.folder-contents{margin-left:16px;padding-left:14px;border-left:2px solid rgba(160,140,80,.15);margin-top:8px;padding-top:4px}.folder-contents.collapsed{display:none}.folder-empty{padding:12px 16px;font-size:12px;color:#555;font-style:italic}.context-menu{position:fixed;background:#252525;border:1px solid #3a3a3a;border-radius:8px;box-shadow:0 8px 24px #00000080,0 2px 8px #0000004d;z-index:9999;min-width:160px;overflow:hidden;padding:4px 0}.context-menu-item{padding:10px 16px;font-size:13px;color:#ddd;cursor:pointer;transition:all .1s ease;display:flex;align-items:center;gap:10px}.context-menu-item:hover{background:#a08c5033;color:#fff}.context-menu-item.danger{color:#e88}.context-menu-item.danger:hover{background:#dc505040;color:#f99}.context-menu-divider{height:1px;background:#3a3a3a;margin:4px 8px}.file-drop-zone{border:2px dashed #444;border-radius:8px;padding:24px;text-align:center;transition:all .2s;cursor:pointer}.file-drop-zone:hover,.file-drop-zone.dragover{border-color:#a08c5099;background:#a08c501a}.drop-zone-content .drop-icon{width:32px;height:32px;opacity:.6;margin-bottom:12px;display:block;color:#888}.drop-zone-content p{margin:4px 0;color:#888;font-size:13px}.drop-zone-content .browse-link{color:#d0c090;text-decoration:underline;cursor:pointer}.drop-zone-content .drop-hint{font-size:11px;color:#666}.selected-file{display:flex;align-items:center;gap:10px;padding:12px;background:#a08c5026;border-radius:6px}.selected-file .file-icon{width:24px;height:24px;color:#aaa;flex-shrink:0}.selected-file .file-name{flex:1;font-size:13px;color:#ddd;word-break:break-all}.selected-file .clear-file{padding:4px 8px;border:none;background:#ffffff1a;color:#888;border-radius:4px;cursor:pointer;font-size:14px}.selected-file .clear-file:hover{background:#dc50504d;color:#f88}.upload-progress{display:flex;align-items:center;gap:10px;margin-top:12px}.upload-progress .progress-bar{flex:1;height:8px;background:#333;border-radius:4px;overflow:hidden}.upload-progress .progress-fill{height:100%;background:linear-gradient(90deg,#d0c090,#a08050);border-radius:4px;transition:width .2s;width:0%}.upload-progress .progress-text{font-size:12px;color:#888;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:#1a1a1a;z-index:1000;display:flex;flex-direction:column;box-shadow:0 8px 40px #0009,0 0 1px #ffffff1a;border-radius:10px;overflow:hidden;border:1px solid #333}.document-viewer.hidden{display:none}.document-viewer-header{display:flex;align-items:center;padding:10px 14px;background:linear-gradient(180deg,#2a2a2a,#222);border-bottom:1px solid #333;flex-shrink:0;cursor:move;-webkit-user-select:none;user-select:none;gap:12px}.document-viewer-title{font-size:13px;font-weight:600;color:#d0c090;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:100px}.document-viewer-controls{display:flex;align-items:center}.zoom-select{background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:5px;color:#ccc;font-size:12px;padding:6px 10px;cursor:pointer;outline:none;min-width:90px}.zoom-select:hover{background:#ffffff1f;border-color:#a08c5066}.zoom-select:focus{border-color:#a08c5099}.zoom-select option{background:#2a2a2a;color:#ddd;padding:8px}.document-viewer-actions{display:flex;gap:6px}.viewer-btn{padding:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:5px;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.viewer-btn:hover{background:#ffffff1a;color:#fff;border-color:#fff3}.viewer-btn.viewer-close:hover{background:#dc505033;border-color:#dc50504d;color:#f88}.document-viewer-content{flex:1;overflow:hidden;background:#404040;position:relative}.document-viewer-content iframe{width:100%;height:100%;border:none;background:#fff}.resize-handle{position:absolute;bottom:0;right:0;width:20px;height:20px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 50%,rgba(255,255,255,.1) 50%);border-radius:0 0 10px}.resize-handle:hover{background:linear-gradient(135deg,transparent 50%,rgba(160,140,80,.4) 50%)}.document-viewer.dragging{opacity:.9;cursor:move}.document-viewer.dragging iframe{pointer-events:none}#documentsFooter{gap:8px!important;padding:10px 12px!important}#documentsFooter .btn-secondary{background:#50505099;border:1px solid rgba(120,120,120,.3);color:#ccc}#documentsFooter .btn-secondary:hover{background:#646464b3;border-color:#96969666;color:#fff}#documentsFooter .btn-primary{background:linear-gradient(135deg,#a08c50e6,#8c783ce6);border:1px solid rgba(180,160,100,.4)}#documentsFooter .btn-primary:hover{background:linear-gradient(135deg,#b4a064,#a08c50)}.findings-list{padding:0;margin:0;list-style:none}.finding-item{padding:12px 16px;border-bottom:1px solid #333;cursor:pointer;transition:background .2s}.finding-item:hover{background:#ffffff0d}.finding-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.finding-name{font-weight:500;font-size:14px}.finding-severity{font-size:11px;padding:2px 8px;border-radius:10px;text-transform:uppercase}.finding-severity.low{background:#64c8644d;color:#8f8}.finding-severity.medium{background:#c8c8644d;color:#ff8}.finding-severity.high{background:#dc96504d;color:#fa0}.finding-severity.critical{background:#dc50504d;color:#f88}.finding-description{font-size:12px;color:#888;margin-top:4px}.finding-status{font-size:11px;color:#666;margin-top:6px}.findings-empty{padding:24px 16px;text-align:center;color:#666}.findings-table-container{padding:12px;overflow-x:auto;flex:1;overflow-y:auto}.findings-table{width:100%;border-collapse:collapse;font-size:12px}.findings-table th{text-align:left;padding:4px 6px;border-bottom:1px solid #444;color:#888;font-weight:500;font-size:10px;letter-spacing:.5px}.findings-table th select{width:100%;background:#141923f2;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:#ffffffe6;font-size:12px;padding:8px 28px 8px 12px;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:#1e2332f2;border-color:#ffffff40}.findings-table th select:focus{outline:none;border-color:#ffffff59}.findings-table th select option{background:#1a1f2e;color:#fff;padding:8px}.findings-table td{padding:10px 6px;border-bottom:1px solid #2a2a2a;vertical-align:middle}.findings-table tbody tr{cursor:pointer;transition:background .2s}.findings-table tbody tr:hover{background:#ffffff0d}.findings-table tbody tr.selected{background:#dc505026}.findings-table tbody tr.highlighted{background:#dc505040;box-shadow:inset 0 0 0 1px #dc505080}.findings-table tbody tr.marker-hidden:after{content:"(hidden)";color:#888;font-size:10px;margin-left:8px}.findings-table tbody tr.highlighted{background:#dc505040!important;box-shadow:inset 0 0 0 1px #dc505080}.findings-table tbody tr.marker-hidden{opacity:.5}.findings-table .marker-col{width:28px;text-align:center;padding:4px!important}.findings-table .marker-col input[type=checkbox]{width:14px;height:14px;cursor:pointer;accent-color:#dc5050}.findings-table th.marker-col{vertical-align:middle}.mesh-indicator{color:#00aeff;font-size:8px;margin-left:2px;vertical-align:middle}.finding-hover-popup{position:fixed;background:#1e1e1ef2;border:1px solid rgba(220,80,80,.5);border-radius:8px;padding:12px;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:10px;margin-bottom:8px}.finding-popup-grade{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px;flex-shrink:0}.finding-popup-grade.good{background:#27ae60;color:#fff}.finding-popup-grade.fair{background:#f39c12;color:#fff}.finding-popup-grade.poor{background:#e74c3c;color:#fff}.finding-popup-name{font-weight:600;color:#fff;flex:1}.finding-popup-close{background:none;border:none;color:#888;font-size:24px;cursor:pointer;padding:4px 8px;line-height:1;margin:-4px -8px -4px 0;z-index:10;position:relative}.finding-popup-close:hover{color:#fff}.finding-popup-type{color:#aaa;font-size:12px;margin-bottom:4px}.finding-popup-location{color:#a0c0f0;font-size:12px;margin-bottom:8px}.finding-popup-hint{color:#666;font-size:10px;font-style:italic}.finding-popup-expanded .finding-popup-body{margin:12px 0;padding:12px 0;border-top:1px solid #333;border-bottom:1px solid #333}.finding-popup-row{color:#ccc;font-size:12px;margin-bottom:6px}.finding-popup-row strong{color:#999}.finding-popup-actions{display:flex;gap:8px;margin-top:12px}.finding-popup-actions button{flex:1;padding:6px 12px;font-size:12px}.findings-table .location-cell{color:#a0c0f0;font-weight:500}.findings-table .type-cell{color:#ccc}.findings-table .date-cell{color:#888;font-size:11px;white-space:nowrap}.grade-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:4px;font-size:11px;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:50%;background:#ffffff26;font-size:10px;font-weight:600}.grade-badge.good{background:#64c86433;color:#8f8}.grade-badge.fair{background:#c8b45033;color:#ec0}.grade-badge.poor{background:#dc505033;color:#f66}.type-badge{display:inline-block;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.3px}.type-badge.coating{background:#6496c833;color:#8cf}.type-badge.corrosion{background:#c8785033;color:#fa8}.type-badge.pitting{background:#b464a033;color:#d8a}.type-badge.deformation{background:#c8b46433;color:#dc8}.type-badge.fracture{background:#dc506433;color:#f88}.type-badge.cleanliness{background:#64b48c33;color:#8da}.type-badge.general{background:#96969633;color:#aaa}.finding-form{display:flex;flex-direction:column;gap:16px}.finding-form-row{display:flex;gap:12px}.finding-form-row>*{flex:1}.finding-form-actions{display:flex;gap:8px;margin-top:16px;padding-top:12px;border-top:1px solid #333}.finding-form-actions button{padding:10px 20px;border-radius:4px;font-size:13px;cursor:pointer;border:1px solid #555}.finding-form-actions .btn-save{background:#00aeff;border-color:#00aeff;color:#fff;flex:1}.finding-form-actions .btn-save:hover{background:#0095d4}.finding-form-actions .btn-delete{background:#c83c3c4d;border-color:#c83c3c80;color:#ff6b6b}.finding-form-actions .btn-delete:hover{background:#c83c3c80}.finding-form-group{display:flex;flex-direction:column;gap:6px}.finding-form-group label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px}.finding-form-group input,.finding-form-group select,.finding-form-group textarea{background:#ffffff0d;border:1px solid #444;border-radius:6px;color:#fff;padding:10px 12px;font-size:14px}.finding-form-group input:focus,.finding-form-group select:focus,.finding-form-group textarea:focus{outline:none;border-color:#666}.finding-form-group textarea{min-height:80px;resize:vertical}.finding-form-group select option{background:#1a1a1a;color:#ccc}.finding-position-picker{display:flex;align-items:center;gap:12px;padding:8px 12px;background:#ffffff08;border:1px solid #444;border-radius:6px}.position-coords{display:flex;gap:12px;font-family:monospace;font-size:12px;color:#aaa}.coord-label{color:#666;margin-right:2px}.btn-pick-position{margin-left:auto;padding:6px 12px;background:#2a5a8a;border:none;border-radius:4px;color:#fff;font-size:12px;cursor:pointer;transition:background .2s;display:flex;align-items:center;gap:6px}.btn-pick-position .pick-icon{width:14px;height:14px}.btn-pick-position:hover{background:#3a6a9a}.btn-pick-position.active{background:#e67e22;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.finding-position-hint{font-size:11px;color:#666;margin:4px 0 0;font-style:italic}.finding-position-hint.picking{color:#e67e22}.pick-confirm-popup{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#1e1e1ef2;border:1px solid #444;border-radius:12px;padding:16px 20px;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:14px;font-weight:600;color:#fff;margin-bottom:12px;text-align:center}.pick-confirm-info{background:#0000004d;border-radius:8px;padding:10px 12px;margin-bottom:14px}.pick-confirm-location{font-size:13px;color:#4ecdc4;font-weight:500;margin-bottom:4px}.pick-confirm-coords{font-size:11px;font-family:monospace;color:#888}.pick-confirm-actions{display:flex;gap:8px}.pick-confirm-btn{flex:1;padding:10px 12px;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.pick-confirm-btn.accept{background:#27ae60;color:#fff}.pick-confirm-btn.accept:hover{background:#2ecc71}.pick-confirm-btn.repick{background:#3498db;color:#fff}.pick-confirm-btn.repick:hover{background:#5dade2}.pick-confirm-btn.cancel{background:#555;color:#ccc}.pick-confirm-btn.cancel:hover{background:#666;color:#fff}.pick-confirm-btn.disabled,.pick-confirm-btn:disabled{background:#333;color:#666;cursor:not-allowed}.pick-confirm-btn.disabled:hover,.pick-confirm-btn:disabled:hover{background:#333;color:#666}.himp-grade-selector{display:flex;gap:4px}.himp-grade-btn{flex:1;padding:10px 4px;border:2px solid #333;border-radius:6px;background:#ffffff08;color:#888;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.himp-grade-btn:hover{border-color:#555;color:#ccc}.himp-grade-btn.selected{color:#fff}.himp-grade-btn[data-grade="0"].selected,.himp-grade-btn[data-grade="1"].selected,.himp-grade-btn[data-grade="2"].selected{background:#64c8644d;border-color:#8f8;color:#8f8}.himp-grade-btn[data-grade="3"].selected,.himp-grade-btn[data-grade="4"].selected{background:#c8b4504d;border-color:#ec0;color:#ec0}.himp-grade-btn[data-grade="5"].selected,.himp-grade-btn[data-grade="6"].selected{background:#dc50504d;border-color:#f66;color:#f66}.himp-grade-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:10px;color:#666}.himp-grade-labels span{text-transform:uppercase;letter-spacing:.3px}.himp-grade-labels .label-good{color:#8f8}.himp-grade-labels .label-fair{color:#ec0}.himp-grade-labels .label-poor{color:#f66}.finding-image-preview{border-top:1px solid #333;padding:12px;background:#0003}.finding-image-preview-label{font-size:10px;color:#666;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.finding-image-placeholder{width:100%;aspect-ratio:4/3;background:#ffffff08;border:1px dashed #444;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#555;font-size:12px}.finding-image-placeholder img{width:100%;height:100%;object-fit:contain;border-radius:8px}.finding-detail-content{text-align:left;padding:8px;display:flex;flex-direction:column;gap:8px}.finding-detail-name{font-size:13px;font-weight:500;color:#fff}.finding-detail-meta{display:flex;gap:8px;align-items:center}.finding-detail-desc{font-size:11px;color:#888;line-height:1.4;flex:1;overflow:hidden;text-overflow:ellipsis}.finding-detail-inspector{font-size:10px;color:#666}.btn-edit-finding{background:#ffffff1a;border:1px solid #444;border-radius:4px;color:#aaa;padding:6px 12px;font-size:11px;cursor:pointer;transition:all .2s;margin-top:auto}.btn-edit-finding:hover{background:#ffffff26;color:#fff}.finding-image-container{position:relative;width:100%;height:100%;border-radius:6px;overflow:hidden;background:#1a1a1a}.finding-preview-image{width:100%;height:100%;object-fit:contain}.image-count{position:absolute;bottom:6px;right:6px;background:#000000b3;color:#fff;font-size:10px;padding:2px 6px;border-radius:4px}.finding-gallery{position:relative}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:24px;height:40px;background:#00000080;border:none;color:#fff;font-size:18px;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 4px 4px 0}.gallery-next{right:0;border-radius:4px 0 0 4px}.gallery-nav:hover{background:#000000b3}.finding-no-image{width:100%;height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#ffffff08;border-radius:6px;color:#555;font-size:11px}.no-image-icon{font-size:20px;opacity:.5}.finding-image-upload{position:relative}.finding-image-buttons{display:flex;gap:8px}.finding-image-dropzone{flex:1;height:60px;border:2px dashed #444;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s;background:#ffffff05}.finding-image-dropzone:hover{border-color:#666;background:#ffffff0d}.finding-image-dropzone:hover .dropzone-icon,.finding-image-dropzone:hover .dropzone-text{color:#fff}.finding-image-dropzone.drag-over{border-color:#dc5050;background:#dc50501a}.finding-image-dropzone .dropzone-icon{width:20px;height:20px;color:#aaa}.finding-image-dropzone .dropzone-icon svg{width:100%;height:100%}.finding-image-dropzone .dropzone-text{font-size:11px;color:#aaa}.finding-image-preview-thumb{position:relative;width:100%;height:120px;border-radius:8px;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:50%;border:none;background:#000000b3;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.remove-image-btn:hover{background:#dc5050cc}.btn-choose-from-images{flex:1;height:60px;padding:8px 12px;background:#ffffff0d;border:1px solid #444;border-radius:8px;color:#aaa;font-size:11px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;transition:all .2s}.btn-choose-from-images:hover{background:#ffffff1a;border-color:#666;color:#fff}.btn-choose-from-images .btn-icon{width:20px;height:20px;color:currentColor}.add-finding-btn{margin:16px;padding:12px;background:#dc505033;border:1px solid rgba(220,80,80,.4);border-radius:8px;color:#f0a0a0;font-size:14px;cursor:pointer;transition:background .2s}.add-finding-btn:hover{background:#dc50504d}.finding-categories{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid #333}.category-tab{padding:6px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#888;font-size:12px;cursor:pointer;transition:all .2s}.category-tab:hover{background:#ffffff1a;color:#fff}.category-tab.active{background:#dc50504d;border-color:#dc505080;color:#fff}.findings-actions{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #333}.findings-actions button{flex:1;padding:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ccc;font-size:12px;cursor:pointer;transition:all .2s}.findings-actions button:hover{background:#ffffff1a}.findings-actions button.primary{background:#dc505033;border-color:#dc505066;color:#f0a0a0}.findings-actions button.primary:hover{background:#dc50504d}.findings-scroll{flex:1;overflow-y:auto}.view-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.view-mode-btn{padding:10px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#666;font-size:11px;cursor:pointer;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}.view-mode-btn:hover{background:#ffffff1a;color:#aaa}.view-mode-btn.active{background:#6496ff33;border-color:#6496ff66;color:#fff}.view-mode-btn .icon{width:20px;height:20px}.nav-controls{display:flex;flex-direction:column;gap:12px}.nav-row{display:flex;gap:8px}.nav-btn{flex:1;padding:10px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#ccc;font-size:12px;cursor:pointer;transition:all .2s;text-align:center}.nav-btn:hover{background:#ffffff1a;color:#fff}.nav-btn.active{background:#6496ff33;border-color:#6496ff66;color:#fff}.nav-btn.primary{background:#6496ff26;border-color:#6496ff4d}.nav-btn.primary:hover{background:#6496ff40}.nav-section-label{font-size:11px;color:#666;text-transform:uppercase;margin-bottom:4px}.nav-preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.nav-preset-btn{padding:8px 4px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#888;font-size:10px;cursor:pointer;transition:all .2s}.nav-preset-btn:hover{background:#ffffff1a;color:#fff}.nav-tools{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.nav-tool-btn{padding:8px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#888;font-size:11px;cursor:pointer;transition:all .2s}.nav-tool-btn:hover{background:#ffffff1a;color:#fff}.nav-tool-btn.active{background:#ffb43233;border-color:#ffb43266;color:#ffd080}.nav-hint{font-size:10px;color:#555;margin-top:8px;line-height:1.4}.display-controls{padding:4px 0}.display-section{margin-bottom:12px}.display-section-title{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding-bottom:4px;border-bottom:1px solid #333}.display-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.display-row label{flex:0 0 100px;font-size:12px;color:#aaa}.display-row input[type=range]{flex:1;height:4px;-webkit-appearance:none;background:#333;border-radius:2px;outline:none}.display-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#4a9eff;border-radius:50%;cursor:pointer}.display-row input[type=range]::-webkit-slider-thumb:hover{background:#6ab0ff}.display-row.checkbox-row{margin-top:10px}.display-row.checkbox-row label{flex:1;display:flex;align-items:center;gap:8px;cursor:pointer}.display-row input[type=checkbox]{width:14px;height:14px;accent-color:#4a9eff}.display-hint{font-size:11px;color:#666;font-style:italic;padding:8px 0}.reset-defaults-btn{width:100%;padding:8px 12px;margin-top:12px;background:transparent;border:1px solid #444;border-radius:4px;color:#888;font-size:11px;cursor:pointer;transition:all .2s}.reset-defaults-btn:hover{background:#ffffff0d;border-color:#666;color:#aaa}.sidebar-header{padding:16px;border-bottom:1px solid #333;display:flex;justify-content:space-between;align-items:center}.sidebar-header h1{font-size:18px;font-weight:600}.home-icon-btn{background:#ffffff1a;border:none;border-radius:6px;color:#ccc;font-size:20px;width:36px;height:36px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.home-icon-btn:hover{background:#fff3;color:#fff}.home-icon-btn.hidden{display:none}.left-toggle-btns{position:fixed;top:16px;left:16px;display:flex;flex-direction:column;gap:4px;z-index:999;transition:left .3s ease}.left-toggle-btns.sidebar-open{left:296px}.toggle-btn-left{width:36px;height:36px;background:#505050e6;border:1px solid rgba(100,100,100,.5);border-radius:8px;color:#888;font-size:14px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.toggle-btn-left:hover{opacity:1;color:#fff}.toggle-btn-left.active{width:44px;height:44px;color:#fff;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{background:#50a0dce6;border-color:#50a0dc80}.toggle-btn-left.details-btn.active{background:#dc8c3ce6;border-color:#dc8c3c80}.toggle-btn-left.findings-btn{background:#dc5050e6;border-color:#dc505080;color:#fff;opacity:.8}.toggle-btn-left.findings-btn.active{background:#dc5050e6;border-color:#dc505080;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:#64b464e6;border-color:#64b46480}.toggle-btn-left.measure-btn.active{background:#50b464e6;border-color:#50b46480}.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:12px 16px;background:#0000004d;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.sidebar-details-header h2{margin:0;font-size:14px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.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:#888;gap:16px;padding:40px 24px;text-align:center}.finding-details-placeholder .placeholder-icon{width:64px;height:64px;border-radius:50%;background:#00aeff1a;display:flex;align-items:center;justify-content:center}.finding-details-placeholder .placeholder-icon svg{width:32px;height:32px;color:#00aeff;opacity:.6}.finding-details-placeholder .placeholder-text{font-size:13px;line-height:1.5;max-width:200px}.finding-details-placeholder .placeholder-text strong{display:block;font-size:14px;color:#aaa;margin-bottom:4px;font-style:normal}.finding-details-placeholder .placeholder-hint{font-size:11px;color:#666;font-style:italic}.finding-details-placeholder .btn-new-finding{margin-top:8px;padding:10px 20px;background:#00aeff;border:none;border-radius:6px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:6px;transition:background .2s}.finding-details-placeholder .btn-new-finding:hover{background:#0095d4}.finding-details-placeholder .btn-new-finding svg{width:16px;height:16px}.sidebar-details-body{flex:1;overflow-y:auto;padding:12px;min-height:0}.finding-details-panel{display:flex;flex-direction:column;gap:12px}.sidebar-finding-form .finding-form-group{margin-bottom:12px}.sidebar-finding-form .finding-form-group label{display:block;font-size:11px;color:#888;margin-bottom:4px;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:8px 10px;background:#0000004d;border:1px solid #444;border-radius:4px;color:#fff;font-size:13px}.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:#00aeff}.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:10px}.sidebar-finding-form .himp-grade-selector{display:flex;gap:4px}.sidebar-finding-form .himp-grade-btn{flex:1;padding:6px 0;background:#3c3c3ccc;border:1px solid #444;border-radius:4px;color:#888;font-size:12px;cursor:pointer;transition:all .15s}.sidebar-finding-form .himp-grade-btn:hover{background:#505050cc;color:#fff}.sidebar-finding-form .himp-grade-btn.selected{color:#fff;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:#2a9d2a;border-color:#2a9d2a}.sidebar-finding-form .himp-grade-btn.selected[data-grade="3"],.sidebar-finding-form .himp-grade-btn.selected[data-grade="4"]{background:#d4a017;border-color:#d4a017}.sidebar-finding-form .himp-grade-btn.selected[data-grade="5"],.sidebar-finding-form .himp-grade-btn.selected[data-grade="6"]{background:#c43c3c;border-color:#c43c3c}.sidebar-finding-form .himp-grade-labels{display:flex;justify-content:space-between;margin-top:4px;font-size:10px}.sidebar-finding-form .himp-grade-labels .label-good{color:#2a9d2a}.sidebar-finding-form .himp-grade-labels .label-fair{color:#d4a017}.sidebar-finding-form .himp-grade-labels .label-poor{color:#c43c3c}.sidebar-finding-form .position-picker-row{display:flex;align-items:center;gap:8px}.sidebar-finding-form .position-coords{flex:1;display:flex;gap:8px;font-size:11px;color:#888;background:#0003;padding:6px 8px;border-radius:4px}.sidebar-finding-form .btn-pick-position{padding:6px 10px;background:#00aeff33;border:1px solid rgba(0,174,255,.4);border-radius:4px;color:#00aeff;font-size:11px;cursor:pointer;display:flex;align-items:center;gap:4px}.sidebar-finding-form .btn-pick-position:hover{background:#00aeff4d}.sidebar-finding-form .btn-pick-position.active{background:#00aeff;color:#fff}.sidebar-finding-form .btn-pick-position svg{width:14px;height:14px}.sidebar-image-upload{display:flex;flex-direction:column;gap:8px}.sidebar-image-buttons{display:flex;gap:8px}.sidebar-image-dropzone{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;background:#0003;border:1px dashed #555;border-radius:4px;cursor:pointer;transition:all .2s}.sidebar-image-dropzone:hover{border-color:#00aeff;background:#00aeff1a}.sidebar-image-dropzone.drag-over{border-color:#00aeff;background:#00aeff33}.sidebar-image-dropzone svg{width:20px;height:20px;color:#888}.sidebar-image-dropzone span{font-size:11px;color:#888}.sidebar-choose-images-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;background:#50a0dc26;border:1px solid rgba(80,160,220,.3);border-radius:4px;cursor:pointer;transition:all .2s}.sidebar-choose-images-btn:hover{background:#50a0dc40;border-color:#50a0dc80}.sidebar-choose-images-btn svg{width:20px;height:20px;color:#50a0dc}.sidebar-choose-images-btn span{font-size:11px;color:#50a0dc}.sidebar-image-preview{position:relative;display:inline-block}.sidebar-image-preview img{max-width:100%;max-height:80px;border-radius:4px;border:1px solid #444}.sidebar-remove-image-btn{position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:#c43c3c;border:none;border-radius:50%;color:#fff;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.sidebar-remove-image-btn:hover{background:#d64545}.sidebar-image-thumbnails{display:flex;flex-wrap:wrap;gap:6px}.sidebar-thumb-item{position:relative;width:60px;height:60px;border-radius:4px;overflow:visible}.sidebar-thumb-item img{width:60px;height:60px;object-fit:cover;border-radius:4px;border:1px solid #444}.sidebar-thumb-remove{position:absolute;top:-5px;right:-5px;width:18px;height:18px;background:#c43c3c;border:none;border-radius:50%;color:#fff;font-size:12px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}.sidebar-thumb-remove:hover{background:#d64545}.sidebar-image-count{font-size:11px;color:#888;padding-top:2px}.sidebar-details-footer{padding:12px;background:#0000004d;border-top:1px solid #333;display:flex;gap:8px;flex-shrink:0}.sidebar-details-footer.hidden{display:none}.sidebar-details-footer button{flex:1;padding:8px 12px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}.sidebar-details-footer button svg{width:14px;height:14px}.sidebar-details-footer .btn-cancel{background:#50505099;border:1px solid #555;color:#ccc}.sidebar-details-footer .btn-cancel:hover{background:#64646499}.sidebar-details-footer .btn-save{background:#00aeff;border:1px solid #00aeff;color:#fff}.sidebar-details-footer .btn-save:hover{background:#0095d4}.sidebar-details-footer .btn-delete{background:#c83c3c4d;border:1px solid rgba(200,60,60,.5);color:#ff6b6b;flex:0 0 auto;padding:8px 12px;display:flex;align-items:center;gap:6px;font-size:13px}.sidebar-details-footer .btn-delete:hover{background:#c83c3c80}.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:12px 16px;background:#0000004d;border-bottom:1px solid #333}.sidebar-measure-header h2{margin:0;font-size:14px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.sidebar-measure-header h2 svg{width:16px;height:16px;opacity:.7}.sidebar-measure-body{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.measure-tools{display:flex;gap:8px}.measure-tool-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;background:#3c3c3c99;border:1px solid #444;border-radius:6px;color:#888;cursor:pointer;transition:all .2s}.measure-tool-btn:hover{background:#50505099;color:#aaa}.measure-tool-btn.active{background:#50b46433;border-color:#50b46480;color:#50b464}.measure-tool-btn svg{width:24px;height:24px}.measure-tool-btn span{font-size:11px}.measure-instructions{padding:10px 12px;background:#50b4641a;border:1px solid rgba(80,180,100,.2);border-radius:4px;font-size:12px;color:#8c8}.measure-instructions p{margin:0}.measure-results{padding:12px;background:#0003;border-radius:6px}.measure-result-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.measure-result-item:last-child{border-bottom:none}.measure-result-item .result-label{font-size:12px;color:#888}.measure-result-item .result-value{font-size:16px;font-weight:600;color:#50b464;font-family:SF Mono,Monaco,monospace}.measure-result-item.area-result .result-value{color:#6bc}.measure-points-list{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto}.measure-point-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#0003;border-radius:4px;font-size:11px;color:#888}.measure-point-item .point-number{width:18px;height:18px;border-radius:50%;background:#50b464;color:#fff;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700}.measure-point-item .point-distance{margin-left:auto;color:#50b464;font-family:SF Mono,Monaco,monospace}.sidebar-measure-footer{padding:12px;background:#0000004d;border-top:1px solid #333;display:flex;gap:8px}.sidebar-measure-footer button{flex:1;padding:8px 12px;border-radius:4px;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:all .2s}.sidebar-measure-footer button svg{width:14px;height:14px}.btn-measure-save{background:#50b46433;border:1px solid rgba(80,180,100,.4);color:#6c6}.btn-measure-save:hover:not(:disabled){background:#50b4644d}.btn-measure-save:disabled{opacity:.4;cursor:not-allowed}.btn-measure-clear{background:#c83c3c33;border:1px solid rgba(200,60,60,.4);color:#e66}.btn-measure-clear:hover{background:#c83c3c4d}.btn-measure-undo{background:#50505099;border:1px solid #555;color:#ccc}.btn-measure-undo:hover{background:#64646499}.sidebar-content{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column}#findingsFooter{flex:0 0 auto!important;padding:8px 12px!important;border-top:1px solid #333;display:flex!important;flex-direction:row!important;gap:6px!important;background:#0000004d;margin-top:auto}#findingsFooter button{flex:1;padding:6px 8px!important;border-radius:4px;font-size:11px!important;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px;transition:all .2s;white-space:nowrap}#findingsFooter .btn-secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}#findingsFooter .btn-secondary:hover{background:#ffffff26;border-color:#ffffff4d}#findingsFooter .btn-primary{background:#dc5050;border:1px solid #dc5050;color:#fff}#findingsFooter .btn-primary:hover{background:#c94545}#findingsFooter .btn-icon{width:14px;height:14px}#findingsFooter button:disabled{opacity:.5;cursor:not-allowed}.sidebar-section{border-bottom:1px solid #333}.section-header{width:100%;padding:12px 16px;background:none;border:none;color:#fff;font-size:14px;font-weight:500;text-align:left;cursor:pointer;display:flex;justify-content:space-between;align-items:center}button.section-header:hover{background:#ffffff0d}button.section-header:after{content:"▼";font-size:10px;transition:transform .2s}button.section-header.collapsed:after{transform:rotate(-90deg)}div.section-header{cursor:default;font-weight:600;background:#ffffff08}.section-body{padding:8px 16px 16px;color:#ccc;font-size:13px}.section-body.collapsed{display:none}.asset-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin:4px 0;background:#ffffff0d;border-radius:6px;cursor:pointer;transition:background .2s}.asset-item:hover{background:#ffffff1a}.asset-name{font-weight:500}.asset-arrow{color:#666}.layer-row{display:flex;align-items:center;gap:8px;padding:6px 0;cursor:pointer}.layer-row input[type=checkbox]{width:16px;height:16px}.location-tree{padding:4px 0}.location-group{margin-bottom:2px}.location-header,.location-header-simple,.location-header-expandable{display:flex;align-items:center;width:100%;padding:8px;background:#ffffff08;border:none;border-radius:4px;color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s;text-align:left}.location-header:hover,.location-header-simple:hover,.location-header-expandable:hover{background:#ffffff14}.location-header.expanded,.location-header-expandable.expanded{background:#6496ff1a}.location-toggle{font-size:10px;margin-right:8px;transition:transform .2s;color:#666}.location-header.expanded .location-toggle,.location-header-expandable.expanded .location-toggle{transform:rotate(90deg);color:#4080ff}.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:8px}.location-children{padding:8px 4px;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 #555;border-radius:50%;margin-right:10px;position:relative;transition:all .2s;flex-shrink:0}.loc-checkbox:hover{border-color:#888}.loc-checkbox.checked{border-color:#4080ff;background:#4080ff1a}.loc-checkbox.checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#4080ff;border-radius:50%}.loc-checkbox.has-data{border-color:#4080ff}.loc-checkbox.has-data:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#4080ff;border-radius:50%;opacity:.5}.loc-checkbox.checked.has-data:after{opacity:1;width:8px;height:8px}.loc-checkbox.partial{border-color:#4080ff}.loc-checkbox.partial:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:2px;background:#4080ff;border-radius:1px}.ship-grid{position:relative;padding:20px 28px 8px;min-height:100px}.grid-label{position:absolute;font-size:9px;color:#666;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:2px;background:#ffffff0d;border-radius:4px;padding:4px;box-sizing:border-box}.cargo-container{grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(3,24px)}.ballast-grid{padding:20px 36px 8px 28px}.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:2px 6px 0}.grid-cell{min-width:20px;min-height:20px;background:#ffffff08;border:1px solid rgba(255,255,255,.1);border-radius:2px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.grid-cell:hover{background:#ffffff14;border-color:#fff3}.grid-cell.selected{background:#4080ff33;border-color:#4080ff80}.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:2px 4px 0;margin-top:2px}.grid-numbers span{font-size:8px;color:#666;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:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.sub-locations-container:empty{display:none}.sub-locations-header{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.sub-location-item{display:flex;align-items:center;gap:8px;padding:6px 8px;margin:2px 0;background:#ffffff08;border-radius:4px;cursor:pointer;font-size:12px;color:#ccc;transition:background .2s,color .2s}.sub-location-item:hover{background:#ffffff14;color:#fff}.sub-location-item.selected{background:#4080ff33;color:#fff}.sub-location-item .sub-loc-checkbox{width:14px;height:14px;border:1px solid rgba(255,255,255,.3);border-radius:3px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sub-location-item.selected .sub-loc-checkbox{background:#4080ff;border-color:#4080ff}.sub-location-item.selected .sub-loc-checkbox:after{content:"✓";font-size:10px;color:#fff}.sub-location-parent{font-size:10px;color:#666;margin-left:auto}.back-btn,.home-btn{width:100%;padding:12px 16px;background:#ffffff0d;border:none;color:#fff;font-size:14px;text-align:left;cursor:pointer;transition:background .2s}.back-btn:hover,.home-btn:hover{background:#ffffff1a}.hint{color:#666;font-size:12px;margin-bottom:12px}.description{color:#888;line-height:1.5}.view-toggle{position:fixed;top:16px;right:16px;display:flex;background:#141414e6;border:1px solid #333;border-radius:8px;overflow:hidden;z-index:1000}.view-toggle button{padding:10px 16px;background:none;border:none;color:#888;font-size:13px;cursor:pointer;transition:all .2s}.view-toggle button:hover{background:#ffffff0d}.view-toggle button.active{background:#ffffff1a;color:#fff}.classic-view{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#1a1a2e,#16213e);display:none;align-items:center;justify-content:center;padding:40px}.classic-view.active{display:flex}.tiles-container{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;max-width:1200px}.asset-tile{width:200px;height:240px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.asset-tile:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-4px)}.asset-tile.add-asset-tile{border-style:dashed;border-color:#64c8644d}.asset-tile.add-asset-tile:hover{background:#64c8641a;border-color:#64c86480}.asset-tile.add-asset-tile .tile-icon{background:#64c86433;color:#8f8;font-size:48px;font-weight:300}.asset-tile.add-asset-tile .tile-name{color:#8f8}.tile-icon{width:80px;height:80px;background:#ffffff1a;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-size:32px}.tile-name{color:#fff;font-size:16px;font-weight:500;text-align:center}.tile-description{color:#666;font-size:12px;margin-top:8px}#cesiumContainer.hidden{display:none}.cesium-credit-logoContainer,.cesium-credit-textContainer,.cesium-viewer-bottom{display:none!important}.branding{position:fixed;bottom:16px;right:16px;color:#fff9;font-size:14px;font-weight:500;z-index:100;pointer-events:none;transition:right .3s ease}body.right-sidebar-open .branding{right:336px}.login-page{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#0a0a1a,#1a1a3e,#0a1a2e);display:flex;align-items:center;justify-content:center;z-index:10000}.login-page.hidden{display:none}.login-container{width:100%;max-width:400px;padding:40px}.login-logo{text-align:center;margin-bottom:32px}.login-logo img{max-width:150px;max-height:100px;width:auto;height:auto;object-fit:contain;margin-bottom:16px}.login-logo h1{color:#fff;font-size:28px;font-weight:600;margin-bottom:8px}.login-logo p{color:#666;font-size:14px}.login-box{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:32px}.login-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#aaa;font-size:13px;font-weight:500}.form-group input{padding:14px 16px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:15px;outline:none;transition:border-color .2s,background .2s}.form-group input:focus{border-color:#6496ff80;background:#0006}.form-group input::placeholder{color:#555}.login-btn{padding:14px 24px;background:linear-gradient(135deg,#4080ff,#2060dd);border:none;border-radius:8px;color:#fff;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.login-btn:hover{transform:translateY(-2px);box-shadow:0 4px 20px #4080ff4d}.login-btn:active{transform:translateY(0)}.login-error{color:#ff6b6b;font-size:13px;text-align:center;padding:12px;background:#ff64641a;border-radius:6px;display:none}.login-error.visible{display:block}.sidebar-logo{max-width:40px;max-height:28px;width:auto;height:auto;object-fit:contain;margin-right:10px}.sidebar-header-content{display:flex;align-items:center}.sidebar-footer{margin-top:auto;border-top:1px solid #333;border-bottom:none;padding:12px;display:flex;flex-direction:column;gap:0;flex:1}.sidebar-footer .upload-btn{margin:0 0 12px;border-radius:6px;position:relative}.sidebar-footer .upload-btn:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:#ffffff1a}.sidebar-footer .logout-btn{margin-top:auto}.logout-btn{width:100%;padding:12px 16px;background:#ffffff0d;border:none;border-radius:6px;color:#888;font-size:13px;cursor:pointer;transition:all .2s}.logout-btn:hover{background:#ff505026;color:#f88}@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:#1a1a1a;border:1px solid #333;border-radius:12px;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:16px 20px;border-bottom:1px solid #333}.modal-header h2{color:#fff;font-size:18px;margin:0}.modal-close{background:none;border:none;color:#666;font-size:24px;cursor:pointer;padding:0;line-height:1}.modal-close:hover{color:#fff}.modal-body{padding:20px;overflow-y:auto;flex:1}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid #333}.modal-tabs{display:flex;border-bottom:1px solid #333;padding:0 20px}.modal-tab{background:none;border:none;color:#888;padding:12px 20px;cursor:pointer;font-size:14px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s}.modal-tab:hover{color:#ccc}.modal-tab.active{color:#fff;border-bottom-color:#4080ff}.data-manager-tab{display:block}.data-manager-tab.hidden{display:none}.layers-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.filter-select{flex:1 1 calc(25% - 6px);min-width:120px;padding:8px 10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:4px;color:#fff;font-size:13px;cursor:pointer}.filter-select:hover{background:#ffffff26}.filter-select option,.filter-select optgroup{background:#2a2a2a;color:#fff}.layers-list{max-height:360px;overflow-y:auto}.layer-item{display:flex;align-items:center;padding:12px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-bottom:8px}.layer-item:hover{background:#ffffff0f}.layer-icon{font-size:20px;margin-right:12px;opacity:.7}.layer-info{flex:1}.layer-name{color:#fff;font-size:14px;margin-bottom:2px}.layer-type{color:#666;font-size:12px;text-transform:capitalize}.layer-actions{display:flex;gap:8px}.layer-action-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#888;padding:6px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.layer-action-btn:hover{background:#ffffff1a;color:#fff}.layer-action-btn.delete:hover{background:#ff505033;border-color:#ff505066;color:#f66}.layer-location-select{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#ccc;padding:6px 8px;border-radius:4px;font-size:11px;cursor:pointer;max-width:100px}.layer-location-select:hover{background:#ffffff1a;border-color:#fff3}.layer-location-select:focus{outline:none;border-color:#4080ff}.layer-location-select option{background:#1a1a2e;color:#ccc}.layer-location-select optgroup{background:#1a1a2e;color:#888;font-weight:600}.layers-empty{text-align:center;color:#666;padding:40px 20px}.layers-empty-icon{font-size:48px;margin-bottom:16px;opacity:.5}.layers-empty-text{font-size:14px;margin-bottom:16px}.layers-empty-hint{font-size:12px;color:#555}.pending-list{max-height:360px;overflow-y:auto}.pending-item{padding:16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;margin-bottom:10px}.pending-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.pending-checkbox{flex-shrink:0}.pending-checkbox input{width:16px;height:16px;cursor:pointer;accent-color:#4080ff}.pending-name{flex:1;color:#fff;font-size:14px;font-weight:500}.pending-status{font-size:12px;padding:2px 8px;border-radius:10px;background:#4080ff33;color:#4080ff}.pending-status.validating{background:#ffc10733;color:#ffc107}.pending-status.tiling{background:#4080ff33;color:#4080ff}.pending-status.completed{background:#28a74533;color:#28a745}.pending-status.failed{background:#dc354533;color:#dc3545}.pending-checks{display:flex;gap:12px;margin-bottom:10px;font-size:12px}.pending-check{display:flex;align-items:center;gap:4px;color:#666}.pending-check.passed{color:#28a745}.pending-check.failed{color:#dc3545}.pending-check-icon{font-size:14px}.pending-progress{margin-top:8px}.pending-progress-bar{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden}.pending-progress-fill{height:100%;background:linear-gradient(90deg,#4080ff,#60a0ff);border-radius:3px;transition:width .3s ease}.pending-progress-text{display:flex;justify-content:space-between;margin-top:6px;font-size:11px;color:#666}.pending-empty{text-align:center;color:#666;padding:40px 20px}.pending-header-bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.1)}.pending-count{color:#888;font-size:13px}.pending-actions{display:flex;gap:8px}.btn-small{padding:4px 10px;font-size:12px;border-radius:4px;border:none;cursor:pointer}.btn-small.btn-secondary{background:#ffffff1a;color:#ccc}.btn-small.btn-secondary:hover{background:#ffffff26}.btn-small.btn-danger{background:#dc354533;color:#dc3545}.btn-small.btn-danger:hover{background:#dc35454d}.upload-section{margin-bottom:16px}.upload-section-label{display:block;color:#888;font-size:12px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.upload-type-grid.compact{grid-template-columns:repeat(6,1fr);gap:8px}.upload-type-grid.compact .upload-type-btn{padding:10px 6px}.upload-type-grid.compact .upload-type-icon{width:18px;height:18px;margin-bottom:4px}.upload-type-grid.compact .upload-type-name{font-size:10px}.upload-progress-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.upload-progress-section.hidden{display:none}.upload-step{display:block}.upload-step.hidden{display:none}.upload-step h3{color:#fff;font-size:16px;margin:0 0 16px}.upload-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upload-type-btn{padding:16px 8px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#ccc;cursor:pointer;transition:all .2s;text-align:center}.upload-type-btn:hover{background:#ffffff1a;border-color:#6496ff4d}.upload-type-btn.selected{background:#6496ff33;border-color:#6496ff80;color:#fff}.upload-type-icon{width:24px;height:24px;margin-bottom:8px;color:currentColor}.upload-type-name{font-size:11px;line-height:1.3}.upload-dropzone{border:2px dashed rgba(255,255,255,.2);border-radius:8px;padding:40px 20px;text-align:center;cursor:pointer;transition:all .2s}.upload-dropzone:hover,.upload-dropzone.dragover{border-color:#6496ff80;background:#6496ff1a}.upload-dropzone.hidden{display:none}.upload-dropzone .dropzone-icon{width:32px;height:32px;margin-bottom:12px;color:#888;opacity:.6}.dropzone-text{color:#ccc;margin-bottom:8px;font-size:14px}.dropzone-hint{color:#666;font-size:12px}.selected-file{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#6496ff1a;border:1px solid rgba(100,150,255,.3);border-radius:8px;color:#fff;font-size:14px}.selected-file.hidden{display:none}.selected-file button{background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:0 4px}.selected-file button:hover{color:#fff}.upload-location-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.upload-label{display:block;color:#ccc;font-size:13px;margin-bottom:8px}.upload-select{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:14px;cursor:pointer}.upload-select:hover{border-color:#ffffff40}.upload-select:focus{outline:none;border-color:#4080ff}.upload-select option,.upload-select optgroup{background:#1a1a1a;color:#fff}.upload-input{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:14px}.upload-input:hover{border-color:#ffffff40}.upload-input:focus{outline:none;border-color:#4080ff}.upload-hint{font-size:11px;color:#666;margin-top:6px}.survey-date-row{display:flex;gap:8px}.survey-date-row .survey-select{flex:1}.btn-new-survey{background:#50a05033;border-color:#50a05066;color:#8c8}.btn-new-survey:hover{background:#50a0504d}.new-survey-row{display:flex;gap:8px;margin-top:8px}.new-survey-row .upload-input{flex:1}.upload-location-hint{color:#666;font-size:11px;margin-top:6px}.sub-location-row{display:flex;gap:8px;align-items:center}.sub-location-row .sub-location-select{flex:1}.add-sub-location-row{display:flex;align-items:center;margin-top:8px;gap:8px}.sub-location-input-group{display:flex;flex:1}.sub-location-prefix{padding:8px 4px 8px 12px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-right:none;border-radius:6px 0 0 6px;color:#4080ff;font-size:14px;font-weight:500;white-space:nowrap}.sub-location-input-group .upload-input{flex:1;padding:8px 12px 8px 4px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-left:none;border-radius:0 6px 6px 0;color:#fff;font-size:14px}.add-sub-location-row .upload-input:focus{outline:none;border-color:#4080ff}.btn-icon{width:32px;height:32px;padding:0;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-icon:hover{background:#ffffff26}.btn-icon svg{width:14px;height:14px}.btn-icon.btn-confirm{background:#4caf504d;border-color:#4caf5080;color:#4caf50}.btn-icon.btn-confirm:hover{background:#4caf5066}.btn-icon.btn-cancel{background:#f443364d;border-color:#f4433680;color:#f44336}.btn-icon.btn-cancel:hover{background:#f4433666}.upload-progress{margin-bottom:16px}.progress-bar{height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#4080ff,#60a0ff);width:0%;transition:width .3s}.progress-text{text-align:center;color:#888;font-size:13px}.upload-status{text-align:center;color:#ccc;font-size:14px;margin-top:12px}.job-toast{position:fixed;bottom:20px;right:20px;width:320px;background:#1a1a1a;border:1px solid #333;border-radius:8px;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:12px 16px;border-bottom:1px solid #333;color:#fff;font-size:14px;font-weight:500}.job-toast-header button{background:none;border:none;color:#666;font-size:18px;cursor:pointer;padding:0}.job-toast-body{padding:16px}.job-progress-bar{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:8px}.job-progress-fill{height:100%;background:linear-gradient(90deg,#4080ff,#60a0ff);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:24px;font-weight:600;color:#fff;text-align:center;margin:12px 0 8px}.job-status-message{font-size:13px;color:#888;text-align:center;min-height:18px}.job-status-message.error{color:#dc3545}.job-status-message.success{color:#28a745}.job-progress-text{color:#888;font-size:12px;text-align:center}.btn-primary{padding:10px 20px;background:linear-gradient(135deg,#4080ff,#2060dd);border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-primary .btn-icon{width:16px;height:16px}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 2px 10px #4080ff4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{padding:10px 20px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#ccc;font-size:14px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-secondary .btn-icon{width:16px;height:16px}.btn-secondary:hover{background:#ffffff26}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.upload-btn{width:100%;padding:12px 16px;background:linear-gradient(135deg,#4080ff,#2060dd);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.upload-btn:hover{transform:translateY(-1px);box-shadow:0 4px 15px #4080ff4d}.upload-icon{font-size:16px}.new-asset-btn{width:100%;padding:10px 16px;background:#64c86426;border:1px solid rgba(100,200,100,.3);border-radius:6px;color:#8f8;font-size:13px;cursor:pointer;margin-bottom:8px;transition:all .2s}.new-asset-btn:hover{background:#64c86440}.asset-buttons{margin-top:12px;padding-top:12px;border-top:1px solid #333}.manage-assets-btn{width:100%;padding:10px 16px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#aaa;font-size:13px;cursor:pointer;margin-bottom:12px;transition:all .2s}.manage-assets-btn:hover{background:#ffffff1a;color:#fff}.asset-item-row{display:flex;align-items:center;gap:8px;margin:4px 0}.asset-item-row .asset-item{flex:1;margin:0}.asset-actions{display:flex;gap:4px}.asset-action-btn{width:32px;height:32px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#888;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.asset-action-btn:hover{background:#ffffff1a;color:#fff}.asset-action-btn.delete:hover{background:#ff505033;border-color:#ff505066;color:#f88}.modal-form{display:flex;flex-direction:column;gap:16px}.modal-form .form-group{display:flex;flex-direction:column;gap:6px}.modal-form label{color:#aaa;font-size:13px}.modal-form input,.modal-form textarea{padding:12px;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:#fff;font-size:14px;outline:none}.modal-form input:focus,.modal-form textarea:focus{border-color:#6496ff80}.modal-form textarea{min-height:80px;resize:vertical}.finding-options-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.finding-upload-info{background:#ffffff0d;border-radius:8px;padding:12px;font-size:12px;color:#ccc}.finding-upload-info p{margin:0 0 8px}.finding-zip-structure{background:#0000004d;border-radius:4px;padding:8px 12px;font-family:monospace;font-size:11px;color:#8b9dc3;margin:0;white-space:pre;overflow-x:auto}.mesh-photogrammetry-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}.photogrammetry-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;color:#ccc;font-size:14px}.photogrammetry-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.photogrammetry-fields{margin-top:12px}.photogrammetry-dropzone-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.photogrammetry-dropzone-grid.single-col{grid-template-columns:1fr}.photogrammetry-dropzone{border:2px dashed rgba(255,255,255,.2);border-radius:8px;padding:20px 12px;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:#6496ff80;background:#6496ff1a}.photogrammetry-dropzone.has-file{border-color:#64c86480;background:#64c8641a}.photogrammetry-dropzone.required{border-color:#ffb4644d}.photogrammetry-dropzone.required.has-file{border-color:#64c86480}.photogrammetry-dropzone-icon{width:20px;height:20px;margin-bottom:6px;color:#888;opacity:.6}.photogrammetry-dropzone-label{font-size:12px;color:#aaa;margin-bottom:4px}.photogrammetry-dropzone-hint{font-size:10px;color:#666}.photogrammetry-dropzone-file{font-size:11px;color:#8f8;margin-top:8px;word-break:break-all;display:flex;align-items:center;gap:6px}.photogrammetry-dropzone-file .clear-btn{background:none;border:none;color:#f88;cursor:pointer;font-size:14px;padding:0;line-height:1}.photogrammetry-dropzone-file .clear-btn:hover{color:#faa}.photogrammetry-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.photogrammetry-options.single-col{grid-template-columns:1fr}.photogrammetry-option-group{display:flex;flex-direction:column;gap:6px}.photogrammetry-option-group label{font-size:11px;color:#888;text-transform:uppercase;letter-spacing:.5px}.photogrammetry-resolution-row{display:flex;gap:8px}.photogrammetry-resolution-row input{width:100%;padding:8px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:13px}.photogrammetry-resolution-row input:focus{outline:none;border-color:#6496ff80}.photogrammetry-resolution-row input::placeholder{color:#666}.photogrammetry-layer-select{width:100%;padding:10px 12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.15);border-radius:6px;color:#fff;font-size:14px;cursor:pointer}.photogrammetry-layer-select:focus{outline:none;border-color:#6496ff80}.photogrammetry-layer-select option{background:#1a1a1a;color:#fff}.photogrammetry-xmp-warning{display:none;padding:10px 12px;background:#ffb45026;border:1px solid rgba(255,180,80,.3);border-radius:6px;color:#fc9;font-size:12px;margin-bottom:16px}.photogrammetry-xmp-warning.visible{display:block}.photogrammetry-validation{margin-top:16px;padding:12px;background:#0003;border-radius:6px;border:1px solid rgba(255,255,255,.1)}.photogrammetry-validation.hidden{display:none}.validation-header{font-size:11px;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.validation-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px;color:#888}.validation-item.valid,.validation-item.valid .validation-icon{color:#4caf50}.validation-item.invalid,.validation-item.invalid .validation-icon{color:#f44336}.validation-item.validating,.validation-item.validating .validation-icon{color:#ffc107}.validation-icon{font-size:14px;width:16px;text-align:center}.validation-label{color:#aaa;min-width:100px}.validation-status{flex:1}#toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;gap:10px;pointer-events:none}.toast{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#1e1e1ef2;border-radius:8px;box-shadow:0 4px 20px #0006;color:#fff;font-size:14px;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 #666}.toast-visible{transform:translate(0);opacity:1}.toast-hiding{transform:translate(120%);opacity:0}.toast-error{border-left-color:#e74c3c;background:#281414f2}.toast-success{border-left-color:#2ecc71;background:#142814f2}.toast-warning{border-left-color:#f39c12;background:#282314f2}.toast-info{border-left-color:#3498db;background:#141e28f2}.toast-icon{font-size:16px;font-weight:700;width:20px;text-align:center}.toast-error .toast-icon{color:#e74c3c}.toast-success .toast-icon{color:#2ecc71}.toast-warning .toast-icon{color:#f39c12}.toast-info .toast-icon{color:#3498db}.toast-message{flex:1;line-height:1.4}.toast-close{background:none;border:none;color:#888;font-size:18px;cursor:pointer;padding:0 4px;line-height:1}.toast-close:hover{color:#fff}#adminPage{position:fixed;top:0;left:0;right:0;bottom:0;background:#1a1a1a;color:#e0e0e0;overflow:auto;z-index:50}.admin-page-wrap{max-width:1100px;margin:0 auto;padding:32px 40px 80px}.admin-page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:16px;margin-bottom:24px;border-bottom:1px solid #333;flex-wrap:wrap}.admin-page-header h1{font-size:22px;font-weight:600;margin:0}.admin-page-actions{display:flex;gap:8px}.admin-back-link{color:#9ab;text-decoration:none;font-size:13px;margin-right:12px}.admin-back-link:hover{color:#f90}.admin-page-body{padding:8px 0}.admin-page-wrap .btn{display:inline-block;padding:8px 14px;background:#f90;color:#000;border:none;border-radius:4px;font-size:13px;font-weight:500;text-decoration:none;cursor:pointer}.admin-page-wrap .btn:hover{background:#ffa520}.admin-page-wrap .hint{color:#888;font-size:13px}.admin-page-wrap .btn.btn-secondary{background:#2a2a2a;color:#e0e0e0;border:1px solid #444}.admin-page-wrap .btn.btn-secondary:hover{background:#333}.admin-page-wrap .btn.btn-danger{background:#b33;color:#fff}.admin-page-wrap .btn.btn-danger:hover{background:#c44}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid #2a2a2a}.admin-table th{font-weight:600;color:#888;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.admin-table th.num,.admin-table td.num{text-align:right}.admin-table-row{cursor:pointer}.admin-table-row:hover{background:#222}.admin-card{background:#222;border:1px solid #2a2a2a;border-radius:6px;padding:20px 24px;margin-bottom:20px}.admin-card h2{font-size:15px;font-weight:600;margin:0 0 12px;color:#ccc}.admin-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;flex-wrap:wrap;gap:12px}.admin-card-header h2{margin:0}.admin-card-actions{display:flex;gap:8px}.admin-dl{display:grid;grid-template-columns:140px 1fr;gap:8px 16px;font-size:13px}.admin-dl dt{color:#888;font-weight:500}.admin-dl dd{color:#e0e0e0;margin:0;word-break:break-word}.admin-form{max-width:600px;display:flex;flex-direction:column;gap:16px}.admin-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#aaa}.admin-form label span{font-weight:500}.admin-form label em{color:#f90;font-style:normal}.admin-form input,.admin-form textarea{background:#111;border:1px solid #333;border-radius:4px;padding:8px 10px;color:#e0e0e0;font-size:13px;font-family:inherit}.admin-form input:focus,.admin-form textarea:focus{outline:none;border-color:#f90}.admin-form textarea{resize:vertical}.admin-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.admin-form select{background:#111;border:1px solid #333;border-radius:4px;padding:8px 10px;color:#e0e0e0;font-size:13px;font-family:inherit}.admin-form select:focus{outline:none;border-color:#f90}.admin-form-readonly{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#aaa}.admin-form-readonly strong{color:#e0e0e0;font-size:13px;font-weight:500}.admin-form-hint{font-size:11px;color:#666;margin-top:2px}.admin-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;text-transform:uppercase}.admin-status-active{background:#1a3a1a;color:#6c6}.admin-status-inactive{background:#3a1a1a;color:#c66}.admin-page-wrap .btn.btn-small{padding:5px 10px;font-size:12px}.admin-assignment-list{display:flex;flex-direction:column;gap:12px}.admin-assignment{background:#1a1a1a;border:1px solid #2a2a2a;border-radius:4px;padding:12px 14px}.admin-assignment-main{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.admin-assignment-name{font-weight:600;color:#e0e0e0;font-size:13px}.admin-assignment-toggles{display:flex;align-items:center;gap:16px}.admin-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#aaa;cursor:pointer}.admin-toggle input{accent-color:#f90;cursor:pointer}.admin-assignment-filters{margin-top:8px;padding-top:8px;border-top:1px dashed #2a2a2a;font-size:12px;color:#888}.admin-filter-summary{color:#aaa}.admin-filter-summary strong{color:#ccc}.admin-assign-picker{margin-top:16px;padding:16px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:4px}.admin-assign-picker label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#aaa;margin-bottom:12px}.admin-assign-picker select{background:#111;border:1px solid #333;border-radius:4px;padding:8px 10px;color:#e0e0e0;font-size:13px}.admin-password-input{display:flex;gap:6px;align-items:stretch}.admin-password-input input{flex:1}.admin-password-toggle{background:#2a2a2a;color:#ccc;border:1px solid #444;border-radius:4px;padding:4px 12px;font-size:11px;font-family:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.5px}.admin-password-toggle:hover{background:#333;color:#fff}.admin-reset-form{margin-top:16px;padding:16px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:4px}.admin-reset-form h3{font-size:13px;font-weight:600;color:#ccc;margin:0 0 6px}.admin-reset-form .admin-form-hint{margin-bottom:10px}.admin-reset-form .admin-password-input{max-width:400px}.admin-reset-form input{background:#111;border:1px solid #333;border-radius:4px;padding:8px 10px;color:#e0e0e0;font-size:13px;font-family:inherit}.admin-reset-form input:focus{outline:none;border-color:#f90}.admin-reset-form .admin-form-actions{margin-top:12px}.model-context-menu{position:fixed;background:#1e1e1ef2;border:1px solid #444;border-radius:6px;padding:4px;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:8px;width:100%;padding:8px 12px;border:none;border-radius:4px;background:transparent;color:#ccc;font-size:13px;cursor:pointer;text-align:left}.context-menu-item:hover{background:#dc50504d;color:#fff}.context-menu-icon{width:16px;height:16px;flex-shrink:0}.cross-section-controls{margin-top:8px;padding:10px;background:#ffffff08;border-radius:6px;display:none}.cross-section-controls.active{display:block}.cross-section-hint{font-size:11px;color:#888;margin-bottom:10px;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}
