/* Reserve space for controls so the model is never behind the desktop inspector. */
body{--toolbar-top:86px;--canvas-top:146px;--footer-height:54px;--inspector-width:280px}
body:not([data-comparing=true]) header{height:var(--toolbar-top);min-height:0;padding:12px 18px;align-items:center;background:#f1f5ef;border-bottom:1px solid #d8e1d8;gap:14px}
body:not([data-comparing=true]) .identity{min-width:0;gap:10px}
body:not([data-comparing=true]) .identity>div{min-width:0}
body:not([data-comparing=true]) .monogram{height:38px;flex-basis:34px;font-size:25px}
body:not([data-comparing=true]) header .eyebrow{font-size:11px;letter-spacing:1.4px}
body:not([data-comparing=true]) header h1{font-size:26px;max-width:none;line-height:1.15;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body:not([data-comparing=true]) header p{font-size:14px}
body:not([data-comparing=true]) #notes{margin:0;font-size:14px;padding:8px 12px;max-width:none;white-space:nowrap}
body:not([data-comparing=true]) #viewer-toolbar{position:absolute;top:var(--toolbar-top);left:0;right:0;height:calc(var(--canvas-top) - var(--toolbar-top));display:flex;gap:12px;align-items:center;padding:8px 16px;background:#f9faf5;border-bottom:1px solid #d8e1d8;z-index:3}
#panel-toggle{white-space:nowrap;border:1px solid #c7d6ca;border-radius:7px;background:#ecf2e9;font-size:15px;padding:9px 12px}
#panel-toggle[aria-expanded=true]{background:#dce8dc}
body:not([data-comparing=true]) .modes{position:static;transform:none;padding:3px;box-shadow:none;border:1px solid #d8e1d8;border-radius:9px;background:#eaf0e7;gap:3px;flex-shrink:0}
body:not([data-comparing=true]) .modes button{font-size:15px;padding:7px 13px;border-radius:6px}
body:not([data-comparing=true]) #view-tools{position:static;margin-left:auto;display:flex;flex-direction:row;align-items:center;gap:10px;max-width:none}
body:not([data-comparing=true]) #view-tools>button{padding:8px 12px;font-size:15px;border-radius:7px;box-shadow:none}
body:not([data-comparing=true]) #view-tools label{padding:0;background:none;font-size:14px;white-space:nowrap}
body:not([data-comparing=true]) #view-tools select{padding:6px;font-size:15px;max-width:145px}
body:not([data-comparing=true]) #scene{top:var(--canvas-top);bottom:var(--footer-height);left:0;right:0;height:auto;border-radius:0}
body[data-inspector=true]:not([data-comparing=true]) #scene{left:var(--inspector-width)}
#inspector{position:absolute;top:var(--canvas-top);left:0;bottom:var(--footer-height);width:var(--inspector-width);max-height:none;padding:0;border:0;border-right:1px solid #d6dfd3;border-radius:0;background:#f6f8ef;box-shadow:none;display:flex;flex-direction:column;overflow:hidden;z-index:2}
#inspector .panel-head{padding:12px 14px 6px;flex-shrink:0}
#inspector .panel-head .eyebrow{font-size:12px;letter-spacing:1px}
#inspector .panel-head button{font-size:22px;width:26px;height:26px;line-height:1;padding:0}
#inspector #floors{margin:5px 10px 10px;flex-shrink:0}
#inspector #floors button{font-size:14px;padding:7px 4px;min-width:0;overflow-wrap:anywhere}
#panel-tabs{display:flex;gap:3px;padding:0 10px 10px;border-bottom:1px solid #dce4d8;flex-shrink:0}
#panel-tabs button{flex:1;border-radius:5px;padding:7px 4px;background:none;font-size:15px}
#panel-tabs button[aria-selected=true]{background:#214e42;color:#fff}
#inspector [role=tabpanel]{position:static;flex:1;min-height:0;max-height:none;max-width:none;width:auto;overflow:auto;padding:12px 14px;background:none;border:0;border-radius:0;box-shadow:none;scrollbar-width:thin}
#inspector #room-content{padding:0}
#inspector #rooms{max-height:none;overflow:visible;padding:6px 7px}
#inspector #rooms button{font-size:15px;line-height:1.35;padding:9px 7px}
#inspector .panel-foot{padding:9px 14px}
#inspector #room-card h2{font-size:25px;line-height:1.2;margin:9px 0 13px}
#inspector #room-card p{font-size:16px;line-height:1.6;margin:0}
#inspector #room-card .eyebrow{font-size:11px}
#inspector #minimap .map-heading{padding:0 0 10px;font-size:12px;line-height:1.4}
#inspector #map{padding:6px 0;max-height:300px}
#inspector #minimap p{font-size:14px;line-height:1.4}
.inspector-actions{display:flex;justify-content:space-between;gap:6px;border-top:1px solid #dce4d8;padding:10px;flex-shrink:0}
.inspector-actions button{padding:7px 6px;border-radius:5px;background:#e7eee2;font-size:14px}
body:not([data-comparing=true]) footer{height:var(--footer-height);left:0;right:0;bottom:0;padding:5px 16px;gap:8px;flex-wrap:nowrap;background:#f5f7ef;border-top:1px solid #dce4d8}
.view-caption{min-width:0;margin-right:auto;display:flex;align-items:center;gap:12px}
.view-caption strong{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600}
.view-caption #hint{font-size:14px;color:#5a7267;white-space:nowrap}
body:not([data-comparing=true]) footer button{padding:7px 10px;font-size:14px;white-space:nowrap;border:1px solid #d6dfd3;border-radius:7px}
body:not([data-comparing=true]) #walk-controls{right:14px;bottom:calc(var(--footer-height) + 14px);padding:4px;background:#f6f8eff0;border:1px solid #d6dfd3;border-radius:9px}
body:not([data-comparing=true]) #walk-controls button{width:29px;height:29px;padding:0;margin:1px;font-size:18px;border-radius:5px;background:#e5eddf}
body[data-comparing=true] #panel-toggle{display:none}
#exit-focus{position:absolute;top:12px;right:12px;border:1px solid #ccd8cd;padding:8px 12px;font-size:15px;z-index:5}
body[data-focus=true] header,body[data-focus=true] #viewer-toolbar,body[data-focus=true] #inspector,body[data-focus=true] footer,body[data-focus=true] #walk-controls{display:none!important}
body[data-focus=true]:not([data-comparing=true]) #scene{inset:0}
#status{z-index:8}
@media(max-width:1000px){body{--inspector-width:260px}body:not([data-comparing=true]) #viewer-toolbar{gap:7px;padding:8px 10px}body:not([data-comparing=true]) .modes button{padding:7px 10px}body:not([data-comparing=true]) #view-tools{gap:7px}.view-caption #hint{display:none}}
@media(max-width:899px){body{--toolbar-top:80px;--canvas-top:177px;--footer-height:50px}body:not([data-comparing=true]) header{padding:10px 12px}body:not([data-comparing=true]) header h1{font-size:21px}body:not([data-comparing=true]) #viewer-toolbar{flex-wrap:wrap;justify-content:space-between;align-content:center;gap:6px 9px;padding:7px 12px}body:not([data-comparing=true]) #view-tools{flex-basis:100%;justify-content:space-between;margin:0}body:not([data-comparing=true]) #view-tools label{display:flex;align-items:center;gap:5px}body:not([data-comparing=true]) .modes button{font-size:14px;padding:6px 10px}#panel-toggle{font-size:14px;padding:8px 10px}#inspector{left:10px;top:calc(var(--canvas-top) + 8px);bottom:calc(var(--footer-height) + 8px);width:min(280px,calc(100vw - 36px));border:1px solid #d6dfd3;border-radius:9px;box-shadow:0 10px 25px #14342925}body[data-inspector=true]:not([data-comparing=true]) #scene{left:0}body:not([data-comparing=true]) footer{padding:5px 10px;gap:5px}.view-caption strong{max-width:180px;font-size:14px}body:not([data-comparing=true]) footer button{font-size:14px;padding:7px}body:not([data-comparing=true]) #notes{font-size:12px;padding:7px 9px}body:not([data-comparing=true]) .monogram{display:none}}
@media(max-width:480px){body:not([data-comparing=true]) header h1{font-size:18px}body:not([data-comparing=true]) header .eyebrow{font-size:7px}body:not([data-comparing=true]) header p{font-size:12px}body:not([data-comparing=true]) #notes{font-size:0;padding:7px;width:29px;flex-shrink:0}body:not([data-comparing=true]) #notes:after{content:'\24D8';font-size:18px}body:not([data-comparing=true]) .modes button{padding:6px 8px}#panel-toggle{padding:8px;font-size:12px}body:not([data-comparing=true]) footer #download{font-size:0}body:not([data-comparing=true]) footer #download:after{content:'GLB \2193';font-size:14px}.view-caption strong{max-width:145px}}
@media(max-height:540px) and (min-width:900px){body{--toolbar-top:72px;--canvas-top:132px;--footer-height:50px}body:not([data-comparing=true]) header p{display:none}#inspector .panel-head{padding-top:5px}#inspector #floors{margin-bottom:5px}#panel-tabs{padding-bottom:5px}}

/* Readable text with the same compact, collapsible workspace. */
#inspector #rooms .room-number{font-size:12px;width:20px}
#inspector .panel-foot button{font-size:14px}
#inspector #floors button{line-height:1.3}
.inspector-actions button{font-size:13px}
#inspector .panel-head .eyebrow{line-height:1.35}
@media(max-width:1100px){body:not([data-comparing=true]) #view-tools>button{font-size:14px;padding:8px}body:not([data-comparing=true]) #view-tools select{font-size:14px}body:not([data-comparing=true]) .modes button{font-size:14px;padding:7px 9px}#panel-toggle{font-size:14px;padding:8px}.view-caption #hint{display:none}}
@media(max-width:899px){body:not([data-comparing=true]) .modes button{font-size:13px;padding:7px 8px}#panel-toggle{font-size:13px}body:not([data-comparing=true]) #view-tools>button,body:not([data-comparing=true]) #view-tools select,body:not([data-comparing=true]) #view-tools label{font-size:13px}body:not([data-comparing=true]) footer button{font-size:13px}.view-caption strong{font-size:13px}body:not([data-comparing=true]) #notes{font-size:12px}}
@media(max-width:480px){#panel-toggle{font-size:12px;padding:8px 6px}body:not([data-comparing=true]) #notes{font-size:0}body:not([data-comparing=true]) footer #download{font-size:0}body:not([data-comparing=true]) footer #download:after{font-size:13px}body:not([data-comparing=true]) footer button{padding:7px 6px}.view-caption strong{max-width:130px}}

#scene.unmatched-photo { display:grid; place-items:center; background:#e6eeea; padding:32px; box-sizing:border-box; }
#scene.unmatched-photo::after { content:'No matching model view saved for this photo. Select a view below, or regenerate to include photo matching and outdoor details.'; max-width:440px; font-size:20px; line-height:1.55; color:#294c43; text-align:center; }

#scene.unmatched-photo canvas { display:none; }

/* Review inputs remain readable inside the scrolling comparison column. */
#comparison fieldset label { display:block; margin:12px 0 6px; }
#comparison fieldset textarea { font:inherit; color:inherit; background:#fffdf5; border:1px solid #bccfc4; border-radius:8px; padding:10px; }
#comparison fieldset button { margin:10px 8px 0 0; }
#comparison fieldset legend { font-weight:700; }
#room-correction { margin:16px 0; padding:16px; border:1px solid #cbded5; border-radius:12px; }
#room-correction summary { cursor:pointer; font-weight:700; }
#room-correction label { display:block; margin:12px 0; }
#room-correction button { max-width:100%; white-space:normal; }
