:root{--msg-navy:#0f1d31;--msg-blue:#2563eb;--msg-line:#dfe7f1;--msg-soft:#f4f7fb;--msg-text:#172238;--msg-muted:#718096;--msg-green:#22c55e}
/* Feature (Messenger, paczka 49): brief pulse on the "Live" badge when a
   new message/reply arrives (see MessengerPro.notifyNewActivity() in
   assets/messenger-pro.js). Respects prefers-reduced-motion. */
.messengerLive.messengerLivePulse{animation:messengerLivePulse 1.1s ease-out 1}
@keyframes messengerLivePulse{0%{background:#dbeafe;color:#1d4ed8;transform:scale(1.12)}100%{background:#effaf3;color:#16803b;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.messengerLive.messengerLivePulse{animation:none}}
#messagesView.messengerEnhanced{padding:0!important;max-width:none!important}
#messagesView.messengerEnhanced>.messageCenterLayout,#messagesView.messengerEnhanced>.communicationHero{display:none!important}
.messengerPro{height:calc(100dvh - 92px);min-height:580px;display:grid;grid-template-columns:340px minmax(0,1fr);overflow:hidden;border:1px solid var(--msg-line);border-radius:18px;background:#fff;box-shadow:0 18px 55px rgba(15,29,49,.12);color:var(--msg-text)}
.messengerSidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;border-right:1px solid var(--msg-line);background:#fff;-webkit-overflow-scrolling:touch}
.messengerSideHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 18px 12px}.messengerSideHead span{display:block;color:var(--msg-blue);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.messengerSideHead h2{margin:2px 0 0!important;font-size:23px!important}.messengerNew{display:grid!important;place-items:center;width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border:0!important;border-radius:12px!important;background:var(--msg-blue)!important;color:#fff!important;font-size:22px!important}
.messengerSearch{position:relative;padding:0 14px 12px}.messengerSearch input{width:100%;height:42px;margin:0!important;padding:9px 12px 9px 38px!important;border:1px solid var(--msg-line)!important;border-radius:12px!important;background:var(--msg-soft)!important;font:inherit}.messengerSearch:before{content:'⌕';position:absolute;z-index:1;left:28px;top:9px;color:#7a8aa0;font-size:20px}
.messengerContacts{min-height:0;overflow:auto;padding:2px 8px 14px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.messengerContact{display:grid!important;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%!important;min-height:68px!important;margin:0!important;padding:9px 10px!important;border:0!important;border-radius:13px!important;background:transparent!important;color:var(--msg-text)!important;text-align:left!important}.messengerContact:hover{background:#f5f8fd!important}.messengerContact.active{background:#eaf2ff!important}.messengerAvatar{position:relative;display:grid;place-items:center;width:46px;height:46px;border-radius:15px;background:linear-gradient(145deg,#dbeafe,#eef2ff);color:#2457a8;font-size:15px;font-weight:900}.messengerAvatar.staff{background:linear-gradient(145deg,#ede9fe,#f5f3ff);color:#6d28d9}.messengerOnlineDot{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border:3px solid #fff;border-radius:50%;background:#94a3b8}.messengerOnlineDot.online{background:var(--msg-green)}.messengerContactText{min-width:0}.messengerContactText span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.messengerContactText b{display:flex;align-items:baseline;gap:6px;min-width:0;font-size:13px;font-weight:900}.messengerContactName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.messengerContactText span{margin-top:3px;color:var(--msg-muted);font-size:11px}.messengerKindTag{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:#eef2f8;color:#5a6d86;font-size:8px;font-weight:850;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.messengerKindTag.worker{background:#e8f0fd;color:#2457a8}.messengerKindTag.staff,.messengerKindTag.admin{background:#ede9fe;color:#6d28d9}.messengerContactMeta{display:grid;justify-items:end;gap:5px;color:#8391a5;font-size:9px}.messengerUnread{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--msg-blue);color:#fff;font-size:9px;font-weight:900}
.messengerChat{display:grid;grid-template-rows:70px minmax(0,1fr) auto;min-width:0;min-height:0;background:#f8fafc}.messengerChatHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 18px;border-bottom:1px solid var(--msg-line);background:rgba(255,255,255,.96)}.messengerChatIdentity{display:flex;align-items:center;gap:11px;min-width:0}.messengerBack{display:none!important;width:36px!important;height:36px!important;padding:0!important;border:0!important;border-radius:10px!important;background:#eef3fa!important;color:#243650!important}.messengerChatIdentity h3{margin:0;font-size:15px}.messengerChatIdentity p{margin:3px 0 0;color:var(--msg-muted);font-size:10px}.messengerChatActions{display:flex;align-items:center;gap:8px}.messengerLive{display:flex;align-items:center;gap:6px;padding:6px 9px;border-radius:999px;background:#effaf3;color:#16803b;font-size:9px;font-weight:850}.messengerLive:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--msg-green)}.messengerRefresh{width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;border:1px solid var(--msg-line)!important;border-radius:10px!important;background:#fff!important;color:#52647c!important}
/* Feature (Messenger, paczka 50): browser-notification permission toggle. */
.messengerNotifyToggle{width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;border:1px solid var(--msg-line)!important;border-radius:10px!important;background:#fff!important;color:#52647c!important;font-size:15px!important}
.messengerNotifyToggle.messengerNotifyOn{border-color:#bfe3cc!important;background:#effaf3!important;color:#16803b!important}
.messengerMessages{min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;padding:22px clamp(14px,3vw,42px);background-color:#f5f7fb;background-image:radial-gradient(#dce5f0 1px,transparent 1px);background-size:22px 22px}.messengerDay{display:flex;align-items:center;gap:10px;margin:15px 0;color:#8996a9;font-size:9px}.messengerDay:before,.messengerDay:after{content:'';height:1px;flex:1;background:#dfe6ef}.messengerBubbleRow{display:flex;align-items:flex-end;gap:8px;margin:7px 0}.messengerBubbleRow.mine{justify-content:flex-end}.messengerMiniAvatar{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:9px;background:#e2e8f0;color:#52647a;font-size:9px;font-weight:900}.messengerBubble{max-width:min(72%,680px);padding:10px 13px;border:1px solid #e1e7ef;border-radius:5px 16px 16px 16px;background:#fff;box-shadow:0 4px 13px rgba(15,29,49,.05)}.messengerBubbleRow.mine .messengerBubble{border-color:#2563eb;background:linear-gradient(135deg,#2b6def,#1f5dd0);color:#fff;border-radius:16px 5px 16px 16px}.messengerBubble b{display:block;margin-bottom:4px;font-size:9px}.messengerBubble p{margin:0;color:inherit;font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.messengerBubble small{display:block;margin-top:5px;color:#8b98aa;font-size:8px;text-align:right}.messengerBubbleRow.mine small{color:#dbeafe}.messengerSubject{display:inline-flex;margin:14px 0 4px;padding:5px 9px;border-radius:999px;background:#e8eef7;color:#5a6d86;font-size:9px;font-weight:850}.messengerEmpty{display:grid;place-content:center;justify-items:center;height:100%;min-height:240px;color:#75859b;text-align:center}.messengerEmpty i{display:grid;place-items:center;width:64px;height:64px;margin-bottom:12px;border-radius:20px;background:#e8f0fd;color:#2563eb;font-style:normal;font-size:27px}.messengerEmpty b{color:#26364e;font-size:16px}.messengerEmpty span{max-width:320px;margin-top:5px;font-size:11px;line-height:1.5}
/* Feature (Messenger, paczka 60): "↓ N new messages" pill -- placed in the
   same grid row/column as .messengerMessages (row 2 of .messengerChat's
   3-row grid) so it floats over the bottom edge of the message list
   without needing position:absolute or any structural change to the
   grid. Painted after .messengerMessages in source order, so it sits on
   top with no z-index needed. Hidden by default; shown/updated from JS
   (see MessengerPro.updateNewBadge()). */
.messengerNewBadge{grid-row:2;grid-column:1;align-self:end;justify-self:center;margin-bottom:14px;display:flex!important;align-items:center;gap:6px;padding:9px 16px!important;border:0!important;border-radius:999px!important;background:var(--msg-blue)!important;color:#fff!important;font-size:12px!important;font-weight:800!important;box-shadow:0 8px 22px rgba(37,99,235,.35);cursor:pointer;animation:messengerNewBadgeIn .18s ease-out}
.messengerNewBadge:hover{background:#1d4ed8!important}
@keyframes messengerNewBadgeIn{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.messengerNewBadge{animation:none}}
.messengerComposer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--msg-line);background:#fff}.messengerComposer form{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:end;gap:9px}.messengerComposer textarea{width:100%;max-height:120px;min-height:44px;margin:0!important;padding:11px 13px!important;resize:none;border:1px solid #d9e2ee!important;border-radius:14px!important;background:#f7f9fc!important;font:inherit;line-height:1.4}.messengerSend{display:grid!important;place-items:center;width:46px!important;height:44px!important;min-height:44px!important;padding:0!important;border:0!important;border-radius:14px!important;background:var(--msg-blue)!important;color:#fff!important;font-size:19px!important}.messengerComposerHint{display:flex;justify-content:space-between;margin-top:6px;color:#8a97a8;font-size:8px}.messengerInstallNotice{padding:8px 12px;border-radius:9px;background:#fff7d6;color:#8a6500;font-size:9px;font-weight:750}
.messengerWorkerHost{position:absolute;inset:0;z-index:5;background:#fff}.messengerWorkerHost .messengerPro{height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}
.messengerTranslationToggle{display:inline-flex!important;width:auto!important;min-height:0!important;margin:6px 0 0!important;padding:2px 0!important;border:0!important;background:transparent!important;color:#2563eb!important;font-size:9px!important;font-weight:800!important;text-decoration:underline!important}.messengerBubbleRow.mine .messengerTranslationToggle{color:#dbeafe!important}
.messengerTranslationError{display:inline-flex!important;align-items:center;width:auto!important;min-height:0!important;margin:6px 0 0 6px!important;padding:1px 6px!important;border:1px solid #f3ce7a!important;border-radius:999px!important;background:#fff7d6!important;color:#8a6500!important;font-size:10px!important;line-height:1.6!important;cursor:pointer}
.workerInboxPanel.messengerMode{width:min(calc(100vw - 20px),980px)!important}
/* Feature (Messenger, Patch160): small role tag next to a sender's name
   inside a Worker's role/person message bubbles -- see renderChat()'s own
   doc-comment in assets/messenger-pro.js for why. Only ever rendered on
   an incoming (not-mine) bubble, so no ".mine" variant is needed. Same
   visual language as the existing .messengerKindTag pill in the contact
   list. */
.messengerRoleTag{font-size:9px;font-weight:750;font-style:normal;color:#8391a5}
@media(max-width:820px){.messengerPro{height:calc(100dvh - 64px);min-height:0;grid-template-columns:100%}.messengerSidebar{border:0}.messengerChat{display:none}.messengerPro.chatOpen .messengerSidebar{display:none}.messengerPro.chatOpen .messengerChat{display:grid}.messengerBack{display:grid!important}.messengerBubble{max-width:86%}.messengerSideHead{padding-top:14px}.messengerChatHead{padding:8px 10px}.messengerMessages{padding:15px 10px}.messengerLive{display:none}.messengerWorkerHost .messengerPro{height:100%}.workerInboxPanel.messengerMode{inset:5px!important;width:auto!important}}

/* Paczka 181: znacznik "New" przy rozmowie, ktorej ten czlowiek jeszcze ani
   razu nie otwieral (message.rootUnread z api/messages.php). Ten sam ksztalt
   i te same wymiary, co sasiednia .messengerKindTag -- rozni sie tylko
   kolorem, zeby bylo widac od razu, ktora pozycja jest nowa. */
.messengerNewMark{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:#fde8d0;color:#9a4b09;font-size:8px;font-weight:900;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}
