header nav{display:flex;align-items:center;gap:7px}
header nav>button,header nav>.button{height:36px;min-width:118px;margin:0;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;line-height:1;white-space:nowrap}
button svg,.button svg,.model-icon{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;margin-right:6px}
.model-icon{width:32px;height:32px;margin:0 0 10px;color:#2767d8}
.calibration-line{stroke:#e00000;stroke-width:3;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.calibration-point{fill:#fff;stroke:#e00000;stroke-width:3;vector-effect:non-scaling-stroke}
.component-tabs{display:grid;gap:5px;margin:0 0 14px}.component-tabs button.active{background:#2767d8;color:#fff;border-color:#2767d8}
.handle.readonly{pointer-events:none}
.side-label{fill:#172033;font-weight:800;letter-spacing:.08em}.grid-label{fill:#53627a;font-weight:600;pointer-events:none}.grid-line.minor{stroke:#dce3ec!important;opacity:.78!important}.grid-line.major{stroke:#b8c5d5!important;opacity:.95!important}.bezier-vector{stroke:#2767d8;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.handle.bezier-control{fill:#fff;stroke:#2767d8;stroke-width:1.5;vector-effect:non-scaling-stroke}.handle.inactive{fill:#fff;stroke:#7c8798;stroke-width:1.25;opacity:.8}.object-snap-marker{stroke:#2767d8;stroke-width:2;fill:#fff;vector-effect:non-scaling-stroke;pointer-events:none}
