.configurator-embed{
  --bg:#fff; --panel:#1a1a1a; --panel2:#222; --border:#333; --text:#fff; --muted:#ccc;
  --accent:#007acc; --accent-2:#339cff; --ok:#5f5;
  display:flex; flex-direction:row; height:100%; background:var(--bg); color:var(--text);
  font-family:sans-serif;
}
.configurator-embed *{ box-sizing:border-box }
.configurator-embed #sidebar{width:260px;background:var(--panel);border-right:1px solid var(--border);padding:10px;overflow:auto;display:flex;flex-direction:column;gap:14px}
.configurator-embed #sidebar h2{font-size:16px;margin:0 0 8px;color:#ccc}
.configurator-embed #viewer{position:relative;flex:1;min-height:300px}
/* Empty state label */
.configurator-empty{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  font-weight:500;
  font-size:20px;
  line-height:18px;
  text-transform:uppercase;
  color:#828282;
  pointer-events:none;
  z-index:5;
}
/* Hide sidebar via wrapper modifier */
.configurator-embed.--no-sidebar #sidebar{ display:none; }
.configurator-embed button{background:var(--panel2);color:var(--text);border:1px solid #555;padding:6px 12px;cursor:pointer;font-size:14px;width:100%}
.configurator-embed button.active{background:var(--accent);border-color:var(--accent-2)}
.configurator-embed #modelList{list-style:none;padding:0;margin:0}
.configurator-embed #modelList li{background:#222;border-radius:6px;padding:6px;margin-bottom:6px}
.configurator-embed #modelList li.active{background:var(--accent)}
.configurator-embed .model-header{cursor:pointer;padding:4px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.configurator-embed .edges{margin-left:10px;margin-top:6px}
.configurator-embed .edge-item{display:flex;justify-content:space-between;align-items:center;padding:2px 4px;font-size:12px;background:#333;border-radius:4px;margin-bottom:4px}
.configurator-embed .edge-item button{background:#c00;border:none;color:#fff;cursor:pointer;border-radius:3px;padding:1px 4px}
.configurator-embed .param-row{display:flex;gap:6px;align-items:center;font-size:12px;margin-top:6px}
.configurator-embed .param-row input{width:80px;padding:2px 4px;border:1px solid #444;border-radius:4px;background:#1e1e1e;color:#eee}
.configurator-embed #viewerPanel{position:absolute;bottom:0;right:0;display:flex;align-items:center;z-index:10;border-top-left-radius:10px}
.configurator-embed #viewerPanel button{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#fff;border:none;cursor:pointer;transition:all .2s;}
.configurator-embed #viewerPanel button:hover{background:#f0f0f0}
.configurator-embed #viewerPanel button img{width:22px;height:22px;opacity:.7;transition:opacity .2s; max-width: none;}
.configurator-embed #viewerPanel button:hover img{opacity:1}
.configurator-embed #viewerPanel #toggle3DBtn{background:#636363; padding: 10px;margin-left: 24px; height: 50px; width: 50px;}
.configurator-embed #viewerPanel #toggle3DBtn img{height: 30px; width: 30px}
.configurator-embed .pill-btn{width:auto !important;height:36px !important;padding:8px 16px !important;gap:8px;color:#636363 !important;background:#f3f3f3 !important;border-radius:18px !important;box-shadow:none !important;margin: 0 34px;}
.configurator-embed .pill-btn:hover{background:#ececec !important}
.configurator-embed .pill-btn svg{display:block}
.configurator-embed .pill-btn span{font-weight:500;font-size:14px;line-height: 18px;}
.configurator-embed .vp-switch{display:inline-flex;align-items:center;gap:8px;color:#555;font-size:14px;user-select:none}
.configurator-embed .vp-switch input{display:none}
.configurator-embed .vp-switch .slider{position:relative;width:41px;height:25px;border:1px solid #cfcfcf;border-radius:999px;display:inline-block;vertical-align:middle;transition:background .2s}
.configurator-embed .vp-switch .slider::after{content:"";position:absolute;top:5px;left:4px;width:13px;height:13px;background:#666;border-radius:50%;transition:left .2s}
.configurator-embed .vp-switch input:checked + .slider::after{left:22px}
.configurator-embed .vp-switch input:checked + .slider{border-color:#7A0E30}
.configurator-embed .vp-switch input:checked + .slider::after{background:#7A0E30}
.configurator-embed .vp-switch .lbl{color:#636363;font-weight: 500;font-size: 11px;line-height: 18px;}
.configurator-embed #rotateButton{position:absolute;color:#636363;border-radius:50%;text-align:center;font-size:24px;cursor:pointer;user-select:none;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);display:none}
.configurator-embed #deleteButton{position:absolute;color:#fff;border-radius:50%;text-align:center;font-size:24px;cursor:pointer;user-select:none;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);display:none}
.configurator-embed #copyButton{position:absolute;color:#fff;border-radius:50%;text-align:center;font-size:24px;cursor:pointer;user-select:none;z-index:10;left:50%;top:50%;transform:translate(-50%,-50%);display:none}
.configurator-embed #copyButton img{transform: rotate(30deg);}

/* Group controls */
.configurator-embed .group-ctrl{
  position:absolute;
  display:none;
  width:36px;height:36px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 2px 6px rgba(0,0,0,0.2);
  border:1px solid rgba(0,0,0,0.15);
  align-items:center;
  justify-content:center;
  z-index:30;
}
.configurator-embed .group-ctrl img{
  width:18px;
  height:18px;
  opacity:0.8;
  pointer-events:none;
}
