/**
 * DECTO Ivory Glass Lux — absolute last skin (after bn-glass-full).
 * One light ivory glass stage — no stacked overlays, no fixed bg blur tax.
 */
:root,
html,
body,
body.app-shell,
body.index-page,
body.auth-page,
body.onboarding-page {
  --bn-ivory-solid: #f7f4ee !important;
  --bn-ivory-soft: #fbfaf7 !important;
  --bn-glass-1: rgba(255, 252, 247, 0.52) !important;
  --bn-glass-2: rgba(255, 252, 247, 0.58) !important;
  --bn-glass-3: rgba(255, 252, 247, 0.66) !important;
  --bn-skin-glass: rgba(255, 252, 247, 0.55) !important;
  --bn-skin-glass-soft: rgba(255, 252, 247, 0.42) !important;
  --bn-surface: rgba(255, 252, 247, 0.58) !important;
  --bn-surface-2: rgba(255, 252, 247, 0.48) !important;
  --bn-color-surface: rgba(255, 252, 247, 0.58) !important;
  --bn-raft: rgba(255, 252, 247, 0.55) !important;
  --bn-raft-plain: rgba(255, 252, 247, 0.42) !important;
  --bn-raft-border: rgba(255, 255, 255, 0.62) !important;
  --bn-glass-border: rgba(255, 255, 255, 0.62) !important;
  --bn-glass-border-ink: rgba(23, 56, 47, 0.08) !important;
  --bn-glass-border-gold: rgba(197, 164, 109, 0.28) !important;
  --bn-premium-glass: rgba(255, 252, 247, 0.58) !important;
  --bn-premium-glass-soft: rgba(255, 252, 247, 0.46) !important;
  --bn-cream: #f7f6f3 !important;
  --bn-cream-2: #f1f0ec !important;
  --bn-color-bg: #f7f6f3 !important;
  --bn-color-bg-subtle: #f1f0ec !important;
  --bn-glass-filter: blur(18px) saturate(1.2) !important;
  --bn-glass-filter-3: blur(22px) saturate(1.25) !important;
  --bn-text: #142821 !important;
  --bn-text-2: #3d4f48 !important;
  --bn-text-3: #66756e !important;
  --bn-text-on-primary: #fbfaf7 !important;
  --bn-text-body-size: 1.0625rem !important;
  --bn-text-body-lh: 1.78 !important;
  --bn-ambient-bg:
    radial-gradient(ellipse 90% 55% at 12% 0%, rgba(255, 255, 255, 0.9), transparent 55%),
    radial-gradient(ellipse 70% 50% at 92% 8%, rgba(232, 239, 234, 0.55), transparent 52%),
    linear-gradient(180deg, #faf9f7 0%, #f5f4f0 46%, #f0efea 100%) !important;
}

/* ===== Soft clinical pearl stage (calm, premium, low eye strain) ===== */
html:not(:has(body.bn-explore-reels-open)) {
  background-color: #f7f6f3 !important;
  background-image: var(--bn-ambient-bg) !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-attachment: scroll !important;
  color: #142821 !important;
}

html:not(:has(body.bn-explore-reels-open))::before,
html:not(:has(body.bn-explore-reels-open))::after {
  content: none !important;
  display: none !important;
  background: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

html:not(:has(body.bn-explore-reels-open)) body,
html:not(:has(body.bn-explore-reels-open)) body.app-shell,
html:not(:has(body.bn-explore-reels-open)) body.index-page,
html:not(:has(body.bn-explore-reels-open)) body.auth-page,
html:not(:has(body.bn-explore-reels-open)) main,
html:not(:has(body.bn-explore-reels-open)) .main-content,
html:not(:has(body.bn-explore-reels-open)) .bn-main,
html:not(:has(body.bn-explore-reels-open)) .bn-app-page,
html:not(:has(body.bn-explore-reels-open)) .container {
  background: transparent !important;
  background-color: transparent !important;
  color: #122c26 !important;
}

/* ===== Real frost recipe (not matte) ===== */
html:not(:has(body.bn-explore-reels-open)) .bn-feed-card,
html:not(:has(body.bn-explore-reels-open)) .feed-post,
html:not(:has(body.bn-explore-reels-open)) .bn-glass,
html:not(:has(body.bn-explore-reels-open)) .bn-glass-card,
html:not(:has(body.bn-explore-reels-open)) .auth-card,
html:not(:has(body.bn-explore-reels-open)) .bn-auth-card,
html:not(:has(body.bn-explore-reels-open)) .lux-feature-card,
html:not(:has(body.bn-explore-reels-open)) .bn-profile-card,
html:not(:has(body.bn-explore-reels-open)) .dp-owner-hero,
html:not(:has(body.bn-explore-reels-open)) .bn-profile-hero,
html:not(:has(body.bn-explore-reels-open)) .iconic-surface,
html:not(:has(body.bn-explore-reels-open)) .bn-chat-panel,
html:not(:has(body.bn-explore-reels-open)) .chat-thread,
html:not(:has(body.bn-explore-reels-open)) .bn-chat-thread,
html:not(:has(body.bn-explore-reels-open)) .composer-pro,
html:not(:has(body.bn-explore-reels-open)) .bn-composer-sheet,
html:not(:has(body.bn-explore-reels-open)) .app-header,
html:not(:has(body.bn-explore-reels-open)) .bn-app-header,
html:not(:has(body.bn-explore-reels-open)) .bottom-nav--glass,
html:not(:has(body.bn-explore-reels-open)) .bn-pill,
html:not(:has(body.bn-explore-reels-open)) .filter-chip,
html:not(:has(body.bn-explore-reels-open)) .specialty-chip,
html:not(:has(body.bn-explore-reels-open)) .explore-provider-rail,
html:not(:has(body.bn-explore-reels-open)) .bn-provider-card,
html:not(:has(body.bn-explore-reels-open)) .doctor-card,
html:not(:has(body.bn-explore-reels-open)) .bn-search-shell,
html:not(:has(body.bn-explore-reels-open)) .search-bar,
html:not(:has(body.bn-explore-reels-open)) .onboarding-card,
html:not(:has(body.bn-explore-reels-open)) .bn-onboarding-card,
html:not(:has(body.bn-explore-reels-open)) .settings-card,
html:not(:has(body.bn-explore-reels-open)) .bn-settings-panel {
  background: var(--bn-raft) !important;
  background-image: none !important;
  backdrop-filter: var(--bn-glass-filter) !important;
  -webkit-backdrop-filter: var(--bn-glass-filter) !important;
  border: 1px solid var(--bn-raft-border) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.7) inset,
    0 8px 22px rgba(15, 36, 29, 0.06) !important;
  color: #122c26 !important;
}

/* Feed media stays opaque (image/video readable) */
html:not(:has(body.bn-explore-reels-open)) .feed-post-media,
html:not(:has(body.bn-explore-reels-open)) .bn-feed-media,
html:not(:has(body.bn-explore-reels-open)) .bn-feed-card__media {
  background: #0e1613 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ===== Post detail: SOLID ivory â€” NOT glass (readable text) ===== */
#postDetailModal.is-open,
#postDetailModal.open,
#postDetailModal.active,
body.post-detail-open #postDetailModal {
  background: rgba(18, 28, 24, 0.55) !important;
  backdrop-filter: blur(10px) saturate(1.1) !important;
  -webkit-backdrop-filter: blur(10px) saturate(1.1) !important;
}

#postDetailModal .bn-post-detail,
#postDetailModal .bn-post-detail-panel,
#postDetailModal .bn-post-detail-body,
#postDetailModal .bn-post-detail-head,
#postDetailModal .bn-post-detail-footer,
#postDetailModal .post-detail-comment-form,
#postDetailModal .bn-post-detail-sheet {
  background: #fbfaf7 !important;
  background-image: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: #122c26 !important;
  border-color: rgba(23, 56, 47, 0.1) !important;
  box-shadow: 0 18px 48px rgba(10, 18, 16, 0.22) !important;
}

