/* Spatial layout only. All colours, typography and component states live in
   nexus-theme.css, shared by light/dark, the original 3D hall and 2D workbench. */
.topbar{height:64px;padding:0 24px}
.brand strong{font-weight:550;letter-spacing:.035em}
.brand small{letter-spacing:.12em}
.room-switch{gap:4px;padding:4px}
/* Hide redundant 3D camera buttons in topbar (already present in bottom camera dock) */
.room-switch .visual-nav{display:none!important}
.hall2d #hall-collab-toggle{display:none!important}
.hall2d [data-tmenu="bid"]{display:none!important}
.room-heading{top:78px;left:24px;max-width:640px;pointer-events:auto!important;cursor:pointer;padding:9px 15px;border-radius:11px;transition:all .2s ease}
.room-heading.expanded{max-width:680px;padding:13px 16px}
.room-heading h1{font-size:12.5px!important;line-height:1.4!important;margin:0!important;display:inline;font-weight:500!important}
.room-heading .eyebrow{display:inline;font-size:11px!important;margin-right:8px;font-weight:600;color:var(--nx-gold-text)!important}
.room-heading .eyebrow span{display:none}
.room-heading::after{content:' ▾ 协议架构';font-size:10.5px;color:var(--nx-gold-text);margin-left:8px;opacity:.85}
.room-heading.expanded::after{content:' ▴ 收起'}
.room-heading p{display:none;margin:10px 0 2px!important;padding-top:10px;border-top:1px solid var(--nx-line);line-height:1.65;font-size:11.5px!important}
.room-heading.expanded p{display:block}
.nx-tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nx-tech-grid>div{padding:9px 11px;border-radius:8px;background:var(--nx-gold-soft);border:1px solid var(--nx-line)}
.nx-tech-grid b{display:block;margin-bottom:4px;font-size:11.5px;color:var(--nx-gold-text)}
.collaboration{top:82px;right:20px;bottom:22px;width:336px;border-radius:15px;transition:transform .25s ease,opacity .22s ease}
body.collab-collapsed .collaboration{transform:translateX(366px);opacity:0;pointer-events:none}
.panel-heading{padding:15px 18px 11px;min-height:58px}
.panel-heading h2{margin-top:4px;font-size:16px}
.tabs{margin:0 14px;padding:0 0 9px;gap:4px}
.panel-content{padding:14px 16px}
.message{position:relative;padding-left:2px}
.message p{margin-top:6px}
.connected{padding:4px 8px;border-radius:6px}
.quote{border-radius:11px}
/* Single bottom HUD row: compact status-strip on left, camera dock on center-right */
.status-strip{left:24px;right:auto;bottom:22px;width:auto;max-width:520px;min-height:48px;height:48px;padding:6px 14px;gap:14px;border-radius:12px}
.status-strip>div{min-width:0;display:flex;flex-direction:column;justify-content:center}
.status-strip>div:first-child{flex:1;min-width:120px;max-width:210px;overflow:hidden}
.status-strip small{margin-bottom:2px;font-size:9px!important}
.status-strip strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:11.5px!important}
.status-strip #start-bid{padding:7px 11px;font-size:11px}
.bottom-bar{left:560px;right:370px;bottom:22px;height:48px;justify-content:flex-start}
body.collab-collapsed .bottom-bar{right:24px}
.camera-controls{gap:3px;padding:6px}
.quote-detail{border-radius:15px}
body[data-visual-view='nexus'] .room-heading{opacity:0;pointer-events:none}
@media(max-width:1280px){
 .room-heading{left:18px;max-width:520px}
 .status-strip{left:18px;max-width:440px}
 .bottom-bar{left:470px;right:346px}
 .collaboration{right:16px;width:316px}
}
@media(max-width:960px){
 /* Tablet & Mobile: keep 3D viewport unobstructed! Collapse status-strip, make camera dock a single sleek bottom pill, and convert collaboration panel into a bottom-sheet drawer (collapsed by default) */
 .topbar{height:56px!important;padding:0 12px!important;gap:8px!important}
 .brand{min-width:0!important;gap:8px!important}
 .brand small,.brand-divider{display:none!important}
 .brand strong{font-size:13px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
 .atrium-brand{width:28px!important;height:28px!important}
 .room-switch{margin:0!important;padding:2px!important;gap:2px!important}
 .room-switch .visual-nav{display:none!important}
 .room-switch button{padding:6px 10px!important;font-size:11px!important;border-radius:8px!important}
 .header-tools{display:inline-flex!important;gap:5px!important;margin-left:auto!important}
 .icon-button{padding:6px 8px!important;font-size:11px!important}
 .room-heading{top:64px!important;left:10px!important;right:10px!important;width:auto!important;max-width:calc(100vw - 20px)!important;padding:7px 12px!important;z-index:11!important}
 .room-heading h1{font-size:11.5px!important;display:inline!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .room-heading .eyebrow{display:inline!important;font-size:10.5px!important;margin-right:6px!important}
 .room-heading.expanded{max-height:62dvh;overflow-y:auto}
 .nx-tech-grid{grid-template-columns:1fr!important;gap:8px!important}
 /* Hide status-strip on mobile/tablet so middle-bottom 3D view is 100% clear */
 .status-strip{display:none!important}
 /* Single compact horizontal camera pill bar at bottom */
 .bottom-bar{left:10px!important;right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;height:42px!important;justify-content:center!important}
 .camera-controls{display:inline-flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;max-width:100%!important;padding:4px 6px!important;gap:2px!important;scrollbar-width:none}
 .camera-controls::-webkit-scrollbar{display:none}
 .camera-controls button{padding:6px 9px!important;font-size:11px!important;flex:0 0 auto!important}
 .camera-controls>div{height:16px!important}
 .camera-controls #pause-scene{grid-column:auto!important}
 /* Collaboration becomes a clean bottom-sheet drawer, hidden by default via body.collab-collapsed */
 .collaboration{top:auto!important;left:10px!important;right:10px!important;bottom:58px!important;width:auto!important;height:56dvh!important;max-height:430px!important;z-index:25!important;border-radius:16px!important}
 body.collab-collapsed .collaboration{transform:translateY(calc(100% + 70px))!important;opacity:0!important;pointer-events:none!important}
 #bid-wizard,.quote-detail,#hall-login-cta{left:10px!important;right:10px!important;width:auto!important;max-width:none!important;top:64px!important;bottom:58px!important;transform:none!important}
}
@media(max-width:520px){
 .nx-hide-xs{display:none!important}
 .brand strong{max-width:76px}
 .room-heading h1{display:none!important}
 .room-heading.expanded h1{display:inline!important;white-space:normal}
}
