/* Integration spacing only; the property frame and rows come from MuebleLab. */
.ml-property-window { --bg:var(--surface); --bg-alt:var(--surface2); }
#props-panel.ml-property-window { padding:0; min-width:280px; z-index:9000; }
#props-panel.ml-property-window.visible { display:flex; }
#props-panel.ml-property-window .prop-row { margin:0; gap:0; justify-content:normal; }
#props-panel.ml-property-window .prop-row input[type="number"],#props-panel.ml-property-window .prop-row input[type="text"] { width:100%; font:inherit; padding:2px 4px; }
#props-panel.ml-property-window .prop-row .prop-value { display:flex; align-items:center; gap:5px; }
#props-panel.ml-property-window .prop-row .prop-label { flex-basis:135px; }
#props-panel.ml-property-window .props-actions { padding:8px; }
#props-panel.ml-property-window #props-del { margin:8px; width:calc(100% - 16px); }
.selection-note { font-size:11px; color:var(--text-muted); margin:8px; }
[hidden] { display:none !important; }
#catalog-panel { display:none !important; }
#menu-object-search { flex:0 1 210px; min-width:110px; max-width:240px; height:29px; border:1px solid var(--border); border-radius:6px; padding:4px 9px; background:var(--surface); color:var(--text); font:inherit; font-size:12px; }
#menu-object-search:focus { outline:2px solid var(--accent); outline-offset:0; }
@media(max-width:800px){#menu-object-search{flex-basis:125px;min-width:84px;font-size:11px}}
#recent-objects { position:fixed; top:144px; left:12px; z-index:410; width:116px; max-width:calc(100vw - 16px); display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--border); border-radius:8px; background:var(--surface); color:var(--text); box-shadow:0 4px 16px #0002; }
.recent-header { display:grid; grid-template-columns:1fr auto; align-items:center; gap:4px; flex-shrink:0; cursor:grab; touch-action:none; user-select:none; padding:6px 8px; border-bottom:1px solid var(--border); font-size:11px; color:var(--text-muted); }
.recent-header button { border:0; background:transparent; color:var(--text); cursor:pointer; font-weight:600; }
.recent-header .recent-collapse { grid-column:2; grid-row:1 / span 2; }
.recent-drag { grid-column:1; grid-row:2; font-size:10px; }
.common-objects-popup { position:fixed; z-index:10020; width:min(460px,calc(100vw - 16px)); max-height:calc(100vh - 16px); overflow:auto; border:1px solid var(--border); border-radius:10px; padding:10px; background:var(--surface); color:var(--text); box-shadow:0 12px 32px #0004; }
.common-objects-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:8px; }
.common-objects-heading button { border:0; background:transparent; color:var(--text); font-size:20px; cursor:pointer; }
.common-objects-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; }
.common-object { min-height:58px; min-width:0; display:flex; flex-direction:column; justify-content:center; gap:3px; border:1px solid var(--border); border-radius:6px; padding:7px; background:var(--surface2); color:var(--text); text-align:left; cursor:pointer; }
.common-object:hover,.common-object:focus-visible { border-color:var(--accent); outline:1px solid var(--accent); }
.common-object strong { font-size:12px; line-height:1.2; }
.common-object small { font-size:10px; color:var(--text-muted); }
.recent-header:active { cursor:grabbing; }
.recent-header:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.recent-slots { display:grid; grid-template-columns:minmax(0,1fr); gap:5px; padding:6px; min-height:0; overflow-y:auto; overscroll-behavior:contain; }
#recent-objects.collapsed .recent-slots { display:none; }
.recent-slot { position:relative; min-width:0; }
.recent-use { display:flex; flex-direction:column; align-items:center; justify-content:center; height:64px; width:100%; border:1px solid var(--border); border-radius:5px; background:var(--surface2); color:var(--text); cursor:pointer; overflow:hidden; }
.recent-use canvas,.recent-use img { width:58px; height:38px; object-fit:contain; }
.recent-use span { font-size:10px; width:100%; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.recent-use:hover { border-color:var(--accent); }
.recent-remove { position:absolute; right:2px; top:2px; border:0; border-radius:3px; color:var(--text-muted); background:var(--surface); cursor:pointer; padding:0 3px; }
.object-hub-content { display:flex; flex-direction:column; height:100%; min-height:0; gap:8px; }
.object-hub-filters,.object-hub-tools { display:flex; gap:6px; flex-wrap:wrap; }
.object-hub-filters input { flex:1; min-width:160px; }
.object-hub .object-hub-filters select { width:auto; max-width:220px; }
.object-hub input,.object-hub select,.object-hub button { border:1px solid var(--border); border-radius:4px; padding:6px 8px; background:var(--surface); color:var(--text); font:inherit; }
.object-hub button { cursor:pointer; }
.object-hub input:focus,.object-hub select:focus { outline:1px solid var(--accent); }
.object-hub-status { font-size:11px; color:var(--text-muted); margin:0; }
.object-hub-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,38%); min-height:0; flex:1; gap:12px; }
.object-hub-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(155px,1fr)); align-content:start; overflow:auto; gap:8px; padding:2px; }
.object-hub .object-card { display:flex; flex-direction:column; align-items:center; gap:5px; min-height:165px; }
.object-card canvas,.object-card img { width:140px; height:105px; object-fit:contain; }
.object-thumb { width:100%; height:120px; display:flex; justify-content:center; align-items:center; }
.object-thumb img { width:100%; height:120px; object-fit:contain; border-radius:3px; }
.object-card strong { font-size:12px; }
.object-card small { font-size:10px; color:var(--text-muted); }
.object-card[aria-pressed="true"] { border-color:var(--accent); background:var(--accent-bg); }
.object-hub-detail { border-left:1px solid var(--border); padding:0 8px 12px 12px; overflow:auto; font-size:12px; }
.object-hub-detail h3 { margin:6px 0; }
.object-hub-detail label { display:flex; flex-direction:column; gap:4px; margin:10px 0; }
.object-hub-detail input,.object-hub-detail select { width:100%; box-sizing:border-box; }
.object-hero { width:100%; min-height:280px; border-radius:6px; background:var(--surface2); overflow:hidden; }
.object-preview-3d { width:100%; height:300px; touch-action:none; }
.object-preview-3d canvas { display:block; }
.object-preview-hint { margin:6px 0 12px; font-size:11px; color:var(--text-muted); }
.object-hero canvas,.object-hero img { width:100%; height:300px; object-fit:contain; image-rendering:auto; }
.object-hub-detail .primary { background:var(--accent); color:#fff; margin-top:14px; width:100%; }
@media(max-width:700px) {
 #recent-objects { width:104px; }
 .common-objects-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .object-hub-layout { grid-template-columns:minmax(0,1fr); overflow:auto; align-content:start; }
 .object-hub-list { max-height:28vh; min-height:100px; }
 .object-hub-detail { overflow:visible; border-left:0; border-top:1px solid var(--border); padding:8px; }
 .object-hero { display:block; min-height:240px; }
 .object-preview-3d,.object-hero canvas,.object-hero img { height:260px; }
}
