.simple-sidebar{position:fixed;top:80px;left:0;width:280px;height:calc(100vh - 80px);background:linear-gradient(135deg, #2c3e50 0%, #34495e 100%);color:white;z-index:500;box-shadow:2px 0 10px rgba(0,0,0,0.3);display:flex;flex-direction:column;font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif}.simple-sidebar-header{background:rgba(0,0,0,0.2);padding:15px;border-bottom:1px solid rgba(255,255,255,0.1);display:flex;justify-content:space-between;align-items:center}.simple-sidebar-header h4{margin:0;font-size:18px;font-weight:600;color:#ecf0f1}.btn-detailed{background:#3498db;color:white;border:none;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:12px;transition:all 0.3s ease;display:flex;align-items:center;gap:5px}.btn-detailed:hover{background:#2980b9;transform:translateY(-1px)}.simple-sidebar-content{flex:1;padding:12px;overflow-y:auto}.sidebar-accordion-section{margin-bottom:8px;border-radius:8px;background:rgba(0,0,0,0.15);overflow:hidden}.sidebar-accordion-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px;background:rgba(0,0,0,0.25);border:none;border-bottom:1px solid transparent;color:#ecf0f1;font-size:14px;font-weight:600;cursor:pointer;text-align:left;transition:background 0.2s ease}.sidebar-accordion-trigger:hover{background:rgba(0,0,0,0.35)}.sidebar-accordion-section.is-open .sidebar-accordion-trigger{border-bottom-color:rgba(255,255,255,0.08)}.sidebar-accordion-title{display:flex;align-items:center;gap:8px;min-width:0}.sidebar-accordion-title i{width:16px;text-align:center;color:#bdc3c7;flex-shrink:0}.sidebar-accordion-chevron{font-size:11px;color:#95a5a6;transition:transform 0.2s ease;flex-shrink:0}.sidebar-accordion-section.is-open .sidebar-accordion-chevron{transform:rotate(180deg)}.sidebar-accordion-panel{display:none;padding:10px 12px 12px}.sidebar-accordion-section.is-open .sidebar-accordion-panel{display:block}.measurement-section,.model-section,.pointcloud-section{margin-bottom:25px}.measurement-section h5,.model-section h5,.pointcloud-section h5{margin:0 0 15px 0;font-size:16px;color:#bdc3c7;border-bottom:1px solid rgba(255,255,255,0.1);padding-bottom:8px}.measure-btn{width:100%;background:linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);color:white;border:none;padding:12px;margin-bottom:8px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all 0.3s ease;display:flex;align-items:center;gap:10px;box-shadow:0 2px 4px rgba(0,0,0,0.2)}.measure-btn:hover{background:linear-gradient(135deg, #229954 0%, #27ae60 100%);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,0.3)}.measure-btn:active{transform:translateY(0)}.measure-btn:disabled,.measure-btn.measure-btn-disabled{opacity:0.45;cursor:not-allowed;transform:none;box-shadow:none}.measure-btn:disabled:hover,.measure-btn.measure-btn-disabled:hover{background:linear-gradient(135deg, #27ae60 0%, #2ecc71 100%);transform:none}.measure-btn-secondary{background:linear-gradient(135deg, #2980b9 0%, #3498db 100%)}.measure-btn-secondary:hover:not(:disabled){background:linear-gradient(135deg, #1f618d 0%, #2980b9 100%)}.measure-btn-secondary:disabled:hover{background:linear-gradient(135deg, #2980b9 0%, #3498db 100%)}.simple-background-select{width:100%;background:rgba(255,255,255,0.08);color:#f8fafc;border:1px solid rgba(255,255,255,0.18);border-radius:8px;padding:10px 12px;font-size:13px;outline:none}.simple-background-select:focus{border-color:rgba(96,165,250,0.8);box-shadow:0 0 0 2px rgba(96,165,250,0.22)}.profile-flow-desc{margin:0 0 10px;font-size:12px;color:#bdc3c7;line-height:1.45}.profile-workflow{display:flex;flex-direction:column;gap:8px}.profile-step-2{padding-left:12px;border-left:2px solid rgba(52,152,219,0.5)}.profile-sub-hint{margin:6px 0 0;font-size:11px;color:#95a5a6;line-height:1.4}.profile-sub-hint[hidden]{display:none}.profile-step-btn{margin-bottom:0;padding:12px;font-size:13px}.cross-flow-label,.cross-flow-status,.cross-flow-job-status{font-size:12px;color:#bdc3c7;line-height:1.4}.cross-section-btn-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.cross-section-btn-row .measure-btn{flex:1 1 auto;min-width:0;margin-bottom:0;padding:10px;font-size:12px}.cross-section-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;align-items:center;font-size:11px;color:#bdc3c7}.cross-section-options label{display:inline-flex;align-items:center;gap:4px}.cross-section-input-mode{margin-bottom:10px}.cross-section-input-mode-label{display:block;font-size:11px;color:#95a5a6;margin-bottom:6px}.cross-section-mode-tabs{display:flex;gap:6px}.cross-section-mode-tab{flex:1;cursor:pointer}.cross-section-mode-tab input{position:absolute;opacity:0;pointer-events:none}.cross-section-mode-tab span{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 6px;border-radius:6px;font-size:12px;background:rgba(255,255,255,0.08);color:#bdc3c7;border:1px solid rgba(255,255,255,0.12);transition:background 0.15s ease, color 0.15s ease, border-color 0.15s ease}.cross-section-mode-tab input:checked+span{background:rgba(52,152,219,0.25);color:#ecf0f1;border-color:rgba(52,152,219,0.55)}.cross-section-mode-tab span:hover{background:rgba(255,255,255,0.14)}.cross-section-mode-panel[hidden]{display:none !important}.cross-section-coords-note{margin:0 0 10px;font-size:11px;color:#95a5a6;line-height:1.45}.cross-section-coord-group{margin-bottom:10px}.cross-section-coord-group-title{font-size:12px;font-weight:600;color:#bdc3c7;margin-bottom:6px}.cross-section-coord-fields{display:grid;grid-template-columns:repeat(3, 1fr);gap:6px}.cross-section-coord-fields label{display:flex;flex-direction:column;gap:3px;font-size:10px;color:#95a5a6}.cross-section-coord-fields input{width:100%;box-sizing:border-box;padding:6px 4px;border:1px solid rgba(255,255,255,0.2);border-radius:4px;background:rgba(0,0,0,0.25);color:#ecf0f1;font-size:12px}.cross-section-coord-fields input:focus{outline:none;border-color:rgba(52,152,219,0.7)}#cross-section-coords-panel .measure-btn{margin-bottom:0}.road-gm-file-info{margin:8px 0 10px;font-size:11px;color:#95a5a6;line-height:1.4;word-break:break-all}.road-gm-select-label{display:block;font-size:11px;color:#bdc3c7;margin-bottom:4px}.road-gm-alignment-select{width:100%;box-sizing:border-box;margin-bottom:8px;padding:8px;border:1px solid rgba(255,255,255,0.2);border-radius:4px;background:rgba(0,0,0,0.25);color:#ecf0f1;font-size:12px}.road-gm-alignment-select:disabled{opacity:0.5}#cross-section-roadgm-panel .measure-btn{margin-bottom:8px}#cross-section-roadgm-panel .measure-btn:last-child{margin-bottom:0}.measure-btn.active{background:linear-gradient(135deg, #e74c3c 0%, #c0392b 100%)}.measure-btn.active:hover{background:linear-gradient(135deg, #c0392b 0%, #a93226 100%)}.pointcloud-controls{display:flex;flex-direction:column;gap:10px}.toggle-btn{width:100%;background:linear-gradient(135deg, #3498db 0%, #2980b9 100%);color:white;border:none;padding:15px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all 0.3s ease;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 2px 4px rgba(0,0,0,0.2)}.toggle-btn:hover{background:linear-gradient(135deg, #2980b9 0%, #1f618d 100%);transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,0.3)}.toggle-btn:active{transform:translateY(0)}.toggle-btn.active{background:linear-gradient(135deg, #27ae60 0%, #2ecc71 100%)}.toggle-btn.active:hover{background:linear-gradient(135deg, #229954 0%, #27ae60 100%)}.toggle-btn:not(.active){background:linear-gradient(135deg, #e74c3c 0%, #c0392b 100%)}.toggle-btn:not(.active):hover{background:linear-gradient(135deg, #c0392b 0%, #a93226 100%)}.status-section{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,0.1)}.status-text{background:rgba(0,0,0,0.3);padding:12px;border-radius:6px;font-size:13px;color:#ecf0f1;line-height:1.4;min-height:40px;display:flex;align-items:center}.model-section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.model-section-header h5{margin:0;flex:1 1 auto;min-width:0}.model-section-actions{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;min-width:0}.btn-model-action{display:flex;align-items:center;gap:7px;padding:6px 10px;border-radius:5px;font-size:11px;line-height:1.3;cursor:pointer;text-decoration:none;border:1px solid transparent;transition:background 0.15s ease, border-color 0.15s ease;box-sizing:border-box;width:100%;max-width:100%;min-width:0}.btn-model-action i{flex-shrink:0;width:14px;text-align:center}.btn-model-action.btn-measured{background:rgba(102,126,234,0.18);border-color:rgba(102,126,234,0.45);color:#c5caff}.btn-model-action.btn-measured:hover{background:rgba(102,126,234,0.32);border-color:rgba(102,126,234,0.7);color:#fff}.btn-model-action.btn-library{background:rgba(17,153,142,0.18);border-color:rgba(17,153,142,0.45);color:#6eecd8}.btn-model-action.btn-library:hover{background:rgba(17,153,142,0.32);border-color:rgba(17,153,142,0.7);color:#fff}.model-clone-modal{display:none;position:fixed;inset:0;z-index:10050}.model-clone-modal.is-open{display:block}.model-clone-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.55)}.model-clone-modal-panel{position:relative;margin:10vh auto 0;max-width:420px;width:calc(100% - 32px);background:#2c3e50;color:#ecf0f1;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,0.45);max-height:70vh;display:flex;flex-direction:column}.model-clone-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.1)}.model-clone-modal-header h5{margin:0;font-size:14px}.model-clone-modal-close{border:none;background:transparent;color:#ecf0f1;font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.model-clone-modal-body{padding:12px 16px 16px;overflow-y:auto}.model-clone-modal-success{margin:0 0 10px;padding:8px 12px;font-size:13px;border-radius:4px;background:rgba(46,204,113,0.2);border:1px solid rgba(46,204,113,0.55);color:#2ecc71}.model-clone-modal-success[hidden]{display:none !important}.model-clone-modal-empty{margin:0;font-size:13px;color:#bdc3c7}.model-clone-modal-list{list-style:none;margin:0;padding:0}.model-clone-modal-item{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.08)}.model-clone-modal-item:last-child{border-bottom:none}.model-clone-modal-item-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-clone-modal-item-pc{font-size:11px;color:#95a5a6;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.model-clone-modal-add-btn{padding:4px 10px;font-size:11px;border:none;border-radius:4px;background:#3498db;color:#fff;cursor:pointer}.model-clone-modal-add-btn:disabled{opacity:0.5;cursor:not-allowed}.simple-model-visibility-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px}.simple-model-visibility-btn{min-width:0;padding:7px 8px;border:1px solid rgba(255,255,255,0.18);border-radius:5px;background:rgba(255,255,255,0.08);color:#ecf0f1;font-size:12px;cursor:pointer;transition:background 0.15s ease, border-color 0.15s ease, opacity 0.15s ease}.simple-model-visibility-btn:hover:not(:disabled){background:rgba(52,152,219,0.3);border-color:rgba(52,152,219,0.7)}.simple-model-visibility-btn:disabled{opacity:0.4;cursor:default}.simple-model-visibility-btn i{margin-right:4px}.simple-model-item{background:rgba(255,255,255,0.1);padding:10px;margin-bottom:8px;border-radius:6px;display:flex;align-items:flex-start;flex-wrap:wrap;gap:8px;transition:all 0.3s ease}.simple-model-item:hover{background:rgba(255,255,255,0.2)}@keyframes model-item-newly-added{0%,100%{box-shadow:inset 0 0 0 2px rgba(46,204,113,0.25);background:rgba(46,204,113,0.12)}50%{box-shadow:inset 0 0 0 2px rgba(46,204,113,0.95),0 0 12px rgba(46,204,113,0.35);background:rgba(46,204,113,0.32)}}.simple-model-item.is-newly-added{animation:model-item-newly-added 0.75s ease-in-out 5}.simple-model-checkbox{width:18px;height:18px;cursor:pointer;flex:0 0 auto;margin-top:2px}.simple-model-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.simple-model-header{display:flex;align-items:center;gap:8px;width:100%;min-width:0}.simple-model-name{flex:1 1 auto;min-width:0;font-size:13px;color:#ecf0f1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.simple-model-status{flex:0 0 auto;font-size:11px;padding:2px 6px;border-radius:3px;font-weight:500}.status-ready{background:#27ae60;color:white}.status-processing{background:#f39c12;color:white}.status-failed{background:#e74c3c;color:white}.status-pending{background:#95a5a6;color:white}.simple-model-actions{flex:1 0 100%;display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:4px;padding-top:6px;border-top:1px solid rgba(255,255,255,0.08)}.simple-model-actions:empty{display:none;margin:0;padding:0;border:0}.simple-model-actions button{width:28px;height:28px;padding:0;border:none;border-radius:4px;background:rgba(255,255,255,0.08);color:#ecf0f1;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s ease, color 0.15s ease, transform 0.15s ease}.simple-model-actions button:hover:not(:disabled){background:rgba(255,255,255,0.22);transform:translateY(-1px)}.simple-model-actions button:disabled{opacity:0.35;cursor:not-allowed}.simple-model-actions button.is-active{background:#f4c542;color:#1c1c1c;box-shadow:0 0 0 1px rgba(255,255,255,0.6) inset}.simple-model-locate,.simple-model-delete{flex:0 0 auto;width:22px;height:22px;padding:0;border:none;border-radius:4px;background:transparent;font-size:11px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s ease, color 0.15s ease, transform 0.15s ease}.simple-model-locate{color:#7fb3d3}.simple-model-locate:hover{background:rgba(0,212,255,0.18);color:#00d4ff;transform:translateY(-1px)}.simple-model-delete{color:#c0392b;opacity:0.55}.simple-model-delete:hover{background:rgba(231,76,60,0.18);color:#e74c3c;opacity:1;transform:translateY(-1px)}.simple-model-item:hover{box-shadow:inset 0 0 0 1px rgba(0,212,255,0.45)}.simple-model-kind{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid transparent;border-radius:999px;font-size:11px;line-height:1.4;font-weight:600;cursor:pointer;transition:background 0.15s ease, color 0.15s ease, border-color 0.15s ease, transform 0.15s ease}.simple-model-kind:hover{transform:translateY(-1px)}.simple-model-kind i{font-size:9px}.simple-model-kind-label{line-height:1}.simple-model-kind-measured{background:#1e3a8a;color:#dbeafe;border-color:rgba(147,197,253,0.4)}.simple-model-kind-measured:hover{background:#1e40af;border-color:rgba(147,197,253,0.7)}.simple-model-kind-reference{background:#92400e;color:#fef3c7;border-color:rgba(252,211,77,0.5)}.simple-model-kind-reference:hover{background:#b45309;border-color:rgba(252,211,77,0.8)}.simple-model-item-kind-measured{border-left:3px solid rgba(96,165,250,0.45);padding-left:7px}.simple-model-item-kind-reference{border-left:3px solid rgba(251,191,36,0.45);padding-left:7px}.measure-btn i{font-size:16px;width:20px;text-align:center}.btn-detailed i{font-size:14px}.potree_container.simple-mode .simple-sidebar{display:flex !important}.potree_container.simple-mode #potree_sidebar_container{display:none !important}.potree_container.detailed-mode .simple-sidebar{display:none !important}.potree_container.detailed-mode #potree_sidebar_container{display:block !important}.potree_container.detailed-mode #potree_render_area{margin-left:0 !important;margin-top:80px !important}.potree_container.detailed-mode .potree_menu_toggle{display:block !important}.potree_container:not(.detailed-mode) .simple-sidebar{display:flex !important}.potree_container:not(.detailed-mode) #potree_sidebar_container{display:none !important}.potree_container.simple-mode .potree_menu_toggle,.potree_container:not(.detailed-mode) .potree_menu_toggle{display:none !important}.potree_container.simple-mode #potree_render_area,.potree_container:not(.detailed-mode) #potree_render_area{margin-left:280px !important;margin-top:80px !important}@media (max-width: 1200px){.simple-sidebar{width:250px}.potree_container.simple-mode #potree_render_area,.potree_container:not(.detailed-mode) #potree_render_area{margin-left:250px !important}}.earthwork-settings-panel{margin:8px 0 4px;padding:10px;background:rgba(0,0,0,0.25);border-radius:6px;font-size:12px}.earthwork-settings-desc{margin:0 0 8px;color:#ccc;line-height:1.4}.earthwork-settings-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.earthwork-settings-row label{display:inline-flex;align-items:center;gap:4px;cursor:pointer}.earthwork-settings-label{color:#aaa;min-width:4.5em}#earthwork_cell_size{padding:4px 6px;border-radius:4px;border:1px solid #555;background:#2a2a2a;color:#eee}.earthwork-calculate-btn{width:100%;margin-top:8px;background-color:#2e7d32 !important}.earthwork-calculate-btn:disabled{opacity:0.45;cursor:not-allowed}#earthwork_cancel_btn{width:100%;margin-top:4px}.earthwork-input-mode{margin-bottom:8px}.earthwork-input-mode-label{display:block;color:#aaa;font-size:11px;margin-bottom:6px}.earthwork-mode-tabs{display:flex;gap:6px}.earthwork-mode-tab{flex:1;cursor:pointer}.earthwork-mode-tab input{position:absolute;opacity:0;pointer-events:none}.earthwork-mode-tab span{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;border:1px solid #555;border-radius:4px;font-size:11px;color:#ccc;background:#2a2a2a}.earthwork-mode-tab input:checked+span{border-color:#4a9eff;color:#fff;background:#1e3a5f}.earthwork-mode-panel[hidden]{display:none !important}.earthwork-click-hint,.earthwork-coords-note,.earthwork-grid-hint{margin:0 0 8px;color:#bbb;font-size:11px;line-height:1.4}.earthwork-grid-hint{margin:-2px 0 8px}.earthwork-coord-rows{display:flex;flex-direction:column;gap:8px;margin-bottom:8px;max-height:220px;overflow-y:auto}.earthwork-coord-group{padding:8px;background:rgba(0,0,0,0.2);border-radius:4px}.earthwork-coord-group-title{font-size:11px;color:#aaa;margin-bottom:4px}.earthwork-coord-fields{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.earthwork-coord-fields label{display:flex;align-items:center;gap:4px;font-size:11px;color:#ccc}.earthwork-coord-fields input{width:72px;padding:4px 6px;border-radius:4px;border:1px solid #555;background:#2a2a2a;color:#eee}.earthwork-coord-remove{padding:4px 8px;border:1px solid #666;border-radius:4px;background:#3a2020;color:#faa;cursor:pointer}.earthwork-coord-actions{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.earthwork-coord-actions .measure-btn{width:100%}.earthwork-job-status{margin-top:8px;padding:8px 10px;border-radius:4px;font-size:12px;line-height:1.4;color:#bdc3c7;background:rgba(0,0,0,0.2)}.earthwork-job-status.is-busy{color:#7ec8ff;background:rgba(33,150,243,0.12);border:1px solid rgba(33,150,243,0.35);animation:earthwork-job-pulse 1.5s ease-in-out infinite}@keyframes earthwork-job-pulse{0%,100%{opacity:1}50%{opacity:0.65}}.earthwork-calculate-btn .fa-spinner{margin-right:4px}.floor-plan-desc{margin:0 0 10px;font-size:12px;line-height:1.45;color:rgba(255,255,255,0.75)}.floor-plan-settings-panel[hidden],#floor-plan-settings-panel[hidden]{display:none !important}#floor-plan-settings-panel{display:flex;flex-direction:column;gap:8px}.floor-plan-tool-mode{margin-bottom:4px}.floor-plan-tool-label{display:block;font-size:11px;color:rgba(255,255,255,0.65);margin-bottom:6px}.floor-plan-tool-tabs{display:flex;gap:6px}.floor-plan-tool-tab{flex:1;cursor:pointer}.floor-plan-tool-tab input{position:absolute;opacity:0;pointer-events:none}.floor-plan-tool-tab span{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;border-radius:6px;border:1px solid rgba(255,255,255,0.15);background:rgba(0,0,0,0.2);font-size:12px;color:rgba(255,255,255,0.85);transition:background 0.15s, border-color 0.15s}.floor-plan-tool-tab input:checked+span{background:rgba(68,170,255,0.25);border-color:rgba(68,170,255,0.6);color:#fff}.floor-plan-tool-tab input:disabled+span{opacity:0.45;cursor:not-allowed}.floor-plan-hint{margin:0;font-size:11px;line-height:1.4;color:rgba(255,255,255,0.6)}.floor-plan-job-status{font-size:11px;color:rgba(255,255,255,0.7);padding:4px 0 0}
