/* ========================================================================== 
   HOTEL WORKSPACE — compact manager view built on the existing BM dashboard.
   The legacy table and all Details editors remain untouched.
   ========================================================================== */

.bmHotelsWorkspaceCard{ overflow:visible; }

/* Header controls: Add actions and the view switch are separate controls. */
.bmHotelHeaderTools{
  display:none;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-width:0;
}
.bmHotelHeaderTools .dbMainAddActions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:7px!important;
  margin:0!important;
}
.bmHotelHeaderTools .dbMainAddActions .dbBtn{ flex:0 0 auto; }
.bmHotelViewSwitch{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  gap:3px;
  padding:3px;
  border:1px solid rgba(62,61,86,.14);
  border-radius:12px;
  background:rgba(62,61,86,.045);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72);
}
.bmHotelViewBtn{
  height:32px;
  min-width:74px;
  padding:0 11px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--muted);
  font:inherit;
  font-size:10.5px;
  font-weight:850;
  cursor:pointer;
  transition:background var(--dur-fast) ease,color var(--dur-fast) ease,box-shadow var(--dur-fast) ease;
}
.bmHotelViewBtn:hover{ color:var(--text); }
.bmHotelViewBtn.active{
  background:#fff;
  color:var(--accent2);
  box-shadow:0 4px 11px rgba(27,27,46,.09);
}
.bmHotelWorkspaceShell{ display:none; }

@media (min-width:981px){
  .bmHotelHeaderTools{ display:flex; grid-area:actions; }
  .bmHotelsWorkspaceCard.bmWorkspaceMode .bmHotelWorkspaceShell{ display:grid; }
  .bmHotelsWorkspaceCard.bmWorkspaceMode .bmLegacyHotelList{ display:none; }
  .bmHotelsWorkspaceCard.bmTableMode .bmHotelWorkspaceShell{ display:none; }
  .bmHotelsWorkspaceCard.bmTableMode .bmLegacyHotelList{ display:block; }
  .bmHotelsWorkspaceCard .hotelHeaderBar{
    grid-template-columns:max-content minmax(250px,460px) minmax(0,1fr) max-content;
    grid-template-areas:'title search status actions';
  }
}

