/* Shares the search control's surface, outline, foreground and focus treatment. */
.portal-search-trigger.portal-notification-trigger { position: relative; text-decoration: none; }
.portal-notification-icon {
  display: block; width: 28px; height: 28px; background: currentColor;
  mask: url('/assets/ui/clinic-notification-bell-v1.png') center / contain no-repeat;
  -webkit-mask: url('/assets/ui/clinic-notification-bell-v1.png') center / contain no-repeat;
}
.portal-notification-count {
  position: absolute; top: -4px; right: -4px; display: grid; place-items: center;
  min-width: 20px; height: 20px; box-sizing: border-box; padding: 0 4px;
  border: 2px solid #fff; border-radius: 999px; background: #147546; color: #fff;
  font: 800 12px/1 Manrope, sans-serif; font-variant-numeric: tabular-nums;
}
html[data-theme='dark'] .portal-notification-count { border-color: #0e151c; background: #8bd1ae; color: #0d1d3a; }
.portal-notification-count[hidden] { display: none; }
.portal-search-trigger.portal-chat-trigger { position:relative; text-decoration:none; }
.portal-chat-trigger svg { fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.portal-call-invite { position:fixed; top:110px; right:24px; z-index:80; display:flex; align-items:center; gap:14px; max-width:calc(100vw - 32px); box-sizing:border-box; padding:16px; border:1px solid #dfe5e7; border-radius:12px; background:#fff; color:#142638; font:14px/1.5 Manrope,sans-serif; }
.portal-call-invite strong,.portal-call-invite span { display:block; }.portal-call-invite span { color:#627086; font-size:12px; }
.portal-call-invite a,.portal-call-invite button { display:grid; place-items:center; min-height:44px; padding:0 12px; border:1px solid #dfe5e7; border-radius:8px; background:#f5f7f8; color:#147546; font:700 13px Manrope,sans-serif; text-decoration:none; cursor:pointer; }
.portal-call-invite :is(a,button):focus-visible { outline:2px solid #147546; outline-offset:3px; }
html[data-theme='dark'] .portal-call-invite { background:#18242d; color:#edf2f4; border-color:#344650; }html[data-theme='dark'] .portal-call-invite span { color:#b3c4cf; }html[data-theme='dark'] .portal-call-invite a,html[data-theme='dark'] .portal-call-invite button { background:#0e1318; color:#8bd1ae; border-color:#344650; }
@media (max-width: 900px) {
  html.portal-has-notification-bell body .portal-account-topbar,
  html.portal-has-notification-bell body .support-topbar-actions {
    width: max-content !important; min-width: max-content !important; max-width: none !important;
  }
}
@media (max-width: 760px) {
  .portal-notification-icon { width: 26px; height: 26px; }
  html.portal-has-notification-bell body .support-topbar,
  html.portal-has-notification-bell body .portal-shared-topbar { width: 200px !important; min-width: 200px !important; }
  html.portal-has-notification-bell body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand > span { display: none !important; }
  html.portal-has-notification-bell body.portal-with-sidebar > aside.portal-shared-sidebar.support-sidebar > .support-brand {
    left: 60px !important; right: auto !important; width: 44px !important; min-width: 44px !important; transform: translateY(-50%) !important;
  }
  html.portal-has-chat body .support-topbar,html.portal-has-chat body .portal-shared-topbar { width:252px !important; min-width:252px !important; }
  .portal-call-invite { top:86px; right:12px; left:12px; max-width:none; gap:8px; padding:12px; }.portal-call-invite>div { flex:1; min-width:0; overflow-wrap:anywhere; }
}
@media(max-width:380px) {
 html.portal-has-chat body .support-topbar,html.portal-has-chat body .portal-shared-topbar { width:244px !important; min-width:244px !important; }
 html.portal-has-chat body .support-topbar-actions { gap:6px !important; }
 html.portal-has-chat body.portal-with-sidebar>aside.portal-shared-sidebar.support-sidebar>.support-brand { display:none !important; }
}

/* Private header controls wait for a verified session, never a cached profile label. */
:is(.support-topbar,.home-v2-topbar,.portal-shared-topbar):has(.portal-unified-login[data-portal-authenticated="false"]) :is([data-portal-chat-slot],[data-portal-notifications-slot]){display:none!important}

/* A brief reminder every ten seconds while the unread badge is visible. */
.portal-notification-trigger:has(.portal-notification-count:not([hidden])) .portal-notification-icon {
  transform-origin: 50% 15%;
  animation: portal-notification-bell-ring 10s ease-in-out 10s infinite;
}
@keyframes portal-notification-bell-ring {
  0%, 8%, 100% { transform: rotate(0deg); }
  1% { transform: rotate(-14deg); }
  2% { transform: rotate(12deg); }
  3% { transform: rotate(-10deg); }
  4% { transform: rotate(8deg); }
  5% { transform: rotate(-5deg); }
  6% { transform: rotate(3deg); }
  7% { transform: rotate(0deg); }
}
@media (prefers-reduced-motion: reduce) {
  .portal-notification-trigger:has(.portal-notification-count:not([hidden])) .portal-notification-icon { animation: none; transform: none; }
}
