:root {
  --bp-master-navy: #082A4B;
  --bp-master-navy-dark: #061F38;
  --bp-product-accent: #082A4B;
  --bp-product-accent-dark: #061F38;
  --bp-product-accent-soft: #EEF4F8;
  --bp-platform-bg: #06182a;
  --bp-platform-panel: rgba(6, 31, 56, .96);
  --bp-platform-line: rgba(203, 213, 225, .24);
  --bp-platform-text: #f8fafc;
  --bp-platform-muted: #b8c5d1;
  --bp-platform-focus: #f5c24c;
  --bp-platform-shadow: 0 18px 50px rgba(2, 18, 32, .34);
}

html[data-bp-product="innovator"] {
  --bp-product-accent: #F5A800;
  --bp-product-accent-dark: #B87900;
  --bp-product-accent-soft: #FFF5DB;
  --bp-platform-focus: #F5A800;
}

.bp-master-logo,
.bp-workspace-logo {
  display: block;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  object-fit: contain;
  object-position: center;
}
.brand .bp-master-logo { width: 48px; height: 48px; }

.bp-skip-link {
  position: fixed;
  top: 10px;
  left: 10px;
  z-index: 2147483647;
  translate: 0 -150%;
  padding: .75rem 1rem;
  border-radius: .75rem;
  background: #fff;
  color: var(--bp-master-navy-dark);
  font: 800 .875rem/1 Inter, system-ui, sans-serif;
  box-shadow: var(--bp-platform-shadow);
}
.bp-skip-link:focus { translate: 0; }

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--bp-platform-focus) !important;
  outline-offset: 3px !important;
}

.bp-workspace-bar {
  position: sticky;
  top: 0;
  z-index: 1200;
  display: flex;
  min-height: 62px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem max(1rem, calc((100vw - 1480px) / 2));
  border-bottom: 1px solid var(--bp-platform-line);
  background: linear-gradient(100deg, rgba(6,31,56,.98), rgba(8,42,75,.95));
  color: var(--bp-platform-text);
  font-family: Inter, system-ui, sans-serif;
  box-shadow: 0 8px 28px rgba(6,31,56,.16);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}
