.msg-status{margin-left:6px;font-size:12px;font-weight:700;letter-spacing:-3px;display:inline-flex;align-items:center}
.status-sent{color:rgba(255,255,255,.58)}
.status-delivered{color:rgba(255,255,255,.78)}
.status-seen{color:#4da3ff}
.message-row.fresh-incoming .message-bubble{animation:incomingGlow 3.5s ease forwards}
@keyframes incomingGlow{0%{box-shadow:0 0 0 1px rgba(77,163,255,.18),0 0 24px rgba(77,163,255,.20)}100%{box-shadow:none}}
.status-dot.online{background:#22c55e}
.status-dot.offline{background:#9ca3af}
.emoji-panel{display:none;padding:10px 14px;border-top:1px solid rgba(255,255,255,.06);background:var(--bg-soft)}
.emoji-item{border:0;background:transparent;font-size:22px;line-height:1;padding:4px 6px}
.message-attachment a{color:inherit;text-decoration:none}
.message-bubble,.message-text,.message-attachment{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.message-attachment img,.message-attachment video{max-width:240px;border-radius:12px;display:block}
.chat-header-tools{display:flex;align-items:center;gap:8px;margin-right:10px}.message-translation{margin-top:6px;font-size:13px;opacity:.86}
.chat-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px}
.chat-header-left{min-width:0;overflow:hidden}
.chat-header-left .min-w-0{overflow:hidden}
.chat-header-name,.chat-header-subtitle{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-actions{justify-self:end;align-self:center}
.chat-dropdown{z-index:1200}
.reply-icon-btn,.send-btn,.action-btn,.mobile-menu-btn,.emoji-item{touch-action:manipulation}
@media (max-width: 991.98px){
.chat-header{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px}
.chat-header-left{gap:10px;min-width:0}
.chat-header-tools{display:none!important}
.chat-header-avatar{width:42px;height:42px;border-radius:14px}
.chat-header-name{font-size:.98rem}
.chat-header-subtitle{font-size:.8rem}
.chat-actions .action-btn{width:40px;height:40px;min-width:40px;padding:0}
.chat-dropdown{position:fixed;top:72px;right:12px;left:12px;width:auto;max-width:none;max-height:calc(100vh - 88px);overflow-y:auto;border-radius:18px}
.chat-dropdown .dropdown-item{padding:15px 16px}
}
@media (max-width: 575.98px){
.chat-header{padding:10px 10px 10px 8px}
.chat-header-left{gap:8px}
.mobile-menu-btn{width:40px;height:40px;min-width:40px}
.chat-header-name{font-size:.94rem}
.chat-header-subtitle{font-size:.76rem}
.chat-dropdown{top:66px;left:10px;right:10px}
}
@media (max-width: 991.98px){
body{overflow:hidden}
.chat-layout{height:100dvh!important;min-height:100dvh!important}
.chat-panel{position:relative;height:100dvh;min-height:100dvh;overflow:hidden;padding-top:0}
.chat-header{position:fixed;top:0;left:0;right:0;z-index:1100}
.chat-body{position:absolute;top:68px;left:0;right:0;bottom:96px;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 12px 34px}
.chat-body::after{content:'';display:block;height:18px}
.reply-box{position:fixed;left:0;right:0;bottom:0;z-index:1100;padding:8px 10px calc(10px + env(safe-area-inset-bottom));margin:0}
.emoji-panel{position:fixed;left:10px;right:10px;bottom:84px;z-index:1205;border-radius:16px;max-height:180px;overflow:auto;box-shadow:0 20px 40px rgba(0,0,0,.35)}
.reply-icon-left{display:flex;align-items:center;gap:6px;flex-shrink:0}
}
@media (max-width: 575.98px){
.chat-body{top:66px;bottom:94px;padding:12px 10px 38px}
.reply-box{padding:8px 8px calc(10px + env(safe-area-inset-bottom))}
.reply-wrap{min-height:56px}
.emoji-panel{bottom:86px;left:8px;right:8px}
}


.chat-panel.keyboard-open .chat-header{box-shadow:0 10px 24px rgba(0,0,0,.22)}
.chat-panel.keyboard-open .reply-box{padding-bottom:calc(8px + env(safe-area-inset-bottom))}

.mobile-install-lock{display:none}
@media (max-width: 991.98px){
.chat-header{background:rgba(13,16,22,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-left:max(10px, env(safe-area-inset-left));padding-right:max(10px, env(safe-area-inset-right));box-shadow:0 10px 24px rgba(0,0,0,.18)}
.chat-header-left{display:flex;align-items:center;min-width:0}
.chat-header-tools.desktop-header-tools{display:none!important}
.chat-actions{position:relative;z-index:1202;flex-shrink:0}
#menuBtn{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center}
.chat-dropdown.active{display:block}
.chat-dropdown{display:none;background:#161c25;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 56px rgba(0,0,0,.45)}
.chat-dropdown .dropdown-item,.chat-dropdown button.dropdown-item{min-height:48px;display:flex;align-items:center;gap:10px;border-radius:12px;color:#fff}
.chat-dropdown form{margin:0}
.reply-box{background:rgba(13,16,22,.97);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -8px 24px rgba(0,0,0,.18)}
.reply-wrap{padding-right:2px}
.mobile-install-lock{position:fixed;inset:0;z-index:1400;background:rgba(9,11,16,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:24px}
.mobile-install-lock.show{display:flex}
.mobile-install-card{width:min(100%,420px);background:#151b25;border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:24px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.mobile-install-card img{width:74px;height:74px;border-radius:22px;margin:0 auto 14px;border:1px solid rgba(255,140,0,.22)}
.mobile-install-card h3{font-size:1.15rem;margin:0 0 8px}
.mobile-install-card p{color:#b7c0cf;margin:0 0 16px;line-height:1.45}
.mobile-install-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.mobile-install-actions .action-btn,.mobile-install-actions .primary-btn{min-width:140px;justify-content:center;display:inline-flex;align-items:center}
}
@media (min-width: 992px){.install-app-entry.mobile-only{display:none!important}}
.chat-kind-badge{display:inline-flex;align-items:center;justify-content:center;padding:3px 9px;border-radius:999px;font-size:10px;font-weight:700;margin-left:8px;vertical-align:middle;letter-spacing:.02em}.chat-kind-badge.group{background:rgba(255,140,0,.18);color:#ffb066;border:1px solid rgba(255,140,0,.28)}.chat-kind-badge.direct{background:rgba(110,231,183,.14);color:#8ff0c8;border:1px solid rgba(110,231,183,.24)}


.call-actions{display:flex;align-items:center;gap:8px}.call-btn{width:42px;height:42px;border:0;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#fff;box-shadow:0 6px 18px rgba(0,0,0,.18)}.call-btn.active{background:rgba(58,130,246,.28);box-shadow:0 8px 24px rgba(58,130,246,.22)}.call-btn:hover{background:rgba(255,255,255,.14)}.call-btn.end{background:rgba(220,38,38,.9)}.call-modal{position:fixed;inset:0;z-index:1600;background:rgba(4,7,12,.82);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:none;align-items:center;justify-content:center;padding:18px}.call-modal.show{display:flex}.call-card{width:min(100%,520px);background:#151b25;border:1px solid rgba(255,255,255,.08);border-radius:26px;box-shadow:0 28px 70px rgba(0,0,0,.5);padding:20px;position:relative}.call-card.video-mode{width:min(100%,980px);height:min(100%,calc(100dvh - 36px));padding:0;overflow:hidden;background:#05070c;border-radius:28px}.call-card.video-mode .call-top{position:absolute;top:0;left:0;right:0;z-index:3;padding:18px 18px 0;background:linear-gradient(to bottom, rgba(0,0,0,.5), rgba(0,0,0,0))}.call-card.video-mode .call-meta p,.call-card.video-mode .call-meta h3{color:#fff}.call-top{display:flex;align-items:center;gap:14px}.call-avatar{width:62px;height:62px;border-radius:20px;object-fit:cover;background:#202836}.call-meta h3{margin:0;font-size:1.04rem}.call-meta p{margin:4px 0 0;opacity:.78}.call-timer{margin-top:10px;font-size:13px;opacity:.88;letter-spacing:.08em}.call-video-grid{display:grid;grid-template-columns:1fr 130px;gap:12px;margin-top:16px}.call-card.video-mode .call-video-grid{display:block;position:absolute;inset:0;margin-top:0}.call-video-main,.call-video-mini{background:#0d1117;border-radius:22px;overflow:hidden;position:relative;min-height:180px}.call-card.video-mode .call-video-main{position:absolute;inset:0;border-radius:0;min-height:100%}.call-card.video-mode .call-video-mini{position:absolute;right:18px;bottom:96px;width:min(32vw,190px);height:min(24vw,250px);min-height:120px;border-radius:22px;box-shadow:0 22px 40px rgba(0,0,0,.35);z-index:3;border:2px solid rgba(255,255,255,.14)}.call-video-main video,.call-video-mini video{width:100%;height:100%;object-fit:cover;display:block;background:#000}.call-video-main .video-label,.call-video-mini .video-label{position:absolute;left:10px;bottom:10px;background:rgba(0,0,0,.45);padding:4px 8px;border-radius:999px;font-size:12px}.call-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px;flex-wrap:wrap}.call-card.video-mode .call-controls{position:absolute;left:0;right:0;bottom:0;z-index:3;margin-top:0;padding:18px 18px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(to top, rgba(0,0,0,.58), rgba(0,0,0,0))}.call-status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.06);font-size:13px;margin-top:14px}.call-hidden-audio{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.call-close-top{margin-left:auto;background:transparent;border:0;color:#fff;width:42px;height:42px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center}.call-close-top:hover{background:rgba(255,255,255,.08)}@media (max-width:767.98px){.call-modal{align-items:flex-end;padding:0}.call-card{width:100%;max-width:none;border-radius:24px 24px 0 0;padding:16px 14px calc(16px + env(safe-area-inset-bottom));max-height:100dvh;overflow:auto}.call-card.video-mode{width:100%;height:100dvh;max-height:100dvh;border-radius:0;padding:0}.call-card.video-mode .call-top{padding:14px 14px 0}.call-top{align-items:flex-start}.call-video-grid{grid-template-columns:1fr;gap:10px}.call-video-main{min-height:220px}.call-video-mini{min-height:120px}.call-card.video-mode .call-video-main{min-height:100%}.call-card.video-mode .call-video-mini{right:12px;bottom:104px;width:34vw;height:48vw;max-width:132px;max-height:180px;min-height:96px;border-radius:18px}.call-controls{position:sticky;bottom:0;background:linear-gradient(to top, rgba(21,27,37,.98), rgba(21,27,37,.90));padding-top:12px;padding-bottom:max(4px, env(safe-area-inset-bottom))}.call-card.video-mode .call-controls{position:absolute;padding:14px 14px calc(18px + env(safe-area-inset-bottom));background:linear-gradient(to top, rgba(0,0,0,.64), rgba(0,0,0,0))}.call-btn,.call-close-top{width:50px;height:50px;border-radius:16px;font-size:1.05rem}}

.reply-box{display:flex;flex-direction:column;gap:8px}.attachment-preview{width:100%;margin:0;z-index:2}.attachment-preview-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:18px;background:rgba(17,24,39,.96);border:1px solid rgba(255,255,255,.10);box-shadow:0 10px 30px rgba(0,0,0,.25);margin:0}.attachment-preview-card.image{align-items:center}.attachment-preview-card img{width:76px;height:76px;border-radius:16px;object-fit:cover;flex:0 0 auto}.attachment-preview-meta{display:flex;align-items:center;gap:10px;color:#fff;flex-wrap:wrap;min-width:0;flex:1}.attachment-preview-meta div{min-width:0}.attachment-preview-meta strong{display:block;font-size:13px;max-width:min(55vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-preview-meta small{display:block;color:rgba(255,255,255,.65);font-size:11px}.attachment-preview-remove{width:36px;height:36px;border-radius:12px;border:0;background:rgba(255,255,255,.10);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.attachment-preview-remove:hover{background:rgba(255,255,255,.18)}@media(max-width:576px){.attachment-preview-card{border-radius:16px;padding:9px 10px}.attachment-preview-card img{width:62px;height:62px}.attachment-preview-meta strong{max-width:52vw}}


/* Force chat wallpaper from img/back.png */
.chat-panel .chat-body{
background-image:linear-gradient(rgba(6,9,14,.70), rgba(6,9,14,.78)), url('../../img/back.png') !important;
background-position:center center !important;
background-size:cover !important;
background-repeat:no-repeat !important;
}
.chat-panel .chat-header{background:rgba(8,11,17,.78)}
.chat-panel .reply-box{background:rgba(8,11,17,.84)}

/* WhatsApp-like attachment download/save UI */
.downloadable-card{position:relative;overflow:hidden;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(0,0,0,.06);box-shadow:0 8px 18px rgba(0,0,0,.08);max-width:min(320px,78vw)}
.message-row.outgoing .downloadable-card{background:rgba(255,139,0,.12)}
.downloadable-card img,.downloadable-card video{width:100%;max-width:320px;max-height:320px;object-fit:cover;border-radius:14px 14px 0 0}.downloadable-card audio{width:min(300px,70vw);display:block;padding:10px}.attachment-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;color:#202124;font-size:13px}.attachment-actions span{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.attachment-actions small,.file-card-main small{display:block;opacity:.62;font-size:11px;width:100%}.download-chip{border:0;text-decoration:none!important;white-space:nowrap;display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:8px 11px;background:#111;color:#fff!important;font-weight:700;font-size:12px;box-shadow:0 4px 12px rgba(0,0,0,.15);transition:transform .15s ease,opacity .15s ease}.download-chip:hover{transform:translateY(-1px);opacity:.9}.download-chip.downloading{pointer-events:none;opacity:.75}.file-card-main{display:flex;align-items:center;gap:12px;padding:14px 12px 4px;color:#202124}.file-card-main>i{font-size:28px;color:#f28c00}.file-card-main strong{display:block;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.message-attachment.file.downloadable-card{padding-bottom:10px}.message-attachment.file.downloadable-card .download-chip{margin:8px 10px 0 auto;width:max-content}@media(max-width:576px){.downloadable-card{max-width:82vw;border-radius:14px}.downloadable-card img,.downloadable-card video{max-width:82vw;max-height:260px}.attachment-actions{align-items:flex-start;flex-direction:column}.download-chip{width:100%;justify-content:center}.file-card-main strong{max-width:58vw}}


/* Chat privacy deterrents: web cannot fully block screenshots from OS/external apps. */
.chat-area, .chat-main, .chat-messages, .message, .message-bubble, .conversation {
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    user-select: none !important;
    -webkit-touch-callout: none !important;
}
.chat-window-hidden .chat-area,
.chat-window-hidden .chat-main,
.chat-window-hidden .chat-messages {
    filter: blur(18px);
}
@media print {
    .chat-area, .chat-main, .chat-messages, .message, .message-bubble {
        display: none !important;
    }
    body::before {
        content: "Printing private chat is disabled.";
        display: block;
        padding: 30px;
        font: 700 20px system-ui;
    }
}
