body.bmExternalUser.bmAccessNoSummary #kpis{display:none!important}
body.bmExternalUser.bmAccessNoCharts #chartsToggle,
body.bmExternalUser.bmAccessNoCharts #chartsGrid{display:none!important}
body.bmExternalUser.bmAccessNoIncentives #incentiveToggle,
body.bmExternalUser.bmAccessNoIncentives #incentiveGrid{display:none!important}
body.bmExternalUser.bmAccessNoFeed #dbFeedDock,
body.bmExternalUser.bmAccessNoFeed #bmFeedRail{display:none!important}
body.bmExternalUser.bmAccessNoMap #resortMapLauncher,
body.bmExternalUser.bmAccessNoMap #resortMapOverlay,
body.bmExternalUser.bmAccessNoMap .hotelMapBtn{display:none!important}
body.bmExternalUser.bmAccessNoAssistant #dashboardAssistantDock{display:none!important}
body.bmExternalUser.bmAccessNoHotels .bmHotelsWorkspaceCard,
body.bmExternalUser.bmAccessNoHotels #filtersChips,
body.bmExternalUser.bmAccessNoHotels .globalSearchWrap{display:none!important}
body.bmExternalUser.bmAccessNoResortInfo #riMainSearch,
body.bmExternalUser.bmAccessNoResortInfo #riFieldFilterControl,
body.bmExternalUser.bmAccessNoResortInfo #riValueFilterControl,
body.bmExternalUser.bmAccessNoResortInfo #riManageValuesButton{display:none!important}
body.bmExternalUser.bmAccessNoContracts [data-bm-col="contracts"],
body.bmExternalUser.bmAccessNoOverview [data-bm-col="atoll"],
body.bmExternalUser.bmAccessNoOverview [data-bm-col="transfer"],
body.bmExternalUser.bmAccessNoOverview [data-bm-col="calculation"],
body.bmExternalUser.bmAccessNoSpo [data-bm-col="spo"],
body.bmExternalUser.bmAccessNoDetailIncentives [data-bm-col="incentive"]{display:none!important}
body.bmExternalUser.bmAccessNoMessages.bmAccessNoSpoChat #spoBtnWrap,
body.bmExternalUser.bmAccessNoMessages.bmAccessNoSpoChat #spoBtnWrapMobile,
body.bmExternalUser.bmAccessNoMessages.bmAccessNoSpoChat #spoOverlay{display:none!important}

