/* ui.css - مولَّد بواسطة upgrade.py */
:root{--ui-a:var(--accent,#C6F432);--ui-c:var(--bg-card,#16161B);--ui-e:var(--bg-elevated,#1D1D24);--ui-l:var(--line,#2A2A33);--ui-t:var(--text,#F2F2F4);--ui-d:var(--text-dim,#9A9AA6);--ui-ink:#0D0D10}
:root[data-theme=light]{--ui-ink:#fff;--text-dim:#4B5060}

/* أيقونات (SVG مكان Font Awesome) */
i[class*="fa-"]{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;font-style:normal;line-height:1;vertical-align:-.15em;flex:none}
i[class*="fa-"] svg{width:100%;height:100%;fill:currentColor;display:block}

/* إصلاح: كلاس .un في chat.css كان بيضغط عناصر الإشعارات */
.nf-item.un,.td-item.un{height:auto;min-width:0;border-radius:0;display:flex;place-items:normal;padding:12px 4px;font-size:inherit;font-weight:inherit;color:var(--t,inherit)}
.cun{min-width:22px;height:22px;border-radius:100px;background:var(--a);color:var(--ink);font-size:.74rem;font-weight:800;display:grid;place-items:center;padding:0 7px;flex:none}
/* كروت الكورسات: شارة الحالة (كانت بتورث حجم خط الصورة وتطلع خلفية مربعة) */
.ci-st{font-size:.8rem;line-height:1;display:flex;align-items:center;padding:0;overflow:hidden;max-width:calc(100% - 24px)}
.ci-st .sd-badge,.ci-st .td-badge,.ci-st .ad-b{display:inline-flex;align-items:center;padding:4px 12px;line-height:1.4;white-space:nowrap}
.ci-th>i{width:1em;height:1em}
.ad .ci-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.ad .ci-ft .ad-row{margin:0}
.ci-ti i{color:var(--a);font-size:.95em}

/* الشات على الموبايل: الارتفاع = الشاشة المرئية - (البانر + الهيدر)، فمفيش فراغ فوق الكيبورد ولا الهيدر بيختفي */
body.ui-nonav.ui-hasnav{padding-bottom:0}
.chat-on .ch{height:calc(100vh - var(--ui-top,var(--hh,86px)) - 24px);height:calc(100dvh - var(--ui-top,var(--hh,86px)) - 24px);min-height:0}
.ad-main.chat-on,.td-main.chat-on,.sd-main.chat-on{padding-bottom:12px}

/* تحسينات عامة */
.ad-b,.td-badge,.sd-badge{font-size:.78rem}
.nf-badge{font-size:.75rem}
.sp-m .tm,.sp-sys span,.sp-new{font-size:.78rem}
.ad-stat b,.td-stat b,.sd-stat b,.td table td:last-child,.ad-item b,.an-c b{font-variant-numeric:tabular-nums}
@media(pointer:coarse),(max-width:800px){
 .ad-btn,.td-btn,.sd-btn{min-height:42px;justify-content:center}
 .ad-chips button,.td-sub button,.chF button{min-height:38px}
}
@keyframes uiFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.ad section.on,.sd section.on{animation:uiFade .26s ease-out}

/* حالة التحميل على الأزرار */
.ui-busy::before{content:"";width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:uiSp .7s linear infinite;display:inline-block;margin-inline-end:6px}
@keyframes uiSp{to{transform:rotate(360deg)}}

/* نوافذ التأكيد */
.ui-dlg{border:1px solid var(--ui-l);border-radius:18px;background:var(--ui-c);color:var(--ui-t);padding:0;width:min(92vw,400px);font-family:'IBM Plex Sans Arabic',system-ui,sans-serif;font-size:15px;line-height:1.7}
.ui-dlg::backdrop{background:rgba(0,0,0,.6)}
.ui-in{padding:22px}
.ui-t{margin:0 0 16px;font-weight:700;overflow-wrap:anywhere}
.ui-i{width:100%;background:var(--ui-e);border:1px solid var(--ui-l);border-radius:12px;padding:10px 14px;font:inherit;font-size:16px;color:var(--ui-t);margin-bottom:16px}
.ui-b{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.ui-bt{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:100px;padding:8px 22px;cursor:pointer;font:inherit;font-weight:800;font-size:.9rem;background:var(--ui-a);color:var(--ui-ink);text-decoration:none}
.ui-bt.g{background:none;border:1px solid var(--ui-l);color:var(--ui-t)}
.ui-bt.d{background:#dc2626;color:#fff}
.ui-dlg button:focus-visible,.ui-dlg input:focus-visible,.ui-dlg a:focus-visible{outline:2px solid var(--ui-a);outline-offset:2px}
.ui-img{display:block;max-width:100%;max-height:60vh;margin:0 auto 16px;border-radius:12px}

/* توست وتراجع وأوفلاين وخطأ */
.ui-toast,.ui-undo{position:fixed;inset-inline:0;margin:auto;width:max-content;max-width:90vw;z-index:10002}
.ui-toast{bottom:calc(24px + env(safe-area-inset-bottom,0px));background:var(--ui-a);color:var(--ui-ink);font-weight:800;padding:9px 20px;border-radius:100px;opacity:0;transition:opacity .2s;pointer-events:none}
.ui-toast.on{opacity:1}
.ui-undo{bottom:calc(24px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:14px;background:var(--ui-c);color:var(--ui-t);border:1px solid var(--ui-l);box-shadow:0 10px 30px #0008;padding:8px 10px 8px 18px;border-radius:100px;font-weight:700}
.ui-undo button{border:0;background:var(--ui-a);color:var(--ui-ink);font:inherit;font-weight:800;padding:6px 16px;border-radius:100px;cursor:pointer;min-height:36px}
.ui-off{position:fixed;top:0;inset-inline:0;z-index:10003;background:#dc2626;color:#fff;text-align:center;font-weight:700;font-size:.85rem;padding:6px 12px;transform:translateY(-110%);transition:transform .2s}
.ui-off.on{transform:none}

/* Skeleton */
.ui-sk{border-radius:18px;background:linear-gradient(90deg,var(--ui-e) 25%,var(--ui-l) 37%,var(--ui-e) 63%);background-size:400% 100%;animation:uiSk 1.3s ease infinite}
@keyframes uiSk{0%{background-position:100% 50%}100%{background-position:0 50%}}
.ui-sk-wrap{display:grid;gap:14px}
.ui-skg{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}

/* حالات فاضية */
.ui-empty{background:var(--ui-c);border:1px solid var(--ui-l);border-radius:18px;padding:34px 20px;text-align:center;margin-bottom:16px}
.ui-empty>i{font-size:3.2rem;color:var(--ui-a);margin-bottom:10px;width:1em;height:1em}
.ui-empty b{display:block;font-size:1.1rem;margin-bottom:4px}
.ui-empty p{margin:0 0 16px;color:var(--ui-d)}

/* جاهزية النشر */
.ui-ck{display:flex;gap:10px;align-items:center;padding:5px 0;color:var(--ui-d)}
.ui-ck.y{color:var(--ui-t)}.ui-ck.y i{color:#22c55e}
.ui-pb{height:8px;border-radius:8px;background:var(--ui-e);overflow:hidden;margin:8px 0}
.ui-pb i{display:block;height:100%;background:var(--ui-a);width:0}

/* جولة تعريفية */
.ui-tour{text-align:center}
.ui-tour>i{font-size:3rem;color:var(--ui-a);width:1em;height:1em;margin-bottom:8px}
.ui-tour b{display:block;font-size:1.15rem;margin-bottom:4px}
.ui-tour p{margin:0 0 14px;color:var(--ui-d)}
.ui-tour .ui-b{justify-content:center}
.ui-dots{display:flex;gap:6px;justify-content:center;margin-bottom:16px}
.ui-dots span{width:8px;height:8px;border-radius:50%;background:var(--ui-l)}
.ui-dots span.on{background:var(--ui-a)}

/* شريط سفلي للموبايل + زر للأعلى */
.ui-bn{display:none}
.ui-top{position:fixed;inset-inline-start:14px;bottom:18px;width:44px;height:44px;border-radius:50%;border:1px solid var(--ui-l);background:var(--ui-c);color:var(--ui-t);display:none;place-items:center;cursor:pointer;z-index:800;box-shadow:0 6px 20px #0006;padding:0}
.ui-top.on{display:grid}
@media(max-width:800px){
 .ui-bn{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;inset-inline:0;bottom:0;z-index:900;background:var(--ui-c);border-top:1px solid var(--ui-l);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));transition:transform .2s}
 .ui-bn.hide{transform:translateY(110%)}
 .ui-bn button{display:flex;flex-direction:column;align-items:center;gap:2px;border:0;background:none;color:var(--ui-d);font:inherit;font-size:.78rem;font-weight:700;padding:4px 2px;min-height:48px;cursor:pointer}
 .ui-bn button i{font-size:1.45rem}
 .ui-bn button.on{color:var(--ui-a)}
 .ui-bn button:focus-visible{outline:2px solid var(--ui-a);outline-offset:-2px;border-radius:10px}
 body.ui-hasnav{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
 body.ui-hasnav #adToast,body.ui-hasnav #sdToast,body.ui-hasnav .ui-toast,body.ui-hasnav .ui-undo{bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 body.ui-hasnav .ui-top{bottom:88px}
}

/* ---------- التحليلات ---------- */
.an{background:var(--ui-c);border:1px solid var(--ui-l);border-radius:18px;padding:18px;margin-bottom:14px;min-width:0}
.an-h{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.an-h>b{font-size:1.1rem}
.an-chips{display:flex;gap:6px;flex-wrap:wrap}
.an-chips button{border:1px solid var(--ui-l);background:none;color:var(--ui-d);font:inherit;font-size:.85rem;padding:4px 14px;border-radius:100px;cursor:pointer;min-height:34px}
.an-chips button.on{border-color:var(--ui-a);color:var(--ui-a);font-weight:700}
.an-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:14px}
.an-c{text-align:start;border:1px solid var(--ui-l);background:var(--ui-e);color:var(--ui-t);font:inherit;border-radius:16px;padding:12px 14px;cursor:pointer;display:block;min-width:0}
.an-c.on{border-color:var(--ui-a);box-shadow:inset 0 0 0 1px var(--ui-a)}
.an-c small{display:block;color:var(--ui-d);font-size:.82rem}
.an-c b{display:block;font-size:1.4rem;font-weight:800;line-height:1.3}
.an-d{font-size:.8rem;font-weight:800;color:var(--ui-d)}
.an-d.up{color:#22c55e}.an-d.dn{color:#dc2626}
.an-c svg{display:block;width:100%;height:28px;margin-top:6px}
.an-sp{fill:none;stroke-width:2}
.an-ct{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px;color:var(--ui-d);font-size:.85rem}
.an-cmp{display:flex;gap:8px;align-items:center;cursor:pointer;margin:0}
.an input[type=checkbox]{width:auto;accent-color:var(--ui-a)}
.an-chart{position:relative;direction:ltr;min-height:120px}
.an-chart svg{display:block;width:100%;height:auto;overflow:visible}
.an-gl{stroke:var(--ui-l);stroke-width:1}
.an-tx{fill:var(--ui-d);font-size:11px;font-family:inherit}
.an-line{fill:none;stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.an-prev{fill:none;stroke:var(--ui-d);stroke-width:1.8;stroke-dasharray:5 5;opacity:.7}
.an-cx{stroke:var(--ui-d);stroke-width:1;stroke-dasharray:3 3;visibility:hidden}
.an-dot{visibility:hidden;stroke:var(--ui-c);stroke-width:2}
.an-hit{touch-action:pan-y;cursor:crosshair}
.an-tip{position:absolute;top:0;transform:translateX(-50%);background:var(--ui-c);border:1px solid var(--ui-l);box-shadow:0 8px 24px #0008;border-radius:12px;padding:8px 12px;font-size:.82rem;pointer-events:none;white-space:nowrap;direction:rtl;z-index:2}
.an-tip[hidden]{display:none}
.an-tip b{display:block;font-size:1rem}
.an-tip span{color:var(--ui-d)}
.an-em{padding:40px 10px;text-align:center;color:var(--ui-d)}
.an-tb{margin-top:8px;font-size:.85rem}
.an-tb summary{cursor:pointer;color:var(--ui-d)}
.an-tb table{width:100%;border-collapse:collapse;margin-top:8px}
.an-tb th,.an-tb td{padding:5px 8px;border-bottom:1px solid var(--ui-l);text-align:start;font-weight:600}
.an-f{display:flex;justify-content:flex-end;margin-top:10px}
.an-full{width:min(96vw,760px)}
.an-in{max-height:88vh;overflow:auto}
.an-fh{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;gap:10px}
.an-tabs{display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;padding-bottom:2px}
.an-tabs button{flex:none;border:1px solid var(--ui-l);background:none;color:var(--ui-d);font:inherit;padding:5px 16px;border-radius:100px;cursor:pointer;min-height:36px}
.an-tabs button.on{border-color:var(--ui-a);color:var(--ui-a);font-weight:700}
.an-blk{border:1px solid var(--ui-l);border-radius:16px;padding:14px;margin-bottom:12px}
.an-blk h4{margin:0 0 10px;font-size:.95rem}
.an-r{margin:8px 0}
.an-r>div:first-child{display:flex;justify-content:space-between;gap:10px;font-size:.88rem}
.an-r>div:first-child span:first-child{overflow-wrap:anywhere}
.an-r>div:first-child span:last-child{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.an-tr{height:8px;border-radius:8px;background:var(--ui-e);overflow:hidden;margin-top:4px}
.an-tr i{display:block;height:100%;border-radius:8px}
.an-dn{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.an-ring{width:130px;height:130px;border-radius:50%;flex:none;display:grid;place-items:center}
.an-ring>div{width:84px;height:84px;border-radius:50%;background:var(--ui-c);display:grid;place-items:center;font-weight:800;text-align:center;line-height:1.2;font-size:.9rem}
.an-lg{flex:1;min-width:140px;font-size:.88rem}
.an-lg div{display:flex;gap:8px;align-items:center;margin:4px 0}
.an-lg i{width:10px;height:10px;border-radius:3px;flex:none}
.an-lg span{margin-inline-start:auto;font-weight:800}
@media(prefers-reduced-motion:reduce){.ui-toast,.ui-off,.ui-bn{transition:none}.ui-sk,.ui-busy::before{animation:none}.ad section.on,.sd section.on{animation:none}}

/* ui-sheet: ورقة كل الأقسام */
.ui-sheet{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}
.ui-sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.55);animation:uiFade .2s ease-out}
.ui-sheet-in{position:relative;width:min(100%,560px);max-height:82vh;max-height:82dvh;overflow:auto;background:var(--ui-c);color:var(--ui-t);border:1px solid var(--ui-l);border-bottom:0;border-radius:22px 22px 0 0;padding:14px 16px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 -12px 40px #0006;animation:uiUp .24s ease-out;font-family:'IBM Plex Sans Arabic',system-ui,sans-serif}
.ui-sheet-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.ui-sheet-h b{font-size:1.05rem}
.ui-sheet-x{width:40px;height:40px;border-radius:50%;border:1px solid var(--ui-l);background:none;color:var(--ui-t);display:grid;place-items:center;cursor:pointer;padding:0;font-size:1.1rem}
.ui-sheet-g{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ui-sheet-g button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:84px;padding:10px 6px;border:1px solid var(--ui-l);border-radius:16px;background:var(--ui-e);color:var(--ui-d);font:inherit;font-size:.82rem;font-weight:700;text-align:center;line-height:1.35;cursor:pointer}
.ui-sheet-g button i{font-size:1.6rem}
.ui-sheet-g button.on{border-color:var(--ui-a);color:var(--ui-a)}
.ui-sheet-g button.out{color:#dc2626;grid-column:1/-1;min-height:52px;flex-direction:row;gap:10px}
.ui-sheet button:focus-visible{outline:2px solid var(--ui-a);outline-offset:2px}
@keyframes uiUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
@media(min-width:801px){.ui-sheet{display:none}}
@media(prefers-reduced-motion:reduce){.ui-sheet-bg,.ui-sheet-in{animation:none}}

/* menu-scroll: القايمة المنسدلة تتسكرول (عشان «تسجيل الخروج» يبان) */
.td-menu,.sd-menu,.ad-menu,.td-nf,.sd-nf,.ad-nf{max-height:70vh;max-height:70dvh;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.td-menu>div,.sd-menu>div,.ad-menu>div{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))}
