.demo-edit-tools { padding:16px 20px; background:#f4f7ee; border-bottom:1px solid var(--line); }
.demo-edit-tools[hidden],.edit-add-fields[hidden],.editor-loading[hidden] { display:none; }
.edit-actions { display:flex; flex-wrap:wrap; gap:6px; }
.demo-edit-tools button,.editor-loading button { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:40px; padding:8px 11px; border:1px solid #cbd8c3; border-radius:5px; background:#fff; color:var(--ink); font-size:12px; font-weight:600; }
.demo-edit-tools button .icon { width:16px; height:16px; }
.demo-edit-tools button[aria-pressed="true"] { color:#fff; background:var(--dark); border-color:var(--dark); }
.demo-edit-tools button:hover:not(:disabled) { background:#dce9bd; color:var(--ink); }
.demo-edit-tools button:disabled { opacity:.45; cursor:default; }
.demo-edit-tools>p { font-size:12px; line-height:1.6; margin:11px 0; }
.edit-properties,.edit-add-fields { display:flex; flex-wrap:wrap; align-items:end; gap:9px; }
.edit-add-fields { padding-top:13px; margin-top:13px; border-top:1px solid #d4dfcd; }
.edit-add-fields>span { width:100%; font-size:12px; color:var(--support); }
.demo-edit-tools label { display:flex; flex-direction:column; gap:4px; font-size:11px; font-weight:600; color:var(--support); }
.demo-edit-tools select,.demo-edit-tools input { min-height:38px; padding:7px 9px; border:1px solid #b9c9b0; border-radius:4px; font:12px "Segoe UI",sans-serif; color:var(--ink); background:#fff; }
.demo-edit-tools input { width:72px; }
.demo-edit-tools input:focus-visible,.demo-edit-tools select:focus-visible,.plan-canvas>svg:focus-visible { outline:2px solid #996126; outline-offset:2px; }
.editor-loading { margin:0; padding:10px 20px; background:#f4f7ee; font-size:12px; }
.product-demo[data-editor-ready] .plan-lines { stroke-width:3; }
.product-demo[data-editor-ready][data-view="source"] .plan-lines { stroke-width:5; }
.editable-line { pointer-events:none; }
.selected-line { stroke:#ae6627; }
.line-hit { stroke:transparent; stroke-width:16; vector-effect:non-scaling-stroke; cursor:pointer; pointer-events:stroke; }
.trace-points .selected-vertex { fill:#ae6627; stroke:#fff; stroke-width:2; }
.edit-vertex { cursor:grab; touch-action:none; }
.edit-vertex:active { cursor:grabbing; }
.trace-points .vertex-hit { fill:transparent; stroke:transparent; stroke-width:12; vector-effect:non-scaling-stroke; pointer-events:all; }
.product-demo[data-edit-mode="add"] [data-editor-canvas],.product-demo[data-edit-mode="add"] .line-hit { cursor:crosshair; }
.product-demo[data-edit-mode="add"] .trace-points { pointer-events:none; }
[data-edit-preview],.canvas-compass,.canvas-badge,.room-fills,.source-details { pointer-events:none; }
.canvas-footer { flex-wrap:wrap; }
@media(max-width:650px) {
  .demo-edit-tools { padding:13px 12px; }
  .demo-edit-tools button { min-height:44px; font-size:11px; }
  .demo-edit-tools input,.demo-edit-tools select { min-height:44px; }
  .edit-properties,.edit-add-fields { gap:8px; }
  .edit-properties label:nth-child(1),.edit-properties label:nth-child(2) { flex:1 1 40%; }
  .edit-properties select { width:100%; }
  .plan-canvas [data-editor-canvas] { min-height:270px; }
}

.product-demo .editable-line.polygon{fill:#23775a26}.product-demo .editable-line.polygon.selected-line{fill:#ae662726}.product-demo[data-edit-mode="polygon"] [data-editor-canvas]{cursor:crosshair}[data-polygon-controls]{padding:12px;background:#e8f0e7;border-radius:8px;margin:10px 0}[data-polygon-controls] button{margin:4px}[data-polygon-controls] label{display:inline-flex;flex-direction:column;max-width:120px;margin:8px}[data-polygon-controls] input{width:100%;padding:8px}
