/* 1.0.22: mobile contact directory, discovery, business cards, wallet restoration and moments. */
.wallet-chat-card.transfer-card .transfer-card-body{justify-content:flex-start!important;text-align:left!important}
.wallet-chat-card.transfer-card .transfer-card-text{flex:1!important;align-items:flex-start!important;text-align:left!important;min-width:0!important}
.wallet-chat-card.transfer-card .transfer-card-state{margin-left:auto!important}
.wallet-chat-card.transfer-card .transfer-card-footer{justify-content:space-between!important;text-align:left!important}
.wallet-chat-card.transfer-card .transfer-footer-status{margin-left:auto!important;display:flex;align-items:center;gap:6px;font-size:11px}
.wallet-chat-card.packet-message .business-card-foot{display:flex!important;justify-content:space-between!important;align-items:center!important}
.wallet-chat-card.packet-message .business-card-foot .packet-kind{margin-left:auto!important;text-align:right!important;position:static!important;transform:none!important}
/* Keep contacts visually grouped by breathing space, never a thick divider plus another line. */
.side:has(.mobile-contact-quick) .mobile-contact-quick .mobile-quick-row:last-child{border-bottom:0!important}
.side:has(.mobile-contact-quick) .section-meta{border-top:0!important;border-bottom:0!important}
.qy-contact-section{scroll-margin-top:12px}
.qy-contact-letter{margin:0;padding:7px 15px;background:#f3f5f9;color:#8b97aa;font-size:11px;font-weight:750;line-height:19px}
.qy-contact-directory{min-width:0}
.qy-contact-index{position:absolute;right:3px;top:7px;bottom:7px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;z-index:3;width:21px;border-radius:13px;background:#ffffffde;box-shadow:0 1px 9px #2034590c}
.qy-contact-index button{appearance:none;border:0;background:none;color:#556b92;font-size:9px;font-weight:800;width:21px;min-height:12px;flex:1;max-height:20px;padding:0;cursor:pointer}
.qy-contact-index button.active{border-radius:8px;background:#2966ed;color:white}
.qy-contact-index button.unavailable{opacity:.22;cursor:default}
.contacts-list:has(.qy-contact-index){position:relative;padding-right:18px!important;overflow-y:auto}
.contacts-list .qy-contact-section .contact-item{min-height:61px}
.qy-channel-discover{background:#f5f6fa;min-height:100%;padding-bottom:22px}
.qy-channel-search-wrap{padding:18px 16px 14px;background:#fff}
.qy-channel-search{display:flex;align-items:center;gap:9px;background:#f2f4f8;height:42px;border-radius:11px;padding:0 13px;color:#8794aa}
.qy-channel-search input{border:0!important;background:transparent!important;outline:none!important;padding:0!important;box-shadow:none!important;font-size:14px!important;flex:1;min-width:0;width:100%;color:#1e2f4a!important}
.qy-channel-tabs{background:#fff;display:flex;padding:0 16px;gap:27px;min-height:43px;border-bottom:1px solid #eff1f5}
.qy-channel-tabs button{padding:0 2px;border:0;border-bottom:2px solid transparent;background:none;color:#8b96a8;font-size:13px;font-weight:650}
.qy-channel-tabs button.active{border-bottom-color:#3469e4;color:#274c9b}
.qy-channel-heading{padding:19px 17px 10px;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:13px;color:#33425b}
.qy-channel-heading span{color:#99a4b5;font-size:11px}
.qy-channel-results{background:#fff;margin:0 13px;border-radius:13px;padding:0 13px;overflow:hidden}
.qy-channel-result{display:flex;align-items:center;gap:12px;min-height:79px;padding:12px 0;border-bottom:1px solid #f2f4f8}
.qy-channel-result:last-child{border:0}
.qy-channel-result-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.qy-channel-result-copy>b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#27364c}
.qy-channel-result-copy>small{font-size:11px;line-height:1.45;color:#8793a6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.qy-channel-type{display:inline-block;font-size:10px;font-weight:700;margin-right:6px;color:#5069b2}
.qy-channel-follow{border:0;background:#e9f0ff;color:#3462ca;border-radius:8px;padding:8px 11px;display:flex;gap:3px;align-items:center;font-size:12px;font-weight:750}
.qy-channel-empty{display:flex;align-items:center;flex-direction:column;gap:7px;padding:48px 12px;text-align:center;color:#929eaf;font-size:12px}
.qy-channel-empty b{color:#465772;font-size:14px}
.qy-channel-help{text-align:center;color:#a3adba;font-size:11px;padding:15px 18px}
.qy-transfer-detail{background:#f6f7fa;min-height:100%;padding-bottom:20px;color:#24334a}
.qy-transfer-hero{background:#fff;display:flex;flex-direction:column;align-items:center;padding:32px 18px 28px;gap:10px}
.qy-transfer-icon{width:51px;height:51px;background:#fff1df;border-radius:50%;display:grid;place-items:center;color:#dc8d38}
.qy-transfer-title{font-size:13px;font-weight:700;color:#627086}
.qy-transfer-amount{font-size:37px;letter-spacing:-1px;line-height:1.2;font-variant-numeric:tabular-nums;color:#1e2c43}
.qy-transfer-hero p{font-size:12px;color:#98a2b1;margin:0;text-align:center}
.qy-transfer-detail-card{margin:17px 14px 0;border-radius:12px;background:white;padding:4px 16px}
.qy-transfer-detail-card>div{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid #f1f3f7;font-size:12px}
.qy-transfer-detail-card>div:last-child{border-bottom:0}
.qy-transfer-detail-card span{color:#9ba6b6;white-space:nowrap}
.qy-transfer-detail-card strong{color:#45516a;font-weight:550;text-align:right;max-width:68%;overflow-wrap:anywhere}
.qy-transfer-hint{margin:16px 20px;font-size:11px;color:#9ca8b8;line-height:1.65;display:flex;gap:7px;align-items:flex-start}
.qy-transfer-actions{padding:5px 16px calc(18px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:10px}
.qy-transfer-actions button{width:100%;border:0;min-height:45px;border-radius:10px;font-size:14px;font-weight:700}
.qy-transfer-actions .transfer-accept{background:#dc903f;color:white}
.qy-transfer-actions .transfer-reject{background:white;color:#697b92}
/* Restore the compact, tap-to-return 90-degree pay barcode in the full-screen wallet layer. */
.iw-large-bar{padding:0!important;background:#f3f6fb!important;overflow:hidden!important}
.iw-large-bar .iw-vertical{display:flex!important;align-items:center!important;justify-content:center!important;position:absolute!important;inset:0!important;border:0!important;background:transparent!important;padding:0!important;overflow:hidden!important}
.iw-large-bar .iw-vertical-inside{position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%) rotate(90deg)!important;width:min(calc(100dvh - 65px),600px)!important;max-width:unset!important;display:flex!important;align-items:center!important;flex-direction:column!important;justify-content:center!important;gap:13px!important;background:#fff!important;border-radius:13px!important;box-shadow:0 4px 22px #1b305316!important;padding:20px 14px!important}
.iw-large-bar .iw-vertical-warning{display:flex!important;align-items:center!important;gap:7px!important;justify-content:center!important;font-size:12px!important;color:#405474!important;white-space:nowrap!important}
.iw-large-bar .iw-vertical-inside svg{max-width:100%!important}
.iw-large-bar .iw-vertical-inside em{font-size:11px!important;color:#99a8b8!important;font-style:normal!important}
/* Shareable Moments experience; native in-app screens, not externally navigated pages. */
.qy-moments{background:#f5f6f9;min-height:100%;color:#1d2e46;padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.qy-moments-cover{height:175px;background:linear-gradient(145deg,#163c7f 0%,#355cb6 56%,#8096ce 100%);position:relative;display:flex;align-items:flex-end;justify-content:flex-end;padding:0 18px 15px}
.qy-moments-cover h3{margin:0;color:white;font-size:17px;letter-spacing:.2px;text-shadow:0 1px 8px #183c6766}
.qy-moments-user{display:flex;align-items:center;justify-content:space-between;gap:11px;padding:13px 16px;background:#fff}
.qy-moments-user .avatar{width:50px;height:50px}
.qy-moments-user .qy-moments-intro{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.qy-moments-intro b{font-size:15px}.qy-moments-intro small{font-size:11px;color:#8c9aaa}
.qy-moments-create{background:#2966df;border:0;color:white;padding:10px 13px;border-radius:9px;display:flex;gap:5px;align-items:center;font-weight:720;font-size:12px}
.qy-moments-feed{padding:11px 0}
.qy-moment{background:#fff;padding:16px;display:flex;gap:11px;margin-bottom:9px}
.qy-moment .avatar{width:39px;height:39px;flex:none}
.qy-moment-main{flex:1;min-width:0}
.qy-moment-head{display:flex;justify-content:space-between;gap:10px;align-items:start}
.qy-moment-head b{font-size:14px;color:#31568d}.qy-moment-head time{font-size:10px;color:#a1aaba}
.qy-moment-body{white-space:pre-wrap;word-break:break-word;line-height:1.65;font-size:14px;margin:7px 0 9px}
.qy-moment-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-width:330px}
.qy-moment-images a{aspect-ratio:1;overflow:hidden;background:#f0f3f8;border-radius:5px}
.qy-moment-images img{width:100%;height:100%;object-fit:cover}
.qy-moment-controls{display:flex;align-items:center;gap:13px;justify-content:flex-end;margin-top:11px}
.qy-moment-controls button{font-size:12px;border:0;background:transparent;color:#8c9aaf;display:flex;gap:4px;align-items:center;padding:5px}
.qy-moment-controls .liked{color:#e3687c}
.qy-moment-comments{background:#f5f7fa;border-radius:7px;padding:5px 10px;margin-top:9px}
.qy-moment-comments>div{padding:5px 0;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.qy-moment-comments b{color:#5572a1;font-weight:750}.qy-moment-comments .self-delete{color:#c46b72;border:0;background:none;padding:2px 5px;font-size:11px}
.qy-moments-more{display:flex;align-items:center;justify-content:center;margin:13px auto;padding:10px 22px;border-radius:10px;border:1px solid #dce4ef;background:#fff;font-size:12px;color:#46628e}
.qy-moments-empty{text-align:center;padding:55px 15px;color:#9da9b8;font-size:12px}
.qy-moment-compose{padding:18px 16px;background:#f5f6f9;min-height:100%}
.qy-moment-compose textarea{box-sizing:border-box;background:white!important;min-height:158px!important;border:0!important;border-radius:12px!important;padding:17px!important;font-size:15px!important;color:#29374c!important;width:100%!important;resize:none!important;outline:none!important;box-shadow:none!important}
.qy-moment-compose .qy-moment-photo-label{display:flex;flex-direction:column;gap:6px;margin-top:18px;background:white;border-radius:12px;padding:16px;font-size:13px;font-weight:650}
.qy-moment-compose .qy-moment-photo-label small{font-size:11px;color:#99a5b5;font-weight:400}
.qy-moment-compose input[type=file]{font-size:12px;max-width:100%}
.qy-moment-compose .qy-moment-visibility{display:flex;justify-content:space-between;align-items:center;background:white;border-radius:12px;margin:12px 0;padding:13px 16px;font-size:13px}
.qy-moment-compose select{border:0!important;background:transparent!important;color:#3d608c!important;font-size:12px!important;max-width:126px;text-align:right}
.qy-moment-compose .qy-moment-submit{min-height:47px;background:#306ae0;border:0;color:#fff;border-radius:11px;width:100%;font-size:14px;font-weight:720;margin-top:12px}
.qy-moment-comment-compose{display:flex;gap:9px;margin:0 16px 12px;padding:12px;background:white;border-radius:11px}
.qy-moment-comment-compose input{flex:1;min-width:0;outline:none!important;border:0!important;font-size:14px!important;padding:0!important}
.qy-moment-comment-compose button{border:0;border-radius:7px;background:#306ae0;color:#fff;padding:9px 15px;font-size:12px}
@media(max-width:760px){
 .side:has(.mobile-contact-quick) .section-meta{border:0!important;border-top:14px solid #f5f6f9!important;background:#fff!important;margin-top:0!important;height:48px!important;min-height:48px!important;padding:9px 16px 5px!important}
 .side:has(.mobile-contact-quick) #side-list.contacts-list{margin-top:0!important;padding-top:0!important}
 .side:has(.mobile-contact-quick) .mobile-contact-quick{border-bottom:0!important}
 .qy-contact-index{right:2px}
 .overlay.mobile-route .modal:has(.qy-moments),.overlay.mobile-route .modal:has(.qy-moment-compose),.overlay.mobile-route .modal:has(.qy-transfer-detail),.overlay.mobile-route .modal:has(.qy-channel-discover){padding:0!important;background:#f5f6f9!important}
}

.qy-official-article{padding:24px 19px 50px;line-height:1.85;color:#2e3b52;overflow-y:auto;max-height:calc(100dvh - 110px)}
.qy-official-article h2{font-size:23px;margin:0 0 9px;letter-spacing:-.4px;line-height:1.4}
.qy-official-article small{font-size:11px;color:#93a2b8}
.qy-official-article>p{font-size:12px;color:#8897ab;margin:20px 0 26px}
.qy-official-article .qy-article-body{font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}

/* v1.0.26: transfer footer is a single, left-aligned label. */
.wallet-chat-card.transfer-card .transfer-card-footer{justify-content:flex-start!important;text-align:left!important;}
.wallet-chat-card.transfer-card .transfer-card-footer>span{margin:0!important;justify-content:flex-start!important;}
