/* V798p — Public phone header restoration.
   Portrait and coarse-pointer landscape use the approved three-part layout:
   long Fit button, fixed round help button, and Expo Planit logo. This final
   layer deliberately avoids a release body-class dependency so a missing or
   delayed responsive helper cannot stretch the help control again. */

@media (max-width:720px) and (orientation:portrait),
       (max-width:980px) and (orientation:landscape) and (pointer:coarse){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 36px 96px!important;
    grid-template-rows:auto!important;
    align-items:center!important;
    gap:8px!important;
    padding:5px 9px!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanTitleBlock,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions #topKeyBtn,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions #topWebsiteLinksBtn,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions #topVisitorListBtn,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions #topExhibitorsBtn,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions .publicDirectoryHeaderShortcut{
    display:none!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions{
    grid-column:1!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    gap:0!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions #fitBtn{
    order:0!important;
    display:inline-flex!important;
    flex:1 1 auto!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    margin:0!important;
    padding:3px 16px!important;
    border-radius:999px!important;
    font-size:11px!important;
    line-height:1!important;
    font-weight:950!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitMobileHelpBtnV795ge{
    grid-column:2!important;
    grid-row:1!important;
    display:inline-flex!important;
    flex:0 0 36px!important;
    align-items:center!important;
    justify-content:center!important;
    justify-self:center!important;
    align-self:center!important;
    box-sizing:border-box!important;
    inline-size:36px!important;
    min-inline-size:36px!important;
    max-inline-size:36px!important;
    block-size:36px!important;
    min-block-size:36px!important;
    max-block-size:36px!important;
    aspect-ratio:1 / 1!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    white-space:nowrap!important;
    font:900 17px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    text-align:center!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    grid-column:3!important;
    grid-row:1!important;
    display:flex!important;
    flex:0 0 96px!important;
    align-items:center!important;
    justify-content:flex-end!important;
    box-sizing:border-box!important;
    width:96px!important;
    min-width:96px!important;
    max-width:96px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:visible!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand::before{
    display:none!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    display:block!important;
    width:92px!important;
    max-width:92px!important;
    height:auto!important;
    max-height:36px!important;
    opacity:.94!important;
    overflow:visible!important;
  }
}

@media (max-width:720px) and (orientation:portrait){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    grid-template-columns:minmax(0,1fr) 32px 86px!important;
    gap:6px!important;
    padding:5px 8px!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions #fitBtn{
    height:29px!important;
    min-height:29px!important;
    max-height:29px!important;
    font-size:10.8px!important;
    padding:3px 14px!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitMobileHelpBtnV795ge{
    flex-basis:32px!important;
    inline-size:32px!important;
    min-inline-size:32px!important;
    max-inline-size:32px!important;
    block-size:32px!important;
    min-block-size:32px!important;
    max-block-size:32px!important;
    font-size:16px!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    flex-basis:86px!important;
    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:84px!important;
    max-width:84px!important;
  }
}

@media (max-width:370px) and (orientation:portrait){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    grid-template-columns:minmax(0,1fr) 30px 72px!important;
    gap:4px!important;
    padding-left:6px!important;
    padding-right:6px!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitMobileHelpBtnV795ge{
    flex-basis:30px!important;
    inline-size:30px!important;
    min-inline-size:30px!important;
    max-inline-size:30px!important;
    block-size:30px!important;
    min-block-size:30px!important;
    max-block-size:30px!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    flex-basis:72px!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
  }

  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:70px!important;
    max-width:70px!important;
  }
}


/* V798p — when a detailed SVG is active, Public exposes an obvious escape
   back to the authored Overview Map beside Fit. */
.publicFitOverviewGroup{
  display:inline-flex;
  align-items:stretch;
  min-width:0;
  gap:0;
}
.publicFitOverviewGroup .publicEventOverviewBtn[hidden]{display:none!important;}
.publicFitOverviewGroup.hasEventOverview .publicEventOverviewBtn,
.publicFitOverviewGroup.hasEventOverview #fitBtn{
  border-radius:0!important;
}
.publicFitOverviewGroup.hasEventOverview .publicEventOverviewBtn{
  border-radius:999px 0 0 999px!important;
  border-right-width:0!important;
}
.publicFitOverviewGroup.hasEventOverview #fitBtn{
  border-radius:0 999px 999px 0!important;
}
@media (max-width:720px) and (orientation:portrait),
       (max-width:980px) and (orientation:landscape) and (pointer:coarse){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions .publicFitOverviewGroup{
    display:flex!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions .publicFitOverviewGroup #eventOverviewBtn,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions .publicFitOverviewGroup #fitBtn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    height:29px!important;
    min-height:29px!important;
    max-height:29px!important;
    margin:0!important;
    padding:3px 8px!important;
    font-size:10.2px!important;
    line-height:1!important;
    font-weight:950!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions .publicFitOverviewGroup #eventOverviewBtn{
    flex:1 1 72%!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions .publicFitOverviewGroup #fitBtn{
    flex:0 1 28%!important;
    width:auto!important;
    max-width:none!important;
  }
  /* Preserve the complete lower edge of the masked Expo Planit word-mark. */
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    height:44px!important;
    min-height:44px!important;
    max-height:44px!important;
    padding:1px 0 5px!important;
    overflow:visible!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:82px!important;
    max-width:82px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    transform:translateY(-1px)!important;
    overflow:visible!important;
  }
}


