/* chatGC — تصميم بأسلوب واتساب (Light افتراضي + Dark) */
*{box-sizing:border-box}

/* ---------------- الثيم (فاتح زي واتساب) ---------------- */
:root{
  --bg:#ffffff; --panel:#ffffff; --panel2:#f0f2f5; --line:#e9edef;
  --txt:#111b21; --mut:#667781; --green:#00a884; --green-d:#008069;
  --bub-me:#d9fdd3; --bub-you:#ffffff; --chatbg:#efeae2;
  --blue:#027eb5; --tick:#53bdeb; --tabbar:#ffffff; --bar:#ffffff;
  --chip:#f0f2f5; --chip-on:#d9fdd3; --fab:#00a884; --shadow:0 1px 1px rgba(11,20,26,.13);
}
body.dark{
  --bg:#0b141a; --panel:#111b21; --panel2:#202c33; --line:#222d34;
  --txt:#e9edef; --mut:#8696a0; --green:#00a884; --green-d:#025144;
  --bub-me:#005c4b; --bub-you:#202c33; --chatbg:#0b141a;
  --blue:#53bdeb; --tick:#53bdeb; --tabbar:#111b21; --bar:#202c33;
  --chip:#202c33; --chip-on:#005c4b; --fab:#00a884; --shadow:0 1px 1px rgba(0,0,0,.3);
}
html,body{margin:0;height:100%;background:var(--bg);color:var(--txt);
  font-family:system-ui,-apple-system,"Segoe UI",Tahoma,Arial,sans-serif;-webkit-tap-highlight-color:transparent}
