/* The picker is a body-level dialog: it must sit above the 7000 call surface,
   including iOS composited video, so taps reach contacts and the invite button. */
#callParticipantPanel { z-index: 7100; top: var(--vobix-visual-top,var(--vobix-menu-top,0px)); bottom: auto; height: var(--vobix-visual-height,var(--vobix-menu-height,100dvh)); box-sizing: border-box; align-items: flex-end; padding: max(12px,var(--vobix-safe-top,env(safe-area-inset-top,0px))) max(12px,env(safe-area-inset-right,0px)) max(12px,var(--vobix-menu-safe-bottom,env(safe-area-inset-bottom,0px))) max(12px,env(safe-area-inset-left,0px)); background: #001020aa; }
#callParticipantPanel .notificationCard { width: min(100%,480px); max-height: 100%; min-height: 0; box-sizing: border-box; display: flex; flex-direction: column; overflow: hidden; padding: 20px; border: 1px solid #2b4d70; border-radius: 26px; background: #061a30; color: #f2f8ff; text-align: left; }
#callParticipantPanel .callContactsHeader, #callParticipantSummary, #callParticipantPanel .callContactsSearch, #callParticipantFeedback { flex-shrink: 0; }
.callContactsHeader { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
.callContactsHeader h2 { flex: 1; margin: 0; font-size: 21px; letter-spacing: -.03em; }
.callContactsClose { width: 40px; height: 40px; border: 0; border-radius: 50%; background: #153551; color: #d5efff; font-size: 22px; cursor: pointer; }
#callParticipantSummary { margin: 0 0 14px; color: #a5bdd4; font-size: 13px; }
.callContactsSearch { display: flex; align-items: center; gap: 9px; padding: 0 13px; background: #102c46; border: 1px solid #2c4b69; border-radius: 15px; color: #72ceff; }
.callContactsSearch input { width: 100%; min-width: 0; padding: 13px 0; color: white; font: inherit; font-size: 16px; border: 0; outline: 0; background: transparent; }
.callContactsSearch:focus-within { border-color: #00c8ff; box-shadow: 0 0 0 2px #00c8ff22; }
.callContactsSearch input::placeholder { color: #9fbad1; }
#callParticipantFeedback { color: #b3cde0; font-size: 13px; line-height: 1.5; }
#callParticipantFeedback:empty { display: none; }
#callParticipantList { display: block; min-height: 0; flex: 0 1 auto; overflow-y: auto; overscroll-behavior: contain; margin: 10px 0 0; max-height: min(56vh,470px); }
#callParticipantList .callParticipantChoice { display: flex; width: 100%; gap: 12px; border: 0; border-radius: 14px; padding: 12px 4px; background: transparent; color: #f1f7ff; font-weight: 500; text-align: left; cursor: pointer; }
#callParticipantList .callParticipantChoice:not(:disabled):active { background: #153a58; }
#callParticipantList .callParticipantChoice:disabled { opacity: .55; cursor: default; }
.callContactAvatar { position: relative; overflow: hidden; display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: 50%; background: linear-gradient(140deg,#007df4,#00bce7); color: white; font-weight: 750; font-size: 18px; }
.callContactAvatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.callContactIdentity { flex: 1; min-width: 0; display: grid; gap: 4px; }
.callContactIdentity strong { font-size: 15px; font-weight: 650; overflow-wrap: anywhere; }
.callContactIdentity small { color: #92b5d0; font-size: 11px; overflow-wrap: anywhere; }
.callContactAction { color: #74d9ff; font-size: 12px; font-weight: 700; white-space: nowrap; }
.callContactRetry { min-height: 42px; padding: 8px 15px; border: 1px solid #2c789f; border-radius: 12px; background: #113953; color: #b1ebff; }
html.vobixKeyboardOpen #callParticipantPanel .notificationCard { padding: 10px; }
html.vobixKeyboardOpen #callParticipantPanel .callContactsHeader, html.vobixKeyboardOpen #callParticipantSummary { margin-bottom: 6px; }
html.vobixKeyboardOpen #callParticipantList { margin-top: 8px; }
#chatSearchPanel { display: none; flex: 0 0 auto; position: relative; z-index: 20; padding: 8px 12px; background: #061d34; border-bottom: 1px solid #234765; color: #d6efff; }
#chatSearchPanel.open { display: block; }
.vobixApp.searchingMessages .vobixTopbar { display: none; }
.chatSearchRow { display: flex; gap: 8px; align-items: center; }
#chatSearchInput { width: 100%; min-width: 0; height: 44px; padding: 10px 12px; border: 1px solid #34536e; border-radius: 13px; background: #102d46; color: white; font-size: 16px; outline: 0; }
#chatSearchInput:focus { border-color: #00c8ff; }
#chatSearchInput::placeholder { color: #abc3d8; }
#chatSearchPanel button { flex: 0 0 40px; width: 40px; height: 40px; border: 0; border-radius: 50%; background: transparent; color: #8fdefe; font-size: 24px; cursor: pointer; }
#chatSearchPanel button:disabled { opacity: .3; cursor: default; }
#chatSearchPanel .chatSearchActions { display: flex; align-items: center; gap: 4px; margin: 3px 0 0; padding-left: 48px; }
#chatSearchCounter { flex: 1; min-width: 0; margin: 0; color: #a8c4da; font-size: 12px; }
mark.vobixSearchTerm { padding: 0 1px; border-radius: 3px; background: #ffdf71; color: #17202a; }
mark.vobixSearchTerm.current { background: #00c8ff; color: #001629; }
#messages .messageRow.searchCurrent .messageBubble { outline: 2px solid #00c8ff; box-shadow: 0 0 0 4px #00c8ff22; }
@media(min-width:700px) { #callParticipantPanel { align-items: center; } }

/* Select contacts first, then send the invitations with one clear action. */
#callParticipantPanel .notificationCard { padding: 16px; border-radius: 24px; }
#callParticipantPanel .callContactsHeader { margin-bottom: 8px; }
#callParticipantPanel .callContactsHeader h2 { font-size: 19px; }
#callParticipantPanel #callParticipantSummary { margin-bottom: 12px; }
#callParticipantPanel #callParticipantList { flex: 1 1 auto; }
#callParticipantPanel .callContactsFooter { flex: 0 0 auto; padding-top: 12px; }
#callParticipantPanel #inviteSelectedContacts { width: 100%; min-height: 48px; border: 0; border-radius: 14px; background: #0095ff; color: #fff; font: 650 15px/1.3 system-ui,sans-serif; cursor: pointer; }
#callParticipantPanel #inviteSelectedContacts:disabled { opacity: .5; cursor: default; }
#callParticipantPanel .callContactSelection { align-self: center; font-size: 23px; width: 28px; text-align: center; }
#callParticipantPanel .callParticipantChoice.selected { background: #e5f4ff; }
#callParticipantPanel .callParticipantChoice.selected .callContactSelection { color: #087bbb; }
#callParticipantPanel .callContactIdentity { align-content: center; }
@layer vobixLight {
  body:not(.seniorHighContrast):not(.contrast) #inviteSelectedContacts { background: #0095ff !important; color: #fff !important; }
  body:not(.seniorHighContrast):not(.contrast) #callParticipantList .callParticipantChoice.selected { background: #e5f4ff !important; }
}