#postDetailModal .bn-post-detail-panel,
#postDetailModal .bn-post-detail-body {
  background: #ffffff !important;
}

#postDetailModal .bn-post-detail-media {
  background: #111 !important;
  backdrop-filter: none !important;
}

#postDetailModal .bn-post-detail-body,
#postDetailModal .bn-post-detail-body *,
#postDetailModal .post-detail-comment-text,
#postDetailModal .post-detail-author-line,
#postDetailModal .bn-post-detail-head,
#postDetailModal .bn-post-detail-footer {
  color: #122c26 !important;
}

#postDetailModal .text-muted,
#postDetailModal .post-detail-comment-time,
#postDetailModal .post-detail-views-line {
  color: #5a6b64 !important;
}

/* ===== High-contrast CTAs (landing / home / all pages) ===== */
.btn-primary,
.bn-btn-primary,
.bn-btn--primary,
button.btn-primary,
a.btn-primary,
body .btn.btn-primary,
body.auth-page .btn-primary,
body.auth-page .auth-form .btn-primary,
body.auth-page .btn-block.btn-primary,
body.index-page .btn-primary,
body.index-page .dl-btn--primary,
body.index-page .bl-nav-cta:not(.bl-nav-cta--provider),
body.index-page a.dl-btn--primary,
body.index-page button.dl-btn--primary,
body.app-shell .bn-cta-primary,
body.app-shell .bn-book-cta,
.bn-composer-submit,
body .onboarding-cta,
body .bn-onboarding-cta,
body [data-onb-start].dl-btn--primary {
  background: #17382f !important;
  background-image: linear-gradient(145deg, #1f4a3d 0%, #17382f 55%, #122c26 100%) !important;
  color: #fbfaf7 !important;
  -webkit-text-fill-color: #fbfaf7 !important;
  border: 1px solid rgba(240, 217, 160, 0.45) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.18) inset,
    0 12px 28px rgba(15, 36, 29, 0.22) !important;
}

