/* QChat groups R7: share DM layout, no crypto policy in CSS. */
#qcgPanel{height:100%;min-height:420px}
#qcgPanel .qcg-layout{display:grid;grid-template-columns:minmax(235px,25%) minmax(0,1fr);height:100%;gap:0}
#qcgPanel .qcg-sidebar,#qcgPanel .qcg-main{border:0;border-right:1px solid var(--bs-border-color,#dfe3e8);border-radius:0;display:flex;flex-direction:column;min-width:0;overflow:hidden;background:var(--bs-body-bg,#fff)}
#qcgPanel .qcg-sidebar-head,#qcgPanel .qcg-main-head{padding:12px;border-bottom:1px solid var(--bs-border-color,#e0e0e0);display:flex;align-items:center;gap:10px}
#qcgPanel .qcg-sidebar-head strong{flex:1}
#qcgPanel .qcg-search{padding:9px;border-bottom:1px solid var(--bs-border-color,#eee)}
#qcgList{overflow:auto;flex:1;min-height:150px}
#qcgPanel .qcg-row{width:100%;border:0;border-bottom:1px solid var(--bs-border-color,#e4e4e4);display:flex;align-items:center;text-align:left;gap:10px;padding:12px;background:transparent;color:inherit;cursor:pointer}
#qcgPanel .qcg-row:hover,#qcgPanel .qcg-row.qcg-selected{background:rgba(13,110,253,.09)}
#qcgPanel .qcg-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;width:42px;height:42px;flex:0 0 42px;background:#e8eef8;color:#26548c;font-weight:700;overflow:hidden}
#qcgPanel .qcg-avatar img{width:100%;height:100%;object-fit:cover}
#qcgPanel .qcg-row-body{display:flex;flex-direction:column;overflow:hidden;gap:3px}
#qcgPanel .qcg-row-body strong,#qcgPanel .qcg-row-body small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#qcgPanel .qcg-row-body small{color:var(--bs-secondary-color,#777)}
#qcgPanel .qcg-main-body{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:25px;gap:12px}
#qcgPanel .qcg-main-foot{padding:14px;border-top:1px solid var(--bs-border-color,#e4e4e4);opacity:.8}
#qcgDialog{width:min(520px,calc(100vw - 24px));max-height:90vh;overflow:auto;padding:0;border:1px solid var(--bs-border-color,#dedede);border-radius:12px;background:var(--bs-body-bg,#fff);color:var(--bs-body-color,#202020);box-shadow:0 14px 45px #0005}
#qcgDialog::backdrop{background:rgba(0,0,0,.45)}
#qcgDialog form{padding:20px;display:flex;flex-direction:column;gap:11px}
#qcgDialog .qcg-friend-list{border:1px solid var(--bs-border-color,#ddd);border-radius:8px;max-height:170px;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:8px}
#qcgDialog .qcg-friend{display:flex;align-items:center;gap:9px;cursor:pointer}
#qcgDialog .qcg-avatar-edit{display:flex;align-items:center;gap:12px}
#qcgDialog #qcgAvatarPreview{width:60px;height:60px;flex:0 0 60px;border-radius:50%;display:grid;place-items:center;background:#e8eef8;color:#26548c;overflow:hidden;font-weight:700}
#qcgDialog #qcgAvatarPreview img{height:100%;width:100%;object-fit:cover}
#qcgInvitationActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
#qcgPanel #qcgBack{display:none}
#qcgPanel .qcg-main-head>div{min-width:0}
#qcgPanel .qcg-main-head strong,#qcgPanel .qcg-main-head .small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:720px){
 #qcgPanel{height:min(100%,calc(100dvh - 140px));min-height:330px}
 #qcgPanel .qcg-layout{display:block;height:100%;min-height:330px}
 #qcgPanel .qcg-sidebar,#qcgPanel .qcg-main{height:100%;border-radius:0}
 #qcgPanel .qcg-main{display:none}
 #qcgPanel.qcg-show-detail .qcg-sidebar{display:none}
 #qcgPanel.qcg-show-detail .qcg-main{display:flex}
 #qcgPanel.qcg-show-detail #qcgBack{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:40px}
 #qcgPanel .qcg-sidebar-head{padding:10px 12px}
 #qcgPanel #qcgCreate{font-size:.84rem;padding:7px 9px;white-space:nowrap}
 #qcgPanel .qcg-main-head{padding:10px;gap:8px}
 #qcgPanel .qcg-main-body{min-height:0;overflow-y:auto;gap:10px}
 #qcgPanel .qcg-main-foot{padding:10px;font-size:.76rem}
 #qcgPanel #qcgInvitationActions{width:100%}
 #qcgPanel #qcgInvitationActions .btn{flex:1 1 130px;min-height:42px;white-space:normal}
 #qcgDialog{max-height:calc(100dvh - 20px)}
}


