/* --- Workbench (Canvas + Side Panels) --- */
    .workbench {
      display: grid;
      grid-template-columns: 1fr;
      min-height: 0;
      position: relative;
      overflow: hidden;
    }

    .workbench.panel-open {
      grid-template-columns: 1fr;
    }

    .viewport-wrap {
      position: relative;
      background-color: var(--bg-canvas);
      overflow: hidden;
      box-shadow: inset 0 0 10px rgba(0,0,0,0.5);
      grid-area: 1 / 1;
      min-width: 0;
      min-height: 0;
    }

    #cadCanvas {
      width: 100%;
      height: 100%;
      display: block;
      cursor: crosshair;
      outline: none;
    }

    /* HUD and Badges */
    .side-toggle {
      position: absolute;
      top: 16px;
      right: 16px;
      background-color: var(--bg-panel);
      color: var(--text-bright);
      border: 1px solid var(--border);
      padding: 6px 12px;
      border-radius: var(--radius-sm);
      cursor: pointer;
      font-size: 11px;
      font-weight: 600;
      letter-spacing: 0.5px;
      box-shadow: 0 4px 6px rgba(0,0,0,0.3);
      z-index: 10;
    }

    .side-toggle:hover {
      background-color: var(--bg-surface-hover);
    }

    .coord-badge,
    .snap-badge {
      position: absolute;
      bottom: 16px;
      background-color: rgba(30, 30, 30, 0.85);
      border: 1px solid var(--border);
      padding: 6px 10px;
      border-radius: var(--radius-sm);
      color: var(--text-main);
      font-family: var(--font-mono);
      font-size: 12px;
      pointer-events: none;
      backdrop-filter: blur(4px);
    }
    
    .coord-badge { right: 16px; }
    .snap-badge { left: 16px; }
    .snap-badge b { color: var(--accent); }

    

/* Canvas defaults */
#cadCanvas { cursor: crosshair; }
.dot-layer-default { background: #d9ecff; }
.dot-layer-dimensions { background: #f9d65c; }
.dot-layer-text { background: #c084fc; }
