/* v1.0.20 — native financial surfaces and stable chat transcript. */
/* A list rerender must never replay a bounce-in animation on existing messages. */
#chat-items .message-line,#chat-items .message-line.out,#chat-items .message-line.in{animation:none!important;transform:none!important;transition:none!important}
#chat-items .bubble{transition:none!important}
#chat-items .msg-meta{min-height:15px;line-height:15px;font-variant-numeric:tabular-nums}
/* Group red packet metadata in one horizontal row, including small phones. */
.wallet-chat-card.packet-message .business-card-foot{display:flex!important;flex-flow:row nowrap!important;justify-content:space-between!important;align-items:center!important;gap:9px!important;min-width:0!important}
.wallet-chat-card.packet-message .business-card-foot>span{display:inline-block!important;white-space:nowrap!important;font-size:10.5px!important;line-height:1.25!important}
.wallet-chat-card.packet-message .business-card-foot .packet-kind{margin-left:auto!important;max-width:55%;overflow:hidden;text-overflow:ellipsis;font-weight:600!important;color:#a46b55!important}
/* A transfer is its own calm white card, not a blue message bubble or a huge button. */
.wallet-chat-card.transfer-card{width:min(259px,74vw);max-width:100%;padding:0!important;border-radius:12px!important;overflow:hidden!important;display:block!important;background:#fff!important;border:1px solid #e7eaf1!important;box-shadow:0 3px 14px #2636500b!important;color:#1b2d49!important;text-align:left!important}
.wallet-chat-card.transfer-card .transfer-card-body{min-height:76px;display:flex;align-items:center;gap:11px;padding:12px 12px 10px;background:linear-gradient(115deg,#ffffff,#f8faff)}
.wallet-chat-card.transfer-card .transfer-card-symbol{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:10px;background:#e9effe;color:#426bd0}
.wallet-chat-card.transfer-card .transfer-card-symbol .ico{width:20px;height:20px}
.wallet-chat-card.transfer-card .transfer-card-text{min-width:0;flex:1;display:flex;flex-direction:column;gap:5px}
.wallet-chat-card.transfer-card .transfer-card-text b{color:#192b4b!important;font-size:18px!important;font-weight:730!important;letter-spacing:-.35px!important;white-space:nowrap!important}
.wallet-chat-card.transfer-card .transfer-card-text small{max-width:140px;color:#8c9aad!important;font-size:11px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.wallet-chat-card.transfer-card .transfer-card-state{font-size:10px;white-space:nowrap;color:#b1773d;background:#fff4e9;border-radius:6px;padding:4px 6px}
.wallet-chat-card.transfer-card.completed .transfer-card-state{color:#667990;background:#ecf0f6}
.wallet-chat-card.transfer-card .transfer-card-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid #f0f1f4;color:#8792a4;font-size:10.5px}
.wallet-chat-card.transfer-card .transfer-card-footer>span{display:inline-flex;gap:3px;align-items:center}
.wallet-chat-card.transfer-card .transfer-card-footer .ico{width:12px;height:12px}
/* Shared native payment entry surface for personal red envelopes and transfers. */
.native-money-head{border-bottom:0!important;background:#fff!important;position:relative!important}
.native-money-head h2{font-size:16px!important;font-weight:700!important}
.native-money-screen{flex:1;min-height:0;overflow:auto;background:#f5f6f9;color:#26334a;scrollbar-width:none}
.native-money-screen::-webkit-scrollbar{display:none}
.native-money-screen form{display:flex;flex-direction:column;min-height:100%;max-width:540px;margin:auto}
.native-money-intro{display:flex;align-items:center;flex-direction:column;gap:7px;padding:26px 16px 16px;text-align:center}
.native-money-stamp{width:49px;height:49px;display:grid;place-items:center;background:linear-gradient(145deg,#fff3e9,#ffe1ce);color:#d2664e;border-radius:16px}
.native-money-intro strong{font-size:18px;font-weight:730;letter-spacing:-.4px}
.native-money-intro>span:last-child{color:#969eac;font-size:12px}
.native-transfer-screen .native-money-stamp{color:#416fdd;background:linear-gradient(140deg,#edf3ff,#dce6ff)}
.native-money-recipient{display:flex;align-items:center;gap:11px;margin:6px 16px 20px;padding:12px 14px;background:#fff;border-radius:13px}
.native-money-recipient>.avatar{width:35px!important;height:35px!important;flex:0 0 35px}
.native-money-recipient>span:not(.avatar){flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.native-money-recipient b{font-size:13px;color:#293449}
.native-money-recipient small{font-size:11px;color:#a2a9b6}
.native-money-recipient>.ico{color:#96abdb;width:16px;height:16px}
.native-money-fields{background:#fff;margin:0 16px;border-radius:14px;overflow:hidden}
.native-money-input-row,.native-money-note-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 15px;min-height:65px;color:#3b475b;font-size:13px;font-weight:610}
.native-money-input-row{border-bottom:1px solid #f1f2f5}
.native-money-amount{display:flex;justify-content:flex-end;align-items:baseline;gap:3px;min-width:0;flex:1}
.native-money-amount b{font-size:16px;color:#3b4655}
.native-money-amount input{background:transparent!important;border:none!important;box-shadow:none!important;outline:0!important;text-align:right!important;font-size:25px!important;font-weight:740!important;letter-spacing:-.5px!important;color:#202a3e!important;max-width:146px;min-width:0;width:100%!important;padding:0!important}
.native-money-amount input::placeholder{color:#b4bac4;font-weight:570}
.native-money-note-row input{background:none!important;border:none!important;box-shadow:none!important;outline:0!important;text-align:right!important;min-width:0!important;flex:1;font-size:12px!important;color:#4b5567!important;padding:0!important}
.native-money-summary{display:flex;flex-direction:column;align-items:center;text-align:center;margin:28px 0 20px;gap:7px}
.native-money-summary small{font-size:12px;color:#9ba4b2}
.native-money-summary strong{font-size:37px;color:#1d2b40;font-variant-numeric:tabular-nums;font-weight:770;letter-spacing:-1.5px}
.native-money-summary>span{font-size:11px;color:#a9afbb}
.native-money-bottom{padding:10px 16px calc(18px + env(safe-area-inset-bottom));margin-top:auto;display:flex;flex-direction:column;gap:12px;align-items:center}
.native-money-submit{width:100%;min-height:49px;border:0;border-radius:12px!important;background:#416cea;color:#fff;font-size:15px;font-weight:700}
.native-money-submit.is-red{background:#d85847}
.native-money-bottom p{margin:0;display:flex;align-items:center;justify-content:center;gap:5px;font-size:10.5px;color:#a0a7b3}
.native-money-bottom p .ico{width:13px;height:13px}
/* Group packet gets the same native cover, lower-profile fields and summary. */
.packet-compose-screen{background:#f5f6f9!important}
.packet-compose-inner{padding:11px 16px 5px!important}
.packet-compose-hero{display:flex;flex-direction:column;align-items:center;gap:6px;margin:5px 0 21px}
.packet-compose-hero>span{width:48px;height:48px;border-radius:15px;background:#fff0e7;color:#d55f46;display:grid;place-items:center}
.packet-compose-hero b{font-size:18px;font-weight:730;color:#293449}
.packet-compose-hero small{font-size:11px;color:#9da5b4}
.packet-compose-types{background:#fff;border-radius:12px;padding:4px!important;gap:3px!important}
.packet-compose-types label span{border:0!important;background:transparent!important;border-radius:9px!important;padding:10px 4px!important}
.packet-compose-types input:checked+span{background:#fff0e9!important;color:#bc5a44!important}
.packet-compose-field{min-height:61px!important;border-radius:11px!important}
.packet-compose-note{border-radius:11px!important}
.packet-compose-total{margin:25px 0 5px!important}
.packet-compose-bottom .red-send-action{background:#d85847!important;border-radius:12px!important}
/* Transaction detail is a clean app subpage, never an HTML alert. */
.native-transfer-detail{display:flex;flex-direction:column;align-items:center;flex:1;background:#f6f7fa;padding:40px 18px 30px;overflow:auto;scrollbar-width:none}
.native-transfer-detail::-webkit-scrollbar{display:none}
.native-transfer-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#eaf0ff;color:#3f6bcf;margin-bottom:16px}
.native-transfer-state{color:#657994;font-size:14px}
.native-transfer-sum{font-size:40px;letter-spacing:-1.1px;font-variant-numeric:tabular-nums;color:#24324b;margin:11px 0 7px}
.native-transfer-detail>p{color:#919aab;font-size:12px;line-height:1.65}
.native-transfer-rows{background:#fff;border-radius:13px;margin:30px 0 15px;padding:2px 16px;width:100%;max-width:520px}
.native-transfer-rows>div{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:51px;border-bottom:1px solid #f2f3f6;font-size:12px;color:#959eaf}
.native-transfer-rows>div:last-child{border:0}
.native-transfer-rows b{font-size:12px;color:#41526f;text-align:right;font-weight:600;overflow-wrap:anywhere}
.native-transfer-actions{display:flex;flex-direction:column;gap:11px;width:100%;max-width:520px;margin-top:auto;padding-top:18px;padding-bottom:env(safe-area-inset-bottom)}
.native-transfer-accept,.native-transfer-reject{height:49px;border:0;border-radius:12px;background:#416ce8;color:#fff;font-weight:690;font-size:14px}
.native-transfer-reject{color:#747f93;background:#fff;border:1px solid #e9ecf2}
.native-transfer-footnote{text-align:center;max-width:360px;margin:12px auto;color:#98a2b0}
@media(max-width:760px){
 #modal-layer .modal:has(.native-money-screen),#modal-layer .modal:has(.native-transfer-detail){display:flex!important;flex-direction:column!important;padding:0!important;max-height:100dvh!important;overflow:hidden!important;background:#f5f6f9!important}
 .overlay.mobile-route .modal:has(.native-money-screen),.overlay.mobile-route .modal:has(.native-transfer-detail){display:flex!important;flex-direction:column!important}
}
/* Transfer action buttons are actual actions, not browser default controls. */
.native-transfer-actions>.transfer-accept,.native-transfer-actions>.transfer-reject{width:100%;height:49px;border:0;border-radius:12px!important;font-size:14px!important;font-weight:700!important;letter-spacing:0;background:#416ce8!important;color:#fff!important;display:grid;place-items:center;box-shadow:none!important;appearance:none}
.native-transfer-actions>.transfer-reject{background:#fff!important;color:#6e7c94!important;border:1px solid #e6eaf1!important}
.native-transfer-actions>.transfer-accept:active,.native-transfer-actions>.transfer-reject:active{transform:scale(.99)}
