
#threeCanvas{position:absolute;inset:0;width:100%;height:100%;display:none;z-index:2;touch-action:none;outline:none;background:#eaf4ff;min-width:1px;min-height:1px}
.canvas-wrap.three-resizing::after{content:"Resizing 3D view…";position:absolute;inset:auto 14px 14px auto;z-index:20;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:7px;padding:6px 9px;font-size:11px;color:var(--muted);box-shadow:var(--shadow-sm);pointer-events:none}
.canvas-toolbar,.view3d-controls,.view3d-hint,.legend,.scale-bar,.statusbar,.sphere-animation-panel{z-index:6}

/* Professional in-canvas command bars */
.canvas-toolbar{
  top:12px;left:12px;right:auto;display:flex;align-items:center;gap:0;
  padding:5px;background:rgba(255,255,255,.96);border:1px solid rgba(203,213,225,.95);
  border-radius:11px;box-shadow:0 8px 24px rgba(15,23,42,.14);backdrop-filter:blur(10px)
}
.canvas-toolbar>button,.canvas-toolbar .view-switch button{
  min-width:34px;height:32px;padding:0 10px;border:0!important;border-radius:7px!important;
  background:transparent!important;box-shadow:none!important;color:#334155;font-size:12px;font-weight:600
}
.canvas-toolbar>button:hover,.canvas-toolbar .view-switch button:hover{background:#eef4ff!important;color:var(--accent)}
.canvas-toolbar .view-switch{margin:0 5px;padding:3px;background:#eef2f7;border-radius:8px}
.canvas-toolbar .view-switch button.active{background:#fff!important;color:var(--accent);box-shadow:0 1px 4px rgba(15,23,42,.12)!important}
#measureClearBtn{border-left:1px solid var(--line)!important;border-radius:0 7px 7px 0!important;margin-left:3px}
.canvas-toolbar .tool[data-tool="select"]{display:flex!important;flex-direction:row!important;align-items:center;gap:5px;min-width:34px;height:32px;padding:0 10px;margin-right:3px;border-right:1px solid var(--line)!important;border-radius:0!important}
.canvas-toolbar .tool[data-tool="select"] span{font-size:14px}
.canvas-toolbar .tool[data-tool="select"] small{font-size:12px;font-weight:600;color:inherit}
.canvas-toolbar .tool[data-tool="select"].tool-active{background:var(--accent2)!important;color:var(--accent)!important}

.view3d-controls{
  left:12px;right:12px;top:58px;max-width:none;display:none;align-items:center;gap:8px;
  padding:7px 9px;background:rgba(255,255,255,.96);border:1px solid rgba(203,213,225,.95);
  border-radius:11px;box-shadow:0 8px 24px rgba(15,23,42,.14);backdrop-filter:blur(10px);
  overflow-x:auto;overflow-y:hidden;white-space:nowrap;flex-wrap:nowrap
}
.view3d-controls.show{display:flex}
.view3d-group{display:flex;align-items:center;gap:4px;padding-right:8px;margin-right:0;border-right:1px solid var(--line)}
.view3d-group:last-child{border-right:0;padding-right:0;margin-left:auto}
.view3d-group-title{font-size:9.5px;line-height:1;text-transform:uppercase;letter-spacing:.07em;color:#7c879c;font-weight:800;margin-right:3px}
.view3d-controls button{
  height:32px;padding:0 10px!important;border:1px solid transparent!important;background:transparent!important;
  border-radius:7px!important;box-shadow:none!important;color:#334155;font-size:11.5px;font-weight:600
}
.view3d-controls button:hover{background:#eef4ff!important;border-color:#c9d8ff!important;color:var(--accent)}
.view3d-controls button.active,.view3d-controls .nav-mode.active{
  background:var(--accent2)!important;border-color:#b7c8ff!important;color:var(--accent)!important
}
#fit3D{background:#f8fafc!important;border-color:#dbe1ea!important}
.scale-control{display:flex;align-items:center;gap:8px;min-width:210px;padding:0 2px}
.scale-control label{font-size:11px;color:#4b5568;font-weight:700}
.scale-control input[type=range]{width:105px;accent-color:var(--accent)}
.scale-value{min-width:34px;text-align:right;font-size:11px;color:#64748b;font-variant-numeric:tabular-nums}
@media (max-width:900px){
  .view3d-controls{right:8px;left:8px}
  .view3d-group-title{display:none}
  .view3d-controls button{padding:0 8px!important}
  .scale-control{min-width:170px}
  .scale-control input[type=range]{width:80px}
}

/* GroundCheck-matched canvas controls */
.canvas-toolbar{
  top:8px;left:50%;right:auto;transform:translateX(-50%);
  gap:4px;padding:4px;border-radius:8px;
  box-shadow:0 2px 8px rgba(0,0,0,.10)
}
.canvas-wrap>.view-switch{
  position:absolute;top:8px;right:8px;z-index:10;display:flex;gap:0;margin:0;padding:0;
  background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;
  box-shadow:none
}
.canvas-wrap>.view-switch button{
  padding:5px 14px!important;height:auto!important;min-width:0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:#555;font-size:12px!important;font-weight:400!important
}
.canvas-wrap>.view-switch button.active{
  background:#1a6fb5!important;color:#fff!important;font-weight:400!important;box-shadow:none!important
}
.app:fullscreen,.app:-webkit-full-screen{width:100vw;height:100vh;background:var(--bg)}
body.fullscreen-active{overflow:hidden}
