/**
 * BUPHA Commerce PWA Consistency Layer
 * Version 1.2.28.0
 *
 * Authoritative mobile/PWA layout layer. This file is deliberately loaded
 * after legacy frontend, portal, native, CRM and Operations styles so older
 * version-specific patches cannot fight over safe-area, app bars, navigation,
 * card spacing and viewport height.
 */
:root {
  --bupha-pwa-safe-top: env(safe-area-inset-top, 0px);
  --bupha-pwa-safe-right: env(safe-area-inset-right, 0px);
  --bupha-pwa-safe-bottom: env(safe-area-inset-bottom, 0px);
  --bupha-pwa-safe-left: env(safe-area-inset-left, 0px);
  --bupha-pwa-topbar-height: 64px;
  --bupha-pwa-bottom-nav-height: 72px;
  --bupha-pwa-gutter: 14px;
  --bupha-pwa-radius: 16px;
  --bupha-pwa-radius-lg: 20px;
  --bupha-pwa-border: #dfe9e3;
  --bupha-pwa-surface: #fff;
  --bupha-pwa-surface-soft: #f4f8f5;
  --bupha-pwa-bg: #f4f7f5;
  --bupha-pwa-text: #173d2a;
  --bupha-pwa-muted: #6d7d74;
  --bupha-pwa-primary: #0d7744;
  --bupha-pwa-shadow: 0 8px 24px rgba(18, 79, 55, .065);
}