/* V798p — Public phone top card is now a slim help/logo strip. Fit and Overview
   live with the permanent lower plan-navigation controls. */
@media (max-width:720px) and (orientation:portrait),
       (max-width:980px) and (orientation:landscape) and (pointer:coarse){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr)!important;
    grid-template-rows:52px!important;
    min-height:52px!important;
    max-height:52px!important;
    height:52px!important;
    gap:12px!important;
    padding:2px 9px!important;
    overflow:visible!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions .publicFitOverviewGroup,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions #fitBtn,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions #eventOverviewBtn{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitMobileHelpBtnV795ge{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:118px!important;
    min-width:118px!important;
    max-width:118px!important;
    height:48px!important;
    min-height:48px!important;
    max-height:48px!important;
    margin:0!important;
    padding:0 0 5px!important;
    overflow:visible!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    display:block!important;
    width:112px!important;
    max-width:112px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    object-fit:contain!important;
    object-position:center!important;
    transform:translateY(-1px)!important;
    overflow:visible!important;
  }
}

@media (max-width:370px) and (orientation:portrait){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    grid-template-columns:32px minmax(0,1fr)!important;
    gap:8px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    width:104px!important;
    min-width:104px!important;
    max-width:104px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:100px!important;
    max-width:100px!important;
  }
}

/* V798p — final public-phone word-mark lower-edge allowance.
   This file loads after the shared responsive corrections, so the final rule
   deliberately keeps the speech-tail above the header divider. */
@media (max-width:720px) and (orientation:portrait),
       (max-width:980px) and (orientation:landscape) and (pointer:coarse){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    overflow:visible!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    height:50px!important;
    min-height:50px!important;
    max-height:50px!important;
    padding:0 0 8px!important;
    overflow:visible!important;
    transform:translateY(-1px)!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:114px!important;
    max-width:114px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    -webkit-mask-position:center 45%!important;
    mask-position:center 45%!important;
    -webkit-mask-size:contain!important;
    mask-size:contain!important;
    transform:translateY(-3px)!important;
    overflow:visible!important;
  }
}
@media (max-width:370px) and (orientation:portrait){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:102px!important;
    max-width:102px!important;
  }
}


/* V798p — final speech-tail clearance after device testing. */
@media (max-width:720px) and (orientation:portrait),
       (max-width:980px) and (orientation:landscape) and (pointer:coarse){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    padding-bottom:10px!important;
    transform:translateY(-2px)!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    -webkit-mask-position:center 41%!important;
    mask-position:center 41%!important;
    transform:translateY(-6px)!important;
  }
}


/* V798p — final Public phone header slot alignment.
   Loaded after the broader responsive corrections so the phone public header
   keeps the logo on the right and the help button in its own centred slot. */
