/* V795fa — plan-first phone and tablet workspaces.
   Responsive layout only. Desktop and dedicated touchscreen kiosk layouts are unchanged. */

:root{
  --v795fa-mobile-sheet:35%;
  --v795fa-workspace-gap:8px;
  --v795fa-plan-head-h:78px;
}

.mobileWorkspaceHandle{
  display:none;
}

/* Responsive devices: phones and tablets, including iPad-sized coarse pointers. */
@media (max-width:980px), (max-width:1180px) and (pointer:coarse){
  html:has(body.responsiveWorkspaceV795fa:not(.touchscreenMode)){
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  body.responsiveWorkspaceV795fa:not(.touchscreenMode){
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) main{
    position:sticky!important;
    top:0!important;
    z-index:120!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:100dvh!important;
    min-height:100dvh!important;
    max-height:100dvh!important;
    margin:0!important;
    padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))!important;
    gap:var(--v795fa-workspace-gap)!important;
    align-items:stretch!important;
    overflow:hidden!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #adminSideSplitter,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #viewerSideSplitter,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #publicSideSplitter,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planKeySplitter,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planKeyCard.expoPlanitControlStrip,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #keyCard.expoPlanitControlStrip,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #publicPlanControlStrip{
    display:none!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #leftCol,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #adminSide,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #viewerSide,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #publicSide{
    display:contents!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planCard{
    position:relative!important;
    top:auto!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:20px!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planCard > .adminPlanSurface,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planCard > .cardSurface{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planCard .cardHead{
    position:relative!important;
    z-index:4!important;
    display:block!important;
    flex:0 0 var(--v795fa-plan-head-h)!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:var(--v795fa-plan-head-h)!important;
    min-height:var(--v795fa-plan-head-h)!important;
    max-height:var(--v795fa-plan-head-h)!important;
    padding:0!important;
    overflow:hidden!important;
    background:#fff!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #zoomWrap{
    position:relative!important;
    z-index:2!important;
    display:block!important;
    flex:1 1 0!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    background:#fff!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #zoomSvgHost,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #zoomSvgHost > svg{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
  }

  /* Admin + Exhibitor: controls and active key live in the plan header on every device. */
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLayout,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLayout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:8px!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:100%!important;
    padding:6px 8px 6px 10px!important;
  }

  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderText,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderText{
    display:none!important;
  }

  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderMain,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderMain{
    grid-column:1!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-width:0!important;
    height:100%!important;
    padding:0!important;
    border:0!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderMain::before,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderMain::before{
    display:none!important;
  }

  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:100%!important;
    min-width:0!important;
    height:30px!important;
    min-height:30px!important;
  }

  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls .segSwitch,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls .segSwitch{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    min-width:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }

  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls #planResetBtn,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls #fitBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 1 auto!important;
    width:auto!important;
    min-width:58px!important;
    height:28px!important;
    min-height:28px!important;
    max-height:28px!important;
    padding:3px 9px!important;
    border:1px solid color-mix(in srgb,var(--accentText) 18%,var(--border))!important;
    border-radius:999px!important;
    background:linear-gradient(180deg,#fff 0%,#f8f8f8 100%)!important;
    color:var(--muted)!important;
    box-shadow:0 3px 0 color-mix(in srgb,var(--accentText) 13%,transparent),0 6px 14px rgba(0,0,0,.06)!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:950!important;
    white-space:nowrap!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls #planViewPlanBtn,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls #planViewPlanBtn{
    min-width:82px!important;
    white-space:nowrap!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls .segBtn.active,
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls .segBtn[aria-pressed="true"],
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls .segBtn.active,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls .segBtn[aria-pressed="true"]{
    color:var(--accentText)!important;
    border-color:color-mix(in srgb,var(--accentText) 28%,var(--border))!important;
    background:color-mix(in srgb,var(--accent) 10%,white)!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls .segBtn:active,
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls #planResetBtn:active,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls .segBtn:active,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls #fitBtn:active{
    transform:translateY(2px)!important;
    box-shadow:0 1px 0 color-mix(in srgb,var(--accentText) 13%,transparent),0 3px 8px rgba(0,0,0,.05)!important;
  }

  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLegend,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLegend{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-width:0!important;
    height:22px!important;
    min-height:22px!important;
    max-height:22px!important;
    overflow:hidden!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLegend > *,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLegend > *{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:9px!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    height:22px!important;
    min-height:22px!important;
    max-height:22px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLegend .keyFilterHint,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLegend .keyFilterHint{
    display:none!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLegend .keyPill,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLegend .keyPill{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    width:auto!important;
    min-width:0!important;
    height:21px!important;
    min-height:21px!important;
    max-height:21px!important;
    padding:1px 2px!important;
    border-color:transparent!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:var(--muted)!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:900!important;
    white-space:nowrap!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLegend .keyDot,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLegend .keyDot{
    width:9px!important;
    height:9px!important;
    flex:0 0 9px!important;
    box-shadow:0 0 0 1px rgba(0,0,0,.10)!important;
  }

  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand{
    position:relative!important;
    grid-column:2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-width:72px!important;
    height:48px!important;
    padding-left:9px!important;
    border:0!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand::before,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand::before{
    content:""!important;
    position:absolute!important;
    left:0!important;
    top:50%!important;
    display:block!important;
    width:1px!important;
    height:44px!important;
    transform:translateY(-50%)!important;
    background:color-mix(in srgb,var(--accentText) 15%,var(--border))!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand img,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand img{
    display:block!important;
    width:72px!important;
    max-width:72px!important;
    height:auto!important;
    opacity:.58!important;
  }

  /* Public: Fit/Links and Expo Planit are part of the plan header. */
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .cardHead{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    padding:7px 9px!important;
  }
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .publicPlanTitleBlock{
    display:none!important;
  }
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .publicPlanActions{
    position:static!important;
    left:auto!important;
    top:auto!important;
    grid-column:auto!important;
    display:flex!important;
    flex:1 1 auto!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    width:auto!important;
    min-width:0!important;
    transform:none!important;
  }
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .publicPlanActions #fitBtn,
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .publicPlanActions #topWebsiteLinksBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:92px!important;
    height:30px!important;
    min-height:30px!important;
    padding:4px 14px!important;
    border-radius:999px!important;
    font-size:11px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .publicPlanActions #topWebsiteLinksBtn[hidden]{
    display:none!important;
  }
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .expoPlanitPublicHeaderBrand{
    position:relative!important;
    display:flex!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:flex-end!important;
    min-width:88px!important;
    height:48px!important;
    margin:0!important;
    padding-left:10px!important;
    border:0!important;
  }
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .expoPlanitPublicHeaderBrand::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:1px;
    height:44px;
    transform:translateY(-50%);
    background:color-mix(in srgb,var(--accentText) 15%,var(--border));
  }
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .expoPlanitPublicHeaderBrand img{
    display:block!important;
    width:84px!important;
    max-width:84px!important;
    height:auto!important;
    opacity:.58!important;
  }

  /* The tab shells own all vertical scrolling. Inactive panels must never leak. */
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) .workspaceTabsShell,
  body.responsiveWorkspaceV795fa.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell{
    position:relative!important;
    z-index:3!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    max-height:100%!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:20px!important;
  }

  body.responsiveWorkspaceV795fa #adminWorkspaceShell > .workspacePanel:not(.workspacePanelActive),
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell > .workspacePanel:not(.workspacePanelActive),
  body.responsiveWorkspaceV795fa #adminWorkspaceShell > #utilityCard:not(.workspacePanelActive),
  body.responsiveWorkspaceV795fa #adminWorkspaceShell > #selectedCard:not(.workspacePanelActive),
  body.responsiveWorkspaceV795fa #adminWorkspaceShell > #standsCard:not(.workspacePanelActive),
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell > #websiteLinksCard:not(.workspacePanelActive),
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell > #selectedCard:not(.workspacePanelActive),
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell > #standsCard:not(.workspacePanelActive),
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell > #keyCard:not(.publicDirectoryPanelActive),
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell > #standsCard:not(.publicDirectoryPanelActive),
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell > #visitorListCard:not(.publicDirectoryPanelActive){
    display:none!important;
  }

  body.responsiveWorkspaceV795fa .workspaceTabsBar,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryTabs{
    position:relative!important;
    z-index:2!important;
    flex:0 0 50px!important;
    width:100%!important;
    min-height:50px!important;
    max-height:50px!important;
    overflow:hidden!important;
    background:#fff!important;
  }

  body.responsiveWorkspaceV795fa .workspaceTab,
  body.responsiveWorkspaceV795fa.publicDirectoryMode .publicDirectoryTab{
    min-height:50px!important;
    padding:9px 4px!important;
    font-size:12px!important;
    line-height:1!important;
  }
  body.responsiveWorkspaceV795fa .workspaceTabShort,
  body.responsiveWorkspaceV795fa.publicDirectoryMode .publicDirectoryTabShort{display:inline!important;}
  body.responsiveWorkspaceV795fa .workspaceTabLong,
  body.responsiveWorkspaceV795fa.publicDirectoryMode .publicDirectoryTabLong{display:none!important;}

  body.responsiveWorkspaceV795fa #adminWorkspaceShell > .workspacePanel.workspacePanelActive,
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell > .workspacePanel.workspacePanelActive,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell > .publicDirectoryPanelActive{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  body.responsiveWorkspaceV795fa #adminWorkspaceShell #utilityBody,
  body.responsiveWorkspaceV795fa #adminWorkspaceShell #selectedBody,
  body.responsiveWorkspaceV795fa #adminWorkspaceShell #standsBody,
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell #selectedPanel,
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell #standsPanel,
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell #websiteLinksList,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell #standsBody,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell #keyBodyWrap,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell #visitorListBody{
    flex:1 1 auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  body.responsiveWorkspaceV795fa #adminWorkspaceShell #utilityBody,
  body.responsiveWorkspaceV795fa #adminWorkspaceShell #selectedBody,
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell #selectedPanel,
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell #websiteLinksList{
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }

  body.responsiveWorkspaceV795fa #adminWorkspaceShell #standsBody,
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell #standsPanel,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell #standsBody{
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }

  body.responsiveWorkspaceV795fa #adminWorkspaceShell .tableWrap,
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell .tableWrap,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell .tableWrap{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  body.responsiveWorkspaceV795fa #adminWorkspaceShell .tableScroll,
  body.responsiveWorkspaceV795fa #viewerWorkspaceShell .tableScroll,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell .tableScroll,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell #visitorListItems,
  body.responsiveWorkspaceV795fa .workspaceCategoryList{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }

  /* Public Links remains available as a contained overlay when the event uses it. */
  body.responsiveWorkspaceV795fa.publicDirectoryMode:not(.touchscreenMode) #publicSide > #websiteLinksCard:not([hidden]),
  body.responsiveWorkspaceV795fa.publicDirectoryMode:not(.touchscreenMode) #websiteLinksCard:not([hidden]):not(.workspacePanel){
    position:absolute!important;
    z-index:40!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    width:min(420px,calc(100% - 20px))!important;
    max-height:70%!important;
    overflow:hidden!important;
  }
  body.responsiveWorkspaceV795fa.publicDirectoryMode:not(.touchscreenMode) #websiteLinksCard:not([hidden]):not(.workspacePanel) #websiteLinksList:not(.isCollapsed){
    max-height:calc(70dvh - 56px)!important;
    overflow:auto!important;
  }
}

/* Phone portrait: plan-first with a resizable tabbed bottom sheet. */
@media (max-width:720px) and (orientation:portrait){
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) main{
    --v795fa-sheet-size:var(--v795fa-mobile-sheet,35%);
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:minmax(82px,calc(100% - var(--v795fa-sheet-size) - var(--v795fa-workspace-gap))) minmax(66px,var(--v795fa-sheet-size))!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planCard{
    grid-column:1!important;
    grid-row:1!important;
  }
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #adminWorkspaceShell,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #viewerWorkspaceShell,
  body.responsiveWorkspaceV795fa.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell{
    grid-column:1!important;
    grid-row:2!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) .mobileWorkspaceHandle{
    position:relative;
    display:flex!important;
    flex:0 0 18px!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    height:18px!important;
    min-height:18px!important;
    padding:0!important;
    border:0!important;
    border-bottom:1px solid color-mix(in srgb,var(--accentText) 8%,var(--border))!important;
    border-radius:0!important;
    background:#fff!important;
    box-shadow:none!important;
    cursor:ns-resize!important;
    touch-action:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) .mobileWorkspaceHandle::before{
    content:"";
    display:block;
    width:44px;
    height:4px;
    border-radius:999px;
    background:color-mix(in srgb,var(--accentText) 28%,var(--border));
  }
  body.responsiveWorkspaceV795fa.isDraggingMobileWorkspace{
    user-select:none!important;
    cursor:ns-resize!important;
  }

  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planCard .cardHead{
    --v795fa-plan-head-h:76px;
  }

  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLayout,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLayout{
    gap:5px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand{
    min-width:64px!important;
    padding-left:7px!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand img,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand img{
    width:64px!important;
    max-width:64px!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls{gap:4px!important;}
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls .segSwitch,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls .segSwitch{gap:4px!important;}
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls #planResetBtn,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls #fitBtn{
    min-width:52px!important;
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:10.5px!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls #planViewPlanBtn,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls #planViewPlanBtn{
    min-width:78px!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLegend > *,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLegend > *{gap:7px!important;}
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLegend .keyPill,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLegend .keyPill{font-size:9.5px!important;}

  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .expoPlanitPublicHeaderBrand{
    min-width:76px!important;
    padding-left:8px!important;
  }
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .expoPlanitPublicHeaderBrand img{
    width:72px!important;
    max-width:72px!important;
  }
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .publicPlanActions #fitBtn,
  body.responsiveWorkspaceV795fa.publicHeaderControlsMode #planCard .publicPlanActions #topWebsiteLinksBtn{
    min-width:74px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }

  body.responsiveWorkspaceV795fa .workspaceTabsShell,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell{
    min-height:0!important;
    border-radius:18px!important;
  }
  body.responsiveWorkspaceV795fa .workspaceTabsBar,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryTabs{
    flex-basis:48px!important;
    min-height:48px!important;
    max-height:48px!important;
  }
  body.responsiveWorkspaceV795fa .workspaceTab,
  body.responsiveWorkspaceV795fa.publicDirectoryMode .publicDirectoryTab{
    min-height:48px!important;
    font-size:clamp(10px,3.1vw,12px)!important;
  }

  /* Existing Public same-tab collapse becomes the sheet's compact state. */
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryShell.publicDirectoryCollapsed{
    min-height:0!important;
  }
}

/* Phone landscape and tablets: plan left, tabbed workspace right. */
@media (min-width:721px) and (max-width:980px),
       (max-width:980px) and (orientation:landscape),
       (min-width:981px) and (max-width:1180px) and (pointer:coarse){
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) main{
    grid-template-columns:minmax(0,1.64fr) minmax(280px,1fr)!important;
    grid-template-rows:minmax(0,1fr)!important;
  }
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planCard{
    grid-column:1!important;
    grid-row:1!important;
  }
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #adminWorkspaceShell,
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #viewerWorkspaceShell,
  body.responsiveWorkspaceV795fa.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell{
    grid-column:2!important;
    grid-row:1!important;
  }
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) .mobileWorkspaceHandle{
    display:none!important;
  }
  body.responsiveWorkspaceV795fa:not(.touchscreenMode) #planCard .cardHead{
    --v795fa-plan-head-h:74px;
  }
  body.responsiveWorkspaceV795fa .workspaceTabsBar,
  body.responsiveWorkspaceV795fa.publicDirectoryMode #publicDirectoryTabs{
    flex-basis:52px!important;
    min-height:52px!important;
    max-height:52px!important;
  }
  body.responsiveWorkspaceV795fa .workspaceTab,
  body.responsiveWorkspaceV795fa.publicDirectoryMode .publicDirectoryTab{
    min-height:52px!important;
    font-size:12px!important;
  }
}

/* Very narrow phones keep the full three-button row without losing the logo. */
@media (max-width:360px) and (orientation:portrait){
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand{
    min-width:56px!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand img,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLayout > .expoPlanitStripBrand img{
    width:54px!important;
    max-width:54px!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls #planResetBtn,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls #fitBtn{
    min-width:46px!important;
    padding-left:5px!important;
    padding-right:5px!important;
    font-size:9.5px!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderControls #planViewPlanBtn,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderControls #planViewPlanBtn{
    min-width:70px!important;
  }
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLegend > *,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLegend > *{gap:5px!important;}
  body.responsiveWorkspaceV795fa.adminHeaderControlsMode .expoPlanitHeaderLegend .keyPill,
  body.responsiveWorkspaceV795fa.viewerHeaderControlsMode .expoPlanitHeaderLegend .keyPill{font-size:8.8px!important;}
}