/* R8 — groups use the same text message lane and bubble geometry as QChat DM.
   chat2.css is not linked by production index.html; R7 incorrectly relied on it.
   This section scopes the DM-looking surfaces to groups only, without touching DM. */
#qcgPanel {
  --qcg-surface: #fff;
  --qcg-panel-border: #dee2e6;
  --qcg-bubble-sent: #e9f0f7;
  --qcg-bubble-received: #f2f3f5;
  --qcg-bubble-text: #203146;
  --qcg-bubble-header: #263446;
  --qcg-bubble-time: #6c757d;
  --qcg-hover: rgba(13,110,253,.10);
}
/* QChat's dark theme is body.dark-theme; its automatic mode uses auto-theme. */
body.dark-theme #qcgPanel {
  --qcg-surface: #0d1117;
  --qcg-panel-border: #30363d;
  --qcg-bubble-sent: linear-gradient(135deg, rgba(30,45,77,.84) 0%, rgba(25,38,67,.90) 100%);
  --qcg-bubble-received: linear-gradient(135deg,#21262d 0%,#30363d 100%);
  --qcg-bubble-text: #e6f0ff;
  --qcg-bubble-header: #c9d1d9;
  --qcg-bubble-time: #8b949e;
  --qcg-hover: #1f6feb;
}
@media (prefers-color-scheme: dark) {
  body.auto-theme #qcgPanel {
    --qcg-surface: #0d1117;
    --qcg-panel-border: #30363d;
    --qcg-bubble-sent: linear-gradient(135deg, rgba(30,45,77,.84) 0%, rgba(25,38,67,.90) 100%);
    --qcg-bubble-received: linear-gradient(135deg,#21262d 0%,#30363d 100%);
    --qcg-bubble-text: #e6f0ff;
    --qcg-bubble-header: #c9d1d9;
    --qcg-bubble-time: #8b949e;
    --qcg-hover: #1f6feb;
  }
}
#qcgPanel .qcg-sidebar,#qcgPanel .qcg-main{background:var(--qcg-surface);border-color:var(--qcg-panel-border)}
#qcgPanel .qcg-sidebar-head,#qcgPanel .qcg-main-head,#qcgPanel .qcg-search,#qcgPanel .qcg-row{border-color:var(--qcg-panel-border)}
#qcgPanel .qcg-row:hover,#qcgPanel .qcg-row.qcg-selected{background:var(--qcg-hover)}
#qcgPanel .qcg-main-head{min-height:50px;background:var(--qcg-surface);padding:9px 12px}
#qcgPanel .qcg-main-head>div{min-width:0;flex:1}
#qcgPanel .qcg-main-head #qcgManage,#qcgPanel .qcg-main-head #qcgEditOpen{flex:none;white-space:nowrap}
#qcgPanel .qcg-main-body{flex:0 0 auto;padding:10px 14px;min-height:0;gap:7px;justify-content:flex-start;align-items:stretch;text-align:left}
#qcgPanel .qcg-main-body>h5{display:none}
#qcgPanel.qcg-has-chat .qcg-main-body{display:none}
#qcgPanel .qcg-main-body #qcgDetails{margin:0}
#qcgPanel #qcgStatus:empty{display:none}
#qcgPanel #qcgMessages.qcg-messages.message-container{
  display:flex;flex-direction:column;flex:1 1 auto;height:auto;min-height:120px;
  overflow-y:auto;align-items:stretch;justify-content:flex-start;text-align:left;
  margin:0;padding:12px 14px;border-radius:0;background:var(--qcg-surface);gap:0;
}
#qcgPanel .qcg-message.message{
  display:block;flex:0 0 auto;width:100%;min-width:0;max-width:none;
  margin:0 0 8px;padding:0;border:0;background:transparent;box-shadow:none;
  white-space:normal;opacity:1;
}
/* DM uses 50% desktop lanes; bubble width follows content up to lane width. */
#qcgPanel .qcg-message.message>.d-flex{
  display:flex;width:fit-content!important;max-width:50%!important;min-width:0;
  flex-direction:row;align-items:flex-end!important;gap:8px;box-sizing:border-box;
  margin-left:0;margin-right:auto;justify-content:flex-start!important;
}
#qcgPanel .qcg-message.message.sent>.d-flex{
  flex-direction:row!important;justify-content:flex-end!important;margin-left:auto;margin-right:0;
}
#qcgPanel .qcg-message .message-bubble{
  flex:0 1 auto;box-sizing:border-box;min-width:0;max-width:100%;width:fit-content;
  border-radius:14px;padding:9px 12px;overflow-wrap:anywhere;
  transition:background .2s ease;
}
#qcgPanel .qcg-message.sent .message-bubble{
  background:var(--qcg-bubble-sent);color:var(--qcg-bubble-text);
  border:1px solid transparent;border-bottom-right-radius:6px;
}
#qcgPanel .qcg-message.received .message-bubble{
  background:var(--qcg-bubble-received);color:var(--qcg-bubble-text);
  border:1px solid transparent;border-bottom-left-radius:6px;
}
/* Dark QChat DM bubbles are rectangular in the shipped dark theme. */
body.dark-theme #qcgPanel .qcg-message .message-bubble{border-radius:0}
@media (prefers-color-scheme: dark){body.auto-theme #qcgPanel .qcg-message .message-bubble{border-radius:0}}
#qcgPanel .qcg-message .message-content-wrapper{min-width:0;max-width:100%}
#qcgPanel .qcg-message .message-header{
  margin-bottom:4px;font-size:13px;line-height:1.3;font-weight:700;
  color:var(--qcg-bubble-header);opacity:1;white-space:normal;
}
#qcgPanel .qcg-message .message-content{
  font-size:14px;line-height:1.4;white-space:pre-wrap;overflow-wrap:anywhere;
}
#qcgPanel .qcg-message .message-footer{justify-content:flex-end!important;margin-top:2px}
#qcgPanel .qcg-message .message-time{
  display:block;margin:0;font-size:12px;line-height:1.2;
  text-align:right;white-space:nowrap;color:var(--qcg-bubble-time);opacity:1;
}
#qcgPanel .qcg-message .qcg-avatar-in-message,
#qcgPanel .qcg-message .avatar-placeholder.qcg-avatar-in-message{
  width:48px!important;height:48px!important;flex:0 0 48px!important;
  border-radius:50%;object-fit:cover;align-self:flex-end;margin-bottom:0;
  font-size:14px!important;
}
#qcgPanel .qcg-message .avatar-placeholder.qcg-avatar-in-message{
  display:flex;align-items:center;justify-content:center;background:#dce7f3;color:#26548c;font-weight:700;
}
body.dark-theme #qcgPanel .qcg-message .avatar-placeholder.qcg-avatar-in-message{background:#23334b;color:#e6f0ff}
@media (prefers-color-scheme: dark){body.auto-theme #qcgPanel .qcg-message .avatar-placeholder.qcg-avatar-in-message{background:#23334b;color:#e6f0ff}}
#qcgPanel .qcg-message-pending .message-bubble{opacity:.65}
#qcgPanel #qcgMessageForm.qcg-composer.qchat-composer{
  display:flex;align-items:center;flex:0 0 auto;padding:8px;gap:8px;
  border-top:1px solid var(--qcg-panel-border);background:var(--qcg-surface);
}
#qcgPanel #qcgMessageText.qchat-message-textarea{resize:none;min-height:40px;max-height:120px;line-height:1.45;flex:1;border-radius:0}
#qcgPanel #qcgSend.qchat-send-action{align-self:stretch;min-height:40px;border-radius:0}
#qcgPanel .qcg-security-alert{padding:7px 12px;border-top:1px solid var(--qcg-panel-border);background:var(--qcg-surface);color:var(--qcg-bubble-time)}
#qcgPanel .qcg-security-alert[hidden]{display:none!important}
#qcgPanel .qcg-security-alert-error{color:var(--bs-danger,#dc3545)}
/* Dialogs are separate top-layer surfaces; theme variables must live on the dialogs. */
#qcgManageDialog,#qcgEditDialog{
  width:min(525px,calc(100vw - 20px));max-height:calc(100dvh - 24px);
  overflow:auto;padding:0;border:1px solid #dee2e6;border-radius:10px;
  background:#fff;color:#212529;box-shadow:0 14px 45px #0005;
}
body.dark-theme #qcgManageDialog,body.dark-theme #qcgEditDialog{
  background:#161b22;color:#c9d1d9;border-color:#30363d;color-scheme:dark;
}
@media (prefers-color-scheme: dark){body.auto-theme #qcgManageDialog,body.auto-theme #qcgEditDialog{background:#161b22;color:#c9d1d9;border-color:#30363d;color-scheme:dark}}
#qcgManageDialog::backdrop,#qcgEditDialog::backdrop{background:#0008}
#qcgManageDialog .qcg-manage-content,#qcgEditDialog .qcg-manage-content{padding:18px;display:flex;flex-direction:column;gap:12px}
#qcgManageDialog .qcg-member-list{max-height:55dvh;overflow:auto;display:flex;flex-direction:column}
#qcgManageDialog .qcg-member-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid #dee2e6}
body.dark-theme #qcgManageDialog .qcg-member-row{border-color:#30363d}
#qcgManageDialog #qcgManageError:empty,#qcgEditDialog #qcgEditError:empty{display:none}
#qcgManageDialog .qcg-member-info{flex:1;min-width:0}
#qcgManageDialog .qcg-member-name{font-weight:600;overflow-wrap:anywhere}
#qcgManageDialog .qcg-member-info small{display:block}
#qcgEditDialog .qcg-edit-form{display:flex;flex-direction:column;gap:10px}
#qcgEditDialog .qcg-edit-form>.form-label{display:flex;flex-direction:column;gap:5px;margin:0;width:100%}
#qcgEditDialog .qcg-manage-actions{padding-top:12px;border-top:1px solid #dee2e6}
body.dark-theme #qcgEditDialog .qcg-manage-actions{border-color:#30363d}
#qcgEditDialog .qcg-manage-buttons{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#qcgEditDialog .qcg-avatar-edit{display:flex;align-items:center;gap:12px}
#qcgEditDialog .qcg-avatar-edit .qcg-avatar{display:grid;place-items:center;width:64px;height:64px;flex:0 0 64px;border-radius:50%;overflow:hidden;background:#e8eef8;color:#26548c}
#qcgEditDialog .qcg-avatar-edit .qcg-avatar img{width:100%;height:100%;object-fit:cover}
#qcgEditDialog .qcg-avatar-edit label{min-width:0;margin:0}
#qcgEditDialog .qcg-avatar-edit input{width:100%;min-width:0}
body.dark-theme #qcgEditDialog .qcg-avatar-edit .qcg-avatar{background:#23334b;color:#e6f0ff}
@media(max-width:720px){
  #qcgPanel .qcg-main-head .qcg-manage-label,#qcgPanel .qcg-main-head .qcg-edit-label{display:none}
  #qcgPanel #qcgMessages.qcg-messages.message-container{padding:10px}
  #qcgPanel .qcg-message.message>.d-flex{max-width:100%!important;width:100%!important;gap:6px}
  #qcgPanel .qcg-message .message-bubble{max-width:calc(100% - 38px)}
  #qcgPanel .qcg-message .qcg-avatar-in-message,#qcgPanel .qcg-message .avatar-placeholder.qcg-avatar-in-message{width:30px!important;height:30px!important;flex-basis:30px!important}
  #qcgPanel #qcgSend.qchat-send-action{padding:6px 12px}
  #qcgManageDialog .qcg-manage-content,#qcgEditDialog .qcg-manage-content{padding:14px;gap:10px}
  #qcgManageDialog .qcg-member-list{max-height:65dvh}
}


/* R9: match QChat DM scale instead of the intentionally small R8 labels. */
#qcgPanel .qcg-row{padding:12px 15px;min-height:82px;gap:10px}
#qcgPanel .qcg-row .qcg-avatar{width:50px;height:50px;flex-basis:50px;box-shadow:0 2px 8px rgba(0,0,0,.12)}
#qcgPanel .qcg-row-body strong{font-size:14px;line-height:1.3}
#qcgPanel .qcg-row-body small{font-size:13px;line-height:1.3}
#qcgPanel .qcg-main-head>.qcg-avatar{width:44px;height:44px;flex-basis:44px}
#qcgPanel .qcg-message.message{margin-bottom:8px}
#qcgPanel .qcg-message .message-bubble{padding:8px 12px}
#qcgPanel .qcg-message .message-header{margin-bottom:4px}
#qcgPanel .qcg-message .message-footer{margin-top:4px}
#qcgPanel .qcg-message .qcg-message-profile,
#qcgManageDialog .qcg-member-name.profile-link{
  color:inherit;text-decoration:none;font-weight:700;
}
#qcgPanel .qcg-message .qcg-message-profile:hover,
#qcgManageDialog .qcg-member-name.profile-link:hover{text-decoration:underline}
#qcgPanel .qcg-message .qcg-message-profile:focus-visible,
#qcgManageDialog .qcg-member-name.profile-link:focus-visible{outline:2px solid #0d6efd;outline-offset:2px}
#qcgEditDialog .qcg-text-save{margin-top:0}
#qcgEditDialog .qcg-avatar-settings{border-top:1px solid #dee2e6;padding-top:12px}
#qcgEditDialog .qcg-avatar-edit{justify-content:flex-start}
body.dark-theme #qcgEditDialog .qcg-avatar-settings{border-color:#30363d}
@media(prefers-color-scheme:dark){body.auto-theme #qcgEditDialog .qcg-avatar-settings{border-color:#30363d}}
#qcgAvatarDialog{width:min(750px,calc(100vw - 20px));max-height:calc(100dvh - 20px);overflow:auto;padding:0;border:1px solid #dee2e6;border-radius:10px;background:#fff;color:#212529;box-shadow:0 14px 45px #0005}
#qcgAvatarDialog::backdrop{background:#0008}
#qcgAvatarDialog .qcg-crop-dialog-content{display:flex;flex-direction:column}
#qcgAvatarDialog .qcg-crop-dialog-head,#qcgAvatarDialog .qcg-crop-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid #dee2e6}
#qcgAvatarDialog .qcg-crop-dialog-foot{border-top:1px solid #dee2e6;border-bottom:0;flex-wrap:wrap}
#qcgAvatarDialog .qcg-crop-foot-actions{display:flex;gap:8px;flex-wrap:wrap}
#qcgAvatarDialog .qcg-crop-dialog-body{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
#qcgAvatarDialog .qcg-crop-container{display:grid;place-items:center;min-height:270px;background:#f7f8fa;border:1px solid #dee2e6;padding:8px;overflow:hidden}
#qcgAvatarDialog #qcgCropImage{max-width:100%;max-height:280px;object-fit:contain}
#qcgAvatarDialog .qchat-native-cropper-stage{max-width:300px}
#qcgAvatarDialog .qcg-crop-controls{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
#qcgAvatarDialog .qcg-crop-dialog-body .form-label{margin-bottom:0;display:flex;flex-direction:column;gap:6px}
#qcgAvatarDialog #qcgCropError:empty{display:none}
body.dark-theme #qcgAvatarDialog{background:#161b22;color:#c9d1d9;border-color:#30363d;color-scheme:dark}
body.dark-theme #qcgAvatarDialog .qcg-crop-container{background:#0d1117;border-color:#30363d}
body.dark-theme #qcgAvatarDialog .qcg-crop-dialog-head,body.dark-theme #qcgAvatarDialog .qcg-crop-dialog-foot{border-color:#30363d}
@media(prefers-color-scheme:dark){
 body.auto-theme #qcgAvatarDialog{background:#161b22;color:#c9d1d9;border-color:#30363d;color-scheme:dark}
 body.auto-theme #qcgAvatarDialog .qcg-crop-container{background:#0d1117;border-color:#30363d}
 body.auto-theme #qcgAvatarDialog .qcg-crop-dialog-head,body.auto-theme #qcgAvatarDialog .qcg-crop-dialog-foot{border-color:#30363d}
}
@media(max-width:720px){
 #qcgPanel .qcg-row{padding:10px 12px;min-height:70px}
 #qcgPanel .qcg-row .qcg-avatar{width:44px;height:44px;flex-basis:44px}
 #qcgPanel .qcg-message .qcg-avatar-in-message,#qcgPanel .qcg-message .avatar-placeholder.qcg-avatar-in-message{width:36px!important;height:36px!important;flex-basis:36px!important}
 #qcgPanel .qcg-message .message-bubble{max-width:calc(100% - 44px)}
 #qcgAvatarDialog .qcg-crop-dialog-body{padding:10px}
 #qcgAvatarDialog .qcg-crop-container{min-height:220px}
 #qcgAvatarDialog .qcg-crop-dialog-head,#qcgAvatarDialog .qcg-crop-dialog-foot{padding:10px}
}

body.dark-theme #qcgAvatarDialog .btn-close{filter:invert(1) grayscale(100%)}
@media(prefers-color-scheme:dark){body.auto-theme #qcgAvatarDialog .btn-close{filter:invert(1) grayscale(100%)}}

/* R10: Sender Keys text context actions are separate from DM actions. */
#qcgPanel .qcg-context-menu[hidden],#qcgPanel .qcg-reply-preview[hidden]{display:none!important}
#qcgPanel .qcg-context-menu{position:fixed;z-index:1200;min-width:185px;background:#fff;color:#212529;border:1px solid #d9dfe6;border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.16);padding:5px;display:flex;flex-direction:column}
#qcgPanel .qcg-context-menu button{border:0;background:transparent;color:inherit;padding:9px 12px;text-align:left;border-radius:5px;font-size:14px}
#qcgPanel .qcg-context-menu button:hover,#qcgPanel .qcg-context-menu button:focus-visible{background:#ebf2fa}
#qcgPanel .qcg-reply-preview{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #d9dfe6;background:#f5f7fa}
#qcgPanel .qcg-reply-summary{min-width:0;display:flex;flex-direction:column;gap:2px;font-size:13px;border-left:3px solid #0d6efd;padding-left:9px}
#qcgPanel #qcgReplyText{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:min(68vw,620px)}
.qcg-copy-helper{position:fixed;left:-10000px;top:0;width:1px;height:1px;opacity:0}
body.dark-theme #qcgPanel .qcg-context-menu{background:#1b222b;color:#e9edf4;border-color:#394454;box-shadow:0 8px 24px rgba(0,0,0,.5)}
body.dark-theme #qcgPanel .qcg-context-menu button:hover,body.dark-theme #qcgPanel .qcg-context-menu button:focus-visible{background:#303b4b}
body.dark-theme #qcgPanel .qcg-reply-preview{background:#19212b;color:#e9edf4;border-color:#394454}
@media(prefers-color-scheme:dark){body.auto-theme #qcgPanel .qcg-context-menu{background:#1b222b;color:#e9edf4;border-color:#394454}body.auto-theme #qcgPanel .qcg-context-menu button:hover,body.auto-theme #qcgPanel .qcg-context-menu button:focus-visible{background:#303b4b}body.auto-theme #qcgPanel .qcg-reply-preview{background:#19212b;color:#e9edf4;border-color:#394454}}
@media(max-width:720px){#qcgPanel .qcg-context-menu{min-width:160px}#qcgPanel .qcg-reply-preview{padding:6px 10px}}

/* R11: match DM context/action geometry and the in-message reply card. */
#qcgPanel .qcg-context-menu{min-width:195px;padding:6px 0;border-radius:8px;box-shadow:0 7px 21px #0003}
#qcgPanel .qcg-context-menu .context-menu-item{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:9px 15px;border-radius:0;font-size:14px;line-height:1.4}
#qcgPanel .qcg-context-menu .context-menu-item i{width:17px;flex:0 0 17px;text-align:center}
#qcgPanel .qcg-message .qcg-inline-reply{margin:0 0 5px;padding:6px 8px;max-width:100%;overflow:hidden;border-radius:6px;cursor:default}
#qcgPanel .qcg-message .qcg-inline-reply .reply-preview-content{display:flex;align-items:stretch;min-width:0;gap:8px}
#qcgPanel .qcg-message .qcg-inline-reply .reply-preview-accent{width:3px;flex:0 0 3px;border-radius:2px;background:#387de8}
#qcgPanel .qcg-message .qcg-inline-reply .reply-preview-inner{min-width:0;flex:1;font-size:12px}
#qcgPanel .qcg-message .qcg-inline-reply .reply-preview-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#qcgPanel .qcg-message .qcg-inline-reply .reply-preview-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}
body.dark-theme #qcgPanel .qcg-message .qcg-inline-reply{background:#202936;color:#d6deeb}
@media(prefers-color-scheme:dark){body.auto-theme #qcgPanel .qcg-message .qcg-inline-reply{background:#202936;color:#d6deeb}}

/* R12: discovery and explicit visibility, both theme-aware and scoped. */
#qcgPanel .qcg-discovery{flex:0 1 auto;min-height:0;max-height:45%;overflow-y:auto;border-top:1px solid var(--qcg-panel-border);padding:9px 0}
#qcgPanel .qcg-discovery[hidden],#qcgJoinRequestsSection[hidden]{display:none!important}
#qcgPanel .qcg-discovery>strong{display:block;font-size:13px;padding:4px 12px 9px}
#qcgPanel .qcg-public-row{display:flex;align-items:center;gap:9px;padding:9px 12px;border-bottom:1px solid var(--qcg-panel-border);min-width:0}
#qcgPanel .qcg-public-row .qcg-avatar{width:36px;height:36px;flex-basis:36px}
#qcgPanel .qcg-public-info{display:flex;flex:1;flex-direction:column;min-width:0}
#qcgPanel .qcg-public-info strong,#qcgPanel .qcg-public-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#qcgPanel .qcg-public-row .btn{flex:none}
#qcgEditDialog .qcg-visibility-settings{border-top:1px solid var(--bs-border-color,#dee2e6);padding-top:12px}
#qcgEditDialog .qcg-visibility-choice,#qcgDialog .qcg-visibility-choice{display:flex;align-items:center;gap:8px;cursor:pointer}
#qcgEditDialog #qcgVisibilityStatus:empty{display:none}
#qcgManageDialog .qcg-request-section{border-top:1px solid var(--bs-border-color,#dee2e6);padding-top:12px}
#qcgManageDialog .qcg-request-section h6{font-weight:600}
@media(max-width:720px){#qcgPanel .qcg-discovery{max-height:46%}#qcgPanel .qcg-public-row{flex-wrap:wrap}}

/* R13: participant directory rows follow QChat's forward/contact list. */
#qcgManageDialog .qcg-invite-section{border-bottom:1px solid var(--bs-border-color,#dee2e6);padding-bottom:12px}
#qcgManageDialog .qcg-member-list{max-height:44dvh;overflow:auto}
#qcgManageDialog .qcg-invite-results{max-height:220px}
#qcgManageDialog .qcg-member-row{min-height:58px;padding:8px 6px;gap:12px;transition:background-color .15s ease}
#qcgManageDialog .qcg-member-row:hover{background:rgba(80,120,170,.07)}
#qcgManageDialog .qcg-person-avatar{display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#e5edf8;color:#1265c9;font-weight:700;overflow:hidden}
#qcgManageDialog .qcg-person-avatar img{width:100%;height:100%;object-fit:cover}
#qcgManageDialog .qcg-member-info{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
#qcgManageDialog .qcg-member-info small{font-size:12px;line-height:1.3;overflow-wrap:anywhere}
#qcgManageDialog .qcg-member-name{font-size:14px}
#qcgManageDialog .qcg-member-row .btn{flex:0 0 auto}
body.dark-theme #qcgManageDialog .qcg-person-avatar{background:#25354c;color:#c5dfff}
body.dark-theme #qcgManageDialog .qcg-member-row:hover{background:#223047}
@media(prefers-color-scheme:dark){body.auto-theme #qcgManageDialog .qcg-person-avatar{background:#25354c;color:#c5dfff}body.auto-theme #qcgManageDialog .qcg-member-row:hover{background:#223047}}
@media(max-width:500px){#qcgManageDialog .qcg-person-avatar{width:32px;height:32px;flex-basis:32px}#qcgManageDialog .qcg-member-row{gap:8px}#qcgManageDialog .qcg-member-row .btn{padding:5px 8px;font-size:12px}}

/* R14: one scrollable result lane; discovery is not stuck to the bottom. */
#qcgPanel .qcg-directory-lane{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}
#qcgPanel #qcgList{flex:none;min-height:0;overflow:visible}
#qcgPanel .qcg-list-heading,#qcgPanel .qcg-discovery>strong{font-size:13px;font-weight:700;padding:10px 12px 7px;display:block;background:var(--qcg-surface);border-bottom:1px solid var(--qcg-panel-border)}
#qcgPanel .qcg-discovery{flex:0 0 auto;max-height:none!important;overflow:visible!important;position:static!important;bottom:auto!important;border-top:1px solid var(--qcg-panel-border)}
#qcgPanel .qcg-discovery[hidden]{display:none!important}
#qcgPanel .qcg-public-row{align-items:center;flex-wrap:wrap;position:relative}
#qcgPanel .qcg-public-row .qcg-join-status{width:100%;margin-left:45px}
#qcgPanel .qcg-public-row .btn:disabled{opacity:.78}
#qcgManageDialog .qcg-directory-section{border-top:1px solid var(--bs-border-color,#dee2e6);padding-top:10px}
#qcgManageDialog .qcg-directory-section[hidden]{display:none}
#qcgManageDialog .qcg-directory-section h6{font-weight:600;margin:0 0 7px}
#qcgManageDialog .qcg-list-pager{display:flex;justify-content:center;padding:8px 0}
#qcgManageDialog .qcg-member-list{max-height:none;overflow:visible}
#qcgManageDialog .qcg-manage-content{max-height:min(88dvh,900px);overflow-y:auto}
#qcgDialog .qcg-create-people{display:flex;flex-direction:column;gap:8px}
#qcgDialog .qcg-create-results{max-height:210px;min-height:40px;overflow:auto;padding:0;display:block}
#qcgDialog .qcg-create-selected{max-height:160px;overflow:auto;padding:0;display:block}
#qcgDialog .qcg-create-person-row{display:flex;align-items:center;gap:11px;width:100%;min-height:48px;padding:7px 9px;border:0;border-bottom:1px solid var(--bs-border-color,#ddd);background:transparent;color:inherit;text-align:left}
#qcgDialog button.qcg-create-result:hover,#qcgDialog button.qcg-create-result[aria-pressed=true]{background:rgba(13,110,253,.08)}
#qcgDialog .qcg-create-person-row .qcg-person-avatar{width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#e5edf8;display:flex;align-items:center;justify-content:center;color:#1265c9;overflow:hidden}
#qcgDialog .qcg-create-person-row .qcg-person-avatar img{width:100%;height:100%;object-fit:cover}
#qcgDialog .qcg-create-person-row .qcg-member-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#qcgDialog .qcg-create-person-row .qcg-picker-mark{font-size:19px;color:var(--bs-primary,#0d6efd)}
#qcgDialog .qcg-selected-title{font-size:13px;font-weight:600;display:flex;justify-content:space-between}
#qcgDialog .qcg-create-person-row .btn{flex:0 0 auto}
.qcg-notification-section .qcg-notification-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--bs-border-color,#dee2e6)}
.qcg-notification-section .qcg-notification-row span{font-size:14px;overflow-wrap:anywhere}
body.dark-theme #qcgDialog .qcg-create-person-row .qcg-person-avatar{background:#25354c;color:#c5dfff}
body.dark-theme #qcgDialog button.qcg-create-result:hover,body.dark-theme #qcgDialog button.qcg-create-result[aria-pressed=true]{background:#223047}
@media(prefers-color-scheme:dark){body.auto-theme #qcgDialog .qcg-create-person-row .qcg-person-avatar{background:#25354c;color:#c5dfff}body.auto-theme #qcgDialog button.qcg-create-result:hover,body.auto-theme #qcgDialog button.qcg-create-result[aria-pressed=true]{background:#223047}}
@media(max-width:720px){#qcgPanel .qcg-directory-lane{height:auto}#qcgManageDialog .qcg-manage-content{max-height:90dvh}#qcgPanel .qcg-public-row .btn{margin-left:auto}}
/* R15: independent voluntary-leave action, aligned with participant dialog. */
#qcgManageDialog .qcg-leave-section{border-top:1px solid var(--bs-border-color,#dee2e6);padding-top:12px;margin-top:12px;display:flex;justify-content:flex-end}
#qcgManageDialog .qcg-leave-section[hidden]{display:none!important}
@media(max-width:520px){#qcgManageDialog .qcg-leave-section .btn{width:100%}}

/* R17: align group-list avatar geometry with 60px contacts. */
#qcgPanel .qcg-row .qcg-avatar{width:60px;height:60px;flex-basis:60px}
#qcgPanel .qcg-row{min-height:86px}
@media(max-width:720px){#qcgPanel .qcg-row .qcg-avatar{width:60px;height:60px;flex-basis:60px}#qcgPanel .qcg-row{min-height:78px}}
/* The retired History diagnostics panel is intentionally hidden, even under legacy settings styles. */
.settings-section[hidden]{display:none!important}
