body.locpilot-open{overflow:hidden!important}
.locpilot-backdrop{position:fixed;inset:0;z-index:12050;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(15,23,42,.72);box-sizing:border-box}
.locpilot-backdrop[hidden]{display:none!important}
.locpilot-dialog{width:min(1320px,98vw);max-height:96vh;display:flex;flex-direction:column;overflow:hidden;border:1px solid #cbd5e1;border-radius:18px;background:#f8fafc;color:#0f172a;box-shadow:0 24px 80px rgba(0,0,0,.4);font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.locpilot-header{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 20px 12px;border-bottom:1px solid #dbe3ec;background:#fff}
.locpilot-header h2{margin:3px 0 0;font-size:22px;color:#13233a}
.locpilot-header p{margin:4px 0 3px;color:#475569;font-size:13px}
.locpilot-mode-label{display:inline-block;margin-top:3px;color:#0f766e;font-size:11px;font-weight:800}
.locpilot-eyebrow{font-size:10px;font-weight:900;letter-spacing:.1em;color:#0f766e}
.locpilot-close{width:38px;height:38px;padding:0;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-size:21px;line-height:1;cursor:pointer}
.locpilot-toolbar{display:grid;gap:9px;padding:11px 16px;border-bottom:1px solid #dbe3ec;background:#eef4f8}
.locpilot-floor-controls,.locpilot-block-tools{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.locpilot-floor-controls label{font-size:12px;font-weight:800;color:#334155}
.locpilot-floor-controls select,.locpilot-location-select,.locpilot-name-input{min-width:135px;max-width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a;font:inherit}
.locpilot-floor-controls button,.locpilot-block-tools button,.locpilot-footer button{padding:8px 10px;border:1px solid #bfd0df;border-radius:9px;background:#fff;color:#164e63;font-size:12px;font-weight:800;cursor:pointer}
.locpilot-block-tools button{background:#fff;color:#12314b}
.locpilot-block-tools button:hover,.locpilot-floor-controls button:hover{border-color:#0f766e;background:#f0fdfa}
.locpilot-floor-controls button:disabled,.locpilot-block-tools button:disabled,.locpilot-footer button:disabled,.locpilot-rotate:disabled{opacity:.55;cursor:not-allowed}
.locpilot-block-tools button.is-active{border-color:#0f766e;background:#ccfbf1;color:#115e59;box-shadow:0 0 0 2px rgba(15,118,110,.16)}
.locpilot-guide{margin:10px 16px 0;padding:10px 12px;border:1px solid #0f766e;border-radius:10px;background:#ecfdf5;color:#065f46;font-size:13px;font-weight:800;line-height:1.4}
.locpilot-guide.hidden{display:none!important}
.locpilot-content{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:12px;padding:12px 16px;overflow:auto;min-height:0}
.locpilot-map-area{min-width:0}
.locpilot-map-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 0 8px;color:#475569;font-size:12px}
.locpilot-map-caption b{color:#0f172a;font-size:14px}
.locpilot-map-scroll{max-width:100%;max-height:min(66vh,760px);overflow:auto;border-radius:14px;overscroll-behavior:contain}
.locpilot-grid{position:relative;display:grid;grid-template-columns:repeat(10,minmax(42px,1fr));grid-template-rows:repeat(8,minmax(38px,1fr));gap:6px;min-height:404px;padding:10px;border:1px dashed #93a4b8;border-radius:14px;overflow:hidden;background-color:#fff;background-image:linear-gradient(#e7edf3 1px,transparent 1px),linear-gradient(90deg,#e7edf3 1px,transparent 1px);background-size:calc((100% - 20px)/10) calc((100% - 20px)/8);box-sizing:border-box}
.locpilot-empty-grid{z-index:1;grid-column:1/-1;grid-row:1/-1;display:grid;place-items:center;padding:20px;border:1px dashed #94a3b8;border-radius:10px;color:#64748b;text-align:center;font-size:14px;pointer-events:none}
.locpilot-svg-layer{position:absolute;z-index:0;display:block;width:auto;height:auto;overflow:visible;touch-action:none}
.locpilot-svg-controls{position:absolute;z-index:6;display:block;width:auto;height:auto;overflow:visible;pointer-events:none;touch-action:none}
.locpilot-geometry-group{cursor:grab;touch-action:none}
.locpilot-geometry-group:active{cursor:grabbing}
.locpilot-geometry-hit{fill:none;pointer-events:stroke;cursor:grab;touch-action:none}
.locpilot-geometry-path{pointer-events:none;transition:filter .12s,stroke-width .12s}
.locpilot-geometry-group:hover .locpilot-geometry-path{filter:drop-shadow(0 0 3px rgba(15,23,42,.4))}
.locpilot-geometry-selected .locpilot-geometry-path{filter:drop-shadow(0 0 4px rgba(245,158,11,.95));stroke-width:18!important}
.locpilot-geometry-label{fill:#0f172a;paint-order:stroke;stroke:#fff;stroke-width:8;stroke-linejoin:round;font-family:system-ui,sans-serif;font-size:30px;font-weight:900}
.locpilot-route-line{opacity:.9;animation:locpilot-route-pulse 1.2s ease-in-out infinite alternate}
@keyframes locpilot-route-pulse{from{opacity:.55}to{opacity:1}}
.locpilot-draw-path-preview{opacity:.8;filter:drop-shadow(0 0 3px rgba(15,23,42,.3))}
.locpilot-draw-mode{cursor:crosshair;border-color:#0f766e;background-color:#f0fdfa;touch-action:none}
.locpilot-draw-mode .locpilot-geometry-path,.locpilot-draw-mode .locpilot-geometry-hit{pointer-events:none!important}
.locpilot-block{z-index:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden;border:2px solid #64748b;border-radius:10px;background:#e2e8f0;box-shadow:0 2px 5px rgba(15,23,42,.12);touch-action:pan-x pan-y;user-select:none;transition:box-shadow .12s,border-color .12s}
.locpilot-block--aisle{border-color:#0284c7;background:#e0f2fe}
.locpilot-block--module2,.locpilot-block--module3,.locpilot-block--shelf{border-color:#7c3aed;background:#f3e8ff}
.locpilot-block--drawers{border-color:#c2410c;background:#ffedd5}
.locpilot-block--entry{border-color:#15803d;background:#dcfce7}
.locpilot-block--custom,.locpilot-block--zone,.locpilot-block--obstacle{border-color:#475569;background:#e2e8f0}
.locpilot-block.locpilot-selected{box-shadow:0 0 0 3px #f59e0b,0 8px 18px rgba(15,23,42,.18)}
.locpilot-block.locpilot-guided{outline:4px solid #16a34a;outline-offset:2px;animation:locpilot-pulse 1.3s ease-in-out infinite alternate}
.locpilot-block.locpilot-dragging{z-index:120!important;opacity:.88;box-shadow:0 14px 28px rgba(15,23,42,.28);transition:none;cursor:grabbing}
@keyframes locpilot-pulse{from{filter:brightness(1)}to{filter:brightness(1.18)}}
.locpilot-block-head{display:flex;align-items:center;gap:4px;min-width:0;padding:4px 5px;border-bottom:1px solid rgba(15,23,42,.13);background:rgba(255,255,255,.72);cursor:grab;touch-action:none}
.locpilot-block-head:active{cursor:grabbing}
.locpilot-grip{color:#64748b;font-size:13px;line-height:1}
.locpilot-block-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#13233a;font-size:10px;font-weight:900}
.locpilot-block-kind{display:none}
.locpilot-block-head .locpilot-rotation{margin-left:auto;padding:1px 4px;border-radius:5px;background:#fff;color:#64748b;font-size:8px;font-weight:900}
.locpilot-aisle-faces{display:grid;grid-template-columns:1fr .72fr 1fr;gap:2px;flex:1;min-height:0;padding:3px}
.locpilot-aisle-faces .locpilot-slot{min-height:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px}
.locpilot-walkway{display:grid;place-items:center;border-radius:5px;background:#fff;color:#64748b;font-size:8px;font-weight:900;writing-mode:vertical-rl}
.locpilot-face-row{display:flex;justify-content:center;align-items:center;gap:4px;flex:1;padding:4px}
.locpilot-slot{position:relative;min-width:0;min-height:24px;padding:3px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid rgba(15,23,42,.18);border-radius:6px;background:rgba(255,255,255,.82);color:#334155;font-size:9px;font-weight:900;cursor:pointer}
.locpilot-slot:hover{border-color:#0f766e;background:#fff}
.locpilot-slot-linked:after{content:'•';position:absolute;right:2px;top:-4px;color:#059669;font-size:15px}
.locpilot-slot-selected{outline:2px solid #f59e0b;outline-offset:1px}
.locpilot-slot-guided{background:#bbf7d0!important;border-color:#15803d!important;color:#14532d!important}
.locpilot-drawer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;padding:3px;flex:1;min-height:0}
.locpilot-drawer-grid .locpilot-slot{min-height:14px;padding:1px;font-size:8px}
.locpilot-entry-mark{display:grid;place-items:center;flex:1;color:#166534;font-size:9px;font-weight:900}
.locpilot-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;color:#64748b;font-size:11px}
.locpilot-legend span{display:flex;align-items:center;gap:5px}
.locpilot-dot{display:inline-block;width:10px;height:10px;border-radius:3px}
.locpilot-dot-aisle{background:#7dd3fc}.locpilot-dot-module{background:#c4b5fd}.locpilot-dot-drawer{background:#fdba74}.locpilot-dot-wall{background:#475569}
.locpilot-inspector{align-self:start;min-width:0;padding:14px;border:1px solid #dbe3ec;border-radius:13px;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.05)}
.locpilot-inspector h3{margin:4px 0 12px;color:#13233a;font-size:17px;overflow-wrap:anywhere}
.locpilot-inspector-empty{padding:15px;border:1px dashed #cbd5e1;border-radius:10px;color:#64748b;font-size:13px;line-height:1.5}
.locpilot-label{display:grid;gap:6px;margin:11px 0;color:#334155;font-size:12px;font-weight:800}
.locpilot-name-input,.locpilot-location-select{width:100%;box-sizing:border-box}
.locpilot-muted{margin:5px 0;color:#64748b;font-size:12px;line-height:1.4}
.locpilot-slot-list{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.locpilot-slot-list-drawers{max-height:122px;overflow:auto;padding:3px}
.locpilot-slot-choice{padding:6px 8px;border:1px solid #cbd5e1;border-radius:7px;background:#f8fafc;color:#334155;font-size:11px;font-weight:800;cursor:pointer}
.locpilot-slot-choice.is-active{border-color:#d97706;background:#fffbeb;color:#92400e}
.locpilot-slot-choice.is-linked{box-shadow:inset 0 -3px #10b981}
.locpilot-linked-info{padding:9px;border-radius:8px;background:#f1f5f9;color:#475569;font-size:11px;line-height:1.4;overflow-wrap:anywhere}
.locpilot-edit-control:disabled{opacity:.65;background:#f1f5f9}
.locpilot-remove{width:100%;margin-top:14px;padding:8px;border:1px solid #fecaca;border-radius:8px;background:#fff1f2;color:#991b1b;font-size:12px;font-weight:800;cursor:pointer}
.locpilot-rotate{width:100%;margin:8px 0;padding:8px;border:1px solid #a5b4fc;border-radius:8px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:900;cursor:pointer}
.locpilot-footer{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid #dbe3ec;background:#fff}
#locpilot-save-status{max-width:38%;color:#475569;font-size:11px;line-height:1.35}
.locpilot-footer-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.locpilot-footer .locpilot-share{border-color:#0f766e;background:#ecfdf5;color:#065f46}
.locpilot-footer .locpilot-recover{border-color:#f59e0b;background:#fffbeb;color:#92400e}
.locpilot-footer .locpilot-reset{border-color:#fca5a5;color:#991b1b}
.locpilot-footer .locpilot-close-action{border-color:#0f766e;background:#0f766e;color:#fff}
@media(max-width:820px){
  .locpilot-backdrop{padding:5px}.locpilot-dialog{width:100%;max-height:98vh;border-radius:12px}
  .locpilot-content{grid-template-columns:1fr;padding:9px;gap:8px}
  .locpilot-map-scroll{max-height:50vh}
  .locpilot-grid{min-height:340px;gap:4px;padding:7px}
  .locpilot-map-caption{align-items:flex-start;flex-direction:column}
  .locpilot-inspector{max-height:240px;overflow:auto}
  .locpilot-header{padding:12px}.locpilot-toolbar{padding:8px}
  .locpilot-floor-controls,.locpilot-block-tools{gap:5px}
  .locpilot-floor-controls button,.locpilot-block-tools button{padding:7px 8px;font-size:11px}
  .locpilot-footer{align-items:flex-start;flex-direction:column}
  #locpilot-save-status{max-width:100%}
  .locpilot-footer-actions{justify-content:flex-start}
  .locpilot-aisle-faces .locpilot-slot{font-size:8px}
}
.locpilot-aisle-faces.locpilot-aisle-horizontal{grid-template-columns:1fr;grid-template-rows:1fr .72fr 1fr}
.locpilot-aisle-faces.locpilot-aisle-horizontal .locpilot-slot,.locpilot-aisle-faces.locpilot-aisle-horizontal .locpilot-walkway{writing-mode:horizontal-tb;transform:none}
.locpilot-faces-vertical{flex-direction:column}
.locpilot-drawers-rotated{grid-template-columns:repeat(4,minmax(0,1fr))}
.locpilot-view-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.locpilot-dimension-controls{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px}
.locpilot-size-input{width:100%;box-sizing:border-box;padding:7px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;font:inherit}
.locpilot-dimension-controls .locpilot-rotate{grid-column:1/-1}
.locpilot-view-controls button{padding:6px 9px;border:1px solid #a5b4fc;border-radius:8px;background:#eef2ff;color:#3730a3;font-size:11px;font-weight:900;cursor:pointer}
.locpilot-view-controls button:hover{background:#e0e7ff}
.locpilot-view-3d{box-sizing:border-box;perspective:1400px;overflow:auto;padding:55px 24px 135px;overscroll-behavior:contain;touch-action:pan-x pan-y}
.locpilot-grid.locpilot-3d-mode{overflow:visible;transform:perspective(1400px) rotateX(54deg) rotateZ(var(--locpilot-camera-rotation,-35deg)) scale(.82);transform-origin:center center;transform-style:preserve-3d;transition:transform .25s ease;margin:30px auto 90px;box-shadow:0 25px 36px rgba(15,23,42,.22)}
.locpilot-grid.locpilot-3d-mode .locpilot-block{transform:translateZ(14px);transform-style:preserve-3d;box-shadow:0 10px 0 rgba(71,85,105,.28),0 15px 18px rgba(15,23,42,.18)}
.locpilot-grid.locpilot-3d-mode .locpilot-geometry-path{filter:drop-shadow(0 6px 2px rgba(15,23,42,.24))}
.locpilot-grid.locpilot-3d-mode .locpilot-route-line{stroke-width:18}
.locpilot-grid.locpilot-3d-mode .locpilot-empty-grid{transform:translateZ(4px)}
@media(max-width:820px){.locpilot-view-3d{padding:45px 12px 110px}.locpilot-grid.locpilot-3d-mode{transform:perspective(1000px) rotateX(54deg) rotateZ(var(--locpilot-camera-rotation,-35deg)) scale(.68);margin:22px auto 70px}}

/* Touch editing: the map canvas remains scrollable, while an editable object owns its pointer. */
.locpilot-block.locpilot-editable{touch-action:none;cursor:grab}
.locpilot-block.locpilot-editable .locpilot-block-head{touch-action:none}
.locpilot-block.locpilot-dragging{cursor:grabbing}
.locpilot-quick-rotate{flex:0 0 25px;width:25px;height:24px;padding:0;border:1px solid #a5b4fc;border-radius:6px;background:#fff;color:#3730a3;font-size:14px;font-weight:900;line-height:1;cursor:pointer;touch-action:manipulation}
.locpilot-quick-rotate:hover{border-color:#4f46e5;background:#eef2ff}
.locpilot-quick-rotate:focus-visible{outline:2px solid #d97706;outline-offset:2px}
.locpilot-block--text{z-index:100!important;overflow:visible;border:1px dashed #d97706;background:rgba(255,251,235,.94);box-shadow:0 2px 9px rgba(120,53,15,.18);cursor:grab}
.locpilot-block--text.locpilot-selected{box-shadow:0 0 0 3px #f59e0b,0 8px 18px rgba(120,53,15,.24)}
.locpilot-block--text .locpilot-block-head{border-bottom:1px dashed rgba(180,83,9,.32);background:rgba(255,251,235,.9)}
.locpilot-block--text .locpilot-block-name{color:#7c2d12}
.locpilot-text-content{position:relative;z-index:1;display:block;align-self:flex-start;width:max-content;min-width:min(132px,50vw);max-width:min(280px,70vw);min-height:28px;padding:6px 8px;box-sizing:border-box;border-radius:6px;background:rgba(255,251,235,.97);color:#7c2d12;box-shadow:0 2px 7px rgba(120,53,15,.16);font-size:12px;font-weight:800;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere;pointer-events:auto}
.locpilot-text-content:empty:before{content:'Escribe una nota';color:#a16207;font-style:italic}
.locpilot-volume-label{margin-top:14px;padding-top:8px;border-top:1px solid #e2e8f0;color:#334155}
.locpilot-volume-row{display:flex;align-items:center;gap:10px;min-width:0}
.locpilot-volume-control{flex:1;min-width:0;accent-color:#0f766e;touch-action:pan-x;cursor:pointer}
.locpilot-volume-control:disabled{cursor:not-allowed}
.locpilot-volume-value{min-width:54px;padding:4px 7px;border:1px solid #99f6e4;border-radius:7px;background:#f0fdfa;color:#115e59;text-align:center;font-variant-numeric:tabular-nums;font-weight:900}
.locpilot-wall-volume{filter:drop-shadow(0 5px 4px rgba(15,23,42,.24))}
.locpilot-grid.locpilot-3d-mode .locpilot-block.locpilot-has-volume{transform:translate3d(0,calc(0px - var(--locpilot-lift,2px)),14px);border-bottom-width:3px;box-shadow:0 var(--locpilot-volume,0px) 0 rgba(71,85,105,.58),0 calc(var(--locpilot-volume,0px) + 3px) 0 rgba(15,23,42,.15),0 13px 17px rgba(15,23,42,.2)}
.locpilot-grid.locpilot-3d-mode .locpilot-block--aisle.locpilot-has-volume{box-shadow:0 var(--locpilot-volume,0px) 0 rgba(3,105,161,.55),0 calc(var(--locpilot-volume,0px) + 3px) 0 rgba(15,23,42,.15),0 13px 17px rgba(15,23,42,.2)}
.locpilot-grid.locpilot-3d-mode .locpilot-block--module2.locpilot-has-volume,.locpilot-grid.locpilot-3d-mode .locpilot-block--module3.locpilot-has-volume,.locpilot-grid.locpilot-3d-mode .locpilot-block--shelf.locpilot-has-volume{box-shadow:0 var(--locpilot-volume,0px) 0 rgba(109,40,217,.5),0 calc(var(--locpilot-volume,0px) + 3px) 0 rgba(15,23,42,.15),0 13px 17px rgba(15,23,42,.2)}
.locpilot-grid.locpilot-3d-mode .locpilot-block--drawers.locpilot-has-volume{box-shadow:0 var(--locpilot-volume,0px) 0 rgba(154,52,18,.55),0 calc(var(--locpilot-volume,0px) + 3px) 0 rgba(15,23,42,.15),0 13px 17px rgba(15,23,42,.2)}
.locpilot-grid.locpilot-3d-mode .locpilot-block--text{transform:translateZ(22px);box-shadow:0 6px 12px rgba(120,53,15,.22)}
.locpilot-grid.locpilot-3d-mode .locpilot-geometry-group .locpilot-wall-volume{filter:drop-shadow(0 8px 4px rgba(15,23,42,.22))}
.locpilot-view-3d{width:100%;max-width:100%;min-width:0;overflow:auto;scrollbar-gutter:stable}
@media(max-width:820px){
  .locpilot-view-3d{max-height:46vh;padding:38px 8px 92px;overflow:auto;overscroll-behavior:contain}
  .locpilot-grid.locpilot-3d-mode{max-width:none;transform:perspective(1000px) rotateX(54deg) rotateZ(var(--locpilot-camera-rotation,-35deg)) scale(.62);margin:16px auto 58px}
  .locpilot-text-content{max-width:min(220px,68vw);font-size:11px}
  .locpilot-block--text{touch-action:none}
}
.locpilot-selection-actions{position:sticky;top:0;z-index:9;display:grid;gap:7px;margin:0 0 8px;padding:8px 10px;border:1px solid #fecaca;border-radius:11px;background:#fff1f2;color:#7f1d1d;box-shadow:0 2px 7px rgba(127,29,29,.1)}
.locpilot-selection-actions[hidden]{display:none!important}
.locpilot-selection-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.locpilot-selection-head span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:800}
#locpilot-delete-selected{flex:0 0 auto;min-height:40px;padding:8px 12px;border:1px solid #b91c1c;border-radius:9px;background:#b91c1c;color:#fff;font:inherit;font-size:12px;font-weight:900;cursor:pointer;touch-action:manipulation}
#locpilot-delete-selected:hover{background:#991b1b}
#locpilot-delete-selected:focus-visible{outline:2px solid #f59e0b;outline-offset:2px}
#locpilot-delete-selected:disabled,#locpilot-apply-size:disabled{opacity:.55;cursor:not-allowed}
.locpilot-selection-size{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap;padding-top:6px;border-top:1px solid #fecaca}
.locpilot-selection-size[hidden],.locpilot-size-fields[hidden]{display:none!important}
.locpilot-size-fields{display:flex;align-items:flex-end;gap:7px;flex-wrap:wrap}
.locpilot-size-fields label,.locpilot-size-height-label,.locpilot-size-rotation-label{display:grid;gap:3px;color:#7f1d1d;font-size:10px;font-weight:800}
.locpilot-size-fields input[type=number],.locpilot-size-height-label input[type=number],.locpilot-size-rotation-label input[type=number]{width:78px;height:36px;box-sizing:border-box;padding:5px 7px;border:1px solid #fca5a5;border-radius:7px;background:#fff;color:#0f172a;font:inherit;font-size:12px}
#locpilot-size-stroke{width:96px;accent-color:#b91c1c;touch-action:pan-x}
#locpilot-size-stroke-value{min-width:35px;padding-bottom:5px;color:#7f1d1d;font-size:10px;font-weight:900}
#locpilot-apply-size{min-height:38px;padding:7px 10px;border:1px solid #b91c1c;border-radius:8px;background:#fff;color:#991b1b;font:inherit;font-size:11px;font-weight:900;cursor:pointer;touch-action:manipulation}
@media(max-width:820px){.locpilot-selection-actions{gap:6px;padding:7px}.locpilot-selection-head span{font-size:10px}#locpilot-delete-selected{min-width:140px;min-height:42px;padding:7px 9px;font-size:11px}.locpilot-selection-size{gap:6px}.locpilot-size-fields{gap:5px}.locpilot-size-fields input[type=number],.locpilot-size-height-label input[type=number],.locpilot-size-rotation-label input[type=number]{width:68px}#locpilot-apply-size{min-height:42px}}

/* Selected drawing-only handles: the dialog root captures pointers so rerendering cannot lose a touch gesture. */
.locpilot-block .locpilot-transform-handle{position:absolute;z-index:8;display:grid;place-items:center;width:32px;height:32px;padding:0;border:2px solid #fff;border-radius:50%;background:#0f766e;color:#fff;box-shadow:0 2px 9px rgba(15,23,42,.42);font-size:18px;font-weight:900;line-height:1;cursor:grab;touch-action:none;user-select:none}
.locpilot-block .locpilot-transform-handle:hover,.locpilot-block .locpilot-transform-handle:focus-visible{outline:3px solid #f59e0b;outline-offset:2px;background:#115e59}
.locpilot-block .locpilot-resize-handle{right:-16px;bottom:-16px;border-radius:9px;background:#b91c1c;cursor:nwse-resize}
.locpilot-block .locpilot-resize-handle:hover,.locpilot-block .locpilot-resize-handle:focus-visible{background:#991b1b}
.locpilot-block .locpilot-rotation-handle{left:50%;top:-46px;transform:translateX(-50%);background:#0f766e;cursor:crosshair}
.locpilot-wall-endpoint-handle{fill:#fff;stroke:#1d4ed8;stroke-width:10;cursor:move;pointer-events:all;touch-action:none}
.locpilot-wall-endpoint-handle:hover,.locpilot-wall-endpoint-handle:focus-visible{fill:#dbeafe;stroke:#b91c1c;stroke-width:14;outline:none}
.locpilot-vector-rotate-stem{stroke:#0f766e;stroke-width:8;stroke-dasharray:12 8;pointer-events:none}
.locpilot-vector-rotate-handle{fill:#0f766e;stroke:#fff;stroke-width:10;cursor:crosshair;pointer-events:all;touch-action:none}
.locpilot-vector-rotate-handle:hover,.locpilot-vector-rotate-handle:focus-visible{fill:#b91c1c;stroke:#fff;stroke-width:14;outline:none}

/* Simple drawing flow: keep the common actions visible and tuck the specialist tools away. */
.locpilot-more-tools{display:inline-block;position:relative;flex:0 0 auto;min-width:0}
.locpilot-more-tools>summary{display:inline-flex;align-items:center;min-height:38px;padding:8px 11px;border:1px solid #94a3b8;border-radius:9px;background:#e2e8f0;color:#334155;font-size:12px;font-weight:900;cursor:pointer;list-style:none;touch-action:manipulation}
.locpilot-more-tools>summary::-webkit-details-marker{display:none}
.locpilot-more-tools>summary:after{content:' ▾';margin-left:5px}
.locpilot-more-tools[open]{flex:1 1 100%;padding:7px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}
.locpilot-more-list{display:none}
.locpilot-more-tools[open] .locpilot-more-list{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-top:7px}
.locpilot-more-tools[open] .locpilot-more-list button{min-height:38px;padding:8px 10px;border:1px solid #bfd0df;border-radius:8px;background:#fff;color:#164e63;font-size:12px;font-weight:800;cursor:pointer;touch-action:manipulation}
.locpilot-block-tools #locpilot-draw-toggle{min-height:42px;padding:9px 13px;border-color:#0f766e;background:#0f766e;color:#fff;font-size:13px;font-weight:900;box-shadow:0 2px 5px rgba(15,118,110,.2)}
.locpilot-block-tools #locpilot-draw-toggle.is-active{border-color:#b91c1c;background:#b91c1c}
.locpilot-selection-head{flex-wrap:wrap}
.locpilot-quick-action{flex:0 0 auto;min-height:40px;padding:8px 11px;border:1px solid #0f766e;border-radius:9px;background:#ecfdf5;color:#065f46;font:inherit;font-size:12px;font-weight:900;cursor:pointer;touch-action:manipulation}
.locpilot-quick-action:disabled{opacity:.55;cursor:not-allowed}
.locpilot-easy-help{padding:8px 10px;border:1px solid #99f6e4;border-radius:8px;background:#f0fdfa;color:#115e59;font-size:11px;font-weight:800;line-height:1.4}
.locpilot-easy-help[hidden],.locpilot-selected-face-controls[hidden]{display:none!important}
.locpilot-selected-face-controls{display:grid;grid-template-columns:auto minmax(130px,210px);align-items:center;gap:8px;padding:7px 9px;border:1px solid #99f6e4;border-radius:8px;background:#f0fdfa;color:#115e59;font-size:11px;font-weight:900}
.locpilot-selected-face-controls select{min-width:0;padding:7px;border-color:#5eead4}
@media(max-width:820px){
  .locpilot-more-tools>summary{min-height:42px;font-size:11px}
  .locpilot-more-tools[open] .locpilot-more-list{gap:5px}
  .locpilot-more-tools[open] .locpilot-more-list button{min-height:42px;padding:8px;font-size:11px}
  .locpilot-block-tools #locpilot-draw-toggle{flex:1 1 100%;min-height:46px;font-size:14px}
  .locpilot-selection-head{gap:6px}
  .locpilot-quick-action{flex:1 1 110px;min-height:42px}
  .locpilot-selected-face-controls{grid-template-columns:1fr}
}
