/* Chat tokens stay scoped so workspace and employee portal palettes remain independent. */
/* The chat uses one Messages palette in Classic, Modern and the employee portal. */
.qps-messenger,.msg-dialog{
  --msg-bg:#fff;--msg-panel:#fff;--msg-side:#f5f5f7;--msg-ink:#24242a;--msg-muted:#74747d;
  --msg-border:#e5e5eb;--msg-hover:#ebebf0;--msg-accent:#5365f6;--msg-accent-soft:#e9ebff;
  --msg-own:#5365f6;--msg-own-ink:#fff;--msg-other:#f0f0f3;--msg-input:#ececf0;
  --msg-selected:#e5e7fa;--msg-button:#5365f6;--msg-online:#2cab68;--msg-read:#1687d9;
  --msg-shadow:0 8px 36px #2525470b;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text",Inter,"Segoe UI",sans-serif;
  color:var(--msg-ink);font-size:15px;line-height:1.5;color-scheme:light;
}
:root[data-qps-theme="dark"] .qps-messenger,:root[data-qps-theme="dark"] .msg-dialog,
:root[data-qps-theme="black"] .qps-messenger,:root[data-qps-theme="black"] .msg-dialog{
  --msg-bg:#17171a;--msg-panel:#17171a;--msg-side:#202024;--msg-ink:#f4f4f7;--msg-muted:#a2a2ae;
  --msg-border:#34343c;--msg-hover:#2d2d35;--msg-accent:#b1b9ff;--msg-accent-soft:#30324f;
  --msg-own:#5365f6;--msg-own-ink:#fff;--msg-other:#2c2c33;--msg-input:#2b2b32;
  --msg-selected:#36384e;--msg-button:#5365f6;--msg-online:#52c77c;--msg-read:#63b3ff;
  --msg-shadow:0 8px 36px #0003;color-scheme:dark;
}
:root[data-qps-theme="black"] .qps-messenger,:root[data-qps-theme="black"] .msg-dialog{
  --msg-bg:#050507;--msg-panel:#050507;--msg-side:#101014;--msg-input:#202026;
  --msg-border:#2a2a32;--msg-other:#222228;--msg-hover:#23232b;--msg-selected:#2d2f45;
}
@media(prefers-color-scheme:dark){
  :root:not([data-qps-theme]) .qps-messenger,:root:not([data-qps-theme]) .msg-dialog{
    --msg-bg:#17171a;--msg-panel:#17171a;--msg-side:#202024;--msg-ink:#f4f4f7;--msg-muted:#a2a2ae;
    --msg-border:#34343c;--msg-hover:#2d2d35;--msg-accent:#b1b9ff;--msg-accent-soft:#30324f;
    --msg-own:#5365f6;--msg-own-ink:#fff;--msg-other:#2c2c33;--msg-input:#2b2b32;
    --msg-selected:#36384e;--msg-button:#5365f6;--msg-online:#52c77c;--msg-read:#63b3ff;
    --msg-shadow:0 8px 36px #0003;color-scheme:dark;
  }
}
.qps-messenger *,.msg-dialog *{box-sizing:border-box}.qps-messenger [hidden],.msg-dialog [hidden]{display:none!important}.qps-messenger{position:relative;display:grid;grid-template-columns:minmax(250px,31%) minmax(0,1fr);height:min(800px,calc(100dvh - 180px));min-height:560px;max-height:1000px;border:1px solid var(--msg-border);border-radius:18px;overflow:hidden;background:var(--msg-bg);box-shadow:var(--msg-shadow);isolation:isolate}.qps-messenger button,.msg-dialog button,.msg-dialog input,.msg-dialog select,.msg-dialog textarea,.qps-messenger input,.qps-messenger select,.qps-messenger textarea{font:inherit}.qps-messenger button,.msg-dialog button{cursor:pointer;line-height:1.4;text-transform:none;letter-spacing:normal;box-shadow:none}.qps-messenger button:disabled,.msg-dialog button:disabled{opacity:.55;cursor:wait}.qps-messenger button:focus-visible,.qps-messenger a:focus-visible,.qps-messenger input:focus-visible,.qps-messenger textarea:focus-visible,.msg-dialog button:focus-visible,.msg-dialog input:focus-visible,.msg-dialog select:focus-visible{outline:2px solid var(--msg-accent);outline-offset:2px}.qps-messenger svg,.msg-dialog svg{width:20px;height:20px;flex:none}.qps-messenger h2,.qps-messenger h3,.msg-dialog h3,.msg-dialog h4{color:var(--msg-ink);letter-spacing:-.025em;line-height:1.3}.qps-messenger p,.msg-dialog p,.msg-dialog small{color:var(--msg-muted)}.msg-sidebar{display:flex;min-width:0;flex-direction:column;background:var(--msg-panel);border-right:1px solid var(--msg-border);overflow:hidden}.msg-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:24px 20px 16px;gap:12px}.msg-eyebrow{color:var(--msg-accent);letter-spacing:.14em;font-size:9px;font-weight:750}.msg-sidebar-head h2{font-size:25px;font-weight:750;margin:4px 0 0;display:flex;align-items:center;gap:9px}.msg-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;border:0!important;border-radius:11px;background:transparent!important;color:var(--msg-muted)!important;padding:9px;min-width:38px;min-height:38px}.msg-icon:hover{background:var(--msg-hover)!important;color:var(--msg-ink)!important}.msg-sidebar-head>.msg-icon{background:var(--msg-accent-soft)!important;color:var(--msg-accent)!important}.msg-search{display:flex;align-items:center;gap:9px;margin:0 16px;background:var(--msg-input);border:1px solid transparent;border-radius:10px;padding:9px 12px;color:var(--msg-muted)}.msg-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--msg-ink);padding:2px;outline:none;font-size:12px}.msg-search:focus-within{border-color:var(--msg-accent)}.msg-search svg{width:16px;height:16px}.msg-quick{display:flex;flex-wrap:wrap;gap:5px;padding:13px 16px}.msg-quick button{display:flex;align-items:center;gap:5px;border:1px solid var(--msg-border);color:var(--msg-muted);background:var(--msg-panel);padding:6px 9px;border-radius:8px;font-size:10px}.msg-quick svg{width:13px;height:13px}.msg-thread-list{display:block;overflow-y:auto;flex:1;min-height:0;padding:0 7px 12px;scrollbar-width:thin}.msg-thread{width:100%;display:flex;align-items:center;gap:11px;padding:13px 10px;background:transparent;color:var(--msg-ink);border:0;border-radius:10px;text-align:left;margin-bottom:3px}.msg-thread:hover{background:var(--msg-hover)}.msg-thread.is-active{background:var(--msg-accent-soft)}.msg-avatar{flex:none;display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--msg-hover);color:var(--msg-accent);border:1px solid var(--msg-border);border-radius:14px;font-size:14px;font-weight:750}.msg-avatar-notice{color:#aa7e3c;background:#bb97441a}.msg-thread-copy{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}.msg-thread-title{font-size:12px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-preview{color:var(--msg-muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-thread-meta{display:flex;align-items:flex-end;flex-direction:column;gap:7px;flex:none;font-size:9px;color:var(--msg-muted)}.msg-count,.msg-total{background:var(--msg-accent);color:var(--msg-panel);font-size:10px;min-width:19px;height:19px;padding:2px 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:20px}.msg-sidebar-footer{display:flex;gap:8px;justify-content:space-between;padding:12px 16px;color:var(--msg-muted);font-size:9px;border-top:1px solid var(--msg-border)}.msg-connection{display:flex;align-items:center;gap:5px}.msg-connection:before{content:"";width:5px;height:5px;background:var(--msg-accent);border-radius:50%}.msg-connection.is-offline:before{background:#cf954a}.msg-main{display:flex;flex-direction:column;min-width:0;overflow:hidden}.msg-empty{padding:45px;display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;text-align:center}.msg-empty h3{font-size:24px;max-width:320px;margin:25px 0 10px;line-height:1.35}.msg-empty p{max-width:340px;font-size:13px;line-height:1.8;margin:0 0 25px}.msg-hero{background:var(--msg-accent-soft);color:var(--msg-accent);width:86px;height:86px;border-radius:28px;display:grid;place-items:center;transform:rotate(-8deg)}.msg-hero svg{width:39px;height:39px;transform:rotate(8deg)}.msg-primary,.msg-secondary,.msg-dialog button[type=submit],.msg-message-search button,.msg-request-banner button{border:1px solid var(--msg-border);background:var(--msg-panel);color:var(--msg-ink);border-radius:9px;padding:10px 15px;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.msg-primary,.msg-dialog button.msg-primary{background:var(--msg-accent);border-color:var(--msg-accent);color:var(--msg-panel)}.msg-conversation-head{display:flex;align-items:center;gap:11px;background:var(--msg-panel);padding:15px 20px;border-bottom:1px solid var(--msg-border);flex:none;min-height:77px}.msg-header-copy{flex:1;min-width:0}.msg-header-copy h3{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px}.msg-header-copy p{font-size:10px;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.msg-back{display:none}.msg-messages{flex:1;min-height:0;overflow:auto;padding:20px 26px 24px;scrollbar-width:thin;background-image:radial-gradient(var(--msg-border) .65px,transparent .65px);background-size:20px 20px}.msg-day{text-align:center;margin:8px 0 19px}.msg-day span{display:inline-block;background:var(--msg-panel);border:1px solid var(--msg-border);padding:4px 11px;color:var(--msg-muted);font-size:9px;border-radius:8px;box-shadow:0 2px 5px #00000003}.msg-message{display:flex;justify-content:flex-start;margin:0 0 10px}.msg-message.is-own{justify-content:flex-end}.msg-bubble{position:relative;min-width:100px;max-width:85%;background:var(--msg-other);color:var(--msg-ink);border-radius:3px 13px 13px 13px;padding:10px 13px 5px;box-shadow:0 1px 2px #00000009;border:1px solid var(--msg-border)}.msg-message.is-own .msg-bubble{background:var(--msg-own);color:var(--msg-own-ink);border-color:transparent;border-radius:13px 3px 13px 13px}.msg-author{font-size:10px;color:var(--msg-accent);display:block;margin-bottom:6px}.msg-body{font-size:13px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal}.msg-body a{color:var(--msg-accent);text-decoration:underline}.msg-message.is-own .msg-body a{color:inherit}.msg-message.is-deleted .msg-body{font-style:italic;opacity:.65}.msg-message-meta{display:flex;gap:6px;align-items:center;justify-content:flex-end;font-size:9px;opacity:.75;margin-top:4px;min-height:20px}.msg-message-meta button{border:0;background:transparent;color:inherit;display:grid;place-items:center;padding:3px}.msg-message-meta button svg{width:13px;height:13px}.msg-delivery{font-size:12px;letter-spacing:-3px;margin-right:4px}.msg-delivery.is-read{color:#328ccb;opacity:1}.msg-project-chip{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--msg-border);background:var(--msg-accent-soft);color:var(--msg-accent);padding:4px 7px;border-radius:6px;font-size:10px;margin:0 0 6px;max-width:100%;overflow-wrap:anywhere}.msg-project-chip svg{width:12px;height:12px}.msg-reply{margin:0 0 8px;padding:7px 10px;border-left:3px solid var(--msg-accent);border-radius:5px;background:#00000008;display:flex;flex-direction:column;gap:3px;font-size:11px;overflow-wrap:anywhere;max-height:94px;overflow:hidden}.msg-reply b{color:var(--msg-accent);font-size:10px}.msg-reactions{display:flex;flex-wrap:wrap;gap:4px;padding:3px 0 6px}.msg-reactions button{border:1px solid var(--msg-border);background:var(--msg-panel);color:var(--msg-muted);border-radius:20px;padding:3px 7px;font-size:9px}.msg-reactions button.is-mine{border-color:var(--msg-accent);color:var(--msg-accent)}.msg-image{display:block;border:0;background:none;padding:0;margin:4px 0;max-width:100%;border-radius:8px;overflow:hidden}.msg-image img{display:block;max-width:100%;max-height:310px;object-fit:contain;width:auto;border-radius:8px}.msg-media{display:block;max-width:100%;width:330px;max-height:290px;margin:6px 0;border-radius:8px;background:#000}.msg-audio{display:block;max-width:100%;width:280px;margin:8px 0}.msg-file{display:flex;align-items:center;gap:10px;background:#00000005;border:1px solid var(--msg-border);padding:12px;border-radius:9px;text-decoration:none;color:inherit;margin:6px 0}.msg-file span{display:flex;flex-direction:column;gap:3px;min-width:0}.msg-file b{font-size:11px;overflow-wrap:anywhere}.msg-file small{font-size:9px;opacity:.7;color:inherit}.msg-composer{padding:15px 18px 8px;border-top:1px solid var(--msg-border);background:var(--msg-panel);flex:none;margin:0}.msg-compose-row{display:flex;align-items:flex-end;gap:9px}.msg-compose-row textarea{min-width:0;flex:1;resize:none;background:var(--msg-input);color:var(--msg-ink);border:1px solid transparent;border-radius:10px;padding:11px 13px;min-height:43px;max-height:160px;line-height:1.5;font-size:12px;margin:0}.msg-compose-row textarea:focus{border-color:var(--msg-accent);outline:none}.msg-send{display:grid;place-items:center;border:0;background:var(--msg-accent);color:var(--msg-panel);padding:12px;border-radius:12px;width:43px;height:43px;flex:none}.msg-send svg{width:20px;height:20px}.msg-compose-bottom{display:flex;justify-content:space-between;align-items:center;gap:9px;margin:8px 0 0 48px}.msg-compose-bottom label{display:flex;align-items:center;gap:4px;max-width:60%;color:var(--msg-muted)}.msg-compose-bottom svg{width:12px;height:12px}.msg-compose-bottom select{background:transparent;border:0;color:var(--msg-muted);font-size:9px;max-width:100%;min-height:22px;padding:0 16px 0 2px}.msg-compose-bottom small{font-size:8px;color:var(--msg-muted)}.msg-draft-meta{background:var(--msg-panel);padding:0 18px}.msg-reply-draft{display:flex;align-items:center;gap:10px;border-left:3px solid var(--msg-accent);border-radius:6px;background:var(--msg-accent-soft);padding:8px 8px 8px 12px;margin:10px 0}.msg-reply-draft>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.msg-reply-draft b{font-size:10px;color:var(--msg-accent)}.msg-reply-draft small{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--msg-muted)}.msg-file-drafts{display:flex;gap:6px;flex-wrap:wrap;padding:9px 0}.msg-file-drafts>span{display:flex;align-items:center;gap:6px;border:1px solid var(--msg-border);border-radius:8px;padding:6px;font-size:10px;max-width:100%}.msg-file-drafts>span>span{overflow-wrap:anywhere;min-width:0}.msg-file-drafts small{font-size:8px;opacity:.7}.msg-file-drafts svg{width:14px;height:14px}.msg-file-drafts button{border:0;background:transparent;color:var(--msg-muted);font-size:17px;padding:0 3px}.msg-message-search{display:flex;gap:7px;padding:10px 15px;border-bottom:1px solid var(--msg-border);background:var(--msg-panel);margin:0}.msg-message-search input{min-width:0;flex:1;background:var(--msg-input);color:var(--msg-ink);border:1px solid var(--msg-border);border-radius:8px;padding:8px 10px;font-size:11px}.msg-message-search button{font-size:10px;padding:7px 10px}.msg-older-wrap{text-align:center;margin-bottom:15px}.msg-older-wrap button{background:var(--msg-panel);border:1px solid var(--msg-border);color:var(--msg-accent);border-radius:20px;padding:7px 14px;font-size:10px}.msg-loading,.msg-list-empty,.msg-conversation-empty{padding:30px;text-align:center;color:var(--msg-muted);font-size:12px;line-height:1.8}.msg-loading{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center}.msg-request-banner{background:var(--msg-panel);padding:12px 20px;border-bottom:1px solid var(--msg-border);display:flex;justify-content:space-between;align-items:center;gap:12px}.msg-request-banner strong{font-size:11px}.msg-request-banner p{font-size:10px;margin:5px 0 0;line-height:1.5}.msg-request-banner button{font-size:10px;padding:8px 10px;flex:none}.msg-status{font-size:9px;padding:3px 7px;border:1px solid var(--msg-border);border-radius:20px;margin-left:8px;text-transform:capitalize;color:var(--msg-accent);background:var(--msg-accent-soft);white-space:nowrap}.msg-status-declined{color:#b76851;background:#bc735d15}.msg-notice{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);width:min(90%,600px);padding:13px 17px;box-shadow:0 6px 28px #0003;background:var(--msg-panel);color:var(--msg-ink);border:1px solid var(--msg-accent);border-radius:11px;font-size:12px;z-index:20}.msg-notice.is-error{border-color:#d69a77}.msg-dialog{border:1px solid var(--msg-border);border-radius:17px;padding:0;background:var(--msg-panel);width:min(480px,calc(100vw - 26px));max-width:calc(100vw - 26px);max-height:90dvh;box-shadow:0 20px 80px #0005;overflow:auto;overscroll-behavior:contain}.msg-dialog-wide{width:min(580px,calc(100vw - 26px))}.msg-dialog::backdrop{background:#07111d99;backdrop-filter:blur(3px)}.msg-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 20px;border-bottom:1px solid var(--msg-border);position:sticky;top:0;background:var(--msg-panel);z-index:2}.msg-dialog-head h3{font-size:17px;margin:0}.msg-dialog-body{padding:20px}.msg-dialog-form{display:flex;flex-direction:column;gap:15px;margin:0}.msg-dialog-form>label{display:flex;flex-direction:column;gap:7px;font-size:11px;font-weight:650;color:var(--msg-ink)}.msg-dialog-form input:not([type=checkbox]):not([type=radio]),.msg-dialog-form select,.msg-dialog-form textarea,.msg-rename input{width:100%;min-width:0;border:1px solid var(--msg-border);color:var(--msg-ink);background:var(--msg-input);border-radius:8px;min-height:40px;padding:10px;font-size:12px}.msg-dialog-form textarea{min-height:90px;resize:vertical}.msg-dialog-form>.msg-checkline{flex-direction:row;align-items:center}.msg-checkline input,.msg-contact input{accent-color:var(--msg-accent);width:16px;height:16px;flex:none}.msg-contact-picker{max-height:280px;overflow:auto;border:1px solid var(--msg-border);border-radius:10px}.msg-contact{display:flex;align-items:center;gap:10px;padding:11px 12px;border-bottom:1px solid var(--msg-border);cursor:pointer}.msg-contact:last-child{border:0}.msg-contact:hover{background:var(--msg-hover)}.msg-contact .msg-avatar{width:34px;height:34px;font-size:11px;border-radius:11px}.msg-contact>span:last-child{display:flex;flex-direction:column;gap:3px;min-width:0}.msg-contact b{font-size:12px;font-weight:650}.msg-contact small{font-size:10px}.msg-picked-count{font-size:10px;color:var(--msg-accent);margin-top:-7px}.msg-help{font-size:11px;line-height:1.8;margin:0}.msg-dialog-error{padding:12px 20px;margin:0;background:#b86b4717;color:#c57b61!important;font-size:12px;border-top:1px solid var(--msg-border)}.msg-info-title{display:flex;align-items:center;gap:12px;margin-bottom:20px}.msg-info-title h4{margin:0 0 4px;font-size:15px}.msg-info-title p{font-size:10px;margin:0}.msg-rename{display:flex;gap:7px;margin-bottom:12px}.msg-rename button{padding:6px 12px;font-size:11px}.msg-members{margin:15px 0}.msg-member{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid var(--msg-border)}.msg-member .msg-avatar{width:35px;height:35px;font-size:11px;border-radius:10px}.msg-member-name{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.msg-member-name b{font-size:11px}.msg-member-name small{font-size:9px}.msg-member select{max-width:100px;background:var(--msg-input);color:var(--msg-ink);border:1px solid var(--msg-border);border-radius:7px;font-size:10px;padding:6px}.msg-danger{background:#b86b4710;color:#bd684f;border:1px solid #b86b4733;border-radius:9px;font-size:11px;padding:10px 14px}.msg-full-image{display:block;max-width:100%;max-height:65dvh;margin:0 auto 16px;border-radius:8px}.msg-image-dialog{width:min(900px,calc(100vw - 26px))}.msg-reaction-choices{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:20px}.msg-reaction-choices button{border:1px solid var(--msg-border);background:var(--msg-hover);color:var(--msg-ink);padding:8px 11px;border-radius:20px;font-size:11px}
@media(max-width:1000px){.qps-messenger{grid-template-columns:260px minmax(0,1fr)}.msg-sidebar-head{padding:20px 15px 13px}.msg-messages{padding:17px}.msg-compose-bottom small{display:none}.msg-compose-bottom label{max-width:100%}.msg-conversation-head{padding:13px}.msg-bubble{max-width:92%}.msg-thread{gap:8px;padding:12px 8px}.msg-thread .msg-avatar{width:35px;height:35px;font-size:11px}}
@media(max-width:700px){.qps-messenger{grid-template-columns:minmax(0,1fr);height:calc(100dvh - 180px);min-height:480px;border-radius:12px}.msg-main{display:none}.msg-sidebar{border:0}.msg-conversation-open .msg-main{display:flex}.msg-conversation-open .msg-sidebar{display:none}.msg-back{display:inline-flex}.msg-conversation-head{padding:9px 10px;gap:7px;min-height:68px}.msg-header-copy h3{font-size:13px}.msg-conversation-head>.msg-avatar{width:32px;height:32px;font-size:10px;border-radius:10px}.msg-conversation-head .msg-icon{padding:7px;min-width:33px;min-height:33px}.msg-header-copy p{font-size:9px}.msg-messages{padding:12px 13px 18px}.msg-bubble{max-width:89%;padding:9px 11px 5px}.msg-body{font-size:13px}.msg-composer{padding:11px 10px 5px}.msg-compose-row{gap:5px}.msg-compose-row textarea{font-size:16px;padding:10px;min-height:43px}.msg-compose-bottom{margin-left:41px}.msg-compose-bottom select{font-size:10px;min-height:28px}.msg-request-banner{padding:10px 13px;align-items:flex-start;gap:6px}.msg-request-banner strong{display:block;font-size:10px}.msg-status{display:inline-flex;margin:4px 0 0}.msg-request-banner button{font-size:9px;max-width:105px}.msg-request-banner p{font-size:9px}.msg-thread{padding:14px 12px}.msg-thread-title{font-size:13px}.msg-preview{font-size:12px}.msg-thread .msg-avatar{width:43px;height:43px;font-size:13px}.msg-thread-meta{font-size:10px}.msg-sidebar-head h2{font-size:26px}.msg-sidebar-head{padding:23px 20px 16px}.msg-search{margin:0 18px}.msg-search input{font-size:16px}.msg-quick{padding:13px 18px}.msg-quick button{font-size:11px}.msg-sidebar-footer{font-size:10px}.msg-dialog-head{padding:13px 15px}.msg-dialog-body{padding:16px}.msg-dialog-form input:not([type=checkbox]):not([type=radio]),.msg-dialog-form textarea,.msg-dialog-form select{font-size:16px}.msg-contact-picker{max-height:32dvh}.msg-notice{font-size:11px;width:94%}.msg-compose-row>[data-attach]{min-width:32px;padding:7px}.msg-file-drafts>span{font-size:9px}.msg-message-search{padding:9px;gap:4px}.msg-message-search input{font-size:16px}.msg-message-search button{padding:7px;font-size:9px}}
/* Conversation controls and account-wide presence privacy. */
.msg-sidebar-actions{display:flex;align-items:center;gap:2px;flex:none}.msg-sidebar-actions [data-new]{background:var(--msg-accent-soft)!important;color:var(--msg-accent)!important}.msg-sidebar-actions .msg-icon{min-width:34px;min-height:38px;padding:8px}.msg-avatar.msg-online{position:relative}.msg-avatar.msg-online:after{content:"";position:absolute;width:11px;height:11px;right:-2px;bottom:-2px;border-radius:50%;background:var(--msg-accent);border:2px solid var(--msg-panel)}.qps-messenger .msg-presence-online,.msg-dialog .msg-presence-online{color:var(--msg-accent)}.msg-privacy-intro{display:flex;align-items:flex-start;gap:12px;padding:4px 0 10px}.msg-privacy-intro>svg{color:var(--msg-accent);width:28px;height:28px}.msg-privacy-intro h4{font-size:15px;margin:0 0 6px}.msg-dialog-form>.msg-privacy-toggle{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding:16px;border:1px solid var(--msg-border);background:var(--msg-input);border-radius:12px;cursor:pointer}.msg-privacy-toggle>span{display:flex;flex-direction:column;gap:6px;min-width:0}.msg-privacy-toggle strong{font-size:12px;font-weight:650}.msg-privacy-toggle small{font-size:11px;line-height:1.7;font-weight:400}.msg-privacy-toggle input{appearance:none;flex:none;width:42px;height:24px;margin:0;background:var(--msg-muted);border:0;border-radius:20px;position:relative;cursor:pointer;transition:background .15s}.msg-privacy-toggle input:before{content:"";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:var(--msg-panel);transition:transform .15s}.msg-privacy-toggle input:checked{background:var(--msg-accent)}.msg-privacy-toggle input:checked:before{transform:translateX(18px)}.msg-action-row,.msg-conversation-controls{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:18px 0}.msg-action-row:last-child,.msg-conversation-controls:last-child{margin-bottom:0}.msg-delete-message{display:block;width:100%;margin-top:16px}.msg-privacy-note{margin-top:12px}.msg-dialog strong{color:var(--msg-ink)}.msg-dialog .msg-member-name{overflow-wrap:anywhere}.msg-message-meta button{min-width:26px;min-height:26px;border-radius:6px}.msg-message-meta button:hover{background:#00000012}.msg-message-meta button:focus-visible{outline:2px solid var(--msg-accent)}.msg-sidebar-head>div:first-child{min-width:0}.msg-sidebar-head h2{font-size:23px}.msg-dialog .msg-danger:disabled{cursor:wait}
@media(max-width:700px){.msg-message-meta button{min-width:32px;min-height:30px}.msg-sidebar-head h2{font-size:26px}.msg-sidebar-actions .msg-icon{min-width:40px;min-height:42px}.msg-privacy-toggle strong{font-size:13px}.msg-privacy-toggle small{font-size:12px}.msg-action-row>.msg-secondary,.msg-action-row>.msg-danger,.msg-conversation-controls>button{min-height:42px;flex:1}.msg-privacy-toggle input{min-width:42px}.msg-dialog .msg-reaction-choices button{min-height:38px}}
/* Native-style gestures retain visible buttons for mouse and keyboard access. */
.msg-thread-row{position:relative;overflow:hidden;border-radius:10px;margin-bottom:3px;--msg-action-width:144px}
.msg-thread-row .msg-thread{position:relative;z-index:1;margin:0;background:var(--msg-panel);padding-right:34px;touch-action:pan-y;transition:transform .18s ease;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.msg-thread-row .msg-thread:hover{background:var(--msg-hover)}.msg-thread-row .msg-thread.is-active{background:var(--msg-accent-soft)}
.msg-thread-actions{position:absolute;inset:0 0 0 auto;width:var(--msg-action-width);display:flex;visibility:hidden;background:var(--msg-hover)}
.msg-thread-actions button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;padding:8px 4px;border:0;border-radius:0;background:var(--msg-hover);color:var(--msg-ink);font-size:11px}
.msg-thread-actions [data-thread-delete]{background:#b63f49;color:#fff}.msg-thread-actions button:hover{filter:brightness(1.1)}
.msg-thread-row.is-open .msg-thread{transform:translateX(calc(-1 * var(--msg-action-width)))}
.msg-thread-row.is-open .msg-thread-actions,.msg-thread-row.is-gesture-active .msg-thread-actions{visibility:visible}
.msg-thread-toggle{position:absolute;right:3px;top:50%;transform:translateY(-50%);z-index:2;display:grid;place-items:center;width:30px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--msg-muted);padding:5px}
.msg-thread-toggle:hover{background:var(--msg-hover)}.msg-thread-toggle svg{width:17px;height:17px}.msg-thread-row.is-open .msg-thread-toggle,.msg-thread-row.is-gesture-active .msg-thread-toggle{visibility:hidden}
.msg-thread-row .msg-thread.is-dragging,.msg-bubble.is-dragging{transition:none}
.msg-message{position:relative}.msg-bubble{touch-action:pan-y;transition:transform .18s ease;-webkit-touch-callout:none}.msg-bubble:focus-visible{outline:2px solid var(--msg-accent);outline-offset:3px}
.msg-swipe-reply{position:absolute;left:0;top:50%;transform:translateY(-50%) scale(.7);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--msg-hover);color:var(--msg-accent);opacity:0;transition:opacity .12s,transform .12s}
.msg-message.is-own .msg-swipe-reply{left:auto;right:12px}.msg-message.is-gesture-active .msg-swipe-reply{opacity:.45}.msg-message.is-reply-ready .msg-swipe-reply{opacity:1;transform:translateY(-50%) scale(1)}
.msg-emoji{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-variant-emoji:emoji;font-weight:400;line-height:1.15}
.msg-reactions button{display:inline-flex;align-items:center;gap:4px;min-height:30px;padding:4px 8px;font-size:11px}.msg-reactions .msg-emoji{font-size:19px}
.msg-reaction-choices{display:flex;justify-content:space-between;flex-wrap:nowrap;gap:6px}.msg-dialog .msg-reaction-choices button{display:grid;place-items:center;padding:9px;min-width:44px;min-height:46px;border-radius:50%;flex:none}.msg-reaction-choices .msg-emoji{font-size:27px}
.msg-reaction-choices button[aria-pressed=true]{border-color:var(--msg-accent);background:var(--msg-accent-soft);box-shadow:0 0 0 1px var(--msg-accent)}
.msg-reaction-picker{width:min(348px,calc(100vw - 26px))}.msg-reaction-picker .msg-dialog-head{padding:10px 14px}.msg-reaction-picker .msg-dialog-head h3{font-size:14px}.msg-reaction-picker .msg-dialog-body{padding:15px}.msg-reaction-picker .msg-reaction-choices{margin-bottom:12px}.msg-reaction-picker .msg-action-row{margin-top:12px}.msg-reaction-picker .msg-action-row button{gap:7px;flex:1}
@media(pointer:coarse){.msg-bubble{user-select:none;-webkit-user-select:none}.msg-reactions button{min-height:36px}.msg-thread-toggle{width:32px;min-height:40px}}
@media(prefers-reduced-motion:reduce){.msg-thread-row .msg-thread,.msg-bubble,.msg-swipe-reply{transition:none}}
.msg-messages,.msg-thread-list{overflow-x:hidden}
/* Touch movement is composited; only the active surface gets its own layer. */
.msg-thread-row .msg-thread,.msg-bubble{transition:transform .26s cubic-bezier(.2,.8,.2,1);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.msg-thread-row .msg-thread.is-dragging,.msg-bubble.is-dragging{transition:none}
.msg-thread-row .msg-thread.is-dragging,.msg-thread-row .msg-thread.is-settling,.msg-bubble.is-dragging,.msg-bubble.is-settling{will-change:transform}
.msg-thread-row.is-open .msg-thread{transform:translate3d(calc(-1 * var(--msg-action-width)),0,0)}
.msg-swipe-reply{transition:opacity .18s ease,transform .24s cubic-bezier(.2,.8,.2,1)}
/* The selected bubble and its controls share the modal top layer, leaving the chat in place. */
.msg-dialog.msg-reaction-picker{position:fixed;inset:0;margin:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;overflow:hidden;overscroll-behavior:contain;touch-action:manipulation}
.msg-reaction-picker::backdrop{background:rgba(0,5,9,.62);backdrop-filter:none;animation:msg-context-dim .16s ease-out}
.msg-context-reactions,.msg-context-actions,.msg-context-preview{position:absolute;box-sizing:border-box;max-width:calc(100vw - 24px);animation:msg-context-appear .18s cubic-bezier(.2,.8,.2,1) both}
.msg-context-reactions,.msg-context-actions{border:1px solid color-mix(in srgb,var(--msg-border) 85%,white 15%);background:color-mix(in srgb,var(--msg-panel) 96%,transparent);color:var(--msg-ink);box-shadow:0 8px 30px #0004;overflow:hidden}
.msg-context-reactions{padding:5px;border-radius:32px;z-index:3}
.msg-reaction-picker .msg-reaction-choices{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:0;margin:0}
.msg-reaction-picker .msg-reaction-choices button{display:grid;place-items:center;flex:1;min-width:0;width:auto;min-height:42px;height:42px;margin:0;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;transition:transform .14s ease,background .14s ease;touch-action:manipulation}
.msg-reaction-picker .msg-reaction-choices button:hover{background:var(--msg-hover);transform:translateY(-2px)}
.msg-reaction-picker .msg-reaction-choices button:active{transform:scale(.92)}
.msg-reaction-picker .msg-reaction-choices button[aria-pressed=true]{border-color:var(--msg-accent);background:var(--msg-accent-soft);box-shadow:none}
.msg-reaction-picker .msg-reaction-choices .msg-emoji{font-size:28px;pointer-events:none}
.msg-reaction-picker [data-more-reactions]{color:var(--msg-muted);background:var(--msg-hover)!important}
.msg-reaction-picker [data-more-reactions] svg{width:24px;height:24px}
.msg-extra-reactions{padding:5px 3px 0;margin-top:5px;border-top:1px solid var(--msg-border)}
.msg-extra-reactions .msg-reaction-choices{justify-content:flex-start;gap:8px}
.msg-extra-reactions .msg-reaction-choices button{flex:none;width:42px}
.msg-context-preview{margin:0;display:block;pointer-events:none;overflow:hidden;border-radius:13px;z-index:2}
.msg-context-preview .msg-bubble{width:100%;max-width:100%;min-width:0;box-sizing:border-box;margin:0;overflow:hidden;transform:none;transition:none;box-shadow:0 5px 20px #0003}
.msg-context-preview .msg-bubble .msg-message-meta button{visibility:hidden}
.msg-context-actions{border-radius:19px;padding:5px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;z-index:3;touch-action:pan-y}
.msg-context-actions>button{display:flex;align-items:center;gap:15px;width:100%;min-height:44px;text-align:left;padding:10px 18px;border:0;border-radius:0;background:transparent;color:var(--msg-ink);font-size:15px;font-weight:450;line-height:1.4}
.msg-context-actions>button+button{border-top:1px solid color-mix(in srgb,var(--msg-border) 70%,transparent)}
.msg-context-actions>button:hover,.msg-context-actions>button:active{background:var(--msg-hover)}
.msg-context-actions svg{width:22px;height:22px;flex:none}
.msg-context-actions>button.msg-context-delete{color:#e36a79}
.msg-reaction-picker button:focus-visible{outline:2px solid var(--msg-accent);outline-offset:-3px}
.msg-reaction-picker .msg-context-close{position:absolute;right:12px;width:30px;height:30px;min-width:30px;min-height:30px;padding:6px;border-radius:50%;background:var(--msg-panel);color:var(--msg-ink);box-shadow:0 2px 12px #0003;z-index:4}
.msg-dialog:not(.msg-reaction-picker) .msg-reaction-choices{flex-wrap:wrap;justify-content:flex-start}
@keyframes msg-context-appear{from{opacity:0;transform:translate3d(0,5px,0) scale(.98)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes msg-context-dim{from{background:rgba(0,5,9,0)}to{background:rgba(0,5,9,.62)}}
@media(max-width:350px){.msg-reaction-picker .msg-reaction-choices .msg-emoji{font-size:25px}.msg-reaction-picker .msg-reaction-choices button{min-height:38px;height:38px}.msg-context-actions>button{min-height:42px}}
@media(prefers-reduced-motion:reduce){.msg-thread-row .msg-thread,.msg-bubble,.msg-swipe-reply,.msg-reaction-picker .msg-reaction-choices button{transition:none}.msg-context-reactions,.msg-context-actions,.msg-context-preview,.msg-reaction-picker::backdrop{animation:none}}

/* Chat owns the available app viewport. Headers, search and composer are siblings
   of the scrolling messages, so neither short screens nor long histories move them. */
@media screen {
  .msg-viewport-active,.msg-viewport-active body{overflow:hidden;overscroll-behavior:none}
  .msg-viewport-active [data-workspace-view="chat"],.msg-viewport-active #employee-app{
    position:fixed;inset:var(--msg-viewport-top,0px) 0 auto;
    height:var(--msg-viewport-height,100dvh);min-height:0;overflow:hidden;
  }
  .msg-viewport-active [data-workspace-view="chat"]>.main{
    display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:calc(16px + var(--qps-safe-top, env(safe-area-inset-top,0px))) max(20px,var(--qps-safe-right, env(safe-area-inset-right,0px))) max(12px,var(--qps-safe-bottom, env(safe-area-inset-bottom,0px))) 20px;
  }
  .msg-viewport-active [data-workspace-view="chat"]>.main>.topbar{flex:none;margin-bottom:10px;min-height:36px}
  .msg-viewport-active [data-workspace-view="chat"]>.main>.topbar>div:first-child{display:none}
  .msg-viewport-active [data-workspace-view="chat"]>.main>.topbar>.toolbar{margin-left:auto}
  .msg-viewport-active [data-workspace-view="chat"]>.main>.project-breadcrumb,
  .msg-viewport-active [data-workspace-view="chat"]>.main>#project-weather{display:none}
  .msg-viewport-active [data-workspace-view="chat"]>.sidebar{min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain}
  .msg-viewport-active #qps-feature-view.qps-messenger,
  .msg-viewport-active #ep-feature-view.qps-messenger{flex:1 1 0;height:100%;min-height:0;max-height:none;grid-template-rows:minmax(0,1fr)}
  .msg-viewport-active #qps-feature-view.qps-messenger{height:auto}
  .msg-viewport-active #employee-app{display:flex;flex-direction:column}
  .msg-viewport-active #employee-app>.ep-header{position:relative;flex:none}
  .msg-viewport-active .ep-chat-page{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;max-width:none;margin:0;padding:8px max(12px,var(--qps-safe-right, env(safe-area-inset-right,0px))) max(8px,var(--qps-safe-bottom, env(safe-area-inset-bottom,0px))) max(12px,var(--qps-safe-left, env(safe-area-inset-left,0px)));overflow:hidden}
  .msg-viewport-active .ep-chat-page>.ep-tabs{flex:none;margin:0 0 8px}
  .msg-viewport-active .ep-chat-page>.ep-tabs button{padding-top:10px;padding-bottom:10px}
  .msg-viewport-active .ep-chat-page>section[aria-live]{flex:1;min-height:0;display:flex;overflow:hidden}
  .qps-messenger .msg-sidebar,.qps-messenger .msg-main{min-height:0}
  .qps-messenger .msg-sidebar-head,.qps-messenger .msg-search,.qps-messenger .msg-quick,
  .qps-messenger .msg-sidebar-footer,.qps-messenger .msg-conversation-head,
  .qps-messenger .msg-message-search,.qps-messenger .msg-request-banner,
  .qps-messenger .msg-draft-meta,.qps-messenger .msg-composer{flex-shrink:0}
  .qps-messenger .msg-messages,.qps-messenger .msg-thread-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .qps-messenger .msg-messages{overflow-x:hidden}
  .qps-messenger .msg-draft-meta{max-height:25%;overflow-y:auto;overscroll-behavior:contain}
  .qps-messenger .msg-compose-row textarea{max-height:clamp(44px,calc(var(--msg-viewport-height,100dvh) * .22),160px)}
}
.msg-project-time{display:inline-block;flex:none;font-size:10px;font-weight:500;line-height:1.5;color:var(--msg-muted);font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:0}
.msg-thread-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;min-width:0}
.msg-thread-heading .msg-thread-title{min-width:0;max-width:100%}
.msg-header-copy h3{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px;white-space:normal}
.msg-header-copy .msg-person-name{max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg-contact-name,.msg-member-name>b,.msg-author{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 7px}
@media(max-width:700px){
  .msg-conversation-head{display:grid;grid-template-columns:33px minmax(0,1fr) repeat(2,33px);column-gap:5px;row-gap:0}
  .msg-conversation-head>.msg-back{grid-column:1;grid-row:1 / 3}
  .msg-conversation-head>.msg-avatar{display:none}
  .msg-conversation-head>.msg-header-copy{grid-column:2;grid-row:1 / 3}
  .msg-conversation-head>[data-call]{grid-column:3;grid-row:1}
  .msg-conversation-head>[data-video-call]{grid-column:4;grid-row:1}
  .msg-conversation-head>[data-find]{grid-column:3;grid-row:2}
  .msg-conversation-head>[data-info]{grid-column:4;grid-row:2}
}
@media screen and (max-width:760px) {
  .msg-viewport-active [data-workspace-view="chat"]{display:flex;flex-direction:column}
  .msg-viewport-active [data-workspace-view="chat"]>.sidebar{flex:none;height:auto;overflow:visible}
  .msg-viewport-active [data-workspace-view="chat"]>.main{flex:1;padding:0 var(--qps-safe-right, env(safe-area-inset-right,0px)) var(--qps-safe-bottom, env(safe-area-inset-bottom,0px)) var(--qps-safe-left, env(safe-area-inset-left,0px))}
  .msg-viewport-active #qps-feature-view.qps-messenger{border-radius:0;border-width:0}
  .msg-viewport-active[data-qps-nav="open"] [data-workspace-view="chat"]>.sidebar{height:var(--msg-viewport-height,100dvh);overflow:hidden}
  .msg-viewport-active[data-qps-nav="open"] [data-workspace-view="chat"]::before{flex:none}
  .msg-viewport-active .ep-chat-page{padding:0 var(--qps-safe-right, env(safe-area-inset-right,0px)) var(--qps-safe-bottom, env(safe-area-inset-bottom,0px)) var(--qps-safe-left, env(safe-area-inset-left,0px))}
  .msg-viewport-active .ep-chat-page>.ep-tabs{margin:0;padding:0 6px}
  .msg-viewport-active #ep-feature-view.qps-messenger{border-radius:0;border-width:0}
  .msg-viewport-active .msg-keyboard-open .ep-tabs,.msg-viewport-active .msg-keyboard-open .ep-header>.ep-brand,
  .msg-viewport-active .msg-keyboard-open .ep-header>.ep-language,.msg-viewport-active .msg-keyboard-open .ep-identity>span{display:none}
  .msg-viewport-active .msg-keyboard-open .ep-header{padding:calc(8px + var(--qps-safe-top, env(safe-area-inset-top,0px))) max(12px,var(--qps-safe-right, env(safe-area-inset-right,0px))) 8px max(12px,var(--qps-safe-left, env(safe-area-inset-left,0px)))}
  .msg-viewport-active .msg-keyboard-open .ep-identity{margin:0;gap:8px}
}

/* Messages surfaces are independent of the workspace style. Gesture transforms,
   keyboard sizing and scroll ownership above remain responsible for behavior. */
.ep-chat-page>.ep-page-finder{display:none}
.qps-messenger{border-radius:22px;letter-spacing:-.012em}
.msg-sidebar{background:var(--msg-side)}
.msg-sidebar-head{padding:22px 20px 16px;min-height:82px}
.msg-eyebrow{font-size:10px;letter-spacing:.1em;color:var(--msg-muted)}
.msg-sidebar-head h2{font-size:27px;font-weight:700;letter-spacing:-1px;margin:2px 0 0}
.msg-sidebar-actions{gap:4px}
.msg-icon,.msg-sidebar-actions .msg-icon{border-radius:50%;min-width:38px;min-height:38px}
.msg-sidebar-actions [data-new]{background:var(--msg-button)!important;color:#fff!important}
.msg-search{background:var(--msg-input);margin:0 16px;padding:9px 11px;border-radius:11px}
.msg-search input{font-size:14px;padding:0;line-height:1.5}
.qps-messenger .msg-search input{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;min-height:0;outline:none}
.qps-messenger .msg-search input:focus,.qps-messenger .msg-search input:focus-visible{border:0;background:transparent;box-shadow:none;outline:none}
:root .qps-messenger .msg-search input:focus,:root .qps-messenger .msg-compose-input textarea:focus{outline:none;box-shadow:none}
.msg-search svg{width:17px;height:17px}
.msg-search input::placeholder,.msg-compose-row textarea::placeholder{color:var(--msg-muted);opacity:1}
.msg-quick{gap:6px;padding:13px 16px 10px}
.msg-quick button{font-size:11px;border-radius:20px;min-height:32px;padding:6px 10px;background:transparent}
.msg-quick button:hover{color:var(--msg-accent);border-color:var(--msg-accent);background:var(--msg-accent-soft)}
.msg-filters{display:flex;gap:5px;padding:2px 16px 13px;flex:none}
.msg-filters button{flex:1;min-width:0;min-height:32px;padding:6px 10px;border:0;border-radius:18px;background:transparent;color:var(--msg-muted);font-size:12px;font-weight:550}
.msg-filters button:hover{background:var(--msg-hover);color:var(--msg-ink)}
.msg-filters button.is-active,.msg-filters button[aria-pressed="true"]{background:var(--msg-selected);color:var(--msg-accent)}
.msg-thread-list{padding:0 9px 14px;scrollbar-color:var(--msg-border) transparent}
.msg-thread-row{border-radius:13px;margin-bottom:3px}
.msg-thread-row .msg-thread{background:var(--msg-side);padding:13px 33px 13px 10px;gap:11px;min-height:79px;border-radius:13px}
.msg-thread-row .msg-thread.is-active{background:var(--msg-selected)}
.msg-thread-row .msg-thread:hover{background:var(--msg-hover)}
.msg-thread-row .msg-thread.is-active:hover{background:var(--msg-selected)}
.msg-thread-title{font-size:14px;font-weight:650;letter-spacing:-.018em}
.msg-thread-copy{gap:4px}
.msg-preview{font-size:12px;line-height:1.45}
.msg-thread-meta{font-size:10px;gap:8px}
.msg-avatar,.msg-thread .msg-avatar,.msg-contact .msg-avatar,.msg-member .msg-avatar{border-radius:50%;background:var(--msg-accent-soft);border:0;color:var(--msg-accent);font-weight:650}
.msg-thread .msg-avatar{width:43px;height:43px;font-size:14px}
.msg-avatar-notice{color:#a87731;background:#f0dfbb}
.msg-avatar.msg-online:after{right:0;bottom:0;background:var(--msg-online);border-color:var(--msg-side)}
.msg-conversation-head .msg-avatar.msg-online:after{border-color:var(--msg-panel)}
.msg-thread.is-active .msg-avatar.msg-online:after{border-color:var(--msg-selected)}
.msg-count,.msg-total{background:var(--msg-button);color:#fff;min-width:20px;height:20px;font-size:11px;font-weight:600}
.msg-total{font-size:11px;letter-spacing:0}
.msg-thread-toggle{border-radius:50%;right:2px;color:var(--msg-muted)}
.msg-sidebar-footer{font-size:10px;padding:13px 18px;border-color:var(--msg-border)}
.msg-connection:before{background:var(--msg-online);width:6px;height:6px}
.qps-messenger .msg-presence-online,.msg-dialog .msg-presence-online{color:var(--msg-online)}
.msg-main{background:var(--msg-bg)}
.msg-conversation-head{padding:15px 22px;min-height:78px;gap:12px}
.msg-conversation-head>.msg-avatar{width:43px;height:43px;font-size:14px;border-radius:50%}
.msg-header-copy h3{font-size:16px;line-height:1.4;font-weight:650;letter-spacing:-.025em;margin-bottom:2px}
.msg-header-copy p{font-size:12px;line-height:1.5}
.msg-conversation-head .msg-icon{color:var(--msg-accent)!important}
.msg-messages{background:var(--msg-bg);background-image:none;padding:24px 28px 20px;scrollbar-color:var(--msg-border) transparent}
.msg-day{margin:6px 0 24px}
.msg-day span{font-size:11px;font-weight:500;padding:2px 8px;background:transparent;border:0;box-shadow:none}
.msg-message{margin-bottom:15px}
.msg-bubble{min-width:96px;max-width:min(85%,700px);background:var(--msg-other);border:0;border-radius:21px 21px 21px 6px;padding:11px 15px 6px;box-shadow:none}
.msg-message.is-own .msg-bubble{background:var(--msg-own);color:var(--msg-own-ink);border-radius:21px 21px 6px 21px}
.msg-body{font-size:15px;line-height:1.55;letter-spacing:-.01em}
.msg-author{font-size:11px;font-weight:650;margin-bottom:5px}
.msg-author .qps-employee-link{color:inherit;padding:0;font:inherit;line-height:inherit;text-decoration-color:color-mix(in srgb,currentColor 45%,transparent);text-underline-offset:2px}
.msg-message-meta{font-size:10px;line-height:1.3;margin-top:4px;gap:7px;opacity:.8}
.msg-message.is-own .msg-message-meta{opacity:.85}
.msg-message.is-own .msg-author,.msg-message.is-own .msg-author .msg-project-time,.msg-message.is-own .msg-reply b{color:#fff}
.msg-message.is-own .msg-delivery.is-read{color:var(--msg-read)}
.msg-message.is-own .msg-reply{border-color:#ffffffc2;background:#ffffff1a}
.msg-message.is-own .msg-project-chip{color:#fff;background:#ffffff1a;border-color:#ffffff3d}
.msg-message.is-own .msg-file{background:#ffffff10;border-color:#ffffff3d}
.msg-message.is-own .msg-message-meta button:focus-visible{outline-color:var(--msg-accent)}
.msg-reply{border-radius:10px;font-size:12px;line-height:1.45;padding:9px 11px;background:var(--msg-hover)}
.msg-reply b{font-size:11px}
.msg-reactions button{background:var(--msg-panel);border-radius:20px;color:var(--msg-ink)}
.msg-reactions button.is-mine{background:var(--msg-accent-soft)}
.msg-project-chip{font-size:11px;border-radius:7px}
.msg-file{border-radius:13px;padding:13px;gap:11px}
.msg-file b{font-size:13px;line-height:1.45}
.msg-file small{font-size:11px}
.msg-image,.msg-image img,.msg-media{border-radius:14px}
.msg-composer{padding:14px 21px 11px;background:var(--msg-panel);border-top:0}
.msg-compose-row{gap:10px;min-width:0}
.msg-compose-row>[data-attach]{width:38px;height:38px;min-width:38px;min-height:38px;margin-bottom:4px;padding:8px;border-radius:50%;background:var(--msg-hover)!important;color:var(--msg-muted)!important}
.msg-compose-row>[data-attach]:hover{color:var(--msg-accent)!important;background:var(--msg-accent-soft)!important}
.msg-compose-input{display:flex;align-items:flex-end;flex:1 1 0;min-width:0;gap:4px;padding:4px;border:1px solid var(--msg-border);border-radius:25px;background:var(--msg-panel);box-shadow:0 2px 8px #00000004}
.msg-compose-input:focus-within{border-color:var(--msg-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--msg-accent) 12%,transparent)}
.msg-compose-row .msg-compose-input textarea{flex:1 1 0;min-width:0;min-height:36px;padding:7px 7px 7px 12px;font-size:15px;line-height:1.5;border:0;border-radius:20px;background:transparent;box-shadow:none;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.msg-compose-row .msg-compose-input textarea:focus{outline:none;border:0;box-shadow:none}
.msg-send{width:35px;height:35px;padding:8px;border-radius:50%;background:var(--msg-button);color:#fff}
.msg-compose-input .msg-send{margin:1px;align-self:flex-end}
.msg-send svg{width:20px;height:20px}
.msg-send:hover{filter:brightness(1.08)}
.msg-compose-bottom{margin:6px 0 0 48px;gap:8px}
.msg-compose-bottom select{font-size:11px;min-height:26px}
.qps-messenger .msg-compose-bottom select{border:0;border-radius:0;background:transparent;box-shadow:none;font-weight:450}
.msg-compose-bottom small{font-size:9px}
.msg-draft-meta{padding:0 22px;background:var(--msg-panel)}
.msg-reply-draft{border-radius:12px;margin:8px 0 0;padding:10px 8px 10px 12px}
.msg-reply-draft b,.msg-reply-draft small{font-size:12px}
.msg-file-drafts>span{font-size:12px;border-radius:12px;padding:7px}
.msg-file-drafts small{font-size:10px}
.msg-file-drafts button{min-width:28px;min-height:28px}
.msg-empty{padding:40px 28px}
.msg-hero{border-radius:29px;width:90px;height:90px;transform:none}
.msg-hero svg{transform:none;width:42px;height:42px}
.msg-empty h3{font-size:28px;font-weight:650;letter-spacing:-.04em;max-width:340px;margin:24px 0 12px}
.msg-empty p{font-size:14px;line-height:1.65;max-width:355px}
.msg-primary,.msg-secondary,.msg-dialog button[type=submit]{font-size:13px;min-height:40px;border-radius:20px}
.msg-primary,.msg-dialog button.msg-primary{background:var(--msg-button);border-color:var(--msg-button);color:#fff}
.msg-list-empty,.msg-conversation-empty,.msg-loading{font-size:14px;line-height:1.6}
.msg-dialog:not(.msg-reaction-picker){border-radius:22px}
.msg-dialog-head{padding:18px 21px}
.msg-dialog-head h3{font-size:18px}
.msg-dialog-body{padding:21px}
.msg-dialog-form>label,.msg-help,.msg-contact small{font-size:12px}
.msg-dialog-form input:not([type=checkbox]):not([type=radio]),.msg-dialog-form select,.msg-dialog-form textarea,.msg-rename input{border-radius:12px;font-size:14px}
.msg-contact{padding:12px;gap:12px}
.msg-contact .msg-avatar{width:40px;height:40px;font-size:13px}
.msg-contact b{font-size:14px}
.msg-member-name b,.msg-privacy-toggle strong{font-size:13px}
.msg-member-name small,.msg-privacy-toggle small{font-size:11px}
.msg-context-preview{border-radius:21px}
.msg-request-banner strong{font-size:12px}
.msg-request-banner p{font-size:11px}
.msg-message-search input{font-size:13px;border-radius:11px}
.msg-message-search button,.msg-older-wrap button{font-size:12px}
.msg-project-time{font-size:10px;font-weight:450;letter-spacing:0}

@media(max-width:1000px){
  .msg-sidebar-head{padding:19px 15px 15px}
  .msg-sidebar-head h2{font-size:25px}
  .msg-thread-row .msg-thread{gap:9px;padding-left:8px}
  .msg-thread .msg-avatar{width:39px;height:39px;font-size:13px}
  .msg-messages{padding:22px 19px 18px}
  .msg-conversation-head{padding:13px 16px;gap:9px}
  .msg-conversation-head .msg-icon{padding:8px;min-width:34px;min-height:38px}
  .msg-composer{padding:12px 15px 9px}
  .msg-bubble{max-width:91%}
}
@media(max-width:700px){
  .qps-messenger{border-radius:16px}
  .msg-sidebar-head{padding:22px 20px 16px;min-height:88px}
  .msg-sidebar-head h2{font-size:29px}
  .msg-sidebar-actions .msg-icon{width:42px;height:42px}
  .msg-search{margin:0 18px;padding:9px 12px}
  .msg-search input{font-size:16px}
  .msg-quick{padding:13px 18px 10px}
  .msg-quick button{font-size:12px;min-height:36px}
  .msg-filters{padding:0 18px 13px;gap:7px}
  .msg-filters button{font-size:13px;min-height:36px}
  .msg-thread-list{padding:0 10px 14px}
  .msg-thread-row .msg-thread{padding:15px 36px 15px 10px;gap:12px;min-height:85px}
  .msg-thread .msg-avatar{width:49px;height:49px;font-size:16px}
  .msg-thread-title{font-size:16px}
  .msg-preview{font-size:14px}
  .msg-thread-meta{font-size:11px}
  .msg-thread-toggle{width:32px;min-height:42px}
  .msg-conversation-head{padding:9px 11px;min-height:77px;grid-template-columns:35px minmax(0,1fr) repeat(2,35px);column-gap:6px}
  .msg-conversation-head .msg-icon{padding:7px;min-width:35px;min-height:33px}
  .msg-header-copy h3{font-size:15px;gap:1px 6px}
  .msg-header-copy p{font-size:11px}
  .msg-messages{padding:20px 13px 17px}
  .msg-body{font-size:16px;line-height:1.5}
  .msg-bubble{max-width:88%;padding:10px 13px 5px}
  .msg-message{margin-bottom:14px}
  .msg-message-meta{font-size:10px}
  .msg-composer{padding:10px 11px 7px}
  .msg-compose-row{gap:8px}
  .msg-compose-row>[data-attach]{width:36px;height:36px;min-width:36px;min-height:36px}
  .msg-compose-row .msg-compose-input textarea{font-size:16px;min-height:36px;padding:6px 6px 6px 10px}
  .msg-compose-input .msg-send{width:35px;height:35px}
  .msg-compose-bottom{margin-left:44px;margin-top:4px}
  .msg-compose-bottom select{min-height:28px;font-size:11px}
  .msg-draft-meta{padding:0 12px}
  .msg-dialog-form input:not([type=checkbox]):not([type=radio]),.msg-dialog-form select,.msg-dialog-form textarea,.msg-rename input,.msg-message-search input{font-size:16px}
  .msg-dialog-head{padding:16px 17px}
  .msg-dialog-body{padding:18px}
  .msg-request-banner strong{font-size:11px}
  .msg-request-banner p{font-size:11px}
  .msg-request-banner button{font-size:11px}
}
/* Work conversations: pinned contacts, mentions and voice notes. */
.msg-pinned-section{padding:8px 4px 19px;margin-bottom:9px;border-bottom:1px solid var(--msg-border)}
.msg-section-label{display:flex;align-items:center;gap:6px;margin:0 8px 17px;color:var(--msg-muted);font-size:11px;font-weight:600;letter-spacing:.035em}
.msg-section-label svg{width:13px;height:13px}
.msg-pinned-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 8px;padding:0 2px}
.msg-pinned-card{position:relative;min-width:0;border-radius:15px;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y}
.qps-messenger .msg-pinned-chat{position:relative;display:flex;flex-direction:column;align-items:center;gap:9px;width:100%;min-width:0;padding:5px 0 3px;border:0;border-radius:15px;background:transparent;color:var(--msg-ink);text-align:center;box-shadow:none;-webkit-touch-callout:none;touch-action:pan-y}
.msg-pinned-chat:hover{background:var(--msg-hover)}
.msg-pinned-chat .msg-avatar{position:relative;width:64px;height:64px;font-size:21px;border-radius:50%;background:var(--msg-accent-soft);color:var(--msg-accent);box-shadow:0 4px 12px #00000007}
.msg-pinned-chat .msg-avatar svg{width:28px;height:28px}
.msg-pinned-chat.is-active .msg-avatar,.msg-pinned-card.is-active .msg-avatar{outline:2px solid var(--msg-accent);outline-offset:4px}
.msg-pinned-avatar{position:relative;display:block;line-height:1}
.msg-pinned-badges{display:flex;gap:2px;position:absolute;top:-3px;right:-5px;z-index:1}
.msg-pinned-badges .msg-count,.msg-pinned-badges .msg-mention-count{border:2px solid var(--msg-side);height:23px;min-width:23px}
.msg-pinned-name{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;font-weight:500;color:var(--msg-ink)}
.msg-pinned-preview{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--msg-muted);font-size:10px;line-height:1.4;margin-top:-6px}
.msg-pinned-chat>.msg-count,.msg-pinned-chat>.msg-mention-count{position:absolute;top:1px;right:3px;z-index:1;border:2px solid var(--msg-side);height:22px;min-width:22px}
.msg-pinned-chat .msg-avatar .msg-count{position:absolute;right:-4px;top:-4px;border:2px solid var(--msg-side);height:23px;min-width:23px}
.qps-messenger .msg-pinned-options{position:absolute;z-index:2;top:43px;right:0;width:28px;height:28px;min-width:28px;min-height:28px;padding:5px;display:grid;place-items:center;border:2px solid var(--msg-side);border-radius:50%;background:var(--msg-hover);color:var(--msg-muted);box-shadow:none}
.msg-pinned-options svg{width:16px;height:16px}
.msg-pinned-options:hover{color:var(--msg-accent);background:var(--msg-accent-soft)}
.msg-mention-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:1px 5px;border-radius:20px;background:var(--msg-button);color:#fff;font-size:12px;font-weight:750;line-height:1}
.msg-thread-pin{display:inline-flex;align-items:center;color:var(--msg-muted)}
.msg-thread-pin svg{width:12px;height:12px}
.msg-filters{flex-wrap:wrap}
.msg-filters button{flex:1 0 auto;min-width:max-content;padding-left:6px;padding-right:6px;white-space:nowrap}
.msg-mention{display:inline;border-radius:5px;padding:1px 3px;background:var(--msg-accent-soft);color:var(--msg-accent);font-weight:650;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.msg-mention.is-self{background:#ffce663b;color:#885400;outline:1px solid #d8a83a44}
.msg-message.is-own .msg-mention{color:#fff;background:#ffffff29}
.msg-mentioned-label{display:flex;align-items:center;gap:4px;color:var(--msg-accent);font-size:10px;font-weight:650;margin:0 0 5px}
.msg-message.is-own .msg-mentioned-label{color:#fff}
:root[data-qps-theme="dark"] .msg-mention.is-self,:root[data-qps-theme="black"] .msg-mention.is-self{color:#ffe0a0;background:#c79a3438}
.msg-composer{position:relative}
.msg-mention-picker{position:absolute;bottom:100%;left:15px;right:15px;z-index:15;max-height:min(265px,36dvh);overflow-y:auto;padding:6px;border:1px solid var(--msg-border);border-radius:17px;background:var(--msg-panel);color:var(--msg-ink);box-shadow:0 -6px 30px #17173520;overscroll-behavior:contain;scrollbar-width:thin}
.msg-mention-picker-header,.msg-mention-heading{padding:7px 10px 9px;color:var(--msg-muted);font-size:11px;font-weight:600}
.msg-mention-empty{padding:12px;color:var(--msg-muted);font-size:12px}
.qps-messenger .msg-mention-option{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 10px;border:0;border-radius:11px;text-align:left;background:transparent;color:var(--msg-ink)}
.msg-mention-option.is-active,.msg-mention-option[aria-selected="true"],.msg-mention-option:hover{background:var(--msg-accent-soft)}
.msg-mention-option .msg-avatar{width:35px;height:35px;font-size:12px}
.msg-mention-option>span:not(.msg-avatar){display:flex;flex-direction:column;min-width:0}
.msg-mention-option strong,.msg-mention-option b{font-size:13px;font-weight:600}
.msg-mention-option small{font-size:11px;color:var(--msg-muted)}
.msg-compose-input .msg-mic{align-self:flex-end;min-width:35px;width:35px;min-height:35px;height:35px;margin:1px;padding:7px;border-radius:50%;color:var(--msg-accent)!important}
.msg-compose-row>.msg-mic{align-self:flex-end;margin-bottom:4px}
.msg-voice-panel{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0;padding:12px;margin-bottom:10px;background:var(--msg-accent-soft);border:1px solid var(--msg-border);border-radius:18px}
.msg-voice-panel.is-recording{background:var(--msg-hover)}
.msg-voice-panel audio{display:block;min-width:0;max-width:100%;flex:1 1 180px;height:36px}
.msg-voice-panel>span,.msg-voice-panel>div{min-width:0}
.msg-voice-panel button{flex:none}
.msg-voice-panel .msg-icon{width:36px;min-width:36px;height:36px;min-height:36px}
.msg-voice-panel .msg-primary{margin-left:auto;gap:6px;min-height:37px;padding:7px 13px}
.msg-voice-panel .msg-secondary{min-height:37px;padding:7px 12px}
.msg-voice-panel label,.msg-voice-panel strong,.msg-voice-panel b{font-size:12px}
.msg-voice-panel small{font-size:11px;color:var(--msg-muted)}
.msg-voice-preview-copy{display:flex;flex:1 1 180px;flex-direction:column;gap:3px;min-width:0}
.msg-voice-preview-copy audio{flex:none;width:100%;min-width:0;margin-top:5px}
.msg-recording-copy{display:grid;grid-template-columns:1fr auto;gap:2px 10px;flex:1;align-items:center}
.msg-recording-copy small{grid-column:1/-1}
.msg-recording-copy strong{line-height:1.4}
.msg-message.is-highlighted .msg-bubble{outline:2px solid var(--msg-accent);outline-offset:4px;box-shadow:0 0 0 7px color-mix(in srgb,var(--msg-accent) 14%,transparent)}
.msg-recording-dot{display:inline-block;flex:none;width:9px;height:9px;border-radius:50%;background:#e44559;box-shadow:0 0 0 4px #e4455918;animation:msg-recording-pulse 1.3s ease-in-out infinite}
.msg-recording-time{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.03em;color:var(--msg-ink)}
.msg-recording-bars{display:flex;align-items:center;justify-content:center;gap:3px;height:27px;flex:1;min-width:30px;max-width:100px;color:var(--msg-accent)}
.msg-recording-bars span,.msg-recording-bars i{display:block;width:3px;height:13px;border-radius:3px;background:currentColor;animation:msg-recording-bars 1s ease-in-out infinite alternate}
.msg-recording-bars :nth-child(3n){height:22px;animation-delay:.3s}.msg-recording-bars :nth-child(2n){height:8px;animation-delay:.6s}
.msg-voice-note{display:flex;flex-direction:column;gap:7px;min-width:0;width:280px;max-width:100%;padding:5px 0}
.msg-voice-note>span,.msg-voice-note>div{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:600;color:inherit}
.msg-voice-note svg{width:17px;height:17px}
.msg-voice-note audio{width:100%;max-width:100%;height:39px;border-radius:22px;color-scheme:light}
.msg-voice-note small{font-size:11px;color:inherit;opacity:.8}
.msg-voice-actions{display:flex;align-items:center;gap:6px;margin-left:auto}
.msg-voice-caption [data-voice-speed]{margin-left:auto;min-width:37px;min-height:30px;padding:3px 7px;background:var(--msg-hover);color:var(--msg-ink);border:0;border-radius:14px;font-size:11px;font-weight:650}
.msg-message.is-own .msg-voice-caption [data-voice-speed]{background:#ffffff24;color:#fff}
.msg-voice-note .msg-audio{margin:0}
.msg-message.is-own .msg-voice-note audio{opacity:.95}
.msg-newer-wrap{text-align:center;position:sticky;top:0;z-index:2;padding:9px 0}
.msg-newer-wrap button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:8px 15px;border:1px solid var(--msg-border);border-radius:22px;background:var(--msg-panel);color:var(--msg-accent);font-size:12px;font-weight:600;box-shadow:0 3px 14px #00000012}
.msg-dialog.msg-thread-menu{width:min(340px,calc(100vw - 30px));border-radius:25px;background:var(--msg-panel);animation:msg-menu-appear .16s ease-out}
.msg-thread-menu::backdrop{background:#00000024;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.msg-thread-menu .msg-dialog-body{padding:8px}
.msg-thread-menu .msg-action-row{display:flex;flex-direction:column;gap:0}
.msg-thread-menu .msg-action-row button{width:100%;justify-content:flex-start;gap:12px;text-align:left;min-height:50px;border:0;border-radius:13px;padding:12px 15px;background:transparent;color:var(--msg-ink);font-size:15px;font-weight:450}
.msg-thread-menu .msg-action-row button:hover{background:var(--msg-hover)}
.msg-thread-menu .msg-action-row .msg-danger{color:#e44559}
@keyframes msg-recording-pulse{50%{opacity:.45}}
@keyframes msg-recording-bars{to{transform:scaleY(.5)}}
@keyframes msg-menu-appear{from{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:none}}
@media(max-width:700px){
  .msg-pinned-section{padding:12px 4px 21px}
  .msg-pinned-grid{gap:22px 12px;padding:0 8px}
  .msg-pinned-chat .msg-avatar{width:72px;height:72px;font-size:24px}
  .msg-pinned-name{font-size:13px}
  .msg-pinned-preview{font-size:11px}
  .qps-messenger .msg-pinned-options{top:50px;right:6px;width:30px;height:30px}
  .msg-mention-picker{left:10px;right:10px;max-height:min(240px,36dvh)}
  .msg-voice-panel{padding:10px;gap:8px}
  .msg-voice-note{width:235px}
  .msg-recording-bars{max-width:55px}
  .msg-voice-panel .msg-primary,.msg-voice-panel .msg-secondary{font-size:12px;padding:8px 11px}
}
@media(prefers-reduced-motion:reduce){.msg-recording-dot,.msg-recording-bars span,.msg-recording-bars i,.msg-dialog.msg-thread-menu{animation:none}}

/* Compact work chat: conversation space first, shared directory identity and live activity. */
.msg-sidebar-head{min-height:54px;padding:10px 16px 8px}
.msg-sidebar-head h2{font-size:22px;margin:0;letter-spacing:-.5px}
.msg-sidebar-actions .msg-icon{width:36px;height:36px;min-width:36px;min-height:36px}
.msg-search{margin:0 14px;padding:7px 10px}
.msg-filters{padding:7px 12px 8px;gap:3px;flex-wrap:nowrap}
.msg-filters button{font-size:11px;min-height:30px;padding:5px 6px}
.msg-sidebar-footer{padding:7px 13px}
.msg-section-label{font-size:10px;margin:3px 7px 9px}
.msg-pinned-section{padding:4px 3px 9px;margin-bottom:5px}
.msg-pinned-grid{display:flex;gap:7px;overflow-x:auto;padding:4px 3px 5px;scrollbar-width:thin}
.msg-pinned-card{flex:0 0 90px;width:90px}
.qps-messenger .msg-pinned-chat{gap:5px;padding:4px 2px}
.msg-pinned-chat .msg-avatar{width:48px;height:48px;font-size:17px}
.msg-pinned-name{font-size:11px}
.msg-pinned-preview{font-size:9px;margin-top:0}
.qps-messenger .msg-pinned-options{top:33px;right:10px;width:24px;min-width:24px;height:24px;min-height:24px;padding:3px}
.msg-thread-row .msg-thread{min-height:75px;padding-top:10px;padding-bottom:10px}
.msg-thread-copy{gap:2px}
.msg-thread-position{font-size:10px;color:var(--msg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.msg-thread-title{font-size:14px}
.msg-preview{font-size:12px}
.msg-avatar{position:relative;isolation:isolate}
.msg-avatar img{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;background:var(--msg-hover)}
.msg-avatar.msg-online:after{z-index:1}
.msg-header-copy p{display:flex;align-items:center;gap:6px;font-size:11px;line-height:1.35}
.msg-header-copy .msg-project-time{font-size:9px}
.msg-header-copy h3{font-size:14px;margin:0;line-height:1.35}
.msg-header-activity{min-height:15px;font-size:10px!important}
.msg-author-position{font-weight:450;font-size:9px;color:var(--msg-muted)}
.msg-activity{display:inline-flex;gap:5px;align-items:center;color:var(--msg-accent);font-size:inherit;font-weight:550;max-width:100%;vertical-align:middle}
.msg-activity>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.msg-activity svg{width:13px;height:13px;animation:msg-recording-pulse 1.3s ease-in-out infinite}
.msg-typing-dots{display:inline-flex;gap:3px;align-items:center;padding:3px 2px;min-height:14px;flex:none}
.msg-typing-dots i{width:4px;height:4px;border-radius:50%;background:currentColor;animation:msg-typing-dot 1s ease-in-out infinite}
.msg-typing-dots i:nth-child(2){animation-delay:.15s}.msg-typing-dots i:nth-child(3){animation-delay:.3s}
@keyframes msg-typing-dot{0%,70%,100%{transform:translateY(0);opacity:.45}35%{transform:translateY(-3px);opacity:1}}
@media(max-width:700px){
  .msg-sidebar-head{min-height:49px;padding:6px 14px}
  .msg-sidebar-head h2{font-size:21px}
  .msg-sidebar-actions .msg-icon{width:35px;height:35px;min-width:35px;min-height:35px}
  .msg-search{margin:0 13px;padding:6px 10px}
  .msg-search input{font-size:16px}
  .msg-filters{padding:5px 10px 7px;gap:3px}
  .msg-filters button{min-height:30px;font-size:11px}
  .msg-pinned-section{padding:2px 3px 7px}
  .msg-pinned-grid{gap:5px;padding:4px 2px}
  .msg-pinned-card{flex-basis:86px;width:86px}
  .msg-pinned-chat .msg-avatar{width:46px;height:46px;font-size:16px}
  .msg-pinned-name{font-size:11px}
  .msg-pinned-preview{font-size:9px}
  .qps-messenger .msg-pinned-options{top:31px;right:8px}
  .msg-thread-row .msg-thread{min-height:73px;padding:9px 34px 9px 8px;gap:9px}
  .msg-thread .msg-avatar{width:42px;height:42px;font-size:14px}
  .msg-thread-title{font-size:14px}
  .msg-thread-position{font-size:10px}
  .msg-preview{font-size:12px}
  .msg-thread-meta{font-size:9px}
  .msg-conversation-head{display:grid;grid-template-columns:27px 35px minmax(0,1fr) repeat(2,29px);padding:6px 8px;min-height:65px;gap:0 5px}
  .msg-conversation-head>.msg-back{grid-column:1;grid-row:1 / 3}
  .msg-conversation-head>.msg-avatar{display:inline-flex;width:35px;height:35px;font-size:11px;grid-column:2;grid-row:1 / 3}
  .msg-conversation-head>.msg-header-copy{grid-column:3;grid-row:1 / 3}
  .msg-conversation-head>[data-call]{grid-column:4;grid-row:1}
  .msg-conversation-head>[data-video-call]{grid-column:5;grid-row:1}
  .msg-conversation-head>[data-find]{grid-column:4;grid-row:2}
  .msg-conversation-head>[data-info]{grid-column:5;grid-row:2}
  .msg-conversation-head .msg-icon{width:29px;min-width:29px;height:27px;min-height:27px;padding:5px}
  .msg-header-copy h3{font-size:12px;display:block}
  .msg-header-copy .msg-person-name{display:block}
  .msg-header-copy p{font-size:10px;gap:3px;flex-wrap:wrap}
  .msg-header-copy .msg-project-time{font-size:8px}
  .msg-header-activity{font-size:9px!important}
}
@media(prefers-reduced-motion:reduce){.msg-typing-dots i,.msg-activity svg{animation:none}}

/* Dexo conversation rhythm: sender above, content alone in the bubble, time and receipts below. */
.msg-message-content{display:flex;flex-direction:column;align-items:flex-start;min-width:0;width:fit-content;max-width:min(85%,700px)}
.msg-message-content>.msg-bubble{max-width:100%;min-width:64px;padding:11px 15px;box-sizing:border-box}
.msg-message-content>.msg-author{padding:0 12px;margin:0 0 5px;font-size:11px;color:var(--msg-muted);line-height:1.45}
.msg-message-content>.msg-message-meta{align-self:flex-start;justify-content:flex-start;gap:7px;margin:3px 7px 0;min-height:24px;color:var(--msg-muted);opacity:1;flex-wrap:wrap}
.msg-message.is-own .msg-message-content{align-items:flex-end}
.msg-message.is-own .msg-message-meta{align-self:flex-end;justify-content:flex-end;opacity:1}
.msg-message-meta time{white-space:nowrap;font-variant-numeric:tabular-nums}
.msg-message-tools{display:inline-flex;gap:0;align-items:center}
.msg-message-meta .msg-message-tools button{display:inline-flex;align-items:center;justify-content:center;color:var(--msg-muted);min-width:24px;min-height:24px;padding:4px;border-radius:50%}
.msg-message-meta .msg-message-tools button:hover{background:var(--msg-hover);color:var(--msg-ink)}
.msg-message-meta .msg-message-tools svg{width:13px;height:13px}
.msg-message-meta .msg-delivery{display:inline-flex;align-items:center;justify-content:center;flex:none;letter-spacing:normal;margin:0;opacity:1;color:var(--msg-muted)}
.msg-message-meta .msg-delivery svg{width:17px;height:15px;stroke-width:1.75}
.msg-message-meta .msg-delivery.is-read,.msg-message.is-own .msg-message-meta .msg-delivery.is-read{color:var(--msg-read)}
.msg-message-content>.msg-reactions{padding:4px 5px 0}
@media(max-width:1000px){.msg-message-content{max-width:91%}}
@media(max-width:700px){
  .msg-message-content{max-width:88%}
  .msg-message-content>.msg-bubble{padding:10px 13px}
  .msg-message-content>.msg-message-meta{gap:6px;margin-top:2px;min-height:28px}
  .msg-message-meta .msg-message-tools button{min-width:28px;min-height:28px}
}

.msg-device-notification-slot{flex:none;min-width:0}
.msg-device-notification-slot:empty,.msg-conversation-open .msg-sidebar [data-msg-notification-slot]{display:none}
.msg-device-warning{display:flex;align-items:center;gap:9px;padding:9px 13px;border-bottom:1px solid var(--msg-border);background:color-mix(in srgb,var(--msg-panel) 93%,#df9c30);color:var(--msg-ink)}
.msg-device-warning-icon{display:inline-flex;flex:none;color:#b47a21}
.msg-device-warning-icon svg{width:17px;height:17px}
.msg-device-warning-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;overflow-wrap:anywhere}
.msg-device-warning-copy strong{font-size:11px;font-weight:650;line-height:1.4;color:var(--msg-ink)}
.msg-device-warning-copy small{font-size:10px;line-height:1.4;color:var(--msg-muted)}
.msg-device-warning button{background:var(--msg-panel);border:1px solid var(--msg-border);color:var(--msg-accent);border-radius:16px;font:inherit;font-size:10px;font-weight:600;line-height:1.3;padding:7px 10px;flex:none;max-width:100px;min-height:32px}
.msg-device-warning button:disabled{opacity:.55}
.msg-device-warning button:focus-visible{outline:2px solid var(--msg-accent);outline-offset:2px}
@media(max-width:700px){.msg-device-warning{padding:8px 10px;gap:7px}.msg-device-warning-icon{display:none}.msg-device-warning-copy small{font-size:10px}.msg-device-warning button{min-height:36px;padding:7px 9px;max-width:88px}}

/* Weekly payroll handoffs retain a clear action without exposing a long URL. */
.msg-bubble .msg-workflow-action{display:flex;align-items:center;justify-content:center;gap:9px;width:fit-content;max-width:100%;min-height:44px;margin-top:14px;padding:10px 16px;border:1px solid #b7afe4;border-radius:12px;background:#f4f1ff;color:#44338c;font-size:13px;font-weight:700;text-decoration:none;white-space:normal;box-sizing:border-box}
.msg-workflow-action svg{width:18px;height:18px;flex:0 0 auto}
.msg-bubble .msg-workflow-action:hover{background:#e9e1ff;text-decoration:none}
.msg-bubble .msg-workflow-action:focus-visible{outline:3px solid #8b73dc;outline-offset:3px}
:root[data-qps-theme="dark"] .msg-bubble .msg-workflow-action,:root[data-qps-theme="black"] .msg-bubble .msg-workflow-action{background:#3c3557;border-color:#74639a;color:#f0eaff}
.msg-message.is-own .msg-bubble .msg-workflow-action{background:#fff;color:#44338c;border-color:#e7ddff}
