/* Final screen-only role rules, shared by both editors. Geometry, selected
   finishes, critical diagnostics and print layout keep their own semantics. */
@media screen {
  /* One footer control style for both editors, including intrinsic text width. */
  .workspace .compact-properties .property-footer button,
  #constructorRoot .furniture-property-actions button {
    box-sizing:border-box; min-width:0; width:auto; height:auto; min-height:30px;
    padding:5px 7px; border:0; border-radius:0; cursor:pointer;
    font:400 var(--text-small)/normal var(--font-ui); letter-spacing:normal;
    white-space:nowrap;
  }
  .workspace .compact-properties .property-footer .delete-button,
  #constructorRoot .furniture-property-actions .delete-button { color:var(--color-danger); background:transparent; }
  .workspace .compact-properties .property-footer .delete-button:hover,
  #constructorRoot .furniture-property-actions .delete-button:hover { color:#9e5141; background:transparent; }
  .workspace .compact-properties .property-footer .duplicate-button,
  #constructorRoot .furniture-property-actions .duplicate-button { color:var(--ink-soft); background:#f4f6f6; border-radius:5px; }
  .workspace .compact-properties .property-footer .duplicate-button:hover,
  #constructorRoot .furniture-property-actions .duplicate-button:hover { color:var(--ink); background:var(--lime); }
  .workspace .right-panel .property-input,
  #constructorRoot .furniture-inspector :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),select) {
    font-family:var(--font-ui); font-size:var(--text-ui); font-weight:400;
    color:var(--ink); font-variant-numeric:tabular-nums; letter-spacing:0;
  }
  .workspace .right-panel .property-input,
  #constructorRoot .furniture-inspector :is(select,.numeric-input) { border-color:var(--line); }
  .workspace .right-panel .property-input,
  #constructorRoot .furniture-inspector :is(select,.numeric-input):not(.numeric-stepper input):not(.number-control input):not(.kitchen-number input):not(.exact-level-field input) {
    height:var(--control-compact-height); min-height:var(--control-compact-height); border-radius:var(--radius-compact);
  }
  .workspace .right-panel .inspector-header h2,
  #constructorRoot .furniture-inspector-heading h2 { font:500 15px/1.4 var(--font-ui); }
  #constructorRoot .furniture-inspector-heading { padding:var(--inspector-inset); }
  #constructorRoot .furniture-inspector-heading small { font:400 var(--text-description)/1.4 var(--font-ui); color:var(--muted); }
  #constructorRoot .furniture-inspector .panel-heading h1 { font:500 var(--text-small)/1.4 var(--font-ui); }
  .workspace .compact-properties :is(.property-label,.wall-actions-title),
  #constructorRoot .furniture-inspector :is(.control-label,label>span:first-child,legend) { color:var(--ink-soft); letter-spacing:0; font-weight:400; }
  #constructorRoot .furniture-inspector .kitchen-inspector-section h3 { color:var(--ink); font-weight:500; }
  #constructorRoot .furniture-inspector :is(.numeric-stepper,.number-control,.kitchen-number>span:last-child) { border-color:var(--line); border-radius:var(--radius-compact); }
  #constructorRoot .furniture-inspector :is(.number-control,.numeric-stepper,.kitchen-number) button {
    color:var(--ink-soft); background:var(--paper); box-shadow:none; font-weight:400;
  }
  #constructorRoot .furniture-inspector :is(.number-control,.numeric-stepper,.kitchen-number) button:hover:not(:disabled) { color:var(--ink); background:var(--menu-hover); }
  #constructorRoot .furniture-inspector :is(.exact-level-field,.level-actions button) { border-color:var(--line); border-radius:var(--radius-compact); }
  #constructorRoot .furniture-inspector .level-actions button { color:var(--ink-soft); background:var(--paper); font-weight:400; }
  #constructorRoot .furniture-inspector .level-actions button:hover:not(:disabled) { color:var(--ink); background:var(--menu-hover); }
  #constructorRoot .furniture-inspector :is(input,select,button):focus-visible,
  #constructorRoot .furniture-inspector .numeric-stepper:focus-within { outline-color:var(--color-focus); }
  /* A full word fits all three equal-width room tools, without breaking a
     last letter onto another line. Their hit areas stay the same size. */
  .workspace .compact-properties .wall-actions-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--space-1); }
  .workspace .compact-properties .wall-action { padding:6px 2px; white-space:nowrap; overflow-wrap:normal; font:400 var(--text-caption)/1.4 var(--font-ui); }
  .workspace .compact-properties .attachment-hint { color:var(--color-accent-ink); }
  .workspace .canvas-status,.workspace .canvas-status .status-center { color:var(--muted); font-family:var(--font-ui); }

  /* Model metadata has its own row below the camera controls. Details are
     disclosed on demand and scroll independently; the old HUD was unclickable. */
  #constructorRoot .cabinet-3d-badge { top:46px; left:32px; padding:7px 8px; gap:3px; color:var(--ink); background:#fffffff2; border:1px solid var(--line); border-radius:var(--radius-compact); box-shadow:none; max-width:calc(100% - var(--furniture-inspector-inset) - 48px); }
  #constructorRoot .cabinet-3d-badge b { font:500 var(--text-caption)/1.4 var(--font-ui); }
  #constructorRoot .cabinet-3d-badge span { color:var(--muted); font:400 var(--text-description)/1.4 var(--font-ui); }
  #constructorRoot .cabinet-3d-measurements { display:block; top:auto; bottom:48px; right:12px; max-height:35%; width:min(252px,calc(100% - 44px)); padding:0; color:var(--ink); background:#fffffff2; border:1px solid var(--line); border-radius:var(--radius-compact); box-shadow:none; pointer-events:auto; }
  #constructorRoot .cabinet-3d-measurements>summary { padding:7px 8px; cursor:pointer; font:500 var(--text-caption)/1.4 var(--font-ui); }
  #constructorRoot .cabinet-3d-measurements>div { grid-template-columns:minmax(0,1fr); gap:0; max-height:160px; padding:0 8px 6px; overflow:auto; overscroll-behavior:contain; }
  #constructorRoot .cabinet-3d-measurements:not([open])>div { display:none; }
  #constructorRoot .cabinet-3d-measurements span { grid-template-columns:auto minmax(0,1fr); gap:8px; padding:5px 0; border-top:1px solid var(--line); background:transparent; border-radius:0; }
  #constructorRoot .cabinet-3d-measurements strong,#constructorRoot .cabinet-3d-measurements small { color:var(--ink-soft); font:400 var(--text-description)/1.4 var(--font-ui); }
  #constructorRoot .cabinet-3d-measurements small { text-align:right; }
  #constructorRoot .cabinet-3d-guide { left:12px; right:calc(var(--furniture-inspector-inset) + 12px); bottom:10px; gap:4px; }
  #constructorRoot .cabinet-3d-guide span { padding:3px 5px; border-color:var(--line); background:#fffffff2; color:var(--muted); font:400 10px/1.4 var(--font-ui); }
  #constructorRoot .cabinet-3d-guide b { color:var(--ink-soft); font-weight:500; }
  #constructorRoot .cabinet-camera-controls { background:var(--paper); border-color:var(--line); }
  #constructorRoot .cabinet-camera-controls button { color:var(--ink-soft); font:400 var(--text-caption)/1.4 var(--font-ui); }
  #constructorRoot .cabinet-camera-controls button.active { color:var(--ink); background:var(--menu-selected); box-shadow:none; }
  #constructorRoot .cabinet-camera-controls button:hover:not(.active) { background:var(--menu-hover); }
  #constructorRoot .toast { bottom:92px; max-width:calc(100vw - 40px); font:400 var(--text-caption)/1.4 var(--font-ui); background:var(--ink); }

  /* Readable annotation hierarchy; do not alter actual furniture dimensions. */
  #constructorRoot .blueprint-cabinet .dimension { color:var(--drawing-ink); font:500 11px/1.4 var(--font-data); letter-spacing:0; }
  #constructorRoot .blueprint-cabinet .cabinet-section-number { font:500 10px/1.4 var(--font-ui); padding:2px 4px; }
  #constructorRoot .blueprint-cabinet .section-dimensions span b { font:500 10px/1.4 var(--font-data); }
  #constructorRoot .blueprint-cabinet .section-dimensions span small { color:var(--ink-soft); font:400 9px/1.4 var(--font-ui); }
  #constructorRoot .blueprint-cabinet .dimension-depth { top:calc(100% + var(--leg-visual-height) + 50px); }
  #constructorRoot .blueprint-cabinet .cabinet-plinth small { font:400 9px/1.4 var(--font-data); }
  #constructorRoot .blueprint-cabinet .cabinet-divider-segment small { font:400 9px/1.4 var(--font-ui); }
  #constructorRoot .blueprint-cabinet :is(.item-level-label,.cabinet-fixed-divider>span,.cabinet-module-shelf>span) {
    max-width:calc(100% - 6px); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
    color:var(--drawing-ink); font:400 9px/1.4 var(--font-data); letter-spacing:0;
  }
  #constructorRoot .blueprint-cabinet :is(.cabinet-fixed-divider>span,.cabinet-module-shelf>span) { top:-17px; background:#f7faf9ed; }
  #constructorRoot .blueprint-cabinet .item-level-label.shelf-measurement { top:-16px; display:block; }
  #constructorRoot .kitchen-cut-sheet>span { container:cut-piece / size; }
  #constructorRoot .kitchen-cut-sheet>span :is(b,small) { display:none; }
}
@media screen and (max-width:1099px) {
  #constructorRoot .info-panel-open .main-workspace>.canvas-stage.is-3d>.canvas-toolbar { flex-wrap:wrap; height:auto; overflow:visible; gap:4px; }
  #constructorRoot .info-panel-open .canvas-stage.is-3d .cabinet-camera-controls { flex-basis:100%; justify-content:space-between; }
  #constructorRoot .info-panel-open .canvas-stage.is-3d .cabinet-camera-controls button { flex:1; }
  #constructorRoot .info-panel-open .cabinet-3d-badge { top:92px; }
}
@media screen {
  @container cut-piece (min-width:36px) and (min-height:18px) {
    #constructorRoot .kitchen-cut-sheet>span>b { display:block; font:500 9px/1.4 var(--font-data); }
  }
  @container cut-piece (min-width:65px) and (min-height:32px) {
    #constructorRoot .kitchen-cut-sheet>span>small { display:block; font:400 9px/1.4 var(--font-data); }
  }
}
