/* Host workspace: panel scroll and map scroll are independent. */
body.host-workspace{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#f4f5f6}
.host-workspace [hidden]{display:none!important}
.host-workspace button,.host-workspace input,.host-workspace select{min-height:44px}
.host-workspace button:focus-visible,.host-workspace a:focus-visible,.host-workspace .tbl:focus-visible{outline:3px solid #d97706;outline-offset:2px}
.host-workspace header{position:static;flex-shrink:0;background:#303534;padding:6px 12px;gap:6px;min-height:58px;flex-wrap:nowrap}
.host-workspace header b{white-space:nowrap}.host-workspace header #shifts{display:none}
.host-workspace #dateLabel{background:none;border:0;font-size:13px;color:white}
.host-workspace .metrics{flex-shrink:0;max-height:66px;overflow:auto;font-size:12px;padding:6px 12px;gap:12px}
.host-workspace .delivery{flex-shrink:0;margin:0;border-radius:0;flex-wrap:wrap}
.host-workspace .mobile-nav{display:none}
.host-workspace .layout{display:grid;grid-template-columns:64px 360px minmax(0,1fr);gap:0;padding:0;flex:1;min-height:0;align-items:stretch}
.host-workspace.nav-expanded .layout{grid-template-columns:172px 360px minmax(0,1fr)}
.workspace-nav{background:#303534;color:white;padding:10px 6px;display:flex;flex-direction:column;gap:8px;min-width:0;overflow:auto}
.workspace-nav button,.workspace-nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;background:transparent;border:0;color:white;border-radius:8px;text-decoration:none;font-size:13px}
.workspace-nav button:hover,.workspace-nav a:hover{background:#46504b}.workspace-nav .nav-label{display:none}.nav-expanded .workspace-nav .nav-label{display:inline}.nav-expanded .workspace-nav button,.nav-expanded .workspace-nav a{justify-content:flex-start;padding:10px}
.workspace-nav .new-party{background:#f4cd85;color:#242820;font-weight:700}.workspace-nav .nav-foot{margin-top:auto}
.work-panel{display:flex;flex-direction:column;min-height:0;min-width:0;background:#fff;border-right:1px solid #dfe3e0}
.work-tabs{display:flex;background:#f2f4f2;padding:4px;gap:2px;flex-shrink:0}.work-tabs button{flex:1;border:0;background:transparent;border-radius:7px;font-size:13px;padding:8px 4px}.work-tabs [aria-selected=true]{background:#fff;color:#147044;font-weight:700;box-shadow:0 1px 3px #0001}
.host-workspace .work-panel .panel{border:0;border-radius:0;min-height:0;flex:1;overflow:auto;padding:12px}
.host-workspace .res{flex-wrap:wrap;padding:10px;gap:7px}.host-workspace .res .g{min-width:160px}.host-workspace .res .acts{max-width:none;width:100%;justify-content:flex-start}.host-workspace .res .name{white-space:normal}.host-workspace .srvpick{display:flex;margin-top:4px}.host-workspace .srv{min-height:36px;font-size:14px}
.host-workspace #reservations{padding-bottom:8px}.host-workspace .panel h2{font-size:12px;letter-spacing:.6px}
.reservation-filters{display:flex;gap:5px;margin:8px 0;flex-wrap:wrap}.reservation-filters button{font-size:12px;padding:6px 9px}.reservation-filters [aria-pressed=true]{background:#dceee2;border-color:#9bcaaa;color:#17452d}
.quick-walk{padding:10px;border-top:1px solid #dfe3e0;background:#fafbf9;flex-shrink:0}.quick-walk strong{display:block;font-size:12px;margin-bottom:7px}.quick-walk div{display:flex;gap:4px;overflow:auto}.quick-walk button{flex:1;min-width:34px;padding:5px}
.host-workspace #floorPanel{border:0;border-radius:0;display:flex;flex-direction:column;min-height:0;min-width:0;padding:10px 14px;overflow:auto;background:#f8f9fa}
.host-workspace #floorPanel>h2{display:none}.host-workspace #sectionTabs{flex-shrink:0;margin:0}.host-workspace #sectionTabs button{background:transparent;border:0}.host-workspace #sectionTabs .act{background:#e1eee5;color:#12653c}
.host-workspace .scrub{flex-shrink:0;margin:6px 0;max-width:650px}.host-workspace .planwrap{flex:1;min-height:200px;overflow:auto;display:flex;align-items:flex-start;justify-content:flex-start;border:0;border-radius:8px;background:#f8f9fa;overscroll-behavior:contain}
.host-workspace .plan{flex-shrink:0;margin:auto;transform-origin:top left;touch-action:pan-x pan-y}
.host-workspace .legend{flex-shrink:0;margin:7px 0;font-size:11px}.host-workspace .tbl{box-shadow:0 2px 5px #26372f12;cursor:pointer}.host-workspace .tbl .who{font-size:10px}
.host-workspace .tbl .course-label{font-size:9px;white-space:nowrap}.host-workspace .fix{border-style:solid;background:#ece5f5;border-color:#e6e0ed}.host-workspace .fix.exit{background:#e1e9f8;color:#4d596c}
.floor-toolbar{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:4px 0}.floor-toolbar button{font-size:12px}.floor-toolbar .floor-help{flex:1;font-size:12px;color:#63716a}.floor-toolbar output{font-size:12px;min-width:34px;text-align:center}
.host-workspace .mobile-table-picker{margin:0;flex-shrink:0}.host-workspace .mobile-table-picker summary{padding:8px;font-size:12px}.host-workspace #mobileTableList{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));max-height:190px}
.host-workspace .service-board{margin:0;border:0;padding:0}.host-workspace .service-grid{max-height:none}.host-workspace #serviceDialog{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(460px,100%);border-radius:0;border:0;box-shadow:-8px 0 32px #0002}
.host-workspace #serviceDialog::backdrop{background:#132b222b}.host-workspace #serviceError{padding:6px;font-size:12px}
.server-card{border:1px solid #e1e5e1;border-radius:10px;padding:12px;margin:8px 0}.server-card strong{display:block}.server-card small{color:#617068}.server-card button{margin-top:8px;width:100%;text-align:left}
.composer-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.composer-head h2{margin:0}.composer-tables{display:flex;flex-wrap:wrap;gap:4px;margin:8px 0}.composer-tables button{font-size:12px}.composer-tables [aria-pressed=true]{background:#dceee2;border-color:#137344}
.host-workspace #addBtn{position:sticky;bottom:0;min-height:48px;background:#127644;border-color:#127644}.host-workspace .field input,.host-workspace .field select,.host-workspace textarea{font-size:16px}.host-workspace #addMsg{overflow-wrap:anywhere}
#connectionState{font-size:11px;color:#dcfce7;max-width:145px}#connectionState[data-state=stale]{color:#fde68a}
.host-workspace #joinbar{border-radius:12px;max-width:calc(100vw - 24px);flex-wrap:wrap;bottom:16px}.host-workspace .toasts{max-width:calc(100vw - 24px)}
@media(max-width:1100px){.host-workspace .layout,.host-workspace.nav-expanded .layout{grid-template-columns:52px 310px minmax(0,1fr)}.nav-expanded .workspace-nav .nav-label{display:none}.host-workspace header #qrBtn,.host-workspace header #signOut{display:none}.host-workspace #floorPanel{padding:8px}.host-workspace header b{font-size:12px}}
@media(max-width:900px){.host-workspace header{flex-wrap:wrap;padding:6px 8px;gap:4px}.host-workspace header b{flex:1}.host-workspace header .sp{display:none}.host-workspace header #prev,.host-workspace header #next{min-width:44px}.host-workspace header #today{display:none}.host-workspace header #dateLabel{order:2}.host-workspace header #connectionState{order:3;margin-left:auto}.host-workspace header #refresh{font-size:12px}.host-workspace .metrics{display:none}.host-workspace .layout,.host-workspace.nav-expanded .layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 58px}.workspace-nav{grid-row:2;flex-direction:row;padding:3px;gap:3px;overflow:hidden}.workspace-nav button,.workspace-nav a{flex:1;min-height:48px;font-size:12px;padding:5px}.workspace-nav .nav-label,.nav-expanded .workspace-nav .nav-label{display:inline}.workspace-nav .nav-foot,.workspace-nav .nav-reconcile{display:none}.host-workspace #navToggle{display:none}.work-panel{grid-column:1;grid-row:1;border:0}.host-workspace #floorPanel{grid-column:1;grid-row:1}.host-workspace[data-mobile-view=floor] .work-panel{display:none}.host-workspace:not([data-mobile-view=floor]) #floorPanel{display:none}.host-workspace #floorPanel{padding:7px}.host-workspace .planwrap{min-height:180px}.host-workspace .legend{font-size:10px;gap:6px}.floor-toolbar .floor-help{display:none}.host-workspace #joinbar{bottom:67px;font-size:12px}.host-workspace .toasts{bottom:67px;left:10px;right:10px}.host-workspace #serviceDialog{width:100%;height:94dvh;max-height:94dvh;margin:auto 0 0;border-radius:16px 16px 0 0}.host-workspace .quick-walk{padding-bottom:env(safe-area-inset-bottom,8px)}}

.host-workspace .plan.compact-labels .who,.host-workspace .plan.compact-labels .course-label,.host-workspace .plan.compact-labels .dot{display:none}.host-workspace .plan.compact-labels .tbl .nm{font-size:11px}.host-workspace .floor-toolbar{margin:0}.host-workspace .scrub{margin:0}.host-workspace .tbl{padding:0}

.floor-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;flex-shrink:0;gap:4px}.floor-options{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.floor-options details{flex:1;min-width:140px}.time-view summary{min-height:44px;font-size:12px;padding:8px;cursor:pointer}.floor-bar .floor-help{display:none}.host-workspace .floor-bar .floor-toolbar{margin-left:auto}.host-workspace .floor-options .scrub{padding:6px 0}