.btn-primary *,
.dl-btn--primary *,
.bl-nav-cta:not(.bl-nav-cta--provider) *,
[data-onb-start].dl-btn--primary * {
  color: #fbfaf7 !important;
  -webkit-text-fill-color: #fbfaf7 !important;
}

.btn-secondary,
.bn-btn-secondary,
.bn-btn--secondary,
.btn-ghost,
.bn-btn-ghost,
body.index-page .dl-btn--ghost,
body.index-page .bl-nav-cta--provider,
body.app-shell .bn-cta-secondary {
  background: rgba(255, 252, 247, 0.72) !important;
  backdrop-filter: blur(16px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(16px) saturate(1.4) !important;
  color: #122c26 !important;
  -webkit-text-fill-color: #122c26 !important;
  border: 1px solid rgba(23, 56, 47, 0.18) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset !important;
}

/* Home specialty chips + Â«Ù‡Ù…Ù‡Â» */
body.app-shell .bn-pill,
body.app-shell .filter-chip,
body.app-shell .specialty-chip,
body.app-shell .bn-feed-specialty-rail .bn-pill {
  background: rgba(255, 252, 247, 0.7) !important;
  color: #17382f !important;
  -webkit-text-fill-color: #17382f !important;
  border: 1px solid rgba(23, 56, 47, 0.14) !important;
  backdrop-filter: blur(18px) saturate(1.45) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.45) !important;
}

body.app-shell .bn-pill.active,
body.app-shell .filter-chip.active,
body.app-shell .specialty-chip.active,
body.app-shell .bn-feed-specialty-rail .bn-pill.active,
body.app-shell .explore-provider-rail__tab.is-active {
  background: #17382f !important;
  color: #fbfaf7 !important;
  -webkit-text-fill-color: #fbfaf7 !important;
  border-color: rgba(197, 164, 109, 0.4) !important;
}

body.app-shell .explore-provider-rail__all,
body.app-shell a.explore-provider-rail__all {
  color: #17382f !important;
  -webkit-text-fill-color: #17382f !important;
  font-weight: 800 !important;
  opacity: 1 !important;
}

