/**
 * Bupha customer & partner portal v2.
 * Scoped to .bupha-portal-v2 so checkout and public landing pages stay intact.
 */

.bupha-portal-v2 {
  --bupha-portal-green: #064e3b;
  --bupha-portal-green-2: #0b6b50;
  --bupha-portal-mint: #e9f7f1;
  --bupha-portal-cream: #fbfaf6;
  --bupha-portal-ink: #172b24;
  --bupha-portal-muted: #66766f;
  --bupha-portal-line: #e4ebe7;
  --bupha-portal-danger: #b42318;
  --bupha-portal-shadow: 0 12px 36px rgba(16, 55, 43, .08);
  width: min(100%, 1280px) !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: clamp(12px, 2vw, 26px) !important;
  color: var(--bupha-portal-ink);
  background:
    radial-gradient(circle at 0 0, rgba(181, 226, 207, .28), transparent 28rem),
    var(--bupha-portal-cream);
  border-radius: 28px;
  box-sizing: border-box;
  isolation: isolate;
}

/* v1.2.12.40 fixed top menu and independently configurable mobile navigation */
.bupha-portal-v2 .bupha-portal-topbar {
  justify-content: flex-start;
}

.bupha-portal-v2 .bupha-portal-topbar-item {
  flex: 0 0 auto;
  min-width: 0;
}

.bupha-portal-v2 .bupha-portal-topbar-item.is-account-name {
  flex: 1 1 auto;
  overflow: hidden;
}

.bupha-portal-v2 .bupha-portal-topbar-item.is-action-start {
  margin-left: auto;
}

