/* Source compact conversation/typing layout. Original message nodes, dates,
   timestamps, focus handlers and transport remain owned by the sender.
   Date separators are only visually collapsed; their accessible text remains.
   Do not compact media, pending attachment/recording or message-action sheets. */
#nbr-first-party-chat[data-design=v88]:is([data-input-focus=true],[data-contact-sheet=true]):not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-messages{padding-bottom:0}
#nbr-first-party-chat[data-design=v88]:is([data-input-focus=true],[data-contact-sheet=true]):not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-date-separator{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#nbr-first-party-chat[data-design=v88]:is([data-input-focus=true],[data-contact-sheet=true]):not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-welcome{padding-bottom:12px}
#nbr-first-party-chat[data-design=v88]:is([data-input-focus=true],[data-contact-sheet=true]):not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-line-own .nbr-chat-bubble:has(>.nbr-chat-bubble-text):not(:has(audio,img,video)){padding-top:6px;padding-bottom:8px;padding-left:14px;max-width:calc(81% + 1px);font-size:calc(17.3px * var(--text-factor,1))}
#nbr-first-party-chat[data-design=v88]:is([data-input-focus=true],[data-contact-sheet=true]):not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-line:not(.nbr-chat-line-own) .nbr-chat-bubble:has(>.nbr-chat-bubble-text):not(:has(audio,img,video)){padding-top:7px;padding-bottom:11px;padding-left:16px;max-width:79%}
/* Matches source .reserve: return automatically on blur. Never hide status,
   error, attachment or recording controls. Contacts stay available in header. */
#nbr-first-party-chat[data-design=v88][data-input-focus=true]:not([data-contact-sheet=true]):not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-fallback:not(:focus-within){display:none}
@media(min-width:361px){
 #nbr-first-party-chat[data-design=v88][data-input-focus=true]:not([data-contact-sheet=true]):not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-line-own .nbr-chat-bubble:has(>.nbr-chat-bubble-text):not(:has(audio,img,video)){margin-right:-12px}
 #nbr-first-party-chat[data-design=v88][data-contact-sheet=true]:not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-line-own .nbr-chat-bubble:has(>.nbr-chat-bubble-text):not(:has(audio,img,video)){max-width:calc(79% - 2px);margin-right:-11px}
 #nbr-first-party-chat[data-design=v88][data-contact-sheet=true]:not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-welcome{margin-left:1px;width:calc(92% + 1px)}
 #nbr-first-party-chat[data-design=v88][data-contact-sheet=true]:not(:has(.nbr-chat-voice-composer:not([hidden]),.nbr-chat-attachment-box:not([hidden]),.nbr112-message-overlay:not([hidden]))) .nbr-chat-line:not(.nbr-chat-line-own) .nbr-chat-bubble:has(>.nbr-chat-bubble-text):not(:has(audio,img,video)){margin-left:1px;max-width:calc(80% + 2px);padding-left:15px;padding-right:21px}
}
