@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}.editor{color:#1b1f24;background:#f4f5f7;grid-template-rows:auto 1fr auto;height:100vh;font-family:Inter,system-ui,sans-serif;font-size:14px;display:grid}.editor-status{padding:2rem;font-family:Inter,system-ui,sans-serif}.toolbar{background:#fff;border-bottom:1px solid #d8dbe0;flex-wrap:wrap;align-items:center;gap:1rem;padding:.5rem 1rem;display:flex}.toolbar .tools,.toolbar .actions{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.toolbar .actions label{white-space:nowrap;align-items:center;gap:.25rem;display:inline-flex}.toolbar input[type=range]{width:6rem}.polygon-error{pointer-events:none;background:#fff;padding:.5rem;position:absolute;bottom:1rem;left:1rem;right:1rem}.toolbar button{font:inherit;cursor:pointer;background:#fff;border:1px solid #c4c8cf;border-radius:4px;padding:.35rem .7rem}.toolbar button[aria-pressed=true]{color:#fff;background:#0a6cff;border-color:#0a6cff}.toolbar button:disabled{opacity:.45;cursor:default}.calibration-badge{margin-left:auto;font-size:12px}.calibration-badge.warn{color:#b54708;font-weight:600}.calibration-badge.ok{color:#2e7d32}.workspace{grid-template-columns:11rem 1fr 17rem;min-height:0;display:grid}.palette{background:#fff;border-right:1px solid #d8dbe0;flex-direction:column;gap:.25rem;padding:.75rem;display:flex;overflow-y:auto}.palette h2{margin:0 0 .5rem;font-size:14px}.palette button{font:inherit;text-align:left;cursor:pointer;background:#fff;border:1px solid #c4c8cf;border-radius:4px;padding:.35rem .6rem}.palette button[aria-pressed=true]{color:#fff;background:#0a6cff;border-color:#0a6cff}.palette button:disabled{cursor:default;opacity:.5}.canvas-area{min-width:0;min-height:0;position:relative}.properties{background:#fff;border-left:1px solid #d8dbe0;padding:.75rem 1rem;overflow-y:auto}.properties h2{margin:0 0 .75rem;font-size:14px}.properties h3{text-transform:uppercase;letter-spacing:.04em;color:#5b6370;margin:1rem 0 .5rem;font-size:12px}.properties .field{color:#5b6370;gap:.2rem;margin-bottom:.5rem;font-size:12px;display:grid}.properties input,.properties select{font:inherit;color:#1b1f24;border:1px solid #c4c8cf;border-radius:4px;padding:.3rem .4rem;font-size:14px}.properties button{font:inherit;cursor:pointer;background:#fff;border:1px solid #c4c8cf;border-radius:4px;margin:.25rem .25rem 0 0;padding:.3rem .6rem}.properties .note{color:#5b6370;font-size:12px}.canvas,.canvas-svg{width:100%;height:100%}.canvas-svg{touch-action:none;-webkit-user-select:none;user-select:none;background:#fff;display:block}.canvas-svg image{-webkit-user-drag:none}.canvas-svg.tool-pan{cursor:grab}.canvas-svg.tool-calibrate,.canvas-svg.tool-measure,.canvas-svg.tool-socket,.canvas-svg.tool-zone,.canvas-svg.tool-interior{cursor:crosshair}.measure-label{fill:#0a6cff;paint-order:stroke;stroke:#fff;stroke-width:.3em;font-family:Inter,system-ui,sans-serif;font-weight:600}.empty-hint{color:#5b6370;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.calibration-form{background:#fff;border:1px solid #d8dbe0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex;position:absolute;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0000001f}.calibration-form label{align-items:center;gap:.5rem;display:flex}.calibration-form input{width:8rem;font:inherit;padding:.3rem .4rem}.calibration-form .error{flex-basis:100%;margin:0}.statusbar{color:#5b6370;background:#fff;border-top:1px solid #d8dbe0;gap:1.5rem;padding:.35rem 1rem;font-size:12px;display:flex}.statusbar .save-state{margin-left:auto}.error{color:#c62828}.name-prompt input{width:14rem}.properties .inserts{margin:0 0 .5rem;padding-left:1.2rem}.properties .inserts li{margin-bottom:.5rem}.properties .insert-row{align-items:center;gap:.25rem;margin-bottom:.35rem;display:flex}.properties .insert-row select{flex:1;min-width:0}.properties .insert-row button{margin:0}.properties .badge{color:#c2410c;background:#fff1e6;border-radius:3px;padding:.05rem .4rem}.electrical-panel{z-index:10;background:#fff;border:1px solid #c4c8cf;width:min(31rem,48vw);padding:1rem;position:absolute;top:4rem;bottom:2rem;right:18rem;overflow:auto;box-shadow:0 3px 12px #0002}.electrical-panel.wide{width:auto;left:12rem;right:1rem}.electrical-panel header{justify-content:space-between;align-items:center;display:flex}.electrical-panel h2{font-size:1rem}.electrical-panel h3{font-size:.9rem}.electrical-panel label{margin:.35rem 0;display:block}.electrical-panel button,.electrical-panel input,.electrical-panel select{font:inherit;max-width:100%}.electrical-record{border:1px solid #ddd;margin:.5rem 0;padding:.5rem}.electrical-checklist{max-height:15rem;font-size:.8rem;overflow:auto}.electrical-checklist label{overflow-wrap:anywhere}.electrical-panel table{border-collapse:collapse;white-space:nowrap;font-size:.85rem}.electrical-panel th,.electrical-panel td{border:1px solid #ddd;padding:.4rem}.electrical-insert,.electrical-actions{flex-wrap:wrap;gap:.3rem;margin:.4rem 0;font-size:.8rem;display:flex}.electrical-insert label{align-items:center;display:flex}.toolbar{flex-wrap:wrap}.connection-controls{z-index:10;background:#fff;border:1px solid #ccd2da;border-radius:6px;max-width:380px;padding:12px;position:absolute;top:12px;left:12px;box-shadow:0 2px 8px #0002}
