*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f6f6f6;color:#111}
#topbar{display:flex;gap:8px;align-items:center;padding:10px 12px;border-bottom:1px solid #d7d7d7;background:#f0f0f0;position:sticky;top:0;z-index:5}
#statusText{margin-left:8px;color:#666;font-size:13px}
button{padding:7px 10px;border:1px solid #c9c9c9;background:white;cursor:pointer}
button.active{background:#e8eefc;border-color:#8ea5e8}
#layout{display:flex;min-height:560px}
#sidebar{width:340px;border-right:1px solid #d7d7d7;padding:12px;background:#fbfbfb;overflow:auto}
#sidebar h3{margin:10px 0 8px;font-size:16px}
.asset-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin:0 0 8px}
.layer-btn{text-align:left;display:block;margin:0}
.plus-wrap{display:flex;align-items:center;gap:4px}
.plus-btn{min-width:34px;padding:6px 8px}
.plus-count{min-width:20px;text-align:center;font-size:12px;color:#444}
#shortcuts{font-size:13px;line-height:1.5;color:#333;margin-top:8px}
#editor{flex:1;min-width:0;padding:12px;position:relative}
#stageContainer{width:100%;height:700px;border:1px solid #d7d7d7;background:white;overflow:auto}
#stageContainer svg{width:100%;height:100%;display:block}
#selectionBox{position:absolute;border:1px solid #2e6cff;background:rgba(46,108,255,0.12);pointer-events:none;display:none;z-index:10}
.fixture-group,.carpet-group{cursor:pointer}
.fixture-hitbox,.carpet-hitbox,.truss-add-hitbox{fill:transparent}
.fixture-outline,.carpet-outline{fill:none;stroke:transparent;stroke-width:1.6}
.fixture-group.selected .fixture-outline,.carpet-group.selected .carpet-outline{stroke:#2e6cff}
.fixture-label{font-size:5px;text-anchor:middle;dominant-baseline:middle;pointer-events:none;user-select:none;fill:#000}
.ruler-tick{stroke:#555;stroke-width:0.6}
.ruler-label{font-size:14px;fill:#555;user-select:none}
.truss-name{font-size:14px;fill:#666;user-select:none}
#listSection{padding:12px}
#pasteHint{margin:0 0 8px;color:#666;font-size:13px}
table{width:100%;border-collapse:collapse;background:white}
th,td{border:1px solid #d7d7d7;padding:6px;vertical-align:middle}
th{background:#f2f2f2;text-align:left}
td.row-selected{background:#eef4ff}
.table-input{width:100%;border:1px solid #d0d0d0;padding:6px 7px;background:white}
.table-input.invalid-fixture{background:#fff1f1;border-color:#d66;color:#900}
.delete-btn{width:100%}

.topbar-group{display:flex;gap:8px;align-items:center}
.topbar-left{min-width:0}
.topbar-center{margin:0 auto}
.topbar-right{margin-left:auto}
