/* Scoped extension of consolidated D03: no changes to openings or viewer gestures. */
[data-theme="d03"] .furniture-entry { margin-top:10px; }
[data-theme="d03"] .furniture-panel { padding:16px; display:grid; gap:12px; background:linear-gradient(135deg,#1a2b36,#101c24); border:1px solid var(--line); border-radius:10px; }
[data-theme="d03"] .furniture-heading { display:flex; align-items:center; gap:10px; }
[data-theme="d03"] .furniture-heading h2 { font-size:19px; line-height:1.25; }
[data-theme="d03"] .furniture-heading img { width:90px; height:76px; object-fit:cover; border:1px solid #516777; border-radius:7px; }
[data-theme="d03"] .furniture-caption,[data-theme="d03"] .furniture-warning { font-size:12px; line-height:1.5; color:#bed0dd; margin:0; }
[data-theme="d03"] .furniture-warning { color:#f7cdad; border-left:2px solid #f99452; padding-left:10px; }
[data-theme="d03"] #furniture-form { display:grid; gap:12px; }
[data-theme="d03"] .furniture-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px 10px; }
[data-theme="d03"] .furniture-measure { min-width:0; }
[data-theme="d03"] .furniture-measure label { display:block; font-size:13px; margin-bottom:5px; }
[data-theme="d03"] .furniture-measure .measure-field { margin:0; }
[data-theme="d03"] .furniture-measure .measure-field input { min-width:0; padding:11px 9px; font-size:18px; }
[data-theme="d03"] .furniture-fields:has(.imperial-measure:not([hidden])) { grid-template-columns:1fr; }
[data-theme="d03"] .furniture-actions,[data-theme="d03"] .furniture-footer { display:flex; flex-wrap:wrap; gap:8px; }
[data-theme="d03"] .furniture-actions button { flex:1; padding:9px 5px; min-height:44px; font-size:12px; }
[data-theme="d03"] .furniture-list { display:grid; gap:8px; color:#bdced8; font-size:13px; }
[data-theme="d03"] .furniture-list button { min-height:48px; text-align:left; line-height:1.5; padding:10px; border:1px solid #4a6677; border-radius:7px; background:#142631; color:#e9f4fa; font-size:13px; }
[data-theme="d03"] .furniture-list button[aria-pressed="true"] { border-color:#ff9f5b; }
[data-theme="d03"] #furniture-error:empty { display:none; }
[data-theme="d03"] .workspace-grid[data-furniture-stage="active"] .side-panel>section:not(.furniture-panel) { display:none; }
[data-theme="d03"]:has(#workspace[data-furniture-stage="active"]) #guidance-eyebrow { display:none; }
[data-theme="d03"] .floor-object polygon { fill:#96704dc9; stroke:#e1b48b; stroke-width:1.5; vector-effect:non-scaling-stroke; }
[data-theme="d03"] .floor-object { cursor:pointer; }
[data-theme="d03"] .free-object-tools { position:absolute; z-index:4; top:8px; left:8px; right:8px; height:78px; box-sizing:border-box; display:flex; flex-wrap:wrap; align-items:center; gap:4px 16px; padding:6px 14px; background:#152a35; color:#ffe1b5; border:1px solid #557080; border-radius:8px; font-size:13px; }
[data-theme="d03"] .canvas-card:has(>.free-object-tools:not([hidden])) .canvas-wrap { top:94px; }
[data-theme="d03"] .free-object-tools[hidden] { display:none; }
[data-theme="d03"] .free-object-tools button { min-height:44px; background:#263f4b; color:#fff3df; border:1px solid #87a2ae; border-radius:6px; padding:7px 12px; }
[data-theme="d03"] .free-object-tools label { display:flex; align-items:center; gap:7px; min-height:40px; }
[data-theme="d03"] .free-object-tools input { width:20px; height:20px; }
[data-theme="d03"] .free-object-tools output { margin-left:auto; }
[data-free-rotation-handle] { touch-action:none; }
@media(max-width:640px) { [data-theme="d03"] .free-object-tools { height:122px; gap:2px 10px; padding:6px 8px; font-size:12px; } [data-theme="d03"] .free-object-tools [data-free-help] { width:100%; } [data-theme="d03"] .canvas-card:has(>.free-object-tools:not([hidden])) .canvas-wrap { top:138px; } }
@media(max-width:640px) { [data-theme="d03"] .canvas-card:has(>.free-object-tools:not([hidden])) { min-height:560px; } }
[data-theme="d03"] .floor-object.is-selected polygon { fill:#b27648cf; stroke:#ffc99f; stroke-width:2.5; }
[data-theme="d03"] .floor-object.is-draft polygon { fill:#96704d66; stroke-dasharray:6 4; }
[data-theme="d03"] .floor-object-front { stroke:#ffd8ad; stroke-width:4; pointer-events:none; }
[data-theme="d03"] .floor-object text { fill:#fff7ed; font-weight:700; font-size:13px; paint-order:stroke; stroke:#3e281a; stroke-width:3px; pointer-events:none; }
[data-theme="d03"] .floor-origin { fill:#b7cfdd; font-size:12px; pointer-events:none; }
[data-theme="d03"] .furniture-catalog-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
[data-theme="d03"] .furniture-card { min-width:0; padding:8px; display:grid; gap:7px; text-align:left; color:#edf5f8; background:#142630; border:1px solid #415d6c; border-radius:8px; }
[data-theme="d03"] .furniture-card:hover,[data-theme="d03"] .furniture-card[aria-pressed="true"] { border-color:#ff9d5b; background:#283239; }
[data-theme="d03"] .furniture-card img { width:100%; height:90px; object-fit:contain; border-radius:5px; background:#17272e; }
[data-theme="d03"] .furniture-card span { font-size:14px; line-height:1.25; }
[data-theme="d03"] .furniture-panel summary { cursor:pointer; font-size:14px; font-weight:650; padding:8px 0; }
[data-theme="d03"] #furniture-dimensions { border:1px solid #49616e; border-radius:7px; padding:0 10px 8px; }
[data-theme="d03"] #furniture-dimension-summary { display:block; padding:5px 0 0 16px; font-size:13px; font-weight:400; color:#d2dfe6; }
[data-theme="d03"] .furniture-caption { font-size:13px; }
[data-theme="d03"] .furniture-heading { justify-content:space-between; }
[data-theme="d03"] .furniture-heading img { width:72px; height:64px; object-fit:contain; }
[data-theme="d03"] .floor-surface polygon { fill:#b9ad9566; stroke:#cfc2a7; stroke-width:2; }
[data-theme="d03"] .floor-surface.is-selected polygon { fill:#c6b89b88; stroke:#ffba76; stroke-dasharray:6 3; }
[data-theme="d03"] .floor-surface text { stroke:#615b4d; }
@media(max-width:920px) {
  [data-theme="d03"] .workspace-grid[data-furniture-collapsed="true"] .furniture-panel { display:none; }
  [data-theme="d03"] .furniture-panel { padding:14px; }
}

.object-rotation-control { display:grid; justify-items:center; gap:6px; min-width:0; max-width:100%; }
.object-rotation-control p { margin:0; font-size:13px; line-height:1.4; text-align:center; }
.object-rotation-control svg { display:block; width:220px; max-width:100%; height:auto; background:#152a35; border-radius:10px; touch-action:none; }
[data-object-rotation-handle] { cursor:grab; touch-action:none; }
[data-object-rotation-handle]:focus-visible circle, [data-free-rotation-handle]:focus-visible { stroke:#fff; stroke-width:4; }
#library-yaw-group { grid-column:1 / -1; }

.room-position-controls > .object-rotation-control { grid-column:1 / -1; }
