/* 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}
