@import"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap";.app-container{display:flex;height:100vh}.sidebar-container{width:65px;background-color:#eee;border-right:1px solid rgba(0,0,0,.09)}.sidebarList{height:auto;padding:12px 0 0;width:100%;margin:0%}.sidebarList .row{width:100%;height:60px;list-style-type:none;margin:0 0% 0%;display:flex;font-size:12px;flex-direction:column;color:#000;justify-content:center;align-items:center;font-family:Roboto,sans-serif;font-weight:400}.sidebarList .row:hover{cursor:pointer;background-color:#dbd9d9}.row #icon{margin-top:5px;margin-bottom:5px;flex:30%;display:grid;place-items:center}.row #title{margin-top:5px;flex:70%}.row.active{background-color:#d9edf7}.row.disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.beta-label{display:flex;justify-content:center;align-items:center;height:120px;writing-mode:vertical-rl;text-orientation:upright;color:#e53935;font-weight:700;font-size:1.2rem;letter-spacing:.2em;margin:0 auto 8px}.guide-menu{width:auto;background-color:#fafafa;height:100vh;transition:transform .3s ease-in-out;display:flex;flex-direction:column;position:"fixed";left:0;top:0;box-shadow:2px 0 5px #0003;z-index:1000}.guide-menu.hidden{transform:translate(-100%)}.guide-header{display:flex;justify-content:space-between;align-items:center;height:60px;font-family:Roboto,sans-serif;margin-bottom:10px;background-color:#eee}.guide-header h2{font-weight:400;margin-left:12px}.guide-content ul{flex-grow:1;list-style-type:none;padding:0;margin:0;overflow-y:auto;background-color:#fafafa}.guide-content li{padding:8px 15px;font-size:medium;font-weight:400;font-family:Roboto,sans-serif;height:30px;display:flex;align-items:center}.guide-content li:hover{cursor:pointer;background-color:#d9edf7}.close-btn{border:none;background:none;font-size:16px;cursor:pointer;margin-right:10px;display:flex;align-items:center;justify-content:center}.close-btn:hover{cursor:pointer;color:red;border-radius:50%;background-color:#edd4d4}.guide-menu-overlay{position:absolute;top:0;left:0;width:250px;height:100%;background:#ffffffe6;z-index:1000;box-shadow:-2px 0 5px #0003}.map-container{flex-grow:1;height:100vh;display:flex;overflow-x:hidden;overflow-y:hidden;position:relative;text-shadow:none}.upload-processing-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;pointer-events:auto;z-index:10050}.map-container .lcdBalloon{position:relative;z-index:9999;border-radius:6px;padding:6px;margin-bottom:2px;font-family:Roboto,sans-serif;background-color:#fff;border:2px;display:flex;margin-top:-20px;align-items:center;justify-content:center}.balloon-content-with-close{position:relative!important;padding-right:28px!important}.balloon-close-btn{position:absolute!important;top:4px!important;right:4px!important;width:24px;height:24px;padding:0;border:none;background:transparent;color:#666;font-size:20px;line-height:1;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center}.balloon-close-btn:hover{background:#00000014;color:#333}.map-container .lcdBalloon:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:0;height:0;border-left:12px solid transparent;border-right:12px solid transparent;border-top:12px solid #fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.15))}.map-container .lcdContent{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;margin-bottom:-17px}.map-container .lcdContent img{cursor:pointer;border-radius:5px;width:150px;height:150px;margin-top:5px}.project-balloon-name-wrapper,.project-balloon-name{pointer-events:none!important;cursor:default!important}.project-balloon-content .open-project-placeholder,.project-balloon-content .upload-thumbnail-link,.project-balloon-content .change-thumbnail-link,.project-balloon-content img[data-project-name]{pointer-events:auto!important;cursor:pointer!important}.map-container .lcdBalloon a[href="http://www.agtek.com"],.map-container .lcdBalloon a[href="https://www.agtek.com"],.map-container .lcdContent a[href="http://www.agtek.com"],.map-container .lcdContent a[href="https://www.agtek.com"],.lcdBalloon a[href="http://www.agtek.com"],.lcdBalloon a[href="https://www.agtek.com"],.lcdContent a[href="http://www.agtek.com"],.lcdContent a[href="https://www.agtek.com"],.map-container .lcdBalloon small,.map-container .lcdContent small,.lcdBalloon small,.lcdContent small{display:none!important}.luciad div[style*=text-shadow]{text-shadow:none!important;font-family:Roboto,sans-serif!important;color:#000!important;font-weight:400!important;width:max-content!important;max-width:200px;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;border-radius:3px;padding:3px;margin-left:10px;margin-top:-10px}.hexagon-logo{height:auto;display:flex;justify-content:center;align-items:center;padding-top:15px;padding-left:10px}.hexagon-logo img{width:32px;height:auto}.logo-seperator{display:flex;justify-content:center;align-items:center;width:45px;height:2px;background:#bbb4b4;margin:18px auto 0}body{margin:0;padding:0}.search-box{position:absolute;top:20px;left:20px;z-index:9999;background-color:#fffc;border-radius:5px;padding:10px;box-shadow:0 4px 8px #0000004d;display:flex;align-items:center;justify-content:space-between;width:250px}.search-input{width:180px;padding:8px;border:1px solid #ccc;border-radius:3px}.search-button{padding:8px;background-color:#4caf50;border:none;color:#fff;cursor:pointer;border-radius:3px}.build-version{display:inline-flex;align-items:center;gap:8px;font-family:monospace;font-size:13px;color:#666;cursor:default}.build-version-indicator{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.build-version-indicator-clean{background-color:#4caf50;box-shadow:0 0 0 1px #4caf504d}.build-version-icon{flex-shrink:0}.build-version-icon-warning{color:#ed6c02}.build-version-sha{letter-spacing:.5px}.build-version-sep{color:#999;font-weight:400}.setting-container{bottom:0;left:0;position:absolute}.setting-button{flex-direction:column;height:60px;color:#000;background-color:transparent;display:flex;align-items:center;justify-content:center;width:60px}.setting-text{margin-top:5px;font-size:12px;font-family:Roboto,sans-serif}.setting-button:hover{background-color:#dbd9d9;cursor:pointer}.settings-checkbox-container{display:flex;align-items:center;padding:4px 8px;font-family:Roboto,sans-serif;font-size:14px;gap:8px}.settings-checkbox-container input[type=checkbox]{width:16px;height:16px;accent-color:#1976d2}.display-mode-control{position:absolute;top:10px;right:20px;z-index:1000;display:flex;width:40px;flex-direction:column;align-items:center;justify-content:center;position:fixed;background-color:#ccc;padding:5px;border-radius:8px;z-index:1}.map-toggle-button{width:40px;font-size:large;padding-top:4px;padding-right:4px;height:40px;background:#eaeaea;color:#000;border:none;border-radius:5px;cursor:pointer}.map-toggle-button.off{background:linear-gradient(145deg,#e0e0e0,#fff);color:#333}.map-toggle-button.on{background-color:#007496;color:#fff}.satilite-toggle-button{width:40px;height:40px;background:transparent;border:none;cursor:pointer;margin-top:5px;position:relative}.toggle-image{width:100%;height:100%;object-fit:cover;border-radius:5px}.show-map-type-overlay{position:absolute;right:100%;top:-5px;background-color:#ccc;padding:3.25px 4px;margin-right:1px;box-shadow:0 2px 8px #0000001a;z-index:10;display:flex;gap:3px;border-radius:8px;height:44px}.map-overlay-image{cursor:pointer;border-radius:5px;padding:2px;width:40px;height:40px}.ag-balloon{z-index:9999;background-color:red;background:red}.zoomControl{display:flex;width:40px;flex-direction:column;align-items:center;justify-content:center;position:fixed;bottom:150px;right:20px;background-color:#ccc;padding:5px;border-radius:8px;z-index:1}.zoomControl button{background-color:#f3f3f3;border:none;height:40px;width:40px;padding-top:5px;padding-right:5px;padding-left:5px;font-size:20px;border-radius:5px;cursor:pointer}.zoomControl button:hover{background-color:#f0f0f0}.zoomControl button:active{background-color:#e0e0e0}#zoom-out{margin-top:5px}#fitToScreen{margin-bottom:5px}.zoomControl button:hover{background-color:#e3e3e3}.zoomControl button:active{background-color:#b8b4b4}.view-control{display:flex;width:40px;flex-direction:column;align-items:center;justify-content:center;position:fixed;top:110px;right:20px;background-color:#ccc;padding:5px;border-radius:8px;z-index:1}#plan-view.clicked{background-color:#007496}.view-control button{background-color:#f3f3f3;border:none;height:40px;width:40px;font-size:25px;border-radius:5px;cursor:pointer}.view-control img{width:100%;height:100%;object-fit:contain}#plan-view{margin-top:5px}#plan-view:disabled{opacity:.5;cursor:not-allowed}#report-link{margin-top:5px}#report-link:disabled{opacity:.5;cursor:not-allowed}.view-control button:hover{background-color:#e3e3e3}.view-control button:active{background-color:#b8b4b4}.compass-button{background-color:#f3f3f3;border:none;height:40px;width:40px;font-size:25px;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:5px}.compass-icon{width:100%;height:30px;object-fit:contain}.map-tooltip{position:relative}.map-tooltip[data-tooltip]:after{content:attr(data-tooltip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:#333;color:#fff;padding:5px 9px;border-radius:4px;font-family:Roboto,sans-serif;font-size:12px;font-weight:400;line-height:1.2;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease;z-index:1000}.map-tooltip[data-tooltip]:hover:after,.map-tooltip[data-tooltip]:focus-visible:after{opacity:1;visibility:visible}.map-tooltip[data-tooltip=""]:after{content:none}.map-tooltip:disabled{opacity:.4;cursor:not-allowed}.mouse-coordinate-readout{--text-color: #000;--halo-color: rgba(0, 0, 0);position:absolute;top:10px;left:10px;padding:6px 12px;border-radius:8px;background-color:#eee;color:var(--text-color);font-family:monospace;font-size:14px;z-index:1000;display:flex;flex-direction:row;align-items:center;width:max-content;pointer-events:none}.mouse-coordinates{width:auto}.minimize-icon.rotated{transform:rotate(180deg)}.timeline-minimize-button{position:absolute;top:10px;left:10px;z-index:999}.user-track-layer-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000bf;color:#fff;padding:12px 20px;border-radius:6px;font-size:14px;z-index:1000;pointer-events:none}:root{--timeline-primary: #2EC6F0;--timeline-primary-hover: #007a8a;--timeline-line-color: #84defa;--timeline-bg-selected-ref: #cee9ac;--timeline-bg-selected-diff: #ffcdd2;--timeline-bg-selected-ref-hover: #b6d994;--timeline-bg-selected-diff-hover: #f8b9bd;--timeline-border-color: #ccc;--timeline-bg-container: rgba(224, 224, 224, .6);--timeline-bg-month-even: #FAFAFA;--timeline-bg-month-odd: #FFFFFF;--timeline-bg-white: #ffffff;--timeline-text-primary: #333;--timeline-text-secondary: #666;--timeline-bg-hover: #f0f0f0;--timeline-bg-active: #e0e0e0;--timeline-bg-lightblue: lightblue;--timeline-padding: 40px;--timeline-padding-small: 15px;--timeline-padding-large: 55px;--timeline-gap-small: 4px;--timeline-gap-medium: 8px;--timeline-gap-large: 15px;--timeline-container-height: 130px;--timeline-header-height: 40px;--timeline-surface-item-height: 100px;--timeline-surface-list-min-height: 110px;--timeline-line-height: 5px;--timeline-line-bottom: 60px;--timeline-surface-image-size: 22px;--timeline-surface-image-grouped-size: 26px;--timeline-scroll-control-size: 32px;--timeline-scroll-control-icon-size: 20px;--timeline-font-family: "Roboto", sans-serif;--timeline-font-size-small: 12px;--timeline-font-size-base: 13px;--timeline-font-size-medium: 14px;--timeline-font-size-large: 16px;--timeline-font-size-xl: 18px;--timeline-z-base: 0;--timeline-z-background: 0;--timeline-z-separator: 1;--timeline-z-label: 2;--timeline-z-header: 2;--timeline-z-surface: 5;--timeline-z-control: 10;--timeline-z-tooltip: 1002;--timeline-z-scroll-control: 1000;--timeline-z-accordion: 1000;--timeline-z-accordion-item: 1001;--timeline-transition-fast: .2s ease;--timeline-transition-base: .3s ease;--timeline-transition-slow: .3s ease-in-out;--timeline-radius-small: 4px;--timeline-radius-medium: 8px;--timeline-radius-large: 10px;--timeline-radius-round: 20px;--timeline-radius-circle: 50%}.timeline-container{width:100%;height:var(--timeline-container-height);background-color:var(--timeline-bg-container);position:absolute;bottom:0;left:0;border-top:2px solid var(--timeline-border-color);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-sizing:border-box;overflow:visible;z-index:1000;transition:height var(--timeline-transition-base)}.timeline-container.minimized{height:var(--timeline-header-height)}.timeline-container.minimized .timeline-inner{overflow:hidden;height:100%}.timeline-inner{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;position:relative;box-sizing:border-box;overflow:visible}.timeline-header{width:100%;height:var(--timeline-header-height);background-color:var(--timeline-bg-white);font-size:var(--timeline-font-size-large);border-bottom:2px solid var(--timeline-border-color);display:flex;justify-content:space-between;align-items:center;font-family:var(--timeline-font-family);padding-right:50px;box-sizing:border-box;position:relative;overflow:visible;z-index:1001}.timeline-header-separator-left{position:absolute;left:50px;width:2px;background-color:var(--timeline-border-color);height:30px;top:50%;transform:translateY(-50%);z-index:var(--timeline-z-separator)}.timeline-header-separator-right{position:absolute;right:112px;width:2px;background-color:var(--timeline-border-color);height:30px;top:50%;transform:translateY(-50%);z-index:var(--timeline-z-separator)}.timeline-header:has(.timeline-scroll-control) .timeline-header-separator-left{left:44px}.timeline-project-name{font-weight:700;width:240px;min-width:240px;max-width:240px;overflow:visible;text-overflow:ellipsis;white-space:nowrap;text-align:center;flex-shrink:0;position:relative;display:flex;align-items:center;justify-content:center}.timeline-project-prefix{margin-right:10px}.timeline-project-name-clickable{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:space-between;flex:1;min-width:0;padding-left:8px;padding-right:8px}.timeline-project-name-clickable:hover{background-color:#0000000d;border-radius:3px}.timeline-project-name-arrow{margin-left:8px;font-size:10px;color:#666;display:inline-block;transition:transform .2s ease}.timeline-project-name-clickable:hover .timeline-project-name-arrow{color:#333}.timeline-project-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.timeline-project-name-caret{width:var(--timeline-scroll-control-icon-size);height:var(--timeline-scroll-control-icon-size);display:block;flex-shrink:0;margin-left:auto}.timeline-project-name-tooltip{position:absolute;top:calc(100% + 5px);left:0;background-color:var(--timeline-bg-container);border:.5px solid var(--timeline-border-color);border-radius:var(--timeline-radius-small);padding:4px;box-shadow:0 4px 8px #00000026;width:200px;min-width:200px;max-width:200px;font-family:var(--timeline-font-family);font-size:var(--timeline-font-size-small);font-weight:500}.timeline-project-name-tooltip:after{content:"";position:absolute;bottom:100%;left:10px;border-width:4px;border-style:solid;border-color:transparent transparent #f5f5f5 transparent}.timeline-confirm-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.timeline-confirm-dialog{background-color:#fff;border-radius:8px;padding:20px;min-width:400px;max-width:500px;box-shadow:0 4px 12px #0000004d}.timeline-edit-modal-overlay{position:fixed;top:0;left:65px;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10001}.timeline-edit-modal{font-family:var(--timeline-font-family);background-color:#fff;border-radius:var(--timeline-radius-medium);box-shadow:0 4px 20px #0003;min-width:320px;max-width:480px;max-height:85vh;overflow-y:auto;margin:auto}.timeline-edit-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--timeline-border-color)}.timeline-edit-modal-header h3{margin:0;font-family:var(--timeline-font-family);font-size:var(--timeline-font-size-medium);font-weight:600;color:var(--timeline-text-primary)}.timeline-edit-modal-close{background:none;border:none;font-family:var(--timeline-font-family);font-size:24px;line-height:1;cursor:pointer;color:#666;padding:0 4px}.timeline-edit-modal-close:hover:not(:disabled){color:#333}.timeline-edit-modal-body{padding:16px}.timeline-edit-form{display:flex;flex-direction:column;gap:12px}.timeline-edit-form-error{font-family:var(--timeline-font-family);color:#c62828;font-size:var(--timeline-font-size-small);margin:0 0 4px}.timeline-edit-label{font-family:var(--timeline-font-family);font-size:var(--timeline-font-size-base);font-weight:600;color:var(--timeline-text-primary)}.timeline-edit-input{box-sizing:border-box;padding:8px 10px;font-family:var(--timeline-font-family);font-size:var(--timeline-font-size-medium);border:1px solid var(--timeline-border-color);border-radius:4px}.timeline-edit-modal select.timeline-edit-input{cursor:pointer}.timeline-edit-input:focus{outline:none;border-color:var(--timeline-primary)}.timeline-edit-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.timeline-edit-button{padding:8px 16px;font-family:var(--timeline-font-family);font-size:var(--timeline-font-size-medium);border-radius:4px;cursor:pointer;border:1px solid var(--timeline-border-color)}.timeline-edit-button-primary{background-color:var(--timeline-primary);color:var(--timeline-bg-white);border-color:var(--timeline-primary)}.timeline-edit-button-primary:hover:not(:disabled){background-color:var(--timeline-primary-hover);border-color:var(--timeline-primary-hover)}.timeline-edit-button-secondary{background-color:var(--timeline-bg-white);color:var(--timeline-text-primary)}.timeline-edit-button-secondary:hover:not(:disabled){background-color:var(--timeline-bg-hover)}.timeline-edit-button:disabled{opacity:.6;cursor:not-allowed}.timeline-project-edit-wrap{display:flex;align-items:center;padding-right:var(--timeline-padding-small);margin-right:var(--timeline-padding-small);border-right:2px solid var(--timeline-border-color)}.timeline-project-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:none;border:1px solid transparent;border-radius:4px;cursor:pointer;color:#555}.timeline-project-edit-btn:hover{background-color:#0000000f;color:#333;border-color:var(--timeline-border-color)}.timeline-project-edit-btn img{width:16px;height:16px;pointer-events:none}.timeline-surface-edit-btn{display:inline-flex;align-items:center;justify-content:center;padding:2px;border:1px solid transparent;border-radius:4px;background:transparent;cursor:pointer;color:#555}.timeline-surface-edit-btn:hover{background-color:#0000000f;color:#333;border-color:var(--timeline-border-color)}.timeline-surface-edit-btn img{width:20px;height:20px;pointer-events:none;display:block}.timeline-confirm-dialog-content{margin-bottom:20px;font-size:var(--timeline-font-size-medium);color:var(--timeline-text-primary);line-height:1.5}.timeline-confirm-dialog-buttons{display:flex;justify-content:flex-end;gap:10px}.timeline-confirm-button{padding:8px 16px;border:1px solid var(--timeline-border-color);border-radius:4px;font-size:var(--timeline-font-size-base);cursor:pointer;transition:background-color .2s ease}.timeline-confirm-button.timeline-confirm-cancel{background-color:#fff;color:var(--timeline-text-primary)}.timeline-confirm-button.timeline-confirm-cancel:hover{background-color:var(--timeline-bg-hover)}.timeline-confirm-button.timeline-confirm-ok{background-color:var(--timeline-primary);color:#fff;border-color:var(--timeline-primary)}.timeline-confirm-button.timeline-confirm-ok:hover{background-color:var(--timeline-primary-hover);border-color:var(--timeline-primary-hover)}.timeline-project-dropdown{font-family:var(--timeline-font-family);position:absolute;bottom:100%;left:20px;margin-bottom:2px;background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;z-index:10050;max-height:400px;overflow-y:auto;min-width:240px;max-width:400px}.timeline-project-dropdown-portal{left:0}.timeline-header:has(.timeline-scroll-control) .timeline-project-dropdown{left:75px}.timeline-project-dropdown-item{text-align:left;padding:8px 12px;cursor:pointer;border-bottom:1px solid #eee;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:background-color .2s ease}.timeline-project-dropdown-item:last-child{border-bottom:none}.timeline-project-dropdown-item:hover{background-color:#f0f0f0}.timeline-project-dropdown-item:active{background-color:#e0e0e0}.timeline-header-project-and-edit{display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:75px;padding-right:var(--timeline-padding-small)}.timeline-header-project-and-edit .timeline-project-name{margin-left:0;margin-top:0;margin-bottom:0;padding-right:0;border-right:none}.timeline-header:has(.timeline-scroll-control) .timeline-project-name{margin-left:0;border-right:none}.timeline-date{position:absolute;left:379px;top:50%;transform:translateY(-50%);z-index:var(--timeline-z-separator);text-align:center}.timeline-checkbox{position:absolute;right:136px;top:50%;transform:translateY(-50%);height:22px;z-index:var(--timeline-z-control);white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:var(--timeline-gap-large)}.timeline-selected-surface{position:absolute;left:379px;top:50%;transform:translateY(-50%);font-size:var(--timeline-font-size-medium);font-family:var(--timeline-font-family);color:var(--timeline-text-primary);font-weight:500;max-width:calc(100% - 709px);text-align:left;display:flex;align-items:center;gap:10px;z-index:var(--timeline-z-control)}.timeline-selected-surface-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:220px;flex-shrink:1;min-width:0}.timeline-selected-surface-info{display:flex;flex-direction:column;gap:2px;min-width:0}.timeline-selected-surface-pending{font-size:10px;color:#999;font-weight:400;white-space:nowrap}.timeline-profile-dropdowns{display:flex;align-items:center;gap:24px}.timeline-profile-dropdown-group{display:flex;align-items:center;gap:6px;position:relative}.timeline-profile-dropdown-tooltip{position:absolute;top:calc(100% + 5px);left:0;background-color:var(--timeline-bg-container);border:.5px solid var(--timeline-border-color);border-radius:var(--timeline-radius-small);padding:4px 8px;box-shadow:0 4px 8px #00000026;min-width:200px;max-width:260px;font-family:var(--timeline-font-family);font-size:var(--timeline-font-size-small);font-weight:500;color:var(--timeline-text-primary);white-space:normal;z-index:10060;pointer-events:none}.timeline-profile-dropdown-tooltip:after{content:"";position:absolute;bottom:100%;left:10px;border-width:4px;border-style:solid;border-color:transparent transparent #f5f5f5 transparent}.timeline-profile-dropdown-prefix{font-family:var(--timeline-font-family);font-size:var(--timeline-font-size-medium);color:var(--timeline-text-primary);font-weight:500}.timeline-profile-dropdown-trigger{font-family:var(--timeline-font-family);font-size:var(--timeline-font-size-medium);font-weight:500;display:inline-flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 6px;background-color:#ffffff4d;color:var(--timeline-text-primary);border:1px solid rgba(255,255,255,.8);border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;max-width:220px;transition:background-color .15s ease}.timeline-profile-dropdown-trigger:hover,.timeline-profile-dropdown-trigger.open{background-color:#0000000f}.timeline-profile-dropdown-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.timeline-profile-dropdown-caret{width:var(--timeline-scroll-control-icon-size);height:var(--timeline-scroll-control-icon-size);display:block;flex-shrink:0}.timeline-profile-dropdown-caret-up{transform:rotate(180deg)}.timeline-profile-dropdown-menu{font-family:var(--timeline-font-family);background-color:#fff;border:1px solid #ccc;border-radius:4px;box-shadow:0 2px 8px #00000026;z-index:10050;max-height:320px;overflow-y:auto;min-width:220px;max-width:360px}.timeline-profile-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;border-bottom:1px solid #eee;font-size:var(--timeline-font-size-small);color:var(--timeline-text-primary);transition:background-color .15s ease}.timeline-profile-dropdown-item:last-child{border-bottom:none}.timeline-profile-dropdown-item:hover{background-color:#f0f0f0}.timeline-profile-dropdown-item.selected{background-color:#e6f4f8}.timeline-profile-dropdown-radio{display:inline-flex;align-items:center;justify-content:center;width:16px;color:var(--timeline-primary);font-size:14px;flex-shrink:0}.timeline-profile-dropdown-checkbox{margin:0;flex-shrink:0;accent-color:var(--timeline-primary);pointer-events:none}.timeline-profile-dropdown-item-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.timeline-profile-dropdown-empty{padding:12px;text-align:center;color:var(--timeline-text-secondary);font-size:var(--timeline-font-size-small)}.timeline-view-mode-buttons{display:flex;gap:5px;align-items:center;margin-left:10px}.timeline-view-button{padding:4px 12px;font-size:var(--timeline-font-size-small);border:1px solid var(--timeline-border-color);background-color:var(--timeline-bg-white);color:var(--timeline-text-primary);cursor:pointer;border-radius:var(--timeline-radius-small);transition:all var(--timeline-transition-fast)}.timeline-view-button:hover:not(:disabled):not(.active){background-color:var(--timeline-bg-hover);border-color:#999}.timeline-view-button.active{background-color:var(--timeline-primary);color:var(--timeline-bg-white);border-color:var(--timeline-primary)}.timeline-view-button.active:hover{background-color:var(--timeline-primary-hover);border-color:var(--timeline-primary-hover)}.timeline-view-button:disabled{opacity:.5;cursor:not-allowed}.timeline-view-button-icon{padding:2px;display:inline-flex;align-items:center;justify-content:center}.timeline-view-button-home-icon{width:18px;height:18px;display:block}.timeline-view-button-icon .timeline-view-button-home-icon{filter:none}.timeline-view-button-icon.active .timeline-view-button-home-icon{filter:brightness(0) invert(1)}.timeline-dxf-import-btn{background-color:var(--timeline-primary);border:1px solid var(--timeline-primary);border-radius:var(--timeline-radius-small);padding:4px;cursor:pointer;transition:background-color var(--timeline-transition-fast),border-color var(--timeline-transition-fast)}.timeline-dxf-import-btn:hover{background-color:var(--timeline-primary-hover);border-color:var(--timeline-primary-hover)}.timeline-dxf-import-btn img{display:block;width:20px;height:20px;filter:brightness(0) invert(1)}.timeline-scroll-control{position:absolute;top:50%;transform:translateY(-50%);width:var(--timeline-scroll-control-size);height:var(--timeline-scroll-control-size);background-color:transparent;border:none;border-radius:var(--timeline-radius-circle);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:var(--timeline-z-scroll-control);transition:all var(--timeline-transition-fast);box-shadow:none;-webkit-user-select:none;user-select:none;padding:0}.timeline-scroll-control img{width:var(--timeline-scroll-control-icon-size);height:var(--timeline-scroll-control-icon-size);display:block}.timeline-scroll-control:hover:not(:disabled){background-color:transparent;box-shadow:none;transform:translateY(-50%) scale(1.1)}.timeline-scroll-control:hover:not(:disabled) img{opacity:.7}.timeline-scroll-control:active:not(:disabled){transform:translateY(-50%) scale(.95)}.timeline-scroll-control:disabled{opacity:.4;cursor:not-allowed}.timeline-scroll-control:disabled img{opacity:.3}.timeline-scroll-left{left:10px}.timeline-scroll-right{right:76px;z-index:var(--timeline-z-scroll-control)}.timeline-header .timeline-scroll-control{top:50%;transform:translateY(-50%)}.timeline-month-bg{position:absolute;top:0;bottom:0;height:100%;z-index:var(--timeline-z-background);pointer-events:none;display:flex;flex-direction:column;justify-content:flex-end;min-width:0}.timeline-month-bg.even{background-color:var(--timeline-bg-month-even)}.timeline-month-bg.odd{background-color:var(--timeline-bg-month-odd)}.timeline-month-bg.is-first{left:var(--timeline-padding)}.timeline-month-bg.is-last{right:var(--timeline-padding)}.timeline-month-label{position:absolute;bottom:5px;left:50%;transform:translate(-50%);font-size:var(--timeline-font-size-small);font-family:var(--timeline-font-family);color:var(--timeline-text-primary);text-align:center;white-space:nowrap;z-index:var(--timeline-z-label);pointer-events:none}.timeline-year-label{position:absolute;top:calc(var(--timeline-header-height) + 2px);left:50%;transform:translate(-50%);font-size:10px;font-family:var(--timeline-font-family);color:var(--timeline-text-secondary);font-weight:600;white-space:nowrap;z-index:var(--timeline-z-label);pointer-events:none}.timeline-month-separator{position:absolute;left:0;top:0;bottom:0;width:1px;background-color:#e0e0e0;z-index:var(--timeline-z-label);pointer-events:none}.timeline-surface-list{position:relative;width:100%;padding:var(--timeline-padding-small) var(--timeline-padding) var(--timeline-padding-large) var(--timeline-padding);min-height:var(--timeline-surface-list-min-height);box-sizing:border-box;overflow-x:hidden;overflow-y:visible}.timeline-line{position:absolute;bottom:var(--timeline-line-bottom);left:0;right:0;height:var(--timeline-line-height);z-index:var(--timeline-z-background)}.timeline-line-interactive{cursor:context-menu}.timeline-surface-item{display:flex;flex-direction:column;align-items:center;text-align:center;height:var(--timeline-surface-item-height);overflow:visible;position:absolute;top:10px;z-index:var(--timeline-z-surface);cursor:grab}.timeline-surface-item:active{cursor:grabbing}.timeline-surface-item.dragging{opacity:.5}.timeline-surface-item.drag-over{border:2px dashed var(--timeline-primary);border-radius:var(--timeline-radius-small);background-color:#0097ba1a}.timeline-surface-item:has(.timeline-surface-group-accordion){overflow:visible;z-index:var(--timeline-z-accordion-item)}.timeline-surface-image{width:var(--timeline-surface-image-size);height:var(--timeline-surface-image-size);position:absolute;bottom:40px;left:50%;transform:translate(-50%,-50%);transform-origin:center;cursor:pointer;z-index:var(--timeline-z-control);object-fit:contain}.timeline-surface-image.grouped{width:var(--timeline-surface-image-grouped-size);height:var(--timeline-surface-image-grouped-size);bottom:38px}.timeline-surface-halo{position:absolute;bottom:24px;left:50%;transform:translate(-50%,-50%);transform-origin:center;width:38px;height:38px;z-index:13;pointer-events:none}.timeline-surface-item:has(.timeline-surface-image.grouped) .timeline-surface-halo{width:32px;height:33px;bottom:29px}.timeline-vertical-blue-bar{position:absolute;top:-10px;bottom:0;left:50%;transform:translate(-50%);width:3px;background-color:#348718;z-index:12;pointer-events:none;border-radius:1.5px;overflow:visible}.timeline-vertical-red-bar{position:absolute;top:-10px;bottom:0;left:50%;transform:translate(-50%);width:3px;background-color:#d32f2f;z-index:12;pointer-events:none;border-radius:1.5px;overflow:visible}.timeline-ref-badge,.timeline-diff-badge{position:absolute;bottom:5px;left:50%;transform:translate(-50%);width:32px;height:20px;z-index:16;pointer-events:none}.timeline-surface-name{font-size:var(--timeline-font-size-base);font-weight:400;text-align:center;font-family:var(--timeline-font-family);margin-bottom:2px;margin-top:0;padding-top:0;padding-bottom:0}.timeline-surface-name,.timeline-date-text{font-size:var(--timeline-font-size-base);padding-bottom:25px;padding-top:14px;font-family:var(--timeline-font-family);text-align:center;white-space:nowrap;line-height:1.2;transition:all var(--timeline-transition-base)}.timeline-surface-name.selected,.timeline-date-text.selected{padding-top:12px;font-size:var(--timeline-font-size-base);padding-bottom:25px;font-weight:400;transform:scale(1.15);transition:transform var(--timeline-transition-base)}.timeline-surface-item:hover .timeline-surface-name,.timeline-surface-item:hover .timeline-date-text{transform:scale(1.15);transition:transform var(--timeline-transition-base)}.timeline-surface-item:hover .timeline-surface-image,.timeline-surface-item:hover .boxStyle{transform:translate(-50%,-50%) scale(1.15);transition:transform var(--timeline-transition-base)}.timeline-surface-item.balloon-highlight .timeline-surface-image{outline:2px solid var(--timeline-primary);outline-offset:3px;border-radius:50%}.selected-image{transform:translate(-50%,-50%) scale(1.15);transition:transform var(--timeline-transition-base)}.selected-image.ref{background-color:var(--timeline-bg-selected-ref)}.selected-image.diff{background-color:var(--timeline-bg-selected-diff)}.boxStyle{position:absolute;bottom:43px;left:50%;transform:translate(-50%,-50%);transform-origin:center;z-index:var(--timeline-z-control)}.icon-style{width:32px;height:20px}.label-text{display:inline-block}.timeline-surface-group-accordion{background-color:var(--timeline-bg-white);border:.5px solid var(--timeline-border-color);border-radius:var(--timeline-radius-small);box-shadow:0 2px 8px #00000026;z-index:10001;width:200px;min-width:200px;max-width:200px;max-height:300px;overflow-y:auto;visibility:visible!important;opacity:1!important;display:block!important}.timeline-surface-group-item{padding:4px 8px;cursor:pointer;border-bottom:.5px solid #eee;font-size:var(--timeline-font-size-small);color:var(--timeline-text-primary);transition:background-color var(--timeline-transition-fast);display:flex;flex-direction:column;gap:2px}.timeline-surface-group-item:last-child{border-bottom:none}.timeline-surface-group-item:hover{background-color:var(--timeline-bg-hover)}.timeline-surface-group-item:active{background-color:var(--timeline-bg-active)}.timeline-surface-tooltip{pointer-events:auto;visibility:visible!important;opacity:1!important;display:block!important}.timeline-tooltip-content{background-color:var(--timeline-bg-white);border:3px solid var(--timeline-primary);border-radius:var(--timeline-radius-small);padding:8px;box-shadow:0 4px 12px #0097ba26;width:220px;min-width:220px;max-width:220px;font-family:var(--timeline-font-family)}.timeline-tooltip-content-edit{font-family:var(--timeline-font-family);padding:16px;min-width:280px;width:280px}.timeline-tooltip-header{margin-bottom:3px;text-align:left}.timeline-tooltip-icon{width:20px;height:20px;flex-shrink:0}.timeline-tooltip-icon-container{display:flex;align-items:center;gap:4px}.timeline-tooltip-name{font-weight:400;font-size:var(--timeline-font-size-small);color:var(--timeline-text-primary);margin-bottom:1px}.timeline-tooltip-date{font-size:11px;color:var(--timeline-text-secondary);margin:0 0 0 24px;padding:0;text-align:left}.timeline-tooltip-edit{display:flex;flex-direction:column;gap:12px}.timeline-tooltip-edit .timeline-edit-label{display:block;margin-bottom:4px}.timeline-tooltip-edit .timeline-edit-input{width:100%}.timeline-tooltip-edit .timeline-edit-actions{margin-top:0}.timeline-tooltip-edit button:hover{opacity:.9}.timeline-tooltip-edit button:active{opacity:.8}.custom-tooltip-box{align-items:flex-start;position:absolute;display:flex;bottom:35px;right:50px;width:280px;background-color:var(--timeline-bg-white);border:1px solid var(--timeline-border-color);border-radius:var(--timeline-radius-large);padding:10px 12px;z-index:var(--timeline-z-tooltip);font-size:var(--timeline-font-size-small);line-height:1.4;color:var(--timeline-text-primary);flex-wrap:wrap;box-shadow:0 4px 8px #0000001a;animation:fadeIn var(--timeline-transition-slow);text-overflow:ellipsis}.custom-tooltip-box:after{content:"";position:absolute;bottom:-10px;right:20px;border-width:6px;border-style:solid;border-color:var(--timeline-bg-white) transparent transparent transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.info-icon{width:18px;height:18px;flex-shrink:0}.custom-toggle{width:100px;height:14px;background-color:var(--timeline-bg-white);border-radius:var(--timeline-radius-round);display:flex;align-items:center;position:relative;cursor:pointer;padding:5px;top:1px;margin-bottom:5px;color:#000;font-weight:500;font-size:var(--timeline-font-size-small);-webkit-user-select:none;user-select:none}.toggle-option{width:50%;text-align:center;cursor:pointer;position:relative;z-index:2;transition:color var(--timeline-transition-base),background-color var(--timeline-transition-base);border-radius:var(--timeline-radius-round);display:flex;justify-content:center;align-items:center}.toggle-option.ref{color:#000;background-color:var(--timeline-bg-selected-ref)}.toggle-option.diff{color:#000;background-color:var(--timeline-bg-selected-diff)}.toggle-slider{position:absolute;width:50%;height:50%;border-radius:var(--timeline-radius-round);top:15%;transition:all var(--timeline-transition-base);z-index:1}.toggle-option.ref:hover{background-color:var(--timeline-bg-selected-ref-hover);box-shadow:0 0 5px #0003;transform:scale(1.15)}.toggle-option.diff:hover{background-color:var(--timeline-bg-selected-diff-hover);box-shadow:0 0 5px #0003;transform:scale(1.15)}.timeline-surface-item.db-origin{opacity:.7}.timeline-surface-image.db-origin-icon{border:1.5px dashed #999;border-radius:var(--timeline-radius-circle);padding:1px;opacity:.75}.timeline-db-pending-badge{position:absolute;bottom:56px;left:50%;transform:translate(4px);z-index:16;pointer-events:none;display:flex;align-items:center;justify-content:center}.timeline-db-pending-dot{display:block;width:6px;height:6px;border-radius:var(--timeline-radius-circle);background-color:#f0a500;border:1px solid #fff;box-shadow:0 0 2px #0003}.timeline-minimize-button{position:absolute;cursor:pointer;margin-top:-34px;left:47%;transform:translate(-50%) rotate(0);display:flex;width:52px;height:24px;justify-content:center;align-items:center;gap:8px;border-radius:4px 4px 0 0;border:2px solid var(--Background-back, #CCC);background:#fafafabf;transition:background .3s ease;z-index:999}.timeline-minimize-button:hover{background:#fafafa}.wastebasket-icon-button{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:4px;border-radius:4px;color:#666;transition:color .2s ease,background-color .2s ease}.wastebasket-icon-button:hover{color:#d32f2f;background-color:#d32f2f14}.wastebasket-icon-button:active{color:#b71c1c;background-color:#d32f2f26}.wastebasket-icon-button:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.feature-tree-node{margin-left:0;font-family:Roboto,sans-serif;padding-bottom:0;margin-top:-2px;min-width:0}.feature-tree-node .feature-tree-node{margin-left:12px;font-weight:400}.feature-tree-node-header{display:flex;align-items:center;font-weight:400;margin-left:0;line-height:1;min-height:18px}.tileset-header,.raster-layer-header{min-height:18px;min-width:0}.selected-feature{background-color:#007bff1a}.feature-tree-node-checkbox{margin-left:0}.feature-tree-node-button .MuiIconButton-root{padding:2px;margin-right:-4px}.feature-tree-node-header .MuiCheckbox-root{margin-left:0;margin-right:6px;padding:2px}.feature-tree-node-label{flex:1;min-width:0;cursor:pointer;font-weight:400;font-size:14px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feature-tree-node-label-link{color:#06c;text-decoration:none}.feature-tree-node-label-link:hover{text-decoration:underline}.feature-tree-node-image{margin-right:-5px;margin-left:0}.kml-tree{margin-bottom:-2px;min-width:0}.kml-tree .layer-children{padding-left:12px;gap:0}.kml-tree-header{display:flex;align-items:center;font-size:14px;font-weight:400;font-family:Roboto,sans-serif}.kml-tree-children{margin-left:0}.layer-file-link{font-size:12px;color:#0097ba;text-decoration:none;margin-left:8px;white-space:nowrap}.layer-file-link:hover{text-decoration:underline}.tileset-container{display:flex;flex-direction:column;font-weight:400;gap:0;min-width:0}.tileset-header{display:flex;align-items:center}.tileset-subitem{display:flex;align-items:center;margin-left:6px}.tileset-label{flex:1;min-width:0;font-size:14px;font-family:Roboto,sans-serif;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.raster-layer-container{width:auto;display:flex;font-weight:400;flex-direction:column;min-width:0}.raster-layer-header{display:flex;align-items:center}.raster-layer-label{flex:1;min-width:0;font-size:14px;font-family:Roboto,sans-serif;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-tree-container{min-width:350px;min-height:200px;width:auto;max-height:none;height:auto}.surface-section{margin-bottom:0;margin-top:6px;font-weight:400}.surface-section:first-child{margin-top:0}.surface-section-plans .surface-header,.surface-section-plans .layer-children{margin-left:0}.surface-section-single .layer-children{padding-left:0;margin-left:-10px}.surface-section-single+.surface-section-single{margin-top:-4px}.surface-section-single .feature-tree-node>div:first-child,.surface-section-single .raster-layer-header>div:first-child,.surface-section-single .tileset-header>div:first-child{width:0!important;min-width:0!important}.surface-section-plans .layer-children{gap:8px}.layer-tree-item-highlighted{background-color:#007bff1f;border-radius:4px;margin:1px 0}.surface-section-plans .raster-layer-header>div:first-child,.surface-section-plans .tileset-header>div:first-child{margin-left:6px}.surface-section-plans .raster-layer-header img{margin-left:10px;margin-right:1px;width:12px!important;height:12px!important}.surface-section-plans .raster-layer-header .raster-layer-label{margin-left:3px}.surface-header{font-weight:400;font-size:14px;display:flex;align-items:center;cursor:pointer;font-family:Roboto,sans-serif;min-width:0;overflow:hidden}.surface-header-label{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layer-children{display:flex;flex-direction:column;font-weight:400;padding-left:12px;margin-top:1px;gap:0}.layer-children>.tileset-container,.layer-children>.raster-layer-container,.layer-children>.kml-tree,.layer-children>.feature-tree-node,.layer-children>.layer-file-entry{margin:0;min-width:0}.floating-button-container{position:absolute;bottom:142px;left:10px;z-index:1}.floating-button-content{margin-bottom:5px;padding:10px;background:#fafafa;box-shadow:0 4px 6px #0000001a;border-radius:8px;width:auto;min-width:260px;transition:background .3s ease}.floating-button{display:flex;align-items:center;justify-content:flex-start;font-size:14px;min-width:220px;width:max-content;padding:10px;margin-left:2px;background-color:#eeee;border:2px solid #cccc;border-radius:12px;margin-bottom:2px;cursor:pointer;font-family:Roboto,sans-serif;transition:all .3s ease-in-out}.floating-button:hover{background-color:#f3f3f3;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 0 10px #0000001a}.floating-button-header{display:flex;justify-content:space-between;align-items:center;font-size:16px;height:30px;margin:-12px -10px 10px;font-weight:400;font-size:large;border-top:1px solid #ccc;padding:12px 18px;background-color:#eee;border-radius:12px 12px 0 0;font-family:Roboto,sans-serif;white-space:nowrap;min-width:0}.floating-button-header span{white-space:nowrap}.close-button{background:transparent;border:none;font-size:18px;cursor:pointer;color:#555;transition:color .3s ease}.close-button:hover{color:red}.floating-button-icon{margin-left:4px;margin-right:8px;width:20px;height:20px;flex-shrink:0}.floating-button-chevron{margin-right:4px;width:20px;height:20px;flex-shrink:0;transform:rotate(-90deg);margin-left:auto;margin-bottom:2px}.rotate-up{transform:rotate(-0deg)}.surface-toggle-icon{display:inline-block;transform:rotate(-90deg);transition:transform .2s ease;margin-right:6px}.surface-toggle-icon.expanded{transform:rotate(-90deg)}.kml-placemark-location-icon{width:16px;height:16px;margin:2px;display:flex}.kml-feature-icon{margin-top:10px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.floating-button-footer{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:16px;margin:10px -10px -12px;padding:12px 18px;background-color:#eee;border-radius:0 0 8px 8px;border-bottom:1px solid #ccc;font-family:Roboto,sans-serif;height:30px}.selected-feature-slider{flex:1;padding:0 10px;width:40px}.footer-toggle{display:flex;align-items:center}.toggle-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:5px;border:none;cursor:pointer;transition:all .2s ease-in-out;outline:none;padding:0;margin:0}.toggle-button.on{background-color:#007496}.toggle-button.off{background-color:#fafafa}.toggle-button img{width:20px;height:20px}.toggle-icon path{transition:fill .2s ease}.toggle-icon.on-icon path{fill:#fff}.toggle-icon.off-icon path{fill:#000}.resizable-panel{overflow-y:auto;max-height:calc(100vh - 100px);position:relative}.resize-handle{position:absolute;background:transparent;z-index:10;cursor:ns-resize;-webkit-user-select:none;user-select:none;display:flex;align-items:center;justify-content:center;transition:background .2s ease-in-out}.resize-handle.top-edge{top:0;left:0;right:0;height:6px;cursor:ns-resize}.resize-handle.right-edge{top:0;bottom:2px;right:2px;width:6px;height:100%;justify-content:center;cursor:ew-resize}.resize-icon{font-size:18px;color:#aaa;display:flex;align-items:center;justify-content:center;transition:transform .2s ease;pointer-events:none}.resize-handle:hover .resize-icon{transform:scale(1.3);animation:rotateDots 1s linear infinite;color:#444}.resize-handle{display:flex;align-items:center;justify-content:center}.resize-handle .resize-icon{color:#666;font-size:16px;pointer-events:none}.resizable-panel.vertical{max-height:1500px}.resizable-panel.horizontal{max-width:600px}@keyframes rotateDots{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.published-data-section{border-top:1px solid #e0e0e0;margin-top:4px;padding-top:4px}.published-data-header{display:flex;align-items:center;cursor:pointer;padding:4px;border-radius:4px;-webkit-user-select:none;user-select:none}.published-data-header:hover{background-color:#f5f5f5}.published-data-header-label{font-size:14px;font-weight:500;color:#333;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.published-data-header-meta{font-size:11px;color:#888;margin-left:8px;white-space:nowrap}.published-data-content{padding-left:8px}.published-data-group{margin-top:2px}.published-data-group-header{display:flex;align-items:center;cursor:pointer;padding:3px 4px;border-radius:4px;-webkit-user-select:none;user-select:none}.published-data-group-header:hover{background-color:#f5f5f5}.published-data-group-label{font-size:13px;font-weight:400;color:#333;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.published-data-items{padding-left:12px}.published-data-subgroup{margin-top:2px}.published-data-subgroup-header{font-size:12px;font-weight:500;color:#666;padding:2px 4px;margin-top:4px;border-bottom:1px solid #eee}.published-data-item{display:flex;align-items:center;padding:2px 4px;cursor:pointer;border-radius:3px;min-height:20px}.published-data-item:hover{background-color:#0097ba14}.published-data-item-color{width:10px;height:10px;border-radius:2px;margin-right:6px;flex-shrink:0}.published-data-link{font-size:13px;color:#0097ba;text-decoration:none;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.published-data-link:hover{text-decoration:underline;color:#007a8a}.published-data-item-meta{font-size:11px;color:#888;margin-left:8px;white-space:nowrap}.published-data-item-more{font-size:12px;color:#0097ba;padding:2px 4px;cursor:pointer}.published-data-item-more:hover{text-decoration:underline}.published-balloon{font-family:Roboto,sans-serif;min-width:300px;max-width:520px;padding:16px 20px}.published-balloon-header{display:flex;justify-content:space-between;align-items:flex-start;position:relative}.published-balloon-title{font-weight:700;font-size:20px;color:#000}.published-balloon-close{background:none;border:none;cursor:pointer;font-size:16px;color:#333;position:absolute;top:-16px;right:-20px;padding:4px;line-height:1}.published-balloon-close:hover{color:#000}.published-balloon-subtitle{color:#666;font-size:14px;margin-top:12px;text-align:left}.published-balloon-divider{border:none;border-top:1px solid #e0e0e0;margin:16px 0 20px}.published-balloon-table{border-collapse:collapse;width:auto;font-size:12px;color:#333;border:1px solid #e0e0e0;margin-bottom:16px}.published-balloon-table tr:nth-child(2n){background-color:transparent}.published-balloon-label{padding:8px 32px 8px 16px;text-align:left;font-weight:600;white-space:nowrap;background-color:#fff;border:1px solid #e0e0e0}.published-balloon-value{padding:8px 32px;text-align:left;background-color:#f5f5f5;border:1px solid #e0e0e0}.published-balloon-detail-table{border-collapse:collapse;width:100%;font-size:13px;color:#333;border:1px solid #e0e0e0}.published-balloon-detail-table th{background-color:#f5f5f5;font-weight:600;text-align:left;padding:8px 12px;border-bottom:1px solid #e0e0e0;white-space:nowrap}.published-balloon-detail-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0}.published-balloon-detail-table tr:nth-child(2n){background-color:#f9f9f9}.tree-node{display:flex;align-items:center;padding:3px 4px;cursor:pointer;border-radius:4px;-webkit-user-select:none;user-select:none;min-height:24px}.tree-node:hover{background-color:#f5f5f5}.tree-node--selected,.tree-node--selected:hover{background-color:#007bff1f;border-radius:4px}.tree-node-chevron{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:2px;flex-shrink:0}.tree-node-icon{display:flex;align-items:center;margin-right:4px;flex-shrink:0}.tree-node-label{font-size:13px;color:#333;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tree-node-label--link{color:#0097ba;text-decoration:none;cursor:pointer}.tree-node-label--link:hover{text-decoration:underline;color:#007a8a}.tree-node-label--chart{font-weight:600}.tree-node-checkbox{width:14px;height:14px;margin-right:4px;accent-color:#0097BA;cursor:pointer;flex-shrink:0}.tree-node-checkbox:disabled{cursor:not-allowed;opacity:.5}.tree-node-spinner{animation:spin 1s linear infinite;margin-right:4px;flex-shrink:0}.tree-node-error-icon{margin-right:4px;flex-shrink:0}.tree-node-error{font-size:11px;color:#dc2626;margin-left:6px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.phase-surface-subtree{margin-top:1px;padding-left:20px}.phase-surface-subtree .tree-node-checkbox{width:15px;height:15px}.phase-surface-subtree .tree-node-label{font-size:14px}.phase-surface-subtree .tree-node-label:not(.tree-node-label--link){color:#0097ba;font-weight:500}.phase-surface-subtree .tree-node-label--link{color:#2563eb;font-weight:400;cursor:pointer}.phase-surface-subtree .tree-node-label--link:hover{color:#1d4ed8;text-decoration:underline}.phase-surface-subtree .tree-node:has(.tree-node-label--link) .tree-node-icon{display:none}.chart-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:160px;padding:24px;text-align:center;color:#424242}.chart-state__message{margin:0;font-size:14px;line-height:1.4;color:#424242}.chart-state--error .chart-state__message{color:#b71c1c}.chart-state__spinner{display:inline-block;width:28px;height:28px;border:3px solid rgba(25,118,210,.25);border-top-color:#1976d2;border-radius:50%;animation:chart-state-spin .7s linear infinite}@keyframes chart-state-spin{to{transform:rotate(360deg)}}.chart-state__actions{display:flex;gap:12px;margin-top:4px}.chart-state__btn{padding:8px 20px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background-color .2s ease,opacity .2s ease}.chart-state__btn:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.chart-state__btn--retry{background-color:#1976d2;color:#fff}.chart-state__btn--retry:hover{background-color:#1565c0}.chart-state__btn--dismiss{background-color:#f5f5f5;color:#424242}.chart-state__btn--dismiss:hover{background-color:#e0e0e0}.chart-container{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box}.chart-container__body{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:16px;overflow:auto}.depth-bracket-chart{margin:0;padding:0;display:flex;flex-direction:column;align-items:center}.depth-bracket-chart__avg-depth{margin-top:6px;font-size:11px;font-weight:400;color:#333;text-align:center}.depth-bracket-chart__legend{display:grid;grid-template-columns:repeat(3,auto);justify-content:center;gap:4px 24px;margin-top:-28px;padding:6px 8px;border:1px solid #e8e8e8;border-radius:4px;background:#fafafa;position:relative;z-index:1}.depth-bracket-chart__legend-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.depth-bracket-chart__legend-swatch{flex:0 0 12px;width:12px;height:12px;border-radius:2px;display:inline-block}.depth-bracket-chart__legend-label{overflow:hidden;text-overflow:ellipsis}.depth-bracket-chart__tooltip{background:#fff;border:1px solid #cccccc;border-radius:4px;padding:8px 10px;font-size:.8rem;color:#222;box-shadow:0 2px 6px #00000026}.depth-bracket-chart__tooltip-band{margin:0 0 6px;font-weight:600}.depth-bracket-chart__tooltip-list{margin:0;padding:0;list-style:none}.depth-bracket-chart__tooltip-row{display:flex;flex-direction:column;gap:2px;padding:4px 0}.depth-bracket-chart__tooltip-row+.depth-bracket-chart__tooltip-row{border-top:1px solid #eeeeee}.pipe-profile{display:flex;flex-direction:column;width:100%;min-height:0;gap:12px;box-sizing:border-box}.pipe-profile__header{display:flex;flex-direction:column;gap:2px}.pipe-profile__title{margin:0;font-size:14px;font-weight:600}.pipe-profile__avg-depth{margin:0;font-size:13px;color:#444}.pipe-profile__chart{width:100%;height:320px;min-height:0}.pipe-profile--unavailable{align-items:center;justify-content:center;padding:24px;text-align:center}.pipe-profile__message{margin:0;color:#666;font-size:13px}.pipe-profile__legend{display:flex;justify-content:center;gap:20px;margin-top:-30px;font-size:12px;color:#333;position:relative;z-index:1}.pipe-profile__legend-item{display:flex;align-items:center;gap:5px}.pipe-profile__legend-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;flex:0 0 12px}.pipe-profile__slopes{display:flex;flex-direction:column;align-items:center;gap:6px}.pipe-profile__slopes-title{margin:0;font-size:13px;font-weight:600;text-align:center}.pipe-profile__slopes-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.pipe-profile__slope{display:inline-flex;gap:6px;padding:2px 8px;border:1px solid #e0e0e0;border-radius:4px;font-size:12px;white-space:nowrap}.pipe-profile__slope-value{font-variant-numeric:tabular-nums;font-weight:600}.pipe-profile__tooltip{background:#fff;border:1px solid #ccc;border-radius:4px;padding:6px 8px;font-size:12px;box-shadow:0 1px 4px #00000026}.pipe-profile__tooltip-row{margin:0;white-space:nowrap}.pipe-profile__tooltip-label{font-weight:600}.trench-info-diagram{display:flex;flex-direction:row;align-items:flex-start;gap:6px;box-sizing:border-box;width:100%}.trench-info-diagram__svg-wrap{flex:0 0 auto;line-height:0}.trench-info-diagram__svg{display:block;overflow:visible}.trench-info-diagram__table-wrap{flex:1 1 auto;min-width:0;display:flex;justify-content:center;margin-top:28px}.trench-info-diagram__table{border-collapse:collapse;font-size:11px;width:80%}.trench-info-diagram__table th,.trench-info-diagram__table td{padding:5px 14px;border:1px solid #d0d0d0;white-space:nowrap;text-align:left;vertical-align:middle;min-width:80px}.trench-info-diagram__table th{background:#f0f0f0;font-weight:600;color:#333}.trench-info-diagram__table td{background:#fff;font-variant-numeric:tabular-nums}.trench-info-diagram__table tr:nth-child(2n) td{background:#f8f8f8}.trench-info-diagram__table-title{margin:0 0 4px;font-size:12px;font-weight:700;color:#333}.chart-balloon-content{box-sizing:border-box;width:max-content;min-width:360px;max-width:calc(100vw - 300px);max-height:80vh;overflow-y:scroll;overflow-x:auto;scrollbar-gutter:stable;padding:12px 0 4px}.chart-balloon-content::-webkit-scrollbar{width:10px;height:10px}.chart-balloon-content::-webkit-scrollbar-track{background:#eceef0;border-radius:5px}.chart-balloon-content::-webkit-scrollbar-thumb{background:#9aa0a6;border-radius:5px;border:2px solid #eceef0}.chart-balloon-content::-webkit-scrollbar-thumb:hover{background:#7b8085}.chart-balloon-content__meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0 0 12px;padding-bottom:6px;border-bottom:1px solid #e0e0e0;font-size:12px;color:#1a1a1a}.chart-balloon-content__meta-label{font-weight:700;color:#444}.chart-balloon-content__section{width:100%;margin-bottom:20px}.chart-balloon-content__section:last-child{margin-bottom:0}.chart-balloon-content__section-title{margin:0 0 6px;padding:0 0 3px;font-size:12px;font-weight:700;color:#1a1a1a;text-transform:none;letter-spacing:.04em;border-bottom:1px solid #0097BA}.chart-balloon-content__full{width:100%;margin-top:28px;overflow-x:auto}.chart-balloon-content .pipe-profile{width:100%}.chart-balloon-content .pipe-profile__chart{width:100%;height:220px}.chart-balloon-content~.published-balloon-title,.published-balloon .published-balloon-title{font-size:14px}.chart-balloon-content{font-size:11px}.chart-balloon-content .recharts-cartesian-axis-tick-value,.chart-balloon-content .recharts-legend-item-text,.chart-balloon-content .recharts-text{font-size:10px!important}.chart-balloon-content .trench-info-diagram__table{font-size:12px;width:auto}.chart-balloon-content .trench-info-diagram__table th,.chart-balloon-content .trench-info-diagram__table td{padding:4px 10px;min-width:0;white-space:nowrap}.chart-balloon-content .trench-info-diagram__table th:last-child,.chart-balloon-content .trench-info-diagram__table td:last-child{min-width:72px}.chart-balloon-content .trench-info-diagram{flex-direction:row;align-items:flex-start;gap:16px;margin-top:14px}.chart-balloon-content .trench-info-diagram__table-wrap{width:auto;flex:0 0 auto}.chart-balloon-content .pipe-profile__title{font-size:11px}.chart-balloon-content .pipe-profile__avg-depth,.chart-balloon-content .pipe-profile__slopes-title,.chart-balloon-content .pipe-profile__slope{font-size:10px}.chart-balloon-content .pipe-report-table{width:auto;border-collapse:collapse;table-layout:auto;font-size:11px}.chart-balloon-content .pipe-report-table th,.chart-balloon-content .pipe-report-table td{padding:3px 8px;border-bottom:1px solid #ececec;white-space:nowrap;text-align:right}.chart-balloon-content .pipe-report-table th:first-child,.chart-balloon-content .pipe-report-table td:first-child{text-align:left}.chart-balloon-content .pipe-report-table--materials th:last-child,.chart-balloon-content .pipe-report-table--materials td:last-child{text-align:left}.chart-balloon-content .pipe-report-table thead th{font-weight:700;color:#444;border-bottom:1px solid #cfcfcf}.rr-subtree{margin-top:4px;padding-left:27px}.rr-folder-row{display:flex;align-items:center;padding:3px 4px;border-radius:4px;-webkit-user-select:none;user-select:none;min-height:24px}.rr-folder-row:hover{background-color:#f5f5f5}.rr-group-row{padding-left:16px}.rr-folder-checkbox{width:16px;height:16px;margin-right:4px;accent-color:#0097BA;cursor:pointer;flex-shrink:0}.rr-folder-chevron{display:flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:2px;cursor:pointer;flex-shrink:0;color:#4b5563}.rr-folder-label{font-size:14px;font-weight:500;color:#0097ba;cursor:pointer;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-group-folder{margin-top:1px}.rr-leaf-wrapper{padding-left:32px}.rr-node-leaf{display:flex;align-items:center;padding:2px 4px;border-radius:3px;min-height:22px}.rr-node-leaf:hover{background-color:#0097ba14}.rr-node-checkbox{width:16px;height:16px;margin-right:6px;accent-color:#0097BA;cursor:pointer;flex-shrink:0}.rr-node-color-swatch{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}.rr-node-label{font-size:14px;color:#333;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-node-link{font-size:14px;color:#2563eb;text-decoration:none;cursor:pointer;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rr-node-link:hover{text-decoration:underline;color:#1d4ed8}.rr-node-hyperlink{display:flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:#0097ba;padding:2px;border-radius:3px;margin-left:4px;flex-shrink:0}.rr-node-hyperlink:hover{color:#007a8a;background-color:#0097ba1f}.rr-node-loading-icon{color:#6b7280;margin-left:4px;flex-shrink:0;animation:rr-spin 1s linear infinite}@keyframes rr-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.bm-header,.bm-chevron{display:flex;align-items:center;cursor:pointer}.bm-header-label{font-size:14px;font-weight:400;color:#0097ba;cursor:pointer;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bm-children{padding-left:27px}.bm-item{display:flex;align-items:center;padding:2px 4px;border-radius:3px;min-height:22px}.bm-item:hover{background-color:#2563eb14}.bm-item-link{font-size:14px;color:#2563eb;text-decoration:none;cursor:pointer;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:6px}.bm-item-icon{width:16px;height:16px;flex-shrink:0;object-fit:contain}.bm-item-link:hover{text-decoration:underline;color:#1d4ed8}.background-processing-status{position:absolute;top:42px;left:10px;z-index:1000;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:8px;background-color:#eee;font-size:12px;font-weight:600;font-family:Roboto,sans-serif}.background-processing-status--processing{color:#dc2626;animation:flash-processing 1.5s ease-in-out infinite}.background-processing-status--complete{color:#16a34a;cursor:pointer}.background-processing-status--complete:hover{text-decoration:underline}@keyframes flash-processing{0%,to{opacity:1}50%{opacity:.3}}.publishing-mode-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:transparent;pointer-events:auto;cursor:not-allowed;z-index:500}.share-view-wrapper{position:relative;display:inline-block}.share-view-button{background-color:#f3f3f3;border:none;height:40px;width:40px;font-size:25px;border-radius:5px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-top:5px}.share-view-button:hover{background-color:#e3e3e3}.share-view-button:active{background-color:#b8b4b4}.share-view-button:disabled{opacity:.5;cursor:not-allowed}.share-view-toast{position:absolute;top:50%;right:calc(100% + 8px);transform:translateY(-50%);background:#333;color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;white-space:nowrap;pointer-events:none;z-index:1000}.share-view-fallback{position:absolute;top:calc(100% + 4px);right:0;z-index:1000;display:flex;align-items:center;gap:4px;background:#fff;border:1px solid #ccc;border-radius:4px;padding:4px;box-shadow:0 2px 8px #00000026}.share-view-fallback-input{width:280px;padding:4px 6px;font-size:12px;border:1px solid #ddd;border-radius:3px;outline:none}.share-view-fallback-input:focus{border-color:#888}.share-view-fallback-close{background:none;border:none;cursor:pointer;font-size:14px;color:#666;padding:2px 4px}.confirmation-dialog-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999}.confirmation-dialog{background:#fff;border-radius:8px;box-shadow:0 8px 32px #0000003d;width:100%;max-width:480px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.confirmation-dialog-header{padding:16px 24px;border-bottom:1px solid #e0e0e0}.confirmation-dialog-title{margin:0;font-size:18px;font-weight:600;color:#212121}.confirmation-dialog-body{padding:16px 24px;overflow-y:auto;flex:1}.confirmation-dialog-group{margin-bottom:12px}.confirmation-dialog-surface-item{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px;font-weight:500;color:#212121}.confirmation-dialog-layer-item{display:flex;align-items:center;gap:8px;padding:4px 0 4px 24px;font-size:13px;font-weight:400;color:#424242}.confirmation-dialog-layer-parent{color:#757575;font-weight:500}.confirmation-dialog-item-type{font-size:11px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;background-color:#e3f2fd;color:#1565c0}.confirmation-dialog-item-type--layer{background-color:#f3e5f5;color:#7b1fa2}.confirmation-dialog-item--published{color:#2563eb}.confirmation-dialog-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0}.confirmation-dialog-btn{padding:8px 20px;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:background-color .2s ease,opacity .2s ease}.confirmation-dialog-btn:focus-visible{outline:2px solid #1976d2;outline-offset:2px}.confirmation-dialog-btn--cancel{background-color:#f5f5f5;color:#424242}.confirmation-dialog-btn--cancel:hover:not(:disabled){background-color:#e0e0e0}.confirmation-dialog-btn--cancel:disabled{opacity:.5;cursor:not-allowed}.confirmation-dialog-btn--save{background-color:#d32f2f;color:#fff}.confirmation-dialog-btn--save:hover:not(:disabled){background-color:#b71c1c}.confirmation-dialog-btn--save:disabled{opacity:.6;cursor:not-allowed}.confirmation-dialog-loading-indicator{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:confirmation-dialog-spin .6s linear infinite;margin-right:8px;vertical-align:middle}@keyframes confirmation-dialog-spin{to{transform:rotate(360deg)}}.confirmation-dialog-error{width:100%;padding:8px 12px;margin-bottom:12px;background-color:#fdecea;color:#b71c1c;font-size:13px;border-radius:4px;border:1px solid #f5c6cb}.cross-section-diagram{display:flex;flex-direction:column;align-items:center;box-sizing:border-box;width:100%;line-height:0}.cross-section-diagram__svg{display:block;overflow:visible}.cross-section-diagram__margin-label{font-variant-numeric:tabular-nums;font-weight:600}.conflict-balloon{box-sizing:border-box;width:620px;max-width:100%;max-height:80vh;overflow-y:auto;overflow-x:auto;padding:4px 0;font-size:11px;color:#1a1a1a}.conflict-balloon__header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.conflict-balloon__title{font-size:14px;font-weight:700;color:#1a1a1a;line-height:1.3}.conflict-balloon__close{flex:0 0 auto;border:none;background:transparent;color:#555;font-size:14px;line-height:1;cursor:pointer;padding:2px 4px;border-radius:3px}.conflict-balloon__close:hover{color:#000;background:#0000000f}.conflict-balloon__section{margin-bottom:12px}.conflict-balloon__section-title{margin:0 0 6px;padding:0 0 3px;font-size:12px;font-weight:700;color:#1a1a1a;letter-spacing:.04em;border-bottom:1px solid #0097ba}.conflict-balloon__table{width:100%;border-collapse:collapse;font-size:12px}.conflict-balloon__table th,.conflict-balloon__table td{padding:5px 6px;text-align:left;border-bottom:1px solid #e0e0e0;white-space:nowrap}.conflict-balloon__table thead th{font-weight:600;color:#444;border-bottom:1px solid #bcbcbc}.conflict-balloon__pipe-name{font-weight:700;text-align:left}.map-controls-edit-container{display:flex;flex-direction:column;align-items:center;gap:4px;position:absolute;top:14px;right:250px;z-index:10}.map-controls-edit-btn{display:flex;align-items:center;justify-content:center;background:#0097b2;color:#fff;border:none;border-radius:8px;padding:6px 10px;font-family:Roboto,sans-serif;font-size:16px;font-weight:400;cursor:pointer;box-shadow:0 2px 6px #00000014;transition:background .2s;height:40px;min-width:80px;text-align:center}.map-controls-edit-btn:hover{background:#007a8a}.map-controls-edit-btn:active{background:#006070}.map-controls-edit-btn--active{background:#0097b2;color:#fff}.map-controls-edit-btn--active:hover{background:#007a8a}.map-controls-edit-btn--has-changes{background:#f5c518;color:#1a1a1a}.map-controls-edit-btn--has-changes:hover{background:#e0b200}.map-controls-edit-btn--has-changes:active{background:#c89e00}.map-controls-cancel-btn{background:transparent;border:1px solid #0097b2;color:#0097b2;padding:4px 10px;border-radius:6px;font-family:Roboto,sans-serif;font-size:12px;font-weight:500;cursor:pointer;min-width:60px;text-align:center;transition:background .2s}.map-controls-cancel-btn:hover{background:#0097b214;color:#007a8a}.map-controls-cancel-btn:active{background:#0097b226}.map-controls-edit-btn--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.map-controls-publish-message{font-size:11px;color:#856404;background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:3px 8px;max-width:160px;text-align:center;line-height:1.3}.map-controls-reconcile-message{font-size:11px;color:#0c5460;background-color:#d1ecf1;border:1px solid #bee5eb;border-radius:4px;padding:3px 8px;max-width:200px;text-align:center;line-height:1.3}#pipe-conflicts-view{position:relative;margin-top:8px}#pipe-conflicts-view.clicked{background-color:#007496}.map-controls-spinner{position:absolute;top:50%;left:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;border:2px solid rgba(0,151,178,.3);border-top-color:#0097b2;border-radius:50%;animation:map-controls-spin .8s linear infinite;pointer-events:none}@keyframes map-controls-spin{to{transform:rotate(360deg)}}.new-project-btn{display:flex;align-items:center;background:#0097b2;color:#fff;border:none;border-radius:8px;padding:6px 10px;font-family:Roboto,sans-serif;font-size:16px;font-weight:400;cursor:pointer;box-shadow:0 2px 6px #00000014;transition:background .2s;gap:0px;height:40px;min-width:100px;position:absolute;top:14px;right:140px;z-index:10}.new-project-btn:hover{background:#007a8a}.new-project-svg{width:38px;height:38px}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000040;z-index:1000}.modal-form{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 4px 32px #0000002e;padding:32px 40px;z-index:1001;min-width:350px;max-width:90vw}.form-row{margin-bottom:18px;display:flex;align-items:center;gap:12px}.form-row label{min-width:110px;font-family:Roboto,sans-serif}.form-row input[type=text],.form-row input[type=number],.form-row input[type=date],.form-row select{flex:1;padding:6px 10px;border:1px solid #ccc;border-radius:4px;font-family:Roboto,sans-serif}.form-row.checkbox-row{gap:32px}.form-row.button-row{justify-content:flex-end;gap:18px}.form-row button[type=submit],.form-row button[type=button]{padding:6px 18px;border-radius:6px;border:none;background:#f5f5f5;cursor:pointer;font-family:Roboto,sans-serif}.form-row button[type=submit]{background:#0097b2;color:#fff;font-family:Roboto,sans-serif}.input-error,.input-error[type=file]{border:1.5px solid #d32f2f!important;outline:none}.required-asterisk{color:red;margin-left:3px}.autocomplete-dropdown{position:absolute;z-index:1000;left:0;top:100%;width:600px;background:#fff;border:1px solid #ccc;border-top:none;box-shadow:0 2px 8px #00000014;margin-top:2px;max-height:250px;overflow-y:auto}.address-autocomplete-container{position:relative;width:100%}.address-autocomplete-container input[type=text]{width:100%;box-sizing:border-box}.suggestion-item,.suggestion-item--active{padding:10px 14px;cursor:pointer;font-family:Roboto,sans-serif;font-size:13px;transition:background .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suggestion-item--active{background:#f0f8ff;color:#0078d4}.form-row>div{position:relative}.input-disabled{background-color:#f2f2f2!important;color:#888!important;cursor:not-allowed}.import-esx-btn{display:flex;align-items:center;background:#0097b2;color:#fff;border:none;border-radius:8px;padding:6px 10px;font-family:Roboto,sans-serif;font-size:16px;font-weight:400;cursor:pointer;box-shadow:0 2px 6px #00000014;transition:background .2s;gap:0px;height:40px;min-width:100px;position:absolute;top:14px;right:140px;z-index:10}.import-esx-btn:hover{background:#007a8a}.project-search-container{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column;align-items:stretch;background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;min-width:300px}.project-search-container>div:first-child{display:flex;align-items:center;padding:8px 12px}.project-search-input{flex:1;border:none;outline:none;font-size:14px;font-family:Roboto;padding:4px 8px;background:transparent;text-align:left}.project-search-input::placeholder{color:#999}.project-search-icon-button{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;color:#666;margin-left:8px}.project-search-icon-button:hover{color:#333}.project-search-icon{width:18px;height:18px;display:inline-block;object-fit:contain}.project-search-dropdown{border-top:1px solid #e0e0e0;max-height:300px;overflow-y:auto;border-radius:0 0 8px 8px}.project-search-dropdown-item{padding:12px 16px;cursor:pointer;font-size:14px;font-family:Roboto;color:#333;border-bottom:1px solid #f0f0f0;transition:background-color .2s}.project-search-dropdown-item:hover{background-color:#f5f5f5}.project-search-dropdown-item:last-child{border-bottom:none}.project-search-dropdown-item--publishing{display:flex;align-items:center;justify-content:space-between}.project-search-publishing-badge{font-size:11px;font-weight:500;color:#e67e22;background-color:#fef5e7;padding:2px 8px;border-radius:10px;white-space:nowrap;animation:publishing-pulse 2s ease-in-out infinite}@keyframes publishing-pulse{0%,to{opacity:1}50%{opacity:.6}}.bottom-panel-wrapper{position:absolute;bottom:0;left:0;right:0;pointer-events:none}.bottom-panel-wrapper>*{pointer-events:auto}.bottom-panel-wrapper.with-cross-section .timeline-container{bottom:var(--cross-section-height, 140px);height:130px;--timeline-container-height: 130px;--timeline-header-height: 40px;--timeline-surface-item-height: 100px;--timeline-surface-list-min-height: 110px}.bottom-panel-wrapper.with-cross-section .floating-button-container{bottom:calc(var(--cross-section-height, 140px) + 130px);z-index:10020}.with-cross-section .zoomControl{bottom:calc(var(--cross-section-height, 140px) + 152px)}.floating-timeline-container{display:flex;flex-direction:column;gap:0}#profile-view.clicked{background-color:#007496}#profile-view{margin-top:5px}#profile-view:disabled{opacity:.5;cursor:not-allowed}.cross-section-container{position:absolute;bottom:0;left:0;right:0;z-index:10010;pointer-events:auto;display:flex;flex-direction:column;align-items:stretch;height:140px}.cross-section-header{padding:8px 12px;background:#ffffffe6;border-radius:6px;margin:8px;box-shadow:0 2px 8px #00000026}.cross-section-buttons{display:flex;gap:8px;flex-wrap:wrap}.cross-section-buttons button{padding:8px 16px;font-size:14px;cursor:pointer;background:#2563eb;color:#fff;border:none;border-radius:6px}.cross-section-buttons button:hover{background:#1d4ed8}.cross-section-body{flex:1 1 auto;margin:0;min-height:0;position:relative;background:#000;overflow:hidden;box-shadow:0 2px 8px #00000026}.cross-section-resize-handle{flex:0 0 auto;height:12px;cursor:ns-resize;display:flex;align-items:center;justify-content:center;background:#2563eb40;border-top:1px solid rgba(37,99,235,.6);touch-action:none;transition:background .15s ease-in-out}.cross-section-resize-handle:hover,.cross-section-resize-handle.resizing{background:#2563eb8c}.cross-section-resize-grip{width:44px;height:4px;border-radius:2px;background:#ffffffd9}.cross-section-axis-labels{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.cross-section-x-tick{position:absolute;bottom:4px;transform:translate(-50%);font-size:10px;color:#ffffffe6;font-family:Roboto,sans-serif}.cross-section-y-tick{position:absolute;left:4px;transform:translateY(-50%);font-size:10px;color:#ffffffe6;font-family:Roboto,sans-serif}.cross-section-overlap{position:absolute;top:0;bottom:0;left:0;right:0}.cross-section-overlap.measurements{z-index:2;pointer-events:auto;background:#000}#crossSectionMap{width:100%;height:100%;min-height:0;background:#000}.cross-section-grid-v{position:absolute;top:0;bottom:0;width:1px;background:#fff3;pointer-events:none;transform:translate(-.5px)}.cross-section-grid-h{position:absolute;left:0;right:0;height:1px;background:#fff3;pointer-events:none;transform:translateY(-.5px)}#crossSectionMap div,#crossSectionMap span{color:#fffffff2!important}.cross-section-no-data-message{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10060;pointer-events:none;color:#0097b2;font-size:16px;font-weight:500;padding:16px 24px;background-color:#f0f9fa;border-radius:8px;border:2px solid #0097b2;max-width:500px;min-width:300px;text-align:center;box-shadow:0 4px 12px #0003;font-family:Roboto,sans-serif}#trimesh-view:disabled{opacity:.5;cursor:not-allowed}#trimesh-view{margin-top:5px}#trimesh-view.clicked{background-color:#007496}.react-grid-layout{position:relative;transition:height .2s ease}.react-grid-item{transition:all .2s ease;transition-property:left,top,width,height}.react-grid-item img{pointer-events:none;-webkit-user-select:none;user-select:none}.react-grid-item.cssTransforms{transition-property:transform,width,height}.react-grid-item.resizing{transition:none;z-index:1;will-change:width,height}.react-grid-item.react-draggable-dragging{transition:none;z-index:3;will-change:transform}.react-grid-item.dropping{visibility:hidden}.react-grid-item.react-grid-placeholder{background:red;opacity:.2;transition-duration:.1s;z-index:2;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.react-grid-item.react-grid-placeholder.placeholder-resizing{transition:none}.react-grid-item>.react-resizable-handle{position:absolute;width:20px;height:20px}.react-grid-item>.react-resizable-handle:after{content:"";position:absolute;right:3px;bottom:3px;width:5px;height:5px;border-right:2px solid rgba(0,0,0,.4);border-bottom:2px solid rgba(0,0,0,.4)}.react-resizable-hide>.react-resizable-handle{display:none}.react-grid-item>.react-resizable-handle.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-w,.react-grid-item>.react-resizable-handle.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-n,.react-grid-item>.react-resizable-handle.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-grid-item>.react-resizable-handle.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-grid-item>.react-resizable-handle.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}.react-resizable{position:relative}.react-resizable-handle{position:absolute;width:20px;height:20px;background-repeat:no-repeat;background-origin:content-box;box-sizing:border-box;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+);background-position:bottom right;padding:0 3px 3px 0}.react-resizable-handle-sw{bottom:0;left:0;cursor:sw-resize;transform:rotate(90deg)}.react-resizable-handle-se{bottom:0;right:0;cursor:se-resize}.react-resizable-handle-nw{top:0;left:0;cursor:nw-resize;transform:rotate(180deg)}.react-resizable-handle-ne{top:0;right:0;cursor:ne-resize;transform:rotate(270deg)}.react-resizable-handle-w,.react-resizable-handle-e{top:50%;margin-top:-10px;cursor:ew-resize}.react-resizable-handle-w{left:0;transform:rotate(135deg)}.react-resizable-handle-e{right:0;transform:rotate(315deg)}.react-resizable-handle-n,.react-resizable-handle-s{left:50%;margin-left:-10px;cursor:ns-resize}.react-resizable-handle-n{top:0;transform:rotate(225deg)}.react-resizable-handle-s{bottom:0;transform:rotate(45deg)}:root{--dash-teal: #00a5b5;--dash-teal-light: #e6f7f8;--dash-teal-dark: #008a98;--dash-border: #ddd;--dash-text: #333;--dash-muted: #888;--dash-card: #fff;--dash-blue-dark: #2c5f9e;--dash-row-hover: #e8e8e8}.dashboard-container{flex:1;overflow-y:auto;overflow-x:hidden;padding:12px;background:#f5f5f5;height:100vh;position:relative}.dash-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;gap:12px;color:var(--dash-muted);font-size:14px}.dash-error{text-align:center;padding:60px 20px;color:#c44;font-size:14px}.dash-error p{margin-bottom:12px}.dash-spinner{width:32px;height:32px;border:3px solid #e0e0e0;border-top-color:var(--dash-teal);border-radius:50%;animation:dash-spin .8s linear infinite}@keyframes dash-spin{to{transform:rotate(360deg)}}.dash-banner{background:var(--dash-blue-dark);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:7px 16px;font-size:18px;font-weight:700;letter-spacing:.3px;border-radius:4px;margin-bottom:10px}.dash-add-btn{background:#ffffff26;color:#fff;border:1px solid rgba(255,255,255,.3);padding:5px 16px;border-radius:3px;font-size:14px;font-weight:500;height:30px;line-height:1;display:inline-flex;align-items:center;cursor:pointer;transition:all .15s}.dash-add-btn:hover{background:#ffffff40}.dash-add-btn.active{background:#ffffff40;border-color:#ffffff80}.widget{background:var(--dash-card);border:1px solid var(--dash-border);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;height:100%}.widget:hover{box-shadow:0 1px 8px #0000000f}.w-head{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid #eee;cursor:grab;-webkit-user-select:none;user-select:none}.w-head:active{cursor:grabbing}.w-title{font-size:16px;font-weight:700;color:#333;flex:1;text-align:center}.w-ctrl{display:flex;gap:2px;align-items:center;flex-shrink:0}.w-body{padding:4px 6px;flex:1;display:flex;align-items:center;justify-content:center}.w-body-table{padding:0;flex:1;display:flex;flex-direction:column;overflow:hidden}.dot-menu-btn{background:none;border:none;cursor:pointer;font-size:22px;color:var(--dash-muted);padding:0 4px;line-height:1}.dot-menu-btn:hover{color:var(--dash-text)}.dot-menu{position:absolute;right:0;top:100%;background:var(--dash-card);border:1px solid var(--dash-border);border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:100;min-width:100px;overflow:hidden}.dot-menu-item{padding:8px 16px;font-size:13px;cursor:pointer;color:var(--dash-text)}.dot-menu-item:hover{background:var(--dash-row-hover)}.dot-menu-item.dot-menu-danger{color:#dc2626}.dot-menu-item.dot-menu-danger:hover{background:#fee2e2}.kpi-widget{border-width:2px}.kpi-body{flex:1;display:flex;align-items:center;justify-content:center;padding:8px}.kpi-number{font-size:28px;font-weight:700;line-height:1.15}.w-grid-layout{position:relative}.w-grid-layout .widget,.w-grid-layout .kpi-card{height:100%}.w-grid-layout .w-body{flex:1;overflow:hidden}.react-grid-item.react-grid-placeholder{background:var(--dash-teal)!important;opacity:.15!important;border-radius:4px}.react-resizable-handle{z-index:5}.layout-locked .w-head,.layout-locked .w-head:active{cursor:default}.layout-locked .react-resizable-handle{display:none}.layout-locked .w-ctrl{pointer-events:none;opacity:0}.edit-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000059;z-index:10000;display:flex;align-items:center;justify-content:center}.edit-panel{background:var(--dash-card);border-radius:8px;padding:16px 20px;max-height:90vh;overflow-y:auto;color:var(--dash-text);box-shadow:0 8px 32px #0003;resize:both;overflow:auto;min-width:320px;min-height:300px;z-index:10001;position:relative}.edit-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;cursor:grab;-webkit-user-select:none;user-select:none}.edit-header:active{cursor:grabbing}.edit-header h3{font-size:14px;font-weight:600;margin:0}.awf-fields{display:flex;flex-direction:column;gap:3px}.awf-row{display:flex;gap:4px;align-items:center}.awf-field-row{display:flex;align-items:center;gap:4px;flex:1;min-width:0}.awf-label{font-size:12px;font-weight:600;color:#666;min-width:70px;text-align:right}.awf-field-row select,.awf-field-row input{flex:1;min-width:90px;padding:5px 8px;border:1px solid #ccc;border-radius:3px;background:#fff}.awf-field-row select:focus,.awf-field-row input:focus{outline:none;border-color:var(--dash-teal)}.wt-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 10px;border:1px solid #ddd;border-radius:4px;background:#fff;cursor:pointer;font-size:10px;color:#666;transition:all .1s;min-width:54px}.wt-btn:hover{border-color:var(--dash-teal);color:var(--dash-teal)}.wt-btn.sel{border-color:var(--dash-teal);background:var(--dash-teal-light);color:var(--dash-teal);font-weight:600}.color-picker{display:flex;gap:4px;align-items:center}.color-dot{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:border-color .1s}.color-dot:hover{border-color:#666}.color-dot.sel{border-color:#333;box-shadow:0 0 0 1px #fff inset}.toggle-switch{position:relative;display:inline-block;width:36px;height:20px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#ccc;border-radius:20px;transition:.3s}.toggle-slider:before{content:"";position:absolute;height:14px;width:14px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.3s}.toggle-switch input:checked+.toggle-slider{background:var(--dash-teal)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(16px)}.val-check-grid{display:flex;flex-wrap:wrap;gap:2px 16px}.val-check-item{display:flex;align-items:center;gap:5px;font-size:12px;padding:2px 0;cursor:pointer;color:#555}.val-check-item:hover{color:var(--dash-teal)}.val-check-item input{accent-color:var(--dash-teal);width:13px;height:13px;cursor:pointer}.val-check-item input:checked+span{color:var(--dash-teal);font-weight:500}.edit-order-list{border:1px solid #eee;border-radius:4px;overflow:hidden}.edit-order-item{display:flex;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid #f0f0f0;background:#fff;cursor:default}.edit-order-item:last-child{border-bottom:none}.edit-order-item:hover{background:#f8fafc}.edit-order-item.dragging{opacity:.4;background:#eef9fa}.edit-order-item.drag-target{border-top:2px solid var(--dash-teal)}.edit-actions{display:flex;gap:8px;margin-top:14px;justify-content:flex-end}.w-table-wrap{flex:1;overflow-y:auto;overflow-x:auto;position:relative}.w-table{width:100%;border-collapse:separate;border-spacing:0}.w-table thead{position:sticky;top:0;z-index:2}.w-table th{background:#f0f0f0;padding:5px 8px;text-align:left;border-bottom:2px solid #ccc;cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:700;border-right:1px solid #e0e0e0;white-space:normal;word-wrap:break-word;line-height:1.3}.w-table th:last-child{border-right:none}.w-table th:hover{background:#e4e4e4}.w-table td{padding:3px 8px;border-bottom:1px solid #f0f0f0;border-right:1px solid #f0f0f0}.w-table td:last-child{border-right:none}.w-table tr:hover td{background:#f5f8fc}.w-table-totals td{border-top:2px solid #999;background:#f5f5f5;padding:5px 8px;font-weight:700}.empty{text-align:center;padding:40px 16px;color:#999}.empty h2{font-size:17px;color:#666;margin-bottom:5px;font-weight:500}.empty p{font-size:13px}.btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border:none;border-radius:3px;cursor:pointer;font-size:13px;background:#e0e0e0;color:var(--dash-text);transition:background .1s;white-space:nowrap}.btn:hover{background:#d0d0d0}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-xs{padding:4px 8px;font-size:11px;border-radius:2px;line-height:1;height:24px;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:var(--dash-teal);color:#fff}.btn-primary:hover{background:var(--dash-teal-dark)}svg text{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dash-home{padding:32px 40px;max-width:900px}.dash-home-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.dash-home-header h2{font-size:22px;font-weight:600;color:var(--dash-text);margin:0 0 4px}.dash-home-header p{font-size:14px;color:var(--dash-muted);margin:0}.dash-home-grid{display:flex;flex-wrap:wrap;gap:20px}.dash-tile{background:var(--dash-card);border:1px solid var(--dash-border);border-radius:8px;overflow:hidden;cursor:pointer;transition:box-shadow .15s,border-color .15s,transform .1s;width:260px}.dash-tile:hover{border-color:var(--dash-teal);box-shadow:0 4px 16px #0000001a;transform:translateY(-2px)}.dash-tile-preview{padding:12px 10px 8px;display:flex;justify-content:center;background:#fafafa;border-bottom:1px solid #eee}.dash-tile-info{padding:10px 14px;display:flex;justify-content:space-between;align-items:center}.dash-tile-name{font-size:14px;font-weight:600;color:var(--dash-text)}.dash-tile-meta{font-size:11px;color:var(--dash-muted)}.new-dashboard-btn{display:flex;align-items:center;background:#0097b2;color:#fff;border:none;border-radius:8px;padding:6px 16px;font-family:Roboto,sans-serif;font-size:15px;font-weight:500;cursor:pointer;box-shadow:0 2px 6px #00000014;transition:background .2s;height:40px;white-space:nowrap;position:absolute;top:14px;right:20px;z-index:10}.new-dashboard-btn:hover{background:#007a8a}.new-dash-modal{background:var(--dash-card);border-radius:10px;width:560px;max-height:85vh;overflow-y:auto;box-shadow:0 8px 32px #0003;z-index:10001}.new-dash-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #eee}.new-dash-modal-header h3{margin:0;font-size:16px;font-weight:600}.new-dash-modal-body{padding:20px}.new-dash-field{margin-bottom:18px}.new-dash-field label{display:block;font-size:13px;font-weight:600;color:#555;margin-bottom:6px}.new-dash-field input{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px;box-sizing:border-box}.new-dash-field input:focus{outline:none;border-color:var(--dash-teal)}.new-dash-template-list{display:flex;gap:14px;flex-wrap:wrap}.new-dash-template-item{border:2px solid var(--dash-border);border-radius:8px;padding:10px;cursor:pointer;transition:border-color .15s,box-shadow .15s;width:240px}.new-dash-template-item:hover{border-color:var(--dash-teal)}.new-dash-template-item.selected{border-color:var(--dash-teal);background:var(--dash-teal-light);box-shadow:0 0 0 1px var(--dash-teal)}.new-dash-template-label{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.new-dash-template-name{font-size:13px;font-weight:600;color:var(--dash-text)}.new-dash-template-meta{font-size:11px;color:var(--dash-muted)}.new-dash-error{color:#c44;font-size:13px;margin-top:8px}.new-dash-modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid #eee}.dash-tile-menu-wrap{position:absolute;top:6px;right:6px;z-index:5}.dash-tile-menu-btn{background:none;border:none;cursor:pointer;font-size:18px;color:var(--dash-muted);padding:0 4px;line-height:1;border-radius:4px}.dash-tile-menu-btn:hover{color:var(--dash-text);background:#eee}.dash-tile-menu{position:absolute;right:0;top:100%;background:var(--dash-card);border:1px solid var(--dash-border);border-radius:6px;box-shadow:0 4px 12px #0000001f;z-index:100;min-width:100px;overflow:hidden}.dash-tile-menu-item{padding:8px 16px;font-size:13px;font-weight:400;font-family:Roboto,sans-serif;cursor:pointer;color:var(--dash-text);white-space:nowrap}.dash-tile-menu-item:hover{background:var(--dash-row-hover)}.dash-tile-menu-item.danger{color:#dc2626}.dash-tile-menu-item.danger:hover{background:#fee2e2}.recycle-bin-page{padding:24px 32px;background-color:#fff;color:#212121;min-height:100vh;width:75%;font-family:Roboto,sans-serif;box-sizing:border-box;overflow-y:auto}.recycle-bin-title{font-size:20px;font-weight:600;margin:0;color:#212121}.recycle-bin-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e0e0e0}.recycle-bin-actions{display:flex;align-items:center;gap:12px}.recycle-bin-selection-count{font-size:13px;color:#757575}.recycle-bin-restore-btn{padding:8px 20px;font-size:14px;font-weight:500;border:none;border-radius:4px;background-color:#1976d2;color:#fff;cursor:pointer;transition:background-color .2s ease}.recycle-bin-restore-btn:hover:not(:disabled){background-color:#1565c0}.recycle-bin-restore-btn:disabled{opacity:.5;cursor:not-allowed}.recycle-bin-loading{display:flex;align-items:center;gap:12px;padding:48px 0;justify-content:center;color:#757575;font-size:14px}.recycle-bin-spinner{display:inline-block;width:18px;height:18px;border:2px solid #e0e0e0;border-top-color:#1976d2;border-radius:50%;animation:recycle-bin-spin .6s linear infinite}@keyframes recycle-bin-spin{to{transform:rotate(360deg)}}.recycle-bin-empty{padding:48px 0;text-align:center;color:#757575;font-size:14px}.recycle-bin-progress{padding:10px 16px;margin-bottom:16px;font-size:13px;color:#424242;background-color:#e3f2fd;border-radius:4px;border:1px solid #bbdefb}.recycle-bin-messages{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.recycle-bin-message{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:4px;font-size:13px}.recycle-bin-message--success{background-color:#e8f5e9;border:1px solid #c8e6c9;color:#2e7d32}.recycle-bin-message--conflict{background-color:#fff3e0;border:1px solid #ffe0b2;color:#e65100}.recycle-bin-message--unrestorable{background-color:#fafafa;border:1px solid #e0e0e0;color:#616161}.recycle-bin-message--error{background-color:#fdecea;border:1px solid #f5c6cb;color:#b71c1c}.recycle-bin-message-text{flex:1}.recycle-bin-message-action{padding:4px 12px;font-size:12px;font-weight:500;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;cursor:pointer;white-space:nowrap;transition:background-color .2s ease}.recycle-bin-message-action:hover{background-color:#0000000a}.recycle-bin-message-dismiss{background:transparent;border:none;color:#757575;font-size:18px;cursor:pointer;padding:2px 6px;border-radius:3px;line-height:1;transition:color .15s}.recycle-bin-message-dismiss:hover{color:#212121}.recycle-bin-project-list{display:flex;flex-direction:column;gap:12px}.recycle-bin-project-group{background-color:#fff;border-radius:8px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #00000014;overflow:hidden}.recycle-bin-project-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background-color:#fafafa;border-bottom:1px solid #e0e0e0}.recycle-bin-collapse-toggle{background:transparent;border:none;color:#616161;cursor:pointer;padding:2px 4px;font-size:14px;line-height:1;border-radius:3px;transition:color .15s}.recycle-bin-collapse-toggle:hover{color:#212121}.recycle-bin-chevron{display:inline-block;transition:transform .2s}.recycle-bin-chevron--collapsed{transform:rotate(-90deg)}.recycle-bin-project-name{font-size:14px;font-weight:600;color:#212121;flex:1}.recycle-bin-project-error{font-size:12px;color:#e65100;background-color:#fff3e0;padding:2px 8px;border-radius:3px}.recycle-bin-project-error-message{padding:10px 16px;font-size:13px;color:#e65100;background-color:#fff8e1;border-bottom:1px solid #e0e0e0}.recycle-bin-select-all{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:13px;color:#616161;margin-left:auto}.recycle-bin-select-all input[type=checkbox]{accent-color:#1976d2;cursor:pointer;width:15px;height:15px}.recycle-bin-select-all-label{-webkit-user-select:none;user-select:none}.recycle-bin-item-list{display:flex;flex-direction:column;padding-left:32px}.recycle-bin-group{border-bottom:1px solid #f0f0f0}.recycle-bin-group:last-child{border-bottom:none}.recycle-bin-surface-row{display:flex;align-items:center;gap:0}.recycle-bin-surface-row .recycle-bin-item-row{flex:1}.recycle-bin-group-toggle{background:transparent;border:none;color:#616161;cursor:pointer;padding:4px 2px;font-size:12px;line-height:1;border-radius:3px;transition:color .15s;flex-shrink:0;width:16px;text-align:center}.recycle-bin-group-toggle:hover{color:#212121}.recycle-bin-surface-row .recycle-bin-item-row{padding-left:2px}.recycle-bin-item-row{display:flex;align-items:center;gap:8px;padding:6px 16px 6px 2px;font-size:14px;transition:background-color .1s}.recycle-bin-item-row--indented{padding-left:24px}.recycle-bin-item-row:hover{background-color:#f5f5f5}.recycle-bin-item-checkbox{display:flex;align-items:center;cursor:pointer}.recycle-bin-item-checkbox input[type=checkbox]{accent-color:#1976d2;cursor:pointer;width:15px;height:15px}.recycle-bin-item-name{flex:1;font-size:14px;font-weight:500;color:#212121;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recycle-bin-item-parent{color:#757575;font-weight:500}.recycle-bin-type-badge{font-size:11px;font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:3px;white-space:nowrap}.recycle-bin-type-badge--surface{background-color:#e3f2fd;color:#1565c0}.recycle-bin-type-badge--layer{background-color:#f3e5f5;color:#7b1fa2}.recycle-bin-type-badge--published-data{background-color:#e8f5e9;color:#2e7d32}.recycle-bin-status-col{width:90px;flex-shrink:0;text-align:right}.recycle-bin-unrestorable-badge{font-size:11px;font-weight:500;color:#9e9e9e;background-color:#f5f5f5;border:1px solid #e0e0e0;padding:2px 8px;border-radius:3px;white-space:nowrap}.recycle-bin-item-date{font-size:12px;color:#757575;white-space:nowrap}.recycle-bin-item-user{font-size:12px;color:#757575;white-space:nowrap;min-width:80px}.admin-access-denied{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;padding:20px;text-align:center}.admin-access-denied h2{margin-bottom:16px;color:#d32f2f}.admin-access-denied p{margin-bottom:24px;font-size:16px;color:#666}.admin-back-button{padding:10px 20px;font-size:14px;background-color:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer}.admin-back-button:hover{background-color:#1565c0}.admin-main-container{position:relative;display:flex;flex-direction:column;background-color:#fafafa}.admin-build-version-corner{position:absolute;top:16px;right:24px;z-index:10}.admin-header{background-color:#eee;padding:20px;border-bottom:1px solid rgba(0,0,0,.09);display:flex;justify-content:space-between;align-items:center}.admin-header h1{margin:0;font-size:24px;font-weight:400;font-family:Roboto,sans-serif}.admin-content{flex:1;padding:30px;overflow-y:auto}.admin-content-wrapper{max-width:1200px;margin:0 auto}.admin-project-selector{margin-bottom:30px}.admin-project-section-title{margin:0 0 8px;font-size:18px;font-weight:600;font-family:Roboto,sans-serif}.admin-project-section-desc{margin:0 0 12px;font-size:14px;color:#666;font-family:Roboto,sans-serif}.admin-project-label{display:block;margin-bottom:12px;font-weight:700;font-size:16px;font-family:Roboto,sans-serif}.admin-project-select{width:100%;max-width:500px;padding:12px;font-size:14px;border:1px solid #ccc;border-radius:4px;font-family:Roboto,sans-serif;background-color:#fff}.admin-project-select:disabled{opacity:.6}.admin-error-message{padding:15px;margin-bottom:20px;background-color:#fee;color:#c33;border-radius:4px;border:1px solid #fcc;font-family:Roboto,sans-serif}.admin-success-message{padding:15px;margin-bottom:20px;background-color:#efe;color:#3c3;border-radius:4px;border:1px solid #cfc;font-family:Roboto,sans-serif}.admin-copy-project-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px}.admin-copy-project-field{flex:1;min-width:200px;max-width:300px}.admin-copy-project-field .admin-project-label{margin-bottom:6px}.admin-copy-project-field .admin-project-select{max-width:none}.admin-menu-divider{margin:40px 0 20px;border-top:1px solid rgba(0,0,0,.12)}.admin-menu-section-title{margin:0 0 8px;font-size:18px;font-weight:600;font-family:Roboto,sans-serif}.admin-menu-section-desc{margin:0 0 16px;font-size:14px;color:#666;font-family:Roboto,sans-serif}.admin-status-legend{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-bottom:16px}.admin-status-item{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-family:Roboto,sans-serif}.admin-status-icon{display:inline-block;width:12px;height:12px;border-radius:50%;flex-shrink:0}.admin-status-icon-running{background-color:#4caf50;box-shadow:0 0 0 1px #4caf504d}.admin-status-icon-stopped{background-color:#f44336;box-shadow:0 0 0 1px #f443364d}.admin-processor-status-table{width:100%;max-width:400px;border-collapse:collapse;font-size:14px;font-family:Roboto,sans-serif}.admin-processor-status-table th,.admin-processor-status-table td{padding:10px 16px;text-align:left;border:1px solid rgba(0,0,0,.12)}.admin-processor-status-table th{background-color:#f5f5f5;font-weight:600;color:#424242}.admin-processor-status-table td{background-color:#fff}.admin-loading{padding:40px;text-align:center;font-size:16px;color:#666}.admin-versions-section{margin-top:20px}.admin-versions-title{margin-bottom:20px;font-size:20px;font-weight:400;font-family:Roboto,sans-serif}.admin-versions-table-container{background-color:#fff;border-radius:4px;border:1px solid #ddd;overflow:hidden}.admin-versions-table{width:100%;border-collapse:collapse;font-size:14px;font-family:Roboto,sans-serif}.admin-versions-table thead tr{background-color:#f5f5f5}.admin-versions-table th{padding:15px;text-align:left;border-bottom:1px solid #ddd;font-weight:700}.admin-versions-table th.admin-actions-header{text-align:center}.admin-versions-table tbody tr{border-bottom:1px solid #eee}.admin-versions-table td{padding:15px}.admin-versions-table td.admin-version-number{font-weight:700;font-size:16px}.admin-versions-table td.admin-actions-cell{text-align:center}.admin-status-badge{padding:6px 12px;border-radius:4px;font-size:12px;font-weight:700;color:#fff}.admin-status-badge-latest{background-color:#4caf50}.admin-status-badge-archived{background-color:#999}.admin-action-button{padding:8px 16px;margin-right:8px;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:700;font-family:Roboto,sans-serif}.admin-action-button:disabled{cursor:not-allowed;opacity:.6}.admin-action-button-promote{background-color:#2196f3}.admin-action-button-promote:hover:not(:disabled){background-color:#1976d2}.admin-action-button-archive{background-color:#e53935;margin-right:0}.admin-action-button-archive:hover:not(:disabled){background-color:#d32f2f}.admin-action-button-delete{background-color:#b71c1c;margin-right:0}.admin-action-button-spaced{margin-left:8px}.admin-action-button-delete:hover:not(:disabled){background-color:#8e0000}.admin-action-button-view{background-color:#607d8b}.admin-action-button-view:hover:not(:disabled){background-color:#455a64}.admin-action-button-edit{background-color:#ff9800}.admin-action-button-edit:hover:not(:disabled){background-color:#f57c00}.admin-action-button-configuration{background-color:#795548}.admin-action-button-configuration:hover:not(:disabled){background-color:#5d4037}.admin-empty-state{padding:40px;text-align:center;color:#666;font-size:16px}.admin-menu-content{padding:15px}.admin-menu-project-selector{margin-bottom:20px}.admin-menu-project-label{display:block;margin-bottom:8px;font-weight:700}.admin-menu-project-row{display:flex;align-items:center;gap:8px}.admin-menu-project-row .admin-menu-project-select{flex:1;min-width:0}.admin-menu-project-select{width:100%;padding:8px;font-size:14px;border:1px solid #ccc;border-radius:4px}.admin-menu-error-message{padding:10px;margin-bottom:15px;background-color:#fee;color:#c33;border-radius:4px;border:1px solid #fcc}.admin-menu-success-message{padding:10px;margin-bottom:15px;background-color:#efe;color:#3c3;border-radius:4px;border:1px solid #cfc}.admin-menu-loading{padding:20px;text-align:center}.admin-menu-versions-title{margin-bottom:15px}.admin-menu-table-container{overflow-x:auto}.admin-menu-table{width:100%;border-collapse:collapse;font-size:14px}.admin-menu-table thead tr{background-color:#f5f5f5}.admin-menu-table th{padding:10px;text-align:left;border:1px solid #ddd}.admin-menu-table th.admin-menu-actions-header{text-align:center}.admin-menu-table tbody tr{border:1px solid #ddd}.admin-menu-table td{padding:10px;border:1px solid #ddd}.admin-menu-table td.admin-menu-version-number{font-weight:700}.admin-menu-table td.admin-menu-actions-cell{text-align:center}.admin-menu-status-badge{padding:4px 8px;border-radius:4px;font-size:12px;color:#fff}.admin-menu-status-badge-latest{background-color:#4caf50}.admin-menu-status-badge-archived{background-color:#999}.admin-menu-action-button{padding:6px 12px;margin-right:8px;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px}.admin-menu-action-button:disabled{cursor:not-allowed;opacity:.6}.admin-menu-action-button-promote{background-color:#2196f3}.admin-menu-action-button-promote:hover:not(:disabled){background-color:#1976d2}.admin-menu-action-button-delete{background-color:#f44336;margin-right:0}.admin-menu-action-button-delete:hover:not(:disabled){background-color:#d32f2f}.admin-menu-action-button-view{background-color:#607d8b;flex-shrink:0}.admin-menu-action-button-view:hover:not(:disabled){background-color:#455a64}.admin-menu-empty-state{padding:20px;text-align:center;color:#666}.admin-menu-access-denied-content{padding:20px;text-align:center}.admin-menu-access-denied-title{color:#d32f2f;margin-bottom:10px}.admin-menu-access-denied-text{color:#666}.admin-menu-access-denied-error{color:#c33;margin-top:10px}.admin-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.admin-modal{background:#fff;border-radius:8px;max-width:90vw;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0003}.admin-modal-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #e0e0e0}.admin-modal-header h3{margin:0;font-size:16px;font-weight:600}.admin-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0 4px;line-height:1}.admin-modal-close:hover{color:#333}.admin-modal-body{padding:16px;overflow:auto;flex:1}.admin-modal-pre{margin:0;font-size:12px;white-space:pre-wrap;word-break:break-all}.admin-modal-edit{min-width:320px;max-width:480px}.admin-modal-configuration{min-width:400px;max-width:520px;width:85vw}.admin-config-desc{margin:0 0 16px;font-size:16px;font-weight:700;color:#333;font-family:Roboto,sans-serif}.admin-config-form{display:flex;flex-direction:column;gap:16px;font-family:Roboto,sans-serif}.admin-config-row{display:flex;flex-direction:row;align-items:center;gap:16px;padding-left:24px}.admin-config-label{font-weight:400;font-size:14px;flex:0 0 280px;min-width:0;font-family:Roboto,sans-serif}.admin-config-input{flex:0 0 auto;width:140px;padding:8px 12px;font-size:14px;border:1px solid #ccc;border-radius:4px;font-family:Roboto,sans-serif}.admin-config-color-input{flex:0 0 auto;width:48px;height:36px;padding:2px;border:1px solid #ccc;border-radius:4px;cursor:pointer;background:none}.admin-config-checkbox{flex:0 0 auto;width:18px;height:18px;cursor:pointer}.admin-edit-form{display:flex;flex-direction:column;gap:12px}.admin-edit-label{font-size:13px;font-weight:600;color:#333}.admin-edit-input{padding:8px 10px;font-size:14px;border:1px solid #ccc;border-radius:4px}.admin-edit-input:focus{outline:none;border-color:#2196f3}.admin-edit-actions{display:flex;gap:10px;margin-top:16px}.admin-config-actions{justify-content:flex-end;padding-left:24px}.admin-delete-confirm-text{margin:0 0 16px;font-size:14px;color:#333}.login-slideshow{width:40vw;height:100vh;overflow:hidden;position:relative}.slideshow-track{display:flex;width:100%;height:100%;transition:transform 1s ease-in-out}.slideshow-track img{width:100%;height:100%;object-fit:cover;flex-shrink:0}.login-container{display:flex;background:url(/assets/slide4-AdPltiLo.jpg) no-repeat center center/cover;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);flex-direction:row;width:100vw;height:100vh;overflow:hidden}.login-page-image{width:40vw;height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat}.login-page-content{width:60vw;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;background-color:#fff;padding:60px 40px 20px 80px;box-sizing:border-box;font-family:Roboto,sans-serif}.hexagon-logo{display:flex;align-items:center;justify-content:center;margin-bottom:20px}.hexagon-logo img{width:36px;height:36px;margin-right:10px}.hexagon-logo text{font-size:24px;font-weight:700;color:#333}.login-page-heading{margin-bottom:10px}.login-page-heading text{color:#333;font-weight:400;font-size:40px}.login-page-heavy-construction-text{margin-bottom:5px}.login-page-heavy-construction-text text{font-size:30px;text-align:center;font-weight:400;color:#000}.login-page-paragraph p{font-size:24px;color:#666;text-align:center;margin-bottom:20px;margin-top:30px}.login-page-login-text{margin-top:30px;margin-bottom:25px}.login-page-login-text text{font-size:20px;font-weight:400;color:#333}.login-button{width:100%;max-width:420px;min-width:300px;margin:-20px 0 10px;display:block;padding:10px;font-size:14px;text-align:center}.login-page-content p{font-size:23px;color:#000;text-align:center;margin-bottom:5px}.input-container{width:100%;max-width:420px;min-width:300px;display:flex;flex-direction:column;margin-bottom:15px}.login-page-content input{width:100%;padding:10px;margin:5px 0;border:1px solid #ccc;border-radius:5px;font-size:16px;box-sizing:border-box}.login-page-content button{padding:10px;font-size:16px;background-color:#007496;color:#fff;border:none;border-radius:5px;cursor:pointer;margin-top:10px;box-sizing:border-box}.login-page-content button:hover:not(:disabled){background-color:#0056b3}.login-page-content button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.6}.login-page-content input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.error-message{height:30px;margin-top:0;margin-bottom:5px;color:navy;font-size:14px;visibility:hidden;transition:visibility .3s ease-in-out}.error-message.visible{visibility:visible}.error-message p{color:red;font-size:14px;margin:0}.form-actions{width:100%;max-width:720px;min-width:300px;margin:0;display:flex;flex-direction:column;align-items:flex-start}.remember-forgot-wrapper{width:100%;max-width:420px;min-width:300px;margin-top:10px;margin-bottom:0}.remember-forgot-container{display:flex;justify-content:space-between;width:100%;font-size:14px;align-items:center}.remember-me{display:flex;align-items:center;gap:5px;color:#007496;font-weight:700;cursor:pointer;white-space:nowrap}.remember-me input{accent-color:#007496}.forgot-password{color:#007496;text-decoration:none;font-weight:700;white-space:nowrap;flex-shrink:0}.forgot-password:hover{text-decoration:underline}