/* Header icons â€” stroke glyphs (never solid fill blobs) */
body.app-shell .app-header-icon,
body.app-shell .app-header-icon--search,
body.app-shell .app-header-icon--create-plus,
body.app-shell a.app-header-icon {
  color: #17382f !important;
  background: rgba(255, 252, 247, 0.55) !important;
  border: 1px solid rgba(197, 164, 109, 0.35) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

body.app-shell .app-header-icon i,
body.app-shell .app-header-icon .bn-ui-icon,
body.app-shell .app-header-icon svg {
  color: #17382f !important;
  fill: none !important;
  stroke: #17382f !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Center search FAB â€” cream stroke on green pill (not empty green disc) */
body.app-shell .bottom-nav-item--primary > span:first-child,
body.app-shell .bottom-nav-item--search > span:first-child {
  background: linear-gradient(145deg, #1f4a3d 0%, #17382f 55%, #122c26 100%) !important;
  color: #fbfaf7 !important;
  -webkit-text-fill-color: #fbfaf7 !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.2) inset,
    0 10px 22px rgba(15, 36, 29, 0.28) !important;
}

body.app-shell .bottom-nav-item--primary > span:first-child svg,
body.app-shell .bottom-nav-item--search > span:first-child svg,
body.app-shell .bottom-nav-item--primary > span:first-child .bn-ui-icon,
body.app-shell .bottom-nav-item--search > span:first-child .bn-ui-icon {
  color: #fbfaf7 !important;
  fill: none !important;
  stroke: #fbfaf7 !important;
  stroke-width: 1.85 !important;
  opacity: 1 !important;
  visibility: visible !important;
  width: 22px !important;
  height: 22px !important;
}

/* Publish / primary CTA icons always cream on forest */
.btn-primary i,
.bn-btn--primary i,
.composer-pro__submit i,
#composerSubmitBtn i,
.composer-pro__submit .bn-ui-icon,
#composerSubmitBtn .bn-ui-icon {
  color: #fbfaf7 !important;
  -webkit-text-fill-color: #fbfaf7 !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Toasts â€” readable success / error / info (never washed glass text) */
#toast.toast,
#toast.toast.show,
.toast.show {
  color: #122c26 !important;
  -webkit-text-fill-color: #122c26 !important;
  background: rgba(255, 252, 247, 0.94) !important;
  border: 1px solid rgba(23, 56, 47, 0.16) !important;
  backdrop-filter: blur(18px) saturate(1.4) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.4) !important;
  box-shadow: 0 12px 32px rgba(15, 36, 29, 0.16) !important;
  font-weight: 700 !important;
}

#toast #toastMessage,
#toast i {
  color: inherit !important;
  -webkit-text-fill-color: inherit !important;
  opacity: 1 !important;
}

#toast.toast-success,
#toast.toast.toast-success.show {
  background: linear-gradient(135deg, #1f4a3d 0%, #17382f 100%) !important;
  color: #fbfaf7 !important;
  -webkit-text-fill-color: #fbfaf7 !important;
  border-color: rgba(240, 217, 160, 0.4) !important;
}

#toast.toast-error,
#toast.toast.toast-error.show,
.toast.toast-error.show {
  background: linear-gradient(135deg, #c62828 0%, #b71c1c 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 1px solid rgba(255, 210, 210, 0.75) !important;
  box-shadow: 0 10px 32px rgba(183, 28, 28, 0.45) !important;
}

#toast.toast-info,
#toast.toast.toast-info.show {
  background: linear-gradient(135deg, #245a8c 0%, #1a446a 100%) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-color: rgba(180, 210, 240, 0.45) !important;
}

/* Single light ivory theme â€” hide conflicting theme toggles */
[data-theme-toggle],
button[data-theme-toggle],
.lux-menu-item[data-theme-toggle] {
  display: none !important;
}

html[data-theme='dark'],
html[data-theme='dark'] body,
html[data-theme='dark'] body.app-shell {
  color-scheme: light !important;
}

/* Inputs readable on glass */
body.auth-page input,
body.auth-page .form-control,
body.app-shell .form-control,
body.app-shell input[type='text'],
body.app-shell input[type='search'],
body.app-shell input[type='tel'],
body.app-shell input[type='password'],
body.app-shell textarea,
body.app-shell .bn-chat-input {
  background: rgba(255, 252, 247, 0.78) !important;
  color: #122c26 !important;
  border: 1px solid rgba(23, 56, 47, 0.12) !important;
  backdrop-filter: blur(14px) saturate(1.35) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.35) !important;
}

body.auth-page input::placeholder,
body.app-shell input::placeholder,
body.app-shell textarea::placeholder {
  color: #6a7a74 !important;
  opacity: 1 !important;
}

/* Onboarding / landing text */
body.index-page,
body.index-page .dl-landing,
body.index-page .dl-hero h1,
body.index-page .dl-hero p,
body.onboarding-page,
.bn-onboarding {
  color: #122c26 !important;
}

body.index-page .dl-btn--primary:hover,
body.index-page .bl-nav-cta:not(.bl-nav-cta--provider):hover,
.btn-primary:hover {
  filter: brightness(1.06);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Chat bubbles stay readable */
body.app-shell .bn-chat-bubble,
body.app-shell .chat-message,
body.app-shell .message-bubble {
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

body.app-shell .bn-chat-bubble--peer,
body.app-shell .message-bubble.incoming {
  background: rgba(255, 252, 247, 0.88) !important;
  color: #122c26 !important;
}

body.app-shell .bn-chat-bubble--me,
body.app-shell .message-bubble.outgoing {
  background: #17382f !important;
  color: #fbfaf7 !important;
}

/* Bottom nav labels */
body.app-shell .bottom-nav--glass .bottom-nav-item {
  color: #29483d !important;
}

body.app-shell .bottom-nav--glass .bottom-nav-item.active,
body.app-shell .bottom-nav--glass .bottom-nav-item.is-active,
body.app-shell .bottom-nav--glass .bottom-nav-item[aria-current='page'] {
  color: #122c26 !important;
  background: rgba(197, 164, 109, 0.32) !important;
}

/* Gold outline hover â€” dark text on champagne, not white-on-gold fail */
.btn-outline-gold:hover,
.bn-btn--outline-gold:hover {
  background: #f0d9a0 !important;
  color: #122c26 !important;
  -webkit-text-fill-color: #122c26 !important;
  border-color: #c5a46d !important;
}

/* Explore / profile / appointments solid-enough rafts */
body.app-shell .bn-explore-card,
body.app-shell .reel-card:not(.bn-explore-reels *),
body.app-shell .appt-card,
body.app-shell .appointment-card,
body.app-shell .bn-settings-row {
  background: rgba(255, 252, 247, 0.55) !important;
  backdrop-filter: blur(18px) saturate(1.35) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.35) !important;
  color: #122c26 !important;
  border: 1px solid rgba(255, 255, 255, 0.58) !important;
}

/* Change-metric flashes: stack above glass without breaking media clip */
html:not(:has(body.bn-explore-reels-open)) .bn-feed-card > .bn-change-flashes,
html:not(:has(body.bn-explore-reels-open)) .feed-post > .bn-change-flashes {
  z-index: 140 !important;
}

html:not(:has(body.bn-explore-reels-open)) .bn-change-flash {
  pointer-events: auto !important;
}

/* ===== Hard / solid surfaces — readability (no frosted wash) ===== */
#postDetailModal .bn-post-detail,
#postDetailModal .bn-post-detail-panel,
#postDetailModal .bn-post-detail-body,
#postDetailModal .bn-post-detail-sheet,
body.bn-explore-reels-open .bn-explore-reels,
body.bn-explore-reels-open .reel-caption,
body.bn-explore-reels-open .bn-reel-caption,
.bn-explore-reels .reel-caption,
.bn-explore-reels .bn-reel-caption,
.explore-modal-caption,
.bn-explore-caption-overlay,
.composer-pro__textarea,
#composerCaption,
#composerDescription,
.bn-chat-bubble,
.message-bubble {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.bn-explore-reels .reel-caption,
.bn-explore-reels .bn-reel-caption,
.explore-modal-caption,
.bn-explore-caption-overlay {
  background: rgba(8, 14, 12, 0.72) !important;
  color: #fbfaf7 !important;
  -webkit-text-fill-color: #fbfaf7 !important;
}

/* Auth sheet: light frost but readable */
body.auth-page .auth-card,
body.auth-page .auth-notebook-sheet {
  background: rgba(255, 252, 247, 0.62) !important;
  backdrop-filter: blur(18px) saturate(1.35) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.35) !important;
}

/* ===== Feed save: icon only — no white square ===== */
body.app-shell .feed-post-icon-actions .feed-save-pill,
body.app-shell .feed-post-icon-actions button.feed-save-pill,
body.app-shell .bn-feed-card .feed-save-pill,
body.app-shell .bn-feed-card button.feed-save-pill {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  width: auto !important;
  height: auto !important;
  padding: 0 6px !important;
  color: #5a6b64 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}

body.app-shell .feed-post-icon-actions .feed-save-pill.saved,
body.app-shell .feed-post-icon-actions .feed-save-pill.is-saved,
body.app-shell .feed-post-icon-actions .feed-save-pill:focus,
body.app-shell .feed-post-icon-actions .feed-save-pill:active {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

body.app-shell .feed-post-icon-actions .feed-save-pill i {
  color: #5a6b64 !important;
  -webkit-text-fill-color: #5a6b64 !important;
}

body.app-shell .feed-post-icon-actions .feed-save-pill.saved i,
body.app-shell .feed-post-icon-actions .feed-save-pill.is-saved i {
  color: #9a8b52 !important;
  -webkit-text-fill-color: #9a8b52 !important;
}

/* Like/comment/share — match save (no glass tile) */
body.app-shell .feed-post-icon-actions .feed-stat-pill,
body.app-shell .feed-post-icon-actions button.feed-stat-pill {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* ===== Messages: keep bottom dock visible at page bottom ===== */
body.bn-chat-active .bottom-nav--glass,
body.app-shell.bn-chat-active .bottom-nav--glass,
body.bn-chat-active .global-auth-bottom-nav.bottom-nav--glass {
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  display: flex !important;
  position: fixed !important;
  bottom: 0 !important;
  inset-inline: 0 !important;
  z-index: 1200 !important;
}

/* ===== Patients: never slide off mobile viewport ===== */
body.app-shell .bn-patients-workspace,
body.app-shell .bn-patients-panel,
body.app-shell .bn-patients-roster,
body.app-shell .bn-patients-records,
body.app-shell .bn-patients-card,
body.app-shell .bn-patients-form,
body.app-shell .bn-patients-inline-file {
  max-width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

body.app-shell .bn-patients-inline-file__body,
body.app-shell .bn-patients-inline-file__media,
body.app-shell .bn-patients-card__actions {
  max-width: 100% !important;
  min-width: 0 !important;
}

body.app-shell .main-content:has(.bn-patients-workspace) {
  overflow-x: clip !important;
}

/* ===== Visitor doctor/clinic: no top chrome share circles + lux book CTA ===== */
body.bn-profile--visitor .bn-profile-nav,
body.bn-profile--visitor .dp-hero-nav,
body.bn-profile--visitor #doctorShareBtn,
body.bn-profile--visitor #followDoctorBtnTop,
body.bn-profile--visitor #followClinicBtn,
body.bn-profile--visitor #doctorVisitorShareBtn,
body.bn-profile--visitor #clinicVisitorShareBtn,
body.bn-profile--visitor #doctorEditorialShareBtn,
body.bn-profile--visitor #doctorEditorialFollowBtn,
body.bn-profile--visitor .doctor-editorial-nav {
  display: none !important;
}

body.bn-profile--visitor .bn-profile-card,
body.bn-profile--visitor .dp-hero-inner,
body.bn-profile--visitor .iconic-surface {
  border-radius: 22px !important;
  border: 1px solid rgba(197, 164, 109, 0.22) !important;
  background:
    linear-gradient(165deg, rgba(255, 255, 255, 0.8), rgba(250, 249, 247, 0.64)) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.92) inset,
    0 16px 40px rgba(23, 56, 47, 0.08) !important;
}

body.bn-profile--visitor #bookAppointmentBtn,
body.bn-profile--visitor #clinicBookBtn,
body.bn-profile--visitor .dp-visitor-action-tile--primary,
body.bn-profile--visitor .bn-visitor-action--primary {
  position: relative !important;
  overflow: hidden !important;
  min-height: 58px !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, #214a3e 0%, #17382f 48%, #122c26 100%) !important;
  border: 1px solid rgba(197, 164, 109, 0.45) !important;
  color: #faf9f7 !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.24) inset,
    0 -3px 10px rgba(0, 0, 0, 0.24) inset,
    0 2px 0 rgba(197, 164, 109, 0.3),
    0 14px 30px rgba(18, 44, 38, 0.34) !important;
  font-size: 1.08rem !important;
  font-weight: 780 !important;
}

body.bn-profile--visitor #bookAppointmentBtn:active,
body.bn-profile--visitor #clinicBookBtn:active {
  transform: translateY(1px) !important;
}

/* ===== Readable type floor — premium medical calm ===== */
body,
body.app-shell,
body.index-page,
body.auth-page {
  font-size: 1.0625rem !important;
  line-height: 1.78 !important;
  -webkit-font-smoothing: antialiased !important;
  text-rendering: optimizeLegibility !important;
}

body.app-shell .main-content,
body.app-shell .bn-app-page,
body.app-shell .bn-body,
body.app-shell p,
body.app-shell .bn-text-body {
  line-height: 1.75 !important;
}

body.app-shell .bottom-nav-item,
body.app-shell .global-auth-bottom-nav .bottom-nav-item {
  font-size: 0.8125rem !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
}

body.app-shell .bn-text-caption,
body.app-shell .bn-caption,
body.app-shell .text-muted,
body.app-shell .bn-meta {
  font-size: 0.875rem !important;
  line-height: 1.55 !important;
  color: var(--bn-text-2, #3d4f48) !important;
}

