/* =====================================================================
   app.css — أنماط روزنامة الفعاليات داخل موقع الجامعة

   الملفّ كُتب في منصّته الأصلية طبقةَ تجاوزٍ فوق assets/sru-ui.css (عُدّة
   الهوية)، وحين سكنت الروزنامة الموقع لم تُحمَّل العُدّة: الصفحة تحمّل
   ‎/sru.css‎ وهو لا يعرّف أيّاً من أصناف ‎.sru-*‎. فبقيت التبويبات والبطاقات
   والعناوين بلا طبقة أساس، ورسمها المتصفّح بزيّه الخام — خطّ Arial وحدٌّ
   ثلاثيّ الأبعاد وبطاقةٌ بلا سطحٍ أبيض.

   العلاج: الأصناف الأربعة المستعملة فعلاً نُقلت هنا حرفياً من العُدّة
   (كتلة «طبقة الأساس» أدناه)، وحُذف ملفّ sru-ui.css من المجلّد كي لا
   يُوهم أحداً مرّةً أخرى بأنه محمَّل. فالملفّ الآن مكتفٍ بنفسه.

   الثيم فاتح فقط وفق SRU_IDENTITY.md — لا وضع ليلي.
   ===================================================================== */

/* ═════════════════ طبقة الأساس — منقولة من sru-ui.css 2.0 ═════════════════
   لا تُعدَّل قيمةٌ هنا اجتهاداً: هي نصّ العُدّة الرسمية حرفاً بحرف. الرموز
   (‎--sru-purple‎ وأخواتها) تأتي من ‎/sru.css‎ ولا تُعاد هنا، فالعُدّة مرآةٌ
   له والتكرار يفتح باب الانحراف. */

.sru-container{max-width:960px;margin:0 auto;padding:0 22px}

.sru-nav-item{background:none;border:none;color:rgba(255,255,255,.85);font-family:inherit;
  font-size:14px;font-weight:600;padding:12px 16px;cursor:pointer;white-space:nowrap;
  border-bottom:3px solid transparent}