/* Fixed-height work area: navigator and hotel content scroll independently. */
.bmHotelWorkspaceShell{
  grid-template-columns:minmax(230px,270px) minmax(0,1fr);
  height:clamp(560px,calc(100vh - 300px),720px);
  min-height:0;
  max-height:720px;
  margin-top:12px;
  border:1px solid rgba(62,61,86,.14);
  border-radius:19px;
  overflow:hidden;
  background:#f7f6f2;
  box-shadow:var(--shadow-sm);
  contain:layout paint;
}
.bmHotelNavigator{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-right:1px solid rgba(62,61,86,.11);
  background:rgba(255,255,255,.76);
}
.bmHotelNavigatorHead{
  flex:0 0 auto;
  min-height:58px;
  padding:12px 12px 10px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(62,61,86,.09);
  background:rgba(255,255,255,.93);
}
.bmHotelNavigatorHead strong{ display:block; font-size:12px; color:var(--text); }
.bmHotelNavigatorHead span:not(.bmHotelNavigatorCount){ display:block; margin-top:3px; color:var(--muted); font-size:9.5px; line-height:1.3; }
.bmHotelNavigatorCount{
  min-width:28px;
  height:24px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:var(--radius-pill);
  background:var(--chip);
  color:var(--accent2);
  font-size:10px;
  font-weight:900;
}
.bmHotelWorkspaceList{
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:7px;
  scrollbar-width:thin;
  scrollbar-color:rgba(62,61,86,.20) transparent;
}
.bmHotelWorkspaceList::-webkit-scrollbar{ width:5px; }
.bmHotelWorkspaceList::-webkit-scrollbar-thumb{ background:rgba(62,61,86,.20); border-radius:8px; }
.bmWorkspaceHotelItem{
  width:100%;
  min-width:0;
  border:1px solid transparent;
  border-radius:13px;
  background:transparent;
  color:var(--text);
  padding:8px 9px 8px;
  text-align:left;
  cursor:pointer;
  position:relative;
  transition:background var(--dur-fast) ease,border-color var(--dur-fast) ease,box-shadow var(--dur) ease,transform var(--dur-fast) ease;
}
.bmWorkspaceHotelItem + .bmWorkspaceHotelItem{ margin-top:3px; }
.bmWorkspaceHotelItem:hover{ background:rgba(255,255,255,.84); transform:translateX(1px); }
.bmWorkspaceHotelItem.active{
  background:#fff;
  border-color:rgba(63,60,87,.17);
  box-shadow:0 8px 20px rgba(27,27,46,.075);
}
.bmWorkspaceHotelItem.active::before{
  content:"";
  position:absolute;
  left:-1px;
  top:10px;
  bottom:10px;
  width:3px;
  border-radius:0 4px 4px 0;
  background:var(--accent2);
}
.bmWorkspaceHotelTop{ display:flex; align-items:flex-start; gap:7px; min-width:0; }
.bmWorkspaceHotelState{ width:7px; height:7px; margin-top:5px; border-radius:50%; flex:0 0 auto; background:var(--bad); box-shadow:0 0 0 3px rgba(217,107,107,.11); }
.bmWorkspaceHotelState.good{ background:var(--good); box-shadow:0 0 0 3px rgba(155,195,154,.14); }
.bmWorkspaceHotelState.warn{ background:#e0b35e; box-shadow:0 0 0 3px rgba(224,179,94,.14); }
.bmWorkspaceHotelText{ min-width:0; flex:1; }
.bmWorkspaceHotelName{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10.5px; font-weight:900; letter-spacing:.005em; }
.bmWorkspaceHotelSub{ display:block; margin-top:2px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:9px; }
.bmWorkspaceHotelChips{ display:flex; flex-wrap:wrap; gap:4px; margin-top:6px; padding-left:14px; }
.bmWorkspaceMiniChip{
  max-width:100%;
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:0 6px;
  border-radius:var(--radius-pill);
  background:var(--chip);
  color:#686578;
  font-size:8px;
  font-weight:850;
  white-space:nowrap;
}
.bmWorkspaceMiniChip.good{ background:rgba(155,195,154,.22); color:#486c47; }
.bmWorkspaceMiniChip.spo{ background:rgba(154,195,152,.18); color:#3e633d; }
.bmWorkspaceMiniChip.inc{ background:rgba(186,224,230,.30); color:#32606b; }
.bmWorkspaceMiniChip.muted{ background:rgba(62,61,86,.055); color:#8b8997; }

.bmHotelWorkspaceDetail{
  min-width:0;
  min-height:0;
  height:100%;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  padding:14px;
  background:linear-gradient(180deg,rgba(255,255,255,.91),rgba(247,246,242,.96));
  scrollbar-width:thin;
  scrollbar-color:rgba(62,61,86,.20) transparent;
}
.bmHotelWorkspaceDetail::-webkit-scrollbar{ width:6px; }
.bmHotelWorkspaceDetail::-webkit-scrollbar-thumb{ background:rgba(62,61,86,.20); border-radius:8px; }
.bmHotelWorkspaceEmpty,
.bmWorkspaceLoading{
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--muted);
}
.bmHotelWorkspaceEmpty strong{ color:var(--text); font-size:17px; }
.bmHotelWorkspaceEmpty span{ max-width:390px; margin-top:7px; font-size:11px; line-height:1.5; }
.bmWorkspaceLoadingInner{ display:flex; flex-direction:column; align-items:center; gap:10px; color:var(--muted); font-size:11px; }
.bmWorkspaceLoadingDot{ width:30px; height:30px; border-radius:50%; border:3px solid rgba(63,60,87,.12); border-top-color:var(--accent2); animation:bmWorkspaceSpin .75s linear infinite; }
@keyframes bmWorkspaceSpin{ to{ transform:rotate(360deg); } }

/* Hotel header */
.bmWorkspaceHero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  padding:0 0 12px;
  border-bottom:1px solid rgba(62,61,86,.10);
}
.bmWorkspaceHeroMain{ min-width:0; }
.bmWorkspaceEyebrow{ display:flex; align-items:center; flex-wrap:wrap; gap:5px; margin-bottom:5px; }
.bmWorkspaceCountry,
.bmWorkspaceStatusPill{
  display:inline-flex;
  align-items:center;
  min-height:21px;
  padding:0 8px;
  border-radius:var(--radius-pill);
  background:var(--chip);
  color:#6e6b7a;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.bmWorkspaceStatusPill.active{ background:rgba(155,195,154,.23); color:#416c42; }
.bmWorkspaceStatusPill.pending{ background:rgba(224,179,94,.20); color:#805d23; }
.bmWorkspaceStatusPill.closed{ background:rgba(217,107,107,.14); color:#9b3f49; }
.bmWorkspaceTitle{ margin:0; color:var(--text); font-size:clamp(20px,1.75vw,28px); line-height:1.12; letter-spacing:-.024em; }
.bmWorkspaceLocation{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-top:6px; color:var(--muted); font-size:10.5px; line-height:1.4; }
.bmWorkspaceLocationSep{ opacity:.45; }
.bmWorkspaceActions{ display:flex; align-items:center; justify-content:flex-end; flex-wrap:nowrap; gap:6px; flex:0 0 auto; }
button.bmWorkspaceAction,
button.bmWorkspaceAction.hotelMapBtn{
  width:auto!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 11px!important;
  border:1px solid rgba(62,61,86,.14)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--accent2)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font:inherit!important;
  font-size:9.5px!important;
  font-weight:850!important;
  cursor:pointer!important;
  box-shadow:0 4px 12px rgba(27,27,46,.055)!important;
  transition:transform var(--dur-fast) ease,box-shadow var(--dur-fast) ease,background var(--dur-fast) ease!important;
}
button.bmWorkspaceAction:hover,
button.bmWorkspaceAction.hotelMapBtn:hover{ transform:translateY(-1px); background:#faf9fc!important; box-shadow:0 8px 18px rgba(27,27,46,.09)!important; }
button.bmWorkspaceAction.primary{ background:var(--accent2)!important; border-color:var(--accent2)!important; color:#fff!important; }
button.bmWorkspaceAction.primary:hover{ background:#514d6f!important; }
.bmWorkspaceActionIcon{ width:15px; height:15px; display:inline-flex; flex:0 0 auto; }
.bmWorkspaceActionIcon svg{ width:100%; height:100%; display:block; }

/* Compact status strip */
.bmWorkspaceSummary{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}
.bmWorkspaceStat{
  min-width:0;
  min-height:67px;
  padding:9px 10px;
  border:1px solid rgba(62,61,86,.10);
  border-radius:14px;
  background:rgba(255,255,255,.80);
  box-shadow:0 4px 12px rgba(27,27,46,.03);
}
.bmWorkspaceStatHead{ display:flex; align-items:center; gap:6px; min-width:0; }
.bmWorkspaceStatIcon{ width:15px; height:15px; display:inline-flex; flex:0 0 auto; color:#716d82; }
.bmWorkspaceStatIcon svg{ width:100%; height:100%; }
.bmWorkspaceStatLabel{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); font-size:8px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.bmWorkspaceStatValue{ display:block; margin-top:5px; color:var(--text); font-size:13px; font-weight:950; line-height:1.15; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceStatMeta{ display:block; margin-top:3px; color:var(--muted); font-size:8.5px; line-height:1.3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceStat.good{ border-color:rgba(155,195,154,.30); background:linear-gradient(180deg,rgba(248,253,248,.96),rgba(255,255,255,.84)); }
.bmWorkspaceStat.spo{ border-color:rgba(154,195,152,.27); }
.bmWorkspaceStat.inc{ border-color:rgba(186,224,230,.42); }
.bmWorkspaceStat.deadline.urgent .bmWorkspaceStatValue{ color:#b32636; }

/* Independent columns prevent empty blocks stretching to the height of neighbours. */
.bmWorkspaceGrid{
  display:grid;
  grid-template-columns:minmax(0,1.13fr) minmax(280px,.87fr);
  align-items:start;
  gap:9px;
  margin-top:9px;
}
.bmWorkspaceColumn{ min-width:0; display:flex; flex-direction:column; gap:9px; }
.bmWorkspaceSection{
  min-width:0;
  align-self:stretch;
  border:1px solid rgba(62,61,86,.10);
  border-radius:15px;
  background:rgba(255,255,255,.86);
  box-shadow:0 4px 13px rgba(27,27,46,.03);
  overflow:hidden;
}
.bmWorkspaceSectionHead{
  min-height:40px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  border-bottom:1px solid rgba(62,61,86,.075);
}
.bmWorkspaceSectionTitle{ display:flex; align-items:center; gap:7px; min-width:0; color:var(--text); font-size:9.5px; font-weight:950; letter-spacing:.045em; text-transform:uppercase; }
.bmWorkspaceSectionIcon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  border-radius:8px;
  background:var(--chip);
  color:var(--accent2);
}
.bmWorkspaceSectionIcon svg{ width:14px; height:14px; display:block; }
.bmWorkspaceSectionCount{ min-width:21px; height:19px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center; border-radius:var(--radius-pill); background:rgba(62,61,86,.06); color:var(--muted); font-size:8px; font-weight:900; }
.bmWorkspaceSectionBody{ padding:3px 10px 8px; }
.bmWorkspaceSection.is-empty .bmWorkspaceSectionBody{ padding-bottom:7px; }
.bmWorkspaceEmptyLine{ min-height:45px; padding:9px 2px 7px; display:flex; flex-direction:column; justify-content:center; color:var(--muted); font-size:9.5px; line-height:1.4; }
.bmWorkspaceEmptyLine b{ color:#565367; font-size:10px; }
.bmWorkspaceEmptyLine span{ margin-top:2px; }

/* SPO */
.bmWorkspaceOffer{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(145px,auto);
  gap:10px;
  padding:9px 1px;
  border-bottom:1px solid rgba(62,61,86,.07);
}
.bmWorkspaceOffer:last-child{ border-bottom:0; }
.bmWorkspaceOfferMain{ min-width:0; }
.bmWorkspaceOfferTitle{ display:block; color:var(--text); font-size:10.5px; font-weight:900; line-height:1.32; }
.bmWorkspaceOfferDesc{ display:block; margin-top:2px; color:var(--muted); font-size:9px; line-height:1.38; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.bmWorkspaceOfferDates{ min-width:0; text-align:right; color:var(--muted); font-size:8.5px; line-height:1.45; }
.bmWorkspaceOfferDates div{ margin-top:2px; white-space:normal; }
.bmWorkspaceOfferDates b{ color:#696676; font-weight:850; }
.bmWorkspaceOfferType{ display:inline-flex; min-height:18px; padding:0 6px; align-items:center; border-radius:var(--radius-pill); background:rgba(155,195,154,.20); color:#466a45; font-size:7.5px; font-weight:950; letter-spacing:.035em; text-transform:uppercase; }
.bmWorkspaceOfferType.tactical{ background:rgba(90,134,197,.13); color:#355c91; }
.bmWorkspaceOfferType.contracted{ background:rgba(168,207,223,.25); color:#3d6676; }

/* Contacts */
.bmWorkspaceContact{ padding:8px 1px; border-bottom:1px solid rgba(62,61,86,.07); }
.bmWorkspaceContact:last-child{ border-bottom:0; }
.bmWorkspaceContactRole{ display:block; color:var(--text); font-size:9.5px; font-weight:900; line-height:1.32; }
.bmWorkspaceContactValue{ display:flex; flex-direction:column; gap:2px; margin-top:3px; min-width:0; font-size:9px; line-height:1.35; }
.bmWorkspaceContactValue .bmContactCopyValue{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; font-size:9px; padding:0; }

/* Calculation / markup */
.bmWorkspaceCommercialGrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding:7px 0 0; }
.bmWorkspaceCommercialBlock{ min-width:0; padding:8px 9px; border-radius:11px; background:rgba(62,61,86,.035); }
.bmWorkspaceCommercialLabel{ color:var(--muted); font-size:7.5px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.bmWorkspaceCommercialText{ margin-top:4px; color:var(--text); font-size:9px; font-weight:750; line-height:1.45; white-space:pre-line; overflow-wrap:anywhere; }

/* Resort info */
.bmWorkspaceFacts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; padding-top:7px; }
.bmWorkspaceFact{ min-width:0; min-height:52px; padding:7px 8px; border-radius:10px; background:rgba(62,61,86,.034); }
.bmWorkspaceFactLabel{ display:block; color:var(--muted); font-size:7.5px; font-weight:900; letter-spacing:.035em; text-transform:uppercase; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceFactValue{ display:block; margin-top:4px; color:var(--text); font-size:8.8px; font-weight:750; line-height:1.35; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }

/* Media and attached files */
.bmWorkspaceMediaList{ display:flex; flex-direction:column; gap:5px; padding-top:7px; }
.bmWorkspaceMediaLink,
.bmWorkspaceMediaPlain{
  min-width:0;
  min-height:38px;
  display:grid;
  grid-template-columns:26px minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  padding:5px 7px;
  border:1px solid rgba(62,61,86,.09);
  border-radius:10px;
  background:#fff;
  color:var(--accent2);
  text-decoration:none;
  box-shadow:0 2px 7px rgba(27,27,46,.025);
}
.bmWorkspaceMediaLink:hover{ border-color:rgba(62,61,86,.22); background:#faf9fc; box-shadow:var(--shadow-sm); }
.bmWorkspaceMediaIcon{ width:26px; height:26px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; background:rgba(93,83,180,.08); color:#514a84; }
.bmWorkspaceMediaIcon svg{ width:14px; height:14px; }
.bmWorkspaceMediaText{ min-width:0; }
.bmWorkspaceMediaText b{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#4a475b; font-size:9px; }
.bmWorkspaceMediaText small{ display:block; margin-top:1px; color:var(--muted); font-size:7.5px; }
.bmWorkspaceMediaOpen{ color:#6b6780; font-size:8px; font-weight:850; }

@media (max-width:1280px) and (min-width:981px){
  .bmHotelWorkspaceShell{ grid-template-columns:230px minmax(0,1fr); }
  .bmWorkspaceSummary{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bmWorkspaceGrid{ grid-template-columns:1fr; }
  .bmWorkspaceHero{ flex-direction:column; }
  .bmWorkspaceActions{ justify-content:flex-start; }
}

@media (max-width:980px){
  .bmHotelHeaderTools{ display:none!important; }
  .bmHotelViewSwitch{ display:none!important; }
  .bmHotelWorkspaceShell{ display:none!important; }
  .bmLegacyHotelList{ display:block!important; }
}

@media (min-width:1561px){
  .bmHotelWorkspaceShell{ height:clamp(590px,calc(100vh - 300px),740px); max-height:740px; }
}

/* ========================================================================== 
   HOTEL WORKSPACE v3 — full-height, readable manager workspace.
   ========================================================================== */
@media (min-width:981px){
  .bmHotelWorkspaceShell{
    grid-template-columns:minmax(270px,310px) minmax(0,1fr);
    height:var(--bm-workspace-height,calc(100dvh - 270px));
    min-height:520px;
    max-height:none;
    margin-bottom:0;
  }
  .bmHotelWorkspaceDetail{ padding:18px 20px 24px; }
}

/* Navigator gets enough room to read names and statuses. */
.bmHotelNavigatorHead{ min-height:64px; padding:14px 14px 11px; }
.bmHotelNavigatorHead strong{ font-size:13px; }
.bmHotelNavigatorHead span:not(.bmHotelNavigatorCount){ font-size:10px; }
.bmHotelWorkspaceList{ padding:9px; }
.bmWorkspaceHotelItem{ padding:10px 11px; border-radius:14px; }
.bmWorkspaceHotelItem + .bmWorkspaceHotelItem{ margin-top:4px; }
.bmWorkspaceHotelName{ font-size:11.5px; }
.bmWorkspaceHotelSub{ margin-top:3px; font-size:9.8px; }
.bmWorkspaceHotelChips{ gap:5px; margin-top:7px; padding-left:14px; }
.bmWorkspaceMiniChip{ min-height:19px; padding:0 7px; font-size:8.5px; }

/* Hero supports an actual hotel photo and logo without replacing existing editors. */
.bmWorkspaceHero{ align-items:center; gap:18px; padding-bottom:15px; }
.bmWorkspaceHeroIdentity{ min-width:0; display:flex; align-items:center; gap:14px; flex:1 1 auto; }
.bmWorkspaceHeroVisual{
  width:116px;
  height:72px;
  flex:0 0 auto;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(62,61,86,.12);
  border-radius:14px;
  background:var(--chip);
  box-shadow:0 7px 18px rgba(27,27,46,.08);
}
.bmWorkspaceHeroVisual>a{ display:block; width:100%; height:100%; }
.bmWorkspaceHeroPhoto{ width:100%; height:100%; display:block; object-fit:cover; }
.bmWorkspaceHeroLogo{
  position:absolute;
  right:7px;
  bottom:7px;
  width:35px;
  height:27px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3px;
  border:1px solid rgba(62,61,86,.10);
  border-radius:8px;
  background:rgba(255,255,255,.93);
  box-shadow:0 3px 9px rgba(27,27,46,.12);
}
.bmWorkspaceHeroLogo img{ width:100%; height:100%; display:block; object-fit:contain; }
.bmWorkspaceHeroMain{ min-width:0; flex:1 1 auto; }
.bmWorkspaceEyebrow{ gap:6px; margin-bottom:6px; }
.bmWorkspaceCountry,.bmWorkspaceStatusPill,.bmWorkspaceDataBadge{
  min-height:22px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  border-radius:var(--radius-pill);
  font-size:8.6px;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.bmWorkspaceDataBadge{ background:color-mix(in srgb,var(--workspaceBadge,var(--chip)) 22%,#fff); color:#555265; border:1px solid color-mix(in srgb,var(--workspaceBadge,var(--line)) 42%,transparent); }
.bmWorkspaceDataBadge.meta.opening{ background:rgba(90,134,197,.13); color:#365f93; }
.bmWorkspaceDataBadge.meta.closure{ background:rgba(255,181,76,.18); color:#7e561e; }
.bmWorkspaceDataBadge.custom{ box-shadow:inset 3px 0 0 var(--workspaceBadge,var(--accent2)); }
.bmWorkspaceTitle{ font-size:clamp(23px,1.85vw,31px); }
.bmWorkspaceLocation{ margin-top:7px; font-size:11.5px; }
button.bmWorkspaceAction,button.bmWorkspaceAction.hotelMapBtn{ height:36px!important; min-height:36px!important; padding:0 12px!important; font-size:10px!important; }

/* All contract records are visible, with the same semantic status colors. */
.bmWorkspaceContracts{
  margin-top:11px;
  border:1px solid rgba(62,61,86,.11);
  border-radius:15px;
  background:rgba(255,255,255,.86);
  box-shadow:0 4px 13px rgba(27,27,46,.03);
  overflow:hidden;
}
.bmWorkspaceContractsHead{
  min-height:42px;
  padding:9px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(62,61,86,.075);
}
.bmWorkspaceContractsMeta{ display:flex; align-items:center; gap:6px; }
.bmWorkspaceContractsMeta span{ min-height:20px; padding:0 7px; display:inline-flex; align-items:center; border-radius:999px; background:rgba(62,61,86,.06); color:var(--muted); font-size:8.5px; font-weight:850; }
.bmWorkspaceContractList{ padding:4px 11px 8px; }
.bmWorkspaceContractRow{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(170px,.9fr) minmax(180px,1.35fr) auto;
  align-items:center;
  gap:12px;
  min-height:43px;
  padding:7px 8px;
  border-bottom:1px solid rgba(62,61,86,.065);
  border-left:3px solid rgba(62,61,86,.16);
}
.bmWorkspaceContractRow:last-child{ border-bottom:0; }
.bmWorkspaceContractRow.active{ border-left-color:var(--good); background:rgba(155,195,154,.055); }
.bmWorkspaceContractRow.pending{ border-left-color:#5a86c5; background:rgba(90,134,197,.045); }
.bmWorkspaceContractRow.expired{ border-left-color:var(--bad); background:rgba(217,107,107,.04); }
.bmWorkspaceContractRow.inactive,.bmWorkspaceContractRow.other{ border-left-color:#aaa8b4; }
.bmWorkspaceContractIdentity{ min-width:0; }
.bmWorkspaceContractIdentity strong{ display:block; color:var(--text); font-size:10.5px; line-height:1.25; }
.bmWorkspaceContractIdentity span{ display:block; margin-top:2px; color:var(--muted); font-size:9px; line-height:1.25; }
.bmWorkspaceContractMarkets{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#666375; font-size:9.5px; }
.bmWorkspaceContractStatus{ min-height:21px; padding:0 8px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; font-size:8px; font-weight:900; text-transform:uppercase; }
.bmWorkspaceContractStatus.active{ background:rgba(155,195,154,.23); color:#426b42; }
.bmWorkspaceContractStatus.pending{ background:rgba(90,134,197,.15); color:#355f94; }
.bmWorkspaceContractStatus.expired{ background:rgba(217,107,107,.13); color:#a0444c; }
.bmWorkspaceContractStatus.inactive,.bmWorkspaceContractStatus.other{ background:rgba(62,61,86,.07); color:#777482; }

/* Three useful summary cards; contracts now have their own full panel. */
.bmWorkspaceSummary{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; margin-top:10px; }
.bmWorkspaceStat{ min-height:75px; padding:11px 12px; }
.bmWorkspaceStatLabel{ font-size:8.5px; }
.bmWorkspaceStatValue{ font-size:14px; }
.bmWorkspaceStatMeta{ font-size:9px; }

/* More readable content grid while retaining compact empty states. */
.bmWorkspaceGrid{ grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr); gap:11px; margin-top:11px; }
.bmWorkspaceColumn{ gap:11px; }
.bmWorkspaceSection{ border-radius:16px; }
.bmWorkspaceSectionHead{ min-height:44px; padding:9px 12px; }
.bmWorkspaceSectionTitle{ font-size:10px; }
.bmWorkspaceSectionBody{ padding:4px 12px 11px; }
.bmWorkspaceEmptyLine{ min-height:48px; font-size:10px; }
.bmWorkspaceEmptyLine b{ font-size:10.5px; }
.bmWorkspaceOffer{ padding:10px 2px; }
.bmWorkspaceOfferTitle{ font-size:11px; }
.bmWorkspaceOfferDesc{ font-size:9.5px; }
.bmWorkspaceOfferDates{ font-size:9px; }
.bmWorkspaceContact{ padding:9px 2px; }
.bmWorkspaceContactRole{ font-size:10px; }
.bmWorkspaceContactValue,.bmWorkspaceContactValue .bmContactCopyValue{ font-size:9.5px; }
.bmWorkspaceCommercialGrid{ gap:9px; padding-top:8px; }
.bmWorkspaceCommercialBlock{ padding:10px 11px; }
.bmWorkspaceCommercialLabel{ font-size:8px; }
.bmWorkspaceCommercialText{ font-size:9.7px; }

.bmWorkspaceFacts{ gap:7px; padding-top:8px; }
.bmWorkspaceFact{ min-height:58px; padding:9px; }
.bmWorkspaceFactLabel{ font-size:8px; }
.bmWorkspaceFactValue{ font-size:9.5px; }
.bmWorkspaceMediaList{ gap:6px; padding-top:8px; }
.bmWorkspaceMediaLink,.bmWorkspaceMediaPlain{ min-height:43px; padding:7px 8px; }
.bmWorkspaceMediaText b{ font-size:9.7px; }
.bmWorkspaceMediaText small{ font-size:8px; }

@media (max-width:1380px) and (min-width:981px){
  .bmHotelWorkspaceShell{ grid-template-columns:250px minmax(0,1fr); }
  .bmHotelWorkspaceDetail{ padding:15px; }
  .bmWorkspaceGrid{ grid-template-columns:minmax(0,1.08fr) minmax(310px,.92fr); }
  .bmWorkspaceContractRow{ grid-template-columns:minmax(145px,.9fr) minmax(140px,1.2fr) auto; }
  .bmWorkspaceHeroVisual{ width:96px; height:64px; }
}

@media (max-width:1180px) and (min-width:981px){
  .bmWorkspaceGrid{ grid-template-columns:1fr; }
  .bmWorkspaceHero{ align-items:flex-start; }
  .bmWorkspaceHeroIdentity{ width:100%; }
  .bmWorkspaceActions{ justify-content:flex-start; }
}

@media (min-width:1561px){
  .bmHotelWorkspaceShell{
    height:var(--bm-workspace-height,calc(100dvh - 270px));
    max-height:none;
  }
}
.bmWorkspaceHeroVisual.logo-only{ background:#fff; }
.bmWorkspaceHeroVisual.logo-only .bmWorkspaceHeroPhoto{ object-fit:contain; padding:9px; }
.bmWorkspaceEyebrow .bmWorkspaceCustomBadge{ max-width:420px; font-size:9px; text-transform:none; }
.bmWorkspaceHeroVisual.is-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; color:var(--muted); box-shadow:none; background:rgba(62,61,86,.035); }
.bmWorkspaceHeroEmptyIcon{ width:19px; height:19px; display:inline-flex; }
.bmWorkspaceHeroEmptyIcon svg{ width:100%; height:100%; }
.bmWorkspaceHeroVisual.is-empty small{ font-size:8px; font-weight:800; }

/* ========================================================================== 
   HOTEL WORKSPACE v4 — compact contracts, inline SPO actions and previews.
   ========================================================================== */

/* Contract content stays grouped instead of being stretched across the panel. */
.bmWorkspaceContractRow{
  grid-template-columns:minmax(170px,260px) minmax(180px,420px) auto;
  justify-content:start;
  gap:12px;
}
.bmWorkspaceContractMarkets{
  max-width:420px;
}
.bmWorkspaceContractTail{
  min-width:0;
  display:inline-flex;
  align-items:center;
  gap:7px;
  justify-self:start;
}

/* Small semantic actions used next to SPO and contract names. */
.bmWorkspaceInlineBtn{
  min-width:0;
  height:25px;
  padding:0 8px;
  border:1px solid rgba(62,61,86,.12);
  border-radius:8px;
  background:#fff;
  color:#5b576d;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  font:inherit;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(27,27,46,.035);
  transition:border-color var(--dur-fast) ease,background var(--dur-fast) ease,transform var(--dur-fast) ease;
}
.bmWorkspaceInlineBtn:hover{
  border-color:rgba(62,61,86,.25);
  background:#faf9fc;
  transform:translateY(-1px);
}
.bmWorkspaceInlineBtn>span{
  width:13px;
  height:13px;
  display:inline-flex;
  flex:0 0 auto;
}
.bmWorkspaceInlineBtn svg{ width:100%; height:100%; display:block; }
.bmWorkspaceInlineBtn>b{
  font-size:8.5px;
  font-weight:850;
  white-space:nowrap;
}
.bmWorkspaceInlineBtn.description{ color:#4f4a78; background:rgba(93,83,180,.045); }
.bmWorkspaceInlineBtn.file{ color:#355f88; background:rgba(90,134,197,.055); }

/* Offer descriptions are opened deliberately; rows remain concise and scannable. */
.bmWorkspaceOffer{
  grid-template-columns:minmax(0,1fr) minmax(145px,auto);
  align-items:start;
}
.bmWorkspaceOfferTitleRow{
  min-width:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:9px;
}
.bmWorkspaceOfferTitle{
  min-width:0;
  flex:1 1 auto;
  overflow-wrap:anywhere;
}
.bmWorkspaceOfferActions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:5px;
}
.bmWorkspaceOfferDesc{ display:none!important; }

/* Uploaded hero images use the dashboard viewer, not a new browser tab. */
.bmWorkspaceHeroPhotoBtn{
  width:100%;
  height:100%;
  padding:0;
  border:0;
  background:transparent;
  display:block;
  cursor:zoom-in;
}
button.bmWorkspaceHeroLogo{
  border:1px solid rgba(62,61,86,.10);
  cursor:zoom-in;
}

/* Photo / Logo is intentionally separate from Media & files. */
.bmWorkspacePhotoLogoGrid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  padding-top:8px;
}
.bmWorkspacePhotoLogoGrid .bmWorkspaceMediaLink{
  width:100%;
}
button.bmWorkspaceMediaLink{
  font:inherit;
  text-align:left;
  cursor:pointer;
}

/* In-dashboard image, PDF and description viewer. */
.bmWorkspacePreviewOverlay{
  position:fixed;
  inset:0;
  z-index:1600;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(24,22,34,.66);
  backdrop-filter:blur(8px);
}
.bmWorkspacePreviewOverlay.open{ display:flex; }
.bmWorkspacePreviewDialog{
  width:min(1040px,calc(100vw - 48px));
  height:min(820px,calc(100vh - 48px));
  min-height:340px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  background:#f8f7f4;
  box-shadow:0 30px 90px rgba(14,13,23,.42);
}
.bmWorkspacePreviewHead{
  flex:0 0 auto;
  min-height:68px;
  padding:14px 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid rgba(62,61,86,.11);
  background:rgba(255,255,255,.96);
}
.bmWorkspacePreviewHead>div{ min-width:0; }
.bmWorkspacePreviewHead h3{
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text);
  font-size:16px;
  line-height:1.25;
}
.bmWorkspacePreviewHead span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:10px;
}
.bmWorkspacePreviewClose{
  width:36px;
  height:36px;
  flex:0 0 auto;
  border:1px solid rgba(62,61,86,.12);
  border-radius:11px;
  background:#fff;
  color:var(--accent2);
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.bmWorkspacePreviewBody{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:18px;
  background:#efeee9;
}
.bmWorkspacePreviewImageWrap{
  min-height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
}
.bmWorkspacePreviewImageWrap img{
  display:block;
  max-width:100%;
  max-height:calc(100vh - 190px);
  object-fit:contain;
  border-radius:12px;
  box-shadow:0 12px 35px rgba(27,27,46,.18);
}
.bmWorkspacePreviewFrame{
  width:100%;
  height:100%;
  min-height:520px;
  border:0;
  border-radius:12px;
  background:#fff;
  box-shadow:0 8px 24px rgba(27,27,46,.10);
}
.bmWorkspaceDescriptionText{
  max-width:880px;
  margin:0 auto;
  padding:22px 24px;
  border:1px solid rgba(62,61,86,.10);
  border-radius:16px;
  background:#fff;
  color:var(--text);
  font-size:12px;
  line-height:1.65;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  box-shadow:0 8px 24px rgba(27,27,46,.06);
}
.bmWorkspaceDescriptionFiles{
  max-width:880px;
  margin:10px auto 0;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid rgba(62,61,86,.10);
  border-radius:12px;
  background:#fff;
  color:var(--muted);
  font-size:10px;
}
.bmWorkspacePreviewFoot{
  flex:0 0 auto;
  min-height:58px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  border-top:1px solid rgba(62,61,86,.11);
  background:#fff;
}
.bmWorkspacePreviewDownload,
.bmWorkspacePreviewDone{
  min-height:36px;
  padding:0 14px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font:inherit;
  font-size:10px;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
}
.bmWorkspacePreviewDownload{
  border:1px solid rgba(62,61,86,.14);
  background:#fff;
  color:var(--accent2);
}
.bmWorkspacePreviewDone{
  border:1px solid var(--accent2);
  background:var(--accent2);
  color:#fff;
}

@media (max-width:1380px) and (min-width:981px){
  .bmWorkspaceContractRow{
    grid-template-columns:minmax(150px,230px) minmax(130px,340px) auto;
  }
  .bmWorkspaceContractMarkets{ max-width:340px; }
}
@media (max-width:760px){
  .bmWorkspacePreviewOverlay{ padding:0; }
  .bmWorkspacePreviewDialog{ width:100vw; height:100dvh; border-radius:0; }
  .bmWorkspacePreviewBody{ padding:10px; }
  .bmWorkspacePreviewFrame{ min-height:calc(100dvh - 146px); }
  .bmWorkspaceDescriptionText{ padding:16px; }
}

/* Attached file chooser inside the Workspace preview modal. */
.bmWorkspaceAttachedFileList{
  width:min(760px,100%);
  margin:0 auto;
  display:grid;
  gap:9px;
}
.bmWorkspaceAttachedFileItem{
  width:100%;
  min-width:0;
  padding:12px 14px;
  display:grid;
  grid-template-columns:36px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  border:1px solid rgba(62,61,86,.11);
  border-radius:13px;
  background:#fff;
  color:var(--text);
  text-align:left;
  font:inherit;
  cursor:pointer;
  box-shadow:0 6px 18px rgba(27,27,46,.05);
  transition:transform var(--dur-fast) var(--ease-out), border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease;
}
.bmWorkspaceAttachedFileItem:hover{
  transform:translateY(-1px);
  border-color:rgba(63,60,87,.28);
  box-shadow:0 10px 24px rgba(27,27,46,.09);
}
.bmWorkspaceAttachedFileIcon{
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:var(--chip);
  color:var(--accent2);
}
.bmWorkspaceAttachedFileIcon svg{ width:17px; height:17px; }
.bmWorkspaceAttachedFileItem > span:nth-child(2){ min-width:0; display:grid; gap:3px; }
.bmWorkspaceAttachedFileItem b{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  font-weight:850;
}
.bmWorkspaceAttachedFileItem small{ color:var(--muted); font-size:9px; }
.bmWorkspaceAttachedFileItem i{ color:var(--accent2); font-size:10px; font-style:normal; font-weight:850; }

/* ========================================================================== 
   HOTEL WORKSPACE v5 — compact contracts, anchored description popovers.
   ========================================================================== */
.bmWorkspaceContracts{
  margin-top:11px;
}
.bmWorkspaceContractList{
  display:grid;
  gap:7px;
  padding:8px 10px 10px;
}
.bmWorkspaceContractRow{
  grid-template-columns:minmax(180px,240px) minmax(0,1fr) auto;
  gap:10px;
  min-height:0;
  padding:9px 10px;
  border:1px solid rgba(62,61,86,.08);
  border-left-width:3px;
  border-radius:12px;
  background:#fff;
}
.bmWorkspaceContractRow.is-hidden{ display:none; }
.bmWorkspaceContractIdentity strong{ font-size:10.8px; }
.bmWorkspaceContractIdentity span{ font-size:8.9px; }
.bmWorkspaceContractMarkets{
  max-width:none;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.bmWorkspaceContractTail{ gap:8px; justify-self:end; }
.bmWorkspaceContractActions{ display:flex; align-items:center; gap:6px; }
.bmWorkspaceContractsToggle{
  width:calc(100% - 20px);
  margin:0 10px 10px;
  min-height:34px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px dashed rgba(62,61,86,.18);
  border-radius:11px;
  background:rgba(62,61,86,.025);
  color:var(--accent2);
  font:inherit;
  font-size:10px;
  font-weight:850;
  cursor:pointer;
}
.bmWorkspaceContractsToggle i{ font-style:normal; font-size:10px; }

.bmWorkspaceOfferTitleRow{ align-items:flex-start; gap:10px; }
.bmWorkspaceOfferActions,
.bmWorkspaceContractActions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:6px;
}
.bmWorkspaceIconAction{
  width:28px;
  height:28px;
  flex:0 0 auto;
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(90,84,122,.16);
  border-radius:9px;
  background:#fff;
  color:var(--accent2);
  box-shadow:0 4px 10px rgba(27,27,46,.04);
  cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) ease, border-color var(--dur-fast) ease;
}
.bmWorkspaceIconAction:hover{
  transform:translateY(-1px);
  border-color:rgba(90,84,122,.28);
  box-shadow:0 8px 18px rgba(27,27,46,.08);
}
.bmWorkspaceIconAction span{ width:14px; height:14px; display:inline-flex; }
.bmWorkspaceIconAction span svg{ width:100%; height:100%; }
.bmWorkspaceIconAction i{
  position:absolute;
  right:-4px;
  top:-4px;
  min-width:16px;
  height:16px;
  padding:0 4px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:var(--accent2);
  color:#fff;
  font-size:8px;
  font-style:normal;
  font-weight:900;
  line-height:1;
}

.bmWorkspaceDescPopover{
  position:fixed;
  left:-9999px;
  top:-9999px;
  z-index:1700;
  width:min(430px,calc(100vw - 24px));
}
.bmWorkspaceDescPopover.open{ display:block; }
.bmWorkspaceDescPopoverCard{
  border:1px solid rgba(62,61,86,.12);
  border-radius:18px;
  background:rgba(255,255,255,.985);
  box-shadow:0 20px 48px rgba(18,17,28,.22);
  overflow:hidden;
}
.bmWorkspaceDescPopoverHead{
  min-height:48px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(62,61,86,.08);
  background:linear-gradient(180deg, rgba(245,244,250,.96), rgba(255,255,255,.96));
}
.bmWorkspaceDescPopoverHead strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--text);
  font-size:11px;
}
.bmWorkspaceDescPopoverClose{
  width:28px;
  height:28px;
  border:1px solid rgba(62,61,86,.11);
  border-radius:9px;
  background:#fff;
  color:var(--accent2);
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.bmWorkspaceDescPopoverBody{ padding:12px; }
.bmWorkspaceDescPopoverText{
  max-height:min(44vh,360px);
  overflow:auto;
  color:var(--text);
  font-size:11px;
  line-height:1.6;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.bmWorkspaceDescPopoverActions{
  margin-top:10px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
}

@media (max-width:1380px) and (min-width:981px){
  .bmWorkspaceContractRow{ grid-template-columns:minmax(165px,220px) minmax(0,1fr) auto; }
}
@media (max-width:1180px) and (min-width:981px){
  .bmWorkspaceContractRow{ grid-template-columns:minmax(0,1fr) auto; }
  .bmWorkspaceContractMarkets{ grid-column:1 / -1; }
}


/* ========================================================================== 
   HOTEL WORKSPACE v6 — balanced overview, compact contracts, polished popover.
   ========================================================================== */
.bmWorkspaceOverview{
  margin-top:11px;
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(260px,.72fr);
  gap:11px;
  align-items:start;
}
.bmWorkspaceOverview .bmWorkspaceContracts{ margin-top:0; min-width:0; }
.bmWorkspaceOverview .bmWorkspaceSummary{
  margin-top:0;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.bmWorkspaceOverview .bmWorkspaceStat{
  min-height:72px;
  padding:10px 12px;
}
.bmWorkspaceContracts{
  align-self:start;
  overflow:hidden;
}
.bmWorkspaceContractList{
  gap:5px;
  padding:7px 9px 8px;
}
.bmWorkspaceContractRow{
  display:flex;
  align-items:center;
  min-height:46px;
  padding:7px 9px;
  gap:12px;
}
.bmWorkspaceContractIdentity{
  flex:0 0 190px;
  min-width:0;
}
.bmWorkspaceContractMarkets{
  flex:1 1 260px;
  min-width:120px;
  max-width:390px;
}
.bmWorkspaceContractTail{
  flex:0 0 auto;
  margin-left:0;
  justify-self:auto;
}
.bmWorkspaceContractsToggle{
  min-height:31px;
  margin:0 9px 9px;
  width:calc(100% - 18px);
}

/* Fixed action rail: description and files always sit in one predictable place. */
.bmWorkspaceOffer{
  grid-template-columns:minmax(0,1fr) 168px;
  gap:12px;
}
.bmWorkspaceOfferTitleRow{
  display:grid;
  grid-template-columns:minmax(0,1fr) 66px;
  align-items:start;
  gap:8px;
}
.bmWorkspaceOfferActions{
  width:66px;
  min-width:66px;
  justify-content:flex-end;
  flex-wrap:nowrap;
}
.bmWorkspaceIconAction{
  width:27px;
  height:27px;
  border-radius:8px;
  background:linear-gradient(180deg,#fff,#faf9fc);
}
.bmWorkspaceIconAction[title*="description"]{ color:#63589b; }
.bmWorkspaceIconAction[title*="file"],
.bmWorkspaceIconAction[title*="File"]{ color:#477aa4; }

/* Anchored information card instead of a heavy modal. */
.bmWorkspaceDescPopover{
  width:min(520px,calc(100vw - 24px));
  filter:drop-shadow(0 22px 38px rgba(18,17,28,.20));
}
.bmWorkspaceDescPopoverCard{
  position:relative;
  overflow:visible;
  border-radius:16px;
  border:1px solid rgba(83,75,126,.18);
  background:rgba(255,255,255,.995);
  box-shadow:none;
}
.bmWorkspaceDescPopoverCard::before{
  content:"";
  position:absolute;
  top:-7px;
  right:25px;
  width:13px;
  height:13px;
  transform:rotate(45deg);
  background:#f8f7fc;
  border-left:1px solid rgba(83,75,126,.18);
  border-top:1px solid rgba(83,75,126,.18);
}
.bmWorkspaceDescPopoverHead{
  min-height:50px;
  padding:11px 13px;
  border-radius:16px 16px 0 0;
  background:linear-gradient(135deg,rgba(244,242,252,.98),rgba(255,255,255,.98));
}
.bmWorkspaceDescPopoverHead strong{
  font-size:11.5px;
  line-height:1.35;
  white-space:normal;
}
.bmWorkspaceDescPopoverBody{ padding:13px 14px 14px; }
.bmWorkspaceDescPopoverText{
  max-height:min(48vh,410px);
  font-size:11px;
  line-height:1.65;
  padding-right:4px;
}
.bmWorkspaceDescPopoverActions{
  padding-top:10px;
  border-top:1px solid rgba(62,61,86,.07);
}

/* Keep the lower workspace visually ordered and prevent accidental stretching. */
.bmWorkspaceGrid{
  align-items:start;
}
.bmWorkspaceColumn{
  align-content:start;
}
.bmWorkspaceSection{
  align-self:start;
}

@media (max-width:1380px) and (min-width:981px){
  .bmWorkspaceOverview{ grid-template-columns:minmax(0,1.45fr) minmax(245px,.7fr); }
  .bmWorkspaceContractIdentity{ flex-basis:170px; }
  .bmWorkspaceContractMarkets{ max-width:300px; }
}
@media (max-width:1180px) and (min-width:981px){
  .bmWorkspaceOverview{ grid-template-columns:1fr; }
  .bmWorkspaceOverview .bmWorkspaceSummary{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:760px){
  .bmWorkspaceOverview{ grid-template-columns:1fr; }
  .bmWorkspaceOverview .bmWorkspaceSummary{ grid-template-columns:1fr; }
  .bmWorkspaceContractRow{ align-items:flex-start; flex-wrap:wrap; }
  .bmWorkspaceContractIdentity{ flex:1 1 160px; }
  .bmWorkspaceContractMarkets{ flex:1 1 100%; order:3; max-width:none; }
  .bmWorkspaceOffer{ grid-template-columns:1fr; }
}

/* Upload is a first-class editor action and always visible for editor/admin. */
#sideBody .bmEntityAttachBtn,
#sideBody .bmAttachQuickAdd{
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  flex:0 0 30px!important;
  margin:0!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(90,134,197,.25)!important;
  border-radius:9px!important;
  background:#f4f9ff!important;
  color:#3d709d!important;
  box-shadow:0 3px 9px rgba(27,27,46,.045)!important;
  cursor:pointer!important;
}
#sideBody .bmEntityAttachBtn:hover,
#sideBody .bmAttachQuickAdd:hover:not(:disabled){
  background:#eaf4ff!important;
  border-color:rgba(90,134,197,.42)!important;
  transform:translateY(-1px)!important;
}
#sideBody .bmEntityAttachBtn svg,
#sideBody .bmAttachQuickAdd svg{ width:14px!important; height:14px!important; display:block!important; }
#sideBody .bmDetailsActions{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  margin-left:auto!important;
  flex:0 0 auto!important;
}
#sideBody .dbOfferCard>.itemTop,
#sideBody .dbContractCard>.itemTop{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
#sideBody .dbCardMain{ min-width:0!important; flex:1 1 auto!important; }

/* Attachments remain visually connected to their entity card. */
#sideBody .bmAttachStrip{
  margin-top:10px!important;
  padding-top:9px!important;
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  border-top:1px solid rgba(62,61,86,.08)!important;
}

@media (max-width:1350px) and (min-width:981px){
  .bmWorkspaceGrid{ grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)!important; }
  .bmWorkspaceOffer{ grid-template-columns:minmax(0,1fr) minmax(175px,210px)!important; }
}
@media (max-width:1120px) and (min-width:981px){
  .bmWorkspaceGrid{ grid-template-columns:1fr!important; }
  .bmWorkspaceOffer{ grid-template-columns:minmax(0,1fr) minmax(180px,220px)!important; }
}

/* ========================================================================== 
   HOTEL WORKSPACE v9 — reliable attachment display and compact file chooser.
   ========================================================================== */

/* Description and attachment actions must be visually unmistakable. */
.bmWorkspaceIconAction.is-description{
  color:#6556a0!important;
  background:#f5f2ff!important;
  border-color:rgba(101,86,160,.24)!important;
}
.bmWorkspaceIconAction.is-description:hover{
  background:#ece7ff!important;
  border-color:rgba(101,86,160,.42)!important;
}
.bmWorkspaceIconAction.is-paperclip{
  color:#28739a!important;
  background:#edf8fd!important;
  border-color:rgba(40,115,154,.28)!important;
}
.bmWorkspaceIconAction.is-paperclip:hover{
  color:#165d82!important;
  background:#def2fb!important;
  border-color:rgba(40,115,154,.46)!important;
}
.bmWorkspaceIconAction.is-paperclip span{
  width:15px!important;
  height:15px!important;
}
.bmWorkspaceIconAction.is-paperclip i{
  background:#26779f!important;
  box-shadow:0 0 0 2px #fff!important;
}

/* Files shown inside the SPO description card. */
.bmWorkspaceDescPopoverFiles{
  margin-top:11px;
  padding-top:10px;
  display:grid;
  gap:6px;
  border-top:1px solid rgba(62,61,86,.08);
}
.bmWorkspaceDescPopoverFiles>span{
  color:#777386;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.bmWorkspaceDescFile{
  width:100%;
  min-width:0;
  min-height:34px;
  padding:6px 8px;
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  gap:7px;
  border:1px solid rgba(40,115,154,.14);
  border-radius:10px;
  background:#f7fbfd;
  color:#2b2a38;
  text-align:left;
  font:inherit;
  cursor:pointer;
}
.bmWorkspaceDescFile:hover{ background:#edf8fd; border-color:rgba(40,115,154,.30); }
.bmWorkspaceDescFile i{ width:18px; height:18px; display:flex; align-items:center; justify-content:center; color:#28739a; }
.bmWorkspaceDescFile i svg{ width:15px; height:15px; }
.bmWorkspaceDescFile b{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:9.5px; }

/* A compact anchored chooser for two or more attached files. */
.bmWorkspaceFilesPopover{
  position:fixed;
  left:-9999px;
  top:-9999px;
  z-index:1950;
  width:min(390px,calc(100vw - 24px));
  display:none;
}
.bmWorkspaceFilesPopover.open{ display:block; }
.bmWorkspaceFilesPopoverCard{
  overflow:hidden;
  border:1px solid rgba(40,115,154,.20);
  border-radius:15px;
  background:#fff;
  box-shadow:0 18px 46px rgba(18,17,28,.22);
}
.bmWorkspaceFilesPopoverHead{
  min-height:48px;
  padding:9px 10px 9px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(62,61,86,.08);
  background:linear-gradient(135deg,#eef9fd,#fff);
}
.bmWorkspaceFilesPopoverHead>div{ min-width:0; }
.bmWorkspaceFilesPopoverHead strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#272638;
  font-size:11px;
}
.bmWorkspaceFilesPopoverHead span{
  display:block;
  margin-top:2px;
  color:#777386;
  font-size:8.5px;
}
.bmWorkspaceFilesPopoverClose{
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:1px solid rgba(62,61,86,.11);
  border-radius:9px;
  background:#fff;
  color:#3f3c57;
  font-size:18px;
  line-height:1;
  cursor:pointer;
}
.bmWorkspaceFilesPopoverBody{
  max-height:min(46vh,330px);
  overflow:auto;
  padding:8px;
  display:grid;
  gap:6px;
}
.bmWorkspaceFilesPopoverItem{
  width:100%;
  min-width:0;
  min-height:46px;
  padding:7px 8px;
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  border:1px solid rgba(62,61,86,.09);
  border-radius:11px;
  background:#fafbfd;
  color:#272638;
  text-align:left;
  font:inherit;
  cursor:pointer;
  transition:background .14s ease,border-color .14s ease,transform .14s ease;
}
.bmWorkspaceFilesPopoverItem:hover{
  transform:translateY(-1px);
  background:#f0f8fc;
  border-color:rgba(40,115,154,.25);
}
.bmWorkspaceFilesPopoverItem>span:first-child{
  width:30px;
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:9px;
  background:#e8f5fb;
  color:#28739a;
}
.bmWorkspaceFilesPopoverItem>span:first-child svg{ width:16px; height:16px; }
.bmWorkspaceFilesPopoverItem>span:nth-child(2){ min-width:0; }
.bmWorkspaceFilesPopoverItem b{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:9.8px;
  line-height:1.25;
}
.bmWorkspaceFilesPopoverItem small{ display:block; margin-top:2px; color:#858291; font-size:8px; }
.bmWorkspaceFilesPopoverItem>i{ color:#28739a; font-size:8.5px; font-style:normal; font-weight:850; }

/* Attached files in Details are a persistent part of the entity card. */
#sideBody .bmAttachStrip{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:1!important;
  overflow:visible!important;
  grid-column:1 / -1!important;
  flex:1 0 100%!important;
}
#sideBody .bmAttachChip{
  flex:0 1 auto!important;
  min-width:180px!important;
  max-width:min(340px,100%)!important;
  background:#f7fbfd!important;
  border-color:rgba(40,115,154,.16)!important;
}
#sideBody .bmAttachChipIcon{
  background:#e8f5fb!important;
  color:#28739a!important;
}
#sideBody .bmAttachChipActions{ margin-left:auto!important; }

/* ========================================================================== 
   HOTEL WORKSPACE v10 — persistent Details attachments and clear SPO actions.
   ========================================================================== */

/* SPO toolbar: description/file actions sit BEFORE the type badge. */
.bmWorkspaceOfferToolbar{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  min-width:0!important;
}
.bmWorkspaceOfferActions{
  order:1!important;
  width:auto!important;
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  padding:0!important;
}
.bmWorkspaceOfferType{
  order:2!important;
  flex:0 0 auto!important;
}
/* A document means already attached files; the paperclip is reserved for upload. */
.bmWorkspaceIconAction.is-file{
  color:#2f6f9d!important;
  background:#edf6ff!important;
  border-color:rgba(47,111,157,.28)!important;
}
.bmWorkspaceIconAction.is-file:hover{
  color:#1e587f!important;
  background:#e0f0ff!important;
  border-color:rgba(47,111,157,.45)!important;
}
.bmWorkspaceIconAction.is-file i{
  background:#2f78a8!important;
  box-shadow:0 0 0 2px #fff!important;
}
.bmWorkspaceDescFile i,
.bmWorkspaceFilesPopoverItem>span:first-child{
  color:#2f6f9d!important;
  background:#edf6ff!important;
}

/* Details: the paperclip is always the upload action, while attached PDFs are
   shown as a persistent full-width row under the entity. */
#sideBody .bmAttachQuickAdd{
  color:#3379a2!important;
  background:#f0f8fd!important;
  border-color:rgba(51,121,162,.26)!important;
}
#sideBody .bmAttachQuickAdd:hover:not(:disabled){
  color:#205d82!important;
  background:#e4f3fb!important;
  border-color:rgba(51,121,162,.44)!important;
}
#sideBody .bmAttachStrip{
  clear:both!important;
  width:100%!important;
  flex-basis:100%!important;
  align-self:stretch!important;
  margin:10px 0 0!important;
  padding:9px 0 0!important;
}
#sideBody .bmAttachStrip::before{
  content:'Attached files'!important;
  display:block!important;
  flex:0 0 100%!important;
}
#sideBody .bmAttachChip{
  min-width:220px!important;
  max-width:min(420px,100%)!important;
}

@media (max-width:720px){
  .bmWorkspaceOfferToolbar{gap:4px!important;}
  .bmWorkspaceOfferActions{gap:4px!important;}
  #sideBody .bmAttachChip{min-width:100%!important;max-width:100%!important;}
}

/* ========================================================================== 
   HOTEL WORKSPACE v11 — race-safe Details attachments and distinct file icon.
   ========================================================================== */
.bmWorkspaceIconAction.is-description{
  color:#62558f!important;
  background:#f7f4fc!important;
  border-color:rgba(98,85,143,.22)!important;
}
.bmWorkspaceIconAction.is-description span svg{
  width:15px!important;
  height:15px!important;
}
.bmWorkspaceIconAction.is-file{
  width:29px!important;
  height:29px!important;
  color:#185f8e!important;
  background:#e6f3fd!important;
  border-color:rgba(24,95,142,.34)!important;
  box-shadow:0 4px 10px rgba(24,95,142,.10)!important;
}
.bmWorkspaceIconAction.is-file span svg{
  width:16px!important;
  height:16px!important;
  stroke-width:2.15!important;
}
.bmWorkspaceIconAction.is-file:hover{
  color:#104e76!important;
  background:#d7ecfb!important;
  border-color:rgba(24,95,142,.50)!important;
}
#sideBody [data-db-contract-id],
#sideBody [data-db-offer-id]{
  overflow:visible!important;
}
#sideBody .bmAttachStrip{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:44px!important;
}
#sideBody .bmAttachChipActions .bmChipBtn{
  flex:0 0 24px!important;
  width:24px!important;
  height:24px!important;
}
#sideBody .bmAttachChipActions .bmChipBtn svg{
  width:13px!important;
  height:13px!important;
}


/* ========================================================================== 
   HOTEL WORKSPACE v12 — one geometry for description/files and native Details files.
   ========================================================================== */
.bmWorkspaceIconAction.is-description,
.bmWorkspaceIconAction.is-file{
  box-sizing:border-box!important;
  flex:0 0 28px!important;
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  padding:0!important;
  border-radius:8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1!important;
}
.bmWorkspaceIconAction.is-description>span,
.bmWorkspaceIconAction.is-file>span{
  width:16px!important;
  height:16px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.bmWorkspaceIconAction.is-description span svg,
.bmWorkspaceIconAction.is-file span svg{
  width:15px!important;
  height:15px!important;
}

#sideBody .bmDetailsActions{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  flex:0 0 auto!important;
}
#sideBody .bmDetailsActions>.bmDetailsActionBtn,
#sideBody .bmDetailsActions>.bmEntityAttachBtn,
#sideBody .bmDetailsActions>.bmDetailsFilesBtn{
  box-sizing:border-box!important;
  flex:0 0 30px!important;
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  padding:0!important;
  border-radius:9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}
#sideBody .bmDetailsFilesBtn{
  position:relative!important;
  color:#17658f!important;
  background:#eaf5fc!important;
  border-color:rgba(23,101,143,.28)!important;
  box-shadow:0 4px 12px rgba(23,101,143,.10)!important;
}
#sideBody .bmDetailsFilesBtn:hover{
  color:#104f73!important;
  background:#dceefa!important;
  border-color:rgba(23,101,143,.44)!important;
}
#sideBody .bmDetailsFilesBtn>i{
  position:absolute!important;
  top:-6px!important;
  right:-6px!important;
  min-width:16px!important;
  height:16px!important;
  padding:0 4px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#2c7da8!important;
  color:#fff!important;
  border:2px solid #fff!important;
  font-size:8px!important;
  font-style:normal!important;
  font-weight:900!important;
  line-height:1!important;
  box-shadow:0 2px 6px rgba(25,86,120,.22)!important;
}
#sideBody .bmDetailsFilesPanel[hidden]{display:none!important;}
#sideBody .bmDetailsFilesPanel{
  box-sizing:border-box!important;
  width:100%!important;
  margin:10px 0 0!important;
  padding:10px!important;
  border:1px solid rgba(32,91,124,.14)!important;
  border-radius:12px!important;
  background:linear-gradient(180deg,#f8fcff 0%,#f4f9fc 100%)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9)!important;
  display:grid!important;
  gap:7px!important;
}
#sideBody .bmDetailsFilesPanelHead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:0 2px 2px!important;
  color:#6e7483!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
#sideBody .bmDetailsFilesPanelHead>b{
  min-width:18px!important;
  height:18px!important;
  padding:0 5px!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#dceef8!important;
  color:#236b93!important;
  font-size:9px!important;
}
#sideBody .bmDetailsFileRow{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px!important;
  border:1px solid rgba(32,91,124,.11)!important;
  border-radius:10px!important;
  background:#fff!important;
}
#sideBody .bmDetailsFileMain{
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:inherit!important;
  text-align:left!important;
  cursor:pointer!important;
}
#sideBody .bmDetailsFileIcon{
  flex:0 0 30px!important;
  width:30px!important;
  height:30px!important;
  border-radius:8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#216f98!important;
  background:#e8f4fb!important;
}
#sideBody .bmDetailsFileText{min-width:0!important;display:block!important;}
#sideBody .bmDetailsFileText>b{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:#202438!important;
  font-size:10px!important;
  line-height:1.3!important;
}
#sideBody .bmDetailsFileText>small{
  display:block!important;
  margin-top:2px!important;
  color:#858a99!important;
  font-size:8.5px!important;
}
#sideBody .bmDetailsFileActions{display:inline-flex!important;align-items:center!important;gap:4px!important;}
#sideBody .bmDetailsFileAction{
  box-sizing:border-box!important;
  flex:0 0 27px!important;
  width:27px!important;
  height:27px!important;
  padding:0!important;
  border:1px solid rgba(45,91,119,.14)!important;
  border-radius:8px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#526274!important;
  background:#f8fafc!important;
  cursor:pointer!important;
  text-decoration:none!important;
}
#sideBody .bmDetailsFileAction:hover{color:#1d658e!important;background:#edf6fb!important;}
#sideBody .bmDetailsFileAction.danger{color:#b14d59!important;background:#fff6f7!important;border-color:rgba(177,77,89,.18)!important;}
#sideBody .bmDetailsFileAction svg{width:13px!important;height:13px!important;}
@media(max-width:700px){
  #sideBody .bmDetailsFileRow{align-items:flex-start!important;}
  #sideBody .bmDetailsFileActions{flex:0 0 auto!important;}
}

/* ========================================================================== 
   RESORT INFO MAIN SEARCH + FACET FILTERS
   ========================================================================== */
.riMainToolbar{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
  overflow:visible;
}
.riMainSearch{
  position:relative;
  display:flex;
  align-items:center;
  flex:0 1 390px;
  width:min(390px,42vw);
  min-width:190px;
  height:42px;
  overflow:hidden;
  border:1px solid rgba(62,61,86,.20);
  border-radius:14px;
  background:#faf9fc;
  box-shadow:inset 0 1px 2px rgba(27,27,46,.025),0 1px 2px rgba(27,27,46,.025);
  transition:width .22s cubic-bezier(.2,.75,.25,1),min-width .22s cubic-bezier(.2,.75,.25,1),border-color .14s ease,box-shadow .18s ease,background .14s ease;
}
.riMainSearch:hover{ border-color:rgba(62,61,86,.31); background:#fff; }
.riMainSearch:focus-within{
  border-color:rgba(93,83,180,.48);
  background:#fff;
  box-shadow:0 0 0 4px rgba(93,83,180,.10),0 6px 16px rgba(27,27,46,.07);
}
.riMainSearch.isCollapsed{
  flex:0 0 42px;
  width:42px;
  min-width:42px;
  border-radius:13px;
  cursor:pointer;
}
.riMainSearchToggle{
  position:relative;
  z-index:2;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 42px;
  width:42px;
  height:40px;
  padding:0;
  border:0;
  background:transparent;
  color:#4f4b67;
  cursor:pointer;
}
.riMainSearchToggle .globalSearchIcon{
  left:50%;
  top:50%;
  width:16px;
  height:16px;
  opacity:.72;
  transform:translate(-50%,-50%);
}
.riMainSearchPanel{
  display:flex;
  align-items:center;
  flex:1 1 auto;
  min-width:0;
  height:100%;
  opacity:1;
  transition:opacity .14s ease;
}
.riMainSearch.isCollapsed .riMainSearchPanel{
  flex:0 0 0;
  width:0;
  opacity:0;
  pointer-events:none;
}
.riMainSearch .hotelHeaderSearch{
  grid-area:auto!important;
  height:40px!important;
  padding-left:4px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
}
.riMainSearch .hotelHeaderSearch:focus{ box-shadow:none!important; }
.riMainSearch .bmSearchClearButton{ right:5px; }
.riFacetControl{
  position:relative;
  flex:0 0 auto;
}
.riFacetButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  height:42px;
  min-width:104px;
  padding:0 12px;
  border:1px solid rgba(62,61,86,.17);
  border-radius:13px;
  background:#fff;
  color:#55516a;
  font:800 11px/1 Manrope,sans-serif;
  cursor:pointer;
  box-shadow:0 2px 7px rgba(31,29,48,.045),inset 0 1px 0 rgba(255,255,255,.9);
  transition:border-color .14s ease,background .14s ease,color .14s ease,box-shadow .18s ease,transform .14s ease;
}
.riFacetButton:hover{
  border-color:rgba(83,72,151,.30);
  background:#fbfaff;
  color:#3f395f;
  box-shadow:0 6px 15px rgba(31,29,48,.075);
}
.riFacetButton:active{ transform:translateY(1px); }
.riFacetButton.active{
  border-color:rgba(91,73,184,.34);
  background:#f2efff;
  color:#5644ad;
}
.riFacetButtonIcon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:17px;
  height:17px;
  flex:0 0 17px;
}
.riFacetButtonIcon svg{ width:17px; height:17px; display:block; }
.riFacetButtonCount{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border-radius:999px;
  background:#6551bd;
  color:#fff;
  font:850 9px/1 Manrope,sans-serif;
}
.riFacetButtonCount[hidden]{ display:none!important; }
.riFacetChevron{
  width:7px;
  height:7px;
  margin-left:1px;
  border-right:1.7px solid currentColor;
  border-bottom:1.7px solid currentColor;
  opacity:.65;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .14s ease;
}
.riFacetButton[aria-expanded="true"] .riFacetChevron{ transform:translateY(2px) rotate(225deg); }
.riFacetPopover{
  position:absolute;
  z-index:10030;
  top:calc(100% + 8px);
  left:0;
  width:min(340px,calc(100vw - 34px));
  padding:12px;
  border:1px solid rgba(62,61,86,.14);
  border-radius:16px;
  background:rgba(255,255,255,.985);
  box-shadow:0 22px 58px rgba(28,25,48,.20),0 2px 8px rgba(28,25,48,.07);
  backdrop-filter:blur(16px);
}
.riValueFacetControl .riFacetPopover{ left:auto; right:0; }
.riFacetPopover[hidden]{ display:none!important; }
.riFacetPopoverHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
  padding:0 2px;
}
.riFacetPopoverHead strong{
  min-width:0;
  color:#27243a;
  font:850 12px/1.3 Manrope,sans-serif;
}
.riFacetClearAll{
  padding:4px 6px;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#6654b4;
  font:800 10px/1 Manrope,sans-serif;
  cursor:pointer;
}
.riFacetClearAll:hover:not(:disabled){ background:#f0edfb; }
.riFacetClearAll:disabled{ opacity:.36; cursor:default; }
.riFacetSearch{
  width:100%;
  height:38px;
  padding:0 38px 0 12px;
  border:1px solid rgba(62,61,86,.15);
  border-radius:11px;
  outline:0;
  background:#f8f7fb;
  color:#29263b;
  font:650 11px/1 Manrope,sans-serif;
}
.riFacetSearch:focus{
  border-color:rgba(91,73,184,.38);
  background:#fff;
  box-shadow:0 0 0 3px rgba(91,73,184,.09);
}
.riFacetList{
  display:flex;
  flex-direction:column;
  gap:3px;
  max-height:318px;
  margin-top:9px;
  padding-right:3px;
  overflow:auto;
  scrollbar-width:thin;
}
.riFacetOption{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:7px 8px;
  border-radius:10px;
  cursor:pointer;
  transition:background .12s ease;
}
.riFacetOption:hover{ background:#f5f3fb; }
.riFacetOption input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.riFacetCheck{
  position:relative;
  flex:0 0 18px;
  width:18px;
  height:18px;
  border:1.5px solid rgba(73,68,96,.30);
  border-radius:6px;
  background:#fff;
  transition:border-color .12s ease,background .12s ease,box-shadow .12s ease;
}
.riFacetOption input:checked + .riFacetCheck{
  border-color:#6551bd;
  background:#6551bd;
  box-shadow:0 3px 8px rgba(83,67,169,.22);
}
.riFacetOption input:checked + .riFacetCheck::after{
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:5px;
  height:9px;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(42deg);
}
.riFacetOption input:focus-visible + .riFacetCheck{ outline:2px solid rgba(91,73,184,.30); outline-offset:2px; }
.riFacetOptionText{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.riFacetOptionText b{
  overflow:hidden;
  color:#302d43;
  font:750 11px/1.3 Manrope,sans-serif;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.riFacetOptionText small{ color:#8a8797; font:650 9px/1.25 Manrope,sans-serif; }
.riFacetEmpty,
.riFacetLoading{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:82px;
  padding:16px;
  color:#858191;
  font:650 10.5px/1.45 Manrope,sans-serif;
  text-align:center;
}
@media (min-width:981px){
  .bmHotelsWorkspaceCard .hotelHeaderBar{
    grid-template-columns:max-content minmax(360px,690px) minmax(0,1fr) max-content!important;
    grid-template-areas:'title resorttools status actions'!important;
  }
  .bmHotelsWorkspaceCard .hotelHeaderLeft{ display:contents; }
  .bmHotelsWorkspaceCard .hotelHeaderTitleRow{ grid-area:title; }
  .bmHotelsWorkspaceCard .riMainToolbar{ grid-area:resorttools; }
  .bmHotelsWorkspaceCard .riSearchStatus{ grid-area:status; }
}

/* ========================================================================== 
   HOTEL WORKSPACE v8 — complete sections, table-only Resort info facets.
   ========================================================================== */
.riFacetControl[hidden]{ display:none!important; }
.riMainToolbar.riFacetFiltersUnavailable{ gap:0; }

.bmWorkspaceRevealItem{ display:contents; }
.bmWorkspaceRevealItem[hidden],
.bmWorkspaceRevealItem.is-hidden{ display:none!important; }
.bmWorkspaceRevealItem .bmWorkspaceOffer,
.bmWorkspaceRevealItem .bmWorkspaceContact{ border-bottom:1px solid rgba(62,61,86,.07); }
.bmWorkspaceRevealItem:last-of-type .bmWorkspaceOffer,
.bmWorkspaceRevealItem:last-of-type .bmWorkspaceContact{ border-bottom:0; }
/* Workspace must never hide the content of an already-visible record. */
.bmWorkspaceFactLabel{
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
.bmWorkspaceFactValue{
  display:block!important;
  overflow:visible!important;
  -webkit-line-clamp:unset!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere;
}
.bmWorkspaceContactValue .bmContactCopyValue{
  max-width:100%!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

.bmHotelsWorkspaceCard.bmWorkspaceMode .riFacetControl{ display:none!important; }
.bmHotelsWorkspaceCard.bmTableMode .riFacetControl:not([hidden]){ display:block; }

/* Multi-image carousel in the Workspace preview. */
.bmWorkspaceGalleryStage{
  position:relative;
  min-height:calc(100% - 82px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:15px;
  background:#202029;
}
.bmWorkspaceGalleryStage .bmWorkspacePreviewImageWrap{
  width:100%;
  min-height:0;
  height:100%;
  padding:12px 64px;
}
.bmWorkspaceGalleryStage .bmWorkspacePreviewImageWrap img{
  max-height:calc(100vh - 285px);
  box-shadow:none;
}
.bmWorkspaceGalleryArrow{
  position:absolute;
  z-index:4;
  top:50%;
  width:44px;
  height:58px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.22);
  border-radius:14px;
  background:rgba(22,21,31,.58);
  color:#fff;
  font:inherit;
  font-size:36px;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(9px);
  transition:background .16s ease,transform .16s ease;
}
.bmWorkspaceGalleryArrow:hover{
  background:rgba(86,76,174,.88);
  transform:translateY(-50%) scale(1.04);
}
.bmWorkspaceGalleryArrow.prev{ left:12px; }
.bmWorkspaceGalleryArrow.next{ right:12px; }
.bmWorkspaceGalleryCounter{
  position:absolute;
  z-index:3;
  right:12px;
  bottom:12px;
  min-height:25px;
  padding:0 9px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(22,21,31,.62);
  color:#fff;
  font-size:9px;
  font-weight:850;
  backdrop-filter:blur(8px);
}
.bmWorkspaceGalleryThumbs{
  margin-top:10px;
  padding:4px 2px 2px;
  display:flex;
  align-items:center;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:thin;
}
.bmWorkspaceGalleryThumb{
  width:66px;
  height:52px;
  flex:0 0 auto;
  padding:2px;
  overflow:hidden;
  border:2px solid transparent;
  border-radius:10px;
  background:#fff;
  opacity:.66;
  cursor:pointer;
  transition:opacity .16s ease,border-color .16s ease,transform .16s ease;
}
.bmWorkspaceGalleryThumb:hover{ opacity:.92; transform:translateY(-1px); }
.bmWorkspaceGalleryThumb.active{
  border-color:var(--accent2);
  opacity:1;
  box-shadow:0 3px 10px rgba(45,39,95,.18);
}
.bmWorkspaceGalleryThumb img{
  width:100%;
  height:100%;
  display:block;
  border-radius:6px;
  object-fit:cover;
}
@media (max-width:760px){
  .bmWorkspaceGalleryStage{ min-height:calc(100dvh - 225px); }
  .bmWorkspaceGalleryStage .bmWorkspacePreviewImageWrap{ padding:8px 44px; }
  .bmWorkspaceGalleryStage .bmWorkspacePreviewImageWrap img{ max-height:calc(100dvh - 250px); }
  .bmWorkspaceGalleryArrow{ width:36px; height:50px; border-radius:11px; font-size:31px; }
  .bmWorkspaceGalleryArrow.prev{ left:6px; }
  .bmWorkspaceGalleryArrow.next{ right:6px; }
  .bmWorkspaceGalleryThumb{ width:58px; height:46px; }
}

/* Workspace media access notes (logins, passwords and operational comments). */
.bmWorkspaceMediaNote{
  padding:9px 10px;
  border:1px solid rgba(82,76,122,.14);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(247,245,253,.96),rgba(252,252,254,.98));
}
.bmWorkspaceMediaNoteHead{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
}
.bmWorkspaceMediaNoteCopy{
  min-height:28px;
  padding:5px 8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid rgba(82,76,122,.16);
  border-radius:9px;
  background:#fff;
  color:#585274;
  font:800 8px/1 Manrope,system-ui,sans-serif;
  cursor:pointer;
}
.bmWorkspaceMediaNoteCopy:hover{background:#f4f1fb;border-color:rgba(82,76,122,.28)}
.bmWorkspaceMediaNoteCopy svg{width:12px;height:12px}
.bmWorkspaceMediaNoteBody{
  margin-top:8px;
  padding:8px 9px;
  overflow-wrap:anywhere;
  white-space:pre-wrap;
  border-radius:9px;
  background:rgba(255,255,255,.78);
  color:#454158;
  font-size:8.7px;
  line-height:1.45;
}
.bmWorkspaceMediaNoteBody a{color:#336bc5;text-decoration:none}
.bmWorkspaceMediaNoteBody a:hover{text-decoration:underline}


/* Resort Info value management */
.riManageValuesButton[hidden]{display:none!important}
.bmHotelsWorkspaceCard.bmWorkspaceMode .riManageValuesButton{display:none!important}
.bmHotelsWorkspaceCard.bmTableMode .riManageValuesButton:not([hidden]){display:inline-flex}

/* ========================================================================== 
   HOTEL WORKSPACE - canonical UX composition.
   One renderer, one layout system. Primary information is paired into equal
   rows; low-frequency commercial data lives in a compact reference rail.
   ========================================================================== */

@media (min-width:981px){
  .bmHotelWorkspaceShell{
    grid-template-columns:minmax(260px,292px) minmax(0,1fr);
    height:clamp(560px,calc(100dvh - 230px),840px);
    min-height:560px;
    max-height:840px;
  }
  .bmHotelWorkspaceDetail{ padding:18px 22px 30px; }
}

.bmHotelNavigatorHead{ min-height:52px; padding:11px 13px; align-items:center; }
.bmHotelNavigatorHead strong{ font-size:12px; }

.bmWorkspaceCanvas{
  width:100%;
  max-width:1580px;
  margin:0 auto;
}

/* Hotel hero */
.bmWorkspaceHero{
  display:grid;
  grid-template-columns:minmax(390px,1.05fr) minmax(330px,.95fr) auto;
  align-items:center;
  gap:18px;
  padding:0 2px 15px;
  border-bottom:1px solid rgba(62,61,86,.075);
}
.bmWorkspaceHeroIdentity{
  min-width:0;
  display:flex;
  align-items:center;
  gap:14px;
}
.bmWorkspaceHeroVisual{
  width:104px;
  height:66px;
  flex:0 0 auto;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(62,61,86,.10);
  border-radius:14px;
  background:var(--chip);
  box-shadow:0 6px 18px rgba(27,27,46,.07);
}
.bmWorkspaceHeroVisual>a,
.bmWorkspaceHeroPhotoBtn{
  width:100%;
  height:100%;
  display:block;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
.bmWorkspaceHeroPhoto{ width:100%; height:100%; display:block; object-fit:cover; }
.bmWorkspaceHeroLogo{
  position:absolute;
  right:6px;
  bottom:6px;
  width:34px;
  height:26px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:3px;
  border:1px solid rgba(62,61,86,.11);
  border-radius:8px;
  background:rgba(255,255,255,.94);
  box-shadow:0 3px 9px rgba(27,27,46,.12);
}
.bmWorkspaceHeroLogo img{ width:100%; height:100%; display:block; object-fit:contain; }
.bmWorkspaceHeroMain{ min-width:0; flex:1 1 auto; }
.bmWorkspaceEyebrow{ display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-bottom:6px; }
.bmWorkspaceCountry,
.bmWorkspaceStatusPill,
.bmWorkspaceDataBadge{
  min-height:21px;
  padding:0 8px;
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  font-size:8.5px;
  font-weight:900;
  letter-spacing:.025em;
  text-transform:uppercase;
}
.bmWorkspaceDataBadge{ background:rgba(93,83,180,.08); color:#5f5878; border:1px solid rgba(93,83,180,.10); }
.bmWorkspaceDataBadge.meta.opening{ background:rgba(90,134,197,.12); color:#365f93; }
.bmWorkspaceDataBadge.meta.closure{ background:rgba(255,181,76,.16); color:#7e561e; }
.bmWorkspaceTitle{
  margin:0;
  color:var(--text);
  font-size:clamp(22px,1.45vw,29px);
  line-height:1.08;
  letter-spacing:-.025em;
}
.bmWorkspaceLocation{ display:flex; align-items:center; flex-wrap:wrap; gap:7px; margin-top:7px; color:var(--muted); font-size:10.5px; }
.bmWorkspaceLocationSep{ opacity:.45; }
.bmWorkspaceTransfers{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:5px; }
.bmWorkspaceTransferOption{
  min-height:22px;
  padding:2px 8px;
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(61,58,82,.09);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  color:#696676;
}

/* Hero metrics occupy the otherwise empty middle of the header. */
.bmWorkspaceHeroMetrics{
  min-width:0;
  width:100%;
  max-width:520px;
  justify-self:center;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.bmWorkspaceStat{
  min-width:0;
  min-height:54px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(62,61,86,.10);
  border-radius:12px;
  background:rgba(255,255,255,.82);
  box-shadow:0 3px 10px rgba(27,27,46,.025);
}
.bmWorkspaceStatIcon{
  width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 28px;
  border-radius:9px;
  background:rgba(93,83,180,.07);
  color:#625d78;
}
.bmWorkspaceStatIcon svg{ width:14px; height:14px; }
.bmWorkspaceStatCopy{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.bmWorkspaceStatLabel{
  color:#8a8795;
  font-size:7.7px;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.035em;
  text-transform:uppercase;
  white-space:nowrap;
}
.bmWorkspaceStatValue{ margin:0; color:#373444; font-size:13px; font-weight:950; line-height:1.1; }
.bmWorkspaceStat.spo .bmWorkspaceStatIcon{ background:rgba(155,195,154,.16); color:#4f7750; }
.bmWorkspaceStat.contracts .bmWorkspaceStatIcon{ background:rgba(90,134,197,.11); color:#426990; }
.bmWorkspaceStat.inc .bmWorkspaceStatIcon{ background:rgba(186,224,230,.24); color:#3f6c76; }

/* Header actions and section picker */
.bmWorkspaceActions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:7px;
  min-width:max-content;
}
button.bmWorkspaceAction,
button.bmWorkspaceAction.hotelMapBtn{
  width:auto!important;
  min-width:0!important;
  height:34px!important;
  min-height:34px!important;
  padding:0 11px!important;
  border:1px solid rgba(62,61,86,.14)!important;
  border-radius:11px!important;
  background:#fff!important;
  color:var(--accent2)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  font:inherit!important;
  font-size:9.5px!important;
  font-weight:850!important;
  cursor:pointer!important;
  box-shadow:0 4px 12px rgba(27,27,46,.045)!important;
}
button.bmWorkspaceAction:hover,
button.bmWorkspaceAction.hotelMapBtn:hover{ background:#faf9fc!important; box-shadow:0 7px 16px rgba(27,27,46,.075)!important; }
button.bmWorkspaceAction.primary{ background:var(--accent2)!important; border-color:var(--accent2)!important; color:#fff!important; }
.bmWorkspaceActionIcon{ width:15px; height:15px; display:inline-flex; flex:0 0 auto; }
.bmWorkspaceActionIcon svg{ width:100%; height:100%; display:block; }
.bmWorkspaceSectionPicker{ position:relative; }
.bmWorkspaceSectionMenu{
  position:absolute;
  z-index:40;
  top:40px;
  right:0;
  width:236px;
  padding:9px;
  border:1px solid rgba(62,61,86,.14);
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 34px rgba(27,27,46,.16);
}
.bmWorkspaceSectionMenu[hidden]{ display:none!important; }
.bmWorkspaceSectionMenuTitle{ padding:3px 4px 8px; color:#4e4a5d; font-size:9px; font-weight:950; letter-spacing:.035em; text-transform:uppercase; }
.bmWorkspaceSectionMenuList{ display:flex; flex-direction:column; gap:2px; }
.bmWorkspaceSectionMenuList label{
  min-height:33px;
  padding:0 6px;
  display:flex;
  align-items:center;
  gap:8px;
  border-radius:8px;
  color:#565263;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
}
.bmWorkspaceSectionMenuList label:hover{ background:#f7f6f9; }
.bmWorkspaceSectionMenuList input{ width:15px; height:15px; margin:0; accent-color:var(--accent2); }
.bmWorkspaceSectionReset{
  width:100%;
  min-height:30px;
  margin-top:7px;
  border:1px solid rgba(62,61,86,.10);
  border-radius:8px;
  background:#faf9fc;
  color:#625d74;
  font:800 9px/1 Manrope,system-ui,sans-serif;
  cursor:pointer;
}

/* Primary workspace: equal-height paired rows. */
.bmWorkspaceMain{ margin-top:12px; }
.bmWorkspaceRows{ display:flex; flex-direction:column; gap:12px; }
.bmWorkspaceRow{
  min-width:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.bmWorkspaceRow.is-single{ grid-template-columns:1fr; }
.bmWorkspaceCardSlot{ min-width:0; display:flex; }
.bmWorkspaceCardSlot>.bmWorkspaceSection{ flex:1 1 auto; }

.bmWorkspaceSection{
  width:100%;
  min-width:0;
  margin:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(62,61,86,.105);
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 16px rgba(27,27,46,.04);
}
.bmWorkspaceSectionHead{
  min-height:43px;
  padding:8px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid rgba(62,61,86,.07);
  background:rgba(251,250,252,.72);
}
.bmWorkspaceSectionTitle{ min-width:0; display:flex; align-items:center; gap:7px; color:#403c4d; font-size:9.5px; font-weight:950; letter-spacing:.04em; text-transform:uppercase; }
.bmWorkspaceSectionIcon{
  width:24px;
  height:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 24px;
  border-radius:8px;
  background:rgba(93,83,180,.075);
  color:#625b85;
}
.bmWorkspaceSectionIcon svg{ width:14px; height:14px; }
.bmWorkspaceSectionTools{ min-width:0; display:flex; align-items:center; justify-content:flex-end; gap:6px; }
.bmWorkspaceSectionCount{ min-width:22px; height:20px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:rgba(62,61,86,.06); color:#7f7b89; font-size:8px; font-weight:900; }
.bmWorkspaceSectionBody{ flex:1 1 auto; min-height:0; padding:4px 11px 11px; display:flex; flex-direction:column; }
.bmWorkspaceSection.is-empty .bmWorkspaceSectionBody{ min-height:116px; justify-content:center; }
.bmWorkspaceEmptyLine{ min-height:46px; padding:10px 2px 8px; display:flex; align-items:center; justify-content:center; color:#8b8795; font-size:10px; }
.bmWorkspaceEmptyLine b{ color:#676373; font-size:10.5px; font-weight:750; }
.bmWorkspaceEmptyLine span{ display:none; }

/* Contacts: useful first, with organic bulk-copy controls in the header. */
.bmWorkspaceBulkCopy{
  min-height:27px;
  padding:0 7px;
  display:inline-flex;
  align-items:center;
  gap:5px;
  border:1px solid rgba(62,61,86,.10);
  border-radius:8px;
  background:#fff;
  color:#625d74;
  font:inherit;
  font-size:8.5px;
  font-weight:850;
  cursor:pointer;
}
.bmWorkspaceBulkCopy:hover{ background:#f7f6fa; border-color:rgba(62,61,86,.18); }
.bmWorkspaceBulkCopy>span{ width:12px; height:12px; display:inline-flex; }
.bmWorkspaceBulkCopy svg{ width:12px; height:12px; }
.bmWorkspaceBulkCopy>b{ font-size:8.5px; }
.bmWorkspaceBulkCopy>i{ min-width:16px; height:16px; padding:0 4px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:rgba(93,83,180,.08); font-style:normal; font-size:7px; }
.bmWorkspaceContactList{ display:flex; flex-direction:column; }
.bmWorkspaceContact{ padding:9px 2px; border-bottom:1px solid rgba(62,61,86,.07); }
.bmWorkspaceContact:last-child{ border-bottom:0; }
.bmWorkspaceContactRole{ display:block; color:#403c4d; font-size:10.3px; font-weight:900; line-height:1.35; }
.bmWorkspaceContactValue{ display:flex; flex-direction:column; gap:2px; margin-top:3px; min-width:0; font-size:9.5px; line-height:1.4; }
.bmWorkspaceContactValue .bmContactCopyValue{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; font-size:9.5px; padding:0; }
.bmWorkspaceRow.is-single .bmWorkspaceContactList{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
.bmWorkspaceRow.is-single .bmWorkspaceContactList>.bmWorkspaceRevealItem:nth-child(odd){ padding-right:5px; }

/* Incentives: progress first. The full tier table is on demand, not part of the page flow. */
.bmWorkspaceIncentiveSection{ overflow:visible; }
.bmWorkspaceIncentiveSection .bmWorkspaceSectionBody{ overflow:visible; padding-top:2px; }
.bmWorkspaceIncList{ display:flex; flex-direction:column; }
.bmWorkspaceIncCard{
  position:relative;
  min-width:0;
  min-height:70px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
  padding:9px 2px;
  border-bottom:1px solid rgba(62,61,86,.065);
}
.bmWorkspaceIncCard:last-child{ border-bottom:0; }
.bmWorkspaceIncMain{ min-width:0; }
.bmWorkspaceIncHead{ min-width:0; display:flex; align-items:center; gap:8px; }
.bmWorkspaceIncIdentity{ min-width:0; flex:1 1 auto; }
.bmWorkspaceIncIdentity b{ display:block; overflow:hidden; color:#403c4d; font-size:10.2px; font-weight:900; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceIncIdentity small{ display:block; margin-top:2px; overflow:hidden; color:#8a8795; font-size:8.2px; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceIncStatus{ min-height:18px; padding:0 6px; display:inline-flex; align-items:center; flex:0 0 auto; border-radius:999px; background:rgba(155,195,154,.18); color:#4b744c; font-size:6.9px; font-weight:900; letter-spacing:.02em; text-transform:uppercase; }
.bmWorkspaceIncStatus.expired,.bmWorkspaceIncStatus.inactive{ background:rgba(113,107,132,.09); color:#777181; }
.bmWorkspaceIncStatus.expected,.bmWorkspaceIncStatus.pending{ background:rgba(90,134,197,.12); color:#426990; }
.bmWorkspaceIncValidity{ margin-top:4px; display:flex; align-items:center; gap:6px; color:#98949e; font-size:7.8px; line-height:1.2; }
.bmWorkspaceIncValidity strong{ overflow:hidden; color:#777280; font-weight:750; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceIncProgress{ margin-top:7px; min-width:0; }
.bmWorkspaceIncProgressTop,.bmWorkspaceIncProgressMeta{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-width:0; }
.bmWorkspaceIncProgressTop strong{ color:#393545; font-size:10.5px; font-weight:950; line-height:1.1; }
.bmWorkspaceIncProgressTop span{ overflow:hidden; color:#615d6d; font-size:8.1px; font-weight:800; text-align:right; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceIncProgressTrack{ height:4px; margin-top:5px; overflow:hidden; border-radius:999px; background:rgba(62,61,86,.07); }
.bmWorkspaceIncProgressTrack>span{ display:block; height:100%; min-width:0; border-radius:inherit; background:linear-gradient(90deg,#7067bc,#67a89d); transition:width .22s ease; }
.bmWorkspaceIncProgressMeta{ margin-top:4px; color:#96919c; font-size:7.5px; line-height:1.15; }
.bmWorkspaceIncProgressMeta span:first-child{ color:#52776e; font-weight:850; }
.bmWorkspaceIncProgress.is-unavailable{ margin-top:6px; min-height:18px; display:flex; align-items:center; color:#9995a0; font-size:7.8px; }
.bmWorkspaceIncActions{ position:relative; padding-top:0; }
.bmWorkspaceIncTierMenu{ position:relative; }
.bmWorkspaceIncTierMenu>summary{
  min-height:27px;
  padding:0 7px 0 8px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  list-style:none;
  border:1px solid rgba(62,61,86,.09);
  border-radius:8px;
  background:#fff;
  color:#625d74;
  font-size:8.1px;
  font-weight:850;
  cursor:pointer;
  user-select:none;
}
.bmWorkspaceIncTierMenu>summary::-webkit-details-marker{ display:none; }
.bmWorkspaceIncTierMenu>summary:hover{ background:#f7f6fa; border-color:rgba(62,61,86,.18); }
.bmWorkspaceIncTierChevron{ width:11px; height:11px; display:inline-flex; align-items:center; justify-content:center; opacity:.7; }
.bmWorkspaceIncTierChevron svg{ width:11px; height:11px; transition:transform .18s ease; }
.bmWorkspaceIncTierMenu[open] .bmWorkspaceIncTierChevron svg{ transform:rotate(180deg); }
.bmWorkspaceIncTierPopover{
  position:absolute;
  top:calc(100% + 6px);
  right:0;
  z-index:60;
  width:min(320px,calc(100vw - 42px));
  padding:8px;
  border:1px solid rgba(62,61,86,.12);
  border-radius:11px;
  background:#fff;
  box-shadow:0 18px 45px rgba(27,27,46,.16);
}
.bmWorkspaceIncTierPopoverHead{ min-height:22px; padding:0 6px 5px 22px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:center; color:#8c8895; font-size:7.4px; font-weight:900; letter-spacing:.035em; text-transform:uppercase; }
.bmWorkspaceIncTierPopoverHead strong{ color:#8c8895; }
.bmWorkspaceIncTier{ min-height:30px; display:grid; grid-template-columns:10px minmax(0,1fr) auto; gap:8px; align-items:center; padding:5px 7px; border-radius:8px; color:#615d6b; font-size:8.8px; }
.bmWorkspaceIncTier + .bmWorkspaceIncTier{ border-top:1px solid rgba(62,61,86,.055); border-radius:0; }
.bmWorkspaceIncTier.is-current{ margin:2px 0; border-top-color:transparent; border-radius:8px; background:rgba(93,83,180,.075); color:#4e4868; }
.bmWorkspaceIncTierMark{ width:7px; height:7px; display:block; border:1.5px solid rgba(93,83,180,.30); border-radius:50%; background:#fff; }
.bmWorkspaceIncTier.is-reached .bmWorkspaceIncTierMark{ border-color:#6c9f76; background:#6c9f76; }
.bmWorkspaceIncTier.is-current .bmWorkspaceIncTierMark{ border:2px solid #6c62ae; background:#fff; box-shadow:0 0 0 2px rgba(108,98,174,.13); }
.bmWorkspaceIncTierTarget{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceIncTier strong{ color:#3f6670; font-size:8.8px; font-weight:950; }
.bmWorkspaceIncTierEmpty{ padding:9px 7px; color:#8c8895; font-size:8.6px; }
.bmWorkspaceIncTerms{ margin-top:6px; padding:7px; border-radius:8px; background:#f7f6f9; color:#74707e; font-size:8.1px; line-height:1.35; white-space:pre-line; }
.bmWorkspaceRow.is-single .bmWorkspaceIncList{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
.bmWorkspaceRow.is-single .bmWorkspaceIncList>.bmWorkspaceRevealItem:nth-child(odd){ padding-right:5px; }

/* Resort information */
.bmWorkspaceFacts{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; padding-top:7px; }
.bmWorkspaceFact{ min-width:0; min-height:58px; padding:9px 10px; border:1px solid rgba(62,61,86,.045); border-radius:10px; background:#f8f7f9; }
.bmWorkspaceFactLabel{ display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#8a8795; font-size:7.9px; font-weight:900; letter-spacing:.035em; line-height:1.25; text-transform:uppercase; }
.bmWorkspaceFactValue{ display:-webkit-box; margin-top:4px; overflow:hidden; color:#403c4c; font-size:9.8px; font-weight:750; line-height:1.42; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.bmWorkspaceRow.is-single .bmWorkspaceFacts{ grid-template-columns:repeat(3,minmax(0,1fr)); }

/* Assets */
.bmWorkspaceAssetGroups{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:10px; padding-top:7px; }
.bmWorkspaceAssetGroup{ min-width:0; padding:9px; border:1px solid rgba(62,61,86,.07); border-radius:11px; background:#f9f8fb; }
.bmWorkspaceAssetGroupHead{ min-height:22px; display:flex; align-items:center; justify-content:space-between; gap:8px; color:#5e5a6b; font-size:8.5px; font-weight:900; letter-spacing:.035em; text-transform:uppercase; }
.bmWorkspaceAssetGroupHead>span:last-child{ min-width:20px; height:19px; padding:0 6px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:rgba(62,61,86,.06); color:#807c8a; font-size:8px; }
.bmWorkspaceAssetGroup .bmWorkspaceEmptyLine{ min-height:38px; padding:8px 1px 2px; }
.bmWorkspaceMediaList,.bmWorkspacePhotoLogoGrid{ display:flex; flex-direction:column; gap:6px; padding-top:7px; }
.bmWorkspaceMediaLink,.bmWorkspaceMediaPlain{ min-width:0; min-height:40px; display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:8px; padding:5px 7px; border:1px solid rgba(62,61,86,.08); border-radius:9px; background:#fff; color:var(--accent2); text-decoration:none; box-shadow:none; }
.bmWorkspaceMediaLink:hover{ background:#faf9fc; border-color:rgba(62,61,86,.16); }
.bmWorkspaceMediaIcon{ width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; background:rgba(93,83,180,.07); }
.bmWorkspaceMediaIcon svg{ width:14px; height:14px; }
.bmWorkspaceMediaText{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.bmWorkspaceMediaText b{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#4a4658; font-size:9.5px; }
.bmWorkspaceMediaText small{ color:#908c99; font-size:8px; }
.bmWorkspaceMediaOpen{ color:#817c8b; font-size:8px; font-weight:800; }

/* Low-frequency reference rail: closed by default, expands only on demand. */
.bmWorkspaceReference{ margin-top:12px; }
.bmWorkspaceReferenceGrid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; align-items:start; }
.bmWorkspaceReferenceGrid.count-2{ grid-template-columns:repeat(2,minmax(0,1fr)); }
.bmWorkspaceReferenceGrid.count-1{ grid-template-columns:1fr; }
.bmWorkspaceReferenceCard{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(62,61,86,.095);
  border-radius:12px;
  background:#fbfafc;
  box-shadow:0 3px 10px rgba(27,27,46,.025);
}
.bmWorkspaceReferenceCard>summary{
  min-height:62px;
  padding:9px 10px;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) 18px;
  align-items:center;
  gap:9px;
  cursor:pointer;
  list-style:none;
}
.bmWorkspaceReferenceCard>summary::-webkit-details-marker{ display:none; }
.bmWorkspaceReferenceIcon{ width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:rgba(93,83,180,.065); color:#68617f; }
.bmWorkspaceReferenceIcon svg{ width:14px; height:14px; }
.bmWorkspaceReferenceCopy{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.bmWorkspaceReferenceCopy b{ color:#474353; font-size:9.8px; font-weight:900; text-transform:uppercase; letter-spacing:.035em; }
.bmWorkspaceReferenceCopy small{ overflow:hidden; color:#8b8794; font-size:8.7px; line-height:1.25; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceReferenceChevron{ width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; color:#777285; opacity:.78; }
.bmWorkspaceReferenceChevron svg{ width:13px; height:13px; transition:transform .16s ease; }
.bmWorkspaceReferenceCard[open]{ grid-column:1/-1; background:#fff; }
.bmWorkspaceReferenceCard[open] .bmWorkspaceReferenceChevron svg{ transform:rotate(180deg); }
.bmWorkspaceReferenceCard[open]>summary{ min-height:52px; border-bottom:1px solid rgba(62,61,86,.07); }
.bmWorkspaceReferenceBody{ padding:7px 10px 10px; }
.bmWorkspaceReferenceEmpty{ min-height:42px; display:flex; align-items:center; color:#8b8794; font-size:9.5px; }

/* Contracts inside reference */
.bmWorkspaceReferenceBody .bmWorkspaceContractRow{
  min-width:0;
  min-height:44px;
  display:grid;
  grid-template-columns:minmax(125px,180px) minmax(0,1fr) 30px 66px;
  align-items:center;
  gap:9px;
  padding:6px 7px;
  border-bottom:1px solid rgba(62,61,86,.06);
  background:transparent;
}
.bmWorkspaceReferenceBody .bmWorkspaceContractRow:last-child{ border-bottom:0; }
.bmWorkspaceContractIdentity,.bmWorkspaceContractMarkets{ min-width:0; }
.bmWorkspaceContractIdentity strong{ display:block; color:#464252; font-size:10px; line-height:1.25; }
.bmWorkspaceContractIdentity span{ display:block; margin-top:2px; color:#8b8794; font-size:8.5px; }
.bmWorkspaceContractMarkets{ overflow:hidden; color:#6e6a79; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.bmWorkspaceContractActions{ width:30px; min-width:30px; display:flex; align-items:center; justify-content:center; }
.bmWorkspaceContractStatus{ width:66px; min-width:66px; min-height:20px; display:inline-flex; align-items:center; justify-content:center; justify-self:end; border-radius:999px; font-size:7px; font-weight:900; text-transform:uppercase; }
.bmWorkspaceContractStatus.active{ background:rgba(112,168,115,.18); color:#3f7043; }
.bmWorkspaceContractStatus.pending{ background:rgba(90,134,197,.15); color:#315f98; }
.bmWorkspaceContractStatus.expired{ background:rgba(207,104,115,.13); color:#a33d49; }
.bmWorkspaceContractStatus.inactive,.bmWorkspaceContractStatus.other{ background:rgba(113,107,132,.10); color:#666174; }

/* SPO inside reference */
.bmWorkspaceReferenceBody .bmWorkspaceOffer{ display:grid; grid-template-columns:minmax(0,1fr) minmax(165px,205px); align-items:start; gap:12px; padding:9px 1px; border-bottom:1px solid rgba(62,61,86,.06); }
.bmWorkspaceReferenceBody .bmWorkspaceOffer:last-child{ border-bottom:0; }
.bmWorkspaceOfferMain{ min-width:0; padding-top:2px; }
.bmWorkspaceOfferTitle{ display:block; color:#403c4d; font-size:10px; font-weight:850; line-height:1.35; overflow-wrap:anywhere; }
.bmWorkspaceOfferSide{ min-width:0; display:flex; flex-direction:column; gap:4px; }
.bmWorkspaceOfferToolbar{ display:flex!important; align-items:center!important; justify-content:flex-end!important; gap:5px!important; min-width:0!important; }
.bmWorkspaceOfferActions{ display:inline-flex; align-items:center; gap:5px; }
.bmWorkspaceOfferDates{ min-width:0; color:#8a8795; font-size:8.3px; line-height:1.4; text-align:right; }
.bmWorkspaceOfferDates b{ color:#696575; font-weight:850; }
.bmWorkspaceOfferType{ min-height:18px; padding:0 6px; display:inline-flex; align-items:center; border-radius:999px; background:rgba(155,195,154,.18); color:#466a45; font-size:7px; font-weight:950; letter-spacing:.03em; text-transform:uppercase; }
.bmWorkspaceOfferType.tactical{ background:rgba(90,134,197,.13); color:#355c91; }
.bmWorkspaceOfferType.contracted{ background:rgba(168,207,223,.25); color:#3d6676; }

/* Calculation and mark-up inside reference */
.bmWorkspaceCommercialGrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding-top:2px; }
.bmWorkspaceCommercialGrid.parts-1{ grid-template-columns:1fr; }
.bmWorkspaceCommercialBlock{ min-width:0; padding:10px 11px; border:1px solid rgba(62,61,86,.055); border-radius:10px; background:#f8f7fa; }
.bmWorkspaceCommercialLabel{ color:#8a8795; font-size:8px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; }
.bmWorkspaceCommercialText{ margin-top:5px; color:#474353; font-size:9.5px; font-weight:750; line-height:1.48; white-space:pre-line; overflow-wrap:anywhere; }

/* Shared accordion controls */
.bmWorkspaceRevealItem[hidden],.bmWorkspaceRevealItem.is-hidden{ display:none!important; }
.bmWorkspaceRevealToggle{
  width:100%;
  min-height:31px;
  margin:7px 0 1px;
  padding:0 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px dashed rgba(62,61,86,.13);
  border-radius:9px;
  background:#faf9fc;
  color:#625d74;
  font:800 9px/1 Manrope,system-ui,sans-serif;
  cursor:pointer;
}
.bmWorkspaceRevealToggle:hover{ background:#f6f4f9; border-color:rgba(62,61,86,.22); }
.bmWorkspaceRevealChevron{ width:12px; height:12px; margin-left:4px; display:inline-flex; align-items:center; justify-content:center; font-style:normal; opacity:.72; }
.bmWorkspaceRevealChevron svg{ width:12px; height:12px; transition:transform .16s ease; }
.bmWorkspaceRevealToggle[data-expanded="true"] .bmWorkspaceRevealChevron svg{ transform:rotate(180deg); }

@media (max-width:1500px) and (min-width:981px){
  .bmHotelWorkspaceShell{ grid-template-columns:245px minmax(0,1fr); }
  .bmHotelWorkspaceDetail{ padding:16px 17px 26px; }
  .bmWorkspaceHero{ grid-template-columns:minmax(330px,1fr) minmax(300px,.85fr) auto; gap:12px; }
  .bmWorkspaceHeroVisual{ width:92px; height:60px; }
  button.bmWorkspaceAction,button.bmWorkspaceAction.hotelMapBtn{ padding:0 9px!important; }
}

@media (max-width:1320px) and (min-width:981px){
  .bmWorkspaceHero{ grid-template-columns:minmax(0,1fr) auto; }
  .bmWorkspaceHeroMetrics{ grid-column:1/-1; grid-row:2; justify-self:start; max-width:610px; }
  .bmWorkspaceActions{ grid-column:2; grid-row:1; }
  .bmWorkspaceRow{ grid-template-columns:1fr; }
  .bmWorkspaceRow.is-single{ grid-template-columns:1fr; }
  .bmWorkspaceContactList,.bmWorkspaceIncList{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:18px; }
  .bmWorkspaceFacts{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:1100px) and (min-width:981px){
  .bmHotelWorkspaceShell{ grid-template-columns:225px minmax(0,1fr); }
  .bmHotelWorkspaceDetail{ padding:14px; }
  .bmWorkspaceHero{ grid-template-columns:1fr; align-items:start; }
  .bmWorkspaceHeroMetrics{ grid-column:1; grid-row:auto; max-width:none; }
  .bmWorkspaceActions{ grid-column:1; grid-row:auto; justify-content:flex-start; flex-wrap:wrap; min-width:0; }
  .bmWorkspaceFacts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bmWorkspaceReferenceGrid,.bmWorkspaceReferenceGrid.count-2{ grid-template-columns:1fr; }
  .bmWorkspaceReferenceCard[open]{ grid-column:1; }
}

@media (max-width:980px){
  .bmWorkspaceCanvas{ max-width:none; }
  .bmWorkspaceHero{ display:flex; flex-direction:column; align-items:stretch; gap:11px; }
  .bmWorkspaceHeroIdentity{ align-items:flex-start; }
  .bmWorkspaceHeroMetrics{ max-width:none; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .bmWorkspaceActions{ justify-content:flex-start; flex-wrap:wrap; min-width:0; }
  .bmWorkspaceRow{ grid-template-columns:1fr; }
  .bmWorkspaceContactList,.bmWorkspaceIncList{ display:flex; flex-direction:column; }
  .bmWorkspaceFacts{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bmWorkspaceReferenceGrid,.bmWorkspaceReferenceGrid.count-2{ grid-template-columns:1fr; }
  .bmWorkspaceReferenceCard[open]{ grid-column:1; }
}

@media (max-width:640px){
  .bmWorkspaceHeroMetrics{ grid-template-columns:1fr; }
  .bmWorkspaceFacts{ grid-template-columns:1fr; }
  .bmWorkspaceCommercialGrid{ grid-template-columns:1fr; }
  .bmWorkspaceReferenceBody .bmWorkspaceOffer{ grid-template-columns:1fr; }
  .bmWorkspaceOfferToolbar{ justify-content:flex-start!important; }
  .bmWorkspaceOfferDates{ text-align:left; }
  .bmWorkspaceReferenceBody .bmWorkspaceContractRow{ grid-template-columns:1fr auto; }
  .bmWorkspaceContractMarkets{ grid-column:1/-1; }
  .bmWorkspaceContractActions{ grid-column:1; justify-content:flex-start; }
  .bmWorkspaceContractStatus{ grid-column:2; grid-row:1; }
}
