/* Bid2Stay 28.22.9 — Guest & Provider Portal Premium Alignment
   Visual-only portal layer. Extends the approved Admin design language to Guest/Provider.
   No workflow, Supabase, routing or controller ownership changes. */

:root{
  --b2s-p-ink:var(--b2s-a-ink,#172536);
  --b2s-p-navy:var(--b2s-a-navy,#0c2234);
  --b2s-p-navy-deep:var(--b2s-a-navy-deep,#071b2a);
  --b2s-p-gold:var(--b2s-a-gold,#d8a51d);
  --b2s-p-gold-strong:var(--b2s-a-gold-strong,#c8940d);
  --b2s-p-bg:var(--b2s-a-bg,#f5f7f9);
  --b2s-p-surface:#fff;
  --b2s-p-soft:var(--b2s-a-soft,#f8fafb);
  --b2s-p-line:var(--b2s-a-line,#dce3e9);
  --b2s-p-muted:var(--b2s-a-muted,#667585);
  --b2s-p-radius:22px;
  --b2s-p-inner:16px;
  --b2s-p-shadow:0 1px 2px rgba(7,27,42,.03),0 14px 38px rgba(7,27,42,.065);
}

/* =========================================================
   SHARED PORTAL CANVAS + TOP BARS
   ========================================================= */
body[data-portal-role="guest"],
body[data-portal-role="provider"],
body.b2s-provider-portal,
body.b2s-provider-accept-page,
body.b2s-provider-submitted-page{
  background:var(--b2s-p-bg)!important;
  color:var(--b2s-p-ink)!important;
}

body[data-portal-role="guest"] .topbar,
body[data-portal-role="provider"] .topbar,
.provider-interest-header,
.b2s284113-header,
.b2s-provider-topbar{
  background:rgba(255,255,255,.98)!important;
  color:var(--b2s-p-ink)!important;
  border-bottom:1px solid var(--b2s-p-line)!important;
  box-shadow:none!important;
  min-height:76px!important;
  height:76px!important;
  position:sticky!important;
  top:0!important;
  z-index:175!important;
  backdrop-filter:saturate(180%) blur(18px)!important;
  -webkit-backdrop-filter:saturate(180%) blur(18px)!important;
}
body[data-portal-role="guest"] .topbar-inner,
body[data-portal-role="provider"] .topbar-inner,
.provider-interest-header,
.b2s284113-header-inner,
.b2s-provider-topbar-inner{
  width:min(100%,1440px)!important;
  margin:0 auto!important;
  min-height:76px!important;
  height:76px!important;
  padding:0 26px!important;
  display:flex!important;
  align-items:center!important;
  gap:18px!important;
  box-sizing:border-box!important;
}
body[data-portal-role="guest"] .topbar .logo img,
body[data-portal-role="provider"] .topbar .logo img,
.provider-interest-logo img,
.b2s284113-brand img,
.b2s-provider-topbar img{
  width:auto!important;
  max-width:132px!important;
  max-height:38px!important;
  object-fit:contain!important;
}
body[data-portal-role="guest"] .topbar .logo,
body[data-portal-role="provider"] .topbar .logo,
.provider-interest-logo,.b2s284113-brand,.b2s-provider-topbar-brand{
  display:inline-flex!important;align-items:center!important;flex:0 0 auto!important;
}

/* Desktop Guest navigation adopts the Admin's clear active-state grammar. */
.b2s-guest-desktop-nav,
.b2s-provider-desktop-nav{
  display:flex!important;
  align-items:center!important;
  gap:4px!important;
  margin-left:18px!important;
  min-width:0!important;
  flex:1 1 auto!important;
}
.b2s-guest-desktop-nav a,
.b2s-provider-desktop-nav a{
  height:40px!important;
  padding:0 12px!important;
  border:1px solid transparent!important;
  border-radius:13px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  color:var(--b2s-p-ink)!important;
  text-decoration:none!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:660!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-guest-desktop-nav a:hover,
.b2s-provider-desktop-nav a:hover{background:var(--b2s-p-soft)!important;border-color:var(--b2s-p-line)!important}
.b2s-guest-desktop-nav a[aria-current="page"],
.b2s-provider-desktop-nav a[aria-current="page"]{
  background:rgba(216,165,29,.12)!important;
  border-color:rgba(216,165,29,.28)!important;
  color:var(--b2s-p-navy)!important;
}
.b2s-guest-desktop-nav a::before,
.b2s-provider-desktop-nav a::before{
  content:"";width:17px;height:17px;flex:0 0 17px;background:var(--b2s-p-navy);
  -webkit-mask:var(--b2s-portal-nav-icon) center/contain no-repeat;
  mask:var(--b2s-portal-nav-icon) center/contain no-repeat;
}
.b2s-guest-desktop-nav a[aria-current="page"]::before,
.b2s-provider-desktop-nav a[aria-current="page"]::before{background:var(--b2s-p-gold-strong)}
.b2s-guest-desktop-nav a[href*="guest-home"],.b2s-provider-desktop-nav a[href*="hotel-accommodation"]{--b2s-portal-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 11 12 4l8 7v9H5v-9Z' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='M9 20v-6h6v6' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E")}
.b2s-guest-desktop-nav a[href*="find-stays"]{--b2s-portal-nav-icon: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")}
.b2s-guest-desktop-nav a[href*="bid-journey"],.b2s-guest-desktop-nav a[href*="trips"]{--b2s-portal-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='6' width='16' height='14' rx='2' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='M8 6V4m8 2V4M4 10h16' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.b2s-guest-desktop-nav a[href*="messages"]{--b2s-portal-nav-icon: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")}
.b2s-guest-desktop-nav a[href*="profile"]{--b2s-portal-nav-icon: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")}
.b2s-provider-desktop-nav a[href*="availability"]{--b2s-portal-nav-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5 10 17l9-10' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

body[data-portal-role="guest"] .header-actions,
body[data-portal-role="provider"] .b2s2312-header-actions,
.b2s-provider-topbar-actions{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
}
body[data-portal-role="guest"] .header-actions a,
body[data-portal-role="provider"] .b2s2312-header-actions a,
.b2s-provider-topbar-actions a{
  min-height:40px!important;height:40px!important;padding:0 14px!important;
  border:1px solid var(--b2s-p-line)!important;border-radius:999px!important;background:#fff!important;
  color:var(--b2s-p-ink)!important;text-decoration:none!important;font-size:12.5px!important;font-weight:680!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;
  white-space:nowrap!important;
}
body[data-portal-role="guest"] .header-actions a:hover,
body[data-portal-role="provider"] .b2s2312-header-actions a:hover,
.b2s-provider-topbar-actions a:hover{background:var(--b2s-p-soft)!important;border-color:var(--b2s-p-line-strong,#cfd7df)!important}

/* =========================================================
   SHARED PORTAL PAGE RHYTHM — same calm workspace feel as Admin
   ========================================================= */
body[data-portal-role="guest"] :is(.main,.b2s-gh-shell,.page,.guest-shell,.b23-shell,.b23-result-shell,.b2s151-shell,.b2s40-comms),
body[data-portal-role="provider"] :is(.main,.s04-shell,.availability-shell),
.provider-interest-main,.b2s28411-shell,.done{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin-left:auto!important;margin-right:auto!important;
  padding-left:28px!important;padding-right:28px!important;
  box-sizing:border-box!important;
}
body[data-portal-role="guest"] :is(.main,.b2s-gh-shell,.page,.guest-shell,.b23-shell,.b23-result-shell,.b2s151-shell,.b2s40-comms),
body[data-portal-role="provider"] :is(.main,.s04-shell,.availability-shell),
.provider-interest-main,.b2s28411-shell{padding-top:30px!important;padding-bottom:48px!important}

/* Consistent page heads: editorial left, action right, no giant hero treatment. */
body[data-portal-role="guest"] :is(.b23-head,.b23-result-head,.b2s151-head,.b2s40-head,.page-head,.guest-head,.b2s-gh-intro),
body[data-portal-role="provider"] :is(.s04-hero),
.provider-interest-intro,.availability-card:first-of-type>.availability-kicker+ h1,
.b2s28411-heading{
  position:relative!important;
}
body[data-portal-role="guest"] :is(.b23-head,.b23-result-head,.b2s151-head,.b2s40-head,.page-head,.guest-head){
  margin:0 0 20px!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
body[data-portal-role="guest"] :is(.b23-kicker,.b2s151-kicker,.kicker,.guest-kicker,.b2s-gh-kicker),
body[data-portal-role="provider"] :is(.s04-kicker),
.provider-interest-kicker,.availability-kicker,.b2s28411-kicker,.b2s2849-kicker,.done .kicker{
  color:var(--b2s-p-gold-strong)!important;
  font-size:10.5px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important;
}
body[data-portal-role="guest"] :is(.b23-head h1,.b23-result-head h1,.b2s151-head h1,.b2s40-head h1,.page-head h1,.guest-head h1),
body[data-portal-role="provider"] .s04-hero h1,
.provider-interest-intro h1,.availability-card h1,.b2s28411-heading h2,.done h1{
  color:var(--b2s-p-navy)!important;font-weight:760!important;letter-spacing:-.035em!important;line-height:1.04!important;
}
body[data-portal-role="guest"] :is(.b23-head>p,.b23-result-head>p,.b2s151-head>p,.b2s40-head>p,.page-head>p,.guest-head>p),
body[data-portal-role="provider"] .s04-hero>p,
.provider-interest-intro p,.availability-copy,.b2s28411-heading p,.done>p,.done-card>p{
  color:var(--b2s-p-muted)!important;max-width:760px!important;line-height:1.55!important;
}

/* Admin-like cards: white, fine line, subtle shadow, consistent radius. */
body[data-portal-role="guest"] :is(.b2s-gh-search,.b2s-gh-action-card,.b23-card,.b23-result-summary,.b23-results,.b2s151-panel,.b2s151-metric,.b2s40-inbox,.b2s40-thread,.card,.guest-card,.guest-panel,.b2s-stay-card,[class*="panel"]),
body[data-portal-role="provider"] :is(.s04-panel,.s04-editor,.availability-card),
.provider-interest-card,.b2s28411-panel,.b2s28411-card,.done-card{
  background:var(--b2s-p-surface)!important;
  border:1px solid var(--b2s-p-line)!important;
  border-radius:var(--b2s-p-radius)!important;
  box-shadow:var(--b2s-p-shadow)!important;
}
body[data-portal-role="guest"] :is(.b23-card,.b2s151-panel,.b2s40-inbox,.b2s40-thread,.card,.guest-card,.guest-panel,.b2s-stay-card),
body[data-portal-role="provider"] :is(.s04-panel,.s04-editor,.availability-card),
.provider-interest-card,.b2s28411-panel,.b2s28411-card,.done-card{padding:22px!important}

/* Inner blocks are quiet, not cards-on-cards. */
body[data-portal-role="guest"] :is(.b23-market,.b2s151-metric,.b2s40-safety,.b2s-stay-detail,.b2s-stay-pass,.guest-tabs),
body[data-portal-role="provider"] :is(.b2s2312-availability-panel,.availability-switch-card,.availability-note,.s04-panel-head),
.provider-location-field,.b2s2849-security,.b2s28411-property,.b2s2832-reference,.done .note{
  background:var(--b2s-p-soft)!important;
  border:1px solid var(--b2s-p-line)!important;
  border-radius:var(--b2s-p-inner)!important;
  box-shadow:none!important;
}

/* =========================================================
   GUEST PORTAL — workspace-grade hierarchy
   ========================================================= */
body[data-portal-role="guest"] .layout{background:var(--b2s-p-bg)!important;min-height:calc(100vh - 76px)!important}
body[data-portal-role="guest"] .main{max-width:1180px!important}

/* Guest Home: replace marketing-like dark hero with Admin-like command card. */
.b2s-guest-home .b2s-gh-hero{
  display:grid!important;grid-template-columns:minmax(0,.95fr) minmax(380px,1.05fr)!important;gap:18px!important;align-items:stretch!important;
  padding:0!important;margin:0 0 24px!important;background:transparent!important;
}
.b2s-guest-home .b2s-gh-intro{
  background:#fff!important;border:1px solid rgba(216,165,29,.55)!important;border-radius:22px!important;
  box-shadow:var(--b2s-p-shadow)!important;padding:26px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;
}
.b2s-guest-home .b2s-gh-intro::before{content:"";width:34px;height:3px;border-radius:99px;background:var(--b2s-p-gold)!important;margin-bottom:13px!important}
.b2s-guest-home .b2s-gh-intro h1{color:var(--b2s-p-navy)!important;font-size:clamp(32px,3.15vw,48px)!important;max-width:620px!important}
.b2s-guest-home .b2s-gh-intro p{color:var(--b2s-p-muted)!important;font-size:15px!important;max-width:570px!important}
.b2s-guest-home .b2s-gh-search{padding:26px!important;margin:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.b2s-guest-home .b2s-gh-search h2{font-size:24px!important;margin-bottom:6px!important}
.b2s-guest-home .b2s-gh-search>p{color:var(--b2s-p-muted)!important;margin:0 0 18px!important}
.b2s-guest-home .b2s-gh-actions{display:grid!important;grid-template-columns:1fr auto!important;gap:10px!important;margin-top:14px!important}
.b2s-guest-home .b2s-gh-btn{border-radius:14px!important;min-height:46px!important;height:46px!important;font-size:13px!important;font-weight:700!important;box-shadow:none!important}
.b2s-guest-home .b2s-gh-btn.primary{background:var(--b2s-p-gold)!important;color:var(--b2s-p-navy-deep)!important;border-color:var(--b2s-p-gold)!important}
.b2s-guest-home .b2s-gh-btn.secondary{background:#fff!important;color:var(--b2s-p-ink)!important;border:1px solid var(--b2s-p-line)!important}
.b2s-gh-section{margin-top:28px!important}
.b2s-gh-section-head{align-items:end!important;margin-bottom:12px!important}
.b2s-gh-section-head h2{font-size:26px!important}
.b2s-gh-section-head p{color:var(--b2s-p-muted)!important}
.b2s-gh-quick{gap:12px!important}
.b2s-gh-action-card{min-height:92px!important;padding:18px!important;box-shadow:0 1px 2px rgba(7,27,42,.03)!important}
.b2s-gh-action-card:hover{border-color:rgba(216,165,29,.45)!important;box-shadow:0 10px 28px rgba(7,27,42,.07)!important}
.b2s-gh-icon{color:var(--b2s-p-gold-strong)!important}
.b2s-gh-arrow{color:var(--b2s-p-gold-strong)!important}
.b2s-gh-destination-card{border-radius:20px!important;overflow:hidden!important;box-shadow:var(--b2s-p-shadow)!important}
.b2s-gh-footer-note{color:var(--b2s-p-muted)!important;border-top:1px solid var(--b2s-p-line)!important;padding-top:18px!important;margin-top:30px!important}

/* Name-your-price / results */
.b2s-name-your-price-page .b23-shell{max-width:1120px!important}
.b2s-name-your-price-page .b23-head,.b23-result-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:18px!important}
.b2s-name-your-price-page .b23-head h1,.b23-result-head h1{max-width:760px!important;font-size:clamp(32px,3.2vw,46px)!important}
.b2s2833-request-card{padding:26px!important}
.b2s2833-form-section{padding:18px 0!important;border-bottom:1px solid var(--b2s-p-line)!important}
.b2s2833-form-section:last-of-type{border-bottom:0!important}
.b2s2833-section-title{margin-bottom:14px!important}
.b2s2833-section-title h2{font-size:20px!important}
.b2s2833-progress{background:var(--b2s-p-soft)!important;border:1px solid var(--b2s-p-line)!important;border-radius:16px!important;padding:12px!important}

/* Requests dashboard */
.b2s151-shell{max-width:1180px!important}
.b2s151-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:16px!important}
.b2s151-head h1{font-size:40px!important}
.b2s151-metrics{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:0 0 18px!important}
.b2s151-metric{padding:16px!important;background:#fff!important;border-radius:16px!important;box-shadow:none!important}
.b2s151-metric strong{font-size:24px!important;color:var(--b2s-p-navy)!important}

/* Messages */
.b2s40-comms{max-width:1180px!important}
.b2s40-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:16px!important}
.b2s40-head h1{font-size:40px!important}
.b2s40-grid{gap:14px!important}
.b2s40-inbox,.b2s40-thread{min-height:560px!important}
.b2s40-inbox-top{padding-bottom:14px!important;border-bottom:1px solid var(--b2s-p-line)!important}

/* Account / Stay / Trips */
body[data-portal-role="guest"] .page{max-width:1120px!important}
body[data-portal-role="guest"] .page-head{display:flex!important;align-items:end!important;justify-content:space-between!important;gap:16px!important}
body[data-portal-role="guest"] .page-head h1,.guest-head h1{font-size:40px!important}
.b2s-account-grid,.b2s-stay-grid{gap:14px!important}
.guest-tabs{padding:5px!important;display:inline-flex!important;gap:4px!important;width:auto!important}
.guest-tab{min-height:38px!important;height:38px!important;border-radius:12px!important;padding:0 14px!important;font-size:12.5px!important}
.guest-tab.active{background:rgba(216,165,29,.12)!important;color:var(--b2s-p-navy)!important;border-color:rgba(216,165,29,.28)!important}

/* =========================================================
   PROVIDER PORTAL — same workspace grammar, clearer commercial hierarchy
   ========================================================= */
.provider-interest-main{max-width:960px!important}
.provider-interest-card{padding:28px!important}
.provider-interest-intro{padding-bottom:20px!important;margin-bottom:20px!important;border-bottom:1px solid var(--b2s-p-line)!important}
.provider-interest-intro h1{font-size:clamp(34px,4vw,48px)!important;max-width:720px!important}
.provider-interest-grid{gap:14px!important}
.provider-interest-submit{background:var(--b2s-p-gold)!important;color:var(--b2s-p-navy-deep)!important;border:1px solid var(--b2s-p-gold)!important;border-radius:14px!important;min-height:48px!important;box-shadow:none!important}
.provider-location-button{border-radius:14px!important;background:#fff!important;color:var(--b2s-p-navy)!important;border:1px solid var(--b2s-p-line-strong,#cfd7df)!important}
.provider-interest-consent{background:var(--b2s-p-soft)!important;border:1px solid var(--b2s-p-line)!important;border-radius:14px!important;padding:12px!important}

/* Availability becomes a small Provider workspace, not a standalone generic card. */
.availability-shell{max-width:960px!important}
.availability-brand{display:none!important}
.availability-card{padding:26px!important;margin-bottom:16px!important}
.availability-card>h1{font-size:38px!important}
.availability-switch-card{padding:18px!important;margin:18px 0 12px!important}
.availability-note{padding:14px 16px!important;margin-top:12px!important}
.availability-note p{margin:5px 0 0!important;color:var(--b2s-p-muted)!important}
.availability-actions,.b2s2842-share-actions{display:flex!important;gap:9px!important;align-items:center!important;flex-wrap:wrap!important}
.availability-actions .btn,.b2s2842-share-actions .btn{border-radius:999px!important}

/* Invite page: remove old marketing-template feel, keep invitation value but make it a premium workspace. */
.b2s28411-shell{max-width:1240px!important}
.b2s28411-stage{display:grid!important;grid-template-columns:minmax(0,.92fr) minmax(440px,1.08fr)!important;gap:18px!important;align-items:start!important}
.b2s28411-showcase{display:grid!important;gap:14px!important}
.b2s28411-hero{min-height:0!important;height:auto!important;background:#fff!important;border:1px solid rgba(216,165,29,.55)!important;border-radius:22px!important;box-shadow:var(--b2s-p-shadow)!important;overflow:hidden!important}
.b2s28411-hero::before{display:none!important}
.b2s28411-hero-overlay{position:relative!important;inset:auto!important;background:transparent!important;padding:26px!important;color:var(--b2s-p-ink)!important}
.b2s28411-hero-overlay h1{color:var(--b2s-p-navy)!important;font-size:38px!important;max-width:560px!important}
.b2s28411-hero-overlay p{color:var(--b2s-p-muted)!important;max-width:560px!important}
.b2s28411-chip-row span{background:var(--b2s-p-soft)!important;color:var(--b2s-p-navy)!important;border:1px solid var(--b2s-p-line)!important;border-radius:999px!important}
.b2s28411-benefits article{padding:12px 0!important;border-bottom:1px solid var(--b2s-p-line)!important}
.b2s28411-benefits article:last-child{border-bottom:0!important}
.b2s28411-icon{background:rgba(216,165,29,.13)!important;color:var(--b2s-p-gold-strong)!important;border-radius:12px!important}
.b2s28411-how ol{margin-bottom:0!important}
.b2s28411-support{background:var(--b2s-p-navy)!important;border-radius:20px!important;color:#fff!important;padding:20px!important;box-shadow:var(--b2s-p-shadow)!important}
.b2s28411-support :is(strong,p,a,.b2s28411-support-label){color:#fff!important}
.b2s28411-support-label{opacity:.76!important}
.b2s28411-card{padding:26px!important;position:sticky!important;top:96px!important}
.b2s2849-progress{background:var(--b2s-p-soft)!important;border:1px solid var(--b2s-p-line)!important;border-radius:16px!important;padding:12px!important}
.b2s2849-section-title{border-top:1px solid var(--b2s-p-line)!important;padding-top:18px!important;margin-top:18px!important}
.b2s2849-submit{background:var(--b2s-p-gold)!important;color:var(--b2s-p-navy-deep)!important;border-radius:14px!important;box-shadow:none!important}

/* Main provider setup form */
body[data-portal-role="provider"] .layout{background:var(--b2s-p-bg)!important}
body[data-portal-role="provider"] .main{max-width:1240px!important}
.s04-shell{max-width:1240px!important}
.s04-hero{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;margin-bottom:20px!important}
.s04-hero h1{font-size:42px!important}
.s04-layout{gap:16px!important}
.s04-panel,.s04-editor{padding:22px!important}
.s04-panel-head{padding:12px 14px!important;margin-bottom:12px!important}
.s04-panel h2,.s04-editor h2{font-size:20px!important}
.b2s2050-form-progress{background:#fff!important;border:1px solid var(--b2s-p-line)!important;border-radius:16px!important;padding:12px!important}

/* Submitted success */
body.b2s-provider-submitted-page .done{max-width:820px!important;padding-top:54px!important;padding-bottom:54px!important}
body.b2s-provider-submitted-page .done-card{padding:32px!important}
.done .mark{width:50px!important;height:50px!important;border-radius:15px!important;background:rgba(216,165,29,.14)!important;color:var(--b2s-p-gold-strong)!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:26px!important;margin-bottom:14px!important}
.done .note{padding:16px!important}
.done .note p{color:var(--b2s-p-muted)!important;margin-bottom:0!important}
.b2s2832-done-actions{gap:8px!important}

/* Common form/control refinement inside portals. */
body[data-portal-role="guest"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
body[data-portal-role="provider"] :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
.provider-interest-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea),
.b2s-provider-accept-page :is(input:not([type=checkbox]):not([type=radio]),select,textarea){
  border-radius:14px!important;border:1px solid var(--b2s-p-line-strong,#cfd7df)!important;background:#fff!important;box-shadow:none!important;
}
body[data-portal-role="guest"] :is(input,select,textarea):focus,
body[data-portal-role="provider"] :is(input,select,textarea):focus,
.provider-interest-page :is(input,select,textarea):focus,
.b2s-provider-accept-page :is(input,select,textarea):focus{border-color:var(--b2s-p-gold)!important;box-shadow:0 0 0 3px rgba(216,165,29,.14)!important}

/* =========================================================
   MOBILE — same design language, native density, no desktop leakage
   ========================================================= */
@media(max-width:900px){
  :root{--b2s-p-radius:18px;--b2s-p-inner:14px}
  body[data-portal-role="guest"] .topbar,
  body[data-portal-role="provider"] .topbar,
  .provider-interest-header,.b2s284113-header,.b2s-provider-topbar{height:60px!important;min-height:60px!important}
  body[data-portal-role="guest"] .topbar-inner,
  body[data-portal-role="provider"] .topbar-inner,
  .provider-interest-header,.b2s284113-header-inner,.b2s-provider-topbar-inner{height:60px!important;min-height:60px!important;padding:0 12px!important}
  body[data-portal-role="guest"] .topbar .logo img,
  body[data-portal-role="provider"] .topbar .logo img,
  .provider-interest-logo img,.b2s284113-brand img,.b2s-provider-topbar img{max-width:110px!important;max-height:32px!important}
  .b2s-guest-desktop-nav,.b2s-provider-desktop-nav{display:none!important}
  body[data-portal-role="guest"] .header-actions,
  body[data-portal-role="provider"] .b2s2312-header-actions,
  .b2s-provider-topbar-actions{display:none!important}

  body[data-portal-role="guest"] :is(.main,.b2s-gh-shell,.page,.guest-shell,.b23-shell,.b23-result-shell,.b2s151-shell,.b2s40-comms),
  body[data-portal-role="provider"] :is(.main,.s04-shell,.availability-shell),
  .provider-interest-main,.b2s28411-shell,.done{
    width:100%!important;max-width:none!important;padding-left:12px!important;padding-right:12px!important;padding-top:14px!important;padding-bottom:30px!important;
  }

  /* Guest Home: one premium command surface + concise task card. */
  .b2s-guest-home .b2s-gh-hero{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:18px!important}
  .b2s-guest-home .b2s-gh-intro{padding:18px!important;border-radius:18px!important}
  .b2s-guest-home .b2s-gh-intro::before{width:30px!important;margin-bottom:9px!important}
  .b2s-guest-home .b2s-gh-intro h1{font-size:29px!important;line-height:1.02!important;margin-bottom:8px!important}
  .b2s-guest-home .b2s-gh-intro p{display:none!important}
  .b2s-guest-home .b2s-gh-search{padding:16px!important;border-radius:18px!important}
  .b2s-guest-home .b2s-gh-search h2{font-size:20px!important;margin-bottom:10px!important}
  .b2s-guest-home .b2s-gh-search>p{display:none!important}
  .b2s-guest-home .b2s-gh-actions{grid-template-columns:1fr!important;gap:8px!important;margin-top:10px!important}
  .b2s-guest-home .b2s-gh-btn{height:46px!important;min-height:46px!important}
  .b2s-gh-section{margin-top:20px!important}
  .b2s-gh-section-head h2{font-size:22px!important}
  .b2s-gh-section-head p{display:none!important}
  .b2s-gh-action-card{min-height:68px!important;padding:13px 14px!important;border-radius:16px!important}

  /* Guest generic page heads become compact Admin-like headers. */
  body[data-portal-role="guest"] :is(.b23-head,.b23-result-head,.b2s151-head,.b2s40-head,.page-head,.guest-head){
    display:block!important;margin-bottom:12px!important;
  }
  body[data-portal-role="guest"] :is(.b23-head h1,.b23-result-head h1,.b2s151-head h1,.b2s40-head h1,.page-head h1,.guest-head h1){font-size:27px!important;line-height:1.02!important}
  body[data-portal-role="guest"] :is(.b23-head p,.b23-result-head p,.b2s151-head p,.b2s40-head p,.page-head p,.guest-head p){display:none!important}
  .b2s151-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;margin-bottom:12px!important}
  .b2s151-metric{padding:11px 8px!important;border-radius:14px!important;text-align:center!important}
  .b2s151-metric strong{font-size:19px!important}
  .b2s151-metric span,.b2s151-metric small{font-size:9px!important;text-transform:uppercase!important;letter-spacing:.05em!important}
  .b2s40-grid{grid-template-columns:1fr!important;gap:10px!important}
  .b2s40-inbox,.b2s40-thread{min-height:0!important}
  .guest-tabs{width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .guest-tab{width:100%!important;min-width:0!important;padding:0 8px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}

  /* Form pages: keep task hierarchy, remove brochure copy. */
  .b2s2833-request-card,.b23-card{padding:15px!important;border-radius:18px!important}
  .b2s2833-form-section{padding:12px 0!important}
  .b2s2833-section-title p,.b2s2833-section-title span{display:none!important}

  /* Provider register */
  .provider-interest-main{padding-top:12px!important}
  .provider-interest-card{padding:16px!important;border-radius:18px!important}
  .provider-interest-intro{padding-bottom:13px!important;margin-bottom:13px!important}
  .provider-interest-intro h1{font-size:29px!important;line-height:1.02!important}
  .provider-interest-intro p{display:none!important}
  .provider-interest-grid{gap:10px!important}
  .provider-interest-field small{display:none!important}
  .provider-interest-consent{padding:10px!important}

  /* Provider availability */
  .availability-shell{padding-top:12px!important}
  .availability-card{padding:16px!important;border-radius:18px!important;margin-bottom:12px!important}
  .availability-card>h1{font-size:27px!important;line-height:1.03!important}
  .availability-copy{display:none!important}
  .availability-switch-card{padding:13px!important;margin:12px 0 9px!important}
  .availability-note{padding:12px!important}
  .availability-note p{display:none!important}
  .availability-actions,.b2s2842-share-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important}
  .availability-actions>*:last-child:nth-child(odd),.b2s2842-share-actions>*:last-child:nth-child(odd){grid-column:1/-1!important}
  .availability-actions .btn,.b2s2842-share-actions .btn{width:100%!important;min-width:0!important}

  /* Provider invite: one-column, form first, supporting content below. */
  .b2s28411-shell{padding-top:12px!important}
  .b2s28411-stage{grid-template-columns:1fr!important;gap:12px!important}
  .b2s28411-form-wrap{order:1!important}
  .b2s28411-showcase{order:2!important}
  .b2s28411-card{position:static!important;top:auto!important;padding:16px!important;border-radius:18px!important}
  .b2s28411-hero{border-radius:18px!important}
  .b2s28411-hero-overlay{padding:16px!important}
  .b2s28411-hero-overlay h1{font-size:28px!important;line-height:1.02!important}
  .b2s28411-hero-overlay p{display:none!important}
  .b2s28411-chip-row{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;gap:7px!important;scrollbar-width:none!important}
  .b2s28411-chip-row::-webkit-scrollbar{display:none!important}
  .b2s28411-chip-row span{flex:0 0 auto!important;white-space:nowrap!important}
  .b2s28411-panel{padding:15px!important;border-radius:18px!important}
  .b2s28411-panel-head>span,.b2s28411-benefits p,.b2s28411-how li>span,.b2s28411-support p{display:none!important}
  .b2s28411-support{padding:15px!important;border-radius:18px!important}
  .b2s28411-support-links{display:grid!important;gap:7px!important}
  .b2s2849-heading p,.b2s2849-section-title>span,.b2s2849-help{display:none!important}
  .b2s2849-grid{grid-template-columns:1fr!important;gap:10px!important}

  /* Provider full setup */
  .s04-hero{margin-bottom:12px!important}
  .s04-hero h1{font-size:28px!important;line-height:1.02!important}
  .s04-hero>p{display:none!important}
  .s04-layout{grid-template-columns:1fr!important;gap:10px!important}
  .s04-panel,.s04-editor{padding:15px!important;border-radius:18px!important}
  .s04-panel-head{padding:10px 12px!important}

  /* Success */
  body.b2s-provider-submitted-page .done{padding-top:18px!important}
  body.b2s-provider-submitted-page .done-card{padding:18px!important;border-radius:18px!important}
  .done h1{font-size:28px!important;line-height:1.03!important}
  .done-card>p{display:none!important}
  .done .note p{display:none!important}
  .b2s2832-done-actions{display:grid!important;grid-template-columns:1fr!important}
}

@media(max-width:430px){
  body[data-portal-role="guest"] :is(.main,.b2s-gh-shell,.page,.guest-shell,.b23-shell,.b23-result-shell,.b2s151-shell,.b2s40-comms),
  body[data-portal-role="provider"] :is(.main,.s04-shell,.availability-shell),
  .provider-interest-main,.b2s28411-shell,.done{padding-left:10px!important;padding-right:10px!important}
  .b2s-guest-home .b2s-gh-intro h1{font-size:27px!important}
  .provider-interest-intro h1{font-size:27px!important}
}

/* =========================================================
   28.22.9.1 — LEGACY THEME NEUTRALISATION
   Remove old guest/provider visual themes that conflict with Admin grammar.
   ========================================================= */

/* Guest header must be the same calm white workspace header at every breakpoint. */
body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"]{
  background:rgba(255,255,255,.98)!important;
  background-image:none!important;
  border-bottom:1px solid var(--b2s-p-line)!important;
  box-shadow:none!important;
  color:var(--b2s-p-ink)!important;
}
body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"] .topbar-inner{
  background:transparent!important;
  box-shadow:none!important;
}
body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"] .b2s-mobile-more-button{
  background:#fff!important;
  border:1px solid var(--b2s-p-line)!important;
  color:var(--b2s-p-navy)!important;
  box-shadow:0 2px 8px rgba(7,27,42,.04)!important;
}
body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"] .b2s-more-dots i{
  background:var(--b2s-p-navy)!important;
}
body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"] .header-actions a,
body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"] .b2s-guest-account-link,
body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"] .b2s-guest-logout-link{
  opacity:1!important;visibility:visible!important;
  background:#fff!important;color:var(--b2s-p-ink)!important;border:1px solid var(--b2s-p-line)!important;
  box-shadow:none!important;
}

/* Remove legacy tinted headers / vertical rails / decorative gradients. */
body[data-portal-role="guest"] :is(.layout,.main,.page,.guest-shell,.b2s151-shell,.b2s40-comms,.b23-shell,.b23-result-shell){
  background:transparent!important;background-image:none!important;border-left:0!important;box-shadow:none!important;
}
body[data-portal-role="guest"] :is(.guest-head,.page-head,.b2s151-head,.b2s40-head,.b23-head,.b23-result-head){
  background:transparent!important;background-image:none!important;border:0!important;border-left:0!important;box-shadow:none!important;
  padding-left:0!important;padding-right:0!important;overflow:visible!important;
}
body[data-portal-role="guest"] :is(.guest-head,.page-head,.b2s151-head,.b2s40-head,.b23-head,.b23-result-head) :is(.kicker,.guest-kicker,.b2s151-kicker,.b23-kicker){
  margin-left:0!important;padding-left:0!important;text-indent:0!important;
}
body[data-portal-role="guest"] :is(.guest-head,.page-head,.b2s151-head,.b2s40-head,.b23-head,.b23-result-head) :is(h1,h2,p){
  margin-left:0!important;text-indent:0!important;
}

/* Messages: remove historical green theme and keep neutral/gold workspace states. */
body[data-portal-role="guest"] .b2s40-safety{
  background:var(--b2s-p-soft)!important;border-color:var(--b2s-p-line)!important;color:var(--b2s-p-ink)!important;
}
body[data-portal-role="guest"] .b2s40-safety :is(strong,p,span){color:var(--b2s-p-ink)!important}
body[data-portal-role="guest"] .b2s40-inbox,
body[data-portal-role="guest"] .b2s40-conversation,
body[data-portal-role="guest"] .b2s40-messages,
body[data-portal-role="guest"] .b2s40-conversation-head{
  background:#fff!important;background-image:none!important;color:var(--b2s-p-ink)!important;
}
body[data-portal-role="guest"] .b2s40-conversation-head{border-color:var(--b2s-p-line)!important}
body[data-portal-role="guest"] .b2s40-filters{gap:6px!important}
body[data-portal-role="guest"] .b2s40-filter{
  background:#fff!important;color:var(--b2s-p-muted)!important;border:1px solid var(--b2s-p-line)!important;
  border-radius:12px!important;min-height:38px!important;height:38px!important;padding:0 13px!important;
  font-size:11.5px!important;font-weight:720!important;box-shadow:none!important;
}
body[data-portal-role="guest"] .b2s40-filter.active{
  background:rgba(216,165,29,.13)!important;color:var(--b2s-p-navy)!important;border-color:rgba(216,165,29,.38)!important;
}
body[data-portal-role="guest"] .b2s40-new-support,
body[data-portal-role="guest"] .b2s40-send{
  background:var(--b2s-p-gold)!important;color:var(--b2s-p-navy-deep)!important;border-color:var(--b2s-p-gold)!important;
}

/* Trips: neutral empty/loading surfaces and no edge stripe. */
body[data-portal-role="guest"] .guest-panel,
body[data-portal-role="guest"] .guest-panel *{
  border-left-color:var(--b2s-p-line)!important;
}
body[data-portal-role="guest"] :is(.guest-empty,.guest-loading,[class*="guest-empty"],[class*="guest-loading"]){
  background:var(--b2s-p-soft)!important;color:var(--b2s-p-ink)!important;border-color:var(--b2s-p-line)!important;
}
body[data-portal-role="guest"] .guest-tab.active{
  background:rgba(216,165,29,.12)!important;border-color:rgba(216,165,29,.38)!important;color:var(--b2s-p-navy)!important;
}

/* Account page: use Admin-like outline navigation rather than a heavy black banner. */
body[data-portal-role="guest"] .b2s-account-home-link{
  background:#fff!important;color:var(--b2s-p-navy)!important;border:1px solid var(--b2s-p-line)!important;
  border-radius:999px!important;min-height:42px!important;height:42px!important;padding:0 14px!important;box-shadow:none!important;
}
body[data-portal-role="guest"] .b2s-account-section-copy{color:var(--b2s-p-muted)!important}

/* Full Provider setup hero: make it a workspace command card, not a dark marketing panel. */
body[data-portal-role="provider"] .s04-hero{
  background:#fff!important;background-image:none!important;color:var(--b2s-p-ink)!important;
  border:1px solid rgba(216,165,29,.52)!important;border-radius:22px!important;box-shadow:var(--b2s-p-shadow)!important;
  padding:24px!important;
}
body[data-portal-role="provider"] .s04-hero :is(h1,h2,strong){color:var(--b2s-p-navy)!important}
body[data-portal-role="provider"] .s04-hero :is(p,span){color:var(--b2s-p-muted)!important}
body[data-portal-role="provider"] .s04-hero .s04-kicker{color:var(--b2s-p-gold-strong)!important}
body[data-portal-role="provider"] .b2s2312-availability-panel{
  background:var(--b2s-p-soft)!important;background-image:none!important;border:1px solid var(--b2s-p-line)!important;
  color:var(--b2s-p-ink)!important;border-radius:16px!important;box-shadow:none!important;
}
body[data-portal-role="provider"] .b2s2312-availability-panel :is(strong,p,span,label){color:var(--b2s-p-ink)!important}
body[data-portal-role="provider"] .b2s2312-availability-panel p{color:var(--b2s-p-muted)!important}

@media(max-width:900px){
  body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"]{
    min-height:60px!important;height:60px!important;background:#fff!important;border-bottom:1px solid var(--b2s-p-line)!important;
    box-shadow:none!important;
  }
  body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"] .topbar-inner{
    min-height:60px!important;height:60px!important;background:#fff!important;
  }
  /* Logged-in Provider mobile gets a compact two-tab workspace navigation. */
  body[data-portal-role="provider"] .topbar:has(.b2s-provider-desktop-nav),
  body[data-portal-role="provider"] .b2s-provider-topbar:has(.b2s-provider-desktop-nav){
    height:104px!important;min-height:104px!important;
  }
  body[data-portal-role="provider"] .topbar:has(.b2s-provider-desktop-nav) .topbar-inner,
  body[data-portal-role="provider"] .b2s-provider-topbar:has(.b2s-provider-desktop-nav) .b2s-provider-topbar-inner{
    height:104px!important;min-height:104px!important;display:flex!important;flex-wrap:wrap!important;align-content:center!important;row-gap:4px!important;
  }
  body[data-portal-role="provider"] .b2s-provider-desktop-nav{
    display:flex!important;order:10!important;flex:0 0 100%!important;width:100%!important;margin:0!important;gap:6px!important;
  }
  body[data-portal-role="provider"] .b2s-provider-desktop-nav a{
    flex:1 1 0!important;min-width:0!important;height:34px!important;min-height:34px!important;padding:0 9px!important;border-radius:11px!important;
    justify-content:center!important;font-size:11.5px!important;
  }
  body[data-portal-role="provider"] .b2s-provider-desktop-nav a::before{width:15px!important;height:15px!important;flex-basis:15px!important}

  body[data-portal-role="guest"] .b2s40-head,
  body[data-portal-role="guest"] .guest-head,
  body[data-portal-role="guest"] .page-head,
  body[data-portal-role="guest"] .b2s151-head{
    padding:0!important;background:transparent!important;overflow:visible!important;
  }
  body[data-portal-role="guest"] .b2s40-safety{padding:12px!important;border-radius:14px!important}
  body[data-portal-role="guest"] .b2s40-safety p{font-size:11.5px!important;line-height:1.5!important}
  body[data-portal-role="guest"] .b2s40-filters{display:flex!important;overflow-x:auto!important;flex-wrap:nowrap!important;scrollbar-width:none!important;padding-bottom:2px!important}
  body[data-portal-role="guest"] .b2s40-filters::-webkit-scrollbar{display:none!important}
  body[data-portal-role="guest"] .b2s40-filter{flex:0 0 auto!important}
  body[data-portal-role="guest"] .b2s-account-home-link{width:auto!important;display:inline-flex!important;margin-top:8px!important}
  body[data-portal-role="provider"] .s04-hero{padding:17px!important;border-radius:18px!important}
  body[data-portal-role="provider"] .s04-hero h1{font-size:28px!important}
  body[data-portal-role="provider"] .s04-hero>p{display:none!important}
  body[data-portal-role="provider"] .b2s2312-availability-panel{padding:12px!important;border-radius:14px!important}
}

/* 28.22.9.2 — desktop Guest action de-duplication */
@media(min-width:901px){
  body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"] .header-actions .b2s-guest-account-link{display:none!important}
  body[data-portal-role="guest"] .topbar[data-b2s-topbar-role="guest"] .header-actions .b2s-guest-logout-link{
    display:inline-flex!important;background:#fff!important;color:var(--b2s-p-ink)!important;border:1px solid var(--b2s-p-line)!important;
    min-height:40px!important;height:40px!important;padding:0 14px!important;border-radius:999px!important;
  }
}

/* 28.22.9.3 — compact guest actions are always one line */
body[data-portal-role="guest"] .b2s-gh-btn{
  white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;min-width:0!important;
}