.sru-nav-item:hover{color:#fff}
.sru-nav-item.active{color:#fff;border-bottom-color:var(--sru-blue)}

.sru-title{font-weight:800;color:var(--sru-purple);margin:0}

/* انحرافٌ واحدٌ مقصود عن نصّ العُدّة: العُدّة تكتب هنا 8px، وهي تخالف
   رمزَها هي ‎--r-card:2px‎ وتخالف كل بطاقات الموقع (‎.card‎ في sru.css تستعمل
   الرمز). زوايا مستديرة وسط صفحاتٍ شبه قائمة الزوايا هي نفس ما اشتكى منه
   المالك. فالرمز هو المرجع، لا السطر. */
.sru-card{background:#fff;border:1px solid var(--sru-border);border-radius:var(--r-card);padding:18px}

/* ═════════════════ وصلُ الروزنامة بهوية الموقع ═════════════════
   ما دون هذا السطر ليس من العُدّة: هو ما تحتاجه الصفحة كي لا تبدو غريبةً
   بين صفحات الموقع. */

/* أزرارٌ خامٌّ لا يبلغها صنفٌ معرَّف تبقى بخطّ المتصفّح. القاعدة هنا تُغلق
   الباب كلَّه بدل مطاردة كل زرٍّ على حدة. */
button,input,select,textarea{font-family:inherit}

/* الموقع يرسم أيقوناته بسمك 1.8 (sru.js ← js/sru-icons.js)، وvendor/lucide
   يتجاهل ذلك الوسيط ويرسم بـ2 — فيظهر رأس الصفحة وذيلها أثقل خطّاً من بقية
   الموقع. وCSS يعلو على سمة العرض في SVG، فيُوحَّد السمك من هنا بلا لمس
   sru.js. أيقونات التواصل الاجتماعي مملوءة بلا حدّ فلا تتأثر. */
.topbar svg,.navbar svg,#footer svg{stroke-width:1.8}

/* رقعة لون الإدارة في التلميح — كانت مربّعاً نصّياً ■ */
.tp-sw{display:inline-block;width:9px;height:9px;border-radius:2px;vertical-align:-1px}

:root{
  /* حالات وظيفية — خارج لوحة الهوية الأساسية لكنها مشتقة منها نبرةً */
  --success:#1E7F63; --warning:#B26A12; --danger:#B32338;
  --success-bg:rgba(30,127,99,.10); --warning-bg:rgba(178,106,18,.12); --danger-bg:rgba(179,35,56,.10);

  --surface:#ffffff;
  --soft:var(--sru-purple-light);
  --line:var(--sru-border);
  --line-solid:#e4dcf0;

  /* الأنصاف والظلال من الحزمة الرسمية 2.0 حرفياً — لا قيم مؤلَّفة هنا.
     ‎--muted‎ و‎--text‎ و‎--r-card‎ تأتي من sru-ui.css ولا تُعاد هنا. */
  --r:var(--r-btn);               /* 2px */
  --shadow-1:var(--sh-soft);      /* 0 10px 28px rgba(31,13,51,.08) */
  --shadow-2:var(--sh-soft);
  --shadow-3:var(--sh);           /* 0 16px 44px rgba(31,13,51,.12) */
  --t:160ms cubic-bezier(.4,0,.2,1);

  --wide:1320px;                  /* التقويم يحتاج عرضاً أكبر من --container القياسي */
}

body.sru{background:var(--sru-bg)}
.ic{flex:none;vertical-align:middle}
/* الحاوية تتبع حاوية الموقع نفسها ليستقيم المحاذاة بين الروزنامة وبقية الصفحات */
.sru-container{width:min(var(--container),calc(100% - 40px));margin-inline:auto;max-width:none}
main.sru-container{padding-top:18px;padding-bottom:34px}

/* تذييل ملتصق بأسفل الشاشة حتى في الصفحات القصيرة (شاشة الدخول مثلاً) */
#root{min-height:100vh;display:flex;flex-direction:column}
#root > main,#root > .gate-wrap{flex:1 0 auto}
#root > .sru-foot{margin-top:auto}

.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;right:-9999px;top:8px;z-index:200;background:#fff;color:var(--sru-purple);
  padding:10px 16px;border-radius:var(--r);font-size:13px;font-weight:800;box-shadow:var(--shadow-3)}
.skip:focus{right:16px}
:focus-visible{outline:2px solid var(--sru-blue);outline-offset:2px}
.sru-topbar :focus-visible,.sru-navbar :focus-visible{outline-color:#fff}

@keyframes riseIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
.rise{animation:riseIn .4s cubic-bezier(.22,.9,.3,1) both}

/* ===================== الهيدر — بنية الحزمة الرسمية 2.0 ===================== */
.sru-head{position:relative}
/* الطبقة ١: الشريط العلوي — خلفية --sru-purple-dark · ارتفاع 42px */
.sru-topbar{padding:0}
.tb-in{display:flex;align-items:center;justify-content:space-between;gap:16px;
  min-height:42px;padding:6px 22px;flex-wrap:wrap}
.tb-name{display:flex;flex-direction:column;line-height:1.45}
.tb-name b{font-size:14px;font-weight:800}
.tb-name span{font-size:11.5px;opacity:.78;font-weight:600}
.tb-side{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.tb-date,.tb-hijri{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;
  color:rgba(255,255,255,.86)}
.tb-hijri{opacity:.72}
.tb-acts{display:flex;gap:7px}
.tb-btn{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.10);
  color:#fff;border:1px solid rgba(255,255,255,.24);border-radius:var(--r-btn);
  padding:5px 12px;font-size:12.5px;font-weight:700;font-family:inherit;cursor:pointer;
  text-decoration:none;transition:var(--t);min-height:34px;white-space:nowrap;flex-shrink:0}
.tb-btn:hover{background:rgba(255,255,255,.2)}

/* الطبقة ٢: شريط التنقّل — خلفية --sru-purple · ارتفاع 66px · لاصق ويكتسب .stuck */
.sru-navbar{position:sticky;top:0;z-index:40;padding:0;transition:box-shadow .2s}
.sru-navbar.stuck{box-shadow:0 8px 26px rgba(58,20,100,.28)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:14px;
  min-height:66px;padding:0 22px}
/* الشعار الأبيض فوق البنفسجي — قاعدة الحزمة: الملوّن على الفاتح والأبيض على الداكن.
   حدّان أقصيان وعرضٌ وارتفاعٌ تلقائيان كي لا يُضغط الشعار (نسبته 6.05 عرضاً لارتفاع). */
#root .brand{display:inline-flex;align-items:center;flex:none}
#root .brand img{width:auto;height:auto;max-width:100%;max-height:36px;display:block}
/* رجوع آمن: إن غاب logo-white.png يُعرض الملوّن داخل رقعة بيضاء ليبقى مرئياً */
#root .brand.logo-chip{background:#fff;border-radius:var(--r-btn);padding:5px 10px}
#root .brand.logo-chip img{max-height:26px}
.nav-items{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;margin-inline-start:auto}
.nav-items::-webkit-scrollbar{display:none}
.sru-nav-item{display:inline-flex;align-items:center;gap:7px;min-height:44px}
.sru-nav-item.active{border-bottom-color:#fff}


/* ===================== شريط الملخّص — بطاقة الفعالية القادمة هي النجمة الآن ===================== */
/* سطرٌ واحد لا بطاقةٌ بعرض الصفحة — الارتفاع هنا يُبعِد المحتوى عن العين */
.sb-next{display:flex;align-items:center;gap:10px;min-height:0;padding:9px 14px;flex-wrap:wrap}
.sb-next-k{font-size:12px;font-weight:800;color:var(--sru-purple);
  background:var(--sru-purple-light);border-radius:var(--r);padding:2px 9px;flex:none}
.sb-next-t{font-size:14px;font-weight:700;color:var(--text);flex:1 1 auto;min-width:0;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sb-next-when,.sb-next-badge{font-size:12.5px;flex:none}
.sb-next-when{color:var(--muted)}
.sumbar{background:linear-gradient(180deg,#fff,var(--sru-purple-light) 220%);
  border-bottom:1px solid var(--line-solid)}
.sumbar-in{display:flex;align-items:center;gap:20px;padding:16px 22px;flex-wrap:wrap}

.sb-item{display:flex;flex-direction:column;gap:2px;min-width:0;margin-right:auto;
  border-right:2px solid var(--line-solid);padding-right:16px}
.sb-k{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--muted)}
.sb-v{font-size:13.5px;font-weight:800;color:var(--text)}
.sb-s{font-size:11.5px;font-weight:600;color:var(--muted)}

/* بطاقة الفعالية القادمة — أعلى يمين الصفحة، بلمسة اللون الأزرق (--sru-blue) الموثَّق رسمياً */
.sb-next{display:flex;align-items:center;gap:12px;min-width:0;
  background:#fff;border:1px solid var(--sru-blue-light);border-radius:14px;
  padding:9px 16px 9px 9px;box-shadow:0 3px 10px rgba(10,110,170,.10);
  position:relative;overflow:hidden}
.sb-next-hero{padding:12px 20px 12px 12px;box-shadow:0 5px 16px rgba(10,110,170,.14)}
.sb-next-hero .sb-next-ic{width:40px;height:40px}
.sb-next-hero .sb-next-t{font-size:14.5px;max-width:280px}
.sb-next::before{content:'';position:absolute;top:0;right:0;bottom:0;width:4px;
  background:linear-gradient(var(--sru-blue),var(--sru-purple))}
.sb-next-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;
  color:var(--sru-blue);background:var(--sru-blue-light)}
.sb-next-b{display:flex;flex-direction:column;gap:1px;min-width:0}
.sb-next-k{font-size:10.5px;font-weight:700;color:var(--muted)}
.sb-next-t{font-size:13.5px;font-weight:800;color:var(--text);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;max-width:220px}
.sb-next-when{font-size:11.5px;font-weight:600;color:var(--muted);flex:none}
.sb-next-badge{flex:none;font-size:11.5px;font-weight:800;color:#fff;
  background:var(--sru-blue);border-radius:20px;padding:4px 12px}
.sb-next-empty{color:var(--muted);box-shadow:none;border-style:dashed}
.sb-next-empty::before{display:none}
.sb-next-empty .sb-next-t{font-weight:700;color:var(--muted);max-width:none}

/* ===================== مؤشرات KPI ===================== */
.kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:16px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
  padding:14px 15px;display:flex;align-items:center;gap:12px;text-align:right;
  box-shadow:var(--shadow-1);transition:var(--t);font-family:inherit}
button.kpi{cursor:pointer}
button.kpi:hover{box-shadow:var(--shadow-2);border-color:rgba(80,30,140,.24)}
.kpi .box{width:40px;height:40px;border-radius:var(--r);display:grid;place-items:center;flex:none}
.kpi .num{font-size:24px;font-weight:900;line-height:1.1;font-variant-numeric:tabular-nums}
.kpi .cap{font-size:12px;color:var(--text);font-weight:700}
.kpi .sub{font-size:10.5px;color:var(--muted);margin-top:1px}

/* ‎.btn‎ و‎.brand‎ محصورتان بـ#root أدناه: الاسمان يتقاسمهما الموقع وهذه
   الصفحة، وهذا الملفّ يُحمَّل بعد sru.css فيغلبه في ترويسة الموقع نفسها.
   قِيس قبل الحصر: «قدّم الآن» 40px هنا و50px في كل صفحةٍ أخرى. */

/* ===================== الأقسام والبطاقات ===================== */
/* ‎.sec‎ اسمٌ يتقاسمه الموقع وهذه الصفحة: في sru.css قسمُ صفحةٍ كامل
   بحشو 80px علويّ وسفليّ، وهنا مجرّد غلافٍ للمحتوى. فكان الفراغُ الظاهر
   فوق المحتوى وتحته حشوَ الموقع لا حشونا. */
#root .sec{padding:0;margin-top:10px}
.sec-h{display:flex;align-items:center;gap:10px;margin-bottom:11px;flex-wrap:wrap}
.sec-h .si{width:30px;height:30px;border-radius:var(--r);display:grid;place-items:center;
  color:#fff;flex:none;background:var(--sru-purple)}
.sec-h h2{font-size:16px}
.sec-h .note{font-size:11.5px;color:var(--muted);font-weight:600}
.sru-card{box-shadow:var(--shadow-1)}
.panel-filters{padding:15px 16px}

/* شريط تبديل العرض — داخل الصفحة تحت البحث والفلاتر، لا في الهيدر العلوي */
.view-switch{margin-top:0;background:var(--surface);border:1px solid var(--sru-border);
  border-radius:var(--r);padding:5px;box-shadow:var(--shadow-1);
  display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:nowrap}

/* ── زرّ التصفية — في شريط التبويبات لا فوقه ─────────────────────────
   اللوحة كانت تأخذ 1124px تحت البطل مباشرةً فتدفع أوّل محتوىً حقيقيّ إلى
   ما دون الشاشة بمرّتين. صارت خلف هذا الزرّ: صفرُ ارتفاعٍ ما لم تُطلَب. */
.flt-btn{display:inline-flex;align-items:center;gap:7px;padding:9px 14px;min-height:auto;
  border:1px solid var(--line);border-radius:calc(var(--r) - 3px);background:#fff;
  color:var(--text);font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;
  transition:var(--t);white-space:nowrap;flex:none}
.flt-btn:hover{border-color:var(--sru-purple);color:var(--sru-purple)}
.flt-btn.on{background:var(--sru-purple-light);border-color:var(--sru-purple);color:var(--sru-purple)}
.flt-btn[aria-expanded="true"] .flt-chev{transform:rotate(180deg)}
.flt-chev{transition:transform var(--t)}
/* عدّاد الفلاتر العاملة — رقمٌ لا يُخطئه النظر، فلا تبقى تصفيةٌ منسيّة */
.flt-n{display:grid;place-items:center;min-width:19px;height:19px;padding:0 5px;
  border-radius:10px;background:var(--sru-purple);color:#fff;font-size:11.5px;font-weight:800}
@media (max-width:560px){.flt-btn-t{display:none}}

/* اللوحة مطويّة: display لا ارتفاعٌ صفريّ — فلا يصلها Tab وهي مخفيّة */
.panel-filters.hid{display:none}
.view-switch .nav-items{gap:4px;margin-inline-start:0;min-width:0;flex:0 1 auto}
.view-switch .sru-nav-item{color:var(--text);border-radius:calc(var(--r) - 3px);
  padding:9px 16px;min-height:auto;border-bottom:none;font-weight:700}
.view-switch .sru-nav-item.active{background:var(--sru-purple);color:#fff}
.view-switch .sru-nav-item:not(.active):hover{background:var(--sru-purple-light);color:var(--text)}

/* ===================== الفلاتر ===================== */
#root .pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#root .pill{position:relative}
.pill-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:var(--r);
  border:1px solid var(--line);background:#fff;color:var(--text);font-family:inherit;
  font-size:12.5px;font-weight:700;cursor:pointer;transition:var(--t);white-space:nowrap;min-height:40px}
.pill-btn:hover{border-color:var(--sru-purple);color:var(--sru-purple)}
.pill-btn.open{border-color:var(--sru-purple);box-shadow:0 0 0 3px rgba(80,30,140,.10)}
.pill-btn.act{background:var(--sru-purple);border-color:var(--sru-purple);color:#fff}
.pill-btn.act:hover{background:var(--sru-purple-dark);color:#fff}
.pill-btn .cv{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill-btn .car{opacity:.55;transition:transform var(--t)}
.pill-btn.open .car{transform:rotate(180deg)}
.pill-x{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;
  background:rgba(255,255,255,.3);flex:none}
.pill-x:hover{background:rgba(255,255,255,.55)}

.pop{position:absolute;top:calc(100% + 7px);right:0;z-index:45;min-width:250px;max-width:330px;
  background:#fff;border:1px solid var(--line-solid);border-radius:var(--r-card);
  box-shadow:var(--shadow-3);padding:8px;animation:pop .16s cubic-bezier(.2,.9,.3,1.1)}
.pop.left{right:auto;left:0}
.pop-s{position:relative;margin-bottom:6px}
.pop-s input{width:100%;background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:9px 32px 9px 11px;font-size:12.5px;font-weight:600;font-family:inherit}
.pop-s input:focus{outline:2px solid var(--sru-blue);border-color:var(--sru-blue)}
.pop-s .i{position:absolute;top:10px;right:10px;color:var(--muted);pointer-events:none}
.pop-l{max-height:264px;overflow-y:auto;display:flex;flex-direction:column;gap:1px}
.pop-l::-webkit-scrollbar{width:7px}
.pop-l::-webkit-scrollbar-thumb{background:var(--line-solid);border-radius:5px}
.pop-g{font-size:10px;font-weight:800;color:var(--muted);padding:9px 9px 4px}
.pop-i{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:var(--r);
  font-size:12.5px;font-weight:600;text-align:right;width:100%;color:var(--text);
  background:none;border:none;font-family:inherit;cursor:pointer;transition:var(--t);min-height:40px}
.pop-i:hover{background:var(--soft)}
.pop-i.on{background:var(--soft);color:var(--sru-purple);font-weight:800}
.pop-i .ck{margin-right:auto;opacity:0;flex:none}
.pop-i.on .ck{opacity:1}
.pop-i .dot{width:10px;height:10px;border-radius:2px;flex:none}
.pop-i .tx{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pop-e{font-size:12px;color:var(--muted);padding:16px;text-align:center;font-weight:600}
.pop-hd{font-size:11px;font-weight:800;color:var(--muted);padding:3px 9px 8px;
  display:flex;align-items:center;gap:6px}

.fbar-b{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:11px;flex-wrap:wrap}
.res{font-size:12.5px;color:var(--muted);font-weight:600}
.res b{color:var(--sru-purple);font-weight:800}
.lnk{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;
  color:var(--sru-purple);background:none;border:none;font-family:inherit;cursor:pointer}
.lnk:hover{text-decoration:underline}

.legend{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;
  border-top:1px solid var(--line-solid)}
.legend-count{width:100%;display:flex;align-items:center;gap:9px;margin-bottom:10px}
.lc-badge{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  color:#fff;background:linear-gradient(135deg,var(--sru-purple),var(--sru-purple-dark))}
.lc-num{font-size:21px;font-weight:900;line-height:1;color:var(--sru-purple);
  font-variant-numeric:tabular-nums}
.lc-lbl{font-size:12.5px;font-weight:700;color:var(--muted)}
.lg-t{width:100%;font-size:11px;font-weight:800;color:var(--muted);margin-bottom:3px;
  display:flex;align-items:center;gap:6px}
.lg{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;
  padding:5px 11px;border-radius:20px;border:1px solid var(--line);background:#fff;
  color:var(--text);font-family:inherit;cursor:pointer;transition:var(--t)}
.lg:hover{border-color:var(--sru-purple)}
.lg .sq{width:10px;height:10px;border-radius:2px;flex:none}
.lg .n{font-size:10px;opacity:.65}
.lg.on{color:#fff;border-color:transparent}

/* ===================== رادار التعارضات ===================== */
.cflag{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:900;
  padding:2px 7px;border-radius:20px;flex:none;line-height:1.6}
.cflag.no{background:var(--danger-bg);color:var(--danger)}
.cflag.wr{background:var(--warning-bg);color:var(--warning)}
.conf{background:#fff;border:1px solid var(--line);border-right:3px solid var(--warning);
  border-radius:var(--r-card);box-shadow:var(--shadow-1);margin-bottom:16px;overflow:hidden}
.conf.crit{border-right-color:var(--danger)}
.conf-h{display:flex;align-items:center;gap:11px;padding:13px 16px;width:100%;text-align:right;
  background:none;border:none;font-family:inherit;cursor:pointer;transition:var(--t)}
.conf-h:hover{background:var(--soft)}
.conf-h .ci{width:32px;height:32px;border-radius:var(--r);display:grid;place-items:center;
  flex:none;color:#fff}
.conf-h h3{font-size:14px;font-weight:800;color:var(--text)}
.conf-h p{font-size:11.5px;color:var(--muted);font-weight:600;margin:2px 0 0}
.conf-h .car{margin-right:auto;color:var(--muted);transition:transform var(--t)}
.conf-h.open .car{transform:rotate(180deg)}
.conf-b{border-top:1px solid var(--line-solid);max-height:360px;overflow-y:auto}
.cf-r{display:flex;gap:11px;align-items:flex-start;padding:12px 16px;border-bottom:1px solid var(--line-solid)}
.cf-r:last-child{border-bottom:none}
.cf-r .cf-i{width:26px;height:26px;border-radius:var(--r);display:grid;place-items:center;flex:none;margin-top:1px}
.cf-r.no .cf-i{background:var(--danger-bg);color:var(--danger)}
.cf-r.wr .cf-i{background:var(--warning-bg);color:var(--warning)}
.cf-r .cf-t{font-size:12.5px;font-weight:800;margin-bottom:3px;display:flex;align-items:center;
  gap:8px;flex-wrap:wrap}
.cf-r .cf-m{font-size:11.5px;font-weight:600;color:var(--muted);line-height:1.75}
.cf-r .cf-f{font-size:11px;font-weight:700;color:var(--sru-purple);margin-top:5px;
  display:flex;gap:5px;align-items:flex-start;line-height:1.7}
.cf-go{font-size:10.5px;font-weight:800;color:var(--sru-purple);padding:5px 10px;border-radius:var(--r);
  background:var(--soft);border:none;font-family:inherit;cursor:pointer;flex:none;transition:var(--t)}
.cf-go:hover{background:var(--sru-purple);color:#fff}

/* ===================== التقويم ===================== */
.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-bottom:13px;flex-wrap:wrap}
.cal-nav .mt{text-align:center}
.cal-nav .mt h3{font-size:18px;font-weight:800;color:var(--sru-purple)}
.cal-nav .mt span{font-size:11.5px;color:var(--muted);font-weight:600}
.nvb{width:40px;height:40px;border-radius:var(--r);background:var(--soft);color:var(--sru-purple);
  display:grid;place-items:center;border:none;cursor:pointer;transition:var(--t)}
.nvb:hover{background:var(--sru-purple);color:#fff}
.cal-tools{display:flex;align-items:center;gap:7px}
.todaybtn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;
  padding:0 14px;min-height:40px;border-radius:var(--r);background:var(--soft);color:var(--sru-purple);
  border:none;font-family:inherit;cursor:pointer;transition:var(--t)}
.todaybtn:hover{background:var(--sru-purple);color:#fff}

.grid7{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.wd{text-align:center;font-size:11.5px;font-weight:800;color:var(--muted);padding:6px 0}
.cell{min-height:118px;background:#fff;border:1px solid var(--line-solid);border-radius:var(--r);
  padding:6px;display:flex;flex-direction:column;gap:4px;transition:var(--t);overflow:hidden}
.cell.empty{background:transparent;border-color:transparent}
.cell.wk{background:#faf8fd}
.cell.today{border-color:var(--sru-purple);box-shadow:inset 0 0 0 1px var(--sru-purple)}
.cell.past{opacity:.6}
.cell-h{display:flex;align-items:center;justify-content:space-between;gap:4px}
.cell-h .dn{font-size:13px;font-weight:800;font-variant-numeric:tabular-nums}
.cell-h .hj{font-size:9.5px;color:var(--muted);font-weight:600}
.cell-h .cfd{width:7px;height:7px;border-radius:50%;flex:none}
.chip{display:flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;padding:4px 5px;
  border-radius:var(--r);text-align:right;width:100%;line-height:1.35;transition:var(--t);
  background:#fff;border:1px solid var(--line);font-family:inherit;cursor:pointer;color:var(--text)}
.chip:hover{border-color:var(--sru-purple);box-shadow:var(--shadow-1)}
.chip .sq{width:20px;height:20px;border-radius:3px;flex:none;color:#fff;display:grid;
  place-items:center;font-size:9.5px;font-weight:900}
.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.more{font-size:10px;color:var(--muted);font-weight:700;text-align:center;padding:3px;
  background:none;border:none;font-family:inherit;width:100%}
.more.tap{cursor:pointer;color:var(--sru-purple);border-radius:var(--r);transition:var(--t)}
.more.tap:hover{background:var(--soft)}
.cal-empty{text-align:center;padding:26px 16px;color:var(--muted);font-size:12.5px;font-weight:700}

/* ===================== البطاقات القابلة للقلب ===================== */
.mgroup{margin-bottom:20px}
.mgroup-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.mgroup-h .bar{height:20px;width:3px;border-radius:2px;background:var(--sru-purple)}
.mgroup-h h4{font-size:15px;font-weight:800;color:var(--sru-purple)}
.mgroup-h .cnt{font-size:11.5px;color:var(--muted);font-weight:700}
.evs{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:13px}
.flipwrap{perspective:1500px;height:214px}
.flipper{position:relative;width:100%;height:100%;transform-style:preserve-3d;
  transition:transform .55s cubic-bezier(.34,.08,.2,1);will-change:transform}
.flipwrap.on .flipper{transform:rotateY(180deg)}
.face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
  border-radius:var(--r-card);overflow:hidden;background:#fff;border:1px solid var(--line);
  box-shadow:var(--shadow-1);display:flex;-webkit-transform-style:preserve-3d;
  transition:visibility 0s linear .28s}
.face.back{transform:rotateY(180deg);flex-direction:column}
.flipwrap.on .face.front{visibility:hidden}
.flipwrap:not(.on) .face.back{visibility:hidden}
.flipwrap:not(.on) .face.front:hover{box-shadow:var(--shadow-2)}
.face.front{cursor:pointer}
.dbox{flex:none;width:62px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:2px;color:#fff;padding:6px 4px}
.dbox .d{font-size:22px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.dbox .m{font-size:10px;font-weight:700;opacity:.94}
.dbox .hj{font-size:8.5px;opacity:.8;margin-top:3px;text-align:center;line-height:1.3}
.fbody{flex:1;min-width:0;padding:12px 13px;display:flex;flex-direction:column;gap:7px;text-align:right}
.fbody h5{font-size:13.5px;font-weight:800;line-height:1.5;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.deptline{display:flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800}
.tags{display:flex;flex-wrap:wrap;gap:5px;overflow:hidden;max-height:48px}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;
  padding:3px 8px;border-radius:20px;background:var(--soft);color:var(--sru-purple)}
.tag.gr{background:var(--success-bg);color:var(--success)}
.tag.wr{background:var(--warning-bg);color:var(--warning)}
.tag.dg{background:var(--danger-bg);color:var(--danger)}
.tag.bl{background:var(--sru-blue-light);color:var(--sru-blue)}
.evfoot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}
.rs{display:flex;align-items:center;gap:9px;font-size:10.5px;font-weight:800}
.rs i{display:inline-flex;align-items:center;gap:3px;font-style:normal}
.mini{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;
  padding:7px 11px;border-radius:var(--r);background:var(--soft);color:var(--sru-purple);
  border:none;font-family:inherit;cursor:pointer;transition:var(--t)}
.mini:hover{background:var(--sru-purple);color:#fff}
.mini.ro{background:transparent;border:1px solid var(--line);color:var(--muted)}
.mini.ro:hover{background:var(--soft);color:var(--sru-purple)}
.bkh{padding:10px 13px;color:#fff;font-size:12px;font-weight:800;display:flex;
  align-items:center;justify-content:space-between;gap:8px}
.bkh span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bkb{flex:1;padding:12px 13px;display:flex;flex-direction:column;gap:8px}
.bkb select,.bkb input{width:100%;padding:8px 11px;border:1px solid var(--line);
  border-radius:var(--r);font-family:inherit;font-size:12.5px;background:#fff;color:var(--text)}
.rbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.rbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px;
  border-radius:var(--r);font-size:12px;font-weight:800;border:none;font-family:inherit;
  cursor:pointer;transition:var(--t)}
.rbtn.y{background:var(--success-bg);color:var(--success)}
.rbtn.y:hover,.rbtn.y.on{background:var(--success);color:#fff}
.rbtn.n{background:var(--danger-bg);color:var(--danger)}
.rbtn.n:hover,.rbtn.n.on{background:var(--danger);color:#fff}
.rbtn.g{background:var(--soft);color:var(--muted)}
.rbtn.g:hover{background:var(--line-solid)}
.rmsg{font-size:11px;font-weight:700;color:var(--muted);line-height:1.6;min-height:17px}
.cfm{display:flex;gap:7px;align-items:flex-start;background:var(--warning-bg);
  border:1px solid rgba(178,106,18,.28);border-radius:var(--r);padding:8px 10px;
  font-size:11px;font-weight:600;line-height:1.6}
.rback{align-self:flex-start;font-size:11px;font-weight:800;color:var(--muted);
  display:inline-flex;gap:5px;align-items:center;background:none;border:none;
  font-family:inherit;cursor:pointer}
.rback:hover{color:var(--sru-purple)}

/* ===================== الجدول الزمني ===================== */
.tl-g{margin-bottom:18px}
.tl-gh{display:flex;align-items:center;gap:9px;margin-bottom:9px}
.tl-gh .pipp{height:8px;width:8px;border-radius:50%;flex:none}
.tl-gh h4{font-size:13.5px;font-weight:800}
.tl-gh span{font-size:11px;font-weight:700;color:var(--muted)}
.tl-row{display:flex;gap:12px;align-items:stretch;background:#fff;border:1px solid var(--line);
  border-radius:var(--r-card);padding:11px 13px;margin-bottom:7px;transition:var(--t);
  width:100%;text-align:right;font-family:inherit;cursor:pointer}
.tl-row:hover{box-shadow:var(--shadow-2);border-color:rgba(80,30,140,.24)}
.tl-row.done{opacity:.6}
.tl-rail{width:3px;border-radius:2px;flex:none}
.tl-d{flex:none;width:54px;text-align:center;display:flex;flex-direction:column;
  justify-content:center;gap:1px}
.tl-d .dd{font-size:19px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums}
.tl-d .mm{font-size:10px;font-weight:700;color:var(--muted)}
.tl-d .ww{font-size:9.5px;font-weight:700;color:var(--muted)}
.tl-c{flex:1;min-width:0}
.tl-c h5{font-size:13px;font-weight:800;line-height:1.55;margin-bottom:4px}
.tl-c .tl-m{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:10.5px;
  font-weight:700;color:var(--muted)}
.tl-when{flex:none;align-self:center;font-size:10.5px;font-weight:800;padding:5px 11px;
  border-radius:20px;background:var(--soft);color:var(--sru-purple);white-space:nowrap}
.tl-when.soon{background:var(--warning-bg);color:var(--warning)}
.tl-when.now{background:var(--success-bg);color:var(--success)}

/* ===================== الرسوم والجداول ===================== */
.cgrid{display:grid;grid-template-columns:1.35fr 1fr;gap:13px}
.cbox{background:#fff;border:1px solid var(--line);border-radius:var(--r-card);
  padding:16px;box-shadow:var(--shadow-1)}
.cbox h4{font-size:14px;font-weight:800;margin-bottom:12px;display:flex;align-items:center;
  gap:8px;color:var(--text)}
.cwrap{position:relative;height:295px}
.tbl-wrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl th{background:var(--sru-purple);color:#fff;font-weight:700;padding:10px;
  text-align:right;font-size:12px;white-space:nowrap}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--line-solid);font-weight:600;
  vertical-align:middle}
.tbl tbody tr:hover td{background:var(--soft)}
.sq-i{display:inline-block;width:10px;height:10px;border-radius:2px;vertical-align:middle}
.pb{height:7px;border-radius:4px;background:var(--soft);overflow:hidden;min-width:70px}
.pb i{display:block;height:100%;border-radius:4px;transition:width .6s ease}
.rlist{max-height:230px;overflow-y:auto;border:1px solid var(--line-solid);border-radius:var(--r-card)}
.iss{max-height:260px;overflow-y:auto;border:1px solid var(--line-solid);
  border-radius:var(--r-card);margin-top:11px}
.iss-r{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;
  border-bottom:1px solid var(--line-solid);font-size:12px;font-weight:600;line-height:1.6}
.iss-r:last-child{border-bottom:none}
.iss-n{flex:none;min-width:52px;font-weight:800;font-size:11px;padding:3px 8px;
  border-radius:20px;text-align:center;display:inline-block}
.iss-n.ok{background:var(--success-bg);color:var(--success)}
.iss-n.no{background:var(--danger-bg);color:var(--danger)}
.iss-n.wr{background:var(--warning-bg);color:var(--warning)}
.sum{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:4px}
.sum div{background:var(--sru-bg);border:1px solid var(--line);border-radius:var(--r-card);
  padding:11px;text-align:center}
.sum b{display:block;font-size:22px;font-weight:900;line-height:1.2}
.sum span{font-size:11px;font-weight:700;color:var(--muted)}
.rrow{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:9px 12px;
  border-bottom:1px solid var(--line-solid);font-size:12.5px;font-weight:700}
.rrow:last-child{border-bottom:none}
.empty-st{text-align:center;padding:48px 20px;color:var(--muted)}
.empty-st h4{font-size:15px;font-weight:800;color:var(--text);margin:12px 0 5px}
.empty-st p{font-size:12.5px}

/* الخريطة الحرارية */
.hm{overflow-x:auto;padding-bottom:4px}
.hm table{border-collapse:separate;border-spacing:3px}
.hm th{font-size:9.5px;font-weight:800;color:var(--muted);padding:0 2px;text-align:center;min-width:17px}
.hm td.mlbl{font-size:11px;font-weight:800;color:var(--text);padding-left:8px;
  white-space:nowrap;text-align:right}
.hm .hc{width:17px;height:17px;border-radius:2px;background:var(--soft);display:block;
  transition:var(--t);border:1px solid transparent}
.hm .hc.has{cursor:pointer}
.hm .hc.has:hover{transform:scale(1.3);border-color:var(--text)}
.hm .hc.wk{background:var(--sru-bg);border-color:var(--line-solid)}
.hm-lg{display:flex;align-items:center;gap:7px;margin-top:11px;font-size:10.5px;
  font-weight:700;color:var(--muted)}
.hm-lg i{width:15px;height:15px;border-radius:2px;display:inline-block}

/* أجندة القيادات */
.la-top{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;margin-bottom:12px}
.la-top .fld,.la-top .sru-field{flex:1;min-width:230px}
.la-s{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:12px}
.la-s div{background:var(--sru-bg);border:1px solid var(--line);border-radius:var(--r-card);
  padding:10px;text-align:center}
.la-s b{display:block;font-size:20px;font-weight:900;line-height:1.25}
.la-s span{font-size:10.5px;font-weight:700;color:var(--muted)}
.la-l{border:1px solid var(--line-solid);border-radius:var(--r-card);max-height:290px;overflow-y:auto}
.la-r{display:flex;align-items:center;gap:10px;padding:10px 12px;
  border-bottom:1px solid var(--line-solid);font-size:12px;font-weight:700;width:100%;
  text-align:right;background:none;border-left:none;border-right:none;border-top:none;
  font-family:inherit;cursor:pointer;transition:var(--t)}
.la-r:last-child{border-bottom:none}
.la-r:hover{background:var(--soft)}
.la-r .lad{flex:none;font-size:10.5px;font-weight:800;color:var(--muted);min-width:72px}
.la-r .lat{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ===================== النوافذ ===================== */
.ov{position:fixed;inset:0;background:rgba(36,20,54,.55);z-index:90;display:flex;
  align-items:center;justify-content:center;padding:18px;animation:fade .16s ease}
.mdl{background:#fff;border-radius:var(--r-card);box-shadow:var(--shadow-3);width:100%;
  max-width:680px;max-height:92vh;overflow-y:auto;animation:pop .2s cubic-bezier(.2,.9,.3,1.1)}
.mdl.sm{max-width:430px}
.mdl.wide{max-width:840px}
.mdl-h{color:#fff;padding:15px 18px;display:flex;align-items:center;justify-content:space-between;
  gap:12px;background:var(--sru-purple-dark)}
.mdl-h h3{font-size:15.5px;font-weight:800;line-height:1.45;margin:0}
.xb{width:32px;height:32px;border-radius:var(--r);background:rgba(255,255,255,.15);color:#fff;
  display:grid;place-items:center;flex:none;border:none;cursor:pointer;transition:var(--t)}
.xb:hover{background:rgba(255,255,255,.3)}
.mdl-b{padding:18px}
.dl{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}
.di{background:var(--sru-bg);border:1px solid var(--line);border-radius:var(--r);padding:11px 13px}
.di .k{font-size:10.5px;font-weight:700;color:var(--muted);display:flex;align-items:center;
  gap:5px;margin-bottom:5px}
.di .v{font-size:13.5px;font-weight:700;line-height:1.55}
.di.full{grid-column:1/-1}
.mdl-f{display:flex;gap:8px;justify-content:flex-start;padding:0 18px 18px;flex-wrap:wrap}
#root .btn{display:inline-flex;align-items:center;gap:7px;padding:0 16px;min-height:40px;
  border-radius:var(--r);font-size:13px;font-weight:700;border:1px solid transparent;
  font-family:inherit;cursor:pointer;text-decoration:none;transition:var(--t)}
#root .btn.p{background:var(--sru-purple);color:#fff}
#root .btn.p:hover{background:var(--sru-purple-dark)}
#root .btn.o{background:#fff;color:var(--sru-purple);border-color:var(--sru-purple)}
#root .btn.o:hover{background:var(--soft)}
#root .btn.d{background:#fff;color:var(--danger);border-color:var(--danger)}
#root .btn.d:hover{background:var(--danger);color:#fff}
#root .btn.cal{background:#fff;color:var(--sru-blue);border-color:var(--sru-blue)}
#root .btn.cal:hover{background:var(--sru-blue);color:#fff}
#root .btn[disabled]{pointer-events:none}

.frm{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.frm .full{grid-column:1/-1}
.fld label{display:block;font-size:12px;font-weight:700;margin-bottom:5px;color:var(--text)}
.inp,select.inp,textarea.inp{width:100%;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);padding:9px 11px;font-size:13px;font-weight:500;font-family:inherit;
  color:var(--text)}
.inp:focus{outline:2px solid var(--sru-blue);border-color:var(--sru-blue)}
select.inp optgroup{font-weight:800;color:var(--sru-purple)}
.chks{display:flex;flex-wrap:wrap;gap:6px;background:var(--sru-bg);border:1px solid var(--line);
  border-radius:var(--r);padding:9px}
.chk{font-size:11.5px;font-weight:700;padding:6px 12px;border-radius:20px;background:#fff;
  border:1px solid var(--line);color:var(--text);font-family:inherit;cursor:pointer;
  transition:var(--t);min-height:32px}
.chk.on{background:var(--sru-purple);color:#fff;border-color:var(--sru-purple)}
.warnbox{display:flex;gap:9px;align-items:flex-start;background:var(--warning-bg);
  border:1px solid rgba(178,106,18,.26);border-radius:var(--r);padding:11px 13px;
  font-size:12px;font-weight:600;color:var(--text);line-height:1.65;margin-bottom:14px}
.warnbox .wi{color:var(--warning);flex:none;margin-top:1px}

/* ===================== التنبيهات ===================== */
.toasts{position:fixed;bottom:18px;left:18px;z-index:120;display:flex;flex-direction:column;
  gap:9px;max-width:min(400px,calc(100vw - 36px))}
.toast{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line-solid);
  border-right:3px solid var(--sru-purple);border-radius:var(--r);box-shadow:var(--shadow-3);
  padding:11px 13px;font-size:12.5px;font-weight:700;line-height:1.6;
  animation:pop .22s cubic-bezier(.2,.9,.3,1.1)}
.toast.ok{border-right-color:var(--success);color:var(--success)}
.toast.no{border-right-color:var(--danger);color:var(--danger)}
.toast.wr{border-right-color:var(--warning);color:var(--warning)}
.toast .tmsg{flex:1;min-width:0;color:var(--text)}
.toast .tact{font-size:11.5px;font-weight:800;color:var(--sru-purple);padding:6px 10px;
  border-radius:var(--r);background:var(--soft);border:none;font-family:inherit;cursor:pointer;
  flex:none;transition:var(--t)}
.toast .tact:hover{background:var(--sru-purple);color:#fff}
.toast .txb{color:var(--muted);flex:none;display:grid;place-items:center;width:24px;height:24px;
  border-radius:var(--r);background:none;border:none;cursor:pointer}
.toast .txb:hover{background:var(--soft);color:var(--text)}

/* ===================== نافذة اليوم ===================== */
.day-l{display:flex;flex-direction:column;gap:8px}
.day-r{display:flex;gap:11px;align-items:stretch;background:var(--sru-bg);border:1px solid var(--line);
  border-radius:var(--r);padding:11px 12px;width:100%;text-align:right;font-family:inherit;
  cursor:pointer;transition:var(--t)}
.day-r:hover{border-color:var(--sru-purple);box-shadow:var(--shadow-1)}
.day-r .dr-rail{width:3px;border-radius:2px;flex:none}
.day-r h5{font-size:13px;font-weight:800;line-height:1.55;margin-bottom:4px}
.day-r .dr-m{font-size:10.5px;font-weight:700;color:var(--muted);display:flex;flex-wrap:wrap;
  gap:7px;align-items:center}

/* ===================== صفحة التحرير ===================== */
.gate-wrap{display:flex;justify-content:center;align-items:flex-start;padding:48px 22px 60px}
.gate{width:100%;max-width:440px;padding:26px}
.gate-h{text-align:center;margin-bottom:18px}
.gate-ic{width:48px;height:48px;border-radius:var(--r-card);background:var(--soft);
  color:var(--sru-purple);display:grid;place-items:center;margin:0 auto 12px}
.gate-h h1{font-size:19px;margin-bottom:5px}
.gate-h p{font-size:12.5px;color:var(--muted);font-weight:600;margin:0}
.gate-err{display:flex;align-items:center;gap:6px;color:var(--danger);font-size:12px;
  font-weight:700;margin-top:10px}
.gate-f{display:flex;gap:8px;margin-top:18px}
.gate-f .sru-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  text-decoration:none;min-height:42px}

/* بطاقة الهوية الموثَّقة من الدخول الموحّد */
.sso-id{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding:11px 13px;
  background:var(--sru-blue-light);border:1px solid var(--sru-blue);border-radius:var(--r-card);
  color:var(--sru-blue)}
.sso-id>div{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.sso-id b{font-size:13.5px;font-weight:800;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sso-id span{font-size:11px;font-weight:600;color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sso-id .lnk{flex:none;display:inline-flex;align-items:center;gap:4px;font-size:11.5px}

.adm-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;
  flex-wrap:wrap;margin-bottom:14px}
.adm-bar-l{display:flex;gap:8px;flex-wrap:wrap}
.adm-bar .sru-btn{display:inline-flex;align-items:center;gap:7px;min-height:40px}
.adm-conf{display:flex;align-items:flex-start;gap:9px;background:var(--warning-bg);
  border:1px solid rgba(178,106,18,.26);border-right:3px solid var(--warning);
  border-radius:var(--r);padding:11px 13px;font-size:12.5px;font-weight:600;
  color:var(--text);line-height:1.7;margin-bottom:14px}
.adm-conf.crit{background:var(--danger-bg);border-color:rgba(179,35,56,.26);
  border-right-color:var(--danger)}
.adm-conf .ic{color:var(--warning);margin-top:2px;flex:none}
.adm-conf.crit .ic{color:var(--danger)}
.adm-filters{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}
.adm-filters .sru-field{min-width:220px}
.adm-count{margin-right:auto;font-size:12.5px;font-weight:600;color:var(--muted)}
.adm-count b{color:var(--sru-purple);font-weight:800}
.adm-tbl td{font-size:12.5px}
.adm-tbl .nw{white-space:nowrap}
.adm-tbl .sub2{display:block;font-size:10.5px;font-weight:600;color:var(--muted);margin-top:2px}
.adm-tbl .muted2{color:var(--muted)}
.lnk-t{background:none;border:none;font-family:inherit;font-size:12.5px;font-weight:800;
  color:var(--sru-purple);cursor:pointer;padding:0;text-align:right}
.lnk-t:hover{text-decoration:underline}
.row-acts{display:flex;gap:5px}
.ico-btn{width:32px;height:32px;border-radius:var(--r);border:1px solid var(--line);
  background:#fff;color:var(--sru-purple);display:grid;place-items:center;cursor:pointer;
  transition:var(--t);flex:none}
.ico-btn:hover{background:var(--sru-purple);color:#fff;border-color:var(--sru-purple)}
.ico-btn.danger{color:var(--danger)}
.ico-btn.danger:hover{background:var(--danger);border-color:var(--danger);color:#fff}
.ico-btn.ok{color:var(--success)}
.ico-btn.ok:hover,.ico-btn.ok.on{background:var(--success);border-color:var(--success);color:#fff}
.ico-btn.danger.on{background:var(--danger);border-color:var(--danger);color:#fff}
.rb-top{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.rb-sel{flex:1;min-width:250px}
.rb-meta{font-size:12px;font-weight:700;color:var(--muted);margin-bottom:12px;
  display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.rb-tally{margin-right:auto;font-weight:800;color:var(--sru-purple)}

/* ===================== التجاوب ===================== */
@media(max-width:1300px){ .kpis{grid-template-columns:repeat(3,1fr)} }
@media(max-width:1100px){
  .kpis{grid-template-columns:repeat(2,1fr)}
  .cgrid{grid-template-columns:1fr}
  .sb-next{margin-right:0}
}
@media(max-width:900px){
  .tb-in{padding:10px 16px}
  .nav-in,.sru-navbar{padding-right:0;padding-left:0}
  .nav-items{padding:0 16px}
  .tb-hijri{display:none}
  .sumbar-in{padding:13px 16px;gap:14px}
  .sb-item{border-right:none;padding-right:0}
  .sb-next{width:100%;order:5}
  .sb-next-t{max-width:none}
}
@media(max-width:700px){
  .sru-container{padding:0 14px}
  .toasts{left:12px;right:12px;max-width:none}
  .tb-name b{font-size:13.5px}
  .tb-date{display:none}
  .lc-num{font-size:18px}
  .cell{min-height:92px;padding:5px}
  .chip{font-size:9.5px;padding:3px 4px;gap:4px}
  .chip .sq{width:17px;height:17px;font-size:9px}
  .dl,.frm{grid-template-columns:1fr}
  .cwrap{height:340px}
  .tl-row{gap:9px;padding:10px}
  .la-s{grid-template-columns:1fr}
  .adm-count{margin-right:0;width:100%}
}
@media(max-width:480px){
  .kpis{grid-template-columns:1fr}
  .grid7{gap:3px}
  .cell{min-height:76px}
  .wd{font-size:10px}
  .chip span{display:none}
  .chip{justify-content:center;padding:4px 2px}
  .evs{grid-template-columns:1fr}
  .flipwrap{height:232px}
  .cwrap{height:310px}
  .tb-btn-text{display:none}
  .tb-btn{padding:8px 10px}
  .sum{grid-template-columns:1fr}
}
@media(max-width:420px){
  .sru-nav-item{padding:12px 11px;font-size:13px}
  .gate{padding:20px}
}
@media(max-width:360px){
  #root .brand img{max-height:28px}
  .cell{min-height:66px}
  .kpi .num{font-size:21px}
  .flipwrap{height:248px}
}

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ===================== الطباعة ===================== */
@media print{
  .sru-navbar,.tb-acts,#root .pills,.fbar-b,.nvb,.cal-tools,.mini,.toasts,.skip,
  .conf-h .car,.more.tap,.ov,.adm-bar,.row-acts,.adm-filters{display:none!important}
  body.sru{background:#fff}
  .sru-container{max-width:none;padding:0}
  .sru-topbar{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .kpis{grid-template-columns:repeat(5,1fr);gap:8px;page-break-inside:avoid}
  .kpi{box-shadow:none;padding:9px}
  .sru-card,.cbox,.conf{box-shadow:none;page-break-inside:avoid}
  .cell{min-height:96px;page-break-inside:avoid}
  .chip span{display:inline!important}
  .flipwrap{height:auto;page-break-inside:avoid}
  .flipper{transform:none!important}
  .face{position:static;box-shadow:none}
  .face.back{display:none}
  #root .sec{page-break-inside:avoid}
  .evs{grid-template-columns:repeat(2,1fr)}
  .legend,.conf-b{max-height:none;overflow:visible}
  .sru-foot{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{margin:12mm}
}

/* ===================== التذييل ===================== */
.sru-foot{background:var(--sru-purple-dark);color:#fff;margin-top:30px}
.foot-in{display:flex;align-items:center;justify-content:space-between;gap:12px;
  flex-wrap:wrap;padding:18px 22px;font-size:12.5px;font-weight:600;opacity:.92}

/* ===================== تلميحات Tippy بهوية الجامعة ===================== */
.tippy-box[data-theme~='sru']{background:var(--sru-purple-dark);color:#fff;
  font-family:"Cairo",Tahoma,Arial,sans-serif;font-size:11.5px;font-weight:600;line-height:1.85;
  border-radius:var(--r);box-shadow:var(--shadow-3);padding:3px 5px;text-align:right;direction:rtl}
.tippy-box[data-theme~='sru'] .tippy-arrow{color:var(--sru-purple-dark)}
.tippy-box[data-theme~='sru'] b{font-weight:800;color:#E8DCFF}
.tippy-box[data-theme~='sru'] u{text-decoration:none;opacity:.72;font-size:10.5px}
.tp-y{color:#7BE3C0}.tp-n{color:#FF9AA8}.tp-w{color:#FFD08A}
