.fixtureLibrary { margin: 12px 0; }
.fixtureLibrary summary { cursor: pointer; font-weight: 700; }
.fixturePalette { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.fixtureTile { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: 4px; min-height: 87px; padding: 7px; border: 1px solid #d5dde1; border-radius: 7px; background: #fff; color: #111; font-size: 11px; touch-action: none; user-select: none; }
.fixtureTile:hover,.fixtureTile.on { border-color: #ff0547; background: #fff6f8; }
.fixtureTile svg { width: 43px; height: 43px; pointer-events: none; overflow: visible; }
.fixtureInspector { padding: 11px 0; border-top: 1px solid #d5dde1; border-bottom: 1px solid #d5dde1; margin: 10px 0; }
.fixtureInspector h3 { margin: 0 0 8px; font-size: 13px; }
.fixtureInspector .switchrow { margin: 8px 0; }
.fixtureInspector input[type="number"] { font-variant-numeric: tabular-nums; }
.editorCmInput { display: flex; align-items: center; gap: 6px; width: 100%; }
.editorCmInput input { flex: 1 1 auto; min-width: 0; }
.editorCmUnit { flex: 0 0 auto; color: #536172; font-size: 12px; pointer-events: none; }
.fixtureDragGhost { position: fixed; z-index: 1000; pointer-events: none; padding: 8px 12px; border: 1px solid #ff0547; background: #fff; color: #111; font-size: 12px; border-radius: 7px; box-shadow: 0 4px 12px #0002; }
.openingList { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; }
.drawingConvention { margin-top: 10px; padding: 8px 10px; background: #f6f9fa; border-radius: 7px; }
@media print { .fixtureDragGhost { display: none !important; } }
