/* ═══════════ PATCH10MSG — ستايل الماسنجر ═══════════ */

/* ───── عناصر مشتركة ───── */
.mava{width:38px;height:38px;border-radius:50%;object-fit:cover;flex:none;display:block}
.mava.ph{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--brand),var(--purple));
  color:#fff;font-weight:800;font-size:16px}
.mava.ph.self{background:linear-gradient(135deg,#f7971e,#ffd200);color:#3a2800;font-size:18px}
.mavw{position:relative;flex:none}
.mon{position:absolute;inset-inline-end:-1px;bottom:-1px;width:11px;height:11px;border-radius:50%;
  background:#31a24c;border:2.5px solid var(--card)}
.mvrf{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;
  background:var(--brand);color:#fff;font-size:9px;margin-inline-start:4px;flex:none;font-weight:900}
.mvrf.g{background:linear-gradient(135deg,#f7971e,#ffd200);color:#3a2800}

.mtoast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,80px);background:#111;color:#fff;
  padding:11px 20px;border-radius:30px;font-size:13.5px;font-weight:600;z-index:9999;opacity:0;
  transition:.28s;pointer-events:none;box-shadow:0 8px 28px rgba(0,0,0,.3);max-width:88vw;text-align:center}
.mtoast.show{opacity:1;transform:translate(-50%,0)}
.mtoast.bad{background:var(--red)}

.mpop{position:fixed;z-index:9998;background:var(--card);border:1px solid var(--line);border-radius:12px;
  box-shadow:0 12px 36px rgba(0,0,0,.22);padding:6px;min-width:205px;animation:mpi .13s ease}
@keyframes mpi{from{opacity:0;transform:scale(.95)}}
.mpop button{display:flex;align-items:center;gap:11px;width:100%;background:none;border:0;color:var(--text);
  padding:9px 12px;border-radius:8px;cursor:pointer;font-size:13.5px;text-align:start;font-family:inherit}
.mpop button:hover{background:var(--hover)}
.mpop button span{font-size:16px;width:20px;text-align:center}

.mrxbar{position:fixed;z-index:9998;background:var(--card);border:1px solid var(--line);border-radius:30px;
  box-shadow:0 10px 30px rgba(0,0,0,.22);padding:5px 8px;display:flex;gap:2px;animation:mpi .13s ease}
.mrxbar button{background:none;border:0;font-size:23px;cursor:pointer;padding:3px 5px;border-radius:50%;
  transition:transform .12s;line-height:1}
.mrxbar button:hover{transform:scale(1.35)}

.mnote,.mload,.mempty{padding:26px 18px;text-align:center;color:var(--muted);font-size:13.5px;line-height:1.9}

/* ───── الإطار العام ───── */
/* لازم: الصفحة الكاملة تخرج من شبكة الموقع (260/1fr/300) وإلا بتتعصر */
.main.msgfull{display:block!important;max-width:1500px!important;padding:0 12px 12px!important;margin:12px auto!important}
.mwrap{display:grid;grid-template-columns:340px minmax(0,1fr);gap:0;height:calc(100dvh - var(--mtop,96px) - 24px);
  min-height:0;background:var(--card);border:1px solid var(--line);
  border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
body.solo .mwrap{height:100%;border:0;border-radius:0;max-width:none}
body.solo .main.msgfull{padding:0!important;margin:0!important;max-width:none!important}

/* ───── الشريط الجانبي للمحادثات ───── */
.mside{border-inline-end:1px solid var(--line);display:flex;flex-direction:column;min-width:0;background:var(--card)}
.msidet{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 8px;font-size:18px}
.msidet button{background:none;border:0;font-size:17px;cursor:pointer;color:var(--muted);padding:4px 7px;border-radius:7px}
.msidet button:hover{background:var(--hover);color:var(--text)}
.mfilter{margin:0 12px 10px;padding:9px 14px;border-radius:30px;border:0;background:var(--bg);
  color:var(--text);font-size:13.5px;font-family:inherit;outline:none}
.mfolders{display:flex;gap:6px;padding:0 12px 10px;overflow-x:auto;scrollbar-width:none}
.mfolders::-webkit-scrollbar{display:none}
.mfb{background:var(--bg);border:0;color:var(--muted);padding:6px 13px;border-radius:30px;cursor:pointer;
  font-size:12.5px;white-space:nowrap;font-family:inherit;font-weight:600}
.mfb.on{background:var(--brand);color:#fff}
.mfb.add{font-size:16px;line-height:1;padding:5px 11px}
.mlist{flex:1;overflow-y:auto;padding:0 8px 10px}

.mrow{display:flex;gap:11px;padding:9px 10px;border-radius:11px;cursor:pointer;align-items:center;min-width:0}
.mrow:hover{background:var(--hover)}
.mrow.on{background:color-mix(in srgb,var(--brand) 13%,transparent)}
.mrowb{flex:1;min-width:0}
.mrowt{display:flex;align-items:center;gap:4px;min-width:0}
.mrowt b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.mrow.unread .mrowt b{font-weight:800}
.mtime{margin-inline-start:auto;font-size:11.5px;color:var(--muted);flex:none;padding-inline-start:6px}
.mrowp{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mrow.unread .mrowp{color:var(--text);font-weight:600}
.mrowp .mu{opacity:.65}
.mdraft{color:var(--red);font-weight:700}
.mbadge{margin-inline-start:auto;background:var(--brand);color:#fff;border-radius:30px;
  min-width:19px;height:19px;display:flex;align-items:center;justify-content:center;font-size:11px;flex:none;padding:0 5px}
.mpin,.mmute{font-size:10.5px;opacity:.65}
.march .mava{background:var(--muted)!important}

/* ───── لوحة المحادثة ───── */
.mpane{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;position:relative;background:var(--card)}
.mhead{display:flex;align-items:center;gap:11px;padding:10px 14px;border-bottom:1px solid var(--line);flex:none}
.mback{display:block;background:none;border:0;font-size:22px;cursor:pointer;color:var(--brand);padding:0 4px}
.mhi{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.mhi b{font-size:15px;display:flex;align-items:center;gap:3px}
.mhi span{font-size:11.5px;color:var(--muted)}
.mtyp{color:var(--brand);font-style:normal;font-weight:700}
.macts{display:flex;gap:2px}
.macts button{background:none;border:0;font-size:16px;cursor:pointer;padding:7px 9px;border-radius:9px;color:var(--muted)}
.macts button:hover{background:var(--hover);color:var(--text)}

.mpinbar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--bg);
  border-bottom:1px solid var(--line);font-size:12.5px;flex:none}
.mpinbar div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.mpinbar b{font-size:11.5px;color:var(--brand)}
.mpinbar i{font-style:normal;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mpinbar button{background:none;border:1px solid var(--line);border-radius:7px;padding:4px 10px;
  cursor:pointer;color:var(--text);font-size:11.5px;font-family:inherit}

.mselbar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);
  background:var(--bg);flex:none}
.mselbar b{flex:1;font-size:13.5px}
.mselbar button{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:7px 13px;
  cursor:pointer;color:var(--text);font-size:12.5px;font-family:inherit}

.mbody{flex:1;overflow-y:auto;overflow-x:hidden;min-width:0;padding:16px 14px;display:flex;flex-direction:column;gap:2px;
  background:var(--bg);scroll-behavior:smooth}
.mbody.drop{outline:3px dashed var(--brand);outline-offset:-10px}
.mday{text-align:center;margin:14px 0 8px}
.mday span{background:var(--card);color:var(--muted);font-size:11.5px;padding:4px 14px;border-radius:30px;
  box-shadow:var(--shadow)}

/* ───── الفقاعات ───── */
.mmsg{display:flex;flex-direction:column;max-width:min(560px,78%);position:relative;margin-bottom:5px}
.mmsg.me{align-self:flex-end;align-items:flex-end}
.mmsg.you{align-self:flex-start;align-items:flex-start}
.mmsg.grp{margin-top:-3px}
.mbub{background:var(--card);border-radius:17px;padding:8px 13px 5px;box-shadow:var(--shadow);
  position:relative;word-break:break-word;min-width:72px}
.mmsg.me .mbub{background:var(--brand);color:#fff}
.mmsg.me .mbub a{color:#dbeafe}
.mmsg.plain .mbub{background:none!important;box-shadow:none;padding:2px 0}
.mmsg.sel{background:color-mix(in srgb,var(--brand) 14%,transparent);border-radius:12px}
.mmsg.flash .mbub{animation:mfl 1.3s ease}
@keyframes mfl{0%,100%{box-shadow:var(--shadow)}30%{box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 45%,transparent)}}

.mtext{font-size:14.5px;line-height:1.6;white-space:pre-wrap}
.mtext.big{font-size:44px;line-height:1.2}
.mmsg.plain .mtext{color:var(--text)}
.mcode{background:rgba(0,0,0,.14);border-radius:8px;padding:8px 11px;margin:5px 0;overflow-x:auto;
  font-family:ui-monospace,Consolas,monospace;font-size:12.5px;white-space:pre}
.mic{background:rgba(0,0,0,.14);border-radius:5px;padding:1px 5px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}

.mfwd{font-size:11.5px;opacity:.7;margin-bottom:3px;font-style:italic}
.mrep{border-inline-start:3px solid currentColor;padding:3px 9px;margin-bottom:5px;opacity:.82;
  font-size:12.5px;cursor:pointer;border-radius:0 7px 7px 0;background:rgba(127,127,127,.11);
  display:flex;flex-direction:column;line-height:1.4}
.mrep b{font-size:11.5px}
.mrep i{font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mdel{font-style:italic;opacity:.62;font-size:13px}

.mstk{font-size:44px;line-height:1.15;display:inline-block}
.mgif{border-radius:14px;max-width:260px}
.mimg{border-radius:13px;max-width:100%;cursor:zoom-in;margin:2px 0}
.mvid{border-radius:13px;max-width:100%;margin:2px 0}
.mvoice{display:flex;align-items:center;gap:8px;min-width:210px}
.mvoice audio{height:34px;flex:1}
.mvoice span{font-size:11.5px;opacity:.75}
.mfile{display:flex;align-items:center;gap:10px;color:inherit;padding:4px 0}
.mfile span{font-size:27px;flex:none}
.mfile div{min-width:0;display:flex;flex-direction:column;line-height:1.35}
.mfile b{font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mfile i{font-style:normal;font-size:11.5px;opacity:.72}

.mmeta{display:flex;align-items:center;gap:5px;justify-content:flex-end;font-size:10.5px;
  opacity:.72;margin-top:2px;flex-wrap:wrap}
.mtick.r{color:#6ff}
.mmsg.you .mtick.r{color:var(--brand)}
.medit,.msch,.mburn{font-style:italic}
.mrx{display:flex;gap:4px;margin-top:-6px;z-index:2;flex-wrap:wrap}
.mrx button{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:1px 8px;
  cursor:pointer;font-size:13px;display:flex;align-items:center;gap:3px;box-shadow:var(--shadow);color:var(--text)}
.mrx button.on{border-color:var(--brand);background:color-mix(in srgb,var(--brand) 18%,var(--card))}
.mrx button b{font-size:11px;font-weight:700}
.mdots{position:absolute;top:3px;inset-inline-start:-27px;background:none;border:0;cursor:pointer;
  color:var(--muted);font-size:17px;opacity:0;transition:.15s;padding:2px 5px}
.mmsg.me .mdots{inset-inline-start:auto;inset-inline-end:-27px}
.mmsg:hover .mdots{opacity:1}

/* ───── صندوق الكتابة ───── */
.mcomp{border-top:1px solid var(--line);padding:9px 12px;flex:none;background:var(--card);position:relative}
.mrepbar{display:flex;align-items:center;gap:9px;padding:7px 11px;background:var(--bg);
  border-radius:10px;margin-bottom:8px;border-inline-start:3px solid var(--brand)}
.mrepbar.edit{border-inline-start-color:var(--green)}
.mrepbar div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.35}
.mrepbar b{font-size:11.5px;color:var(--brand)}
.mrepbar.edit b{color:var(--green)}
.mrepbar i{font-style:normal;font-size:12.5px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mrepbar button{background:none;border:0;cursor:pointer;color:var(--muted);font-size:15px;padding:2px 5px}
.mcrow{display:flex;align-items:flex-end;gap:5px;min-width:0}
.mcb{background:none;border:0;font-size:19px;cursor:pointer;padding:7px;border-radius:50%;
  color:var(--muted);flex:none;line-height:1}
.mcb:hover{background:var(--hover)}
.mcb.send{color:var(--brand);font-size:21px;transform:scaleX(-1)}
.mcb.rec{color:var(--red);animation:mpulse 1s infinite}
@keyframes mpulse{50%{opacity:.35}}
.minput{flex:1;resize:none;border:0;background:var(--bg);border-radius:19px;padding:10px 15px;
  color:var(--text);font-family:inherit;font-size:15px;outline:none;max-height:150px;line-height:1.5}
.mhint{font-size:10.5px;color:var(--muted);padding:4px 10px 0;opacity:.72}

.mrecbar{display:flex;align-items:center;gap:10px;padding:9px 12px;background:var(--bg);
  border-radius:11px;margin-top:8px}
.mrecbar i{width:10px;height:10px;border-radius:50%;background:var(--red);animation:mpulse 1s infinite;flex:none}
.mrecbar b{flex:1;font-size:13px}
.mrecbar button{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:6px 12px;
  cursor:pointer;color:var(--text);font-size:12.5px;font-family:inherit}

/* ───── لوحة الملصقات ───── */
.mstkp{position:fixed;background:var(--card);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 10px 40px rgba(0,0,0,.28);overflow:hidden;
  display:flex;flex-direction:column;z-index:9500}
.mstkt{display:flex;gap:2px;padding:7px;border-bottom:1px solid var(--line);overflow-x:auto;flex:none;scrollbar-width:none}
.mstkt::-webkit-scrollbar{display:none}
.mstkt button{background:none;border:0;font-size:19px;cursor:pointer;padding:5px 9px;border-radius:9px;
  flex:none;color:var(--text);font-family:inherit}
.mstkt button.on{background:var(--hover)}
.mstkb{flex:1;overflow-y:auto}
.mstkg{display:grid;grid-template-columns:repeat(auto-fill,minmax(54px,1fr));gap:3px;padding:9px}
.mstkg button{background:none;border:0;font-size:33px;cursor:pointer;padding:5px;border-radius:11px;
  transition:transform .12s;line-height:1.1}
.mstkg button:hover{background:var(--hover);transform:scale(1.18)}
.mgifs{padding:9px}
.mgq{width:100%;padding:9px 13px;border-radius:9px;border:1px solid var(--line);background:var(--bg);
  color:var(--text);font-family:inherit;font-size:13.5px;outline:none;margin-bottom:8px}
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:5px}
.mgrid img,.mgrid video{width:100%;height:108px;object-fit:cover;border-radius:9px;cursor:pointer}

/* ───── الألواح المنزلقة ───── */
.msheet{position:absolute;inset:0;background:var(--card);z-index:40;display:flex;flex-direction:column;
  animation:msl .18s ease}
@keyframes msl{from{transform:translateY(14px);opacity:0}}
.msh{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);flex:none}
.msh b{font-size:15.5px}
.msh button{background:none;border:0;font-size:17px;cursor:pointer;color:var(--muted);padding:3px 7px;border-radius:7px}
.msb{flex:1;overflow-y:auto;padding:12px}
.msqi{width:100%;padding:11px 15px;border-radius:11px;border:1px solid var(--line);background:var(--bg);
  color:var(--text);font-family:inherit;font-size:14px;outline:none;margin-bottom:11px}
.mhit{padding:10px 12px;border-radius:10px;cursor:pointer;border:1px solid var(--line);margin-bottom:7px}
.mhit:hover{background:var(--hover)}
.mhit b{font-size:12.5px;color:var(--brand)}
.mhit span{font-size:11px;color:var(--muted);margin-inline-start:7px}
.mhit p{margin:3px 0 0;font-size:13.5px}
.mtabs{display:flex;gap:5px;margin-bottom:11px}
.mtabs button{flex:1;background:var(--bg);border:0;padding:9px;border-radius:9px;cursor:pointer;
  color:var(--muted);font-size:12.5px;font-family:inherit;font-weight:600}
.mtabs button.on{background:var(--brand);color:#fff}
.mpick{display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:10px;cursor:pointer}
.mpick:hover{background:var(--hover)}
.mpick input{width:18px;height:18px;flex:none;accent-color:var(--brand)}
.mpick b{font-size:14px;font-weight:600}
.mgo{width:100%;margin-top:12px;background:var(--brand);color:#fff;border:0;padding:12px;
  border-radius:11px;cursor:pointer;font-size:14.5px;font-weight:700;font-family:inherit}

/* ───── الشاشة الفاضية ───── */
.mblank{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;color:var(--muted);padding:34px;gap:5px}
.mblank.sm{padding:22px}
.mbi{font-size:62px;opacity:.5;margin-bottom:6px}
.mblank h3{margin:0;color:var(--text);font-size:19px}
.mblank p{margin:0;font-size:13.5px;max-width:330px;line-height:1.8}

/* ───── كارت جهات الاتصال — جوّه العمود الموجود، مش عائم ───── */
.mrailcard{padding:12px}
.mrh{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.mrh b{font-size:15px}
.mrh button{background:none;border:0;cursor:pointer;color:var(--muted);font-size:14px;
  padding:3px 7px;border-radius:7px}
.mrh button:hover{background:var(--hover);color:var(--text)}
.mri{display:flex;align-items:center;gap:11px;padding:7px 8px;border-radius:9px;cursor:pointer;min-width:0}
.mri:hover{background:var(--hover)}
.mri span{flex:1;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mri.u span{font-weight:800}
.mri b{background:var(--brand);color:#fff;border-radius:30px;min-width:18px;height:18px;
  display:flex;align-items:center;justify-content:center;font-size:10.5px;flex:none;padding:0 5px}

/* ───── موبايل ───── */
@media(max-width:860px){
  .main.msgfull{position:fixed;inset:var(--mtop,56px) 0 0 0;
    padding:0!important;margin:0!important;max-width:none!important;
    overflow:hidden;z-index:10}
  .mwrap{grid-template-columns:1fr;height:100%;min-height:0;
    border-radius:0;border:0;box-shadow:none}
  .mwrap .mpane{display:none}
  .mwrap.open .mside{display:none}
  .mwrap.open .mpane{display:flex}
  .mback{display:block}
  .mmsg{max-width:88%}
  .mhint{display:none}
  .mstk{font-size:56px}
}

/* ═══════════ النوافذ المنبثقة — زي الفيسبوك بالظبط ═══════════ */
.mdock{position:fixed;bottom:0;inset-inline-end:16px;z-index:900;display:flex;
  align-items:flex-end;gap:10px;flex-direction:row-reverse;pointer-events:none}
.mdock>*{pointer-events:auto}

.mdw{width:330px;height:455px;background:var(--card);border:1px solid var(--line);
  border-bottom:0;border-radius:10px 10px 0 0;box-shadow:0 -2px 18px rgba(0,0,0,.18);
  display:flex;flex-direction:column;position:relative;
  animation:mdwin .18s cubic-bezier(.2,.9,.3,1.2)}
@keyframes mdwin{from{transform:translateY(22px);opacity:0}}
.mdw.min{height:48px}
.mdw.min .mdwbody .mbody,.mdw.min .mdwbody .mcomp,
.mdw.min .mdwbody .mpinbar,.mdw.min .mdwbody .mselbar{display:none}
.mdw.min{cursor:pointer}
.mdwbody{display:flex;flex-direction:column;height:100%;min-height:0;
  overflow:hidden;border-radius:10px 10px 0 0}

.mdwh{display:flex;align-items:center;gap:8px;padding:7px 9px;border-bottom:1px solid var(--line);
  flex:none;background:var(--card);height:48px}
.mdwhu{display:flex;align-items:center;gap:8px;flex:1;min-width:0}
.mdwh .mava{width:30px;height:30px;font-size:13px}
.mdwh .mhi b{font-size:13.5px}
.mdwh .mhi span{font-size:10.5px}
.mdwh .macts button{font-size:13px;padding:5px 6px}
.mdw .mbody{padding:12px 10px;gap:1px}
.mdw .mmsg{max-width:85%}
.mdw .mbub{padding:7px 11px 4px;border-radius:15px}
.mdw .mtext{font-size:14px}
.mdw .mtext.big{font-size:34px}
.mdw .mstk{font-size:52px}
.mdw .mgif,.mdw .mimg,.mdw .mvid{max-width:210px}
.mdw .mcomp{padding:7px 8px}
.mdw .mhint{display:none}
.mdw .mcb{font-size:17px;padding:6px}
.mdw .minput{font-size:14px;padding:8px 13px}
.mdw .mdots{display:none}
.mdw .mday span{font-size:10.5px;padding:3px 11px}
.mdw .msheet{border-radius:10px 10px 0 0}

.mdw .mstkg{grid-template-columns:repeat(auto-fill,minmax(46px,1fr))}
.mdw .mstkg button{font-size:27px}

/* على الشاشات الأصغر — نافذتين بس وأضيق */
@media(max-width:1200px){ .mdw{width:300px;height:420px} }
@media(max-width:860px){ .mdock{display:none} }

/* ───── شريط الأوضاع المفعّلة (مؤقتة / صامت / مجدولة) ───── */
.mmodes{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:7px}
.mmodes button{background:color-mix(in srgb,var(--brand) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--brand) 35%,transparent);color:var(--text);
  border-radius:30px;padding:3px 11px;font-size:11.5px;cursor:pointer;font-family:inherit;font-weight:600}
.mmodes button:hover{background:color-mix(in srgb,var(--red) 16%,transparent);border-color:var(--red)}
.mburn{font-weight:700}

/* ───── لوحة إعدادات الماسنجر ───── */
.msetwrap{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9600;
  display:flex;align-items:center;justify-content:center;padding:18px;animation:mfade .15s}
@keyframes mfade{from{opacity:0}}
.msetbox{background:var(--card);border-radius:15px;width:min(520px,100%);max-height:86vh;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.mseth{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;
  border-bottom:1px solid var(--line);flex:none}
.mseth b{font-size:16.5px}
.mseth button{background:none;border:0;font-size:18px;cursor:pointer;color:var(--muted);
  padding:3px 8px;border-radius:7px}
.mseth button:hover{background:var(--hover)}
.msetb{padding:10px 16px 18px;overflow-y:auto}
.mset{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:11px 2px;border-bottom:1px solid var(--line);cursor:pointer}
.mset:last-of-type{border-bottom:0}
.mset div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.45}
.mset b{font-size:14px;font-weight:600}
.mset i{font-style:normal;font-size:11.5px;color:var(--muted)}
.mset input{width:19px;height:19px;flex:none;accent-color:var(--brand);cursor:pointer}
.msetsec{margin:16px 0 8px;font-size:13.5px;font-weight:800;color:var(--brand)}
.msetsel{width:100%;padding:10px 13px;border-radius:10px;border:1px solid var(--line);
  background:var(--bg);color:var(--text);font-family:inherit;font-size:14px;outline:none}
.msetnote{font-size:11.5px;color:var(--muted);line-height:1.8;margin-top:8px}
.msidea{display:flex;gap:2px}

/* ───── ضمانات ضد المربع الصغير والتمدّد الأفقي ───── */
.minput{flex:1 1 auto;min-width:0;max-height:140px;font-family:inherit;font-size:15px;
  color:var(--text);outline:none;line-height:1.5;box-sizing:border-box}
.minput::placeholder{color:var(--muted)}
.mcomp{min-width:0;box-sizing:border-box}
.mwrap,.mthread{min-width:0;overflow:hidden}
.mbubble,.mrow{max-width:100%}
.mstk{max-width:100%}
.mgq{box-sizing:border-box}

/* ───── قفل أي تمدّد أفقي نهائيًا ───── */
.mbody{overflow-x:hidden!important}
.mbody>*{max-width:100%;box-sizing:border-box}
.mstkp{min-height:150px}
.mstkb{min-height:96px;overflow-y:auto}

/* ───── الوسائط ما تفجّرش الشاشة ───── */
.mimg,.mvid,.mgif{max-height:58vh;max-width:min(100%,420px);width:auto;height:auto;
  object-fit:contain;display:block}
.mdw .mimg,.mdw .mvid,.mdw .mgif{max-height:240px;max-width:210px}
body.solo .mimg,body.solo .mvid,body.solo .mgif{max-height:62vh}

/* ───── الهيدر وخانة الكتابة يفضلوا ثابتين مهما كان المحتوى ───── */
.mpane>.mhead{position:sticky;top:0;z-index:6;background:var(--card);flex:none}
.mpane>.mcomp{flex:none}
.mbody{min-height:0}
.mwrap{overflow:hidden}
.mside{min-height:0;overflow-y:auto}

/* زرار الخروج من الماسنجر */
.mexit{background:none;border:0;font-size:17px;cursor:pointer;color:var(--muted);
  padding:4px 8px;border-radius:8px}
.mexit:hover{background:var(--hover);color:var(--red)}

/* ═══════ PATCH12: اسم المستخدم زرار يفتح لوحة المحادثة ═══════ */
.mwho{display:flex;align-items:center;gap:11px;flex:1;min-width:0;background:none;border:0;
  cursor:pointer;padding:4px 6px;border-radius:11px;font-family:inherit;text-align:start;color:inherit}
.mwho:hover{background:var(--hover)}
.mwho .mhi{min-width:0}
.mwho .mhi b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* لوحة معلومات وإعدادات المحادثة */
.mwhowrap{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:9700;display:flex;
  align-items:center;justify-content:center;padding:18px;animation:mfade .15s}
.mwhobox{background:var(--card);border-radius:16px;width:min(470px,100%);max-height:88vh;
  display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.42)}
.mwhoh{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);flex:none}
.mwhoh b{font-size:15.5px}
.mwhoh button{background:none;border:0;font-size:17px;cursor:pointer;color:var(--muted);padding:3px 8px;border-radius:7px}
.mwhoh button:hover{background:var(--hover)}
.mwhob{overflow-y:auto;padding:4px 12px 16px;min-height:0}
.mwhotop{display:flex;flex-direction:column;align-items:center;gap:5px;padding:18px 10px 12px;text-align:center}
.mwhotop>b{font-size:19px}
.mavbig{position:relative}
.mavbig .mava{width:86px;height:86px;font-size:33px;border-radius:50%}
.mavbig .mon{width:17px;height:17px;inset-inline-end:4px;bottom:4px;border-width:3px}
.mwstat{font-size:12.5px;color:var(--muted)}
.mwstat.onl{color:#22c55e;font-weight:700}
.mwuser{font-size:12px;color:var(--muted);opacity:.75}
.mwacts{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:8px 2px 4px}
.mwact{display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 3px;border-radius:11px;
  background:var(--bg);border:0;cursor:pointer;font-family:inherit;font-size:11.5px;color:var(--text);text-decoration:none}
.mwact span{font-size:19px}
.mwact:hover{background:var(--hover)}
.mwsec{font-size:12.5px;font-weight:800;color:var(--brand);margin:16px 4px 5px}
.mwrow{display:flex;align-items:center;gap:12px;width:100%;padding:11px 10px;border-radius:11px;
  background:none;border:0;cursor:pointer;font-family:inherit;text-align:start;color:var(--text)}
.mwrow:hover{background:var(--hover)}
.mwrow .mwi{font-size:19px;flex:none;width:26px;text-align:center}
.mwrow div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.45}
.mwrow b{font-size:14px;font-weight:600}
.mwrow i{font-style:normal;font-size:11.5px;color:var(--muted)}
.mwar{color:var(--muted);font-size:18px}
.msw{width:38px;height:22px;border-radius:30px;background:var(--line);position:relative;flex:none;transition:.18s}
.msw::after{content:'';position:absolute;top:3px;inset-inline-start:3px;width:16px;height:16px;
  border-radius:50%;background:#fff;transition:.18s}
.msw.on{background:var(--brand)}
.msw.on::after{inset-inline-start:19px}

/* الملصقات المتحركة */
.mstkimg{width:122px;height:122px;object-fit:contain;display:block;margin:2px 0}
.mdw .mstkimg{width:92px;height:92px}
.mstkg button img{width:100%;height:100%;object-fit:contain;display:block}
.mstkg button{display:flex;align-items:center;justify-content:center}

/* ═══════ PATCH13: شريط جهات الاتصال على حافة الشاشة (زي الفيسبوك) ═══════ */
.mrailedge{position:fixed;top:72px;bottom:12px;width:268px;z-index:850;
  background:var(--card);border-radius:14px;box-shadow:var(--shadow);
  padding:10px 8px;overflow-y:auto;overscroll-behavior:contain}
.mrailedge::-webkit-scrollbar{width:7px}
.mrh{display:flex;align-items:center;justify-content:space-between;margin:2px 4px 8px;gap:6px}
.mrh b{font-size:15.5px}
.mrha{display:flex;gap:2px}
.mrha button,.mrh button{background:none;border:0;cursor:pointer;color:var(--muted);font-size:14px;
  padding:4px 7px;border-radius:8px}
.mrha button:hover,.mrh button:hover{background:var(--hover);color:var(--text)}
.mrsec{font-size:11.5px;font-weight:800;color:var(--muted);margin:10px 8px 3px;letter-spacing:.2px}
.mri u{text-decoration:none;font-size:11px;color:var(--muted);flex:none}
.mri .mavw{position:relative;flex:none}

/* إعدادات الدردشة المنبثقة */
.mcspop{position:fixed;z-index:9800;width:300px;max-height:80vh;overflow-y:auto;
  background:var(--card);border-radius:14px;box-shadow:0 12px 44px rgba(0,0,0,.3);
  border:1px solid var(--line);padding:6px}
.mcsh{padding:10px 10px 8px}
.mcsh b{font-size:15px;display:block}
.mcsh i{font-style:normal;font-size:11.5px;color:var(--muted);line-height:1.6;display:block;margin-top:2px}
.mcsr{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border-radius:10px;
  background:none;border:0;cursor:pointer;font-family:inherit;text-align:start;color:var(--text)}
.mcsr:hover{background:var(--hover)}
.mcsi{font-size:17px;flex:none;width:24px;text-align:center}
.mcsr div{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.4}
.mcsr b{font-size:13.5px;font-weight:600}
.mcsr i{font-style:normal;font-size:11px;color:var(--muted)}
.mrailedge{inset-inline-end:14px}
/* المحتوى بيتزحزح بس — عرضه يفضل 1180px، ما بيصغرش */
body.has-edgerail .main{margin-inline-end:calc(268px + 26px)!important;margin-inline-start:auto!important}
body.has-edgerail .main.msgfull{margin:12px auto!important}
/* الارتفاع يحاذي نفسه تلقائيًا مهما كان ارتفاع الشريط العلوي */
.main.msgfull{--mtop:0px}
@media(max-width:1487px){.mrailedge{display:none}body.has-edgerail .main{margin:16px auto!important}}

/* ═══════ PATCH14: عنوان المحادثة ما يتداخلش ═══════ */
.mhi{display:flex;flex-direction:column;min-width:0;gap:1px;overflow:hidden}
.mhi b{display:flex;align-items:center;gap:4px;min-width:0;line-height:1.25}
.mhi .mnm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mhi b>:not(.mnm){flex:none}
.mhi .msub{display:block;font-size:11.5px;color:var(--muted);line-height:1.35;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mhi .msub .mtyp{color:var(--brand);font-style:normal;font-weight:700}
.mhead{align-items:center;gap:10px}
.mhead .mavw{flex:none}
.mdwh .mhi .msub{font-size:10.5px}
.mwho .mhi b{display:flex}

/* أزرار عرض كامل الصفحة في لوحة المحادثة */
.mwacts2{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:7px 2px 2px}
.mwact.wide{flex-direction:row;justify-content:center;gap:7px;font-size:12.5px;padding:10px 6px}
.mwact.wide span{font-size:15px}
.mri .mfr{font-style:normal;font-size:10px;opacity:.75}

/* ═══════ PATCH17: لوحة ملصقات منظّمة — بلا سحب بالفأرة ═══════ */
.mstkp{display:flex;flex-direction:column;overflow:hidden;z-index:9960;
  box-shadow:0 18px 56px rgba(0,0,0,.3);border-radius:16px}
.mstkh{display:flex;align-items:center;gap:8px;padding:10px 11px;
  border-bottom:1px solid var(--line);flex:none}
.mstqq{flex:1;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:30px;
  padding:9px 14px;font:inherit;font-size:13px;color:var(--text);outline:none}
.mstqq:focus{border-color:var(--brand)}
.mstkx{background:none;border:0;font-size:15px;cursor:pointer;color:var(--muted);
  width:30px;height:30px;border-radius:50%;flex:none}
.mstkx:hover{background:var(--hover);color:var(--text)}

/* شريط الأقسام: صفّ ثابت أسفل اللوحة — يلتفّ ولا يُسحب */
.mstkt{display:grid;grid-template-columns:repeat(11,1fr);gap:2px;padding:6px;overflow:visible!important;
  border-top:1px solid var(--line);border-bottom:0;background:var(--bg);flex:none}
.mstkt button{font-size:16px;padding:6px 0;border-radius:8px;line-height:1;
  background:none;border:0;cursor:pointer;opacity:.6;transition:.12s;
  display:flex;align-items:center;justify-content:center;min-width:0}
.mstkt button[data-t="gif"]{font-size:10.5px;font-weight:800;letter-spacing:-.3px}
.mstkt button:hover{background:var(--hover);opacity:1}
.mstkt button.on{background:color-mix(in srgb,var(--brand) 15%,transparent);opacity:1;
  box-shadow:inset 0 -2px 0 var(--brand)}

.mstkb{flex:1;overflow-y:auto;min-height:0;padding-bottom:4px}
.mstksec{position:sticky;top:0;background:var(--card);padding:9px 12px 5px;
  font-size:11.5px;font-weight:800;color:var(--muted);z-index:1}
/* شبكة منتظمة — الإيموجي صغير مرتّب، والملصقات المصوّرة أكبر */
.mstkg{display:grid;grid-template-columns:repeat(8,1fr);gap:1px;padding:2px 8px 10px}
.mstkg button{font-size:24px;padding:4px 0;border-radius:8px;background:none;border:0;
  cursor:pointer;aspect-ratio:1;display:flex;align-items:center;justify-content:center;
  transition:transform .1s,background .1s;line-height:1}
.mstkg button:hover{background:var(--hover);transform:scale(1.22)}
.mstkg button.img{font-size:0;padding:3px}
.mstkg button.img img{width:100%;height:100%;object-fit:contain}
/* الملصقات المصوّرة في شبكة أوسع */
.mstkg:has(button.img){grid-template-columns:repeat(4,1fr);gap:5px}
@media(max-width:400px){.mstkg{grid-template-columns:repeat(7,1fr)}}

/* الصور المتحركة */
.mgifs{display:flex;flex-direction:column;height:100%}
.mgq{margin:9px 10px;background:var(--bg);border:1px solid var(--line);border-radius:30px;
  padding:9px 14px;font:inherit;font-size:13px;color:var(--text);outline:none}
.mgr.mgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;padding:0 10px 10px;overflow-y:auto}
.mgr.mgrid img{width:100%;border-radius:9px;cursor:pointer;display:block}
.mgr.mgrid img:hover{outline:2px solid var(--brand)}

/* ═══ PATCH19: لوحة المفاتيح على الهاتف ═══
   عند ظهورها نُبقي صندوق الكتابة ولوحة الملصقات داخل المساحة المرئية. */
.mcomp{flex:none}
@media(max-width:860px){
  body.solo .main.msgfull{inset:0}
  body.solo .mwrap{height:100%}
  .mstkp{max-height:min(46vh,300px)}
}

/* على الشاشات الواسعة فقط نضمن ارتفاعًا مريحًا؛ أما الهاتف فيتبع
   الارتفاع المرئي الحقيقي حتى لا يُدفَع صندوق الكتابة خارج الشاشة. */
@media(min-width:861px){ .mwrap{min-height:min(460px, calc(100dvh - 90px))} }

/* الوضع المستقل: يملأ النافذة تمامًا في كل المقاسات */
body.solo .main.msgfull{position:fixed;inset:0;padding:0!important;margin:0!important;
  max-width:none!important;overflow:hidden}
body.solo .mwrap{height:100%;min-height:0;border:0;border-radius:0}
