/* chatdrawer 2026-10-16: floating chat bubble (stacked above the Q Bot bubble) + slide-out chat drawer. Kill switch: meta flag_chat_drawer */
body.cd-on main.page{padding-bottom:144px}
#cd-bubble{position:fixed;right:18px;bottom:82px;z-index:905;width:52px;height:52px;border-radius:50%;background:#0f766e;color:#fff;display:grid;place-items:center;box-shadow:0 6px 18px rgba(16,24,40,.28);text-decoration:none;border:0;cursor:pointer;box-sizing:border-box}
#cd-bubble:hover{background:#115e59}#cd-bubble:focus-visible{outline:3px solid #1d4ed8;outline-offset:2px}
#cd-bubble svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
#cd-n{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;background:#d92d20;color:#fff;font:700 11px/18px system-ui,sans-serif;text-align:center;border:2px solid #fff;box-sizing:content-box;pointer-events:none}
#cd-n[hidden]{display:none}
body:has(#qb-root.open) #cd-bubble,body.cd-open #cd-bubble{visibility:hidden}
body.cd-on #mn-ask{bottom:146px}
#cd-scrim{position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:1990}
#cd-scrim[hidden]{display:none}
#cd-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:100vw;z-index:2000;background:#fff;box-shadow:-12px 0 32px rgba(16,24,40,.22);display:flex;flex-direction:column;font-size:14px;transform:translateX(0);transition:transform .18s ease-out;box-sizing:border-box;color:#101828}
#cd-drawer[hidden]{display:none}
#cd-drawer *{box-sizing:border-box}
#cd-drawer [hidden]{display:none!important}
.cd-h{display:flex;align-items:center;gap:8px;padding:10px 10px 10px 14px;background:#0f766e;color:#fff;min-height:50px}
.cd-h b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}
.cd-h a,.cd-h button{color:#fff;background:none;border:0;font-size:18px;line-height:1;cursor:pointer;text-decoration:none;padding:6px 8px;border-radius:6px;min-width:34px;min-height:34px;display:inline-grid;place-items:center}
.cd-h a:hover,.cd-h button:hover{background:rgba(255,255,255,.18)}
.cd-view{flex:1;min-height:0;display:flex;flex-direction:column}
.cd-view[hidden]{display:none}
.cd-search{padding:10px 12px 6px}
.cd-search input{width:100%;border:1px solid #d0d5dd;border-radius:8px;padding:8px 10px;font:inherit}
.cd-tabs{display:flex;gap:6px;padding:4px 12px 8px;border-bottom:1px solid #eaecf0}
.cd-tabs button{border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:4px 12px;font:600 12.5px system-ui,sans-serif;cursor:pointer;color:#344054}
.cd-tabs button.on{background:#0f766e;border-color:#0f766e;color:#fff}
.cd-list{flex:1;overflow-y:auto;overscroll-behavior:contain}
.cd-sec{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#667085;padding:10px 14px 4px}
.cd-it{display:flex;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid #f2f4f7;padding:9px 14px;cursor:pointer;font:inherit;color:inherit;text-decoration:none}
.cd-it:hover,.cd-it:focus-visible,.cd-it.sel{background:#f0fdfa;outline:none}
.cd-av{flex:none;width:34px;height:34px;border-radius:50%;background:#475467;color:#fff;font:700 13px/34px system-ui,sans-serif;text-align:center}
.cd-av.ch{background:#0f766e}.cd-av.en{background:#7c3aed}
.cd-tx{flex:1;min-width:0}.cd-tx b,.cd-tx span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cd-tx span{font-size:12.5px;color:#667085}.cd-it.unread .cd-tx b{font-weight:800}
.cd-meta{flex:none;text-align:right;font-size:11px;color:#98a2b3}
.cd-cnt{display:inline-block;margin-top:3px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d92d20;color:#fff;font:700 11px/18px system-ui,sans-serif;text-align:center}
.cd-empty{padding:16px 14px;color:#667085;font-size:13px}
.cd-foot{border-top:1px solid #eaecf0;padding:8px 12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:12.5px}
.cd-foot .btn{font-size:12.5px}.cd-foot .cd-pst{color:#667085}
.cd-log{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:10px;display:flex;flex-direction:column;gap:6px;background:#f8fafc}
.cd-m{max-width:82%;align-self:flex-start;background:#fff;border:1px solid #e4e7ec;border-radius:14px 14px 14px 4px;padding:6px 10px;line-height:1.4;overflow-wrap:anywhere}
.cd-m b{display:block;font-size:12px;color:#475467}.cd-m small{display:block;font-size:10.5px;color:#98a2b3;margin-top:2px}
.cd-m.me{align-self:flex-end;background:#0f766e;color:#fff;border-color:#0f766e;border-radius:14px 14px 4px 14px}.cd-m.me small{color:#ccfbf1}.cd-m.me a{color:#fff}
.cd-m .mn{background:#fef3c7;color:#92400e;border-radius:4px;padding:0 2px}.cd-m.me .mn{background:rgba(255,255,255,.25);color:#fff}
.cd-seen{align-self:flex-end;font-size:11px;color:#667085;margin:-2px 2px 2px;max-width:90%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cd-typing{min-height:20px;padding:0 12px;font-size:12px;color:#667085;font-style:italic;background:#f8fafc}
.cd-form{display:flex;gap:6px;padding:8px;border-top:1px solid #e4e7ec;margin:0;position:relative}
.cd-form textarea{flex:1;resize:none;border:1px solid #d0d5dd;border-radius:16px;padding:8px 12px;font:inherit;max-height:110px;min-height:38px}
.cd-err{color:#b42318;font-size:12px;margin:0}
.cd-mac{position:absolute;left:8px;right:8px;bottom:100%;background:#fff;border:1px solid #d0d5dd;border-radius:10px;box-shadow:0 8px 24px rgba(16,24,40,.18);max-height:220px;overflow-y:auto;z-index:2}
.cd-mac[hidden]{display:none}
.cd-mo{display:block;width:100%;text-align:left;border:0;background:none;padding:7px 10px;font:inherit;cursor:pointer}
.cd-mo span{color:#667085;font-size:12px;margin-left:4px}.cd-mo.sel,.cd-mo:hover{background:#f0fdfa}
@media(max-width:640px){#cd-bubble{right:12px;bottom:66px;width:46px;height:46px}#cd-bubble.cd-onmsg{display:none}#cd-bubble svg{width:21px;height:21px}
 #cd-drawer{width:100vw}body.cd-on #mn-ask{bottom:120px}body.cd-open,html:has(body.cd-open){overflow:hidden}}
@media(prefers-reduced-motion:reduce){#cd-drawer{transition:none}}
@media print{#cd-bubble,#cd-drawer,#cd-scrim{display:none!important}}
/* fab 2026-10-16 (Michael: hide-on-scroll): chat + Q Bot bubbles fade out while scrolling down, return on scroll up / 1 s idle.
   Desktop: a right gutter keeps page content (incl. sticky table columns) out of the bubble column. Phones: fab.js lifts the
   bubbles (--fab-lift) to a spot that covers no control or sticky element once scrolling stops. */
#cd-bubble,#qb-root{transition:opacity .18s ease,transform .18s ease}
body.fab-hide #cd-bubble,body.fab-hide #qb-root:not(.open){opacity:0;pointer-events:none}
body.cd-on #cd-bubble{transform:translateY(calc(-1 * var(--fab-lift,0px)))}
body.cd-on #qb-root:not(.open){transform:translateY(calc(-1 * var(--fab-lift,0px)))}
@media(min-width:861px){body.cd-on main.page{padding-right:max(var(--gut,24px),80px)}body.cd-on .site-footer .sf-in{padding-right:max(var(--gut,24px),80px)}}
body.fab-dock #cd-bubble,body.fab-dock #qb-root:not(.open){right:0!important;transform:translate(calc(100% - 12px),calc(-1 * var(--fab-lift,0px)))!important;opacity:.9}
body.fab-dock #cd-bubble::after,body.fab-dock #qb-bubble::after{content:"";position:absolute;inset:0}
/* emptab 2026-10-16: shared people picker (department chips, then Employees) */
.qp{display:flex;flex-direction:column;gap:6px;min-width:0}
.qp-q{width:100%;box-sizing:border-box}
.qp-chips{display:flex;flex-wrap:wrap;gap:5px;min-width:0}
.qp-chip{border:1px solid #d0d5dd;background:#fff;border-radius:999px;padding:3px 10px;font:600 12px system-ui,sans-serif;cursor:pointer;color:#344054;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qp-chip.on{background:#0f766e;border-color:#0f766e;color:#fff}
.qp-list{display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;min-height:0}
.qp-it{display:flex;align-items:center;gap:9px;padding:6px 8px;border:0;background:none;text-align:left;cursor:pointer;border-radius:8px;width:100%;min-width:0;font:inherit;color:inherit}
.qp-it:hover,.qp-it:focus-visible,.qp-it.sel{background:#f2f4f7}
.qp-it[disabled]{cursor:default;opacity:.6}
.qp-av{flex:0 0 30px;height:30px;border-radius:50%;background:#e0f2f1;color:#0f766e;display:flex;align-items:center;justify-content:center;font:700 11.5px system-ui,sans-serif}
.qp-tx{display:flex;flex-direction:column;min-width:0}
.qp-tx b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qp-tx span{font-size:12px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.qp-empty{color:#667085;font-size:13px;margin:8px}
#cd-drawer .qp{padding:8px 12px;flex:1;min-height:0}
.mpeople{margin:0 8px 6px;border:1px solid #eaecf0;border-radius:10px;padding:6px 8px}
.mpeople>summary{cursor:pointer;font-weight:600;font-size:13px}
.mpeople .qp-list{max-height:340px}
/* messenger-ux 2026-10-29 (Michael approved): Messenger-style chat list: preview line, relative time, blue unread dot + count, pin / mute, right-click menu */
.cd-it{align-items:center;padding:8px 12px}
.cd-av{width:40px;height:40px;font:700 14px/40px system-ui,sans-serif}
.cd-tx b{font-weight:600;color:#101828}.cd-tx span{color:#667085}
.cd-it.unread .cd-tx b{font-weight:800}.cd-it.unread .cd-tx span{color:#101828;font-weight:600}
.cd-it.muted .cd-tx b{color:#475467}
.cd-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:44px}
.cd-it.unread .cd-when{color:#0866ff;font-weight:700}
.cd-flags{display:flex;align-items:center;gap:4px;min-height:18px}
.cd-pin,.cd-mute{font-size:11px;opacity:.75}
.cd-cnt{margin-top:0;background:#0866ff}
.cd-cnt.grey{background:#98a2b3}
.cd-dot{width:10px;height:10px;border-radius:50%;background:#0866ff;flex:none}
.cd-it.pinned{background:#f8fafc}
.cd-it.pinned:hover,.cd-it.pinned.sel{background:#f0fdfa}
.cd-h #cd-newh{font-size:17px}
.cd-nmh{display:flex;align-items:center;gap:10px;padding:2px 12px 8px;border-bottom:1px solid #eaecf0}
.cd-nmh button{border:0;background:none;color:#0f766e;font:600 13px system-ui,sans-serif;cursor:pointer;padding:4px 0}
.cd-nmh b{font-size:13.5px}
.cd-tabs[hidden],.cd-nmh[hidden]{display:none!important}
.cd-ctx{position:absolute;z-index:5;min-width:180px;background:#fff;border:1px solid #e4e7ec;border-radius:10px;box-shadow:0 12px 32px rgba(16,24,40,.22);padding:4px;display:flex;flex-direction:column}
.cd-ctx button{display:block;width:100%;text-align:left;border:0;background:none;padding:8px 10px;border-radius:6px;font:500 13.5px system-ui,sans-serif;color:#101828;cursor:pointer}
.cd-ctx button:hover,.cd-ctx button:focus-visible{background:#f2f4f7;outline:none}
/* Messages page list, same look */
.mc .mt{order:1}.mc .mwhen{order:2;flex:none;font-size:11px;color:#98a2b3;margin-left:6px}.mc .badge{order:3;margin-left:6px}.mc .ml{order:4}
.mc.unread .mt{font-weight:800}.mc.unread .ml{color:#101828!important;font-weight:600}.mc.unread .mwhen{color:#0866ff;font-weight:700}
.mc .badge.blue{background:#0866ff;color:#fff}.mc .badge.grey{background:#98a2b3;color:#fff}
.mc .mflag{font-size:11px;opacity:.75;margin-left:4px}

/* splittabs 2026-10-30: Direct / Groups segmented tabs with per-tab unread counts (Messenger style) */
.cd-tabs{gap:4px}.cd-tabs button{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;font-size:13px}
.cd-tabs button:not(.on){background:#f2f4f7;border-color:#f2f4f7}.cd-tabs button:not(.on):hover{background:#e4e7ec}
.cd-tn{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#1877f2;color:#fff;font:700 11px/18px system-ui,sans-serif;text-align:center}.cd-tabs button.on .cd-tn{background:#fff;color:#0f766e}.cd-tn[hidden]{display:none}
