:root{--header-bottom:86px;--toolbar-bottom:162px}*{box-sizing:border-box}body{margin:0;overflow:hidden;color:var(--text);font:14px var(--body);background:#e9eeeb}button,input,select,textarea{font:inherit}button{cursor:pointer;min-height:44px}button:disabled{cursor:default;opacity:.5}button,input,textarea,select,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:3px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.skip-link{position:fixed;left:15px;top:-90px;z-index:100;background:white;padding:12px}.skip-link:focus{top:12px}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}#scene{position:fixed;inset:0}#scene canvas{width:100%;height:100%;display:block;touch-action:none}#scene canvas[data-looking=true]{cursor:grabbing!important}#scene-fallback{position:fixed;right:20px;top:var(--toolbar-bottom);padding:14px;width:270px;background:var(--surface);border:1px solid var(--line);border-radius:12px;z-index:3}#shell{position:relative;z-index:25;min-height:0!important}.studio-global-header{background:#ffffffee!important}.studio-global-header .account{margin-left:auto;color:var(--muted);font-size:12px}.studio-global-header .studio-brand img{height:48px;width:160px;object-fit:contain}#shell nav{padding:18px;font-size:12px;max-width:300px}#shell nav button{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:8px;padding:12px}#shell nav button:hover{background:var(--accent-soft)}#shell nav label{display:flex;align-items:center;gap:10px;min-height:44px}#shell nav p{font-size:12px;line-height:1.6;color:var(--muted)}#shell nav hr{border:0;border-top:1px solid var(--line);margin:12px 0}
.campus-toolbar{position:fixed;z-index:20;left:0;right:0;top:var(--header-bottom);display:flex;align-items:center;gap:18px;padding:12px 26px;background:#fffffff2;border-bottom:1px solid var(--line);min-height:62px}#context{font-size:12px;font-weight:600;max-width:46%;line-height:1.6}.muted{color:var(--muted);font-weight:400}.prototype{font-size:10px;color:var(--accent);padding:6px 10px;border:1px solid var(--line);border-radius:20px;white-space:nowrap}#search-form{margin-left:auto;display:flex;gap:6px;max-width:420px;flex:1}#search-form input{border:1px solid var(--line);border-radius:9px;padding:10px 12px;width:100%;min-width:0;background:var(--surface);font-size:13px}#search-form button{padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent);white-space:nowrap}
.campus-panel{position:fixed;z-index:10;top:var(--toolbar-bottom);left:26px;width:330px;max-height:calc(var(--campus-view-height,100dvh) - var(--toolbar-bottom) - 150px);overflow:auto;scrollbar-gutter:stable;background:#fffffff2;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 18px 60px #23323417}.campus-panel h1{font:600 32px/1.1 var(--display);letter-spacing:-.9px;margin:12px 0 20px}.campus-panel p{line-height:1.75;color:var(--muted);font-size:13px}.eyebrow{font-size:10px!important;letter-spacing:1.5px;font-weight:650;color:var(--accent)!important;margin:0 0 12px}.campus-panel .lead{font-size:17px;line-height:1.7;margin-bottom:26px}.primary,.secondary{border-radius:9px;padding:12px 15px;min-height:46px;display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;margin:9px 0;border:1px solid var(--line)}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.primary:hover{filter:brightness(.94)}.secondary{background:var(--surface);color:var(--accent)}.text-button{border:0;background:transparent;color:var(--accent);padding:8px 0;font-size:12px}.preview-note{font-size:11px!important;line-height:1.65!important;color:var(--muted);margin-top:18px}.panel-logo{display:block;max-width:200px;height:48px;object-fit:contain;margin-bottom:20px;background:white}.account-card{display:flex;align-items:center;gap:12px;padding:16px 0;margin:8px 0 15px}.avatar,.person-row>b{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;background:var(--accent-soft);color:var(--accent);border-radius:50%}.account-card strong,.account-card small{display:block}.account-card strong{font-size:13px}.account-card small{font-size:11px;color:var(--muted);line-height:1.6;margin-top:5px}
.area-list{display:grid;gap:7px;margin:17px 0}.area-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--surface);text-align:left;min-width:0}.area-list button:hover{background:var(--accent-soft);border-color:var(--accent)}.area-list button strong,.area-list button small{display:block}.area-list button strong{font-size:13px}.area-list button small{font-size:10px;color:var(--muted);line-height:1.5;margin-top:4px}.area-list img{width:75px;height:29px;object-fit:contain}.area-list button>span:last-child{color:var(--accent)}.look-buttons{display:flex;gap:7px}.look-buttons button{border:1px solid var(--line);padding:9px 12px;min-width:44px;border-radius:8px;color:var(--accent);background:var(--surface)}
.building-pins{position:fixed;inset:0;z-index:6;pointer-events:none}.building-pin{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:5px;min-width:130px;max-width:205px;border:1px solid #d6e1dc;border-radius:13px;background:#fffffff5;box-shadow:0 10px 28px #203c3c25;padding:10px 15px;color:var(--text)}.building-pin:after{content:'';position:absolute;bottom:-9px;left:calc(50% - 8px);width:16px;height:16px;background:#fffffff5;border-right:1px solid #d6e1dc;border-bottom:1px solid #d6e1dc;transform:rotate(45deg)}.building-pin img{width:135px;height:36px;object-fit:contain;background:white}.building-pin span{font-size:10px;color:var(--muted)}.building-pin:hover{border-color:var(--accent);background:var(--accent-soft)}
.campus-controls{position:fixed;z-index:12;left:26px;bottom:76px;display:flex;align-items:flex-end;gap:7px}.campus-controls>button,.campus-controls summary{background:#fffffff4;border:1px solid var(--line);border-radius:10px;box-shadow:0 4px 15px #24353310;color:var(--accent);padding:11px 14px;min-height:44px;font-size:12px;cursor:pointer}.campus-controls details{position:relative}.campus-controls details[open]{max-width:300px;background:white;border:1px solid var(--line);border-radius:12px;padding:10px;box-shadow:0 10px 35px #24353320}.campus-controls details p{font-size:12px;line-height:1.7;color:var(--muted);max-width:250px}.campus-controls details button{background:var(--accent-soft);border:1px solid var(--line);border-radius:8px;min-width:44px;min-height:44px;margin:3px;padding:9px;color:var(--accent)}.campus-footer{position:fixed;z-index:20;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fffffff2;border-top:1px solid var(--line);padding:13px 26px;font-size:11px;line-height:1.6;color:var(--muted);min-height:54px}.campus-footer #status{color:var(--accent);max-width:52%}.journey{position:fixed;z-index:40;bottom:84px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;background:#ffffffed;padding:14px 18px;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 35px #24353320;font-size:12px}.journey button{border:1px solid var(--line);border-radius:9px;padding:9px;background:var(--surface);color:var(--accent);white-space:nowrap}
.campus-workspace{position:fixed;z-index:18;right:24px;top:var(--toolbar-bottom);bottom:76px;width:min(520px,48vw);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 75px #27363027;scrollbar-gutter:stable}.campus-workspace>header{position:sticky;top:0;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:20px;background:var(--surface);border-bottom:1px solid var(--line)}.campus-workspace header h1{font:600 25px/1.15 var(--display);letter-spacing:-.6px;margin:0;overflow-wrap:anywhere}.campus-workspace header button{background:var(--accent-soft);border:1px solid var(--line);border-radius:8px;color:var(--accent);padding:10px;flex-shrink:0;font-size:12px}.workspace-context{font-size:12px;color:var(--muted);line-height:1.6;padding:0 22px}.workspace-body{padding:0 22px 22px}.demo-surface{border:1px solid var(--line);border-radius:12px;padding:16px;background:#f6f8f5;margin:16px 0}.demo-surface h2{font-size:17px;margin:4px 0 13px}.demo-surface p,.demo-surface li{font-size:13px;line-height:1.7;color:var(--muted)}.document-tile{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line);background:white;border-radius:9px;font-size:12px;line-height:1.5}.document-tile span{color:var(--accent)}.customer-row{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:12px 0;background:transparent;border:0;border-top:1px solid var(--line);font-size:12px}.customer-row img{width:80px;height:30px;object-fit:contain}.customer-row>span:last-child{margin-left:auto;color:var(--accent)}.person-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid var(--line);font-size:13px;line-height:1.6}.person-row small{color:var(--muted)}.area-links{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:12px 0}.area-links button{border:1px solid var(--line);background:var(--surface);border-radius:8px;text-align:left;padding:10px;font-size:12px;color:var(--accent)}.campus-workspace label{display:grid;gap:8px;font-size:13px;font-weight:600;margin-top:16px}.campus-workspace input,.campus-workspace select,.campus-workspace textarea{font:14px var(--body);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:12px;width:100%;min-width:0}.campus-workspace textarea{resize:vertical}.campus-workspace [aria-invalid=true]{border-color:#a43530}.campus-workspace [data-form-status]{font-size:12px;line-height:1.6;color:var(--accent)}body[data-object-open=true] .campus-panel{opacity:.65;pointer-events:none}body[data-object-open=true] #scene canvas{pointer-events:none}
@media(max-width:1050px){.prototype,.studio-global-header .account{display:none}.campus-panel{width:290px;padding:20px}.campus-workspace{width:50vw}#context{max-width:40%}.building-pin{min-width:110px;max-width:160px;padding:9px}.building-pin img{width:115px;height:31px}}
@media(max-width:760px){.campus-toolbar{padding:9px 12px;flex-wrap:wrap;gap:7px}#context{max-width:100%;width:100%;font-size:11px}#search-form{max-width:none;flex-basis:100%}#search-form input{font-size:16px}.campus-panel{top:auto;left:12px;right:12px;bottom:116px;width:auto;max-height:43dvh;padding:18px}.campus-panel h1{font-size:25px;margin:8px 0 12px}.campus-panel .lead{font-size:14px;margin:10px 0 16px}.campus-panel .preview-note{margin-top:10px;font-size:10px!important}.panel-logo{height:32px;margin-bottom:10px}.campus-controls{left:12px;bottom:62px;gap:5px}.campus-controls>button,.campus-controls summary{padding:10px;font-size:11px}.campus-footer{padding:8px 12px;font-size:10px;min-height:52px}.campus-footer>span:first-child{display:none}.campus-footer #status{max-width:100%}.building-pin{min-width:90px;max-width:135px;padding:7px;border-radius:10px}.building-pin img{width:95px;height:26px}.building-pin span{font-size:9px}.campus-workspace{left:10px;right:10px;top:auto;bottom:62px;width:auto;max-height:65dvh}.campus-workspace header{padding:15px}.campus-workspace header h1{font-size:22px}.campus-workspace input,.campus-workspace textarea,.campus-workspace select{font-size:16px}.journey{left:12px;right:12px;transform:none;bottom:120px;flex-wrap:wrap;gap:10px}.area-list{grid-template-columns:1fr 1fr;gap:6px}.area-list button{padding:10px;min-width:0}.area-list button strong{font-size:11px;overflow-wrap:anywhere}.area-list button small{font-size:9px}.area-list img{display:none}.area-list button>span:last-child{display:none}.workspace-body{padding:0 15px 15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

.connected-work{inset:var(--toolbar-bottom) 24px 76px;width:auto;max-height:none;display:flex;flex-direction:column;overflow:hidden}.connected-work[hidden]{display:none}.connected-work>header{position:static;padding:10px 18px;flex-shrink:0}.connected-work h1{font-size:20px}.connected-note{font-size:12px;color:var(--muted);padding:0 18px}.connected-work [data-frames]{flex:1;min-height:0}.connected-work iframe{width:100%;height:100%;border:0;background:var(--surface)}.connected-work iframe[hidden]{display:none}.connected-work details{padding:8px 18px;font-size:12px;max-height:32%;overflow:auto}.connected-work details a,.connected-work details button{display:inline-block;border:1px solid var(--line);padding:10px;background:var(--accent-soft);color:var(--accent);border-radius:8px;margin:5px;min-height:44px}.connected-work summary{min-height:32px;cursor:pointer}@media(max-width:760px){.connected-work{inset:var(--toolbar-bottom) 8px 62px}.connected-work h1{font-size:16px}.connected-work>header{padding:8px}}

.customer-access{display:flex;gap:8px;align-items:center;min-width:0}.customer-access select,.customer-access button{font:12px var(--body);min-height:44px;max-width:210px;background:var(--surface);color:var(--accent);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.customer-access select{width:180px}.campus-toolbar{flex-wrap:wrap}body[data-list-view=true] #scene,body[data-list-view=true] .building-pins,body[data-list-view=true] .campus-controls{visibility:hidden}body[data-list-view=true] .campus-panel{left:24px;right:24px;top:var(--toolbar-bottom);bottom:76px;width:auto;max-height:none}body[data-list-view=true] .area-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media(max-width:760px){.customer-access{width:100%}.customer-access select{max-width:none;flex:1;font-size:16px}body[data-list-view=true] .campus-panel{left:12px;right:12px;bottom:62px}}

/* Direct access uses document scrolling; embedded work retains its own scroll area. */
body[data-list-view=true]{overflow:auto;background:var(--bg)}
body[data-list-view=true] .campus-toolbar{position:relative;top:auto}
body[data-list-view=true] #context{max-width:100%;overflow-wrap:anywhere}
body[data-list-view=true] .campus-panel{position:relative;inset:auto;margin:20px 24px;max-width:960px;padding:24px;overflow:visible;box-shadow:none}
body[data-list-view=true] .campus-panel h2{font:600 20px var(--display);margin-top:28px}
body[data-list-view=true] .area-list button{min-height:64px;color:var(--text)}
body[data-list-view=true] .area-list button strong{font-size:15px}
body[data-list-view=true] .area-list button small{font-size:12px}
body[data-list-view=true] .area-list img{display:block;width:64px;height:32px;flex-shrink:0;background:white}
body[data-list-view=true] .campus-footer{position:relative;gap:12px}
body[data-list-view=true] #scene-fallback{position:relative;inset:auto;margin:12px;width:auto}
body[data-list-view=true] .campus-workspace{position:fixed;inset:12px;max-height:none;width:auto;z-index:30}
@media(max-width:760px){
 body[data-list-view=true] .campus-panel{margin:12px;padding:18px}
 body[data-list-view=true] .area-list{grid-template-columns:1fr}
 body[data-list-view=true] .customer-access{flex-wrap:wrap}
 body[data-list-view=true] .customer-access select{width:100%;flex-basis:100%}
 body[data-list-view=true] #view-mode{width:100%;max-width:none;font-size:14px}
 body[data-list-view=true] .campus-workspace{inset:6px}
 body[data-list-view=true] .campus-workspace header{flex-wrap:wrap}
}

/* Room directory shared by the connected campus and its preview. */

#room-map{position:fixed;z-index:13;right:24px;bottom:78px;width:330px;max-width:calc(100vw - 24px);color:var(--text)}
#room-map details{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 36px #23323422;overflow:hidden}
#room-map summary{font:600 14px var(--body);padding:14px 16px;min-height:50px;cursor:pointer;list-style-position:inside}
#room-map summary:hover{background:var(--accent-soft)}
#room-map summary:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}
#room-map summary span{display:block;color:var(--muted);font-size:11px;font-weight:400;margin:5px 0 0 16px}
.map-body{border-top:1px solid var(--line);padding:12px;max-height:55dvh;overflow:auto;scrollbar-gutter:stable}
.map-body>p:first-child{font-size:11px;margin:0 0 12px;color:var(--accent);font-weight:600;line-height:1.5}
.map-row{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:0;min-height:44px}
.map-row button{display:flex;align-items:center;gap:6px;min-height:44px;min-width:0;text-align:left;font-size:12px;padding:6px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:5px;margin-bottom:4px;line-height:1.3;overflow-wrap:anywhere}
.map-row button b{font:600 10px var(--body);color:var(--accent);flex-shrink:0}
.map-row button:hover{background:var(--accent-soft);border-color:var(--accent)}
.map-row button[aria-current=location]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.map-row button[aria-current=location] b{color:inherit}
.map-corridor{display:grid;place-items:center;background:var(--bg);color:var(--accent);font-size:11px}
.map-entrance{text-align:center;font-size:11px;font-weight:600;color:var(--accent);padding:8px;background:var(--accent-soft);border-radius:5px}
.map-note{font-size:10px;color:var(--muted);margin:10px 0 0;text-align:center}
body[data-list-view=true] #room-map,body[data-object-open=true] #room-map{display:none}
@media(max-width:760px){#room-map{right:12px;bottom:64px;width:290px}.map-body{max-height:44dvh}}
#directory-toggle{position:fixed;z-index:14;left:26px;top:var(--toolbar-bottom);min-height:44px;background:var(--surface);color:var(--accent);border:1px solid var(--line);border-radius:9px;padding:10px 14px;font:600 13px var(--body)}
#directory-toggle:hover{background:var(--accent-soft)}
body:is([data-view=building],[data-view=room]):not([data-list-view=true]) .campus-panel{top:calc(var(--toolbar-bottom) + 54px);bottom:auto;height:fit-content;max-height:calc(var(--campus-view-height,100dvh) - var(--toolbar-bottom) - 186px);width:360px;padding:16px}
body[data-view=building]:not([data-list-view=true]) .campus-panel>:is(.panel-logo,.eyebrow,p){display:none}
body:is([data-view=building],[data-view=room]):not([data-list-view=true]) .campus-panel h1{font-size:22px;line-height:1.2;margin:0 0 12px}
body[data-view=building]:not([data-list-view=true]) .area-list{margin:0;gap:6px}
body[data-view=building]:not([data-list-view=true]) .area-list button{padding:9px 12px;min-height:58px}
body[data-view=building]:not([data-list-view=true]) .area-list button>span:first-child{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px;flex:1;min-width:0}
body[data-view=building]:not([data-list-view=true]) .area-list strong{grid-column:1;overflow-wrap:anywhere}
body[data-view=building]:not([data-list-view=true]) .area-list small:not(.room-status-reason){grid-column:1;font-size:11px;margin-top:2px}
body[data-view=building]:not([data-list-view=true]) .area-list [data-status-area]{grid-column:2;grid-row:1/3;align-self:center}
body[data-view=building]:not([data-list-view=true]) .area-list .room-status{margin:0;font-size:10px}
body[data-view=building]:not([data-list-view=true]) .area-list .room-status-reason{display:none}
body[data-object-open=true] #directory-toggle{display:none}
@media(min-width:1000px) and (max-height:740px){
 body:is([data-view=building],[data-view=room]):not([data-list-view=true]) .campus-panel{top:var(--toolbar-bottom);bottom:auto;max-height:calc(var(--campus-view-height,100dvh) - var(--toolbar-bottom) - 68px);width:min(560px,52vw);padding:12px}
 body[data-view=building]:not([data-list-view=true]) .area-list{grid-template-columns:1fr 1fr}
 body[data-view=building]:not([data-list-view=true]) .area-list button{min-height:54px;padding:8px 10px}
 body[data-view=building]:not([data-list-view=true]) .area-list button>span:first-child{display:block}
 body[data-view=building]:not([data-list-view=true]) .area-list small:not(.room-status-reason){display:none}
 body[data-view=building]:not([data-list-view=true]) .area-list .room-status{margin-top:3px}
 body[data-view=building]:not([data-list-view=true]) .campus-panel>.secondary{display:none}
 body:is([data-view=building],[data-view=room]):not([data-list-view=true]) :is(#directory-toggle,.campus-controls){left:auto;right:24px}
 body:is([data-view=building],[data-view=room]):not([data-list-view=true]) #room-map{bottom:140px}
}
@media(max-width:760px){#directory-toggle{left:12px}body:is([data-view=building],[data-view=room]):not([data-list-view=true]) .campus-panel{top:calc(var(--toolbar-bottom) + 54px);bottom:116px;left:12px;right:12px;width:auto;max-height:none}body[data-view=building]:not([data-list-view=true]) .area-list{grid-template-columns:1fr}}

/* Fachapps take the page; the campus returns without reloading their drafts. */
body[data-object-open=true]{overflow:hidden}
html:has(body[data-object-open=true]){scrollbar-gutter:auto}
body[data-object-open=true] :is(#scene,#scene-fallback,#shell,.studio-global-header,.campus-toolbar,.campus-panel,.campus-controls,.campus-footer,.building-pins,#room-map,#directory-toggle,.skip-link){visibility:hidden;pointer-events:none}
body[data-object-open=true] .campus-workspace{inset:0;width:auto;max-height:none;border:0;border-radius:0;box-shadow:none;z-index:30;scrollbar-gutter:auto}
body[data-object-open=true] .connected-work>header{padding:4px 12px;align-items:center;min-height:52px;gap:12px}
body[data-object-open=true] .connected-work>header h1{font-size:14px;line-height:1.35;letter-spacing:0;min-width:0}
body[data-object-open=true] .connected-work>header button{min-height:44px;font-size:13px}
body[data-object-open=true] .connected-work>details{padding:0 12px;flex-shrink:0;border-top:1px solid var(--line)}
body[data-object-open=true] .connected-work>details>summary{min-height:28px;line-height:28px}
body[data-object-open=true] .connected-work [data-frames]{display:flex;min-width:0}
@media(max-width:760px){body[data-object-open=true] .connected-work>header{flex-wrap:nowrap;padding:4px 8px}body[data-object-open=true] .connected-work>header h1{font-size:12px}}

.room-status{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;margin-top:6px;color:var(--text)}.room-status i{width:10px;height:10px;border-radius:50%;background:#81858b;flex:none}.room-status.red i{background:#c54747}.room-status.yellow i{background:#b88720}.room-status.green i{background:#238266}.room-status-reason{display:block;line-height:1.45;overflow-wrap:anywhere}.room-status-detail{border:1px solid var(--line);border-radius:9px;padding:12px;margin:12px 0}.room-status-detail p{margin:6px 0;font-size:11px}.map-row button .room-status-reason{display:none}.map-row button .room-status{font-size:9px}

.room-check summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--accent);font-weight:600}.room-check summary:hover{background:var(--accent-soft)}.room-check summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* Compact campus chrome; all movement aids live in one optional menu. */
.studio-global-header{min-height:54px!important;padding:4px 18px!important;gap:12px!important}
.studio-global-header .studio-brand{padding:0!important}.studio-global-header .studio-brand img{width:124px;height:34px}
.studio-global-header .studio-home{min-height:44px;padding:8px 12px}.studio-global-header .account{font-size:11px}
.campus-toolbar{padding:4px 18px;gap:10px;min-height:52px;flex-wrap:nowrap}
#context{display:flex;align-items:center;gap:8px;min-width:0;flex:1;max-width:none;line-height:1.3}
.context-building{display:flex;align-items:center;gap:8px;min-width:0;max-width:280px;border:0;background:transparent;text-align:left;color:var(--text);padding:2px 4px;border-radius:8px}
.context-building:hover{background:var(--accent-soft)}.context-building img{width:62px;height:36px;object-fit:contain;background:white;border-radius:5px;flex:none}
.context-building span{min-width:0}.context-building small{display:block;color:var(--muted);font-size:10px}.context-building strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.context-area{max-width:180px;overflow-wrap:anywhere;font-weight:500;font-size:12px}.context-separator{color:var(--accent)}
.customer-access{gap:6px}.customer-access select{width:150px}.customer-access button{max-width:none;font-size:11px;padding:6px 8px}
#search-form{max-width:250px;flex:.7;min-width:150px}#search-form input{padding:8px;font-size:12px}#search-form button{padding:8px;font-size:12px}
#directory-toggle{position:static!important;font-size:12px;padding:8px 10px;flex:none}#directory-toggle[aria-expanded=true]{background:var(--accent-soft)}
.campus-tools{position:relative;flex:none}.campus-tools>summary{min-height:44px;display:flex;align-items:center;cursor:pointer;padding:8px 10px;border:1px solid var(--line);border-radius:8px;color:var(--accent);background:var(--surface)}
.campus-tools>summary:hover{background:var(--accent-soft)}.campus-tools>summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.campus-tools .campus-controls{position:absolute!important;top:calc(100% + 8px);left:auto!important;right:0!important;bottom:auto!important;display:grid;width:280px;padding:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:60}
.campus-tools:not([open]) .campus-controls{display:none}.campus-controls>button{box-shadow:none}.campus-controls details[open]{box-shadow:none}.campus-controls .look-buttons{flex-wrap:wrap}
body:is([data-view=building],[data-view=room]):not([data-list-view=true]) .campus-panel{top:var(--toolbar-bottom);bottom:auto;margin:0;max-height:calc(var(--campus-view-height,100dvh) - var(--toolbar-bottom) - 64px)}
#room-map{top:var(--toolbar-bottom);bottom:auto!important;max-height:calc(var(--campus-view-height,100dvh) - var(--toolbar-bottom) - 64px)}
.map-body{max-height:calc(var(--campus-view-height,100dvh) - var(--toolbar-bottom) - 148px)}
.room-live-preview{margin:12px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface)}.room-live-preview h2{font-size:12px;margin:10px}.room-live-preview iframe{display:block;border:0;width:100%;height:270px;background:var(--surface)}.room-live-preview p{padding:0 10px}
.studio-global-header .studio-brand{width:132px!important}body[data-logged=true] .campus-footer{min-height:32px;padding:6px 18px}body[data-logged=true] .campus-footer>span:first-child{display:none}body[data-logged=true] .campus-footer #status{max-width:none}
body[data-overviews-hidden=true]:not([data-list-view=true]) :is(.campus-panel,#room-map){display:none}
@media(max-width:1100px){.campus-toolbar{flex-wrap:wrap}#context{flex-basis:100%;justify-content:flex-start}.context-building{max-width:65%}#search-form{max-width:none}.customer-access select{width:160px}}
@media(max-width:760px){.studio-global-header{padding:4px 12px!important}.studio-global-header .studio-brand img{width:112px;height:30px}.campus-toolbar{padding:4px 12px;gap:6px}.customer-access{width:auto;flex:1}.customer-access select{width:130px}#search-form{min-width:140px;flex-basis:100%;order:5}.context-area{max-width:40%}.context-building img{width:48px;height:32px}.campus-tools .campus-controls{right:0!important;width:min(280px,calc(100vw - 24px))}body[data-view=room]:not([data-list-view=true]) .campus-panel{left:12px;right:12px;width:auto}}

body[data-list-view=true] .campus-tools{display:none}
@media(max-width:760px){.customer-access{flex:1 1 100%;width:100%}.customer-access select{width:0;min-width:0}.customer-access #view-mode{flex:1;min-width:0;white-space:normal}#search-form input{font-size:16px}#room-map{display:none}}
/* Work is primary; the quiet desktop campus is an optional visual companion. */
body[data-list-view=true] .room-status-reason{display:none}
body[data-list-view=true] .area-list button{align-items:flex-start;padding:18px;text-align:left;min-height:112px}
body[data-list-view=true] .area-list button>span:first-child{display:grid;gap:6px}
body[data-list-view=true] .area-list button small{line-height:1.55;color:var(--muted)}
body[data-list-view=true] .area-open{display:block;color:var(--accent);font-size:12px;font-weight:600;margin-top:6px}
body[data-list-view=true] .area-list button:hover{border-color:var(--accent);background:var(--accent-soft)}
body[data-list-view=true] .area-list button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(min-width:1101px){
 body[data-list-view=true][data-logged=true] .campus-panel{width:auto;max-width:none;min-height:calc(var(--campus-view-height,100dvh) - var(--toolbar-bottom) - 90px);margin:0;background:var(--surface);border:1px solid var(--line);border-radius:16px}
 body[data-list-view=true][data-logged=true] .area-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 body[data-list-view=true][data-logged=true] .campus-toolbar{gap:12px;padding:8px 24px}
 body[data-list-view=true][data-logged=true] .customer-access{flex-wrap:nowrap}
 body[data-list-view=true][data-logged=true] .customer-access select{width:210px;flex-basis:auto}
 body[data-list-view=true][data-logged=true] #view-mode{width:auto;font-size:12px}
 body[data-list-view=true] .campus-layout{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}
 body[data-list-view=true][data-backdrop=true] #scene{position:absolute;inset:0;visibility:visible;width:100%;height:100%;pointer-events:none}
}
@media(max-width:1100px){body[data-list-view=true] #scene{display:none}.area-open{font-size:13px}}
body[data-list-view=true] .campus-panel h1{font:600 28px/1.2 var(--display);letter-spacing:-.6px;margin:8px 0 14px}
body[data-list-view=true] .campus-panel>p{line-height:1.65;max-width:72ch}
body[data-object-open=true] #scene{display:none!important}

/* Personal appearance owns interface colors; 3D materials and original logos stay unchanged. */
html[data-appearance=dark] .studio-global-header{background:var(--surface)!important}
html[data-appearance=dark] :is(.campus-toolbar,.campus-panel,.campus-footer,.journey,.skip-link,.document-tile,.campus-controls>button,.campus-controls summary,.campus-controls details[open]){background:var(--surface)}
html[data-appearance=dark] :is(.building-pin,.building-pin:after){background:var(--surface);border-color:var(--line)}
html[data-appearance=dark] .demo-surface{background:var(--bg)}
html[data-appearance=dark] :is(.area-list img,.customer-row img){background:#fff}
html[data-appearance=dark] .campus-workspace [aria-invalid=true]{border-color:var(--risk-danger)}
@media(max-width:760px){body[data-view=building]:not([data-list-view=true]) .area-list button>span:first-child{display:block}body[data-view=building]:not([data-list-view=true]) .area-list .room-status{margin-top:4px}}
.campus-layout,.campus-companion,.campus-visual{display:contents}.campus-companion-footer{display:none}
@media(max-width:380px){.studio-global-header{flex-wrap:wrap!important}.studio-global-header .studio-home{margin-left:auto}}
body[data-list-view=true] .campus-layout{display:grid;gap:20px;align-items:start;margin:20px 24px}
body[data-list-view=true] .campus-layout .campus-panel{width:auto;max-width:none;margin:0;min-width:0}
body[data-list-view=true] .campus-companion{display:block;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
body[data-list-view=true] .campus-visual{display:block;position:relative;height:clamp(320px,58dvh,560px);overflow:hidden;background:#e8efea url('/campus-gate.jpg') center/cover no-repeat}
body[data-list-view=true][data-backdrop=true] .campus-visual{background-image:none}
body[data-list-view=true] .campus-companion-footer{display:grid;gap:8px;padding:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.campus-companion-footer #view-mode{width:100%;max-width:none;min-height:44px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--accent-soft);color:var(--accent);font-weight:600}
body[data-object-open=true] .campus-layout{display:none}
body[data-object-open=true] .connected-work>header [data-auth]{min-height:44px;display:flex;align-items:center;flex-shrink:0;padding:8px;color:var(--accent);font-size:12px}
@media(max-width:600px){body[data-object-open=true] .connected-work>header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}body[data-object-open=true] .connected-work>header h1{grid-column:1/-1}}
@media(max-width:1100px){body[data-list-view=true] .campus-visual{height:150px}body[data-list-view=true] .campus-companion-footer{grid-template-columns:1fr auto;align-items:center}.campus-companion-footer #view-mode{width:auto}}
@media(max-width:760px){body[data-list-view=true] .campus-layout{margin:12px;gap:12px}.campus-companion-footer #view-mode{font-size:14px}}
