/* One accent, taken from the supplied İsra logo. */
:root{--paper:#fff;--ink:#173449;--muted:#637788;--line:#dce5ec;--teal:#084f79;--gold:#084f79;--ui-font:Arial,Helvetica,sans-serif}
body,button,input,textarea,h1,h2,.detail h3,.floor-tabs button,.floor-tabs button span,.map-subtitle{font-family:var(--ui-font)}
header,.navigation,.detail{background:#fff}
header{gap:28px}
.brand{display:flex;flex-shrink:0;line-height:1}
.brand img{display:block;width:clamp(150px,14vw,390px);height:auto}
h1,.navigation h1{font-weight:600;letter-spacing:-.7px;line-height:1.2}
h2,.detail h3{font-weight:600;letter-spacing:-.5px}
.floor-tabs button{font-weight:600}
.floor-tabs button span{font-weight:400}
.workspace{background:#f1f6fa}
.search,.view-switch{background:#edf3f8}
.outline,.secondary,.presentation-floors button{border-color:var(--line)}
.floor-tabs .active,.primary,.header-actions [aria-pressed=true],.presentation-floors button.active{background:var(--teal);border-color:var(--teal);color:#fff}
.room-item:hover,.room-item.active,.status.reference{background:#e7f1f8;color:var(--teal)}
.room-item{border-color:var(--line)}
.room-item .dot,.teal,.live-dot{background:var(--teal)}
.room-item .arrow,.legend,.source-note,.provenance,.provenance strong,.list-label small,.source-excerpt small,.assignment small{color:var(--muted)}
.zoom-controls,.edit-form input,.edit-form textarea{background:#fff}
.map-footer{border-color:var(--line)}
.room-zone{fill:var(--teal)}
.room-zone.selected,.room-zone:hover,.room-zone.hovered{stroke:var(--teal)}
.room-zone:hover,.room-zone.hovered{fill-opacity:.3}
#rooms .source-label>rect,#rooms .source-label>polygon{stroke:transparent}
#rooms .source-label:hover>rect,#rooms .source-label.selected>rect,#rooms .source-label:focus-visible>rect{stroke:var(--teal)}
#rooms .source-label.user-boundary>polygon{fill:var(--teal);fill-opacity:0;stroke:var(--teal)}
#rooms .source-label.user-boundary.selected>polygon{fill-opacity:.14}
#rooms .source-label.user-boundary:hover>polygon,#rooms .source-label.user-boundary.hovered>polygon{fill-opacity:.3}
#rooms .readable-name,#rooms .readable-area,#rooms .source-override text{font-family:var(--ui-font);fill:var(--ink)}
#rooms .readable-label rect,#rooms .source-label.selected .readable-label rect,#rooms .source-label.hovered .readable-label rect{fill:#fff;stroke:var(--teal)}
#hover-caption,#toast{background:var(--teal);color:#fff}
#boundary-tools{background:#fff;border-color:var(--line)}
#boundary-tools button{background:#edf3f8}
#boundary-preview polyline{stroke:var(--teal)}
#boundary-preview circle{fill:var(--teal)}
button:focus-visible,a:focus-visible,input:focus-visible,[role=button]:focus-visible{outline-color:var(--teal)}
.panel-controls{display:flex;justify-content:space-between;gap:12px;margin-bottom:16px;flex-shrink:0}
.panel-controls button{min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:#fff;font-size:13px;color:var(--teal)}
.panel-controls button:hover,.outline:hover,.secondary:hover{background:#e7f1f8}
.panel-controls button[aria-expanded=false]{border-color:var(--teal)}
body.nav-collapsed .navigation,body.detail-collapsed .detail{display:none}
body.nav-collapsed .presentation-floors{display:flex}
@media(min-width:901px){
 body{--nav-width:clamp(230px,19vw,660px);--detail-width:clamp(245px,21vw,740px)}
 body.board{--nav-width:clamp(260px,23vw,680px);--detail-width:clamp(300px,26vw,820px)}
 body main,body.board main{grid-template-columns:var(--nav-width) minmax(0,1fr) var(--detail-width)}
 body.nav-collapsed main,body.present main{grid-template-columns:minmax(0,1fr) var(--detail-width)}
 body.detail-collapsed main{grid-template-columns:var(--nav-width) minmax(0,1fr)}
 body.nav-collapsed.detail-collapsed main,body.present.detail-collapsed main{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:601px) and (max-width:900px){body.nav-collapsed main{grid-template-columns:minmax(0,1fr)}}
body.board .panel-controls button{min-height:56px;font-size:clamp(16px,1vw,30px)}
@media(min-width:1800px){.panel-controls button{font-size:clamp(14px,.85vw,28px);min-height:clamp(48px,3vw,100px)}}
@media(max-width:600px){.brand img{width:155px}.panel-controls{margin-bottom:12px}.detail-actions{flex-wrap:wrap}.map-footer{gap:12px}}

.sidebar-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.sidebar-close{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex-shrink:0;border:1px solid var(--line);border-radius:6px;background:#edf3f8;color:var(--teal);font:26px Arial,sans-serif}
.sidebar-close:hover{background:#dcecf7}
body.board .sidebar-close{min-width:56px;min-height:56px}
/* Keep the drawing dominant; controls share one compact toolbar. */
:root{--header-height:60px}
header{height:var(--header-height);min-height:0;padding:0 20px;gap:20px}
.brand img{width:145px}
.header-title{font-size:10px;letter-spacing:1px}
.header-actions{gap:6px}
.header-actions button{min-height:36px;font-size:12px;padding:7px 10px}
.workspace,body.present .workspace{padding:12px 16px 0}
.map-heading{flex-wrap:wrap;gap:10px;margin-bottom:8px}
.map-heading>div:first-child{margin-right:auto}
.map-heading .eyebrow,.map-subtitle{display:none}
.map-heading h2{font-size:23px;margin:0;white-space:nowrap}
.panel-controls{margin:0;gap:6px}
.panel-controls button,.view-switch button{min-height:36px;padding:6px 10px;font-size:12px;white-space:nowrap}
.view-switch{padding:3px}
.navigation,.detail{padding:16px}
.navigation h1{font-size:23px;margin:12px 0;letter-spacing:-.4px}
.intro,.nav-footer{display:none}
.floor-tabs{margin:12px 0 16px}
.floor-tabs button{font-size:24px;padding:8px 12px}
.floor-tabs button span{font-size:11px}
.detail h3{font-size:23px;margin:12px 0}
.source-excerpt{margin:12px 0;padding:8px}
.source-excerpt svg{height:60px}
.source-excerpt small{font-size:10px;margin-top:6px}
.map-footer{min-height:48px;padding:4px 0;gap:8px}
.legend{font-size:10px;gap:10px}
.legend label{min-height:32px;gap:5px}
.legend input{width:16px;height:16px}
#tour{font-size:11px;min-height:32px}
.sidebar-close{min-height:32px;min-width:32px;font-size:22px}
@media(min-width:901px){
 body{--nav-width:clamp(210px,16vw,330px);--detail-width:clamp(230px,18vw,370px)}
 .map-stage{padding-bottom:44px}
 .map-hint{bottom:16px}
}
body.board{--header-height:72px}
body.board header .header-actions button{min-height:48px;font-size:16px;padding:8px 12px}
body.board .panel-controls button,body.board .view-switch button{min-height:48px;font-size:16px;padding:8px 12px}
body.board .sidebar-close{min-width:48px;min-height:48px}
body.board .map-heading h2{font-size:28px}
body.board .map-footer{min-height:58px;padding:4px 0}
@media(min-width:901px){body.board{--nav-width:clamp(250px,18vw,420px);--detail-width:clamp(280px,20vw,460px)}}
@media(min-width:1800px){
 :root{--header-height:72px}
 .brand img{width:180px}
 .header-title{font-size:13px}
 .header-actions button{font-size:15px;min-height:44px}
 .map-heading h2{font-size:28px}
 .panel-controls button,.view-switch button{font-size:15px;min-height:44px}
 .navigation h1{font-size:28px}
 .room-item{font-size:16px;padding:10px 8px;min-height:44px}
 .search input{font-size:16px}
 .eyebrow,.list-heading{font-size:11px}
 .detail h3{font-size:28px}
 .source-note,.assignment p,.detail .provenance,.facts div,.primary,.secondary{font-size:16px}
 .legend{font-size:13px}
 #tour,.presentation-floors button{font-size:14px;min-height:44px}
}
@media(max-width:700px){
 .header-title{display:none}
 header{gap:8px;justify-content:space-between}
 .brand img{width:115px}
 .header-actions{width:auto}
 .header-actions button,#present{font-size:11px;padding:6px;min-height:36px}
 .map-heading{flex-wrap:wrap}
 .panel-controls button,.view-switch button{font-size:11px;padding:6px 8px}
}
@media(max-width:600px){
 header{flex-wrap:nowrap;height:60px;padding:0 12px}
 .workspace,body.present .workspace{padding:10px 10px 0}
 .navigation{padding:10px 14px}
 .navigation h1{display:none}
 .map-heading h2{font-size:20px}
 .legend{flex-wrap:wrap}
 body.board header{height:auto;min-height:72px;flex-wrap:wrap;padding:8px 12px}
}

/* Compact, unified room labels: no source masks or outlined lettering. */
#rooms .source-text-mask{display:none}
#rooms .source-label .readable-label .label-backing{fill:#084f79;fill-opacity:.94;stroke:none;rx:4px}
#rooms .source-label .readable-label text{fill:#fff;stroke:none;stroke-width:0;paint-order:normal;font-weight:500;letter-spacing:0}
#rooms .source-label .readable-label .readable-area{fill:#dcebf5;font-weight:400}
#rooms .source-label.selected>rect,#rooms .source-label:hover>rect{stroke:transparent}

#new-room{margin:4px 0 14px;min-height:40px}
#boundary-preview circle{pointer-events:all;cursor:move;fill:#084f79;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}
#boundary-preview .draft-fill{fill:#d9b44a;fill-opacity:.18;stroke:#084f79;stroke-width:2;vector-effect:non-scaling-stroke;stroke-dasharray:5 3}
#room-zones .room-zone{fill:#d9b44a;fill-opacity:.04}
#room-zones .room-zone:hover,#room-zones .room-zone.selected{fill-opacity:.3;stroke:#947318;stroke-width:2}
#boundary-tools{top:auto;bottom:52px;font-size:12px;padding:10px}
#boundary-tools strong{margin-bottom:4px}
#boundary-tools button{min-height:36px;padding:6px 10px}
.drawing-boundary .map-hint{display:none}