body{overflow:hidden}
.hide{display:none !important}
.dim{color:var(--mut);font-size:12.5px}
.screen{position:fixed;inset:0;display:none;flex-direction:column}
.screen.on{display:flex}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
::-webkit-scrollbar{width:6px}::-webkit-scrollbar-thumb{background:#9aa6ac66;border-radius:3px}

/* ---------- auth ---------- */
.auth-wrap{margin:auto;width:100%;max-width:420px;padding:24px 18px;text-align:center}
.logoimg{width:96px;height:96px;border-radius:26px;display:block;margin:0 auto 6px;box-shadow:0 12px 34px #0003}
h1{margin:6px 0 2px;font-size:26px}
.sub{margin:0 0 18px;color:var(--mut);font-size:14px}
.tabs{display:flex;background:var(--panel2);border-radius:12px;padding:4px;margin-bottom:14px}
.tabs button{flex:1;background:none;border:0;padding:10px;border-radius:9px;color:var(--mut);font-weight:600}
.tabs button.on{background:var(--panel);color:var(--green);box-shadow:var(--shadow)}
.card{display:flex;flex-direction:column;gap:10px;background:var(--panel2);padding:16px;border-radius:14px}
.card input{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:13px;outline:none}
.card input:focus{border-color:var(--green)}
.btn{border:0;border-radius:10px;padding:13px;font-weight:700}
.btn.primary{background:var(--green);color:#fff}
.btn.ghost{background:transparent;color:var(--green);border:1px solid #9aa6ac55}
.hint{margin:2px 0 0;color:var(--mut);font-size:12.5px}
.vtxt{margin:0 0 4px;color:var(--mut);font-size:14px}
.msg{margin-top:14px;font-size:14px;min-height:20px;color:var(--blue)}
.msg.err{color:#e8433c}

/* ---------- top bar ---------- */
.bar{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--bar);
  border-bottom:1px solid var(--line);padding-top:calc(12px + env(safe-area-inset-top))}
.brand{font-weight:800;font-size:20px;color:var(--green-d)}
body.dark .brand{color:var(--txt)}
.spacer{flex:1}
.ico{background:none;border:0;font-size:19px;padding:7px;border-radius:50%;color:var(--mut)}
.ico:active{background:var(--panel2)}

/* ---------- panes + bottom nav (زي واتساب) ---------- */
.pane{flex:1;display:none;flex-direction:column;min-height:0}
.pane.on{display:flex}
.panehead{padding:12px 16px 6px;font-weight:700;color:var(--green-d);font-size:15px}
body.dark .panehead{color:var(--txt)}
.tabbar{display:flex;background:var(--tabbar);border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom)}
.tab{flex:1;background:none;border:0;color:var(--mut);display:flex;flex-direction:column;align-items:center;
  gap:3px;padding:9px 0 8px;font-size:11.5px;font-weight:600;position:relative}
.tab i{font-size:21px;font-style:normal;line-height:1}
.tab.on{color:var(--green-d)}
body.dark .tab.on{color:var(--green)}
.tbadge{position:absolute;top:5px;margin-inline-start:22px;background:var(--green);color:#fff;font-size:10.5px;
  min-width:18px;height:18px;border-radius:999px;display:grid;place-items:center;padding:0 5px;font-weight:700}

/* ---------- search + chips ---------- */
.searchwrap{padding:8px 12px 6px;background:var(--bg)}
.sbox{display:flex;align-items:center;gap:9px;background:var(--panel2);border-radius:22px;padding:9px 14px}
.sic{color:var(--mut);font-size:15px}
.sbox input{flex:1;background:none;border:0;outline:none;font-size:15px}
.chips{display:flex;gap:8px;padding:2px 12px 8px;overflow-x:auto;scrollbar-width:none;background:var(--bg)}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;background:var(--chip);border:0;color:var(--green-d);border-radius:16px;padding:7px 14px;
  font-size:13.5px;font-weight:600}
body.dark .chip{color:var(--mut)}
.chip.on{background:var(--chip-on)}
body.dark .chip.on{color:var(--green)}

/* ---------- chat rows ---------- */
.chats{flex:1;overflow-y:auto;overscroll-behavior:contain;background:var(--bg)}
.row{display:flex;gap:13px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer}
.row:active{background:var(--panel2)}
.av{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#00a884,#0a7c66);
  display:grid;place-items:center;font-weight:700;font-size:19px;color:#fff;flex:0 0 auto}
.av.big{width:72px;height:72px;font-size:27px}
.rcol{flex:1;min-width:0}
.rtop{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.rname{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rtime{color:var(--mut);font-size:11.5px;flex:0 0 auto}
.rlast{color:var(--mut);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;gap:6px;align-items:center;margin-top:2px}
.rlast .prev{overflow:hidden;text-overflow:ellipsis}
.row.unread .rname{font-weight:800}
.row.unread .rlast{color:var(--txt);font-weight:600}
.badge{background:var(--green);color:#fff;border-radius:999px;min-width:20px;height:20px;
  font-size:11.5px;font-weight:700;display:grid;place-items:center;padding:0 6px;margin-inline-start:auto}
.fab{position:absolute;inset-inline-end:18px;bottom:calc(78px + env(safe-area-inset-bottom));
  width:56px;height:56px;border-radius:16px;border:0;background:var(--fab);color:#fff;font-size:23px;
  box-shadow:0 8px 24px #0004}
.empty{padding:40px 20px;text-align:center;color:var(--mut);font-size:14px;line-height:1.8}

/* ---------- settings ---------- */
.setwrap{padding:8px 14px 20px;overflow-y:auto}
.setcard{display:flex;align-items:center;gap:14px;padding:12px 4px 18px}
.setinfo{display:flex;flex-direction:column;gap:3px;min-width:0}
.setinfo b{font-size:18px}
.setrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 4px;
  border-top:1px solid var(--line);text-decoration:none;color:var(--txt);font-size:15.5px;cursor:pointer}
.sw{width:44px;height:24px;border-radius:999px;background:#9aa6ac66;position:relative;transition:.15s;flex:0 0 auto}
.sw::after{content:"";position:absolute;top:2px;inset-inline-start:2px;width:20px;height:20px;border-radius:50%;
  background:#fff;transition:.15s;box-shadow:0 1px 3px #0004}
.sw.on{background:var(--green)}
.sw.on::after{inset-inline-start:22px}
.about{margin-top:22px;text-align:center;color:var(--mut);font-size:13px;line-height:1.7}
.hiddenbtn{display:none}

/* ---------- conversation ---------- */
.chatbar{padding-top:calc(10px + env(safe-area-inset-top))}
.who{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.who small{color:var(--mut);font-size:11.5px}
.dot{width:9px;height:9px;border-radius:50%;background:#9aa6ac66}
.dot.on{background:var(--green)}
.msgs{flex:1;overflow-y:auto;padding:14px 12px 6px;display:flex;flex-direction:column;gap:6px;background:var(--chatbg)}
body.dark .msgs{background-image:radial-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:22px 22px}
.bub{max-width:82%;padding:8px 11px;border-radius:12px;font-size:15px;line-height:1.5;position:relative;
  word-wrap:break-word;white-space:pre-wrap;box-shadow:var(--shadow);color:var(--txt)}
.bub.me{align-self:flex-start;background:var(--bub-me);border-top-right-radius:4px}
.bub.you{align-self:flex-end;background:var(--bub-you);border-top-left-radius:4px}
.bub .t{display:block;color:var(--mut);font-size:10.5px;text-align:left;margin-top:3px}
.bub.voice{display:flex;align-items:center;gap:9px;min-width:170px;cursor:pointer}
.play{width:34px;height:34px;border-radius:50%;background:#00a88433;display:grid;place-items:center;flex:0 0 auto;color:var(--green-d)}
.wave{flex:1;height:26px;display:flex;align-items:center;gap:2px}
.wave i{flex:1;background:var(--green);border-radius:2px;opacity:.6}
.composer{display:flex;gap:8px;align-items:center;padding:9px 10px;
  padding-bottom:calc(9px + env(safe-area-inset-bottom));background:var(--panel2);border-top:1px solid var(--line)}
.composer input{flex:1;background:var(--panel);border:0;border-radius:22px;padding:13px 16px;outline:none}
.mic,.send{border:0;border-radius:50%;width:46px;height:46px;font-size:19px;flex:0 0 auto}
.mic{background:#2a3942;color:#e9edef}.mic.rec{background:#e74c3c;color:#fff}
.send{background:var(--green);color:#fff}
.recbox{position:absolute;inset-inline:10px;bottom:calc(9px + env(safe-area-inset-bottom));
  display:flex;align-items:center;gap:10px;background:var(--panel);border-radius:22px;padding:10px 14px;box-shadow:var(--shadow)}
.recdot{width:10px;height:10px;border-radius:50%;background:#e74c3c;animation:pulse 1s infinite}
@keyframes pulse{50%{opacity:.25}}
.recbox button{margin-inline-start:auto;background:var(--panel2);border:0;border-radius:9px;padding:9px 12px;font-weight:600}
.recbox #recStop{background:var(--green);color:#fff;margin-inline-start:6px}

/* ---------- voice call overlay ---------- */
.callui{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:12px;background:linear-gradient(180deg,#0b141a 0%,#111f28 100%);color:#e9edef;text-align:center;padding:24px}
.callui.hide{display:none}
.cav{width:112px;height:112px;border-radius:50%;background:var(--green);color:#04231c;display:flex;align-items:center;
  justify-content:center;font-size:44px;font-weight:800;box-shadow:0 0 0 0 rgba(0,168,132,.55);animation:ring 1.6s infinite}
@keyframes ring{70%{box-shadow:0 0 0 26px rgba(0,168,132,0)}100%{box-shadow:0 0 0 0 rgba(0,168,132,0)}}
.cname{font-size:22px;font-weight:700}
.cstat{opacity:.75;font-size:14.5px}
.cbtns{display:flex;gap:14px;margin-top:14px;flex-wrap:wrap;justify-content:center}
.cbtn{border:0;border-radius:30px;padding:15px 22px;font-size:16px;font-weight:700;color:#fff}
.cbtn.hang{background:#e8433c}.cbtn.acc{background:var(--green);color:#04231c}.cbtn.mute{background:#2a3942}
.cbtn.cam{background:#2a3942}.cbtn.cam.on{background:var(--green);color:#04231c}
.cbtn.spk{background:#2a3942}.cbtn.spk.on{background:var(--green);color:#04231c}
.callui video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;display:none;z-index:0}
.callui.vidon video#remoteVid{display:block}
.callui #localVid{inset:auto 14px 104px auto;width:98px;height:134px;border-radius:14px;border:2px solid #ffffffaa;box-shadow:0 4px 16px #0007;z-index:3}
.callui.vidon #localVid{display:block;position:absolute}
.callui.vidon .cav{display:none}
.callui.vidon .cname,.callui.vidon .cstat{z-index:4;position:relative;text-shadow:0 1px 8px #000c}
.callui.vidon .cbtns{position:relative;z-index:5}
.cbtn.hide{display:none}

/* ---------- attachments / emoji ---------- */
.ico2{background:var(--panel);border:0;color:var(--mut);font-size:19px;width:44px;height:44px;border-radius:50%;flex:0 0 44px}
.sheet{position:fixed;inset-inline:0;bottom:62px;z-index:50;background:var(--panel);border-radius:18px 18px 0 0;padding:16px;
  display:grid;grid-template-columns:1fr 1fr;gap:12px;box-shadow:0 -6px 24px #0004}
.sheet.hide{display:none}
.sheet button{background:var(--panel2);color:var(--txt);border:0;border-radius:14px;padding:16px 10px;font-size:15.5px;font-weight:650}
.emoji{position:fixed;inset-inline:0;bottom:62px;z-index:50;background:var(--panel);border-radius:18px 18px 0 0;padding:12px;
  display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:4px;max-height:44vh;overflow:auto;box-shadow:0 -6px 24px #0004}
.emoji.hide{display:none}
.emoji button{background:transparent;border:0;font-size:24px;padding:7px 0;border-radius:10px}
.emoji button:active{background:var(--panel2)}
/* ---------- ملصقات مضحكة (Stickers) ---------- */
.stickers{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px}
.stickers button{display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--panel2);border-radius:14px;padding:8px 4px}
.stickers .se{font-size:30px;line-height:1.1}
.stickers .st{font-size:11.5px;color:var(--txt);font-weight:700}
.stickers button{position:relative}
.smo{position:absolute;top:3px;inset-inline-end:5px;font-size:10px}
@keyframes anBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes anShake{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-9deg)}80%{transform:rotate(6deg)}}
@keyframes anPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.22)}}
@keyframes anSpin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
@keyframes anTada{0%{transform:scale(1) rotate(0)}25%{transform:scale(1.15) rotate(-8deg)}50%{transform:scale(1.2) rotate(8deg)}75%{transform:scale(1.12) rotate(-5deg)}100%{transform:scale(1) rotate(0)}}
@keyframes anFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-8px) rotate(3deg)}}
@keyframes anWobble{0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-6px) rotate(-6deg)}75%{transform:translateX(6px) rotate(6deg)}}
@keyframes anJelly{0%,100%{transform:scale(1,1)}30%{transform:scale(1.2,.82)}50%{transform:scale(.88,1.15)}70%{transform:scale(1.06,.95)}}
@keyframes anSwing{0%,100%{transform:rotate(-12deg)}50%{transform:rotate(12deg)}}
@keyframes anHeart{0%,100%{transform:scale(1)}14%{transform:scale(1.24)}28%{transform:scale(1)}42%{transform:scale(1.24)}70%{transform:scale(1)}}
.an-bounce{display:inline-block;animation:anBounce 1.1s ease-in-out infinite}
.an-shake{display:inline-block;animation:anShake .9s ease-in-out infinite}
.an-pulse{display:inline-block;animation:anPulse 1s ease-in-out infinite}
.an-spin{display:inline-block;animation:anSpin 2.6s linear infinite}
.an-tada{display:inline-block;animation:anTada 1.4s ease-in-out infinite}
.an-float{display:inline-block;animation:anFloat 2.2s ease-in-out infinite}
.an-wobble{display:inline-block;animation:anWobble 1.3s ease-in-out infinite}
.an-jelly{display:inline-block;animation:anJelly 1.2s ease-in-out infinite}
.an-swing{display:inline-block;animation:anSwing 1.4s ease-in-out infinite;transform-origin:50% 90%}
.an-heart{display:inline-block;animation:anHeart 1.3s ease-in-out infinite}
.stkcat{grid-column:1/-1;display:flex;gap:6px;overflow-x:auto;padding-bottom:6px}
.stkchip{background:var(--chip);border:0;border-radius:16px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--mut);white-space:nowrap}
.stkchip.on{background:var(--green);color:#fff}
#msgMenu{position:fixed;inset:0;z-index:119;background:#0008;display:flex;align-items:center;justify-content:center;padding:20px}
#msgMenu.hide{display:none}
#msgMenu .rowmenu{max-width:320px}
#langMenu{position:fixed;inset:0;z-index:121;background:#0008;display:flex;align-items:center;justify-content:center;padding:20px}
#langMenu.hide{display:none}
#langMenu .rowmenu{max-width:320px}
.bub.sticker{background:transparent !important;box-shadow:none !important;padding:0}
.bub.sticker .stk{display:flex;flex-direction:column;align-items:center;gap:1px;background:linear-gradient(135deg,#fff3c4,#ffd9a0);border:2px solid #fff;border-radius:16px;padding:7px 14px;box-shadow:0 2px 8px #0002}
body.dark .bub.sticker .stk{background:linear-gradient(135deg,#3a3320,#4a2f18);border-color:#ffffff22}
.bub.sticker .stke{font-size:46px;line-height:1.05}
.bub.sticker .stkt{font-size:14.5px;font-weight:800;color:#7a4a00}
body.dark .bub.sticker .stkt{color:#ffd9a0}
/* ---------- قائمة خيارات المحادثة ---------- */
#rowMenu{position:fixed;inset:0;z-index:118;background:#0008;display:flex;align-items:center;justify-content:center;padding:20px}
#rowMenu.hide{display:none}
.rowmenu{align-items:stretch;gap:8px;width:100%;max-width:340px}
.rmbtn{background:var(--panel2);border:0;border-radius:12px;padding:13px;font-size:15.5px;font-weight:650;color:var(--txt)}
.rmbtn.rmcan{background:transparent;color:var(--mut)}
.bub img.thumb{max-width:230px;max-height:290px;border-radius:12px;display:block;cursor:pointer;background:var(--bg)}
.fcard{display:flex;align-items:center;gap:10px;min-width:190px}
.fcard .fi{font-size:26px}
.fcard .fn{font-size:13.5px;font-weight:600;word-break:break-all;max-width:170px}
.fcard .fs{font-size:11.5px;color:var(--mut)}
.fcard a{color:var(--green-d);font-size:12.5px;text-decoration:none;font-weight:700}
body.dark .fcard a{color:#7ee0c0}
.sending{opacity:.6}

/* ---------- الهوية الفرعونية (في الوضع الليلي) ---------- */
body.dark #auth{background-image:url('/brand/pattern_soft.png');background-size:320px auto}
body.dark #list header.bar, body.dark #chat header.bar{background-image:url('/brand/pattern_soft.png');background-size:260px auto}

/* ---------- عارض الصور + شريط الشبكة ---------- */
#lightbox{position:fixed;inset:0;z-index:99;background:#000e;display:flex;align-items:center;justify-content:center}
#lightbox.hide{display:none}
#lightbox img{max-width:94%;max-height:90%;border-radius:12px;background:#0b141a}
#lbClose{position:absolute;top:14px;inset-inline-end:14px;background:#1f2c33;color:#e9edef;border:0;border-radius:50%;width:42px;height:42px;font-size:20px}
#netbar{position:fixed;top:0;inset-inline:0;z-index:98;background:#8a6d00;color:#fff;font:600 13px system-ui;padding:6px 10px;text-align:center}
#netbar.hide{display:none}

/* ---------- أفاتار بصورة ---------- */
.av{position:relative;overflow:hidden}
.av .avimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.av.plus{background:var(--panel2);color:var(--green-d);font-size:26px}

/* ---------- الحالات (Story 24h) ---------- */
.stories{display:flex;gap:14px;padding:10px 14px 12px;overflow-x:auto;background:var(--bg);border-bottom:1px solid var(--line)}
.stories::-webkit-scrollbar{display:none}
.st{display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;flex:0 0 auto}
.st .av{width:56px;height:56px;box-shadow:0 0 0 2.5px var(--green);border:2px solid var(--bg)}
.st small{font-size:11.5px;color:var(--mut);max-width:62px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.storyview{position:fixed;inset:0;z-index:120;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center}
.storyview.hide{display:none}
.storyview img,.storyview video{max-width:96%;max-height:82%;border-radius:12px}
.sbar{position:absolute;top:calc(8px + env(safe-area-inset-top));inset-inline:12px;height:3px;background:#ffffff44;border-radius:3px}
.sbar i{display:block;height:100%;background:#fff;border-radius:3px;width:0;transition:width .3s}
.shead{position:absolute;top:calc(20px + env(safe-area-inset-top));inset-inline:14px;display:flex;align-items:center;gap:10px;color:#fff;font-weight:700}
.shead .ico{margin-inline-start:auto;color:#fff}
.shead .ico.del{margin-inline-start:auto}
.shead .ico.del+.ico{margin-inline-start:8px}
/* شريط الرد على الحالة (زي واتساب/زنجي) */
.svreply{position:absolute;left:0;right:0;bottom:0;display:flex;gap:8px;align-items:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#000000aa;backdrop-filter:blur(8px)}
.svreply.hide{display:none}
.svreply input{flex:1;border:0;border-radius:22px;padding:11px 15px;font-size:14.5px;font-family:inherit;background:#fff;color:#111}
.svreply button{border:0;border-radius:22px;padding:11px 18px;font-weight:700;font-family:inherit;background:var(--green);color:#fff}
.svreply button:disabled{opacity:.6}
.svtoast{position:absolute;bottom:88px;background:#000c;color:#fff;padding:8px 16px;border-radius:20px;font-size:13.5px}
.svtoast.hide{display:none}

/* ---------- الإعدادات: الرقم المميز + الخلفيات + الميك ---------- */
.uidline{font-size:12.5px;color:var(--mut);margin-top:2px}
.minibtn{background:var(--panel2);border:0;border-radius:8px;padding:3px 9px;font-size:11.5px;color:var(--green-d);font-weight:700}
.walls{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;padding:10px 0 4px}
.wall{background:none;border:0;display:flex;flex-direction:column;gap:5px;align-items:center;font-size:11.5px;color:var(--mut)}
.wall i{display:block;width:100%;height:52px;border-radius:10px;background-color:var(--chatbg);border:1px solid var(--line)}
.range{width:100%;accent-color:var(--green);margin:6px 0 10px}

/* ---------- جروبات ---------- */
.gname{display:block;font-size:12px;color:var(--green-d);font-weight:700;margin-bottom:2px}
body.dark .gname{color:#7ee0c0}
.av.grp{background:linear-gradient(135deg,#8a6d00,#d4af37);color:#2b1e00}
.chip.newgrp{background:var(--green);color:#fff;font-weight:700}
.grpbar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--line)}
.chk{color:var(--mut);font-size:18px}
.row.sel{background:var(--panel2)}

/* ---------- تحسينات: صورة الهيدر + بحث اختيار الأعضاء ---------- */
.hdrav{width:34px;height:34px;border-radius:50%;object-fit:cover;margin-inline-end:4px}
.wall i{background-color:var(--chatbg)}
.grpsearch{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--panel);margin:0 0 8px;outline:none;font:inherit;color:inherit}

/* ---------- تبويب المكالمات ---------- */
.calltools{display:flex;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--bg)}
.ctool{flex:1;background:var(--panel2);border:0;border-radius:14px;padding:12px 6px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;color:var(--txt);font-weight:600}
.ctool i{font-size:20px;font-style:normal}
.keypad{position:fixed;inset-inline:12px;bottom:calc(84px + env(safe-area-inset-bottom));z-index:80;background:var(--panel);border-radius:18px;padding:16px;box-shadow:0 -8px 30px #0005;display:flex;flex-direction:column;gap:10px}
.keypad.hide{display:none}
.kpnum{text-align:center;font-size:22px;font-weight:700;color:var(--green-d);direction:ltr;min-height:30px}
.kpgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kpgrid button{background:var(--panel2);border:0;border-radius:12px;padding:14px 0;font-size:20px;font-weight:700;color:var(--txt)}
.kpact{display:flex;gap:8px;align-items:center;justify-content:center}
.scList{margin-top:10px;max-height:34vh;overflow:auto}

/* ---------- الوصول: تباين أعلى + تقليل الحركة ---------- */
body.contrast{--line:#000;--mut:#333;--txt:#000}
body.dark.contrast{--line:#fff6;--mut:#c9d1d9;--txt:#fff}
body.contrast .bub{box-shadow:0 0 0 1px var(--line)}
body.noanim *{animation:none !important;transition:none !important}

/* ---------- كود QR ---------- */
#profBox{position:fixed;inset:0;z-index:112;background:#0008;display:flex;align-items:center;justify-content:center;padding:20px}
#profBox.hide{display:none}
#profBox .profcard{max-height:88vh;overflow:auto;width:100%}
#qrBox{position:fixed;inset:0;z-index:110;background:#0008;display:flex;align-items:center;justify-content:center;padding:20px}
#qrBox.hide{display:none}
.qrcard{background:var(--panel);border-radius:18px;padding:20px;text-align:center;display:flex;flex-direction:column;gap:10px;align-items:center;max-width:340px}
.qrcard img{width:230px;height:230px;background:#fff;border-radius:12px;padding:8px}

/* ---------- اللوجو الجديد ---------- */
.hdlogo{height:38px;width:auto;border-radius:8px;margin-inline-end:4px}
.logoimg{width:auto;max-width:300px;height:auto;max-height:150px;border-radius:16px;display:block;margin:0 auto 8px;box-shadow:0 12px 34px #0003}
/* ---------- صندوق المعلومات ---------- */
#infoBox{position:fixed;inset:0;z-index:115;background:#0008;display:flex;align-items:center;justify-content:center;padding:20px}
#infoBox.hide{display:none}
.ibbody{font-size:14.5px;line-height:1.8;color:var(--txt);max-height:60vh;overflow:auto}
.ibbody .setrow{padding:11px 2px}

/* ---------- ماسح QR ---------- */
#scanBox{position:fixed;inset:0;z-index:130;background:#000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
#scanBox.hide{display:none}
#scanVid{width:86%;max-width:420px;border-radius:16px;background:#111}
.scanframe{position:absolute;width:230px;height:230px;border:3px solid var(--green);border-radius:18px;box-shadow:0 0 0 9999px #0005}
#scanBox .dim{color:#ddd}

/* مؤشر مستوى الميكروفون داخل شاشة المكالمة */
.micmeter{width:190px;height:7px;border-radius:5px;background:rgba(255,255,255,.22);margin:10px auto 0;overflow:hidden}
.micmeter i{display:block;height:100%;width:0;background:#4ade80;transition:width .08s linear}
