/* Bid2Stay 28.25.32 — consolidated production/premium/mobile surface; order preserved */

/* ---- consolidated from production-ui-282200.css ---- */
/* Bid2Stay 28.22.0 — Production UI Consolidation
   Consolidates 28.21.3 density cleanup + 28.21.3.1 stability hotfix.
   Scope: content surfaces, typography, density, paint stability. Navigation and Supabase contracts are untouched. */

/* Bid2Stay 28.21.3 — Typography & Card Density Cleanup with Navigation Lock
   IMPORTANT: does not alter admin, guest, provider or public navigation/side-menu design. */

@media (max-width:900px){
  :root{
    --b2s-clean-pad:12px;
    --b2s-clean-gap:10px;
    --b2s-clean-radius:14px;
    --b2s-clean-text:#172437;
    --b2s-clean-muted:#667487;
  }

  html,body{max-width:100%;overflow-x:hidden!important}
  body{font-size:14.5px!important;line-height:1.45!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
  main,.main,.admin-main,.guest-main,.provider-main,.availability-shell{min-width:0!important;max-width:100%!important}

  /* Mobile typography only — navigation is intentionally excluded. */
  main h1,.main h1,.admin-main h1,.page-title,.hero-title{
    margin-top:0!important;font-size:clamp(23px,6.5vw,28px)!important;line-height:1.08!important;letter-spacing:-.025em!important
  }
  main h2,.main h2,.admin-main h2,.section-title{font-size:19px!important;line-height:1.16!important;letter-spacing:-.012em!important}
  main h3,.main h3,.admin-main h3{font-size:16px!important;line-height:1.22!important}
  main p,.main p,.admin-main p,main li,.main li{font-size:13.5px!important;line-height:1.5!important}
  main small,.main small,.admin-main small,.helper,.help-text,.field-help,.hint{font-size:11.5px!important;line-height:1.4!important}

  .admin-main,.availability-shell,
  body[data-portal-role="guest"] .main,
  body[data-portal-role="guest"] main,
  body[data-portal-role="provider"] .main,
  body[data-portal-role="hotel"] .main{text-align:left!important}
  .admin-top>div,.starter-section-head>div,.report-section-head>div,.dashboard-section-head>div,
  .b2s-gh-section-head>div,.b2s-gh-intro,.b2s-gh-search,.availability-card{text-align:left!important}

  /* Preserve existing menu/header dimensions. Only content padding is reduced. */
  .admin-main{padding-left:var(--b2s-clean-pad)!important;padding-right:var(--b2s-clean-pad)!important}
  body[data-portal-role="guest"] .main,
  body[data-portal-role="guest"] main,
  body[data-portal-role="provider"] .main,
  body[data-portal-role="hotel"] .main{padding-left:var(--b2s-clean-pad)!important;padding-right:var(--b2s-clean-pad)!important}

  /* Card height and density cleanup. */
  .card,.panel,.surface,.guest-card,.provider-card,.admin-card,.form-card,
  .availability-card,.report-section,.report-toolbar,.metric,
  .b2s-gh-search,.b2s-gh-action-card,.b2s2798-shell,
  [data-review-detail],[data-review-host]{min-height:0!important;height:auto!important;box-sizing:border-box!important}

  .card,.panel,.surface,.guest-card,.provider-card,.admin-card,.form-card,
  .availability-card,.report-section,.report-toolbar{padding:13px!important;border-radius:var(--b2s-clean-radius)!important}

  .card .card,.panel .panel,.surface .surface,.card .panel,.panel .card{
    margin-top:9px!important;padding:10px!important;border-radius:11px!important;box-shadow:none!important
  }
  .grid,.metrics,.form-grid,.field-grid,.fields-grid,.detail-grid{gap:10px!important}

  .metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .metrics .metric,.metric{min-height:78px!important;padding:10px 11px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:3px!important}
  .metric span{font-size:10.5px!important;line-height:1.2!important}
  .metric strong{font-size:22px!important;line-height:1!important}
  .metric small{margin-top:2px!important;font-size:10.5px!important;line-height:1.3!important}

  /* Forms and controls only; navigation buttons are excluded. */
  main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
  .main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
  .admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
  main select,.main select,.admin-main select{min-height:44px!important;height:44px!important;padding:0 11px!important;font-size:15px!important;border-radius:10px!important}
  main textarea,.main textarea,.admin-main textarea{min-height:88px!important;padding:10px 11px!important;font-size:15px!important;border-radius:10px!important}
  main button:not([data-admin-menu]):not(.b2s-mobile-more-button):not(.b2s-mobile-nav-close),
  .main button:not([data-admin-menu]):not(.b2s-mobile-more-button):not(.b2s-mobile-nav-close),
  .admin-main button:not([data-admin-menu]),
  main .btn,.main .btn,.admin-main .btn{min-height:42px!important;height:auto!important;padding:9px 12px!important;font-size:13px!important;line-height:1.2!important;border-radius:10px!important}
  main label,.main label,.admin-main label,.form-label,.field-label,legend{font-size:11.5px!important;line-height:1.25!important}

  /* Operational content density. */
  .table-wrap{border-radius:11px!important}
  .table th,.table td{padding:9px 9px!important}
  .table th{font-size:10px!important;line-height:1.25!important}
  .table td{font-size:12px!important;line-height:1.38!important}
  .row-card{padding:10px 11px!important;border-radius:11px!important;gap:9px!important}
  .row-card h3{font-size:15px!important}.row-card p{font-size:12.5px!important}
  .detail{margin-top:10px!important;padding-top:12px!important}.detail-grid{gap:8px!important}.detail-item{padding:9px!important;border-radius:10px!important}

  /* Guest/content surfaces. */
  .b2s-gh-search{padding:14px!important;border-radius:15px!important}
  .b2s-gh-actions{gap:8px!important;margin-top:12px!important}
  .b2s-gh-btn{min-height:42px!important;padding:9px 12px!important;font-size:12.5px!important}
  .b2s-gh-section{padding-top:18px!important;padding-bottom:18px!important}
  .b2s-gh-quick{gap:9px!important}
  .b2s-gh-action-card{padding:12px!important;gap:9px!important;border-radius:13px!important}
  .b2s-gh-action-card strong{font-size:13.5px!important}.b2s-gh-action-card span span{font-size:11.5px!important;line-height:1.4!important}
  .b2s-gh-icon{width:36px!important;height:36px!important;flex:0 0 36px!important}
  .b2s-gh-destinations{gap:10px!important}
  .b2s-gh-destination-card{min-height:0!important;height:auto!important;border-radius:14px!important}

  .availability-card{margin-top:10px!important}
  .availability-switch-card{padding:11px!important;gap:9px!important;border-radius:11px!important}
  .availability-note{padding:10px 11px!important;border-radius:10px!important}

  p,li,label,button,a,span,td,th,strong{overflow-wrap:anywhere}
  img,svg,video,canvas,iframe{max-width:100%}
}

@media (min-width:901px){
  :root{--b2s-d-radius:13px;--b2s-d-muted:#667487}
  body{font-size:14px;line-height:1.48}

  /* Desktop typography only — sidebars/top navigation are deliberately untouched. */
  .admin-main h1,.main h1,main h1,.page-title{font-size:30px!important;line-height:1.08!important;letter-spacing:-.025em!important}
  .admin-main h2,.main h2,main h2,.section-title{font-size:21px!important;line-height:1.16!important;letter-spacing:-.012em!important}
  .admin-main h3,.main h3,main h3{font-size:16.5px!important;line-height:1.22!important}
  .admin-main p,.main p,main p,.admin-main li,.main li,main li{font-size:13px!important;line-height:1.5!important}
  .admin-main small,.main small,main small,.helper,.help-text,.field-help,.hint{font-size:11px!important;line-height:1.4!important}

  /* Content-area spacing only; navigation columns remain from the original design. */
  .admin-main{padding-top:22px!important;padding-bottom:38px!important}
  body[data-portal-role="guest"] .main,
  body[data-portal-role="provider"] .main,
  body[data-portal-role="hotel"] .main{padding-top:22px!important;padding-bottom:40px!important}

  .card,.panel,.surface,.guest-card,.provider-card,.admin-card,.form-card,
  .availability-card,.report-section,.report-toolbar,.b2s-gh-search,.b2s-gh-action-card,
  .b2s2798-shell,[data-review-detail],[data-review-host]{min-height:0!important;height:auto!important;box-sizing:border-box!important}
  .card,.panel,.surface,.guest-card,.provider-card,.admin-card,.form-card,.availability-card,.report-section,.report-toolbar{padding:16px!important;border-radius:var(--b2s-d-radius)!important}
  .card .card,.panel .panel,.surface .surface,.card .panel,.panel .card{margin-top:10px!important;padding:12px!important;border-radius:11px!important;box-shadow:none!important}
  .grid,.form-grid,.field-grid,.fields-grid,.detail-grid{gap:12px!important}
  .card{margin-bottom:14px!important}.card h2{margin-bottom:4px!important}.card>p:first-of-type{margin-bottom:12px!important}

  body.admin-page:not([data-admin-page="autobid"]) .metrics{gap:10px!important;margin-bottom:14px!important}
  body.admin-page:not([data-admin-page="autobid"]) .metrics .metric{min-height:82px!important;height:auto!important;padding:13px 14px!important;border-radius:13px!important;box-shadow:0 4px 14px rgba(20,36,56,.035)!important}
  body.admin-page:not([data-admin-page="autobid"]) .metric span{font-size:10px!important}
  body.admin-page:not([data-admin-page="autobid"]) .metric strong{font-size:24px!important;line-height:1!important;margin-top:5px!important}
  body.admin-page:not([data-admin-page="autobid"]) .metric small{margin-top:4px!important;font-size:10.5px!important;line-height:1.3!important}
  .report-summary{gap:10px!important;margin:12px 0!important}.report-summary article{min-height:86px!important;padding:12px 13px!important;border-radius:12px!important;box-shadow:none!important}.report-summary strong{font-size:24px!important;margin:4px 0!important}

  .table-wrap{border-radius:12px!important}.table th,.table td{padding:10px 11px!important}.table th{font-size:10px!important;line-height:1.25!important}.table td{font-size:12.5px!important;line-height:1.4!important}.table td small{font-size:10.5px!important;line-height:1.35!important}
  .row-card{padding:11px 12px!important;border-radius:11px!important;gap:10px!important}.row-card h3{font-size:14.5px!important}.row-card p{font-size:12.5px!important}
  .detail{margin-top:12px!important;padding-top:14px!important}.detail-grid{gap:9px!important}.detail-item{padding:9px 10px!important;border-radius:10px!important}

  /* Forms/buttons inside content only. */
  main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
  .main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
  .admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
  main select,.main select,.admin-main select{min-height:42px!important;height:42px!important;padding:0 11px!important;font-size:14px!important;border-radius:9px!important}
  main textarea,.main textarea,.admin-main textarea{min-height:92px!important;padding:10px 11px!important;font-size:14px!important;border-radius:9px!important}
  main button:not([data-admin-menu]),.main button:not([data-admin-menu]),.admin-main button:not([data-admin-menu]),main .btn,.main .btn,.admin-main .btn{min-height:40px!important;height:auto!important;padding:8px 12px!important;font-size:12.5px!important;line-height:1.2!important;border-radius:9px!important}
  main label,.main label,.admin-main label,.form-label,.field-label,legend{font-size:11.5px!important;line-height:1.3!important}
  .actions,.report-actions,.availability-actions,.b2s2842-share-actions{gap:8px!important}

  .b2s-gh-shell{max-width:1440px!important;margin-inline:auto!important;padding-inline:24px!important}.b2s-gh-hero{gap:18px!important}.b2s-gh-search{padding:18px!important;border-radius:16px!important}.b2s-gh-actions{gap:9px!important;margin-top:14px!important}.b2s-gh-btn{min-height:42px!important;padding:9px 13px!important;font-size:12.5px!important}.b2s-gh-section{padding-top:22px!important;padding-bottom:22px!important}.b2s-gh-quick{gap:10px!important}.b2s-gh-action-card{padding:14px!important;gap:11px!important;border-radius:14px!important}.b2s-gh-action-card strong{font-size:14px!important}.b2s-gh-action-card span span{font-size:11.5px!important;line-height:1.4!important}.b2s-gh-icon{width:38px!important;height:38px!important;flex:0 0 38px!important}.b2s-gh-destinations{gap:12px!important}.b2s-gh-destination-card{min-height:210px!important;height:210px!important;border-radius:15px!important}

  .availability-shell{max-width:1380px!important;margin-inline:auto!important}.availability-card{margin-top:12px!important}.availability-switch-card{padding:13px!important;gap:10px!important;border-radius:12px!important}.availability-note{padding:11px 12px!important;border-radius:10px!important}

  .b2s30-destination-image{max-height:250px!important;object-fit:cover!important}.b2s-home-featured-destinations .b2s30-destination-image{height:228px!important;min-height:228px!important;max-height:228px!important}.b2s-home-featured-destinations .b2s30-card-content{padding:16px!important;gap:7px!important}.b2s-home-featured-destinations h3{font-size:20px!important}
  p,li,label,button,a,span,td,th,strong{overflow-wrap:anywhere}img,svg,video,canvas,iframe{max-width:100%}
}


/* --- 28.21.3.1 stability rules (consolidated) --- */
/* Bid2Stay 28.21.3.1 — Surgical UI Stability Hotfix
   Derived from the approved 28.21.3 baseline.
   Scope: initial-paint transition suppression + Accommodation Inventory action-cell repair only.
   Navigation design, dimensions, colours and workflow are intentionally untouched. */

/* Keep button labels intact. The approved baseline globally permits aggressive word wrapping;
   this override is limited to interactive controls so labels such as “Open & Edit” do not split. */
main button,
main .btn,
.admin-main button,
.admin-main .btn{
  overflow-wrap:normal!important;
  word-break:normal!important;
}

/* Accommodation Inventory — action column only. */
body[data-admin-page="inventory"] .b2s2877-table th:last-child,
body[data-admin-page="inventory"] .b2s2877-table td:last-child{
  width:136px!important;
  min-width:136px!important;
  text-align:center!important;
}
body[data-admin-page="inventory"] .b2s2877-open{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:116px!important;
  max-width:none!important;
  padding-inline:14px!important;
  white-space:nowrap!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-overflow:clip!important;
}

@media(max-width:760px){
  body[data-admin-page="inventory"] .b2s2877-table td:last-child{
    width:100%!important;
    min-width:0!important;
    text-align:left!important;
    padding-top:8px!important;
  }
  body[data-admin-page="inventory"] .b2s2877-open{
    width:100%!important;
    min-width:0!important;
    max-width:220px!important;
  }
}

/* --- 28.22.0 production refinement: premium restrained surfaces --- */
:root{
  --b2s-ui-bg:#f5f6f7;
  --b2s-ui-surface:#ffffff;
  --b2s-ui-surface-soft:#fafafa;
  --b2s-ui-border:#e3e7eb;
  --b2s-ui-border-strong:#d7dde3;
  --b2s-ui-text:#172437;
  --b2s-ui-muted:#687586;
  --b2s-ui-shadow:0 1px 2px rgba(16,24,40,.025),0 8px 24px rgba(16,24,40,.045);
  --b2s-ui-shadow-hover:0 2px 5px rgba(16,24,40,.035),0 12px 30px rgba(16,24,40,.055);
  --b2s-ui-radius:14px;
}

/* Keep the design system native and stable: no web-font swap is required for core UI. */
body,input,select,textarea,button{
  font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
}
body{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* Content surfaces only. Headers, sidebars and navigation are intentionally excluded. */
.admin-main,
body[data-portal-role="guest"] .main,
body[data-portal-role="guest"] main,
body[data-portal-role="provider"] .main,
body[data-portal-role="hotel"] .main{
  color:var(--b2s-ui-text);
}

.card,.panel,.surface,.content-card,.guest-card,.provider-card,.admin-card,.form-card,
.availability-card,.report-section,.report-toolbar,.metric,.row-card,.detail-item,
.b2s-provider-access-card,.b2s-gh-search,.b2s-gh-action-card{
  border-color:var(--b2s-ui-border)!important;
}
.card,.panel,.surface,.content-card,.guest-card,.provider-card,.admin-card,.form-card,
.availability-card,.report-section,.report-toolbar,.b2s-provider-access-card{
  box-shadow:var(--b2s-ui-shadow)!important;
}

/* Reduce visual noise from oversized legacy empty states and stacked blank areas. */
.empty,.empty-state,.b2s-empty-state,
main .empty,.main .empty,.admin-main .empty{
  min-height:120px!important;
  padding:20px!important;
}
.page-head,.admin-top,.dashboard-section-head,.report-section-head,.starter-section-head{
  margin-bottom:14px!important;
}
.card+.card,.panel+.panel,.surface+.surface,
.report-section+.report-section{
  margin-top:12px!important;
}

/* Consistent heading rhythm without touching navigation labels. */
main :where(h1,h2,h3),.main :where(h1,h2,h3),.admin-main :where(h1,h2,h3){
  text-wrap:balance;
}
main :where(p,li),.main :where(p,li),.admin-main :where(p,li){
  color:inherit;
}
main :where(.muted,.subtle,.helper,.help-text,.hint),
.main :where(.muted,.subtle,.helper,.help-text,.hint),
.admin-main :where(.muted,.subtle,.helper,.help-text,.hint){
  color:var(--b2s-ui-muted)!important;
}

/* Form surfaces: quiet, precise, Microsoft/Apple-like geometry. */
main :where(input,select,textarea),
.main :where(input,select,textarea),
.admin-main :where(input,select,textarea){
  box-shadow:none;
}
main :where(input,select,textarea):focus,
.main :where(input,select,textarea):focus,
.admin-main :where(input,select,textarea):focus{
  box-shadow:0 0 0 3px rgba(216,165,29,.14)!important;
}

/* Tables and operational cards should be dense, not cramped. */
.table-wrap,.admin-table-wrap,.responsive-table,.b2s2883-table-scroll{
  background:var(--b2s-ui-surface);
  border-radius:12px;
}
.table tbody tr:last-child td{border-bottom:0}

/* Public content spacing — preserve hero/header composition while removing excessive dead space. */
.public-section{padding-top:54px!important;padding-bottom:54px!important}
.b2s-gh-section{padding-top:22px!important;padding-bottom:22px!important}

/* Avoid hover motion/layout jitter on touch devices. Touch geometry is CSS-driven, not JS-measured. */
@media (hover:none),(pointer:coarse){
  main :where(button,.btn,a.btn,[role="button"]),
  .main :where(button,.btn,a.btn,[role="button"]),
  .admin-main :where(button,.btn,a.btn,[role="button"]){
    min-height:44px;
  }
  main :where(.card,.panel,.surface),
  .main :where(.card,.panel,.surface),
  .admin-main :where(.card,.panel,.surface){
    transform:none!important;
  }
}

@media(max-width:900px){
  .public-section{padding-top:38px!important;padding-bottom:38px!important}
  .empty,.empty-state,.b2s-empty-state{min-height:96px!important;padding:16px!important}
  .page-head,.admin-top,.dashboard-section-head,.report-section-head,.starter-section-head{margin-bottom:11px!important}
  .card+.card,.panel+.panel,.surface+.surface,.report-section+.report-section{margin-top:10px!important}
}

@media(prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
}

/* --- 28.22.0 typography/network stability lock --- */
:root{
  --b2s-font-family:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
  --b2s-font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
  --b2s-global-font:"Segoe UI",system-ui,-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif!important;
}
body,input,select,textarea,button{font-family:var(--b2s-font)!important}

/* The density layer permits emergency wrapping in content. Restore normal word integrity in navigation. */
header :where(a,button,span),
nav :where(a,button,span),
.sidebar :where(a,button,span),
.admin-nav :where(a,button,span),
.b2s-home-nav :where(a,button,span),
.b2s-global-nav :where(a,button,span),
.b2s-mobile-overflow-links :where(a,button,span){
  overflow-wrap:normal!important;
  word-break:normal!important;
}


/* --- 28.22.1 Admin flicker stability lock --- */
/* Sidebar markup is server-rendered; keep geometry fixed while preserving colour hover feedback. */
body.admin-page .admin-nav .b2s-admin-link{
  transition:background-color .14s ease,color .14s ease!important;
}
body.admin-page .admin-nav .b2s-nav-icon{
  width:20px!important;height:20px!important;flex:0 0 20px!important;
}
body.admin-page .metrics .metric strong{
  display:inline-block;min-width:3ch;font-variant-numeric:tabular-nums;
}
body[data-admin-page="inventory"] .b2s2877-loading,
body[data-admin-page="providers"] .b2s2870-loading{
  animation:none!important;opacity:1!important;
}

/* Bid2Stay 28.22.2 — single-boot layout stability
   Keep modern Admin operational shells present from first paint. Data may hydrate,
   but JavaScript must not create/reposition whole workspaces after initial render. */
body.admin-page .b2s-admin-notification-wrap{flex:0 0 auto}
body[data-admin-page="inventory"] [data-b2s28200-admin-intel]{min-height:250px}
body[data-admin-page="inventory"] [data-b2s2877-rows] .empty{height:72px;vertical-align:middle}
body[data-admin-page="providers"] [data-b2s2870-rows] .empty{height:72px;vertical-align:middle}
body[data-admin-page="autobid"] [data-b2s28192-shell]{min-height:520px}
body[data-admin-page="autobid"] [data-b2s28192-list]{min-height:180px}
@media(max-width:760px){body[data-admin-page="inventory"] [data-b2s28200-admin-intel]{min-height:220px}body[data-admin-page="autobid"] [data-b2s28192-shell]{min-height:460px}}

/* 28.22.6 Provider/Accommodation deterministic hydration */
[data-b2s2870-rows].b2s-data-hydrating,[data-b2s2877-rows].b2s-data-hydrating{opacity:1!important;transition:none!important}
.b2s2870-table-wrap,.b2s2877-table-wrap{min-height:168px}
[data-b2s28200-admin-intel][aria-busy="true"]{opacity:1!important;transition:none!important}

/* ---- consolidated from premium-ui-282270.css ---- */
/* Bid2Stay 28.22.7.3 — Premium UI discipline layer
   Visual-only. No workflow, routing, Supabase, data, or runtime ownership changes.
   Design goals: clarity, hierarchy, rounded controls, stable single-line compact UI,
   brand-only colour system, restrained motion, and zero text spill/overlap. */

:root{
  --b2s-a-gold:#d8a51d;
  --b2s-a-gold-strong:#c8940d;
  --b2s-a-navy:#0c2234;
  --b2s-a-navy-deep:#071b2a;
  --b2s-a-ink:#172536;
  --b2s-a-muted:#667585;
  --b2s-a-line:#dce3e9;
  --b2s-a-line-strong:#cfd7df;
  --b2s-a-bg:#f5f7f9;
  --b2s-a-surface:#ffffff;
  --b2s-a-soft:#f8fafb;
  --b2s-a-focus:rgba(216,165,29,.22);
  --b2s-a-radius-card:22px;
  --b2s-a-radius-inner:16px;
  --b2s-a-radius-control:14px;
  --b2s-a-radius-pill:999px;
  --b2s-a-shadow:0 1px 2px rgba(7,27,42,.03),0 12px 36px rgba(7,27,42,.06);
  --b2s-a-shadow-hover:0 2px 4px rgba(7,27,42,.04),0 16px 42px rgba(7,27,42,.08);
  --b2s-a-control-h:44px;
  --b2s-a-control-h-compact:38px;
  --b2s-a-page-pad:clamp(16px,2.2vw,34px);
}

html{
  color:var(--b2s-a-ink);
  background:var(--b2s-a-bg);
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body,
button,input,select,textarea{
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Helvetica,Arial,sans-serif!important;
  font-synthesis:none;
}
body{
  background:var(--b2s-a-bg)!important;
  color:var(--b2s-a-ink)!important;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* Make flex/grid children shrink rather than force horizontal overflow. */
main, .main, .admin-main, .admin-shell, .admin-top, .actions, .report-actions,
.card, .panel, .surface, .content-card, .table-wrap, .field, .metric,
[class*="grid"], [class*="row"], [class*="toolbar"], [class*="actions"]{
  min-width:0!important;
}
img,svg,video,canvas,iframe{max-width:100%;height:auto}

/* Brand-colour discipline: neutral text + gold interaction. Semantic status classes keep their own colours. */
main,.main,.admin-main,
main p,.main p,.admin-main p,
main li,.main li,.admin-main li,
main label,.main label,.admin-main label,
main td,.main td,.admin-main td,
main th,.main th,.admin-main th{
  color:var(--b2s-a-ink);
}
.muted,.helper,.hint,.help-text,.field-help,
main small,.main small,.admin-main small,
main .muted,.main .muted,.admin-main .muted{
  color:var(--b2s-a-muted)!important;
}
main a:not(.btn):not(.b2s-admin-link),
.main a:not(.btn),
.admin-main a:not(.btn):not(.b2s-admin-link){
  color:var(--b2s-a-navy);
  text-decoration-color:rgba(216,165,29,.55);
  text-underline-offset:3px;
}
main a:not(.btn):hover,
.main a:not(.btn):hover,
.admin-main a:not(.btn):hover{color:var(--b2s-a-gold-strong)}

/* Typography hierarchy — content-first, crisp, restrained. */
main h1,.main h1,.admin-main h1,.page-title,.hero-title{
  color:var(--b2s-a-navy)!important;
  font-size:clamp(28px,3vw,44px)!important;
  line-height:1.04!important;
  font-weight:760!important;
  letter-spacing:-.035em!important;
  margin-top:0!important;
  margin-bottom:8px!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance;
}
main h2,.main h2,.admin-main h2,.section-title{
  color:var(--b2s-a-navy)!important;
  font-size:clamp(19px,1.7vw,26px)!important;
  line-height:1.1!important;
  font-weight:720!important;
  letter-spacing:-.022em!important;
  max-width:100%!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance;
}
main h3,.main h3,.admin-main h3{
  color:var(--b2s-a-ink)!important;
  font-size:clamp(15px,1.25vw,18px)!important;
  line-height:1.16!important;
  font-weight:700!important;
  letter-spacing:-.012em!important;
  max-width:100%!important;
}
main p,.main p,.admin-main p{line-height:1.55!important}
.starter-kicker,[class*="kicker"],.eyebrow,.overline{
  color:var(--b2s-a-gold-strong)!important;
  font-weight:780!important;
  letter-spacing:.06em!important;
}

/* Stable premium surfaces. */
.card,.panel,.surface,.content-card,.guest-card,.provider-card,.admin-card,.form-card,
.availability-card,.report-section,.report-toolbar,.b2s-provider-access-card,
.b2s-gh-search,.b2s-gh-action-card,[class*="workspace"],[class*="shell-card"]{
  background:var(--b2s-a-surface)!important;
  border:1px solid var(--b2s-a-line)!important;
  border-radius:var(--b2s-a-radius-card)!important;
  box-shadow:var(--b2s-a-shadow)!important;
  overflow:hidden;
}
.card .card,.panel .panel,.surface .surface,.card .panel,.panel .card,
.detail-item,.row-card,[class*="subcard"],[class*="inner-card"]{
  border-radius:var(--b2s-a-radius-inner)!important;
  border-color:var(--b2s-a-line)!important;
}
.card,.panel,.surface,.content-card,.guest-card,.provider-card,.admin-card,.form-card,
.availability-card,.report-section,.report-toolbar{
  padding:clamp(16px,1.8vw,24px)!important;
}

/* Apple-like content breathing room without dead white space. */
.admin-main,
body[data-portal-role="guest"] .main,
body[data-portal-role="guest"] main,
body[data-portal-role="provider"] .main,
body[data-portal-role="hotel"] .main,
.availability-shell{
  padding-left:var(--b2s-a-page-pad)!important;
  padding-right:var(--b2s-a-page-pad)!important;
}
.admin-main{padding-top:28px!important;padding-bottom:44px!important}
.admin-top{gap:16px!important;margin-bottom:20px!important;align-items:center!important}
.grid,.metrics,.form-grid,.field-grid,.fields-grid,.detail-grid,[class*="grid"]{gap:14px!important}
.actions,.report-actions,[class*="actions"]{gap:10px!important}

/* Admin top bar + side navigation: restrained, rounded, icon-led. */
.b2s-admin-topbar{
  background:rgba(255,255,255,.97)!important;
  border-bottom:1px solid var(--b2s-a-line)!important;
  box-shadow:none!important;
}
.b2s-admin-topbar-inner{gap:14px!important}
.b2s-admin-topbar-actions{gap:10px!important;min-width:0!important}
.b2s-admin-topbar-actions>span{
  color:var(--b2s-a-muted)!important;
  font-size:12px!important;
  font-weight:650!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:180px;
}
.admin-nav{
  background:var(--b2s-a-surface)!important;
  border-right:1px solid var(--b2s-a-line)!important;
  padding:14px 10px!important;
}
.b2s-nav-section{
  color:var(--b2s-a-muted)!important;
  font-size:10px!important;
  letter-spacing:.08em!important;
  font-weight:760!important;
  margin:16px 10px 6px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.b2s-admin-link{
  min-height:42px!important;
  padding:0 12px!important;
  border-radius:13px!important;
  color:var(--b2s-a-ink)!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  font-weight:650!important;
  border:1px solid transparent!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease!important;
}
.b2s-admin-link:hover{
  background:var(--b2s-a-soft)!important;
  border-color:var(--b2s-a-line)!important;
}
.b2s-admin-link.active,.b2s-admin-link[aria-current="page"]{
  background:rgba(216,165,29,.12)!important;
  border-color:rgba(216,165,29,.28)!important;
  color:var(--b2s-a-navy)!important;
}
.b2s-nav-icon{
  width:20px!important;height:20px!important;flex:0 0 20px!important;
  color:var(--b2s-a-navy)!important;
}
.b2s-admin-link.active .b2s-nav-icon{color:var(--b2s-a-gold-strong)!important}
.b2s-nav-icon svg{width:100%!important;height:100%!important;stroke:currentColor!important;fill:none!important;stroke-width:1.8!important}
.b2s-nav-label{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}

/* Buttons: 44px touch target, capsule shape, one line, no spill. */
button,.btn,[role="button"]{
  max-width:100%;
}
main button,.main button,.admin-main button,
main .btn,.main .btn,.admin-main .btn,
.b2s-admin-menu-toggle,.admin-menu-btn{
  min-height:var(--b2s-a-control-h)!important;
  height:var(--b2s-a-control-h)!important;
  padding:0 17px!important;
  border-radius:var(--b2s-a-radius-pill)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:700!important;
  letter-spacing:-.005em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:middle!important;
  box-shadow:none!important;
  transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease!important;
}
.btn.primary,button.primary,.primary.btn{
  background:var(--b2s-a-gold)!important;
  color:var(--b2s-a-navy-deep)!important;
  border:1px solid var(--b2s-a-gold)!important;
}
.btn.primary:hover,button.primary:hover,.primary.btn:hover{
  background:var(--b2s-a-gold-strong)!important;
  border-color:var(--b2s-a-gold-strong)!important;
}
.btn.light,button.light,.light.btn,
.b2s-admin-menu-toggle,.admin-menu-btn{
  background:var(--b2s-a-surface)!important;
  color:var(--b2s-a-navy)!important;
  border:1px solid var(--b2s-a-line-strong)!important;
}
.btn.dark,button.dark,.dark.btn{
  background:var(--b2s-a-navy)!important;
  color:#fff!important;
  border:1px solid var(--b2s-a-navy)!important;
}
.btn:hover,button:hover{box-shadow:0 4px 14px rgba(7,27,42,.08)!important}
.btn:active,button:active{transform:scale(.985)!important}
button:focus-visible,.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--b2s-a-focus)!important;
  outline-offset:2px!important;
}
button:disabled,.btn:disabled{opacity:.5!important;box-shadow:none!important;transform:none!important}

/* Crisp icons on common controls, using current brand colour only. */
[data-admin-menu]::before{
  content:"";width:16px;height:16px;flex:0 0 16px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 7h16M4 12h16M4 17h16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
[data-open-onboarding]::before{
  content:"";width:16px;height:16px;flex:0 0 16px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
[data-copy-invite]::before{
  content:"";width:15px;height:15px;flex:0 0 15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='11' height='11' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='11' height='11' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
}
[data-b2s2873-resolve]::before{
  content:"";width:15px;height:15px;flex:0 0 15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.3 6-11a6 6 0 1 0-12 0c0 5.7 6 11 6 11Z' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s6-5.3 6-11a6 6 0 1 0-12 0c0 5.7 6 11 6 11Z' fill='none' stroke='black' stroke-width='2'/%3E%3Ccircle cx='12' cy='10' r='2' fill='black'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Form controls: strong, calm, no decorative colour. */
main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
.main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
.admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
main select,.main select,.admin-main select,
main textarea,.main textarea,.admin-main textarea{
  background:var(--b2s-a-surface)!important;
  color:var(--b2s-a-ink)!important;
  border:1px solid var(--b2s-a-line-strong)!important;
  border-radius:var(--b2s-a-radius-control)!important;
  box-shadow:0 1px 2px rgba(7,27,42,.02)!important;
}
main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
.main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
.admin-main input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="hidden"]):not([type="file"]),
main select,.main select,.admin-main select{
  min-height:var(--b2s-a-control-h)!important;
  height:var(--b2s-a-control-h)!important;
  padding-left:14px!important;padding-right:14px!important;
}
main textarea,.main textarea,.admin-main textarea{padding:12px 14px!important;min-height:104px!important}
main input:focus,.main input:focus,.admin-main input:focus,
main select:focus,.main select:focus,.admin-main select:focus,
main textarea:focus,.main textarea:focus,.admin-main textarea:focus{
  border-color:var(--b2s-a-gold)!important;
  box-shadow:0 0 0 4px var(--b2s-a-focus)!important;
}
main label,.main label,.admin-main label,.form-label,.field-label,legend{
  color:var(--b2s-a-ink)!important;
  font-weight:680!important;
  max-width:100%!important;
}

/* Compact controls must always remain a single line. */
button,.btn,.pill,.tag,.chip,.badge,[role="tab"],.tab,.tabs a,
.b2s-admin-link,.b2s-nav-label,.b2s-nav-section,
.table th,.metric span,.report-actions a,.actions a,
main label:not(.wide),.main label:not(.wide),.admin-main label:not(.wide){
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}

/* Tables: readable and scan-friendly. Long values truncate instead of expanding the layout. */
.table-wrap{
  border:1px solid var(--b2s-a-line)!important;
  border-radius:var(--b2s-a-radius-inner)!important;
  background:var(--b2s-a-surface)!important;
  overflow:auto!important;
  box-shadow:none!important;
}
.table{width:100%!important;border-collapse:separate!important;border-spacing:0!important}
.table th{
  background:var(--b2s-a-soft)!important;
  color:var(--b2s-a-muted)!important;
  font-size:11px!important;
  font-weight:750!important;
  letter-spacing:.025em!important;
  text-transform:none!important;
  border-bottom:1px solid var(--b2s-a-line)!important;
}
.table td{
  color:var(--b2s-a-ink)!important;
  border-bottom:1px solid var(--b2s-a-line)!important;
  max-width:320px;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.table tbody tr:last-child td{border-bottom:0!important}
.table tbody tr:hover td{background:var(--b2s-a-soft)!important}
.table th,.table td{padding:12px 14px!important}

/* Metrics and pills. */
.metrics .metric,.metric{
  background:var(--b2s-a-surface)!important;
  border:1px solid var(--b2s-a-line)!important;
  border-radius:18px!important;
  box-shadow:none!important;
  min-height:88px!important;
}
.metric strong{color:var(--b2s-a-navy)!important;font-weight:760!important;letter-spacing:-.025em!important}
.metric span{color:var(--b2s-a-muted)!important;font-weight:680!important}
.pill,.tag,.chip,.badge{
  border-radius:var(--b2s-a-radius-pill)!important;
  background:var(--b2s-a-soft)!important;
  color:var(--b2s-a-navy)!important;
  border:1px solid var(--b2s-a-line)!important;
}

/* Non-semantic generic status stays neutral. Success/warn/error retain semantic colours from core CSS. */
.status:not(.success):not(.error):not(.warn){
  background:var(--b2s-a-soft)!important;
  color:var(--b2s-a-navy)!important;
  border:1px solid var(--b2s-a-line)!important;
  border-radius:14px!important;
}

/* Prevent text collisions without creating tall cards. Descriptive copy may wrap; compact metadata stays one line. */
p,li,.description,.subtitle,[class*="description"],[class*="subtitle"]{
  overflow-wrap:anywhere;
  word-break:normal;
}
.card h3,.panel h3,.row-card h3,.metric strong,
[class*="card-title"],[class*="item-title"],[class*="property-name"],[class*="provider-name"]{
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.actions>* ,.report-actions>*{min-width:0!important}

/* Public/guest headers: clean brand bar with concise navigation. */
.b2s-global-header,.topbar{
  box-shadow:none!important;
}
.b2s-global-header nav a,.topbar nav a,.topbar .nav a,
.b2s-global-nav a,.guest-nav a,.provider-nav a{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  border-radius:var(--b2s-a-radius-pill)!important;
}

/* Mobile: keep Apple-like 44px targets, reduce density, never allow compact text to wrap. */
@media(max-width:900px){
  :root{
    --b2s-a-radius-card:18px;
    --b2s-a-radius-inner:14px;
    --b2s-a-radius-control:12px;
    --b2s-a-page-pad:14px;
  }
  body{font-size:15px!important;overflow-x:hidden!important}
  main h1,.main h1,.admin-main h1,.page-title,.hero-title{
    font-size:clamp(24px,7vw,31px)!important;
  }
  main h2,.main h2,.admin-main h2,.section-title{
    font-size:clamp(18px,5.2vw,22px)!important;
  }
  .admin-main{padding-top:18px!important;padding-bottom:34px!important}
  .admin-top{margin-bottom:14px!important;gap:10px!important}
  .card,.panel,.surface,.content-card,.guest-card,.provider-card,.admin-card,.form-card,
  .availability-card,.report-section,.report-toolbar{padding:15px!important}
  .actions,.report-actions,[class*="actions"]{gap:8px!important}
  main button,.main button,.admin-main button,main .btn,.main .btn,.admin-main .btn,
  .b2s-admin-menu-toggle,.admin-menu-btn{
    min-height:44px!important;height:44px!important;padding:0 14px!important;font-size:12.5px!important;
  }
  .b2s-admin-topbar-actions>span{display:none!important}
  .admin-nav{padding:12px 9px!important}
  .b2s-admin-link{min-height:44px!important;border-radius:13px!important}
  .table-wrap{border-radius:14px!important}
  .table th,.table td{padding:11px 12px!important}
  .metrics{gap:9px!important}
  .metrics .metric,.metric{min-height:82px!important;border-radius:16px!important;padding:12px!important}
  /* Card-style mobile tables still keep values to one line and ellipsis. */
  .b2s-mobile-cards td,.b2s-mobile-cards th{
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
}

@media(max-width:520px){
  :root{--b2s-a-page-pad:12px}
  .report-actions,.actions{flex-wrap:wrap!important}
  .report-actions>.btn,.report-actions>button,
  .actions>.btn,.actions>button{max-width:100%!important}
  main h1,.main h1,.admin-main h1{font-size:24px!important}
}


/* 28.22.7.3 — Apple-style compact hierarchy and symbol-led actions.
   Major editorial headings may wrap; compact UI and card titles never do. */
.admin-top h1,
.b2s2870-workspace-head h2,.b2s2870-centre-head h2,
.b2s2877-card-head h2,.b2s28200-admin-intel>header h2,
.report-toolbar h2,.report-section>h2,.card>h2,.panel>h2{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
  min-width:0!important;
}

/* Use recognizable monochrome symbols; they inherit Bid2Stay brand colour. */
[data-b2s2870-refresh]::before,[data-b2s2877-refresh]::before,[data-intel-refresh]::before,[data-refresh]::before{
  content:"";width:15px;height:15px;flex:0 0 15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6v5h-5M4 18v-5h5M6.1 9a7 7 0 0 1 11.6-2.6L20 11M4 13l2.3 4.6A7 7 0 0 0 17.9 15' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6v5h-5M4 18v-5h5M6.1 9a7 7 0 0 1 11.6-2.6L20 11M4 13l2.3 4.6A7 7 0 0 0 17.9 15' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
a.btn[href="admin-provider-report.html"]::before{
  content:"";width:15px;height:15px;flex:0 0 15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19V9M12 19V5M19 19v-7M3 21h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 19V9M12 19V5M19 19v-7M3 21h18' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
[data-b2s2873-open]::before{
  content:"";width:15px;height:15px;flex:0 0 15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h3l2 5-2 1.5a15 15 0 0 0 4.5 4.5L16 12l5 2v3c0 2.2-1.8 4-4 4C9.3 21 3 14.7 3 7c0-2.2 1.8-4 4-4Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3h3l2 5-2 1.5a15 15 0 0 0 4.5 4.5L16 12l5 2v3c0 2.2-1.8 4-4 4C9.3 21 3 14.7 3 7c0-2.2 1.8-4 4-4Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
a.btn[href="admin-accommodation-submissions.html"]::before{
  content:"";width:15px;height:15px;flex:0 0 15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M14 7l5 5-5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M14 7l5 5-5 5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
[data-share-whatsapp]::before,[data-copy-listing]::before{
  content:"";width:15px;height:15px;flex:0 0 15px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='11' height='11' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='8' y='8' width='11' height='11' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* A compact control never grows taller because of its label. */
.b2s28190-filter,[data-b2s2874-metric-filter],.b23-linkbtn,.b23-submit,.b2s-mobile-more-button{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
}

/* Preserve deliberate semantic state colours only. */
.success,.status.success,[data-status="success"]{--b2s-semantic-state:1}
.warn,.warning,.status.warn,[data-status="warning"]{--b2s-semantic-state:1}
.error,.danger,.status.error,[data-status="error"]{--b2s-semantic-state:1}

/* Motion: precise and calm. Never animate layout dimensions. */
@media(prefers-reduced-motion:no-preference){
  .card,.panel,.surface,.content-card,.b2s-admin-link,.btn,button{
    transition:background-color .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease,transform .14s ease!important;
  }
  .card:hover,.panel:hover,.content-card:hover{box-shadow:var(--b2s-a-shadow-hover)!important}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* 28.22.7.1 — responsive containment QA fixes */
html,body{max-width:100%!important;overflow-x:hidden!important}
.admin-main>*,.main>*,main>*,.b2s-home-shell>*,.b2s-section-heading-row>*,.b2s-provider-inner>*{
  min-width:0!important;
  max-width:100%!important;
}

/* Dark brand surfaces must keep high-contrast brand-white typography. */
.b2s-home-hero h1,
.b2s-home-provider h2,
.b2s-journey-intro h2,
.b2s-home-footer h2,
.b2s-home-footer h3{
  color:#fff!important;
}
.b2s-home-hero h1 span,.b2s-home-hero .b2s-home-kicker,
.b2s-home-provider .b2s-home-kicker,.b2s-journey-intro .b2s-home-kicker{
  color:var(--b2s-a-gold)!important;
}
.b2s-home-hero p,.b2s-home-provider p,.b2s-journey-intro p,.b2s-home-footer p{
  color:#ffffff!important;
  opacity:.82;
}
.b2s-btn-primary{background:var(--b2s-a-gold)!important;color:var(--b2s-a-navy-deep)!important;border-color:var(--b2s-a-gold)!important}
.b2s-btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.48)!important;background:rgba(12,34,52,.38)!important}
.b2s-btn-dark{background:var(--b2s-a-navy)!important;color:#fff!important}

/* Provider + Accommodation page heads: one stable grid, no absolute/overlap behavior. */
.b2s2870-workspace-head,
.b2s2877-card-head,
.b2s28200-admin-intel>header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:12px!important;
  position:relative!important;
}
.b2s2870-workspace-head>div,
.b2s2877-card-head>div,
.b2s28200-admin-intel>header>div{
  min-width:0!important;
  max-width:100%!important;
}
[data-b2s2870-refresh],[data-b2s2877-refresh],[data-intel-refresh]{
  position:static!important;
  inset:auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  justify-self:end!important;
}

/* Public home content should never acquire historical fixed/min widths on small screens. */
.b2s-home-shell,.b2s-section-heading,.b2s-section-heading-row,.b2s-provider-inner,
.b2s-section-heading-row>div,.b2s-provider-inner>div,
.b2s-home-discover h2,.b2s-home-provider h2,.b2s-home-provider p{
  min-width:0!important;
  max-width:100%!important;
}

@media(max-width:640px){
  .b2s-home-shell{width:calc(100% - 24px)!important;padding-left:0!important;padding-right:0!important}
  .b2s-section-heading-row,.b2s-provider-inner{width:100%!important}
  .b2s-section-heading-row>div,.b2s-provider-inner>div{width:100%!important}
  .b2s-home-hero h1,.b2s-home-discover h2,.b2s-home-provider h2,.b2s-journey-intro h2{
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    text-wrap:balance;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .b2s2870-workspace-head,.b2s2877-card-head,.b2s28200-admin-intel>header{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }
  [data-b2s2870-refresh],[data-b2s2877-refresh],[data-intel-refresh]{
    justify-self:start!important;
    width:auto!important;
    max-width:100%!important;
  }
  /* Prevent old provider CSS from stretching the refresh control beyond its card. */
  [data-b2s2870-refresh]{width:100%!important;justify-self:stretch!important}
}

/* 28.22.7.2 — Provider centre mobile width lock */
.b2s2870-centre-head{
  min-width:0!important;
  max-width:100%!important;
  grid-template-columns:minmax(0,1fr) auto!important;
}
.b2s2870-head-actions{
  min-width:0!important;
  max-width:100%!important;
  width:auto!important;
}
@media(max-width:640px){
  .b2s2870-centre-head{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }
  .b2s2870-head-actions{
    width:100%!important;
    max-width:100%!important;
  }
  [data-b2s2870-refresh]{
    width:100%!important;
    max-width:100%!important;
  }
}

/* ==========================================================
   28.22.7.4 — Final Apple-standard containment + compact-control lock
   ========================================================== */
html,body{margin:0!important;padding-left:0;padding-right:0;box-sizing:border-box}
*,*::before,*::after{box-sizing:border-box}

/* Every compact interactive control is a single stable line. */
button[class],button[id],a.btn,[role="button"],
.b2s-contact-submit,.b2s-find-search-submit,.b2s-auth-submit,
.b2s-login-submit,.b2s-password-toggle,.b2s-global-password-toggle,
.b2s-mobile-more-button,.category,.booking-filter,.b2s40-filter,.b2s40-new-support,
.b23-linkbtn,.b23-submit,.b2s28190-filter,[data-b2s2874-metric-filter]{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1!important;
}

/* Form grids must shrink inside their parent instead of exporting width. */
.b2s2894-provider-filter-grid,
.report-filter-grid,.report-filters,.report-search,.report-filter,
.b2s2039-search,.b2s-contact-grid,.b2s-login-form-grid{
  min-width:0!important;
  max-width:100%!important;
}
.b2s2894-provider-filter-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))!important;
  gap:10px!important;
  width:100%!important;
}
.b2s2894-provider-filter-grid>label,
.b2s2894-provider-filter-grid input,
.b2s2894-provider-filter-grid select,
.report-search label,.report-filter label,.report-search input,.report-filter select{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
}

/* Provider registration: long legal/consent copy can wrap, but never spill. */
.provider-interest-consent{
  min-width:0!important;
  max-width:100%!important;
  width:100%!important;
  align-items:flex-start!important;
}
.provider-interest-consent>span{
  min-width:0!important;
  max-width:100%!important;
  width:auto!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
}
.provider-interest-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Accommodation Intelligence becomes a proper mobile intelligence card, not a desktop grid clipped inside a phone. */
@media(max-width:700px){
  .b2s28200-intel-list{overflow:visible!important;max-width:100%!important}
  .b2s28200-intel-head{display:none!important}
  .b2s28200-intel-row{
    min-width:0!important;
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
    padding:14px!important;
    border:1px solid var(--b2s-a-line)!important;
    border-radius:16px!important;
    margin:10px 0!important;
    background:#fff!important;
  }
  .b2s28200-intel-row>.property{grid-column:1/-1!important}
  .b2s28200-intel-row>.chev{display:none!important}
  .b2s28200-intel-row span:not(.signal):not(.chev){min-width:0!important}
  .b2s28200-intel-row span:not(.signal):not(.chev) small,
  .b2s28200-intel-row span:not(.signal):not(.chev) strong{
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
  }
}

/* Universal mobile table contract: tables marked as mobile cards never bleed outside the viewport. */
@media(max-width:700px){
  .table-wrap:has(table.b2s-mobile-cards),
  .admin-table-wrap:has(table.b2s-mobile-cards),
  .hotel-table-wrap:has(table.b2s-mobile-cards){
    overflow:visible!important;border:0!important;background:transparent!important
  }
  table.b2s-mobile-cards{
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;background:transparent!important
  }
  table.b2s-mobile-cards thead{display:none!important}
  table.b2s-mobile-cards tbody{display:grid!important;gap:10px!important;width:100%!important;min-width:0!important}
  table.b2s-mobile-cards tr{
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
    margin:0!important;padding:11px 12px!important;border:1px solid var(--b2s-a-line)!important;
    border-radius:16px!important;background:#fff!important;overflow:hidden!important
  }
  table.b2s-mobile-cards td{
    display:grid!important;grid-template-columns:minmax(92px,38%) minmax(0,1fr)!important;
    gap:10px!important;width:100%!important;min-width:0!important;max-width:100%!important;
    padding:8px 0!important;border:0!important;border-bottom:1px solid #edf1f4!important;
    text-align:right!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
  }
  table.b2s-mobile-cards td:last-child{border-bottom:0!important}
  table.b2s-mobile-cards td::before{
    content:attr(data-mobile-label);min-width:0;color:var(--b2s-a-muted)!important;font-size:10px!important;
    font-weight:760!important;letter-spacing:.035em;text-transform:uppercase;text-align:left;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis
  }
  table.b2s-mobile-cards td[data-label]::before{content:attr(data-label)}
  table.b2s-mobile-cards td[colspan]{display:block!important;text-align:left!important;padding:4px 0!important}
  table.b2s-mobile-cards td[colspan]::before{display:none!important}
}

/* Dashboard operational table gets the same mobile card discipline even though it predates b2s-mobile-cards. */
@media(max-width:700px){
  .b2s2880-table{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .b2s2880-table thead{display:none!important}
  .b2s2880-table tbody{display:grid!important;gap:10px!important;width:100%!important}
  .b2s2880-table tr{display:block!important;width:100%!important;min-width:0!important;padding:11px 12px!important;border:1px solid var(--b2s-a-line)!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important}
  .b2s2880-table td{display:grid!important;grid-template-columns:minmax(100px,40%) minmax(0,1fr)!important;gap:10px!important;width:100%!important;min-width:0!important;padding:7px 0!important;border:0!important;border-bottom:1px solid #edf1f4!important;text-align:right!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .b2s2880-table td:last-child{border-bottom:0!important}
  .b2s2880-table td::before{font-size:10px;font-weight:760;color:var(--b2s-a-muted);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .b2s2880-table td:nth-child(1)::before{content:"Type"}
  .b2s2880-table td:nth-child(2)::before{content:"Name / reference"}
  .b2s2880-table td:nth-child(3)::before{content:"Destination"}
  .b2s2880-table td:nth-child(4)::before{content:"Status"}
  .b2s2880-table td:nth-child(5)::before{content:"Value / inventory"}
  .b2s2880-table td:nth-child(6)::before{content:"Date"}
}

/* Symbol-led primary actions, monochrome and brand-safe. */
.b2s-find-search-submit::before,
.b2s-btn[href*="find-accommodation"]::before,
.b2s-gh-btn[href*="find-stays"]::before{
  content:"";width:16px;height:16px;flex:0 0 16px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='6' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m16 16 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='6' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m16 16 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat
}
.b2s-contact-submit::before{
  content:"";width:16px;height:16px;flex:0 0 16px;background:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 11 18-8-8 18-2-8-8-2Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3 11 18-8-8 18-2-8-8-2Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat
}
.b2s-mobile-more-button::before{
  content:"•••";font-weight:800;letter-spacing:2px;line-height:1;color:currentColor
}

/* Login/auth actions: Apple-like calm full-width capsule. */
.b2s-auth-submit,.b2s-login-submit,.b2s-contact-submit,.b2s-find-search-submit{
  min-height:48px!important;border-radius:999px!important;font-weight:720!important;box-shadow:none!important
}

/* Specific page containment discovered during responsive QA. */
body:has(main>a[href="index.html"]) main{max-width:100vw!important;width:min(100%,520px)!important;margin-left:auto!important;margin-right:auto!important}

/* 28.22.7.5 — final responsive QA corrections */
.b2s2894-provider-filter-grid>label{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:6px!important;
  min-width:0!important;
  max-width:100%!important;
}
.b2s2894-provider-filter-grid>label>input,
.b2s2894-provider-filter-grid>label>select{
  display:block!important;
  justify-self:stretch!important;
  margin:0!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
}
.dashboard-action-buttons a,
.dashboard-quick-actions a,
[class*="action-buttons"] a,
[class*="quick-actions"] a{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.b23-submit small{display:none!important}
.b23-submit>span{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

@media(max-width:700px){
  .b2s2877-table{
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;background:transparent!important
  }
  .b2s2877-table thead{display:none!important}
  .b2s2877-table tbody{display:grid!important;gap:10px!important;width:100%!important;min-width:0!important}
  .b2s2877-table tr{
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;
    padding:11px 12px!important;border:1px solid var(--b2s-a-line)!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important
  }
  .b2s2877-table td{
    display:grid!important;grid-template-columns:minmax(96px,40%) minmax(0,1fr)!important;gap:10px!important;
    width:100%!important;min-width:0!important;max-width:100%!important;padding:8px 0!important;
    border:0!important;border-bottom:1px solid #edf1f4!important;text-align:right!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important
  }
  .b2s2877-table td:last-child{border-bottom:0!important}
  .b2s2877-table td::before{
    content:attr(data-mobile-label);color:var(--b2s-a-muted)!important;font-size:10px!important;font-weight:760!important;
    text-transform:uppercase;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
  }
  .b2s2877-table td[data-label]::before{content:attr(data-label)}
  .b2s2877-table td[colspan]{display:block!important;text-align:left!important;padding:4px 0!important}
  .b2s2877-table td[colspan]::before{display:none!important}

  /* Category selectors keep one concise title on phones; explanatory copy belongs to the destination content below. */
  .category-copy small{display:none!important}
  .category-copy strong{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important}
}

/* 28.22.7.6 — compact action selectors discovered in final static audit */
.b2s2834-hero-actions a,
.b2s2834-admin-mobile-quick a,
button[data-search]{
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
body .b2s2834-hero-actions a.btn{
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;overflow-wrap:normal!important
}
body.admin-page .b2s2834-hero-actions a.btn{
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;word-break:normal!important;overflow-wrap:normal!important
}

/* 28.22.7.9 — one navigation trigger only; top bar owns the Admin menu. */
.admin-main .admin-menu-btn{display:none!important}

/* ---- consolidated from mobile-premium-282280.css ---- */
/* Bid2Stay 28.22.8 — Mobile-First Premium Experience
   Mobile-only visual architecture. Desktop 28.22.7 remains untouched.
   Goals: distinct mobile behaviour, floating navigation sheets, reduced editorial copy,
   compact grouped surfaces, consistent 44–48px targets, single-line compact controls,
   brand-only palette, and zero overlap/spill. */

@media (max-width:900px){
  :root{
    --b2s-m-page:14px;
    --b2s-m-gap:10px;
    --b2s-m-card:18px;
    --b2s-m-inner:14px;
    --b2s-m-control:46px;
  }

  html,body{overflow-x:hidden!important;max-width:100%!important}
  body{-webkit-tap-highlight-color:transparent!important}

  /* ==========================================================
     MOBILE NAVIGATION — a floating UI layer, not a desktop drawer
     ========================================================== */
  body.admin-page .b2s-admin-topbar{
    position:sticky!important;top:0!important;z-index:180!important;
    height:60px!important;
    background:rgba(255,255,255,.92)!important;
    backdrop-filter:saturate(180%) blur(18px)!important;
    -webkit-backdrop-filter:saturate(180%) blur(18px)!important;
    border-bottom:1px solid rgba(207,215,223,.78)!important;
  }
  body.admin-page .b2s-admin-topbar-inner{
    height:60px!important;padding:0 12px!important;gap:8px!important;
  }
  body.admin-page .b2s-admin-logo img{width:108px!important;max-height:32px!important}
  body.admin-page .b2s-admin-topbar-actions{gap:8px!important}
  body.admin-page .b2s-admin-notification-button,
  body.admin-page .b2s-admin-menu-toggle{
    width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    padding:0!important;border-radius:50%!important;
    border:1px solid var(--b2s-a-line)!important;background:#fff!important;
    box-shadow:0 1px 2px rgba(7,27,42,.03)!important;
  }
  body.admin-page .b2s-admin-menu-toggle{
    font-size:0!important;position:relative!important;
  }
  body.admin-page .b2s-admin-menu-toggle::before{
    content:""!important;width:18px!important;height:18px!important;background:var(--b2s-a-navy)!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 7h14M5 12h14M5 17h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 7h14M5 12h14M5 17h14' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
  }

  body.admin-page .admin-nav{
    top:70px!important;left:12px!important;right:12px!important;bottom:auto!important;
    width:auto!important;max-width:none!important;height:auto!important;max-height:calc(100dvh - 84px)!important;
    padding:10px 10px calc(14px + env(safe-area-inset-bottom))!important;
    background:rgba(255,255,255,.98)!important;
    backdrop-filter:saturate(180%) blur(24px)!important;
    -webkit-backdrop-filter:saturate(180%) blur(24px)!important;
    border:1px solid rgba(207,215,223,.9)!important;border-radius:24px!important;
    box-shadow:0 24px 70px rgba(7,27,42,.22)!important;
    overflow-y:auto!important;overscroll-behavior:contain!important;
    transform:translateY(-10px) scale(.985)!important;
    transform-origin:top center!important;
    opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
  }
  body.admin-page .admin-shell.nav-open .admin-nav{
    transform:translateY(0) scale(1)!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  }
  body.admin-page .b2s2845-admin-overlay{
    inset:60px 0 0!important;background:rgba(7,27,42,.28)!important;
    backdrop-filter:blur(2px)!important;-webkit-backdrop-filter:blur(2px)!important;
  }
  body.admin-page .b2s-nav-section{
    margin:11px 10px 4px!important;font-size:9px!important;line-height:1!important;letter-spacing:.085em!important;
  }
  body.admin-page .b2s-admin-link{
    min-height:46px!important;height:46px!important;padding:0 12px!important;margin:2px 0!important;
    border-radius:14px!important;gap:11px!important;font-size:14px!important;font-weight:660!important;
  }
  body.admin-page .b2s-nav-icon{width:19px!important;height:19px!important;flex-basis:19px!important}
  body.admin-page .b2s-nav-label{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Guest/public mobile navigation becomes the same floating-sheet model. */
  .topbar[data-b2s-topbar-role="guest"]{
    position:sticky!important;top:0!important;z-index:180!important;
    min-height:60px!important;height:60px!important;
    backdrop-filter:saturate(180%) blur(18px)!important;-webkit-backdrop-filter:saturate(180%) blur(18px)!important;
  }
  .topbar[data-b2s-topbar-role="guest"] .topbar-inner{min-height:60px!important;height:60px!important;padding:0 12px!important}
  .topbar[data-b2s-topbar-role="guest"] .logo img{max-width:110px!important;max-height:32px!important}
  .topbar[data-b2s-topbar-role="guest"] .header-actions{display:none!important}
  .topbar[data-b2s-topbar-role="guest"] .b2s-mobile-guest-primary{display:none!important}
  .topbar[data-b2s-topbar-role="guest"] .b2s-mobile-more-button{
    display:inline-flex!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;
    padding:0!important;border-radius:50%!important;align-items:center!important;justify-content:center!important;
  }
  .topbar[data-b2s-topbar-role="guest"] .b2s-mobile-overflow-panel{
    position:fixed!important;top:70px!important;left:12px!important;right:12px!important;width:auto!important;max-width:none!important;
    max-height:calc(100dvh - 84px)!important;overflow:auto!important;padding:10px!important;
    background:rgba(255,255,255,.98)!important;border:1px solid var(--b2s-a-line)!important;border-radius:24px!important;
    box-shadow:0 24px 70px rgba(7,27,42,.22)!important;z-index:190!important;
    backdrop-filter:saturate(180%) blur(24px)!important;-webkit-backdrop-filter:saturate(180%) blur(24px)!important;
  }
  .b2s-mobile-overflow-links{display:grid!important;gap:2px!important}
  .b2s-mobile-overflow-links a,
  .b2s-mobile-overflow-actions a{
    min-height:48px!important;height:48px!important;display:flex!important;align-items:center!important;gap:12px!important;
    padding:0 12px!important;border-radius:14px!important;color:var(--b2s-a-ink)!important;
    font-size:14px!important;font-weight:660!important;text-decoration:none!important;
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  .b2s-mobile-overflow-links a+ a{border-top:1px solid #edf1f4!important}
  .b2s-mobile-overflow-actions{border-top:1px solid var(--b2s-a-line)!important;margin-top:6px!important;padding-top:6px!important}
  .b2s-mobile-overflow-links a::before,
  .b2s-mobile-overflow-actions a::before{
    content:"";width:18px;height:18px;flex:0 0 18px;background:var(--b2s-a-navy);
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m9.5 12 1.8 1.8 3.6-4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m9.5 12 1.8 1.8 3.6-4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .b2s-mobile-overflow-links a[href*="find-stays"]::before,
  .b2s-mobile-overflow-links a[href*="find-accommodation"]::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='5.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15 15 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.5' cy='10.5' r='5.5' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m15 15 4 4' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .b2s-mobile-overflow-links a[href*="messages"]::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v11H9l-5 4V5Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16v11H9l-5 4V5Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .b2s-mobile-overflow-links a[href*="profile"]::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M5 20a7 7 0 0 1 14 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M5 20a7 7 0 0 1 14 0' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }
  .b2s-mobile-overflow-actions a[href*="logout"]::before{
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5H5v14h5M14 8l4 4-4 4M8 12h10' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 5H5v14h5M14 8l4 4-4 4M8 12h10' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  }

  /* ==========================================================
     MOBILE CONTENT RHYTHM — compact, one-column, editorially reduced
     ========================================================== */
  body.admin-page .admin-main,
  body[data-portal-role="guest"] main,
  body[data-portal-role="guest"] .main,
  .availability-shell,.provider-interest-main{
    padding-left:var(--b2s-m-page)!important;padding-right:var(--b2s-m-page)!important;
  }
  body.admin-page .admin-main{padding-top:14px!important;padding-bottom:30px!important}
  body.admin-page .admin-top{gap:8px!important;margin-bottom:10px!important}
  body.admin-page .admin-top h1{font-size:23px!important;line-height:1.08!important;letter-spacing:-.035em!important;margin:0!important}
  body.admin-page .admin-top p{display:none!important}
  body.admin-page .admin-top .report-actions{
    display:flex!important;flex-wrap:nowrap!important;gap:8px!important;overflow-x:auto!important;
    padding:2px 0 1px!important;scrollbar-width:none!important;overscroll-behavior-x:contain!important;
  }
  body.admin-page .admin-top .report-actions::-webkit-scrollbar{display:none!important}
  body.admin-page .admin-top .report-actions>*{flex:0 0 auto!important;min-width:max-content!important}

  /* Cards are grouped mobile surfaces, not scaled desktop panels. */
  body.admin-page :is(.card,.panel,.surface,.dashboard-panel,.b2s2877-universal-banner,.b2s28200-admin-intel,.b2s28190-panel,.b2s28190-hero),
  body[data-portal-role="guest"] :is(.card,.panel,.surface,.b2s-gh-search,.b23-card),
  .availability-card,.provider-interest-card{
    border-radius:var(--b2s-m-card)!important;padding:14px!important;box-shadow:0 1px 2px rgba(7,27,42,.03)!important;
    margin-bottom:10px!important;
  }
  body.admin-page main h2,body.admin-page .admin-main h2{font-size:20px!important;line-height:1.1!important;margin-bottom:5px!important}
  body.admin-page main h3,body.admin-page .admin-main h3{font-size:16px!important}

  /* Secondary copy becomes optional on phone. Keep transactional/form instructions. */
  body.admin-page .b2s2870-centre-head>div>p,
  body.admin-page .b2s2877-card-head>div>p,
  body.admin-page .b2s28200-admin-intel>header p,
  body.admin-page .b2s28190-hero-copy>p,
  body.admin-page .b2s2880-filter-heading>p,
  body.admin-page .dashboard-panel>header p,
  body.admin-page .dashboard-panel>p,
  body.admin-page .b2s2880-explorer>header p,
  body.admin-page .b2s2880-attention>header p{
    display:none!important;
  }
  body.admin-page .b2s2877-universal-banner p{display:none!important}
  body.admin-page .b2s2877-universal-banner{padding:14px!important}
  body.admin-page .b2s2877-universal-banner .btn{width:auto!important;max-width:100%!important}

  /* Metrics: concise data tiles rather than oversized desktop cards. */
  body.admin-page :is(.metrics,.b2s2874-metrics,.b2s2877-metrics,.b2s2880-kpis){
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:10px 0!important;
  }
  body.admin-page :is(.metric,.b2s2874-metrics>*,.b2s2877-metrics>*,.b2s2880-kpi){
    min-height:72px!important;padding:11px!important;border-radius:16px!important;box-shadow:none!important;
  }
  body.admin-page :is(.metric,.b2s2874-metrics>*,.b2s2877-metrics>*,.b2s2880-kpi) strong{font-size:1.25rem!important;line-height:1!important}
  body.admin-page :is(.metric,.b2s2874-metrics>*,.b2s2877-metrics>*,.b2s2880-kpi) :is(span,small){font-size:9.5px!important;line-height:1.2!important}

  /* Refresh/search toolbars stay small and horizontal. */
  body.admin-page :is(.b2s2870-toolbar,.b2s2877-toolbar,.b2s28200-intel-toolbar,.b2s28190-toolbar){
    gap:8px!important;margin:8px 0!important;min-height:0!important;
  }
  body.admin-page :is([data-b2s2870-refresh],[data-b2s2877-refresh],[data-intel-refresh],[data-refresh]){
    width:auto!important;min-width:92px!important;max-width:100%!important;height:42px!important;min-height:42px!important;
    padding:0 13px!important;border-radius:999px!important;justify-self:start!important;
  }

  /* Dense admin filters become swipeable chips instead of wrapping into tall blocks. */
  body.admin-page :is(.b2s28190-filters,.b2s2880-filter-actions,[class*="filter-chips"]){
    display:flex!important;flex-wrap:nowrap!important;gap:7px!important;overflow-x:auto!important;
    scrollbar-width:none!important;overscroll-behavior-x:contain!important;padding-bottom:2px!important;
  }
  body.admin-page :is(.b2s28190-filters,.b2s2880-filter-actions,[class*="filter-chips"])::-webkit-scrollbar{display:none!important}
  body.admin-page :is(.b2s28190-filter,.booking-filter,.b2s40-filter,[data-b2s2874-metric-filter]){
    flex:0 0 auto!important;min-width:max-content!important;height:40px!important;min-height:40px!important;border-radius:999px!important;
  }

  /* ==========================================================
     PUBLIC HOME — fewer words, stronger actions, swipeable discovery
     ========================================================== */
  .b2s-home-hero{min-height:auto!important;padding:38px 0 30px!important}
  .b2s-home-hero-inner{min-height:0!important;padding-top:0!important;padding-bottom:0!important}
  .b2s-home-hero-copy{max-width:100%!important}
  .b2s-home-hero h1{font-size:34px!important;line-height:1.02!important;letter-spacing:-.045em!important;margin-bottom:14px!important}
  .b2s-home-hero p{font-size:15px!important;line-height:1.48!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .b2s-home-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin-top:18px!important}
  .b2s-home-hero-actions .b2s-btn{width:100%!important;min-height:48px!important;height:48px!important;border-radius:999px!important}
  .b2s-home-trust{gap:6px!important;margin-top:14px!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important}
  .b2s-home-trust::-webkit-scrollbar{display:none!important}
  .b2s-home-trust>*{flex:0 0 auto!important}
  .b2s-home-trust>*:nth-child(n+3){display:none!important}

  .b2s-home-journey,.b2s-home-section,.b2s-home-provider{padding-top:24px!important;padding-bottom:24px!important}
  .b2s-journey-intro p,.b2s-home-how .b2s-section-heading p,.b2s-home-discover .b2s-section-heading p,.b2s-home-provider p{display:none!important}
  .b2s-journey-panel{border-radius:22px!important;overflow:hidden!important}
  .b2s-journey-intro{padding:18px!important}
  .b2s-journey-choices{display:grid!important;grid-template-columns:1fr!important}
  .b2s-journey-choice{min-height:82px!important;padding:14px 16px!important}
  .b2s-journey-choice p{display:none!important}

  .b2s-home-how [class*="steps"],.b2s-home-how [class*="grid"]{
    display:flex!important;overflow-x:auto!important;gap:10px!important;scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;padding-bottom:4px!important;
  }
  .b2s-home-how [class*="steps"]::-webkit-scrollbar,.b2s-home-how [class*="grid"]::-webkit-scrollbar{display:none!important}
  .b2s-home-how [class*="step"]{flex:0 0 min(82vw,300px)!important;scroll-snap-align:start!important}
  .b2s-home-how [class*="step"] p{display:none!important}

  .b2s30-destination-grid,.b2s-gh-destinations{
    display:flex!important;grid-template-columns:none!important;overflow-x:auto!important;gap:10px!important;
    scroll-snap-type:x mandatory!important;scroll-padding-left:var(--b2s-m-page)!important;
    -webkit-overflow-scrolling:touch!important;scrollbar-width:none!important;padding-bottom:5px!important;
  }
  .b2s30-destination-grid::-webkit-scrollbar,.b2s-gh-destinations::-webkit-scrollbar{display:none!important}
  .b2s30-destination-grid>*{flex:0 0 min(82vw,320px)!important;scroll-snap-align:start!important}
  .b2s-gh-destinations>*{flex:0 0 min(78vw,300px)!important;scroll-snap-align:start!important}
  .b2s30-card-description,.b2s30-provider-count{display:none!important}

  /* ==========================================================
     GUEST APP — app-like, concise, one clear task per surface
     ========================================================== */
  body[data-portal-role="guest"] :is(.b2s-gh-hero,.b2s-gh-section,.b23-shell){padding-left:0!important;padding-right:0!important}
  .b2s-gh-hero{padding-top:20px!important;padding-bottom:14px!important}
  .b2s-gh-hero h1{font-size:28px!important;line-height:1.04!important;letter-spacing:-.04em!important}
  .b2s-gh-hero p{display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .b2s-gh-section{margin-top:18px!important}
  .b2s-gh-section-head{margin-bottom:9px!important}
  .b2s-gh-section-head p{display:none!important}
  .b2s-gh-search{padding:14px!important}
  .b2s-gh-quick{gap:8px!important}
  .b2s-gh-action-card{min-height:76px!important;padding:13px!important;border-radius:16px!important}
  .b2s-gh-action-card p{display:none!important}
  .b2s-gh-footer-note{display:none!important}

  .b23-shell{padding-top:14px!important;padding-bottom:28px!important}
  .b23-market>header p,.b23-form>header p,.b23-map-head p,.b23-map-note{display:none!important}
  .b23-card{padding:14px!important;border-radius:18px!important}
  .b23-card h2{font-size:20px!important;margin-bottom:10px!important}
  .b23-grid{grid-template-columns:1fr!important;gap:10px!important}
  .b23-field{gap:6px!important}
  .b23-price-hint{font-size:11px!important;line-height:1.35!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
  .b23-submit{width:100%!important;min-height:50px!important;height:50px!important;border-radius:999px!important}
  .b23-submit small{display:none!important}
  .b23-map{height:250px!important;min-height:250px!important;border-radius:16px!important}

  /* ==========================================================
     PROVIDER SELF-SERVICE — form-first, not brochure-like
     ========================================================== */
  .provider-interest-header{height:58px!important;min-height:58px!important;padding:0 14px!important}
  .provider-interest-logo img{max-width:112px!important}
  .provider-interest-main{padding-top:14px!important;padding-bottom:26px!important}
  .provider-interest-card{padding:16px!important;border-radius:20px!important}
  .provider-interest-intro p{display:none!important}
  .provider-interest-intro h1{font-size:27px!important;line-height:1.04!important;letter-spacing:-.04em!important}
  .provider-interest-grid{grid-template-columns:1fr!important;gap:11px!important}
  .provider-interest-field small{display:none!important}
  .provider-interest-submit{width:100%!important;min-height:50px!important;border-radius:999px!important}
  .provider-location-actions{gap:8px!important}
  .provider-location-actions>span{display:none!important}
  .provider-location-button{width:100%!important}

  .availability-shell{padding-top:14px!important;padding-bottom:26px!important}
  .availability-brand{margin-bottom:12px!important}
  .availability-brand img{max-width:112px!important}
  .availability-card{padding:16px!important;border-radius:20px!important}
  .availability-copy{display:none!important}
  .availability-note p{display:none!important}
  .availability-switch-card{padding:14px!important;border-radius:16px!important;gap:12px!important}
  .availability-actions,.b2s2842-share-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important}
  .availability-actions>* ,.b2s2842-share-actions>*{width:100%!important;min-width:0!important}
  .b2s2842-share-actions>*:last-child:nth-child(3){grid-column:1/-1!important}

  /* ==========================================================
     UNIVERSAL MOBILE CONTAINMENT + COMPACT CONTROLS
     ========================================================== */
  main,main *,.main,.main *,.admin-main,.admin-main *{min-width:0}
  button,.btn,[role="button"],nav a{
    white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
  }
  input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%!important;max-width:100%!important}
  table{max-width:100%!important}
  .table-wrap,.admin-table-wrap,.hotel-table-wrap{max-width:100%!important}
}

@media (max-width:520px){
  :root{--b2s-m-page:12px}
  body.admin-page .admin-top h1{font-size:22px!important}
  .b2s-home-hero h1{font-size:32px!important}
  .b2s-gh-hero h1{font-size:27px!important}
}

@media (prefers-reduced-motion:reduce){
  body.admin-page .admin-nav{transition:none!important}
}

/* ==========================================================
   28.22.8.1 — Mobile visual QA corrections
   ========================================================== */
@media (max-width:900px){
  /* Provider conversion: keep the commercial principle, remove the desktop explanation. */
  body.admin-page .b2s2870-centre~*{} /* specificity anchor */
  body.admin-page .b2s2870-centre-head~p{display:none!important}
  body.admin-page .admin-top + .card>p:first-of-type{display:none!important}
  body.admin-page .admin-top + section.card>p:first-of-type{display:none!important}

  /* Dashboard: concise hero + compact 2-column filter form. */
  body.admin-page .dashboard-hero p{display:none!important}
  body.admin-page .dashboard-hero{padding:2px 0 8px!important;gap:10px!important}
  body.admin-page .b2s2834-hero-actions{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;
  }
  body.admin-page .b2s2834-hero-actions>*{width:100%!important;min-width:0!important}
  body.admin-page .b2s2880-filter-panel{padding:13px!important}
  body.admin-page .b2s2880-filter-heading{
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:end!important;gap:8px!important;
  }
  body.admin-page .b2s2880-filter-heading .btn{width:auto!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:0 11px!important}
  body.admin-page .b2s2880-filter-grid{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
  }
  body.admin-page .b2s2880-search-wide{grid-column:1/-1!important}
  body.admin-page .b2s2880-filter-grid>label:nth-child(4){grid-column:1/-1!important}
  body.admin-page .b2s2880-filter-grid label{gap:4px!important}
  body.admin-page .b2s2880-filter-grid label>span{font-size:9px!important;letter-spacing:.06em!important;text-transform:uppercase!important}
  body.admin-page .b2s2880-filter-grid :is(input,select){min-height:43px!important;height:43px!important;font-size:13px!important}

  /* Public homepage: true mobile card carousel, never three desktop columns. */
  .b2s-how-grid{
    display:flex!important;grid-template-columns:none!important;gap:10px!important;overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;scroll-padding-left:0!important;padding:2px 0 5px!important;
    scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;
  }
  .b2s-how-grid::-webkit-scrollbar{display:none!important}
  .b2s-how-card{
    flex:0 0 min(78vw,285px)!important;min-width:min(78vw,285px)!important;max-width:min(78vw,285px)!important;
    scroll-snap-align:start!important;border-radius:18px!important;padding:16px!important;min-height:148px!important;
  }
  .b2s-how-card p{display:none!important}
  .b2s-how-card h3{font-size:17px!important;line-height:1.12!important;max-width:100%!important}
  .b2s-section-heading h2{font-size:24px!important;line-height:1.05!important;letter-spacing:-.035em!important}
  .b2s-section-action{margin-top:10px!important}

  /* Guest Home: brand-safe contrast + compact action list. */
  .b2s-gh-hero h1{color:#fff!important}
  .b2s-gh-hero p{color:#fff!important;opacity:.88!important}
  .b2s-gh-btn.secondary{color:#fff!important;border-color:rgba(255,255,255,.45)!important;background:rgba(7,27,42,.5)!important}
  .b2s-gh-action-card>span:nth-child(2)>span{display:none!important}
  .b2s-gh-action-card{min-height:68px!important;grid-template-columns:auto minmax(0,1fr) auto!important}
  .b2s-gh-action-card strong{font-size:15px!important}
  .b2s-gh-destination-card :is(h3,strong){color:#fff!important}
  .b2s-gh-destination-card p,.b2s-gh-destination-card span{color:rgba(255,255,255,.76)!important}

  /* Guest request: keep the three steps, remove the explanatory lecture. */
  .b2s2833-section-title p{display:none!important}
  .b2s2833-section-title{align-items:center!important;margin-bottom:10px!important}
  .b2s2833-section-title h2{font-size:19px!important;line-height:1.08!important;margin:0!important}
  .b2s2833-form-section{padding:0 0 14px!important;margin-bottom:14px!important}
  .b2s2833-form-section:last-of-type{margin-bottom:8px!important}
  .b23-location-status{font-size:10.5px!important;line-height:1.25!important;max-height:28px!important;overflow:hidden!important}
  .b23-price-hint{display:none!important}
  .b2s2833-trust-row{
    display:flex!important;gap:6px!important;overflow-x:auto!important;scrollbar-width:none!important;padding-top:10px!important;
  }
  .b2s2833-trust-row::-webkit-scrollbar{display:none!important}
  .b2s2833-trust-row>span{
    flex:0 0 auto!important;padding:7px 9px!important;border:1px solid var(--b2s-a-line)!important;border-radius:999px!important;
    font-size:10.5px!important;white-space:nowrap!important;
  }
  .b23-map-head{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .b23-map-head>div:first-child>span{display:none!important}
  .b2315-map-tools{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;width:100%!important}
  .b2315-map-view{display:grid!important;grid-template-columns:repeat(3,1fr)!important;width:100%!important;padding:3px!important;border-radius:14px!important}
  .b2315-map-view button{width:100%!important;min-width:0!important;height:38px!important;min-height:38px!important;padding:0 8px!important;font-size:11px!important}
  .b23-count{justify-self:start!important;width:auto!important;min-height:36px!important;height:36px!important;padding:0 12px!important;border-radius:999px!important}

  /* Accommodation intelligence is a grouped list, not a giant desktop panel. */
  body.admin-page .b2s28200-admin-intel{padding:14px!important}
  body.admin-page .b2s28200-intel-summary{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:0!important;border-top:1px solid var(--b2s-a-line)!important;border-bottom:1px solid var(--b2s-a-line)!important;margin:10px 0!important}
  body.admin-page .b2s28200-intel-summary>*{padding:11px 8px!important;border-radius:0!important;border:0!important;box-shadow:none!important}
  body.admin-page .b2s28200-intel-summary>*:nth-child(odd){border-right:1px solid var(--b2s-a-line)!important}
  body.admin-page .b2s28200-intel-summary>*:nth-child(-n+2){border-bottom:1px solid var(--b2s-a-line)!important}

  /* Loading placeholders must not look like empty desktop tables. */
  body.admin-page table.b2s-mobile-cards td[colspan],
  body.admin-page .b2s2877-table td[colspan],
  body.admin-page .b2s2870-table td[colspan]{
    min-height:58px!important;height:auto!important;padding:18px 10px!important;border-radius:14px!important;
  }
}

@media (max-width:430px){
  .b2s-home-shell{width:calc(100% - 24px)!important}
  .b2s-home-hero h1{font-size:31px!important}
  .b2s-section-heading h2{font-size:23px!important}
}

/* 28.22.8.2 — menu finalization */
@media (max-width:900px){
  body.admin-page .admin-nav{background:#fff!important}
  body.admin-page .b2s2845-admin-overlay{background:rgba(7,27,42,.34)!important}
  .b2s-mobile-more-button::before{content:none!important;display:none!important}
  .b2s-mobile-more-button .b2s-more-dots{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:3px!important}
  .b2s-mobile-more-button .b2s-more-dots i{display:block!important;width:3px!important;height:3px!important;border-radius:50%!important;background:currentColor!important}
  .b2s-gh-destination-card small{color:rgba(255,255,255,.72)!important}
}
