/* Qingyu Chat 1.0.28 — contact list, transfer settlement, message stability */
/* The top section title and the alphabetically grouped friend list are separate flex rows.
   No fixed/sticky overlay may cover the first contact or alphabet heading. */
.side:has(> .section-meta + .contacts-list) {min-height:0!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.side:has(.contacts-list) .side-top{position:relative!important;inset:auto!important;flex:0 0 auto!important;z-index:1!important}
.side:has(.contacts-list) .section-meta{position:relative!important;inset:auto!important;display:flex!important;align-items:center!important;justify-content:space-between!important;flex:0 0 auto!important;width:100%!important;height:auto!important;min-height:43px!important;margin:0!important;padding:10px 17px!important;box-sizing:border-box!important;border:0!important;border-top:7px solid #f6f7fa!important;background:#fff!important;color:#7b899d!important;font-size:11px!important}
.side:has(.contacts-list) #side-list.contacts-list{position:relative!important;inset:auto!important;flex:1 1 0!important;min-height:0!important;max-height:none!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain!important;margin:0!important;padding:0 0 18px!important;scroll-padding-top:8px!important;z-index:0!important}
.side:has(.contacts-list) .qy-contact-directory{position:relative;min-height:0;padding-bottom:16px}.side:has(.contacts-list) .qy-contact-section{scroll-margin-top:8px}.side:has(.contacts-list) .qy-contact-letter{position:relative!important;top:auto!important;z-index:0!important;margin:0!important;min-height:27px;padding:6px 17px!important;background:#f6f8fb!important;border:0!important;font-size:11px!important;font-weight:700!important;line-height:16px!important}
.side:has(.contacts-list) .contact-item{display:flex!important;align-items:center!important;min-height:66px!important;box-sizing:border-box!important;padding:10px 17px!important;border:0!important;border-bottom:1px solid #f0f2f7!important;background:#fff!important;gap:12px!important;overflow:hidden!important}
.side:has(.contacts-list) .contact-item .contact-text{display:flex;flex:1;flex-direction:column;min-width:0;gap:4px}.side:has(.contacts-list) .contact-name{color:#22324e;font-size:13px;font-weight:680;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side:has(.contacts-list) .contact-text small{color:#9aa5b6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.side:has(.contacts-list) .section-meta{min-height:39px!important;padding:8px 16px!important}.side:has(.contacts-list) #side-list.contacts-list{padding-top:0!important}.side:has(.contacts-list) .mobile-contact-quick{margin:0!important}.side:has(.contacts-list) .contact-item{min-height:62px!important}.side:has(.contacts-list) .qy-contact-index{position:sticky!important;bottom:auto!important;right:0!important;top:8px!important;align-self:flex-end}}
/* Paid/received transfers are visibly dimmer, never the saturated pending orange.
   Both sender and recipient get the same settled state after server confirmation. */
.wallet-chat-card.transfer-card.completed,
.wallet-chat-card.transfer-card.completed .transfer-card-body{background:#aa8d71!important;color:#fff!important}
.wallet-chat-card.transfer-card.completed .transfer-card-state{background:#ffffff16!important;color:#fff!important;border-color:#ffffff28!important}
.wallet-chat-card.transfer-card.completed .transfer-card-symbol{opacity:.78!important}
.wallet-chat-card.transfer-card.completed .transfer-card-text b,
.wallet-chat-card.transfer-card.completed .transfer-card-text small{color:#fff!important;opacity:.85!important}
.wallet-chat-card.transfer-card.completed .transfer-card-footer{background:#f6f4f1!important;border-color:#e6dfd6!important}
/* Under the chat title, direct messages have no redundant subheading. */
.chat-header .chat-who>div>div:empty{display:none!important}
/* Reconciled messages should never animate vertically on official-account polling. */
#chat-items .message-line{animation:none!important;transition:none!important;transform:none!important}