html[data-bp-product="innovator"] .bp-workspace-bar {
  border-bottom-color: color-mix(in srgb, var(--bp-product-accent) 48%, var(--bp-platform-line));
}
.bp-workspace-bar a { color: inherit; text-decoration: none; }
.bp-workspace-brand { display: flex; min-width: 0; align-items: center; gap: .7rem; }
.bp-workspace-logo {
  width: 38px;
  height: 38px;
  flex-basis: 38px;
  padding: 2px;
  border-radius: 10px;
  background: rgba(255,255,255,.96);
  box-shadow: 0 6px 18px rgba(0,0,0,.14);
}
.bp-workspace-copy { min-width: 0; }
.bp-workspace-copy strong,
.bp-workspace-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.bp-workspace-copy strong { font-size: .85rem; letter-spacing: -.015em; }
.bp-workspace-copy small { margin-top: .12rem; color: var(--bp-platform-muted); font-size: .7rem; }
html[data-bp-product="innovator"] .bp-workspace-copy small { color: #ffe2a0; }
.bp-workspace-actions { display: flex; flex: 0 0 auto; align-items: center; gap: .4rem; }
.bp-workspace-actions > a,
.bp-product-switcher > summary {
  display: inline-flex;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  padding: .55rem .75rem;
  border: 1px solid var(--bp-platform-line);
  border-radius: .72rem;
  background: rgba(255, 255, 255, .045);
  color: var(--bp-platform-text);
  font-size: .74rem;
  font-weight: 750;
  cursor: pointer;
}
.bp-workspace-actions > a:hover,
.bp-product-switcher > summary:hover {
  border-color: color-mix(in srgb, var(--bp-product-accent) 65%, #fff 18%);
  background: color-mix(in srgb, var(--bp-product-accent) 14%, transparent);
}
.bp-product-switcher { position: relative; }
.bp-product-switcher > summary { list-style: none; }
.bp-product-switcher > summary::-webkit-details-marker { display: none; }
.bp-product-menu {
  position: absolute;
  top: calc(100% + .55rem);
  right: 0;
  display: grid;
  width: min(330px, calc(100vw - 1.5rem));
  padding: .45rem;
  border: 1px solid var(--bp-platform-line);
  border-radius: 1rem;
  background: #0a2037;
  box-shadow: var(--bp-platform-shadow);
}
.bp-product-menu a {
  display: grid;
  gap: .15rem;
  padding: .7rem .72rem .7rem .85rem;
  border-left: 3px solid var(--bp-menu-accent, var(--bp-master-navy));
  border-radius: .7rem;
}
.bp-product-menu a:hover { background: color-mix(in srgb, var(--bp-menu-accent, #fff) 15%, transparent); }
.bp-product-menu strong { font-size: .78rem; }
.bp-product-menu span { color: var(--bp-platform-muted); font-size: .68rem; line-height: 1.4; }

/* Product cards and links remain part of one Bayes Pharma system; color is a
   lightweight identifier rather than a different logo or component language. */
a[data-bp-product-link] {
  --bp-card-accent: var(--bp-master-navy);
  --bp-card-accent-dark: var(--bp-master-navy-dark);
  --bp-card-accent-soft: #EEF4F8;
}
.product-card[data-bp-product-link],
.bp-product-card[data-bp-product-link],
a.card[data-bp-product-link] {
  border-top-color: var(--bp-card-accent) !important;
}
.product-card[data-bp-product-link]:hover,
.bp-product-card[data-bp-product-link]:hover,
a.card[data-bp-product-link]:hover {
  box-shadow: 0 18px 44px color-mix(in srgb, var(--bp-card-accent) 18%, transparent);
}

/* Canonical workspace account placement. */
.bp-workspace-account-slot {
  position: relative;
  display: inline-flex;
  min-width: 0;
  min-height: 42px;
  align-items: center;
  flex: 0 0 auto;
}
.bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  width: auto !important;
  height: auto !important;
  z-index: 1 !important;
}
.bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-pill {
  display: flex !important;
  min-height: 42px;
  box-sizing: border-box;
  padding: .45rem .62rem;
  border-color: var(--bp-platform-line);
  border-radius: .72rem;
  background: rgba(255, 255, 255, .045);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-pill:hover,
.bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-pill:focus-visible {
  border-color: color-mix(in srgb, var(--bp-product-accent) 65%, #fff 18%);
  background: color-mix(in srgb, var(--bp-product-accent) 14%, transparent);
}
.bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-avatar {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  font-size: .64rem;
}
.bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-menu {
  top: calc(100% + .55rem);
  right: 0;
  z-index: 20;
}
.bp-auth-trigger-suppressed { display: none !important; }

.bp-table-scroll { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.bp-table-scroll > table { min-width: max-content; }

.bp-mobile-dock { display: none; }
.bp-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (max-width: 1439px) {
  .bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-pill > span:nth-child(2) { display: none; }
  .bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-pill { gap: .38rem; padding-inline: .48rem; }
}

@media (max-width: 720px) {
  html { -webkit-text-size-adjust: 100%; scroll-padding-top: 72px; }
  body { min-width: 320px; }
  :where(input, select, textarea) { min-height: 46px; font-size: 16px !important; }
  :where(button, [role="button"], summary) { touch-action: manipulation; }
  :where([role="tablist"], .tabs, .tab-list, .tw-tab-strip) {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }
  :where([role="tab"], .tab, .tw-tab-strip > button) { min-height: 44px; scroll-snap-align: start; }
  .bp-workspace-bar { min-height: 58px; padding: .45rem .65rem; gap: .55rem; }
  .bp-workspace-logo { width: 36px; height: 36px; flex-basis: 36px; }
  .bp-workspace-brand { flex: 1 1 auto; }
  .bp-workspace-copy small { display: none; }
  .bp-workspace-actions { gap: .3rem; }
  .bp-workspace-actions > a { display: none; }
  .bp-product-switcher > summary { min-width: 44px; min-height: 44px; padding: .55rem; }
  .bp-product-switcher > summary span { display: none; }
  .bp-workspace-account-slot { min-height: 44px; }
  .bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-pill {
    min-width: 54px;
    min-height: 44px;
    justify-content: center;
    padding: .45rem;
  }
  .bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-menu {
    position: fixed;
    top: max(64px, calc(env(safe-area-inset-top) + 58px));
    right: max(.65rem, env(safe-area-inset-right));
    min-width: min(292px, calc(100vw - 1.3rem));
    max-width: calc(100vw - 1.3rem);
  }
  body.bp-has-mobile-dock { padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  .bp-mobile-dock {
    position: fixed;
    right: .65rem;
    bottom: max(.65rem, env(safe-area-inset-bottom));
    left: .65rem;
    z-index: 1300;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    padding: .35rem;
    border: 1px solid var(--bp-platform-line);
    border-radius: 1rem;
    background: rgba(6, 31, 56, .97);
    box-shadow: var(--bp-platform-shadow);
    backdrop-filter: blur(18px);
  }
  .bp-mobile-dock a {
    display: grid;
    min-height: 49px;
    place-items: center;
    gap: .12rem;
    border-radius: .7rem;
    color: var(--bp-platform-muted);
    font: 750 .66rem/1.1 Inter, system-ui, sans-serif;
    text-decoration: none;
  }
  .bp-mobile-dock a:first-child {
    background: color-mix(in srgb, var(--bp-product-accent) 18%, transparent);
    color: #fff4d6;
  }
  .bp-mobile-dock b { font-size: 1rem; line-height: 1; }
}

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

@media (forced-colors: active) {
  .bp-workspace-bar, .bp-mobile-dock, .bp-product-menu { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
  .bp-workspace-bar .bp-workspace-account-slot > #bp-auth-widget .bp-auth-pill { border: 1px solid CanvasText; background: Canvas; color: CanvasText; }
  .bp-workspace-logo { background: Canvas; }
}