@media (max-width:720px) and (orientation:portrait){
  body.responsiveWorkspaceV798p.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    grid-template-columns:minmax(0,max-content) minmax(10px,1fr) 32px 86px!important;
    align-items:center!important;
    gap:8px!important;
    padding:5px 12px!important;
  }
  body.responsiveWorkspaceV798p.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions{
    grid-column:1!important;
    width:auto!important;
    max-width:214px!important;
    justify-self:start!important;
  }
  body.responsiveWorkspaceV798p.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitMobileHelpBtnV795ge{
    grid-column:3!important;
    align-self:center!important;
    justify-self:center!important;
  }
  body.responsiveWorkspaceV798p.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    grid-column:4!important;
    align-self:center!important;
    justify-self:end!important;
  }
}

/* V798p — second-pass phone consistency polish.
   Keeps desktop untouched while making Public/Admin/Exhibitor phone headers
   and phone rails feel deliberately aligned and consistently spaced. */

@media (max-width:720px) and (orientation:portrait),
       (max-width:980px) and (orientation:landscape) and (pointer:coarse),
       (min-width:721px) and (max-width:980px),
       (min-width:981px) and (max-width:1180px) and (pointer:coarse){
  /* Public phone header: help on the left, logo on the right, both centered.
     Fit already lives in the persistent lower control row. */
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    display:grid!important;
    grid-template-columns:38px minmax(0,1fr) 106px!important;
    align-items:center!important;
    gap:10px!important;
    padding:8px 14px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanTitleBlock{
    display:none!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitMobileHelpBtnV795ge{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    font:900 20px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    text-align:center!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:106px!important;
    min-width:106px!important;
    max-width:106px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:102px!important;
    max-width:102px!important;
    max-height:38px!important;
    margin:0!important;
  }

  /* Admin + Exhibitor phone headers: larger, more readable controls and key,
     more left breathing room, and centered logo/help alignment. */
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 40px 110px!important;
    align-items:center!important;
    gap:12px!important;
    padding:8px 14px 8px 16px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderMain,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderMain{
    align-items:flex-start!important;
    justify-content:center!important;
    gap:8px!important;
    min-width:0!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls{
    justify-content:flex-start!important;
    gap:8px!important;
    height:32px!important;
    min-height:32px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls #planResetBtn,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls #fitBtn{
    min-width:102px!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    padding:4px 14px!important;
    font-size:13px!important;
    line-height:1!important;
    font-weight:950!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend{
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend > *,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend > *{
    justify-content:flex-start!important;
    gap:14px!important;
    overflow:visible!important;
    max-width:100%!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyPill,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyPill{
    font-size:11.8px!important;
    line-height:1!important;
    font-weight:900!important;
    gap:6px!important;
    padding:0!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyDot,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyDot{
    width:12px!important;
    height:12px!important;
    flex:0 0 12px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitMobileHelpBtnV795ge,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitMobileHelpBtnV795ge{
    grid-column:2!important;
    grid-row:1 / span 2!important;
    justify-self:center!important;
    align-self:center!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    font:900 20px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand{
    grid-column:3!important;
    grid-row:1 / span 2!important;
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:110px!important;
    min-width:110px!important;
    max-width:110px!important;
    height:42px!important;
    min-height:42px!important;
    max-height:42px!important;
    margin:0!important;
    padding:0!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand .expoPlanitLogoMark,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand .expoPlanitLogoMark{
    width:104px!important;
    max-width:104px!important;
    max-height:38px!important;
    margin:0!important;
  }

  /* Landscape/tab shells reserve a true gutter for the right-hand rail so the
     rail never sits over the menu text or form content. */
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell{
    margin-right:74px!important;
    max-width:calc(100% - 74px)!important;
    min-width:0!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell .workspaceTabsBar,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell .workspaceTabsBar,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryTabs{
    padding-right:8px!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell > .workspacePanel.workspacePanelActive,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell > .workspacePanel.workspacePanelActive,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell > .publicDirectoryPanelActive{
    min-width:0!important;
    overflow:hidden!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell > .workspacePanel.workspacePanelActive > .collapsibleBody,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell > .workspacePanel.workspacePanelActive > .tableWrap,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell > .workspacePanel.workspacePanelActive > .collapsibleBody,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell > .workspacePanel.workspacePanelActive > .tableWrap,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell > .publicDirectoryPanelActive > *{
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell input,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell select,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell textarea,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell input,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell select,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell textarea,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell input,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell select,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell textarea{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell .adminInfoRow,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell .linkRowGrid,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell .touchscreenKioskRow,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell .adminInfoRow,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell .linkRowGrid,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell .adminInfoRow,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell .linkRowGrid{
    grid-template-columns:minmax(0,1fr)!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell .workspacePanelActive *,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell .workspacePanelActive *,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell .publicDirectoryPanelActive *{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }

  /* Landscape rail buttons: same compact family as the arrow, readable, and clear of content. */
  .expoPlanitPhonePlanNavV798p,
  #expoPlanitPanelToggleProxyV798p{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    border-radius:999px!important;
  }
}

@media (min-width:721px) and (max-width:980px),
       (max-width:980px) and (orientation:landscape),
       (min-width:981px) and (max-width:1180px) and (pointer:coarse){
  .expoPlanitPhonePlanNavV798p,
  #expoPlanitPanelToggleProxyV798p{
    width:64px!important;
    min-width:64px!important;
    max-width:64px!important;
    font-size:10.6px!important;
    padding:0 8px!important;
  }
}

@media (max-width:720px) and (orientation:portrait){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    grid-template-columns:34px minmax(0,1fr) 92px!important;
    gap:8px!important;
    padding:7px 12px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitMobileHelpBtnV795ge{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    font-size:18px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:88px!important;
    max-width:88px!important;
  }

  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout{
    grid-template-columns:minmax(0,1fr) 36px 98px!important;
    gap:10px!important;
    padding:7px 12px 7px 14px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls #planResetBtn,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls #fitBtn{
    min-width:0!important;
    width:auto!important;
    padding:4px 12px!important;
    font-size:12px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend > *,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend > *{
    gap:10px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyPill,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyPill{
    font-size:10.7px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitMobileHelpBtnV795ge,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitMobileHelpBtnV795ge{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    font-size:18px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand{
    width:98px!important;
    min-width:98px!important;
    max-width:98px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand .expoPlanitLogoMark,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand .expoPlanitLogoMark{
    width:92px!important;
    max-width:92px!important;
  }
}

/* V798p — corrective phone polish.
   Fixes the public portrait regression, restores full-width public tabs, and
   vertically centres the phone help/logo controls across Public/Admin/Exhibitor.
   Desktop remains unchanged. */

/* Public portrait/tablet phone: only logo right and help left, both vertically centred. */
@media (max-width:980px),
       (min-width:981px) and (max-width:1180px) and (pointer:coarse){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    position:relative!important;
    display:block!important;
    min-height:62px!important;
    padding:10px 116px 10px 56px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanTitleBlock,
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .publicPlanActions{
    display:none!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitMobileHelpBtnV795ge{
    position:absolute!important;
    left:14px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    font:900 20px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
    text-align:center!important;
    z-index:2!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    position:absolute!important;
    right:14px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:100px!important;
    min-width:100px!important;
    max-width:100px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    z-index:2!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:96px!important;
    max-width:96px!important;
    max-height:36px!important;
    margin:0!important;
  }
}

@media (max-width:720px) and (orientation:portrait){
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .cardHead{
    min-height:58px!important;
    padding:9px 108px 9px 52px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitMobileHelpBtnV795ge{
    left:12px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    font-size:18px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand{
    right:12px!important;
    width:92px!important;
    min-width:92px!important;
    max-width:92px!important;
  }
  body.publicHeaderControlsMode:not(.touchscreenMode) #planCard .expoPlanitPublicHeaderBrand .expoPlanitLogoMark{
    width:88px!important;
    max-width:88px!important;
  }

  /* Undo the earlier public portrait narrowing. */
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell{
    width:100%!important;
    max-width:none!important;
    margin-right:0!important;
  }
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryTabs,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell .publicDirectoryPanelActive{
    width:100%!important;
    max-width:none!important;
  }
}

/* Admin and Exhibitor phone headers: keep controls/key on the left but centre
   the help button and Expo Planit logo to the total card height. */
@media (max-width:980px),
       (min-width:981px) and (max-width:1180px) and (pointer:coarse){
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout{
    position:relative!important;
    display:block!important;
    min-height:66px!important;
    padding:10px 166px 10px 14px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderMain,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderMain{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:flex-start!important;
    gap:8px!important;
    min-height:46px!important;
    min-width:0!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls{
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    height:32px!important;
    min-height:32px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls #planResetBtn,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls #fitBtn{
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    padding:4px 12px!important;
    font-size:12.5px!important;
    line-height:1!important;
    font-weight:950!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend,
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend > *,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend > *{
    justify-content:flex-start!important;
    overflow:visible!important;
    gap:12px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyPill,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyPill{
    font-size:11px!important;
    font-weight:900!important;
    gap:6px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyDot,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLegend .keyDot{
    width:11px!important;
    height:11px!important;
    flex:0 0 11px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitMobileHelpBtnV795ge,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitMobileHelpBtnV795ge{
    position:absolute!important;
    right:118px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    min-width:38px!important;
    max-width:38px!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:0!important;
    border-radius:50%!important;
    font:900 20px/1 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand{
    position:absolute!important;
    right:14px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:98px!important;
    min-width:98px!important;
    max-width:98px!important;
    height:40px!important;
    min-height:40px!important;
    max-height:40px!important;
    margin:0!important;
    padding:0!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand .expoPlanitLogoMark,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand .expoPlanitLogoMark{
    width:94px!important;
    max-width:94px!important;
    max-height:36px!important;
    margin:0!important;
  }
}

@media (max-width:720px) and (orientation:portrait){
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout{
    min-height:62px!important;
    padding:9px 154px 9px 12px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderControls #planResetBtn,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls .segBtn,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderControls #fitBtn{
    font-size:11.7px!important;
    padding:4px 10px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitMobileHelpBtnV795ge,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitMobileHelpBtnV795ge{
    right:110px!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    min-height:34px!important;
    max-height:34px!important;
    font-size:18px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand{
    right:12px!important;
    width:90px!important;
    min-width:90px!important;
    max-width:90px!important;
  }
  body.responsiveWorkspaceV798p.adminHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand .expoPlanitLogoMark,
  body.responsiveWorkspaceV798p.viewerHeaderControlsMode #planCard .expoPlanitHeaderLayout > .expoPlanitStripBrand .expoPlanitLogoMark{
    width:86px!important;
    max-width:86px!important;
  }
}

/* Reserve the phone-landscape right gutter only where the rail exists, not in portrait. */
@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.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell{
    margin-right:74px!important;
    max-width:calc(100% - 74px)!important;
    min-width:0!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell .workspaceTabsBar,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell .workspaceTabsBar,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryTabs{
    padding-right:8px!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell > .workspacePanel.workspacePanelActive,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell > .workspacePanel.workspacePanelActive,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell > .publicDirectoryPanelActive{
    min-width:0!important;
    overflow:hidden!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell > .workspacePanel.workspacePanelActive > .collapsibleBody,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell > .workspacePanel.workspacePanelActive > .tableWrap,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell > .workspacePanel.workspacePanelActive > .collapsibleBody,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell > .workspacePanel.workspacePanelActive > .tableWrap,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell > .publicDirectoryPanelActive > *{
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell input,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell select,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell textarea,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell input,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell select,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell textarea,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell input,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell select,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell textarea{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #adminWorkspaceShell .workspacePanelActive *,
  body.responsiveWorkspaceV798p:not(.touchscreenMode) #viewerWorkspaceShell .workspacePanelActive *,
  body.responsiveWorkspaceV798p.publicDirectoryMode:not(.touchscreenMode) #publicDirectoryShell .publicDirectoryPanelActive *{
    min-width:0!important;
    overflow-wrap:anywhere!important;
  }
}