.bupha-portal-v2 .bupha-portal-topbar-slot {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bupha-portal-v2 .bupha-portal-topbar-slot:empty {
  display: none;
}

.bupha-portal-v2 .bupha-portal-cart-fallback {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: #fff !important;
  background: linear-gradient(145deg, #087b5d, var(--bupha-portal-green));
  border-radius: 14px;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(6, 78, 59, .18);
}

.bupha-portal-v2 .bupha-portal-cart-fallback > span:first-child {
  font-size: 17px !important;
  line-height: 1;
}

.bupha-portal-v2 .bupha-portal-cart-fallback .bupha-cart-count {
  position: absolute !important;
  top: -5px !important;
  right: -5px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 19px !important;
  width: auto !important;
  height: 19px !important;
  padding: 0 5px !important;
  color: #fff !important;
  background: #dc2626 !important;
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  font-size: 8px !important;
  line-height: 1 !important;
}

.bupha-portal-v2 .bupha-portal-topbar-slot .bupha-portal-action {
  position: relative !important;
  inset: auto !important;
  z-index: auto !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

.bupha-portal-v2 .bupha-portal-topbar-slot .bupha-portal-action-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

.bupha-portal-action-suppressed,
.bupha-portal-quick-actions.is-portal-handled {
  display: none !important;
}

@media (max-width: 767px) {
  /*
   * Astra/Elementor may retain an empty mobile header placeholder above the
   * dashboard. The Bupha menu is the only header on portal pages.
   */
  body.has-bupha-dashboard-portal #masthead,
  body.has-bupha-dashboard-portal header#masthead,
  body.has-bupha-dashboard-portal .site-header,
  body.has-bupha-dashboard-portal .ast-mobile-header-wrap,
  body.has-bupha-dashboard-portal .elementor-location-header {
    display: none !important;
  }

  body.has-bupha-dashboard-portal #content,
  body.has-bupha-dashboard-portal .site-content,
  body.has-bupha-dashboard-portal .ast-container,
  body.has-bupha-dashboard-portal .content-area,
  body.has-bupha-dashboard-portal .site-main,
  body.has-bupha-dashboard-portal .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  body.has-bupha-dashboard-portal .elementor-element:has(#bupha-customer-portal),
  body.has-bupha-dashboard-portal .elementor-widget-container:has(> #bupha-customer-portal) {
    --padding-top: 0px;
    --margin-top: 0px;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html.has-bupha-dashboard-portal {
    scroll-padding-top: 70px;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 {
    padding-top: 6px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar {
    position: sticky !important;
    top: 0 !important;
    z-index: 99980 !important;
    min-height: 58px !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 7px 22px rgba(13,46,36,.12) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-item.is-account-name {
    flex-basis: 52px;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-slot .bupha-portal-action,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-cart-fallback {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    border-radius: 11px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view > .bupha-customer-dashboard-shell > .bupha-customer-dashboard-menu {
    display: none !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu {
    position: fixed !important;
    top: auto !important;
    right: max(6px, env(safe-area-inset-right, 0px)) !important;
    bottom: max(6px, env(safe-area-inset-bottom, 0px)) !important;
    left: max(6px, env(safe-area-inset-left, 0px)) !important;
    z-index: 99990 !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 2px !important;
    width: auto !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 5px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(215,226,220,.95) !important;
    border-radius: 17px !important;
    box-shadow: 0 10px 28px rgba(13,46,36,.16) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > button,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > a,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-more {
    position: relative;
    display: flex !important;
    flex: 1 1 20% !important;
    flex-direction: column;
    align-items: center;
    justify-content: center !important;
    gap: 2px !important;
    min-width: 0 !important;
    width: auto !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 3px 2px !important;
    overflow: hidden;
    border: 0 !important;
    border-radius: 12px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    text-align: center !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > button::before,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > a::before,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-more::before {
    content: attr(data-bupha-menu-icon);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
    font-size: 15px;
    line-height: 1;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-more > span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-more select {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    opacity: 0;
    cursor: pointer;
  }
}

/* v1.2.12.42 — Partnership form, order filters and home catalogue */
.bupha-portal-v2 .bupha-partner-registration-portal-head {
  margin: 0 0 10px !important;
}

.bupha-portal-v2 .bupha-partner-registration-back {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 12px;
  color: var(--bupha-portal-green) !important;
  background: #fff;
  border: 1px solid var(--bupha-portal-line);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
}

.bupha-portal-v2 .bupha-partner-registration {
  width: 100%;
  max-width: none;
}

.bupha-portal-v2 .bupha-partner-registration-head {
  margin: 0 0 16px;
  padding: 20px 22px;
  background:
    radial-gradient(circle at 95% 15%, rgba(255,255,255,.16), transparent 9rem),
    linear-gradient(135deg, #0e7657, #064e3b);
  border-radius: 20px;
  box-shadow: 0 12px 28px rgba(6,78,59,.14);
}

.bupha-portal-v2 .bupha-partner-registration-kicker,
.bupha-portal-v2 .bupha-partner-registration-head h2,
.bupha-portal-v2 .bupha-partner-registration-head p {
  color: #fff !important;
}

.bupha-portal-v2 .bupha-partner-registration-kicker {
  margin-bottom: 6px;
  opacity: .75;
  font-size: 10px;
}

.bupha-portal-v2 .bupha-partner-registration-head h2 {
  margin: 0 0 7px;
  font-size: clamp(22px, 4vw, 31px);
  line-height: 1.2;
}

.bupha-portal-v2 .bupha-partner-registration-head p {
  max-width: 720px;
  opacity: .82;
  font-size: 13px;
  line-height: 1.55;
}

.bupha-portal-v2 .bupha-partner-registration-form {
  padding: 20px;
  border-color: var(--bupha-portal-line);
  border-radius: 20px;
  box-shadow: 0 8px 28px rgba(19,55,44,.055);
}

.bupha-portal-v2 .bupha-partner-registration-grid {
  gap: 15px;
}

.bupha-portal-v2 .bupha-partner-registration-grid label {
  color: var(--bupha-portal-ink);
  font-size: 13px;
  font-weight: 800;
}

.bupha-portal-v2 .bupha-partner-registration-grid input[type="text"],
.bupha-portal-v2 .bupha-partner-registration-grid input[type="tel"],
.bupha-portal-v2 .bupha-partner-registration-grid input[type="file"],
.bupha-portal-v2 .bupha-partner-registration-grid select,
.bupha-portal-v2 .bupha-partner-registration-grid textarea {
  min-height: 48px;
  margin-top: 6px;
  padding: 11px 13px;
  background: #f9fbfa;
  border-color: #d9e5df;
  border-radius: 13px;
  box-shadow: none;
}

.bupha-portal-v2 .bupha-partner-registration-grid textarea {
  min-height: 96px;
}

.bupha-portal-v2 .bupha-partner-registration-grid p > small {
  margin-top: 5px;
  font-size: 11px;
}

.bupha-portal-v2 .bupha-partner-registration-consent {
  margin: 16px 0;
  padding: 12px 13px;
  border: 1px solid #dce9e3;
  border-radius: 13px;
  font-size: 11px;
}

.bupha-portal-v2 .bupha-partner-registration-submit {
  min-height: 46px;
  box-shadow: 0 8px 20px rgba(6,78,59,.16);
}

.bupha-portal-v2 [data-bupha-customer-tab="orders"] {
  min-height: 0 !important;
}

.bupha-portal-v2 [data-bupha-customer-tab="orders"] .bupha-customer-dashboard-message:empty {
  display: none !important;
}

.bupha-portal-v2 .bupha-customer-order-tabs button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.bupha-portal-v2 .bupha-customer-order-tabs button > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-width: 24px;
  height: 24px;
  padding: 0 6px;
  color: #566760;
  background: #eef3f0;
  border: 1px solid #dce6e1;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
}

.bupha-portal-v2 .bupha-customer-order-tabs button.is-active > span {
  color: #fff;
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.32);
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-grid {
  gap: 14px !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-card {
  position: relative;
  display: flex !important;
  flex-direction: column;
  min-width: 0;
  height: 100%;
  padding: 12px !important;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid #dfe9e4 !important;
  border-radius: 18px !important;
  box-shadow: 0 7px 22px rgba(19,55,44,.065) !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: 10px;
  overflow: hidden;
  background: linear-gradient(145deg, #fbfaf4, #f4f7f3);
  border-radius: 14px;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-image img {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  padding: 0 !important;
  object-fit: contain;
  border-radius: 0 !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-label {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  max-width: calc(100% - 40px);
  margin: 0;
  padding: 5px 8px;
  overflow: hidden;
  color: #07533d;
  background: rgba(232,248,240,.94);
  border: 1px solid rgba(92,171,139,.25);
  border-radius: 999px;
  font-size: 9px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-card h3 {
  display: -webkit-box;
  min-height: 2.55em;
  margin: 11px 0 5px !important;
  overflow: hidden;
  color: #133f31;
  font-size: 16px !important;
  line-height: 1.28 !important;
  text-wrap: balance;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-price {
  margin: 0 0 10px !important;
  color: #263d35;
  font-size: 15px;
  line-height: 1.3;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-card > p {
  display: none !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-actions {
  display: grid !important;
  grid-template-columns: minmax(0,1fr);
  gap: 7px !important;
  width: 100%;
  margin-top: auto !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-actions > * {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  text-align: center;
}

@media (max-width: 767px) {
  .bupha-portal-v2 .bupha-partner-registration-portal-head {
    margin-bottom: 8px !important;
  }

  .bupha-portal-v2 .bupha-partner-registration-head {
    padding: 16px;
    border-radius: 17px;
  }

  .bupha-portal-v2 .bupha-partner-registration-head h2 {
    font-size: 22px;
  }

  .bupha-portal-v2 .bupha-partner-registration-head p {
    font-size: 12px;
    line-height: 1.48;
  }

  .bupha-portal-v2 .bupha-partner-registration-form {
    padding: 14px;
    border-radius: 17px;
  }

  .bupha-portal-v2 .bupha-partner-registration-grid {
    gap: 12px;
  }

  .bupha-portal-v2 .bupha-partner-registration-grid input[type="text"],
  .bupha-portal-v2 .bupha-partner-registration-grid input[type="tel"],
  .bupha-portal-v2 .bupha-partner-registration-grid input[type="file"],
  .bupha-portal-v2 .bupha-partner-registration-grid select,
  .bupha-portal-v2 .bupha-partner-registration-grid textarea {
    min-height: 46px;
    font-size: 16px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-sticky-area {
    margin-bottom: 8px !important;
    padding: 0 !important;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 7px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs.is-count-5 {
    grid-template-columns: repeat(6, minmax(0,1fr));
  }

  .bupha-portal-v2 .bupha-customer-order-tabs.is-count-5 button {
    grid-column: span 2;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs.is-count-5 button:nth-child(n+4) {
    grid-column: span 3;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 39px !important;
    padding: 7px 8px !important;
    overflow: hidden;
    font-size: 10px !important;
    text-overflow: ellipsis;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs button > span {
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    font-size: 9px;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-results {
    margin-top: 0 !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 10px !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-card {
    padding: 9px !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 16px rgba(19,55,44,.055) !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-image {
    padding: 7px;
    border-radius: 12px;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-label {
    top: 14px;
    left: 14px;
    max-width: calc(100% - 28px);
  }

  .bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-card h3 {
    min-height: 2.5em;
    margin: 9px 1px 4px !important;
    font-size: 14px !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-price {
    margin: 0 1px 8px !important;
    font-size: 13px !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-product-actions > * {
    min-height: 39px !important;
    padding: 8px 7px !important;
    font-size: 10px !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-add-to-cart:not(.bupha-add-to-cart-disabled) {
    font-size: var(--bupha-font-button-size, 14px) !important;
    line-height: 1.25 !important;
    white-space: normal;
    text-align: center;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-home-content .bupha-add-to-cart:not(.bupha-add-to-cart-disabled)::before {
    content: none !important;
    display: none !important;
  }
}

.bupha-portal-v2,
.bupha-portal-v2 * {
  box-sizing: border-box;
}

.bupha-portal-v2 a {
  text-underline-offset: 3px;
}

.bupha-portal-v2 .bupha-customer-dashboard-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  display: grid !important;
  grid-template-columns: 228px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  overflow: visible !important;
}

/* Shared top bar */
.bupha-portal-v2 .bupha-portal-topbar {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 76px;
  padding: 13px 16px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(228, 235, 231, .92);
  border-radius: 20px;
  box-shadow: 0 8px 28px rgba(18, 57, 45, .06);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.bupha-portal-v2 .bupha-portal-identity,
.bupha-portal-v2 .bupha-portal-topbar-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.bupha-portal-v2 .bupha-customer-dashboard-logo {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-logo a {
  display: flex !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-logo img {
  display: block;
  width: auto !important;
  max-width: 142px !important;
  height: 42px !important;
  max-height: 42px !important;
  object-fit: contain;
  object-position: left center;
}

.bupha-portal-v2 .bupha-portal-brand-mark,
.bupha-portal-v2 .bupha-portal-avatar-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  border-radius: 14px;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.bupha-portal-v2 .bupha-portal-brand-mark {
  width: 44px;
  height: 44px;
  color: #fff;
  background: linear-gradient(145deg, var(--bupha-portal-green-2), var(--bupha-portal-green));
}

.bupha-portal-v2 .bupha-portal-brand-mark.has-image {
  padding: 0;
  background: transparent;
  overflow: visible;
}
.bupha-portal-v2 .bupha-portal-brand-mark.has-image img {
  display: block;
  width: 42px;
  height: 42px;
  max-width: 42px;
  max-height: 42px;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
  filter: none;
}

.bupha-portal-v2 .bupha-portal-avatar-button {
  width: 42px;
  height: 42px;
  color: #fff !important;
  background: linear-gradient(145deg, #178363, var(--bupha-portal-green));
  box-shadow: 0 6px 16px rgba(6, 78, 59, .2);
}

.bupha-portal-v2 .bupha-portal-greeting {
  min-width: 0;
  line-height: 1.25;
}

.bupha-portal-v2 .bupha-portal-greeting span {
  display: block;
  margin-bottom: 3px;
  color: var(--bupha-portal-muted);
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .02em;
}

.bupha-portal-v2 .bupha-portal-greeting strong {
  display: block;
  max-width: 420px;
  overflow: hidden;
  color: var(--bupha-portal-ink);
  font-size: 16px !important;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bupha-portal-v2 .bupha-portal-icon-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  color: var(--bupha-portal-green) !important;
  background: #f1f8f5;
  border: 1px solid #dfece6;
  border-radius: 14px;
  text-decoration: none !important;
}

.bupha-portal-v2 .bupha-portal-icon-button > span {
  font-size: 24px !important;
  line-height: 1;
  transform: rotate(45deg);
}

.bupha-portal-v2 .bupha-portal-icon-button b {
  position: absolute;
  top: -5px;
  right: -5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 5px;
  color: #fff;
  background: #dc2626;
  border: 2px solid #fff;
  border-radius: 999px;
  font-size: 9px !important;
  line-height: 1;
}

/* Desktop customer navigation */
.bupha-portal-v2 .bupha-customer-dashboard-menu {
  grid-column: 1;
  position: sticky !important;
  top: 18px !important;
  z-index: 20 !important;
  display: flex !important;
  flex-direction: column;
  align-items: stretch !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  padding: 10px !important;
  overflow: visible !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid var(--bupha-portal-line) !important;
  border-radius: 20px !important;
  box-shadow: var(--bupha-portal-shadow) !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-menu a {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: flex-start !important;
  gap: 12px;
  min-width: 0 !important;
  min-height: 48px;
  width: 100%;
  padding: 11px 13px !important;
  color: #43534d !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 13px !important;
  box-shadow: none !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
  text-align: left;
  text-decoration: none !important;
  white-space: normal !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-menu a::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  color: #557068;
  background: #eff5f2;
  border-radius: 10px;
  font-size: 17px;
  line-height: 1;
}

.bupha-portal-v2 .bupha-customer-dashboard-menu a[data-bupha-customer-tab-button="home"]::before { content: "⌂"; }
.bupha-portal-v2 .bupha-customer-dashboard-menu a[data-bupha-customer-tab-button="orders"]::before { content: "▣"; }
.bupha-portal-v2 .bupha-customer-dashboard-menu a[data-bupha-customer-tab-button="articles"]::before { content: "≡"; }
.bupha-portal-v2 .bupha-customer-dashboard-menu a[data-bupha-customer-tab-button="notifications"]::before { content: "◇"; }
.bupha-portal-v2 .bupha-customer-dashboard-menu a[data-bupha-customer-tab-button="partner"]::before { content: "◎"; }
.bupha-portal-v2 .bupha-customer-dashboard-menu a[data-bupha-customer-tab-button="profile"]::before { content: "○"; }
.bupha-portal-v2 .bupha-customer-dashboard-menu a[data-bupha-menu-icon]::before { content: attr(data-bupha-menu-icon); }

.bupha-portal-v2 .bupha-customer-dashboard-menu a:hover {
  color: var(--bupha-portal-green) !important;
  background: #f2f8f5 !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-menu a.is-active {
  color: #fff !important;
  background: linear-gradient(135deg, var(--bupha-portal-green-2), var(--bupha-portal-green)) !important;
  box-shadow: 0 8px 18px rgba(6, 78, 59, .18) !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-menu a.is-active::before {
  color: var(--bupha-portal-green);
  background: #fff;
}

.bupha-portal-v2 .bupha-customer-notification-menu-badge {
  margin-left: auto !important;
}

/* Main panels */
.bupha-portal-v2 .bupha-customer-dashboard-panel {
  grid-column: 2;
  min-width: 0;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-panel:not(.is-active) {
  display: none !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-panel.is-active {
  display: block !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-panel > * + * {
  margin-top: 16px;
}

.bupha-portal-v2 .bupha-customer-placeholder-card,
.bupha-portal-v2 .bupha-customer-profile-card,
.bupha-portal-v2 .bupha-customer-address-card,
.bupha-portal-v2 .bupha-customer-login-required,
.bupha-portal-v2 .bupha-customer-notifications-head,
.bupha-portal-v2 .bupha-customer-notification-card,
.bupha-portal-v2 .bupha-partner-dashboard-section,
.bupha-portal-v2 .bupha-partner-dashboard-head {
  background: #fff !important;
  border: 1px solid var(--bupha-portal-line) !important;
  border-radius: 20px !important;
  box-shadow: 0 8px 28px rgba(19, 55, 44, .055) !important;
}

/* Customer home */
.bupha-portal-v2 .bupha-portal-welcome {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 168px;
  padding: clamp(22px, 4vw, 38px);
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 92% 10%, rgba(255,255,255,.18), transparent 10rem),
    linear-gradient(135deg, #0b7457 0%, #064e3b 72%);
  border-radius: 24px;
  box-shadow: 0 16px 34px rgba(6, 78, 59, .2);
}

.bupha-portal-v2 .bupha-portal-welcome::after {
  content: "";
  position: absolute;
  right: -32px;
  bottom: -75px;
  width: 190px;
  height: 190px;
  border: 34px solid rgba(255, 255, 255, .08);
  border-radius: 50%;
}

.bupha-portal-v2 .bupha-portal-welcome-copy {
  position: relative;
  z-index: 1;
  max-width: 620px;
}

.bupha-portal-v2 .bupha-portal-eyebrow {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 5px 10px;
  color: #d9fff0;
  background: rgba(255,255,255,.13);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 999px;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bupha-portal-v2 .bupha-portal-welcome h2 {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(23px, 3vw, 34px) !important;
  line-height: 1.16 !important;
}

.bupha-portal-v2 .bupha-portal-welcome p {
  max-width: 540px;
  margin: 0 !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 14px !important;
  line-height: 1.6;
}

.bupha-portal-v2 .bupha-portal-welcome > .bupha-customer-dashboard-button {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  color: var(--bupha-portal-green) !important;
  background: #fff !important;
}

.bupha-portal-v2 .bupha-portal-quick-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: 9px;
  margin-top: 12px !important;
}

.bupha-portal-v2 .bupha-portal-quick-grid > a {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 64px;
  padding: 10px 11px;
  color: var(--bupha-portal-ink) !important;
  background: #fff;
  border: 1px solid var(--bupha-portal-line);
  border-radius: 15px;
  box-shadow: 0 4px 14px rgba(19, 55, 44, .04);
  text-decoration: none !important;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.bupha-portal-v2 .bupha-portal-quick-grid > a:hover {
  transform: translateY(-2px);
  border-color: #bddbcc;
  box-shadow: 0 10px 24px rgba(19, 55, 44, .09);
}

.bupha-portal-v2 .bupha-portal-quick-grid i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: var(--bupha-portal-green);
  background: var(--bupha-portal-mint);
  border-radius: 11px;
  font-size: 17px !important;
  font-style: normal;
}

.bupha-portal-v2 .bupha-portal-quick-grid span {
  min-width: 0;
}

.bupha-portal-v2 .bupha-portal-quick-grid strong,
.bupha-portal-v2 .bupha-portal-quick-grid small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bupha-portal-v2 .bupha-portal-quick-grid strong {
  color: var(--bupha-portal-ink);
  font-size: 13px !important;
}

.bupha-portal-v2 .bupha-portal-quick-grid small {
  margin-top: 2px;
  color: var(--bupha-portal-muted);
  font-size: 10px !important;
}

.bupha-portal-v2 .bupha-portal-quick-grid b {
  color: #93a29c;
  font-size: 20px !important;
  font-weight: 400 !important;
}

.bupha-portal-v2 .bupha-portal-quick-grid.is-partner {
  margin: 0 0 14px !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content {
  min-width: 0;
  overflow: clip;
  border-radius: 20px;
}

.bupha-portal-v2 .bupha-customer-dashboard-home-content img,
.bupha-portal-v2 .bupha-customer-article-content img {
  max-width: 100%;
  height: auto;
}

/* Buttons, forms, details */
.bupha-portal-v2 .bupha-customer-dashboard-button,
.bupha-portal-v2 .bupha-customer-outline-button,
.bupha-portal-v2 button,
.bupha-portal-v2 input[type="submit"] {
  min-height: 44px;
  border-radius: 12px !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 10px 16px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--bupha-portal-green-2), var(--bupha-portal-green)) !important;
  border: 1px solid var(--bupha-portal-green) !important;
  box-shadow: 0 6px 15px rgba(6,78,59,.14);
  font-size: 12px !important;
  text-decoration: none !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-button.is-secondary,
.bupha-portal-v2 .bupha-customer-outline-button {
  color: var(--bupha-portal-green) !important;
  background: #fff !important;
  border: 1px solid #cdded7 !important;
  box-shadow: none;
}

.bupha-portal-v2 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.bupha-portal-v2 select,
.bupha-portal-v2 textarea {
  width: 100%;
  min-height: 46px;
  padding: 11px 13px !important;
  color: var(--bupha-portal-ink) !important;
  background: #fff !important;
  border: 1px solid #d8e3de !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: 14px !important;
  line-height: 1.45;
  outline: none;
}

.bupha-portal-v2 textarea {
  min-height: 100px;
  resize: vertical;
}

.bupha-portal-v2 input:focus,
.bupha-portal-v2 select:focus,
.bupha-portal-v2 textarea:focus {
  border-color: #55a789 !important;
  box-shadow: 0 0 0 3px rgba(24, 131, 99, .12) !important;
}

.bupha-portal-v2 label > span,
.bupha-portal-v2 .bupha-customer-mini-form > label {
  color: #34473f;
  font-weight: 700 !important;
}

.bupha-portal-v2 details {
  overflow: clip;
}

.bupha-portal-v2 details > summary {
  cursor: pointer;
  list-style: none;
}

.bupha-portal-v2 details > summary::-webkit-details-marker {
  display: none;
}

.bupha-portal-v2 .bupha-profile-edit-panel,
.bupha-portal-v2 .bupha-partner-profile-editor {
  border: 1px solid var(--bupha-portal-line) !important;
  border-radius: 15px !important;
  background: #fbfdfc !important;
}

.bupha-portal-v2 .bupha-profile-edit-panel > summary,
.bupha-portal-v2 .bupha-partner-profile-editor > summary {
  position: relative;
  padding: 13px 42px 13px 15px !important;
}

.bupha-portal-v2 .bupha-profile-edit-panel > summary::after,
.bupha-portal-v2 .bupha-partner-profile-editor > summary::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
  font-size: 20px !important;
}

.bupha-portal-v2 .bupha-profile-edit-panel[open] > summary::after,
.bupha-portal-v2 .bupha-partner-profile-editor[open] > summary::after {
  content: "−";
}

.bupha-portal-v2 .bupha-customer-mini-form,
.bupha-portal-v2 .bupha-partner-profile-form,
.bupha-portal-v2 .bupha-partner-marketing-form,
.bupha-portal-v2 .bupha-partner-product-marketplace-form {
  gap: 14px !important;
  padding: 16px;
}

/* Customer profile */
.bupha-portal-v2 .bupha-customer-profile-card,
.bupha-portal-v2 .bupha-customer-address-card {
  padding: clamp(16px, 3vw, 24px) !important;
}

.bupha-portal-v2 .bupha-customer-profile-editor {
  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  gap: 18px !important;
  align-items: start;
}

.bupha-portal-v2 .bupha-customer-avatar {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 70px !important;
  height: 70px !important;
  margin: 0 !important;
  color: #fff !important;
  background: linear-gradient(145deg, #1a8b69, var(--bupha-portal-green)) !important;
  border: 4px solid #dff2e9;
  border-radius: 20px !important;
  font-size: 25px !important;
  font-weight: 800 !important;
}

.bupha-portal-v2 .bupha-profile-readonly-list,
.bupha-portal-v2 .bupha-partner-profile-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px !important;
  margin: 16px 0 !important;
}

.bupha-portal-v2 .bupha-profile-readonly-list > div,
.bupha-portal-v2 .bupha-partner-profile-list > div {
  min-width: 0;
  padding: 12px !important;
  background: #f7faf8 !important;
  border: 1px solid #e7eeea !important;
  border-radius: 13px !important;
}

.bupha-portal-v2 .bupha-profile-readonly-list span,
.bupha-portal-v2 .bupha-partner-profile-list span {
  display: block;
  margin-bottom: 4px;
  color: var(--bupha-portal-muted) !important;
  font-size: 10px !important;
}

.bupha-portal-v2 .bupha-profile-readonly-list strong,
.bupha-portal-v2 .bupha-partner-profile-list strong {
  display: block;
  overflow-wrap: anywhere;
  color: var(--bupha-portal-ink) !important;
  font-size: 13px !important;
}

.bupha-portal-v2 .bupha-profile-address-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px !important;
}

.bupha-portal-v2 .bupha-profile-address-box {
  padding: 15px !important;
  background: #fff !important;
  border: 1px solid var(--bupha-portal-line) !important;
  border-radius: 16px !important;
}

.bupha-portal-v2 .bupha-profile-address-box.is-primary {
  border-color: #78bda3 !important;
  box-shadow: 0 0 0 3px rgba(84, 168, 135, .1);
}

.bupha-portal-v2 .bupha-customer-profile-logout-simple {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.bupha-portal-v2 .bupha-customer-logout-button {
  color: #9b1c1c !important;
  background: #fff4f3 !important;
  border-color: #f2c7c3 !important;
  box-shadow: none !important;
}

/* Customer orders */
.bupha-portal-v2 .bupha-customer-order-sticky-area {
  position: sticky;
  top: 10px;
  z-index: 12;
  margin: 0 0 14px !important;
  padding: 10px !important;
  background: rgba(251,250,246,.94) !important;
  border: 1px solid rgba(228,235,231,.9);
  border-radius: 17px;
  box-shadow: 0 8px 22px rgba(18,57,45,.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.bupha-portal-v2 .bupha-customer-order-tabs {
  display: flex !important;
  gap: 7px !important;
  width: 100%;
  padding: 0 !important;
  overflow-x: auto !important;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}

.bupha-portal-v2 .bupha-customer-order-tabs::-webkit-scrollbar {
  display: none;
}

.bupha-portal-v2 .bupha-customer-order-tabs button {
  flex: 0 0 auto !important;
  min-height: 42px !important;
  padding: 9px 12px !important;
  color: #506159 !important;
  background: #fff !important;
  border: 1px solid #dce6e1 !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-size: 11px !important;
  white-space: nowrap;
  scroll-snap-align: start;
}

.bupha-portal-v2 .bupha-customer-order-tabs button.is-active {
  color: #fff !important;
  background: var(--bupha-portal-green) !important;
  border-color: var(--bupha-portal-green) !important;
}

.bupha-portal-v2 .bupha-customer-dashboard-results {
  display: grid !important;
  gap: 13px !important;
  min-width: 0;
}

.bupha-portal-v2 .bupha-customer-order-summary-card,
.bupha-portal-v2 .bupha-customer-order-summary {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  overflow: hidden;
  background: #fff !important;
  border: 1px solid var(--bupha-portal-line) !important;
  border-radius: 18px !important;
  box-shadow: 0 7px 24px rgba(19,55,44,.055) !important;
}

.bupha-portal-v2 .bupha-customer-order-summary {
  padding: clamp(14px, 2.5vw, 20px) !important;
}

.bupha-portal-v2 .bupha-customer-order-actions {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px !important;
}

.bupha-portal-v2 .bupha-customer-order-actions > a,
.bupha-portal-v2 .bupha-customer-order-actions > button {
  flex: 0 1 auto !important;
  min-height: 42px !important;
  width: auto !important;
  padding: 9px 13px !important;
  font-size: 11px !important;
  border-radius: 11px !important;
}

/* Articles and notifications */
.bupha-portal-v2 .bupha-customer-notifications-panel,
.bupha-portal-v2 .bupha-customer-notification-list {
  gap: 12px !important;
}

.bupha-portal-v2 .bupha-customer-notifications-head,
.bupha-portal-v2 .bupha-customer-notification-card {
  padding: 16px !important;
}

.bupha-portal-v2 .bupha-customer-notification-card.is-unread {
  border-color: #9fcfbc !important;
  box-shadow: 0 8px 22px rgba(18,112,78,.08) !important;
}

.bupha-portal-v2 .bupha-customer-article-card,
.bupha-portal-v2 .bupha-customer-article-detail {
  overflow: hidden;
}

/* Partner shell */
.bupha-portal-v2 .bupha-unified-partnership {
  min-width: 0;
  color: var(--bupha-portal-ink);
}

.bupha-portal-v2 .bupha-partner-dashboard-head {
  position: relative;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  min-height: 132px;
  padding: 24px !important;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 94% 10%, rgba(255,255,255,.16), transparent 10rem),
    linear-gradient(135deg, #107557, #064e3b) !important;
  border: 0 !important;
  box-shadow: 0 14px 30px rgba(6,78,59,.19) !important;
}

.bupha-portal-v2 .bupha-partner-dashboard-head::after {
  content: "";
  position: absolute;
  right: -24px;
  bottom: -90px;
  width: 180px;
  height: 180px;
  border: 30px solid rgba(255,255,255,.07);
  border-radius: 50%;
}

.bupha-portal-v2 .bupha-partner-dashboard-head > * {
  position: relative;
  z-index: 1;
}

.bupha-portal-v2 .bupha-partner-dashboard-head h3 {
  margin: 5px 0 !important;
  color: #fff !important;
  font-size: clamp(22px, 3vw, 31px) !important;
}

.bupha-portal-v2 .bupha-partner-dashboard-head p,
.bupha-portal-v2 .bupha-partner-dashboard-kicker {
  color: rgba(255,255,255,.82) !important;
}

.bupha-portal-v2 .bupha-partner-dashboard-kicker {
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.bupha-portal-v2 .bupha-partner-dashboard-head .bupha-partner-status-badge {
  color: #064e3b !important;
  background: #d9f8e9 !important;
  border: 1px solid rgba(255,255,255,.5);
}

.bupha-portal-v2 .bupha-partner-dashboard-menu {
  position: sticky !important;
  top: 10px;
  z-index: 15;
  display: flex !important;
  align-items: stretch !important;
  gap: 7px !important;
  width: 100% !important;
  margin: 14px 0 !important;
  padding: 8px !important;
  overflow-x: auto !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid var(--bupha-portal-line) !important;
  border-radius: 17px !important;
  box-shadow: 0 8px 22px rgba(18,57,45,.07);
  scrollbar-width: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.bupha-portal-v2 .bupha-partner-dashboard-menu::-webkit-scrollbar {
  display: none;
}

.bupha-portal-v2 .bupha-partner-dashboard-menu button,
.bupha-portal-v2 .bupha-partner-dashboard-menu > a,
.bupha-portal-v2 .bupha-partner-dashboard-more {
  flex: 0 0 auto !important;
  min-height: 42px;
  margin: 0 !important;
  padding: 9px 12px !important;
  color: #506159 !important;
  background: #f7faf8 !important;
  border: 1px solid #e0e9e4 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  white-space: nowrap;
}

.bupha-portal-v2 .bupha-partner-dashboard-menu button.is-active,
.bupha-portal-v2 .bupha-partner-dashboard-menu > a.is-active,
.bupha-portal-v2 .bupha-partner-dashboard-more.is-active {
  color: #fff !important;
  background: var(--bupha-portal-green) !important;
  border-color: var(--bupha-portal-green) !important;
}

.bupha-portal-v2 .bupha-partner-dashboard-more {
  display: flex !important;
  align-items: center;
  gap: 6px;
}

.bupha-portal-v2 .bupha-partner-dashboard-more select {
  width: auto !important;
  min-width: 34px !important;
  min-height: 30px !important;
  padding: 4px 26px 4px 8px !important;
  font-size: 11px !important;
}

.bupha-portal-v2 .bupha-partner-dashboard-section {
  display: none !important;
  min-width: 0;
  padding: clamp(16px, 3vw, 24px) !important;
}

.bupha-portal-v2 .bupha-partner-dashboard-section.is-active {
  display: block !important;
}

.bupha-portal-v2 .bupha-custom-dashboard-menu-panel {
  overflow: hidden;
}

.bupha-portal-v2 .bupha-custom-dashboard-menu-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
  padding: 15px 16px;
  color: #143f32;
  background: linear-gradient(135deg,#f3fbf7,#edf8f2);
  border: 1px solid #d9ebe2;
  border-radius: 17px;
}

.bupha-portal-v2 .bupha-custom-dashboard-menu-head > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  font-style: normal;
  font-size: 19px;
  background: #fff;
  border: 1px solid #dbeae3;
  border-radius: 13px;
}

.bupha-portal-v2 .bupha-custom-dashboard-menu-head h3 {
  margin: 0 !important;
  font-size: 20px !important;
}

.bupha-portal-v2 .bupha-custom-dashboard-menu-head p {
  margin: 4px 0 0 !important;
  color: #60736b !important;
}

.bupha-portal-v2 .bupha-custom-dashboard-menu-content {
  min-width: 0;
  max-width: 100%;
}

.bupha-portal-v2 .bupha-custom-dashboard-menu-content img,
.bupha-portal-v2 .bupha-custom-dashboard-menu-content iframe {
  max-width: 100%;
}

.bupha-portal-v2 .bupha-custom-dashboard-menu-empty {
  padding: 18px;
  color: #667085;
  background: #fff;
  border: 1px dashed #cfdad5;
  border-radius: 15px;
}

.bupha-portal-v2 .bupha-partner-dashboard-section > h4:first-child,
.bupha-portal-v2 .bupha-partner-profile-heading h4 {
  margin-top: 0 !important;
  color: var(--bupha-portal-ink) !important;
  font-size: 20px !important;
}

.bupha-portal-v2 .bupha-partner-stat-grid,
.bupha-portal-v2 .bupha-partner-balance-grid,
.bupha-portal-v2 .bupha-partner-team-summary,
.bupha-portal-v2 .bupha-partner-referral-metrics {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 11px !important;
}

.bupha-portal-v2 .bupha-partner-stat-grid > div,
.bupha-portal-v2 .bupha-partner-balance-grid > div,
.bupha-portal-v2 .bupha-partner-team-summary > div,
.bupha-portal-v2 .bupha-partner-referral-metrics > div {
  min-width: 0;
  padding: 15px !important;
  background: linear-gradient(145deg, #f8fbf9, #f2f8f5) !important;
  border: 1px solid #e0ebe5 !important;
  border-radius: 16px !important;
}

.bupha-portal-v2 .bupha-partner-stat-grid span,
.bupha-portal-v2 .bupha-partner-balance-grid span,
.bupha-portal-v2 .bupha-partner-team-summary span,
.bupha-portal-v2 .bupha-partner-referral-metrics span {
  display: block;
  min-height: 2.6em;
  color: var(--bupha-portal-muted) !important;
  font-size: 10px !important;
  line-height: 1.35;
}

.bupha-portal-v2 .bupha-partner-stat-grid strong,
.bupha-portal-v2 .bupha-partner-balance-grid strong,
.bupha-portal-v2 .bupha-partner-team-summary strong,
.bupha-portal-v2 .bupha-partner-referral-metrics strong {
  display: block;
  margin-top: 7px;
  overflow-wrap: anywhere;
  color: var(--bupha-portal-green) !important;
  font-size: clamp(16px, 2vw, 22px) !important;
  line-height: 1.2;
}

.bupha-portal-v2 .bupha-partner-balance-grid small {
  display: block;
  margin-top: 7px;
  color: var(--bupha-portal-muted);
  font-size: 9px !important;
  line-height: 1.45;
}

.bupha-portal-v2 .bupha-partner-copy-field,
.bupha-portal-v2 .bupha-partner-promo-page-field {
  display: block !important;
  margin-top: 14px;
  color: #34473f;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.bupha-portal-v2 .bupha-partner-copy-row {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) auto auto;
  gap: 7px !important;
  margin-top: 7px;
}

.bupha-portal-v2 .bupha-partner-copy-row button,
.bupha-portal-v2 .bupha-partner-copy-row a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 9px 13px !important;
  color: var(--bupha-portal-green) !important;
  background: #eef8f3 !important;
  border: 1px solid #cfe4db !important;
  border-radius: 12px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.bupha-portal-v2 .bupha-partner-marketing-profile,
.bupha-portal-v2 .bupha-partner-product-links {
  margin-top: 18px !important;
  padding: clamp(14px, 2.5vw, 20px) !important;
  background: #f8fbf9 !important;
  border: 1px solid #e2ebe6 !important;
  border-radius: 18px !important;
}

.bupha-portal-v2 .bupha-partner-product-link-list {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 13px !important;
}

.bupha-portal-v2 .bupha-partner-product-link-item {
  display: grid !important;
  grid-template-columns: 72px minmax(0,1fr) !important;
  gap: 13px !important;
  align-items: start !important;
  min-width: 0;
  padding: 14px !important;
  background: #fff !important;
  border: 1px solid var(--bupha-portal-line) !important;
  border-radius: 16px !important;
  box-shadow: 0 5px 16px rgba(19,55,44,.04);
}

.bupha-portal-v2 .bupha-partner-product-link-item > img,
.bupha-portal-v2 .bupha-partner-product-link-placeholder {
  width: 72px !important;
  height: 72px !important;
  object-fit: cover;
  border-radius: 14px !important;
}

.bupha-portal-v2 .bupha-partner-product-link-content {
  min-width: 0;
}

.bupha-portal-v2 .bupha-partner-product-marketplace-form {
  margin-top: 12px !important;
  background: #fbfdfc;
  border: 1px solid #e4ece8;
  border-radius: 14px;
}

.bupha-portal-v2 .bupha-partner-dashboard-note,
.bupha-portal-v2 .bupha-alert {
  padding: 12px 14px !important;
  color: #285044 !important;
  background: #eff9f4 !important;
  border: 1px solid #d5e9df !important;
  border-left: 4px solid #49a17f !important;
  border-radius: 13px !important;
  font-size: 12px !important;
  line-height: 1.55;
}

.bupha-portal-v2 .bupha-alert-error,
.bupha-portal-v2 .bupha-partner-dashboard-note.is-error {
  color: #8f251e !important;
  background: #fff4f2 !important;
  border-color: #f1cbc6 !important;
  border-left-color: #c54235 !important;
}

.bupha-portal-v2 .bupha-partner-dashboard-empty,
.bupha-portal-v2 .bupha-profile-address-empty,
.bupha-portal-v2 .bupha-customer-notification-empty {
  padding: 22px !important;
  color: var(--bupha-portal-muted) !important;
  background: #fafcfb !important;
  border: 1px dashed #cfdcd6 !important;
  border-radius: 16px !important;
  text-align: center;
}

/* Partner tables: desktop */
.bupha-portal-v2 .bupha-partner-order-table-wrap,
.bupha-portal-v2 .bupha-unified-partnership .bupha-partner-table-wrap,
.bupha-portal-v2 .bupha-unified-partnership .bupha-ledger-table-wrap {
  width: 100%;
  overflow-x: auto !important;
  border: 1px solid var(--bupha-portal-line);
  border-radius: 16px;
}

.bupha-portal-v2 .bupha-unified-partnership table {
  width: 100% !important;
  min-width: 620px;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: collapse !important;
  background: #fff;
}

.bupha-portal-v2 .bupha-unified-partnership table th {
  padding: 12px !important;
  color: #4c6259 !important;
  background: #f3f7f5 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--bupha-portal-line) !important;
  font-size: 10px !important;
  text-align: left;
}

.bupha-portal-v2 .bupha-unified-partnership table td {
  padding: 13px 12px !important;
  color: #33463e;
  border: 0 !important;
  border-bottom: 1px solid #edf1ef !important;
  font-size: 11px !important;
  vertical-align: middle;
}

.bupha-portal-v2 .bupha-unified-partnership table td small {
  display: block;
  margin-top: 3px;
  color: var(--bupha-portal-muted);
  font-size: 9px !important;
}

/* Fulfillment */
.bupha-portal-v2 .bupha-partner-fulfillment-toolbar {
  align-items: stretch !important;
  gap: 10px !important;
}

.bupha-portal-v2 .bupha-partner-fulfillment-filters {
  overflow-x: auto;
  flex-wrap: nowrap !important;
  scrollbar-width: none;
}

.bupha-portal-v2 .bupha-partner-fulfillment-filters::-webkit-scrollbar {
  display: none;
}

.bupha-portal-v2 .bupha-partner-fulfillment-row-main {
  min-width: 0;
}

.bupha-portal-v2 .bupha-partner-fulfillment-row,
.bupha-portal-v2 .bupha-partner-fulfillment-list {
  border-color: var(--bupha-portal-line) !important;
}

/* Tablet */
@media (max-width: 1023px) {
  .bupha-portal-v2 {
    border-radius: 22px;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-shell {
    grid-template-columns: minmax(0,1fr);
    gap: 14px;
  }

  .bupha-portal-v2 .bupha-portal-topbar,
  .bupha-portal-v2 .bupha-customer-dashboard-menu,
  .bupha-portal-v2 .bupha-customer-dashboard-panel {
    grid-column: 1;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu {
    position: sticky !important;
    top: 8px !important;
    flex-direction: row;
    overflow-x: auto !important;
    scrollbar-width: none;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu::-webkit-scrollbar {
    display: none;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu a {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 116px !important;
    white-space: nowrap !important;
  }

  .bupha-portal-v2 .bupha-partner-stat-grid,
  .bupha-portal-v2 .bupha-partner-balance-grid,
  .bupha-portal-v2 .bupha-partner-team-summary {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  .bupha-portal-v2 .bupha-partner-product-link-list {
    grid-template-columns: minmax(0,1fr);
  }
}

/* Mobile app-like experience */
@media (max-width: 767px) {
  html:has(.bupha-portal-v2) {
    scroll-padding-bottom: 96px;
  }

  body:has(.bupha-portal-v2) {
    overflow-x: hidden;
  }

  .bupha-portal-v2 {
    width: 100% !important;
    margin: 0 !important;
    padding: 10px 10px calc(94px + env(safe-area-inset-bottom)) !important;
    background: #f7f8f6;
    border-radius: 0;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-shell {
    gap: 11px !important;
  }

  .bupha-portal-v2 .bupha-portal-topbar {
    min-height: 64px;
    padding: 9px 10px;
    border-radius: 16px;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-logo img {
    max-width: 98px !important;
    height: 34px !important;
    max-height: 34px !important;
  }

  .bupha-portal-v2 .bupha-portal-brand-mark {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .bupha-portal-v2 .bupha-portal-greeting span {
    font-size: 9px !important;
  }

  .bupha-portal-v2 .bupha-portal-greeting strong {
    max-width: 42vw;
    font-size: 13px !important;
  }

  .bupha-portal-v2 .bupha-portal-icon-button,
  .bupha-portal-v2 .bupha-portal-avatar-button {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  /* Customer bottom navigation is always available on HP. */
  .bupha-portal-v2 .bupha-customer-dashboard-menu,
  .bupha-portal-v2.has-mobile-floating-menu .bupha-customer-dashboard-menu {
    position: fixed !important;
    top: auto !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    z-index: 99990 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 2px !important;
    width: auto !important;
    height: 70px !important;
    padding: 6px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(215,226,220,.95) !important;
    border-radius: 20px !important;
    box-shadow: 0 14px 38px rgba(13,46,36,.2) !important;
    scroll-snap-type: x proximity;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu a,
  .bupha-portal-v2.has-mobile-floating-menu .bupha-customer-dashboard-menu a {
    flex: 1 0 64px !important;
    flex-direction: column;
    justify-content: center !important;
    gap: 3px;
    min-width: 64px !important;
    min-height: 56px !important;
    width: auto !important;
    padding: 4px 5px !important;
    border-radius: 14px !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
    text-align: center !important;
    white-space: nowrap !important;
    scroll-snap-align: center;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu a::before {
    flex-basis: 25px;
    width: 25px;
    height: 25px;
    background: transparent;
    border-radius: 8px;
    font-size: 17px;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu a.is-active {
    box-shadow: none !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu a.is-active::before {
    color: #fff;
    background: transparent;
  }

  .bupha-portal-v2 .bupha-customer-notification-menu-badge {
    position: absolute;
    top: 1px;
    right: 8px;
    min-width: 16px !important;
    height: 16px !important;
    padding: 0 4px !important;
    margin: 0 !important;
    font-size: 7px !important;
    border: 2px solid #fff;
  }

  .bupha-portal-v2 .bupha-portal-welcome {
    min-height: 155px;
    padding: 22px 18px;
    border-radius: 20px;
  }

  .bupha-portal-v2 .bupha-portal-welcome h2 {
    max-width: 92%;
    font-size: 23px !important;
  }

  .bupha-portal-v2 .bupha-portal-welcome p {
    font-size: 12px !important;
    line-height: 1.5;
  }

  .bupha-portal-v2 .bupha-portal-welcome > .bupha-customer-dashboard-button {
    position: absolute;
    right: 16px;
    bottom: 16px;
    min-height: 38px;
    padding: 7px 11px !important;
    font-size: 10px !important;
  }

  .bupha-portal-v2 .bupha-portal-quick-grid {
    display: flex;
    width: calc(100% + 4px);
    gap: 8px;
    padding: 1px 4px 7px 0;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .bupha-portal-v2 .bupha-portal-quick-grid::-webkit-scrollbar {
    display: none;
  }

  .bupha-portal-v2 .bupha-portal-quick-grid > a {
    flex: 0 0 158px;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 8px;
    min-height: 60px;
    padding: 9px 10px;
    border-radius: 14px;
    scroll-snap-align: start;
  }

  .bupha-portal-v2 .bupha-portal-quick-grid i {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 16px !important;
  }

  .bupha-portal-v2 .bupha-portal-quick-grid b {
    display: none;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-panel {
    width: 100% !important;
    min-width: 0 !important;
  }

  .bupha-portal-v2 .bupha-customer-placeholder-card,
  .bupha-portal-v2 .bupha-customer-profile-card,
  .bupha-portal-v2 .bupha-customer-address-card,
  .bupha-portal-v2 .bupha-customer-notifications-head,
  .bupha-portal-v2 .bupha-customer-notification-card,
  .bupha-portal-v2 .bupha-partner-dashboard-section {
    border-radius: 16px !important;
  }

  .bupha-portal-v2 .bupha-customer-profile-editor {
    grid-template-columns: 52px minmax(0,1fr) !important;
    gap: 12px !important;
  }

  .bupha-portal-v2 .bupha-customer-avatar {
    width: 50px !important;
    height: 50px !important;
    border-width: 3px;
    border-radius: 15px !important;
    font-size: 19px !important;
  }

  .bupha-portal-v2 .bupha-profile-readonly-list,
  .bupha-portal-v2 .bupha-partner-profile-list,
  .bupha-portal-v2 .bupha-profile-address-list {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .bupha-portal-v2 .bupha-profile-address-actions,
  .bupha-portal-v2 .bupha-partner-profile-heading {
    align-items: stretch !important;
    flex-direction: column;
  }

  .bupha-portal-v2 .bupha-profile-address-actions > *,
  .bupha-portal-v2 .bupha-profile-address-actions button,
  .bupha-portal-v2 .bupha-profile-address-actions summary,
  .bupha-portal-v2 .bupha-partner-profile-heading .bupha-customer-dashboard-button {
    width: 100% !important;
  }

  .bupha-portal-v2 input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  .bupha-portal-v2 select,
  .bupha-portal-v2 textarea {
    font-size: 16px !important; /* prevents iOS input zoom */
  }

  .bupha-portal-v2 .bupha-customer-order-sticky-area {
    top: 5px !important;
    padding: 7px !important;
    border-radius: 15px;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs button {
    min-height: 39px !important;
    padding: 8px 10px !important;
    font-size: 9px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-summary {
    padding: 13px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-main {
    display: grid !important;
    grid-template-columns: 58px minmax(0,1fr) !important;
    gap: 10px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-thumb {
    width: 58px !important;
    height: 58px !important;
    border-radius: 12px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr));
    width: 100% !important;
  }

  .bupha-portal-v2 .bupha-customer-order-actions > a,
  .bupha-portal-v2 .bupha-customer-order-actions > button {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .bupha-portal-v2 .bupha-customer-notification-card {
    gap: 9px !important;
    padding: 13px !important;
  }

  .bupha-portal-v2 .bupha-customer-notification-footer {
    display: grid !important;
    grid-template-columns: minmax(0,1fr);
  }

  .bupha-portal-v2 .bupha-customer-notification-footer > *,
  .bupha-portal-v2 .bupha-customer-notification-footer button {
    width: 100% !important;
  }

  /* Partner mobile */
  .bupha-portal-v2 .bupha-partner-dashboard-head {
    min-height: 128px;
    padding: 19px !important;
    border-radius: 18px !important;
  }

  .bupha-portal-v2 .bupha-partner-dashboard-head h3 {
    max-width: 76%;
    font-size: 22px !important;
  }

  .bupha-portal-v2 .bupha-partner-dashboard-menu {
    top: 5px !important;
    margin: 10px 0 !important;
    padding: 6px !important;
    border-radius: 15px !important;
  }

  .bupha-portal-v2 .bupha-partner-dashboard-menu button,
  .bupha-portal-v2 .bupha-partner-dashboard-menu > a,
  .bupha-portal-v2 .bupha-partner-dashboard-more {
    min-height: 39px;
    padding: 8px 10px !important;
    font-size: 9px !important;
  }

  .bupha-portal-v2 .bupha-partner-dashboard-section {
    padding: 14px !important;
  }

  .bupha-portal-v2 .bupha-partner-stat-grid,
  .bupha-portal-v2 .bupha-partner-balance-grid,
  .bupha-portal-v2 .bupha-partner-team-summary,
  .bupha-portal-v2 .bupha-partner-referral-metrics {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 8px !important;
  }

  .bupha-portal-v2 .bupha-partner-stat-grid > div,
  .bupha-portal-v2 .bupha-partner-balance-grid > div,
  .bupha-portal-v2 .bupha-partner-team-summary > div,
  .bupha-portal-v2 .bupha-partner-referral-metrics > div {
    padding: 12px !important;
    border-radius: 14px !important;
  }

  .bupha-portal-v2 .bupha-partner-stat-grid strong,
  .bupha-portal-v2 .bupha-partner-balance-grid strong,
  .bupha-portal-v2 .bupha-partner-team-summary strong,
  .bupha-portal-v2 .bupha-partner-referral-metrics strong {
    font-size: 15px !important;
  }

  .bupha-portal-v2 .bupha-partner-copy-row {
    grid-template-columns: minmax(0,1fr) repeat(2, 56px);
    gap: 5px !important;
  }

  .bupha-portal-v2 .bupha-partner-copy-row input {
    min-width: 0;
  }

  .bupha-portal-v2 .bupha-partner-copy-row button,
  .bupha-portal-v2 .bupha-partner-copy-row a {
    min-width: 0;
    padding: 7px !important;
    font-size: 9px !important;
  }

  .bupha-portal-v2 .bupha-partner-product-links {
    padding: 11px !important;
  }

  .bupha-portal-v2 .bupha-partner-product-links-head {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 7px !important;
  }

  .bupha-portal-v2 .bupha-partner-product-link-item {
    grid-template-columns: 56px minmax(0,1fr) !important;
    gap: 10px !important;
    padding: 11px !important;
  }

  .bupha-portal-v2 .bupha-partner-product-link-item > img,
  .bupha-portal-v2 .bupha-partner-product-link-placeholder {
    width: 56px !important;
    height: 56px !important;
    border-radius: 12px !important;
  }

  .bupha-portal-v2 .bupha-partner-marketing-status-grid,
  .bupha-portal-v2 .bupha-partner-profile-form,
  .bupha-portal-v2 .bupha-partner-ads-form,
  .bupha-portal-v2 .bupha-partner-fulfillment-inputs {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .bupha-portal-v2 .bupha-partner-fulfillment-toolbar {
    flex-direction: column !important;
  }

  .bupha-portal-v2 .bupha-partner-fulfillment-toolbar input {
    width: 100% !important;
  }

  .bupha-portal-v2 .bupha-partner-bulk-toolbar {
    align-items: stretch !important;
    flex-direction: column;
  }

  .bupha-portal-v2 .bupha-partner-bulk-toolbar span {
    margin: 0 !important;
  }

  .bupha-portal-v2 .bupha-partner-fulfillment-row-main {
    display: grid !important;
    grid-template-columns: 26px minmax(0,1fr) !important;
    gap: 9px !important;
    padding: 12px !important;
  }

  .bupha-portal-v2 .bupha-partner-fulfillment-row-main > div:not(.bupha-partner-select-cell) {
    grid-column: 2;
  }

  .bupha-portal-v2 .bupha-partner-fulfillment-row-actions {
    justify-content: stretch !important;
  }

  .bupha-portal-v2 .bupha-partner-fulfillment-row-actions > *,
  .bupha-portal-v2 .bupha-partner-fulfillment-row-actions button {
    width: 100% !important;
  }

  .bupha-portal-v2 .bupha-partner-pickup-box {
    max-height: calc(100vh - 28px);
    padding: 16px !important;
    overflow-y: auto;
    border-radius: 18px !important;
  }

  /* Generic partner tables become readable cards. JS supplies data-label. */
  .bupha-portal-v2 .bupha-unified-partnership .bupha-partner-order-table-wrap,
  .bupha-portal-v2 .bupha-unified-partnership .bupha-partner-table-wrap,
  .bupha-portal-v2 .bupha-unified-partnership .bupha-ledger-table-wrap {
    overflow: visible !important;
    border: 0 !important;
  }

  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table {
    min-width: 0 !important;
    background: transparent !important;
  }

  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table thead {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table,
  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table tbody,
  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table tr,
  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table td {
    display: block !important;
    width: 100% !important;
  }

  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table tr {
    margin-bottom: 10px;
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--bupha-portal-line);
    border-radius: 15px;
    box-shadow: 0 5px 16px rgba(19,55,44,.04);
  }

  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table tr[hidden] {
    display: none !important;
  }

  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table td {
    display: grid !important;
    grid-template-columns: minmax(92px, .8fr) minmax(0, 1.2fr) !important;
    gap: 10px;
    align-items: center;
    min-height: 44px;
    padding: 10px 12px !important;
    text-align: right !important;
  }

  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table td::before {
    content: attr(data-bupha-label);
    color: var(--bupha-portal-muted);
    font-size: 9px !important;
    font-weight: 700;
    text-align: left;
  }

  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table td[colspan] {
    display: block !important;
    text-align: center !important;
  }

  .bupha-portal-v2 .bupha-unified-partnership table.bupha-mobile-card-table td[colspan]::before {
    display: none;
  }
}

@media (max-width: 390px) {
  .bupha-portal-v2 .bupha-portal-greeting span {
    display: none;
  }

  .bupha-portal-v2 .bupha-portal-greeting strong {
    max-width: 35vw;
  }

  .bupha-portal-v2 .bupha-partner-stat-grid,
  .bupha-portal-v2 .bupha-partner-balance-grid {
    grid-template-columns: minmax(0,1fr) !important;
  }

  .bupha-portal-v2 .bupha-customer-order-actions {
    grid-template-columns: minmax(0,1fr);
  }
}

@media (prefers-reduced-motion: reduce) {
  .bupha-portal-v2 *,
  .bupha-portal-v2 *::before,
  .bupha-portal-v2 *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* v1.2.12.36 mobile UAT polish */
.bupha-portal-v2 .bupha-portal-topbar {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

.bupha-portal-v2 .bupha-customer-articles-card,
.bupha-portal-v2 .bupha-customer-article-detail {
  display: block !important;
  align-items: stretch !important;
  width: 100% !important;
  padding: clamp(16px, 3vw, 24px) !important;
}

.bupha-portal-v2 .bupha-customer-articles-card > h4,
.bupha-portal-v2 .bupha-customer-article-detail > h4 {
  margin: 0 0 14px !important;
}

.bupha-portal-v2 .bupha-customer-article-list {
  width: 100% !important;
  margin-top: 0 !important;
}

.bupha-portal-v2 .bupha-customer-article-item {
  min-width: 0;
}

.bupha-portal-v2 .bupha-customer-article-item h5 {
  overflow-wrap: anywhere;
  line-height: 1.35 !important;
}

.bupha-portal-v2 .bupha-customer-empty {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 18px !important;
  color: var(--bupha-portal-muted) !important;
  background: #fff !important;
  border: 1px dashed #d2ded8 !important;
  border-radius: 15px !important;
  line-height: 1.5 !important;
  text-align: center;
}

.bupha-portal-v2 .bupha-customer-dashboard-results {
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.bupha-portal-v2 .bupha-customer-tab-custom-header {
  min-width: 0;
  margin: 0 0 12px !important;
}

.bupha-portal-v2 .bupha-customer-tab-custom-header h1,
.bupha-portal-v2 .bupha-customer-tab-custom-header h2,
.bupha-portal-v2 .bupha-customer-tab-custom-header h3 {
  margin: 0 !important;
  overflow-wrap: anywhere;
  color: var(--bupha-portal-green) !important;
  line-height: 1.2 !important;
}

.bupha-portal-v2 .bupha-portal-more-button {
  display: none !important;
}

.bupha-portal-v2 .bupha-portal-more-sheet[hidden] {
  display: none !important;
}

.bupha-portal-v2 .bupha-portal-more-sheet {
  position: fixed;
  inset: 0;
  z-index: 100010;
}

.bupha-portal-v2 .bupha-portal-more-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  background: rgba(13, 35, 28, .38);
  border: 0;
  border-radius: 0 !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.bupha-portal-v2 .bupha-portal-more-dialog {
  position: absolute;
  right: 10px;
  bottom: calc(86px + env(safe-area-inset-bottom, 0px));
  left: 10px;
  padding: 14px;
  background: #fff;
  border: 1px solid var(--bupha-portal-line);
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(13, 46, 36, .24);
}

.bupha-portal-v2 .bupha-portal-more-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.bupha-portal-v2 .bupha-portal-more-head > button {
  width: 34px;
  min-height: 34px;
  padding: 0 !important;
  color: #506159;
  background: #f1f5f3;
  border: 0;
  border-radius: 10px !important;
  font-size: 22px !important;
}

.bupha-portal-v2 .bupha-portal-more-links {
  display: grid;
  gap: 8px;
}

.bupha-portal-v2 .bupha-portal-more-links > a {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 60px;
  padding: 10px 12px;
  color: var(--bupha-portal-ink) !important;
  background: #f8fbf9;
  border: 1px solid #e2ebe6;
  border-radius: 14px;
  text-decoration: none !important;
}

.bupha-portal-v2 .bupha-portal-more-links > a.is-active {
  color: var(--bupha-portal-green) !important;
  background: #eaf7f1;
  border-color: #b8dacb;
}

.bupha-portal-v2 .bupha-portal-more-links i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: var(--bupha-portal-green);
  background: #e7f4ee;
  border-radius: 12px;
  font-style: normal;
}

.bupha-portal-v2 .bupha-portal-more-links strong,
.bupha-portal-v2 .bupha-portal-more-links small {
  display: block;
}

.bupha-portal-v2 .bupha-portal-more-links small {
  margin-top: 3px;
  color: var(--bupha-portal-muted);
  font-size: 10px !important;
}

.bupha-portal-topbar-actions .bupha-portal-quick-actions.is-docked {
  position: static !important;
  z-index: auto !important;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 7px;
}

.bupha-portal-topbar-actions .bupha-portal-quick-actions.is-docked .bupha-portal-action {
  justify-content: center;
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}

.bupha-portal-topbar-actions .bupha-portal-quick-actions.is-docked .bupha-portal-action-label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

html.has-bupha-portal-sheet {
  overflow: hidden;
}

@media (max-width: 767px) {
  .bupha-portal-v2 {
    padding-top: 8px !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
  }

  .bupha-portal-v2 .bupha-portal-topbar {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    min-height: 60px !important;
    margin: 0 !important;
    padding: 8px 9px !important;
  }

  .bupha-portal-v2 .bupha-portal-identity {
    flex: 1 1 auto;
    gap: 8px;
    overflow: hidden;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-logo img {
    max-width: 86px !important;
    height: 32px !important;
    max-height: 32px !important;
  }

  .bupha-portal-v2 .bupha-portal-greeting {
    flex: 1 1 auto;
    overflow: hidden;
  }

  .bupha-portal-v2 .bupha-portal-greeting strong {
    max-width: 100% !important;
  }

  .bupha-portal-v2 .bupha-portal-topbar-actions {
    flex: 0 0 auto;
    gap: 6px;
  }

  .bupha-portal-v2 .bupha-portal-topbar-actions > a,
  .bupha-portal-v2 .bupha-portal-topbar-actions .bupha-portal-action {
    width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    border-radius: 11px !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-secondary-nav {
    display: none !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-more-button {
    position: relative;
    display: flex !important;
    flex: 1 1 20% !important;
    flex-direction: column;
    align-items: center;
    justify-content: center !important;
    gap: 3px;
    min-width: 0 !important;
    min-height: 56px !important;
    width: auto !important;
    padding: 4px 3px !important;
    color: #43534d !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    font-size: 8px !important;
    line-height: 1.1 !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-more-button::before {
    content: "•••";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 25px;
    height: 25px;
    color: #557068;
    font-size: 13px;
    letter-spacing: 1px;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-more-button.is-active {
    color: #fff !important;
    background: var(--bupha-portal-green) !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-more-button.is-active::before {
    color: #fff;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu a,
  .bupha-portal-v2.has-mobile-floating-menu .bupha-customer-dashboard-menu a {
    flex: 1 1 20% !important;
    min-width: 0 !important;
    padding-right: 3px !important;
    padding-left: 3px !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-menu,
  .bupha-portal-v2.has-mobile-floating-menu .bupha-customer-dashboard-menu {
    overflow: hidden !important;
  }

  .bupha-portal-v2 .bupha-customer-order-sticky-area,
  .bupha-portal-v2.has-order-filter-floating .bupha-customer-order-sticky-area {
    position: sticky !important;
    inset: 4px auto auto !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 10px !important;
  }

  .bupha-portal-v2.has-order-filter-floating [data-bupha-customer-dashboard-results],
  .bupha-portal-v2.has-order-filter-floating-position-top [data-bupha-customer-dashboard-results],
  .bupha-portal-v2.has-order-filter-floating-position-bottom [data-bupha-customer-dashboard-results] {
    margin: 0 !important;
    padding: 0 !important;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs {
    padding: 0 0 2px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs button {
    font-size: 10px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-summary-card {
    padding: 10px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-summary {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 9px !important;
    align-items: start !important;
    padding: 0 !important;
  }

  .bupha-portal-v2 .bupha-customer-order-thumb {
    width: 54px !important;
    height: 54px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-main {
    display: grid !important;
    gap: 6px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .bupha-portal-v2 .bupha-customer-order-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: 5px 8px !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .bupha-portal-v2 .bupha-customer-order-head > span {
    justify-self: end !important;
    color: var(--bupha-portal-green) !important;
    font-size: 12px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-head strong {
    font-size: 13px !important;
    line-height: 1.35 !important;
  }

  .bupha-portal-v2 .bupha-customer-order-head small {
    margin-top: 3px !important;
    color: var(--bupha-portal-muted) !important;
    font-size: 9px !important;
    line-height: 1.45 !important;
  }

  .bupha-portal-v2 .bupha-customer-order-meta {
    justify-content: flex-start !important;
  }

  .bupha-portal-v2 .bupha-customer-order-meta span {
    padding: 4px 7px !important;
    font-size: 9px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-actions {
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    margin: 9px 0 0 !important;
  }

  .bupha-portal-v2 .bupha-customer-order-actions > :only-child {
    grid-column: 1 / -1;
  }

  .bupha-portal-v2 .bupha-customer-notifications-head {
    padding: 14px !important;
  }

  .bupha-portal-v2 .bupha-customer-notifications-head h3,
  .bupha-portal-v2 .bupha-customer-notifications-head h4 {
    margin-top: 0 !important;
    line-height: 1.25 !important;
  }

  .bupha-portal-v2 .bupha-customer-notification-card {
    font-size: 12px !important;
    line-height: 1.55 !important;
  }

  .bupha-portal-v2 .bupha-customer-notification-card h4,
  .bupha-portal-v2 .bupha-customer-notification-card strong {
    line-height: 1.35 !important;
  }

  .bupha-portal-v2 .bupha-customer-article-item {
    padding: 14px !important;
  }

  .bupha-portal-v2 .bupha-customer-article-item h5 {
    font-size: 16px !important;
  }

  .bupha-portal-v2 .bupha-customer-article-item p {
    font-size: 12px !important;
  }

  .bupha-portal-v2 .bupha-customer-profile-card,
  .bupha-portal-v2 .bupha-customer-address-card {
    padding: 14px !important;
  }

  .bupha-portal-v2 .bupha-profile-readonly-list > div,
  .bupha-portal-v2 .bupha-partner-profile-list > div {
    min-height: 0 !important;
    padding: 10px 11px !important;
  }

  .bupha-portal-v2 .bupha-partner-dashboard-hero {
    padding: 18px !important;
    border-radius: 18px !important;
  }
}

/*
 * Layout guard: Elementor may print dashboard controls inside the page body.
 * This selector keeps the new responsive structure authoritative while still
 * allowing the administrator's colors, labels and content to be used.
 */
#bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-shell {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

#bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-logo {
  position: static !important;
  inset: auto !important;
  margin: 0 !important;
}

@media (min-width: 1024px) {
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-shell {
    display: grid !important;
    grid-template-columns: 228px minmax(0, 1fr) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu {
    position: sticky !important;
    top: 18px !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-panel {
    grid-column: 2 !important;
    width: 100% !important;
    max-width: none !important;
  }
}

@media (max-width: 767px) {
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 {
    padding-bottom: calc(94px + env(safe-area-inset-bottom)) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu {
    position: fixed !important;
    top: auto !important;
    right: max(8px, env(safe-area-inset-right)) !important;
    bottom: max(8px, env(safe-area-inset-bottom)) !important;
    left: max(8px, env(safe-area-inset-left)) !important;
    display: flex !important;
    flex-direction: row !important;
    width: auto !important;
    height: 70px !important;
    padding: 6px !important;
    overflow-x: auto !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu a {
    flex: 1 0 64px !important;
    flex-direction: column !important;
    min-width: 64px !important;
    min-height: 56px !important;
    width: auto !important;
    padding: 4px 5px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-panel,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-results,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-order-summary-card {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu {
    overflow-x: hidden !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu a:not(.bupha-portal-secondary-nav) {
    flex: 1 1 20% !important;
    min-width: 0 !important;
    padding-right: 3px !important;
    padding-left: 3px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-secondary-nav {
    display: none !important;
  }
}

/* v1.2.12.37 configurable navigation and mobile density pass */
.bupha-portal-v2 .bupha-portal-desktop-overflow {
  display: flex !important;
}

/* v1.2.12.38 mobile header safe area and dashboard cart docking */
.bupha-portal-v2 .bupha-portal-cart-docked {
  position: relative !important;
  inset: auto !important;
  z-index: auto !important;
  flex: 0 0 auto !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 0 !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 16px rgba(6, 78, 59, .18) !important;
}

.bupha-portal-v2 .bupha-portal-cart-docked .bupha-cart-button-text {
  display: none !important;
}

.bupha-portal-v2 .bupha-portal-cart-docked .bupha-cart-button-icon {
  font-size: 18px !important;
  line-height: 1 !important;
}

.bupha-portal-v2 .bupha-portal-cart-docked .bupha-cart-button-count {
  position: absolute !important;
  top: -5px !important;
  right: -5px !important;
  min-width: 19px !important;
  width: auto !important;
  height: 19px !important;
  padding: 0 5px !important;
  color: #fff !important;
  background: #dc2626 !important;
  border: 2px solid #fff !important;
  border-radius: 999px !important;
  font-size: 8px !important;
  line-height: 1 !important;
  opacity: 1 !important;
}

.bupha-portal-cart-suppressed {
  display: none !important;
}

@media (max-width: 767px) {
  html:has(#bupha-customer-portal.bupha-portal-v2) {
    scroll-padding-bottom: 82px;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 {
    padding:
      max(12px, env(safe-area-inset-top, 0px))
      max(8px, env(safe-area-inset-right, 0px))
      calc(82px + env(safe-area-inset-bottom, 0px))
      max(8px, env(safe-area-inset-left, 0px)) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-shell {
    gap: 8px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar {
    position: relative !important;
    top: auto !important;
    z-index: 80 !important;
    gap: 8px !important;
    min-height: 58px !important;
    padding: 8px 9px !important;
    overflow: visible !important;
    border-radius: 14px !important;
    box-shadow: 0 5px 18px rgba(13, 46, 36, .08) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-logo img {
    max-width: 74px !important;
    height: 28px !important;
    max-height: 28px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-identity {
    gap: 7px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-greeting span {
    display: none !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-greeting strong {
    max-width: 27vw !important;
    font-size: 12px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-actions > a,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-actions .bupha-portal-action {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-actions {
    flex: 0 0 auto !important;
    gap: 5px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-cart-docked {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
    max-width: 34px !important;
    border-radius: 12px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-actions .bupha-portal-quick-actions.is-docked {
    gap: 5px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-actions .bupha-portal-quick-actions.is-docked .bupha-portal-action {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    min-height: 34px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu {
    right: max(6px, env(safe-area-inset-right)) !important;
    bottom: max(6px, env(safe-area-inset-bottom)) !important;
    left: max(6px, env(safe-area-inset-left)) !important;
    height: 62px !important;
    padding: 5px !important;
    gap: 2px !important;
    border-radius: 17px !important;
    box-shadow: 0 10px 28px rgba(13,46,36,.16) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu a,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-more-button {
    flex: 1 1 20% !important;
    min-width: 0 !important;
    min-height: 50px !important;
    height: 50px !important;
    padding: 3px 2px !important;
    border-radius: 12px !important;
    font-size: 8px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu a::before,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-more-button::before {
    flex: 0 0 21px !important;
    width: 21px !important;
    height: 21px !important;
    font-size: 15px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-desktop-overflow {
    display: none !important;
  }

  .bupha-portal-v2 .bupha-portal-more-dialog {
    bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    padding: 12px;
    border-radius: 17px;
  }

  .bupha-portal-v2 .bupha-portal-more-links > a {
    min-height: 54px;
    padding: 8px 10px;
  }

  .bupha-portal-v2 .bupha-portal-welcome {
    min-height: 128px !important;
    padding: 18px 16px !important;
    border-radius: 18px !important;
  }

  .bupha-portal-v2 .bupha-portal-welcome h2 {
    max-width: 100% !important;
    margin-bottom: 6px !important;
    font-size: 20px !important;
  }

  .bupha-portal-v2 .bupha-portal-welcome p {
    max-width: 92%;
    font-size: 11px !important;
  }

  .bupha-portal-v2 .bupha-customer-dashboard-panel > * + * {
    margin-top: 10px !important;
  }

  .bupha-portal-v2 .bupha-customer-profile-card,
  .bupha-portal-v2 .bupha-customer-address-card,
  .bupha-portal-v2 .bupha-customer-placeholder-card,
  .bupha-portal-v2 .bupha-customer-notifications-head,
  .bupha-portal-v2 .bupha-customer-notification-card,
  .bupha-portal-v2 .bupha-partner-dashboard-section {
    padding: 12px !important;
    border-radius: 15px !important;
    box-shadow: 0 5px 18px rgba(19,55,44,.045) !important;
  }

  .bupha-portal-v2 .bupha-customer-profile-editor {
    grid-template-columns: 44px minmax(0,1fr) !important;
    gap: 10px !important;
  }

  .bupha-portal-v2 .bupha-customer-avatar {
    width: 44px !important;
    height: 44px !important;
    border-width: 2px !important;
    border-radius: 13px !important;
    font-size: 17px !important;
  }

  .bupha-portal-v2 .bupha-customer-profile-body > h4 {
    margin: 0 0 8px !important;
    font-size: 20px !important;
  }

  .bupha-portal-v2 .bupha-profile-readonly-list,
  .bupha-portal-v2 .bupha-partner-profile-list {
    gap: 7px !important;
    margin: 10px 0 !important;
  }

  .bupha-portal-v2 .bupha-profile-readonly-list > div,
  .bupha-portal-v2 .bupha-partner-profile-list > div {
    padding: 9px 10px !important;
    border-radius: 11px !important;
  }

  .bupha-portal-v2 .bupha-profile-edit-panel {
    border-radius: 12px !important;
  }

  .bupha-portal-v2 .bupha-profile-edit-panel > summary,
  .bupha-portal-v2 .bupha-partner-profile-editor > summary {
    min-height: 42px !important;
    padding: 10px 38px 10px 12px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-sticky-area {
    position: relative !important;
    top: auto !important;
    margin-bottom: 8px !important;
    padding: 5px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs {
    gap: 6px !important;
  }

  .bupha-portal-v2 .bupha-customer-order-tabs button {
    min-height: 36px !important;
    padding: 7px 10px !important;
    font-size: 9px !important;
  }

  .bupha-portal-v2 .bupha-customer-empty {
    padding: 16px 12px !important;
    font-size: 13px !important;
  }

  .bupha-portal-v2 .bupha-customer-notifications-head {
    display: grid !important;
    gap: 10px !important;
  }

  .bupha-portal-v2 .bupha-customer-notifications-head h4 {
    font-size: 19px !important;
  }

  .bupha-portal-v2 .bupha-customer-notifications-head p {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .bupha-portal-v2 .bupha-customer-notification-card {
    gap: 8px !important;
  }

  .bupha-portal-v2 .bupha-customer-notification-title {
    font-size: 14px !important;
  }

  .bupha-portal-v2 .bupha-customer-notification-message {
    margin-bottom: 7px !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .bupha-portal-v2 .bupha-customer-notification-footer {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 6px !important;
  }

  .bupha-portal-v2 .bupha-customer-notification-action,
  .bupha-portal-v2 .bupha-customer-notification-read-button {
    min-height: 38px !important;
    padding: 7px 8px !important;
    font-size: 10px !important;
  }

  .bupha-portal-v2 .bupha-customer-articles-card > h4 {
    margin: 0 0 10px !important;
    font-size: 22px !important;
  }

  .bupha-portal-v2 .bupha-customer-article-list {
    gap: 9px !important;
  }

  .bupha-portal-v2 .bupha-customer-article-item {
    padding: 12px !important;
    border-radius: 13px !important;
  }

  .bupha-portal-v2 .bupha-customer-article-item h5 {
    margin-bottom: 6px !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
  }

  .bupha-portal-v2 .bupha-customer-article-item p {
    margin-bottom: 7px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .bupha-portal-v2 .bupha-unified-partnership > .bupha-partner-dashboard-hero {
    min-height: 0 !important;
    padding: 16px !important;
    border-radius: 16px !important;
  }

  .bupha-portal-v2 .bupha-unified-partnership > .bupha-partner-dashboard-hero h3 {
    margin: 8px 0 !important;
    font-size: 21px !important;
    line-height: 1.25 !important;
  }

  .bupha-portal-v2 .bupha-unified-partnership > .bupha-partner-dashboard-hero p {
    margin: 8px 0 !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }

  .bupha-portal-v2 .bupha-partner-dashboard-head {
    min-height: 108px !important;
    padding: 16px !important;
  }

  .bupha-portal-v2 .bupha-partner-dashboard-menu {
    position: relative !important;
    top: auto !important;
    gap: 5px !important;
    margin: 8px 0 !important;
    padding: 5px !important;
  }

  .bupha-portal-v2 .bupha-partner-dashboard-menu button,
  .bupha-portal-v2 .bupha-partner-dashboard-more {
    min-height: 36px !important;
    padding: 7px 9px !important;
  }
}

/* v1.2.12.40 authority overrides: keep these after all legacy Elementor guards. */
.bupha-portal-v2 .bupha-portal-topbar {
  justify-content: flex-start !important;
}

@media (max-width: 767px) {
  body.has-bupha-dashboard-portal #masthead,
  body.has-bupha-dashboard-portal header#masthead,
  body.has-bupha-dashboard-portal .site-header,
  body.has-bupha-dashboard-portal .ast-mobile-header-wrap,
  body.has-bupha-dashboard-portal .elementor-location-header {
    display: none !important;
  }

  body.has-bupha-dashboard-portal #content,
  body.has-bupha-dashboard-portal .site-content,
  body.has-bupha-dashboard-portal .ast-container,
  body.has-bupha-dashboard-portal .content-area,
  body.has-bupha-dashboard-portal .site-main,
  body.has-bupha-dashboard-portal .entry-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 {
    padding-top: 6px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar {
    position: sticky !important;
    inset: 0 auto auto !important;
    top: 0 !important;
    z-index: 99980 !important;
    min-height: 58px !important;
    gap: 6px !important;
    margin: 0 !important;
    padding: 8px 9px !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 7px 22px rgba(13,46,36,.12) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view > .bupha-customer-dashboard-shell > .bupha-customer-dashboard-menu {
    display: none !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu {
    position: fixed !important;
    inset: auto max(6px, env(safe-area-inset-right, 0px)) max(6px, env(safe-area-inset-bottom, 0px)) max(6px, env(safe-area-inset-left, 0px)) !important;
    z-index: 99990 !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 2px !important;
    width: auto !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 5px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.97) !important;
    border-radius: 17px !important;
    box-shadow: 0 10px 28px rgba(13,46,36,.16) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > button,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > a,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-more {
    flex: 1 1 20% !important;
    min-width: 0 !important;
    width: auto !important;
    height: 50px !important;
    min-height: 50px !important;
    padding: 3px 2px !important;
  }
}

/* Keep the help action available without covering dashboard forms or cards. */
@media (max-width: 767px) {
  body.has-bupha-dashboard-portal .bupha-cwa-floating {
    right: 12px !important;
    bottom: calc(78px + env(safe-area-inset-bottom, 0px)) !important;
    left: auto !important;
    width: 46px !important;
    min-width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    box-shadow: 0 8px 22px rgba(5,94,63,.22) !important;
  }

  body.has-bupha-dashboard-portal .bupha-cwa-floating-copy {
    display: none !important;
  }
}

/* v1.2.12.44 — compact orders, notification settings, and install prompt */
.bupha-portal-v2 .bupha-portal-quick-actions {
  display: none !important;
}

#bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-sticky-area {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 10px !important;
}

#bupha-customer-portal.bupha-portal-v2.has-order-filter-floating [data-bupha-customer-dashboard-results],
#bupha-customer-portal.bupha-portal-v2.has-order-filter-floating-position-top [data-bupha-customer-dashboard-results],
#bupha-customer-portal.bupha-portal-v2.has-order-filter-floating-position-bottom [data-bupha-customer-dashboard-results] {
  margin: 0 !important;
  padding: 0 !important;
}

.bupha-portal-v2 .bupha-customer-order-tabs button {
  position: relative;
}

.bupha-portal-v2 .bupha-order-tab-icon,
.bupha-portal-v2 .bupha-order-tab-label,
.bupha-portal-v2 .bupha-order-tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.bupha-portal-v2 .bupha-order-tab-icon {
  font-style: normal;
  line-height: 1;
}

.bupha-portal-v2 .bupha-customer-order-tabs button > .bupha-order-tab-label {
  min-width: 0;
  width: auto;
  height: auto;
  padding: 0;
  color: inherit;
  background: transparent;
  border: 0;
  border-radius: 0;
}

.bupha-portal-v2 .bupha-customer-order-tabs button > .bupha-order-tab-count {
  flex: 0 0 auto;
  min-width: 21px;
  height: 21px;
  padding: 0 5px;
  color: #566760;
  background: #eef3f0;
  border: 1px solid #dce6e1;
  border-radius: 999px;
  font-size: 9px !important;
  line-height: 1;
}

.bupha-portal-v2 .bupha-customer-order-tabs button.is-active > .bupha-order-tab-count {
  color: #fff;
  background: rgba(255,255,255,.16);
  border-color: rgba(255,255,255,.32);
}

.bupha-portal-v2 .bupha-customer-order-summary-card {
  padding: 0 !important;
}

.bupha-portal-v2 .bupha-customer-order-summary {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.bupha-customer-device-settings {
  padding: 16px;
  background: linear-gradient(135deg, #f4fbf7, #fff);
  border: 1px solid #d8e9e1;
  border-radius: 18px;
  box-shadow: 0 7px 22px rgba(19,55,44,.05);
}

.bupha-customer-device-settings-head {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin-bottom: 13px;
}

.bupha-customer-device-settings-head > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  background: #e2f5eb;
  border-radius: 12px;
  font-size: 18px !important;
}

.bupha-customer-device-settings-head h4 {
  margin: 0 0 4px !important;
  color: #143f32;
  font-size: 17px !important;
  line-height: 1.3;
}

.bupha-customer-device-settings-head p {
  margin: 0 !important;
  color: #66766f;
  font-size: 12px !important;
  line-height: 1.5;
}

.bupha-customer-device-settings .bupha-crm-device-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px;
  background: #fff;
  border: 1px solid #deebe5;
  border-radius: 14px;
}

.bupha-customer-device-settings .bupha-crm-device-copy {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.bupha-customer-device-settings .bupha-crm-device-copy > .dashicons {
  display: none;
}

.bupha-customer-device-settings .bupha-crm-device-copy strong,
.bupha-customer-device-settings .bupha-crm-device-copy p {
  display: block;
}

.bupha-customer-device-settings .bupha-crm-device-copy strong {
  margin-bottom: 3px;
  color: #173d32;
  font-size: 13px !important;
}

.bupha-customer-device-settings .bupha-crm-device-copy p {
  margin: 0 !important;
  color: #718079;
  font-size: 11px !important;
  line-height: 1.45;
}

.bupha-customer-device-settings .bupha-crm-device-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
}

.bupha-customer-device-settings .bupha-crm-device-status {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 9px;
  color: #5f7068;
  background: #eef3f0;
  border-radius: 999px;
  font-size: 10px !important;
  font-weight: 800;
}

.bupha-customer-device-settings .bupha-crm-device-status.is-active {
  color: #087348;
  background: #dcf7e8;
}

.bupha-customer-device-settings .bupha-crm-device-status.is-blocked {
  color: #a12622;
  background: #fde8e8;
}

.bupha-customer-device-settings .bupha-crm-device-actions button {
  min-height: 36px !important;
  margin: 0 !important;
  padding: 7px 10px !important;
  color: #174b39 !important;
  background: #fff !important;
  border: 1px solid #cfe0d8 !important;
  border-radius: 10px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}

.bupha-customer-device-settings .bupha-crm-device-actions .button-primary {
  color: #fff !important;
  background: #087f5b !important;
  border-color: #087f5b !important;
}

.bupha-customer-device-settings .bupha-crm-device-actions button[hidden] {
  display: none !important;
}

.bupha-customer-device-settings .bupha-crm-install-button > .dashicons {
  display: none;
}

.bupha-customer-device-settings .bupha-crm-install-button::before {
  content: "▣";
  margin-right: 5px;
  font-size: 13px;
}

.bupha-install-prompt[hidden] {
  display: none !important;
}

.bupha-install-prompt {
  position: fixed;
  inset: 0;
  z-index: 100020;
  display: grid;
  align-items: end;
  justify-items: center;
  padding: 16px max(12px, env(safe-area-inset-right, 0px)) max(16px, env(safe-area-inset-bottom, 0px)) max(12px, env(safe-area-inset-left, 0px));
}

.bupha-install-prompt-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  padding: 0 !important;
  background: rgba(8,25,19,.56) !important;
  border: 0 !important;
  border-radius: 0 !important;
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}

.bupha-install-prompt-card {
  position: relative;
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 12px;
  width: min(100%, 430px);
  padding: 18px;
  background: #fff;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 22px;
  box-shadow: 0 22px 60px rgba(5,35,25,.28);
}

.bupha-install-prompt-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: #fff;
  background: var(--bupha-brand-surface,linear-gradient(145deg,#13916a,#064e3b));
  border-radius: 15px;
  font-size: 21px;
  font-weight: 900;
  overflow:hidden;
}
.bupha-install-prompt-icon img{display:block;width:100%;height:100%;object-fit:contain;background:transparent;padding:0;filter:none;box-shadow:none}

.bupha-install-prompt-kicker {
  display: block;
  margin-bottom: 3px;
  color: #0b7655;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.bupha-install-prompt-copy h2 {
  margin: 0 28px 5px 0;
  color: #173d32;
  font-size: 19px;
  line-height: 1.25;
}

.bupha-install-prompt-copy p {
  margin: 0;
  color: #65776f;
  font-size: 12px;
  line-height: 1.5;
}

.bupha-install-prompt-close {
  position: absolute;
  top: 10px;
  right: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  min-height: 32px !important;
  padding: 0 !important;
  color: #607168 !important;
  background: #f0f5f2 !important;
  border: 0 !important;
  border-radius: 50% !important;
  font-size: 20px !important;
}

.bupha-install-prompt-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 8px;
}

.bupha-install-prompt-actions button {
  min-height: 43px;
  padding: 9px 14px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 850;
}

.bupha-install-prompt-primary {
  color: #fff;
  background: #087f5b;
  border: 1px solid #087f5b;
}

.bupha-install-prompt-secondary {
  color: #36584b;
  background: #fff;
  border: 1px solid #d8e4df;
}

html.has-bupha-install-prompt {
  overflow: hidden;
}

@media (max-width: 767px) {
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-sticky-area {
    position: relative !important;
    inset: auto !important;
    z-index: 2 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0,1fr)) !important;
    gap: 5px !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-1 {
    grid-template-columns: minmax(0,1fr) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-2 {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-3 {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-4 {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-6 {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs button {
    display: flex !important;
    flex-direction: column;
    gap: 3px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 61px !important;
    padding: 6px 2px 5px !important;
    overflow: visible;
    border-radius: 13px !important;
    white-space: normal !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-order-tab-icon {
    width: 20px;
    height: 20px;
    font-size: 16px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs button > .bupha-order-tab-label {
    min-height: 2.2em;
    color: inherit;
    font-size: 8px !important;
    font-weight: 800 !important;
    line-height: 1.05;
    text-align: center;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs button > .bupha-order-tab-count {
    position: absolute;
    top: 4px;
    right: 4px;
    min-width: 16px;
    width: auto;
    height: 16px;
    padding: 0 4px;
    font-size: 7px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-dashboard-results {
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-summary-card {
    padding: 10px !important;
    border-radius: 16px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-summary {
    grid-template-columns: 58px minmax(0,1fr) !important;
    gap: 9px !important;
    padding: 0 !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-thumb {
    width: 58px !important;
    height: 58px !important;
    border-radius: 13px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-head {
    gap: 3px 7px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-head strong {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-head small {
    font-size: 8px !important;
    line-height: 1.35 !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-head > span {
    font-size: 11px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-actions {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 6px !important;
    margin-top: 8px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-actions > a,
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-actions > button {
    width: 100% !important;
    min-height: 38px !important;
    padding: 7px 8px !important;
    font-size: 9px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-actions > :last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .bupha-customer-device-settings {
    padding: 13px;
    border-radius: 16px;
  }

  .bupha-customer-device-settings .bupha-crm-device-card {
    display: grid;
    gap: 10px;
    padding: 11px;
  }

  .bupha-customer-device-settings .bupha-crm-device-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    justify-content: stretch;
  }

  .bupha-customer-device-settings .bupha-crm-device-status {
    grid-column: 1 / -1;
    justify-content: center;
  }

  .bupha-customer-device-settings .bupha-crm-device-actions button {
    width: 100%;
  }

  .bupha-install-prompt-card {
    padding: 16px;
    border-radius: 19px;
  }
}

@media (max-width: 340px) {
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs {
    gap: 3px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs button {
    min-height: 58px !important;
    padding-right: 1px !important;
    padding-left: 1px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs button > .bupha-order-tab-label {
    font-size: 7px !important;
  }
}

/* v1.2.12.45 — role-safe profile, unified icons, compact order navigation */
.bupha-portal-v2 .bupha-ui-icon {
  display: inline-block;
  flex: 0 0 auto;
  width: 1em;
  height: 1em;
  overflow: visible;
  color: currentColor;
  vertical-align: middle;
}

.bupha-portal-v2 .bupha-ui-icon-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-style: normal;
  line-height: 1;
}

.bupha-portal-v2 .has-bupha-ui-icon::before {
  display: none !important;
  content: none !important;
}

.bupha-portal-v2 .bupha-portal-avatar-button {
  overflow: hidden;
}

.bupha-portal-v2 .bupha-portal-avatar-button > img,
.bupha-portal-v2 .bupha-customer-avatar > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bupha-portal-v2 .bupha-portal-avatar-button > .bupha-ui-icon {
  width: 21px;
  height: 21px;
  stroke-width: 1.9;
}

.bupha-portal-v2 .bupha-customer-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.bupha-portal-v2 .bupha-customer-avatar > .bupha-ui-icon {
  width: 42%;
  height: 42%;
}

.bupha-portal-v2 .bupha-portal-icon-button > .bupha-ui-icon {
  width: 21px;
  height: 21px;
  font-size: inherit !important;
  transform: none;
}

.bupha-portal-v2 .bupha-portal-cart-fallback > .bupha-ui-icon {
  width: 20px;
  height: 20px;
}

.bupha-portal-v2 .bupha-customer-dashboard-menu a.has-bupha-ui-icon {
  gap: 11px;
}

.bupha-portal-v2 .bupha-customer-dashboard-menu a.has-bupha-ui-icon > .bupha-ui-icon,
.bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-more-button > .bupha-ui-icon {
  width: 21px;
  height: 21px;
}

.bupha-portal-v2 .bupha-customer-menu-label {
  min-width: 0;
}

.bupha-portal-v2 .bupha-portal-quick-grid i > .bupha-ui-icon,
.bupha-portal-v2 .bupha-portal-more-links i > .bupha-ui-icon {
  width: 20px;
  height: 20px;
}

.bupha-portal-v2 .bupha-partner-dashboard-menu > button.has-bupha-ui-icon,
.bupha-portal-v2 .bupha-partner-dashboard-menu > a.has-bupha-ui-icon,
.bupha-portal-v2 .bupha-partner-dashboard-more.has-bupha-ui-icon {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
}

.bupha-portal-v2 .bupha-partner-dashboard-menu .bupha-ui-icon {
  width: 17px;
  height: 17px;
}

.bupha-portal-v2 .bupha-order-tab-icon > .bupha-ui-icon {
  width: 19px;
  height: 19px;
}

@media (max-width: 767px) {
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-dashboard-menu a.has-bupha-ui-icon,
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-more-button.has-bupha-ui-icon {
    gap: 3px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-dashboard-menu a.has-bupha-ui-icon > .bupha-ui-icon,
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-dashboard-menu .bupha-portal-more-button > .bupha-ui-icon {
    flex: 0 0 21px;
    width: 21px;
    height: 21px;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-menu-label,
  #bupha-customer-portal.bupha-portal-v2 .bupha-portal-more-button > span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    line-height: 1.1;
    text-overflow: ellipsis;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-sticky-area {
    margin-bottom: 8px !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs,
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-5 {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 2px !important;
    width: 100% !important;
    padding: 5px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(215,226,220,.95) !important;
    border-radius: 17px !important;
    box-shadow: 0 8px 22px rgba(13,46,36,.08) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-1 {
    grid-template-columns: minmax(0,1fr) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-2 {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-3 {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-4 {
    grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-6 {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-5 > button,
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs.is-count-5 > button:nth-child(n+4),
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs > button {
    grid-column: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 52px !important;
    padding: 4px 1px !important;
    overflow: visible !important;
    color: #52645d !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    white-space: normal !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs > button.is-active {
    color: #fff !important;
    background: var(--bupha-portal-green) !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-order-tab-icon {
    width: 20px;
    height: 20px;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-order-tab-icon > .bupha-ui-icon {
    width: 19px;
    height: 19px;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs button > .bupha-order-tab-label {
    min-height: 0 !important;
    width: 100% !important;
    color: inherit !important;
    font-size: 7.5px !important;
    font-weight: 750 !important;
    line-height: 1.08 !important;
    text-align: center !important;
  }

  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs button > .bupha-order-tab-count {
    top: 3px;
    right: 3px;
    min-width: 15px;
    height: 15px;
    padding: 0 3px;
    font-size: 7px !important;
  }

  #bupha-customer-portal.bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > button.has-bupha-ui-icon,
  #bupha-customer-portal.bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > a.has-bupha-ui-icon,
  #bupha-customer-portal.bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-more.has-bupha-ui-icon {
    gap: 2px !important;
  }

  #bupha-customer-portal.bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu .bupha-ui-icon {
    flex: 0 0 20px;
    width: 20px;
    height: 20px;
  }
}

@media (max-width: 340px) {
  #bupha-customer-portal.bupha-portal-v2 .bupha-customer-order-tabs button > .bupha-order-tab-label {
    font-size: 6.8px !important;
  }
}

/* v1.2.12.46 — all Partner menus stay visible in a swipeable navigation row */
#bupha-customer-portal.bupha-portal-v2 .bupha-partner-dashboard-menu {
  justify-content: flex-start !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-inline: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x proximity;
  touch-action: pan-x;
  -webkit-overflow-scrolling: touch;
}

#bupha-customer-portal.bupha-portal-v2 .bupha-partner-dashboard-menu > button,
#bupha-customer-portal.bupha-portal-v2 .bupha-partner-dashboard-menu > a {
  flex: 0 0 auto !important;
  scroll-snap-align: start;
}

@media (min-width: 768px) {
  #bupha-customer-portal.bupha-portal-v2 .bupha-partner-dashboard-menu > button,
  #bupha-customer-portal.bupha-portal-v2 .bupha-partner-dashboard-menu > a {
    min-height: 46px !important;
    padding: 10px 14px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 767px) {
  #bupha-customer-portal.bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu {
    justify-content: flex-start !important;
    gap: 3px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-inline: 5px;
  }

  #bupha-customer-portal.bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > button,
  #bupha-customer-portal.bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > a {
    flex: 0 0 74px !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    padding: 3px 4px !important;
    font-size: 8.5px !important;
    line-height: 1.08 !important;
    text-align: center !important;
  }

  #bupha-customer-portal.bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > button > span,
  #bupha-customer-portal.bupha-portal-v2.is-partner-portal-view .bupha-partner-dashboard-menu > a > span {
    display: block;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* v1.2.12.47 — restore compact mobile-first Partner navigation and reliable order active states */
#bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-order-tabs > button.is-active,
#bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-order-tabs > button[aria-pressed="true"] {
  color: var(--bupha-order-tab-active-text, #fff) !important;
  background: var(--bupha-order-tab-active-bg, var(--bupha-portal-green)) !important;
  border-color: var(--bupha-order-tab-active-bg, var(--bupha-portal-green)) !important;
  box-shadow: 0 5px 14px rgba(6,78,59,.16) !important;
}

#bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-order-tabs > button.is-active > .bupha-order-tab-count,
#bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-customer-order-tabs > button[aria-pressed="true"] > .bupha-order-tab-count {
  color: #fff !important;
  background: rgba(255,255,255,.18) !important;
  border-color: rgba(255,255,255,.34) !important;
}

@media (max-width: 767px) {
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu {
    position: sticky !important;
    inset: auto !important;
    top: 66px !important;
    z-index: 30 !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 2px !important;
    width: 100% !important;
    height: 62px !important;
    margin: 8px 0 12px !important;
    padding: 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    background: rgba(255,255,255,.97) !important;
    border: 1px solid rgba(215,226,220,.95) !important;
    border-radius: 17px !important;
    box-shadow: 0 8px 22px rgba(13,46,36,.10) !important;
    scrollbar-width: none;
    scroll-padding-inline: 5px;
    scroll-snap-type: x proximity;
    overscroll-behavior-inline: contain;
    touch-action: pan-x;
    -webkit-overflow-scrolling: touch;
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu::-webkit-scrollbar {
    display: none;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu > button,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu > a {
    position: relative;
    display: flex !important;
    flex: 0 0 clamp(60px, 18.2vw, 74px) !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    width: clamp(60px, 18.2vw, 74px) !important;
    min-width: clamp(60px, 18.2vw, 74px) !important;
    max-width: 74px !important;
    height: 50px !important;
    min-height: 50px !important;
    margin: 0 !important;
    padding: 3px 4px !important;
    overflow: hidden !important;
    color: #506159 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-size: 8px !important;
    font-weight: 750 !important;
    line-height: 1.08 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    scroll-snap-align: start;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu > button.is-active,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu > button[aria-pressed="true"],
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu > a.is-active {
    color: #fff !important;
    background: linear-gradient(145deg, #0b6b50, #064e3b) !important;
    box-shadow: 0 5px 12px rgba(6,78,59,.18) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu .bupha-ui-icon {
    display: block !important;
    flex: 0 0 20px !important;
    width: 20px !important;
    height: 20px !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu > button::before,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu > a::before {
    display: none !important;
    content: none !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu > button > span,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-unified-partnership .bupha-partner-dashboard-menu > a > span {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    line-height: 1.08 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view .bupha-unified-partnership .bupha-partner-dashboard-menu {
    position: fixed !important;
    inset: auto max(6px, env(safe-area-inset-right, 0px)) max(6px, env(safe-area-inset-bottom, 0px)) max(6px, env(safe-area-inset-left, 0px)) !important;
    top: auto !important;
    width: auto !important;
    margin: 0 !important;
  }
}

/* v1.2.12.48 — keep the primary bottom menu and Partner submenu independent */
@media (max-width: 767px) {
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-menu {
    position: fixed !important;
    inset:
      auto
      max(6px, env(safe-area-inset-right, 0px))
      max(6px, env(safe-area-inset-bottom, 0px))
      max(6px, env(safe-area-inset-left, 0px)) !important;
    z-index: 99990 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    gap: 2px !important;
    width: auto !important;
    height: 62px !important;
    margin: 0 !important;
    padding: 5px !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    background: var(--bupha-dashboard-menu-bg, rgba(255,255,255,.97)) !important;
    border: 1px solid var(--bupha-dashboard-menu-border, rgba(215,226,220,.95)) !important;
    border-radius: 17px !important;
    box-shadow: 0 10px 28px rgba(13,46,36,.16) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2.is-partner-portal-view
    .bupha-unified-partnership
    .bupha-partner-dashboard-menu {
    position: sticky !important;
    inset: auto !important;
    top: 66px !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 30 !important;
    width: 100% !important;
    margin: 8px 0 12px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }
}

/* v1.2.12.49 — shared primary navigation and content-sized Partner submenu */
@media (max-width: 767px) {
  /* Menu Utama Dashboard keeps five compact positions without oversized labels. */
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-menu
    > a {
    font-size: 8.5px !important;
    line-height: 1.08 !important;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-menu
    > a
    > .bupha-customer-menu-label {
    width: 100% !important;
    overflow: visible !important;
    font-size: 8.5px !important;
    line-height: 1.08 !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
  }

  /* Menu Khusus Partner is a secondary, swipeable row inside Partnership. */
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    .bupha-unified-partnership
    .bupha-partner-dashboard-menu {
    position: sticky !important;
    inset: auto !important;
    top: 66px !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 30 !important;
    align-items: stretch !important;
    gap: 4px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 64px !important;
    margin: 8px 0 12px !important;
    padding: 5px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-padding-inline: 5px !important;
    scroll-snap-type: x proximity;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    .bupha-unified-partnership
    .bupha-partner-dashboard-menu
    > button,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    .bupha-unified-partnership
    .bupha-partner-dashboard-menu
    > a {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 72px !important;
    max-width: 112px !important;
    height: auto !important;
    min-height: 52px !important;
    padding: 5px 8px !important;
    overflow: visible !important;
    font-size: 9px !important;
    line-height: 1.12 !important;
    white-space: normal !important;
    scroll-snap-align: start;
  }

  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    .bupha-unified-partnership
    .bupha-partner-dashboard-menu
    > button
    > span,
  #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    .bupha-unified-partnership
    .bupha-partner-dashboard-menu
    > a
    > span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-height: 20px !important;
    overflow: visible !important;
    font-size: 9px !important;
    line-height: 1.12 !important;
    overflow-wrap: normal !important;
    text-overflow: clip !important;
    white-space: normal !important;
  }
}


/* PWA typography bridge v1.2.12.61: variables are attached to html/body by portal-pwa.js. */
html.bupha-pwa-typography-ready body,
html.bupha-pwa-standalone body {
  font-family: var(--bupha-font-base, inherit) !important;
  font-size: var(--bupha-font-base-size, inherit) !important;
  font-weight: var(--bupha-font-base-weight, inherit) !important;
}
html.bupha-pwa-typography-ready body :where(h1,h2,h3,h4,h5,h6),
html.bupha-pwa-standalone body :where(h1,h2,h3,h4,h5,h6) {
  font-family: var(--bupha-font-heading, var(--bupha-font-base, inherit)) !important;
  font-size: var(--bupha-font-heading-size, inherit) !important;
  font-weight: var(--bupha-font-heading-weight, 700) !important;
}
html.bupha-pwa-typography-ready body :where(button,input[type=button],input[type=submit],input[type=reset],.button),
html.bupha-pwa-standalone body :where(button,input[type=button],input[type=submit],input[type=reset],.button) {
  font-family: var(--bupha-font-button, var(--bupha-font-base, inherit)) !important;
  font-size: var(--bupha-font-button-size, inherit) !important;
  font-weight: var(--bupha-font-button-weight, 700) !important;
}
html.bupha-pwa-typography-ready .bupha-install-prompt,
html.bupha-pwa-standalone .bupha-install-prompt {
  font-family: var(--bupha-font-base, inherit) !important;
  font-size: var(--bupha-font-base-size, inherit) !important;
  font-weight: var(--bupha-font-base-weight, inherit) !important;
}


/* v1.2.12.77 — keep native selects stable on Android/PWA.
 * The closed field follows dashboard typography; the opened Android picker is OS-controlled. */
.bupha-portal-v2 select,
.bupha-portal-v2 select option,
#bupha-customer-portal[data-bupha-customer-dashboard] select,
#bupha-customer-portal[data-bupha-customer-dashboard] select option {
  font-family: var(--bupha-font-content, inherit) !important;
  font-size: var(--bupha-font-content-size, inherit) !important;
  font-weight: var(--bupha-font-content-weight, inherit) !important;
  line-height: 1.4 !important;
}

/* v1.2.12.93 — fixed primary dashboard header and mobile bottom navigation. */
@media (max-width: 767px) {
  html.has-bupha-dashboard-portal:not(.bupha-cart-page-active) {
    scroll-padding-top: calc(84px + env(safe-area-inset-top, 0px));
  }

  html:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2,
  body:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 {
    padding-top: calc(82px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
  }

  html:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar,
  body:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar {
    position: fixed !important;
    top: max(8px, env(safe-area-inset-top, 0px)) !important;
    right: max(10px, env(safe-area-inset-right, 0px)) !important;
    left: max(10px, env(safe-area-inset-left, 0px)) !important;
    z-index: 99980 !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
  }

  html:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-menu,
  body:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-menu {
    position: fixed !important;
    top: auto !important;
    right: max(8px, env(safe-area-inset-right, 0px)) !important;
    bottom: max(8px, env(safe-area-inset-bottom, 0px)) !important;
    left: max(8px, env(safe-area-inset-left, 0px)) !important;
    z-index: 99990 !important;
    width: auto !important;
    margin: 0 !important;
  }

  /* The Partner submenu remains below the fixed header and scrolls horizontally. */
  html:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    .bupha-unified-partnership .bupha-partner-dashboard-menu,
  body:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    .bupha-unified-partnership .bupha-partner-dashboard-menu {
    top: calc(76px + env(safe-area-inset-top, 0px)) !important;
  }
}

@media (min-width: 768px) {
  html:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2,
  body:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 {
    padding-top: 108px !important;
  }

  html:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar,
  body:not(.bupha-cart-page-active) #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar {
    position: fixed !important;
    top: 16px !important;
    left: 50% !important;
    z-index: 99980 !important;
    width: min(calc(100vw - 48px), 1228px) !important;
    max-width: 1228px !important;
    margin: 0 !important;
    transform: translateX(-50%) !important;
  }
}


/* BUPHA Commerce v1.2.13.0 — consolidated mobile dashboard foundation.
 * This replaces the accumulated 1.2.12.98–1.2.12.106 overrides with one
 * authoritative layout contract for all customer/partner dashboard pages. */
@media (max-width: 767px) {
  :root {
    --bupha-mobile-page-gutter: 16px;
    --bupha-mobile-topbar-height: 72px;
    --bupha-mobile-bottom-nav-height: 76px;
  }

  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active),
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active) {
    overflow-x: clip !important;
  }

  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding:
      calc(var(--bupha-mobile-topbar-height) + env(safe-area-inset-top, 0px))
      0
      calc(var(--bupha-mobile-bottom-nav-height) + env(safe-area-inset-bottom, 0px))
      0 !important;
    overflow-x: clip !important;
    box-sizing: border-box !important;
  }

  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 var(--bupha-mobile-page-gutter) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* Every dashboard page occupies the same centered content frame. */
  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-panel,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-panel {
    grid-column: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-panel > *,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-panel > * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Fixed edge-to-edge header: logo left, all actions grouped at right. */
  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar {
    position: fixed !important;
    z-index: 99980 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: calc(var(--bupha-mobile-topbar-height) + env(safe-area-inset-top, 0px)) !important;
    margin: 0 !important;
    padding:
      calc(8px + env(safe-area-inset-top, 0px))
      max(var(--bupha-mobile-page-gutter), env(safe-area-inset-right, 0px))
      8px
      max(var(--bupha-mobile-page-gutter), env(safe-area-inset-left, 0px)) !important;
    background: rgba(255,255,255,.98) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 5px 18px rgba(13,46,36,.10) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-item,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-item {
    flex: 0 0 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-identity,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-identity {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-actions,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-actions {
    display: flex !important;
    flex: 0 0 auto !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 7px !important;
    margin: 0 0 0 auto !important;
  }

  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-item.is-action-start,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2 .bupha-portal-topbar-item.is-action-start {
    margin-left: auto !important;
  }

  /* Fixed edge-to-edge primary navigation, independent of page geometry. */
  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-menu,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .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;
    flex-flow: row nowrap !important;
    align-items: stretch !important;
    gap: 2px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: calc(var(--bupha-mobile-bottom-nav-height) + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding:
      6px
      max(8px, env(safe-area-inset-right, 0px))
      calc(6px + env(safe-area-inset-bottom, 0px))
      max(8px, env(safe-area-inset-left, 0px)) !important;
    background: rgba(255,255,255,.98) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 -5px 18px rgba(13,46,36,.10) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  html:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-menu > *,
  body:not(.bupha-cart-page-active):not(.bupha-checkout-page-active)
    #bupha-customer-portal[data-bupha-customer-dashboard].bupha-portal-v2
    > .bupha-customer-dashboard-shell
    > .bupha-customer-dashboard-menu > * {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  /* Long local filters scroll inside their own row and never widen the page. */
  .bupha-portal-v2 .bupha-customer-dashboard-tabs,
  .bupha-portal-v2 .bupha-customer-order-status-tabs,
  .bupha-portal-v2 .bupha-customer-dashboard-filters,
  .bupha-portal-v2 .bupha-partner-dashboard-menu {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    box-sizing: border-box !important;
    overscroll-behavior-inline: contain;
  }
}


/* BUPHA Commerce v1.2.14.4 — branded PWA install prompt icon. */
.bupha-install-prompt-icon {
  overflow: hidden;
  background: #fff;
}
.bupha-install-prompt-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.bupha-install-prompt-secondary[hidden] {
  display: none !important;
}


/* BUPHA Commerce v1.2.15.3 — native profile layout refinement. */
.bupha-portal-v2 [data-bupha-customer-tab="profile"].is-active {
  align-content: start;
}

.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-customer-profile-summary-card,
.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-customer-address-card {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Closed editors should look like compact actions, not empty full-width rows. */
.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-edit-panel:not([open]) {
  display: inline-block !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 8px 0 0 !important;
  vertical-align: top;
  background: transparent !important;
  border: 0 !important;
}

.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-edit-panel:not([open]) > summary {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  border-radius: 13px !important;
}

.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-edit-panel[open] {
  display: block !important;
  width: 100% !important;
  margin: 12px 0 0 !important;
}

.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-address-add-panel:not([open]) {
  margin-top: 14px !important;
}

.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-section-heading {
  margin-bottom: 14px !important;
}

.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-address-empty {
  min-height: 0 !important;
  padding: 22px 16px !important;
}

.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-customer-profile-logout-simple {
  display: flex !important;
  justify-content: flex-start;
  width: 100%;
  margin-top: 14px !important;
  padding: 0 0 10px !important;
}

.bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-customer-logout-button {
  display: inline-flex !important;
  width: auto !important;
  min-width: 104px;
  justify-content: center;
}

@media (min-width: 768px) {
  .bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-customer-profile-body {
    min-width: 0;
  }

  .bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-readonly-list {
    margin: 12px 0 16px !important;
  }
}

@media (max-width: 767px) {
  .bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-customer-profile-editor {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 12px !important;
  }

  .bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-customer-avatar {
    width: 54px !important;
    height: 54px !important;
  }

  .bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-readonly-list {
    grid-template-columns: 1fr !important;
  }

  .bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-edit-panel:not([open]) {
    display: block !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
  }

  .bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-profile-edit-panel:not([open]) > summary {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-customer-profile-logout-simple {
    padding-bottom: calc(var(--bupha-mobile-bottom-nav-height, 84px) + env(safe-area-inset-bottom, 0px) + 14px) !important;
  }

  .bupha-portal-v2 [data-bupha-customer-tab="profile"] .bupha-customer-logout-button {
    width: 100% !important;
  }
}


/* BUPHA Commerce v1.2.16.0 — Native Standalone full dashboard refinement. */
body.bupha-native-dashboard-route {
  --bupha-native-max-width: 1280px;
  --bupha-native-gutter: clamp(14px, 2.2vw, 28px);
  --bupha-native-radius: 22px;
  --bupha-native-border: rgba(18, 79, 55, .11);
  --bupha-native-shadow: 0 16px 42px rgba(18, 79, 55, .075);
  min-height: 100vh !important;
  background:
    radial-gradient(circle at 10% 8%, rgba(0, 139, 91, .075), transparent 25rem),
    #f7f9f8 !important;
}
body.bupha-native-dashboard-route #bupha-customer-portal[data-bupha-customer-dashboard] {
  width: min(100%, var(--bupha-native-max-width)) !important;
  max-width: var(--bupha-native-max-width) !important;
  min-height: 100vh !important;
  margin: 0 auto !important;
  padding: 18px var(--bupha-native-gutter) 40px !important;
  box-sizing: border-box !important;
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-portal-topbar {
  position: sticky !important;
  z-index: 100 !important;
  top: 0 !important;
  min-height: 76px !important;
  margin: 0 0 18px !important;
  padding: 14px 18px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid var(--bupha-native-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 10px 30px rgba(18,79,55,.065) !important;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-portal-brand-mark img {
  max-width: 170px !important;
  max-height: 48px !important;
  object-fit: contain !important;
}
body.bupha-native-dashboard-route #bupha-customer-portal > .bupha-customer-dashboard-shell {
  display: grid !important;
  grid-template-columns: 230px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 20px !important;
  width: 100% !important;
  min-height: 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: sticky !important;
  top: 94px !important;
  align-self: start !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px !important;
  border: 1px solid var(--bupha-native-border) !important;
  border-radius: 20px !important;
  background: rgba(255,255,255,.97) !important;
  box-shadow: var(--bupha-native-shadow) !important;
  box-sizing: border-box !important;
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-menu a,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-menu button {
  min-height: 48px !important;
  margin: 2px 0 !important;
  padding: 12px 14px !important;
  border-radius: 13px !important;
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-panel,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-results {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-panel > [data-bupha-customer-tab].is-active {
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-portal-welcome,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-profile-summary-card,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-address-card,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-order-sticky-area,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-placeholder-card,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-partnership-panel > section,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-article-detail {
  border: 1px solid var(--bupha-native-border) !important;
  border-radius: var(--bupha-native-radius) !important;
  box-shadow: var(--bupha-native-shadow) !important;
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-portal-welcome {
  min-height: 170px !important;
  padding: clamp(24px,4vw,40px) !important;
}
body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-orders-header,
body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-sticky-area {
  position: sticky !important;
  z-index: 60 !important;
  top: 94px !important;
  background: rgba(247,249,248,.96) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-tabs {
  gap: 8px !important;
  padding: 10px !important;
  background: #fff !important;
  border: 1px solid var(--bupha-native-border) !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(18,79,55,.05) !important;
}
body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-tabs > * {
  min-height: 44px !important;
  border-radius: 999px !important;
}
body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-dashboard-message,
body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-placeholder-card {
  min-height: 120px !important;
  display: grid !important;
  place-items: center !important;
  padding: 28px !important;
  background: #fff !important;
  border: 1px dashed rgba(18,79,55,.18) !important;
  border-radius: 18px !important;
  color: #718079 !important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-customer-profile-header {
  align-items: center !important;
  gap: 18px !important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list > div {
  background: linear-gradient(180deg,#fff,#fbfdfc) !important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-customer-profile-logout-simple {
  margin-top: 16px !important;
}
body.bupha-native-route-articles #bupha-customer-portal .bupha-customer-article-list {
  grid-template-columns: repeat(2,minmax(0,1fr)) !important;
  gap: 18px !important;
}
body.bupha-native-route-articles #bupha-customer-portal .bupha-customer-article-item {
  transition: transform .2s ease, box-shadow .2s ease !important;
}
body.bupha-native-route-articles #bupha-customer-portal .bupha-customer-article-item:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 18px 42px rgba(18,79,55,.10) !important;
}
body.bupha-native-dashboard-route .bupha-dashboard-initial-loader {
  background: #f7f9f8 !important;
}
@media (max-width: 767px) {
  body.bupha-native-dashboard-route {
    --bupha-native-gutter: 14px;
    background: #f7f9f8 !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal[data-bupha-customer-dashboard] {
    width: 100% !important;
    max-width: 100% !important;
    padding:
      calc(var(--bupha-mobile-topbar-height, 72px) + env(safe-area-inset-top,0px) + 14px)
      var(--bupha-native-gutter)
      calc(var(--bupha-mobile-bottom-nav-height,84px) + env(safe-area-inset-bottom,0px) + 20px) !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-portal-topbar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    min-height: calc(var(--bupha-mobile-topbar-height,72px) + env(safe-area-inset-top,0px)) !important;
    margin: 0 !important;
    padding: calc(9px + env(safe-area-inset-top,0px)) 16px 9px !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 5px 18px rgba(13,46,36,.10) !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal > .bupha-customer-dashboard-shell {
    display: block !important;
    width: 100% !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-mobile-bottom-nav-height,84px) + env(safe-area-inset-bottom,0px)) !important;
    padding: 6px 8px calc(6px + env(safe-area-inset-bottom,0px)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: 0 -5px 18px rgba(13,46,36,.10) !important;
    overflow: hidden !important;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-menu a,
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-menu button {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 7px 3px !important;
    border-radius: 13px !important;
  }
  body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-orders-header,
  body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-sticky-area {
    top: calc(var(--bupha-mobile-topbar-height,72px) + env(safe-area-inset-top,0px)) !important;
  }
  body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x proximity;
  }
  body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-tabs > * {
    flex: 0 0 auto !important;
    scroll-snap-align: start;
  }
  body.bupha-native-route-profile #bupha-customer-portal .bupha-customer-profile-summary-card,
  body.bupha-native-route-profile #bupha-customer-portal .bupha-customer-address-card {
    padding: 16px !important;
    border-radius: 20px !important;
  }
  body.bupha-native-route-profile #bupha-customer-portal .bupha-customer-profile-header {
    align-items: flex-start !important;
    gap: 12px !important;
  }
  body.bupha-native-route-articles #bupha-customer-portal .bupha-customer-article-list {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
}

/* BUPHA Commerce v1.2.16.1 — consolidate profile identity data into one card. */
body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list {
  display: block !important;
  margin: 14px 0 18px !important;
  overflow: hidden !important;
  border: 1px solid var(--bupha-native-border, rgba(18,55,42,.10)) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg,#ffffff 0%,#fbfdfc 100%) !important;
  box-shadow: 0 10px 28px rgba(18,79,55,.055) !important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list > div {
  display: grid !important;
  grid-template-columns: minmax(130px,.72fr) minmax(0,1.28fr) !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 15px 18px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list > div + div {
  border-top: 1px solid rgba(18,55,42,.075) !important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list span {
  color: #6d7973 !important;
  font-size: 13px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list strong {
  min-width: 0 !important;
  color: #12372a !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  line-height: 1.45 !important;
  text-align: right !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 767px) {
  body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list {
    border-radius: 16px !important;
  }
  body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list > div {
    grid-template-columns: minmax(108px,.8fr) minmax(0,1.2fr) !important;
    gap: 12px !important;
    padding: 14px 15px !important;
  }
}

/* BUPHA Commerce v1.2.17.0 — Native Standalone dashboard-wide visual system. */
body.bupha-native-dashboard-route{
  --bupha-native-surface:#ffffff;
  --bupha-native-bg:#f5f8f6;
  --bupha-native-text:#153b2a;
  --bupha-native-muted:#6d7d75;
  --bupha-native-border:rgba(17,69,47,.105);
  --bupha-native-shadow:0 12px 34px rgba(18,79,55,.065);
  background:var(--bupha-native-bg)!important;
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-panel,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-results{
  min-width:0!important;
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-panel > h2,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-panel > h3,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-results > h2,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-results > h3{
  color:var(--bupha-native-text)!important;
  letter-spacing:-.015em!important;
}
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-card,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-placeholder-card,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-message,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-profile-summary-card,
body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-address-card{
  border:1px solid var(--bupha-native-border)!important;
  border-radius:20px!important;
  background:var(--bupha-native-surface)!important;
  box-shadow:var(--bupha-native-shadow)!important;
}
body.bupha-native-dashboard-route #bupha-customer-portal button,
body.bupha-native-dashboard-route #bupha-customer-portal .button,
body.bupha-native-dashboard-route #bupha-customer-portal a.bupha-button{
  border-radius:12px!important;
}
body.bupha-native-dashboard-route #bupha-customer-portal input,
body.bupha-native-dashboard-route #bupha-customer-portal select,
body.bupha-native-dashboard-route #bupha-customer-portal textarea{
  border-radius:12px!important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list{
  margin-top:16px!important;
  border-radius:20px!important;
  box-shadow:var(--bupha-native-shadow)!important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list > div{
  min-height:54px!important;
}
body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list strong{
  font-size:15px!important;
}
body.bupha-native-route-articles #bupha-customer-portal .bupha-customer-article-item{
  border-radius:20px!important;
  box-shadow:var(--bupha-native-shadow)!important;
}
body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-tabs{
  scrollbar-width:none!important;
}
body.bupha-native-route-orders #bupha-customer-portal .bupha-customer-order-tabs::-webkit-scrollbar{
  display:none!important;
}
@media(max-width:767px){
  body.bupha-native-dashboard-route #bupha-customer-portal[data-bupha-customer-dashboard]{
    --bupha-native-gutter:14px;
  }
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-card,
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-placeholder-card,
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-dashboard-message,
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-profile-summary-card,
  body.bupha-native-dashboard-route #bupha-customer-portal .bupha-customer-address-card{
    border-radius:17px!important;
    box-shadow:0 8px 24px rgba(18,79,55,.055)!important;
  }
  body.bupha-native-route-profile #bupha-customer-portal .bupha-profile-readonly-list > div{
    grid-template-columns:minmax(100px,.75fr) minmax(0,1.25fr)!important;
    padding:13px 14px!important;
  }
}

/* v1.2.27.2 — Dashboard home modes and compact Store preview. */
.bupha-dashboard-home-store-link{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;padding:18px 20px;border:1px solid #dbe9e1;border-radius:18px;background:linear-gradient(135deg,#f7fbf8,#eef7f1)}
.bupha-dashboard-home-store-link>div{display:grid;gap:4px}.bupha-dashboard-home-store-link strong{color:#173d2a;font-size:16px}.bupha-dashboard-home-store-link span{color:#697970;font-size:13px}.bupha-dashboard-home-store-link a{flex:0 0 auto;padding:11px 15px;border-radius:12px;background:#176a42;color:#fff;text-decoration:none;font-weight:800}
.bupha-dashboard-store-preview{margin-top:18px;padding:18px;border:1px solid #e0e9e3;border-radius:20px;background:#fff}
.bupha-dashboard-store-preview-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}.bupha-dashboard-store-preview-head span{display:block;margin-bottom:5px;color:#177046;font-size:10px;font-weight:850;letter-spacing:.1em}.bupha-dashboard-store-preview-head h3{margin:0;color:#173d2a;font-size:20px}.bupha-dashboard-store-preview-head p{margin:5px 0 0;color:#6d7d74;font-size:13px}.bupha-dashboard-store-preview-head>a{flex:0 0 auto;padding:9px 12px;border:1px solid #cee1d5;border-radius:11px;color:#176a42;text-decoration:none;font-weight:800}
.bupha-dashboard-store-preview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:11px}.bupha-dashboard-store-preview-card{display:grid;gap:7px;min-width:0;padding:9px;border:1px solid #e4ece7;border-radius:15px;background:#fff;color:#173d2a;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}.bupha-dashboard-store-preview-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,72,47,.09)}.bupha-dashboard-store-preview-media{display:grid;place-items:center;aspect-ratio:1/1;padding:8px;border-radius:11px;background:#f4f7f5;overflow:hidden}.bupha-dashboard-store-preview-media img{width:100%;height:100%;object-fit:contain}.bupha-dashboard-store-preview-card>strong{display:-webkit-box;min-height:2.5em;overflow:hidden;font-size:13px;line-height:1.25;-webkit-box-orient:vertical;-webkit-line-clamp:2}.bupha-dashboard-store-preview-price{display:flex;flex-wrap:wrap;gap:5px;color:#0d7844;font-size:14px;font-weight:850}.bupha-dashboard-store-preview-price del{color:#9aa59f;font-size:11px;font-weight:600}
@media(max-width:767px){.bupha-dashboard-home-store-link{align-items:flex-start;padding:15px;border-radius:16px}.bupha-dashboard-home-store-link a{padding:9px 11px;font-size:12px}.bupha-dashboard-store-preview{padding:13px;border-radius:17px}.bupha-dashboard-store-preview-head{align-items:flex-start}.bupha-dashboard-store-preview-head h3{font-size:18px}.bupha-dashboard-store-preview-head p{display:none}.bupha-dashboard-store-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