.settingsAddExternalField{min-width:112px}
.userExternalToggle{min-height:30px;display:inline-flex;align-items:center;gap:7px;padding:0 2px;border:0;background:transparent;color:#6f6b7b;cursor:pointer;box-sizing:border-box;font-size:10px}.userExternalToggle b{font-weight:800}.userExternalToggle:has(input:checked){color:#554ca3}.userServiceToggle{height:36px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid rgba(62,61,86,.11);border-radius:10px;background:#fff;cursor:pointer;box-sizing:border-box;font-size:10px}
.userExternalToggle input,.userServiceToggle input,.userDashboardScope input{accent-color:var(--accent2,#5d53b4)}
.userStatusPill.isExternal{background:rgba(93,83,180,.10);color:#554ca3;border-color:rgba(93,83,180,.16)}
.userSettingsCard.isExternal .userInternalOnly{opacity:.48}
.userExternalAccess{margin-top:14px;padding-top:14px;border-top:1px solid rgba(62,61,86,.08);display:none;gap:14px}
.userSettingsCard.isExternal .userExternalAccess{display:grid}
.userExternalServices{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.userServiceLocked{height:40px;display:inline-flex;align-items:center;padding:0 12px;border-radius:12px;background:#f4f4f7;color:#8a8997;font-size:12px;font-weight:800;border:1px solid rgba(62,61,86,.08)}
.userDashboardAccessTitle{font-size:12px;font-weight:900;color:#55536a;margin-bottom:8px}
.userDashboardAccessGroups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.userDashboardAccessGroup{border:1px solid rgba(62,61,86,.09);border-radius:14px;padding:10px;background:#fafafd}
.userDashboardAccessGroupTitle{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#9896a5;margin-bottom:6px}
.userDashboardScope{display:flex;align-items:center;gap:8px;min-height:30px;font-size:12px;font-weight:700;color:#4d4b60;cursor:pointer}
@media(max-width:760px){.userDashboardAccessGroups{grid-template-columns:1fr}.settingsAddExternalField{min-width:0}}
#settingsModal .settingsAddBar{grid-template-columns:minmax(150px,1fr) minmax(180px,1fr) minmax(140px,.72fr) minmax(120px,.52fr) auto!important}
#settingsModal .userSettingsFields{grid-template-columns:repeat(5,minmax(130px,1fr))!important}
@media(max-width:1100px){#settingsModal .settingsAddBar{grid-template-columns:repeat(2,minmax(0,1fr))!important}#settingsModal .settingsAddBtn{grid-column:1/-1}.userSettingsFields{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){#settingsModal .settingsAddBar,#settingsModal .userSettingsFields{grid-template-columns:1fr!important}}
body.bmExternalUser.bmAccessNoAssistant #bmAssistantToggleBtn,
body.bmExternalUser.bmAccessNoAssistant #bmAssistantComposer{display:none!important}
body.bmExternalUser.bmAccessNoMessages .bmModeBtn[data-mode="chats"],
body.bmExternalUser.bmAccessNoSpoChat .bmModeBtn[data-mode="spo"]{display:none!important}

/* External dashboard shell: Workspace is the only hotel surface. */
body.bmExternalUser #updatedPill,
body.bmExternalUser #bmDashboardLayoutBtn,
body.bmExternalUser #dashboardHelpBtn,
body.bmExternalUser #bmHelpModal,
body.bmExternalUser #hotelViewSwitch,
body.bmExternalUser .detailsBtn,
body.bmExternalUser .bmHotelWorkspaceDetailsBtn,
body.bmExternalUser .bmHotelWorkspaceEditBtn,
body.bmExternalUser #tabHelpCenter,
body.bmExternalUser #settingsHelpCenter{display:none!important}
body.bmExternalUser .topbar .globalSearchWrap{display:none!important}
body.bmExternalUser .bmHotelsWorkspaceCard.bmWorkspaceMode .bmLegacyHotelList{display:none!important}
@media(min-width:981px){
  body.bmExternalUser .bmHotelsWorkspaceCard .bmHotelWorkspaceShell{display:grid!important}
  body.bmExternalUser .bmHotelsWorkspaceCard.bmTableMode .bmHotelWorkspaceShell{display:grid!important}
  body.bmExternalUser .bmHotelsWorkspaceCard.bmTableMode .bmLegacyHotelList{display:none!important}
}

/* Hotel-name search is moved into the Hotels toolbar only for external users. */
#bmExternalHotelSearch[hidden]{display:none!important}
body:not(.bmExternalUser) #bmExternalHotelSearch{display:none!important}
body.bmExternalUser #bmExternalHotelSearch{display:flex}
.bmExternalHotelSearch .bmExternalHotelSearchWrap{
  flex:1 1 auto!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
}
.bmExternalHotelSearch .bmExternalHotelSearchWrap>.globalSearchIcon{display:none!important}
.bmExternalHotelSearch .bmExternalHotelSearchWrap>.bmSearchFieldWrap{flex:1 1 auto;min-width:0;width:100%}
.bmExternalHotelSearch .bmExternalHotelSearchWrap .search{
  height:40px!important;
  padding:0 36px 0 4px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.bmExternalHotelSearch .bmExternalHotelSearchWrap .search:focus{box-shadow:none!important}
.bmExternalHotelSearch .bmExternalHotelSearchWrap .bmSearchClearButton{right:4px!important}
body.bmExternalUser .bmHotelsWorkspaceCard .riMainToolbar{display:flex!important}

/* External portal presentation. One canonical block for the external shell. */
.bmExternalBrandTitle[hidden],
.bmExternalProfileLogin[hidden]{display:none!important}
body.bmExternalUser .brand{
  min-width:0;
  gap:9px;
}
body.bmExternalUser .logoWrap{
  width:36px;
  height:36px;
  flex-basis:36px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:11px;
  background:rgba(255,255,255,.075);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 5px 14px rgba(21,18,46,.13);
}
body.bmExternalUser .bmExternalBrandTitle:not([hidden]){
  min-width:0;
  max-width:min(38vw,390px);
  display:flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
  color:#fff;
}
body.bmExternalUser .bmExternalBrandName{
  overflow:hidden;
  text-overflow:ellipsis;
  font:800 14px/1.05 Manrope,system-ui,sans-serif;
  letter-spacing:-.025em;
}
body.bmExternalUser .bmExternalBrandProduct{
  flex:0 0 auto;
  min-height:19px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.78);
  font:800 7.5px/1 Manrope,system-ui,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body.bmExternalUser .bmProfileHolder{gap:9px}
body.bmExternalUser .bmExternalProfileLogin:not([hidden]){
  display:block;
  max-width:220px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:rgba(255,255,255,.82);
  font:700 10.5px/1.2 Manrope,system-ui,sans-serif;
  letter-spacing:.005em;
}

body.bmExternalUser .bmHotelsWorkspaceCard{
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  box-shadow:0 14px 38px rgba(31,29,47,.08);
}
body.bmExternalUser .bmHotelWorkspaceShell{
  border-color:rgba(62,61,86,.10);
  border-radius:18px;
  background:#f4f2ee;
  box-shadow:0 8px 24px rgba(31,29,47,.045);
}
body.bmExternalUser .bmHotelNavigator{
  background:#fbfaf8;
  border-right-color:rgba(62,61,86,.085);
}
body.bmExternalUser .bmHotelNavigatorHead{display:none}
body.bmExternalUser .bmHotelWorkspaceList{padding:10px 8px 14px}
body.bmExternalUser .bmWorkspaceHotelItem{
  padding:10px 11px;
  border-radius:13px;
}
body.bmExternalUser .bmWorkspaceHotelItem:hover{
  background:#fff;
  transform:none;
}
body.bmExternalUser .bmWorkspaceHotelItem.active{
  border-color:rgba(81,74,132,.15);
  box-shadow:0 6px 18px rgba(34,31,54,.065);
}
body.bmExternalUser .bmWorkspaceHotelState{display:none}
body.bmExternalUser .bmWorkspaceHotelChips{padding-left:0}
body.bmExternalUser .bmWorkspaceHotelName{font-size:11px;letter-spacing:0}
body.bmExternalUser .bmWorkspaceHotelSub{font-size:9.5px}
body.bmExternalUser .bmHotelWorkspaceDetail{
  padding:0;
  background:
    radial-gradient(circle at 78% 4%,rgba(105,96,170,.055),transparent 28%),
    linear-gradient(180deg,#f8f7f4 0%,#f3f1ed 100%);
}
body.bmExternalUser .bmWorkspaceCanvasExternal{
  width:100%;
  max-width:none;
  min-height:0;
  padding:28px clamp(22px,2vw,42px) 38px;
  box-sizing:border-box;
}
body.bmExternalUser .bmWorkspaceExternalHero{
  width:min(100%,1280px);
  margin:0 auto;
  padding:22px 24px;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  border:1px solid rgba(62,61,86,.09);
  border-radius:20px;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 34px rgba(31,29,47,.065);
}
body.bmExternalUser .bmWorkspaceExternalHero .bmWorkspaceHeroIdentity{gap:17px}
body.bmExternalUser .bmWorkspaceExternalHero .bmWorkspaceHeroMain{padding:1px 0}
body.bmExternalUser .bmWorkspaceExternalHero .bmWorkspaceTitle{
  font-size:clamp(25px,1.65vw,34px);
  letter-spacing:-.03em;
}
body.bmExternalUser .bmWorkspaceExternalHero .bmWorkspaceLocation{margin-top:8px;font-size:11px}
body.bmExternalUser .bmWorkspaceExternalHero .bmWorkspaceHeroMetrics{
  grid-column:1/-1;
  justify-self:start;
  max-width:720px;
}
body.bmExternalUser .bmWorkspaceExternalMark{
  width:68px;
  height:68px;
  flex:0 0 68px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(93,83,180,.10);
  border-radius:19px;
  background:linear-gradient(145deg,rgba(93,83,180,.13),rgba(93,83,180,.055));
  color:#5f5787;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
body.bmExternalUser .bmWorkspaceExternalMark>span{
  width:29px;
  height:29px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
body.bmExternalUser .bmWorkspaceExternalMark svg{width:100%;height:100%}
body.bmExternalUser .bmWorkspaceExternalAccessPill{
  min-height:22px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid rgba(93,83,180,.10);
  border-radius:999px;
  background:rgba(93,83,180,.075);
  color:#5c557e;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
}
body.bmExternalUser .bmWorkspaceExternalAccessPill>svg{width:12px;height:12px}
body.bmExternalUser .bmWorkspaceExternalMain{
  width:min(100%,1280px);
  margin:16px auto 0;
}
body.bmExternalUser .bmWorkspaceExternalMain .bmWorkspaceRows{gap:14px}
body.bmExternalUser .bmWorkspaceExternalMain .bmWorkspaceRow{gap:14px}
body.bmExternalUser .bmWorkspaceExternalMain .bmWorkspaceSection{
  border-color:rgba(62,61,86,.085);
  border-radius:18px;
  box-shadow:0 9px 26px rgba(31,29,47,.05);
}
body.bmExternalUser .bmWorkspaceExternalMain .bmWorkspaceSectionHead{
  min-height:54px;
  padding:10px 14px;
  background:linear-gradient(180deg,#fff,#fbfafc);
}
body.bmExternalUser .bmWorkspaceExternalMain .bmWorkspaceSectionTitle{
  gap:9px;
  font-size:10.5px;
  letter-spacing:.025em;
}
body.bmExternalUser .bmWorkspaceExternalMain .bmWorkspaceSectionIcon{
  width:30px;
  height:30px;
  flex-basis:30px;
  border-radius:10px;
}
body.bmExternalUser .bmWorkspaceExternalMain .bmWorkspaceSectionIcon svg{width:16px;height:16px}
body.bmExternalUser .bmWorkspaceExternalMain .bmWorkspaceSectionCount{
  min-width:25px;
  height:23px;
  font-size:8.5px;
}
body.bmExternalUser .bmWorkspaceExternalAssetSection{
  width:100%;
  max-width:960px;
  margin-inline:auto;
}
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceSectionBody{padding:11px 14px 15px}
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceMediaList,
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspacePhotoLogoGrid{
  padding-top:0;
  gap:9px;
}
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceMediaLink,
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceMediaPlain{
  min-height:60px;
  grid-template-columns:40px minmax(0,1fr) auto;
  gap:11px;
  padding:9px 11px;
  border-color:rgba(62,61,86,.075);
  border-radius:12px;
  background:#fbfafc;
  transition:background .14s ease,border-color .14s ease,box-shadow .14s ease,transform .14s ease;
}
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceMediaLink:hover{
  background:#fff;
  border-color:rgba(93,83,180,.18);
  box-shadow:0 7px 18px rgba(31,29,47,.055);
  transform:translateY(-1px);
}
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceMediaIcon{
  width:40px;
  height:40px;
  border-radius:11px;
  background:rgba(93,83,180,.08);
}
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceMediaIcon svg{width:18px;height:18px}
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceMediaText b{font-size:10.5px}
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceMediaText small{font-size:8.5px}
body.bmExternalUser .bmWorkspaceExternalAssetSection .bmWorkspaceMediaOpen{
  min-height:25px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  border-radius:8px;
  background:#fff;
  color:#665f81;
  font-size:8.5px;
  font-weight:850;
  box-shadow:inset 0 0 0 1px rgba(62,61,86,.08);
}
body.bmExternalUser .bmWorkspaceExternalEmpty{
  width:min(100%,620px);
  min-height:180px;
  margin:0 auto;
  padding:28px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:11px;
  border:1px solid rgba(62,61,86,.08);
  border-radius:18px;
  background:rgba(255,255,255,.9);
  color:#7d788a;
  box-shadow:0 8px 24px rgba(31,29,47,.045);
}
body.bmExternalUser .bmWorkspaceExternalEmpty>span{
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#6a628d;
}
body.bmExternalUser .bmWorkspaceExternalEmpty svg{width:100%;height:100%}
body.bmExternalUser .bmWorkspaceExternalEmpty strong{color:#514d5d;font-size:13px}

@media(min-width:981px){
  body.bmExternalUser .bmHotelWorkspaceShell{
    grid-template-columns:minmax(255px,290px) minmax(0,1fr);
    height:clamp(540px,calc(100dvh - 220px),820px);
    min-height:540px;
    max-height:820px;
  }
  body.bmExternalUser.bmExternalHotelOnly > .wrap{
    min-height:calc(100dvh - 60px);
    display:flex;
    flex-direction:column;
    box-sizing:border-box;
  }
  body.bmExternalUser.bmExternalHotelOnly .bmHotelsWorkspaceCard{
    flex:1 1 auto;
    min-height:0;
    display:flex;
    flex-direction:column;
  }
  body.bmExternalUser.bmExternalHotelOnly .bmHotelsWorkspaceCard .hotelHeaderBar{flex:0 0 auto}
  body.bmExternalUser.bmExternalHotelOnly .bmHotelWorkspaceShell{
    flex:1 1 auto;
    height:auto;
    min-height:0;
    max-height:none;
  }
}
@media(max-width:1320px) and (min-width:981px){
  body.bmExternalUser .bmWorkspaceExternalHero{grid-template-columns:1fr}
  body.bmExternalUser .bmWorkspaceExternalHero .bmWorkspaceActions{justify-content:flex-start}
}
@media(max-width:980px){
  body.bmExternalUser .bmWorkspaceCanvasExternal{padding:16px 14px 24px}
  body.bmExternalUser .bmWorkspaceExternalHero{padding:17px;border-radius:16px}
  body.bmExternalUser .bmWorkspaceExternalMark{width:56px;height:56px;flex-basis:56px;border-radius:15px}
  body.bmExternalUser .bmWorkspaceExternalMain{margin-top:12px}
}
@media(max-width:760px){
  body.bmExternalUser .bmExternalBrandTitle:not([hidden]){max-width:48vw;gap:6px}
  body.bmExternalUser .bmExternalBrandName{font-size:12px}
  body.bmExternalUser .bmExternalBrandProduct{display:none}
  body.bmExternalUser .bmExternalProfileLogin:not([hidden]){max-width:22vw;font-size:9.5px}
}