/* Avoid stale full-page loaders from older cached builds on every app surface. */
body.bupha-native-page .bupha-dashboard-initial-loader,
body.bupha-native-dashboard-route .bupha-dashboard-initial-loader,
body.bupha-crm-workspace .bupha-dashboard-initial-loader,
body.bupha-ops-workspace .bupha-dashboard-initial-loader {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Common touch/focus behavior. */
body.bupha-native-page :where(button,a,input,select,textarea),
body.bupha-native-dashboard-route :where(button,a,input,select,textarea),
body.bupha-crm-workspace :where(button,a,input,select,textarea),
body.bupha-ops-workspace :where(button,a,input,select,textarea) {
  -webkit-tap-highlight-color: transparent;
}
body.bupha-native-page :where(button,a,input,select,textarea):focus-visible,
body.bupha-native-dashboard-route :where(button,a,input,select,textarea):focus-visible,
body.bupha-crm-workspace :where(button,a,input,select,textarea):focus-visible,
body.bupha-ops-workspace :where(button,a,input,select,textarea):focus-visible {
  outline: 3px solid rgba(13,119,68,.18);
  outline-offset: 2px;
}

/* Installed PWA: status-bar safe area is handled once here. */
@media (display-mode: standalone), (display-mode: fullscreen), (display-mode: minimal-ui) {
  html,
  body.bupha-native-page,
  body.bupha-native-dashboard-route,
  body.bupha-crm-workspace,
  body.bupha-ops-workspace {
    min-height: 100dvh;
    background: var(--bupha-pwa-bg);
  }
  body.bupha-native-page .bupha-native-top {
    padding-top: calc(8px + var(--bupha-pwa-safe-top)) !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-portal-topbar {
    padding-top: calc(9px + var(--bupha-pwa-safe-top)) !important;
  }
}

/* Native commerce + Customer/Partner dashboard. */
@media (max-width: 767px) {
  html,
  body.bupha-native-page,
  body.bupha-native-dashboard-route {
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    background: var(--bupha-pwa-bg) !important;
  }

  body.bupha-native-page {
    min-height: 100dvh;
  }
  body.bupha-native-page .bupha-native-shell {
    min-height: 100dvh;
    background: var(--bupha-pwa-bg);
  }
  body.bupha-native-page .bupha-native-top {
    position: sticky !important;
    z-index: 1000 !important;
    top: 0 !important;
    min-height: var(--bupha-pwa-topbar-height) !important;
    padding: 8px max(var(--bupha-pwa-gutter), var(--bupha-pwa-safe-right)) 8px max(var(--bupha-pwa-gutter), var(--bupha-pwa-safe-left)) !important;
    border-bottom: 1px solid var(--bupha-pwa-border) !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 4px 16px rgba(19,61,43,.055) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  body.bupha-native-page .bupha-native-main {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 14px max(12px, var(--bupha-pwa-safe-right)) calc(var(--bupha-pwa-bottom-nav-height) + var(--bupha-pwa-safe-bottom) + 22px) max(12px, var(--bupha-pwa-safe-left)) !important;
    box-sizing: border-box !important;
  }
  body.bupha-native-page.bupha-native-route-login .bupha-native-main,
  body.bupha-native-page.bupha-native-route-payment .bupha-native-main {
    padding-bottom: calc(24px + var(--bupha-pwa-safe-bottom)) !important;
  }
  body.bupha-native-page .bupha-native-bottom {
    position: fixed !important;
    z-index: 1000 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: flex !important;
    min-height: calc(var(--bupha-pwa-bottom-nav-height) + var(--bupha-pwa-safe-bottom)) !important;
    gap: 2px !important;
    padding: 6px max(7px,var(--bupha-pwa-safe-right)) calc(6px + var(--bupha-pwa-safe-bottom)) max(7px,var(--bupha-pwa-safe-left)) !important;
    border-top: 1px solid var(--bupha-pwa-border) !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 -5px 18px rgba(13,46,36,.08) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    box-sizing: border-box !important;
  }
  body.bupha-native-page .bupha-native-bottom a {
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 6px 3px !important;
    border-radius: 12px !important;
    overflow: hidden;
  }
  body.bupha-native-page .bupha-native-bottom a span:last-child {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.bupha-native-page :where(.bupha-native-page-head,.bupha-native-product,.bupha-native-empty,.bupha-native-catalog-tools,.bupha-cart,.bupha-checkout-wrap,.bupha-payment-detail,.bupha-public-product-detail) {
    max-width: 100%;
    box-sizing: border-box;
  }
  body.bupha-native-page :where(.bupha-native-product,.bupha-native-empty,.bupha-cart,.bupha-checkout-wrap,.bupha-payment-detail,.bupha-public-product-detail) {
    border-radius: var(--bupha-pwa-radius-lg) !important;
  }
  body.bupha-native-page :where(input:not([type=checkbox]):not([type=radio]),select,textarea,button,.button) {
    min-height: 44px;
  }

  /* Product mobile CTA must sit above the app navigation, not under it. */
  body.bupha-native-route-product .bupha-native-actions {
    bottom: calc(var(--bupha-pwa-bottom-nav-height) + var(--bupha-pwa-safe-bottom)) !important;
    padding-right: max(12px,var(--bupha-pwa-safe-right)) !important;
    padding-left: max(12px,var(--bupha-pwa-safe-left)) !important;
  }
  body.bupha-native-route-product .bupha-native-product {
    padding-bottom: 104px !important;
  }

  /* Checkout progress and wide filters remain usable without stretching the viewport. */
  body.bupha-native-page .bupha-native-steps,
  body.bupha-native-route-orders .bupha-customer-order-tabs,
  body.bupha-native-dashboard-route .bupha-customer-order-status-tabs,
  body.bupha-native-dashboard-route .bupha-partner-dashboard-menu {
    max-width: 100%;
    overscroll-behavior-inline: contain;
  }

  /* Dashboard shell: one canonical top bar + one canonical bottom menu. */
  body.bupha-native-dashboard-route #bupha-customer-portal[data-bupha-customer-dashboard] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding:
      calc(var(--bupha-pwa-topbar-height) + var(--bupha-pwa-safe-top) + 14px)
      max(12px,var(--bupha-pwa-safe-right))
      calc(var(--bupha-pwa-bottom-nav-height) + var(--bupha-pwa-safe-bottom) + 18px)
      max(12px,var(--bupha-pwa-safe-left)) !important;
    box-sizing: border-box !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-portal-topbar {
    position: fixed !important;
    z-index: 99980 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    min-height: calc(var(--bupha-pwa-topbar-height) + var(--bupha-pwa-safe-top)) !important;
    margin: 0 !important;
    padding: calc(9px + var(--bupha-pwa-safe-top)) max(14px,var(--bupha-pwa-safe-right)) 9px max(14px,var(--bupha-pwa-safe-left)) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--bupha-pwa-border) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 4px 16px rgba(13,46,36,.075) !important;
    box-sizing: border-box !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal > .bupha-customer-dashboard-shell {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal > .bupha-customer-dashboard-shell > .bupha-customer-dashboard-menu {
    position: fixed !important;
    z-index: 99990 !important;
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    display: flex !important;
    width: 100% !important;
    height: calc(var(--bupha-pwa-bottom-nav-height) + var(--bupha-pwa-safe-bottom)) !important;
    margin: 0 !important;
    padding: 6px max(7px,var(--bupha-pwa-safe-right)) calc(6px + var(--bupha-pwa-safe-bottom)) max(7px,var(--bupha-pwa-safe-left)) !important;
    border: 0 !important;
    border-top: 1px solid var(--bupha-pwa-border) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 -5px 18px rgba(13,46,36,.08) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-menu :where(a,button) {
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 6px 3px !important;
    border-radius: 12px !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal :where(
    .bupha-portal-welcome,
    .bupha-customer-profile-summary-card,
    .bupha-customer-address-card,
    .bupha-customer-order-sticky-area,
    .bupha-customer-placeholder-card,
    .bupha-customer-article-detail,
    .bupha-partner-dashboard-section,
    .bupha-partner-registration,
    .bupha-customer-notification-card
  ) {
    max-width: 100% !important;
    border-radius: var(--bupha-pwa-radius-lg) !important;
    box-sizing: border-box !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal :where(
    .bupha-customer-profile-summary-card,
    .bupha-customer-address-card,
    .bupha-customer-placeholder-card,
    .bupha-partner-dashboard-section,
    .bupha-partner-registration
  ) {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }
  body.bupha-native-route-orders #bupha-customer-portal :where(.bupha-customer-orders-header,.bupha-customer-order-sticky-area) {
    top: calc(var(--bupha-pwa-topbar-height) + var(--bupha-pwa-safe-top)) !important;
  }
  body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-tabs {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none;
  }
  body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-tabs::-webkit-scrollbar { display:none; }
  body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-tabs > * { flex:0 0 auto !important; }
}

/* WordPress-backed CRM / Operations workspaces used as installed app pages. */
@media (max-width: 782px) {
  body.bupha-crm-workspace,
  body.bupha-ops-workspace {
    --bupha-pwa-bottom-nav-height: 70px;
    min-height: 100dvh !important;
    overflow-x: clip;
    background: var(--bupha-pwa-bg) !important;
  }
  body.bupha-crm-workspace #wpbody-content,
  body.bupha-ops-workspace #wpbody-content {
    float: none !important;
    min-height: 100dvh !important;
    padding-bottom: calc(var(--bupha-pwa-bottom-nav-height) + var(--bupha-pwa-safe-bottom) + 14px) !important;
    box-sizing: border-box !important;
  }
  body.bupha-crm-restricted #wpadminbar,
  body.bupha-crm-restricted #adminmenumain,
  body.bupha-crm-restricted #wpfooter,
  body.bupha-ops-restricted #wpadminbar,
  body.bupha-ops-restricted #adminmenumain,
  body.bupha-ops-restricted #wpfooter {
    display: none !important;
  }
  body.bupha-crm-restricted #wpcontent,
  body.bupha-ops-restricted #wpcontent {
    margin: 0 !important;
    padding: 0 !important;
  }
  body.bupha-crm-workspace :where(.bupha-crm-app,.bupha-wa-shell,.wrap),
  body.bupha-ops-workspace :where(.bupha-ops-app,.wrap) {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  body.bupha-crm-workspace .bupha-crm-mobile-nav,
  body.bupha-ops-workspace .bupha-crm-mobile-nav {
    position: fixed !important;
    z-index: 99997 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    min-height: calc(var(--bupha-pwa-bottom-nav-height) + var(--bupha-pwa-safe-bottom)) !important;
    padding-bottom: var(--bupha-pwa-safe-bottom) !important;
    border-top: 1px solid var(--bupha-pwa-border) !important;
    background: rgba(255,255,255,.985) !important;
    box-shadow: 0 -5px 18px rgba(13,46,36,.08) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  body.bupha-crm-workspace .bupha-wa-mobile-appbar {
    top: 0 !important;
    min-height: calc(60px + var(--bupha-pwa-safe-top)) !important;
    height: auto !important;
    padding-top: var(--bupha-pwa-safe-top) !important;
  }
  body.bupha-ops-workspace :where(.bupha-ops-page-head,.bupha-ops-hero,.bupha-ops-order-detail-head) {
    top: 0 !important;
  }
  body.bupha-crm-workspace :where(input:not([type=checkbox]):not([type=radio]),select,textarea,button,.button),
  body.bupha-ops-workspace :where(input:not([type=checkbox]):not([type=radio]),select,textarea,button,.button) {
    min-height: 44px;
  }
}

/* Install modal is also part of the PWA experience. */
.bupha-install-prompt {
  padding:
    max(16px,var(--bupha-pwa-safe-top))
    max(16px,var(--bupha-pwa-safe-right))
    max(16px,var(--bupha-pwa-safe-bottom))
    max(16px,var(--bupha-pwa-safe-left)) !important;
  box-sizing: border-box;
}
.bupha-install-prompt-card {
  max-width: min(440px,100%) !important;
  max-height: calc(100dvh - var(--bupha-pwa-safe-top) - var(--bupha-pwa-safe-bottom) - 32px) !important;
  overflow: auto;
  border-radius: var(--bupha-pwa-radius-lg) !important;
}

@media (prefers-reduced-motion: reduce) {
  body.bupha-native-page *,
  body.bupha-native-dashboard-route *,
  body.bupha-crm-workspace *,
  body.bupha-ops-workspace * {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* v1.2.27.9 — Native transaction surfaces: one header, one typography authority, compact Cart/Checkout. */
body.bupha-native-route-cart .bupha-native-nav,
body.bupha-native-route-checkout .bupha-native-nav,
body.bupha-native-route-payment .bupha-native-nav{
  display:none!important;
}
body.bupha-native-route-cart .bupha-native-heading,
body.bupha-native-route-checkout .bupha-native-heading,
body.bupha-native-route-payment .bupha-native-heading{
  flex:1;
  text-align:center;
}
body.bupha-native-route-cart .bupha-native-top::after,
body.bupha-native-route-checkout .bupha-native-top::after,
body.bupha-native-route-payment .bupha-native-top::after{
  content:"";
  width:40px;
  flex:0 0 40px;
}
body.bupha-native-route-cart .bupha-native-subtitle,
body.bupha-native-route-checkout .bupha-native-subtitle,
body.bupha-native-route-payment .bupha-native-subtitle{
  display:none!important;
}
body.bupha-native-route-cart .bupha-native-title,
body.bupha-native-route-checkout .bupha-native-title,
body.bupha-native-route-payment .bupha-native-title{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.bupha-native-route-checkout .bupha-checkout-wrap.is-native-checkout{
  width:100%!important;
  max-width:760px!important;
  margin:0 auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.bupha-native-route-checkout .bupha-checkout-wrap.is-native-checkout .bupha-checkout-topbar{
  display:none!important;
}

/* The semantic number is already rendered inside <span>; disable browser OL numbering. */
body.bupha-native-page .bupha-native-steps{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:min(100%,620px)!important;
  max-width:620px!important;
  margin:2px auto 18px!important;
  padding:0!important;
  list-style:none!important;
  counter-reset:none!important;
}
body.bupha-native-page .bupha-native-steps>li{
  position:relative!important;
  display:grid!important;
  grid-template-columns:28px minmax(0,auto)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  padding:0 6px!important;
  list-style:none!important;
  color:#87958e!important;
}
body.bupha-native-page .bupha-native-steps>li::marker{content:""!important;font-size:0!important}
body.bupha-native-page .bupha-native-steps>li>span{
  position:relative!important;
  z-index:2!important;
  display:grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border:2px solid #d8e3dd!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#74837b!important;
  font-size:11px!important;
  font-weight:800!important;
}
body.bupha-native-page .bupha-native-steps>li>strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-family:var(--bupha-font-menu,inherit)!important;
  font-size:var(--bupha-font-menu-size,13px)!important;
  font-weight:var(--bupha-font-menu-weight,600)!important;
}
body.bupha-native-page .bupha-native-steps>li:not(:last-child)::after{
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  top:13px!important;
  left:calc(50% + 34px)!important;
  right:calc(-50% + 34px)!important;
  height:2px!important;
  background:#dfe7e2!important;
}
body.bupha-native-page .bupha-native-steps>li.is-current,
body.bupha-native-page .bupha-native-steps>li.is-done{color:var(--bupha-pwa-primary)!important}
body.bupha-native-page .bupha-native-steps>li.is-current>span,
body.bupha-native-page .bupha-native-steps>li.is-done>span{
  border-color:var(--bupha-pwa-primary)!important;
  background:var(--bupha-pwa-primary)!important;
  color:#fff!important;
}
body.bupha-native-page .bupha-native-steps>li.is-done:not(:last-child)::after{background:var(--bupha-pwa-primary)!important}

/* Cart native route no longer inherits the legacy dashboard focused-cart mode. */
body.bupha-native-route-cart .bupha-cart:not(.bupha-checkout-cart){
  display:grid!important;
  gap:12px!important;
  width:min(100%,760px)!important;
  min-height:0!important;
  margin:0 auto!important;
  padding:0 0 calc(var(--bupha-pwa-bottom-nav-height) + var(--bupha-pwa-safe-bottom) + 84px)!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.bupha-native-route-cart .bupha-cart-page-head{display:none!important}
body.bupha-native-route-cart .bupha-cart-items{display:grid!important;gap:10px!important;padding:0!important}
body.bupha-native-route-cart .bupha-cart:not(.bupha-checkout-cart) .bupha-cart-item,
body.bupha-native-route-checkout .bupha-checkout-cart .bupha-cart-item{
  border:1px solid var(--bupha-pwa-border)!important;
  border-radius:var(--bupha-pwa-radius-lg)!important;
  background:#fff!important;
  box-shadow:var(--bupha-pwa-shadow)!important;
}
body.bupha-native-route-cart .bupha-cart-footer{
  position:fixed!important;
  z-index:980!important;
  right:max(var(--bupha-pwa-gutter),var(--bupha-pwa-safe-right))!important;
  bottom:calc(var(--bupha-pwa-bottom-nav-height) + var(--bupha-pwa-safe-bottom) + 8px)!important;
  left:max(var(--bupha-pwa-gutter),var(--bupha-pwa-safe-left))!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:10px 12px!important;
  border:1px solid var(--bupha-pwa-border)!important;
  border-radius:var(--bupha-pwa-radius-lg)!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 10px 30px rgba(18,63,48,.14)!important;
}
body.bupha-native-route-cart .bupha-cart-footer-total>span,
body.bupha-native-route-cart .bupha-cart-footer-total>small{
  font-family:var(--bupha-font-helper,inherit)!important;
  font-size:var(--bupha-font-helper-size,12px)!important;
}
body.bupha-native-route-cart .bupha-cart-footer-total>strong{
  font-family:var(--bupha-font-heading,inherit)!important;
  font-size:calc(var(--bupha-font-heading-size,20px) * .9)!important;
  font-weight:var(--bupha-font-heading-weight,700)!important;
}

body.bupha-native-route-checkout .bupha-checkout-cart{
  display:grid!important;
  gap:10px!important;
  width:100%!important;
  margin:0 0 12px!important;
}
body.bupha-native-route-checkout .bupha-checkout-form{
  display:grid!important;
  gap:12px!important;
  width:100%!important;
  margin:0!important;
}
body.bupha-native-route-checkout :where(.bupha-checkout-address-picker,.bupha-shipping-box,.bupha-payment-box,.bupha-checkout-summary,.bupha-checkout-form>label:not(.bupha-whatsapp-marketing-consent)){
  border:1px solid var(--bupha-pwa-border)!important;
  border-radius:var(--bupha-pwa-radius-lg)!important;
  background:#fff!important;
  box-shadow:var(--bupha-pwa-shadow)!important;
}
body.bupha-native-route-checkout .bupha-checkout-button{
  position:static!important;
  width:100%!important;
  margin:2px 0 0!important;
}

@media(max-width:767px){
  body.bupha-native-route-cart .bupha-native-main,
  body.bupha-native-route-checkout .bupha-native-main{
    padding-top:12px!important;
  }
  body.bupha-native-route-cart .bupha-native-top,
  body.bupha-native-route-checkout .bupha-native-top,
  body.bupha-native-route-payment .bupha-native-top{
    min-height:58px!important;
    padding-top:calc(7px + var(--bupha-pwa-safe-top))!important;
    padding-bottom:7px!important;
  }
  body.bupha-native-route-cart .bupha-native-back,
  body.bupha-native-route-checkout .bupha-native-back,
  body.bupha-native-route-payment .bupha-native-back{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
    border-radius:var(--bupha-pwa-radius)!important;
  }
  body.bupha-native-route-cart .bupha-native-top::after,
  body.bupha-native-route-checkout .bupha-native-top::after,
  body.bupha-native-route-payment .bupha-native-top::after{width:40px;flex-basis:40px}
  body.bupha-native-route-cart .bupha-native-title,
  body.bupha-native-route-checkout .bupha-native-title,
  body.bupha-native-route-payment .bupha-native-title{
    font-family:var(--bupha-font-heading,inherit)!important;
    font-size:calc(var(--bupha-font-heading-size,20px) * .9)!important;
    font-weight:var(--bupha-font-heading-weight,700)!important;
  }
  body.bupha-native-page .bupha-native-steps{
    margin:0 auto 14px!important;
  }
  body.bupha-native-page .bupha-native-steps>li{
    grid-template-columns:24px minmax(0,auto)!important;
    gap:4px!important;
    padding:0 2px!important;
  }
  body.bupha-native-page .bupha-native-steps>li>span{
    width:24px!important;
    height:24px!important;
    font-size:10px!important;
  }
  body.bupha-native-page .bupha-native-steps>li>strong{
    font-size:min(var(--bupha-font-menu-size,13px),12px)!important;
  }
  body.bupha-native-page .bupha-native-steps>li:not(:last-child)::after{
    top:11px!important;
    left:calc(50% + 29px)!important;
    right:calc(-50% + 29px)!important;
  }
  body.bupha-native-route-cart .bupha-cart:not(.bupha-checkout-cart) .bupha-cart-item{
    display:grid!important;
    grid-template-columns:22px 64px minmax(0,1fr)!important;
    gap:9px!important;
    padding:11px!important;
  }
  body.bupha-native-route-cart .bupha-cart:not(.bupha-checkout-cart) .bupha-cart-thumb{
    width:64px!important;
    height:64px!important;
    border-radius:calc(var(--bupha-pwa-radius) - 2px)!important;
  }
  body.bupha-native-route-cart .bupha-cart-product-name,
  body.bupha-native-route-checkout .bupha-cart-product-name{
    font-family:var(--bupha-font-content,inherit)!important;
    font-size:var(--bupha-font-content-size,14px)!important;
    font-weight:700!important;
  }
  body.bupha-native-route-cart .bupha-cart-item-bottom{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:8px!important;
    flex-wrap:wrap!important;
  }
  body.bupha-native-route-cart .bupha-cart-footer{
    grid-template-columns:minmax(0,.85fr) minmax(145px,1.15fr)!important;
    gap:8px!important;
  }
  body.bupha-native-route-checkout .bupha-checkout-cart .bupha-cart-item{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    gap:10px!important;
    padding:11px!important;
  }
  body.bupha-native-route-checkout .bupha-checkout-cart .bupha-cart-thumb{
    grid-column:1!important;
    width:64px!important;
    height:64px!important;
    border-radius:calc(var(--bupha-pwa-radius) - 2px)!important;
  }
  body.bupha-native-route-checkout .bupha-checkout-cart .bupha-cart-body{
    grid-column:2!important;
  }
  body.bupha-native-route-checkout .bupha-checkout-cart .bupha-cart-item-bottom{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:8px!important;
  }
  body.bupha-native-route-checkout :where(.bupha-checkout-address-picker,.bupha-shipping-box,.bupha-payment-box,.bupha-checkout-summary,.bupha-checkout-form>label:not(.bupha-whatsapp-marketing-consent)){
    padding:13px!important;
  }
}

/* v1.2.28.0 — Unified Member App surfaces.
 * Logged Customer/Partner commerce routes live inside one dashboard shell.
 * Public Store keeps its own guest shell; transaction logic is unchanged.
 */
body.bupha-unified-member-app{
  background:var(--bupha-pwa-bg,#f4f7f5)!important;
}
body.bupha-unified-member-app .bupha-member-shop-panel,
body.bupha-unified-member-app .bupha-member-wishlist-panel,
body.bupha-unified-member-app .bupha-member-checkout-panel,
body.bupha-unified-member-app .bupha-member-payment-panel,
body.bupha-unified-member-app .bupha-member-order-detail-panel{
  min-width:0;
}
body.bupha-unified-member-app .bupha-member-shop-panel.is-active,
body.bupha-unified-member-app .bupha-member-wishlist-panel.is-active,
body.bupha-unified-member-app .bupha-member-checkout-panel.is-active,
body.bupha-unified-member-app .bupha-member-payment-panel.is-active,
body.bupha-unified-member-app .bupha-member-order-detail-panel.is-active{
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.bupha-unified-member-app .bupha-member-shop-panel .bupha-native-page-head,
body.bupha-unified-member-app .bupha-member-wishlist-panel .bupha-native-page-head{
  margin-top:0!important;
}
body.bupha-unified-member-app .bupha-member-shop-panel .bupha-native-catalog-tools{
  top:calc(var(--bupha-pwa-topbar-height,64px) + 8px)!important;
}
body.bupha-unified-member-app .bupha-member-transaction-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 14px;
  padding:14px 16px;
  border:1px solid #dfe9e3;
  border-radius:var(--bupha-pwa-radius,18px);
  background:#fff;
}
body.bupha-unified-member-app .bupha-member-transaction-head>a,
body.bupha-unified-member-app .bupha-member-payment-back>a{
  color:#17663b;
  font-family:var(--bupha-font-menu,inherit);
  font-size:var(--bupha-font-menu-size,13px);
  font-weight:700;
  text-decoration:none;
}
body.bupha-unified-member-app .bupha-member-transaction-head span{
  display:block;
  margin-bottom:3px;
  color:#6d7d74;
  font-family:var(--bupha-font-label,inherit);
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
}
body.bupha-unified-member-app .bupha-member-transaction-head h2{
  margin:0!important;
  color:#173d2a!important;
  font-family:var(--bupha-font-heading,inherit)!important;
  font-size:var(--bupha-font-heading-size,20px)!important;
  font-weight:var(--bupha-font-heading-weight,700)!important;
}
body.bupha-unified-member-app .bupha-member-payment-back{
  margin:0 0 9px;
}
body.bupha-unified-member-app .bupha-member-payment-panel .bupha-payment-detail,
body.bupha-unified-member-app .bupha-member-checkout-panel .bupha-checkout-form,
body.bupha-unified-member-app .bupha-customer-cart-panel .bupha-cart{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  box-sizing:border-box!important;
}
body.bupha-unified-member-app .bupha-member-payment-panel .bupha-payment-detail-header h3{
  font-family:var(--bupha-font-heading,inherit)!important;
  font-size:var(--bupha-font-heading-size,20px)!important;
  font-weight:var(--bupha-font-heading-weight,700)!important;
}
body.bupha-unified-member-app .bupha-member-order-detail-panel .bupha-native-order-detail{
  width:100%;
  max-width:none;
  margin:0;
}
@media(max-width:767px){
  body.bupha-unified-member-app .bupha-member-shop-panel .bupha-native-catalog-tools{
    top:calc(var(--bupha-pwa-topbar-height,62px) + env(safe-area-inset-top,0px))!important;
  }
  body.bupha-unified-member-app .bupha-member-transaction-head{
    gap:10px;
    margin-bottom:10px;
    padding:11px 12px;
    border-radius:calc(var(--bupha-pwa-radius,16px) - 1px);
  }
  body.bupha-unified-member-app .bupha-member-transaction-head h2{
    font-size:var(--bupha-font-heading-size,18px)!important;
  }
  body.bupha-unified-member-app .bupha-member-payment-panel,
  body.bupha-unified-member-app .bupha-member-checkout-panel,
  body.bupha-unified-member-app .bupha-customer-cart-panel{
    padding-bottom:calc(var(--bupha-pwa-bottom-nav-height,70px) + env(safe-area-inset-bottom,0px) + 12px)!important;
  }
}

/* v1.2.32.5 — final authority: compact workspace page headers. */
@media(max-width:860px){
  body.bupha-crm-workspace .bupha-app-compact-header,
  body.bupha-ops-workspace .bupha-app-compact-header,
  body.bupha-ops-restricted .bupha-app-compact-header {
    top:0 !important;
    min-height:calc(64px + env(safe-area-inset-top,0px)) !important;
    margin:0 -14px 14px !important;
    padding:calc(9px + env(safe-area-inset-top,0px)) 18px 9px !important;
    border-radius:0 0 20px 20px !important;
  }
  body.bupha-ops-workspace .bupha-ops-hero.bupha-app-compact-header,
  body.bupha-ops-workspace .bupha-ops-page-head.bupha-app-compact-header,
  body.bupha-crm-workspace .bupha-crm-page-hero.bupha-app-compact-header {
    align-items:center !important;
    justify-content:flex-start !important;
  }
  body.bupha-ops-workspace .bupha-ops-hero.bupha-app-compact-header h1,
  body.bupha-ops-workspace .bupha-ops-page-head.bupha-app-compact-header h1,
  body.bupha-crm-workspace .bupha-crm-page-hero.bupha-app-compact-header h1 {
    margin:0 !important;
    font-size:19px !important;
  }
  body.bupha-crm-workspace .bupha-wa-inbox-page.is-list-view .bupha-wa-mobile-appbar {
    min-height:calc(60px + env(safe-area-inset-top,0px)) !important;
    margin:0 !important;
    padding:calc(8px + env(safe-area-inset-top,0px)) 16px 8px !important;
    border-radius:0 !important;
  }
}


/* v1.2.32.14 — Inbox list shell is viewport-owned; avoid sticky/blur composition. */
@media(max-width:860px){
  body.bupha-crm-workspace.bupha-wa-inbox-workspace .bupha-wa-inbox-page.is-list-view .bupha-wa-mobile-appbar{position:relative!important;top:auto!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}
