/* ═══ أنماط صفحات المنصة (ما عدا صفحات العرض) ═══ */
body{background:var(--navy);color:var(--surface);font-family:var(--ui);
     min-height:100dvh;display:flex;flex-direction:column;
     padding:clamp(16px,3vw,44px);gap:clamp(14px,2.2vw,26px)}

/* الترويسة */
.masthead{border:1px solid var(--faculty);position:relative;
          padding:clamp(18px,3.2vw,42px) clamp(18px,4vw,54px)}
.masthead::before{content:"";position:absolute;inset:5px;
                  border:1px solid var(--line-faculty);pointer-events:none}
.masthead .kicker{color:var(--student);font-family:var(--matn);font-weight:700;
                  font-size:clamp(.95rem,1.8vw,1.35rem);margin-bottom:.45em}
/* العناوين مشكولة (tools/tashkeel.py)، والتشكيل حبرٌ فوق السطر وتحته،
   فيحتاج فسحةً في ارتفاع السطر. بغيرها اصطدمت الضمّة بما فوقها
   والكسرة بما تحتها، أو قصّها صندوقُ السطر. */
.masthead h1{font-family:var(--matn);font-weight:700;line-height:1.5;
             font-size:clamp(1.7rem,4.6vw,3.4rem)}
.masthead .who{font-family:var(--matn);color:var(--faculty);margin-top:.5em;
               font-size:clamp(1rem,2vw,1.55rem)}

/* شريط الأقسام */
/* الشريط يلتفّ على أكثر من سطر في الشاشات الضيّقة، وروابطه تتلاصق
   أفقيًّا بحدٍّ مشترك (margin-inline-start:-1px). فالفسحة المطلوبة
   بين السطور لا بينها: بغير row-gap لصق مبدّل الألوان بالروابط فوقه
   حتى بدت النقاط داخلة فيها. */
.nav-main{display:flex;flex-wrap:wrap;gap:0;row-gap:.7em}
.nav-main a{color:var(--neutral);text-decoration:none;padding:.6em 1.3em;
            border:1px solid var(--line);margin-inline-start:-1px;
            font-size:clamp(.78rem,1.3vw,.95rem);white-space:nowrap}
.nav-main a:hover{color:var(--surface);background:var(--navy-2)}
.nav-main a.on{color:var(--navy);background:var(--faculty);border-color:var(--faculty);font-weight:600}
/* المبدّل يُدفع إلى طرف الشريط ولا يزاحم روابط الأقسام */
.nav-main .theme-picker{margin-inline-start:auto;padding-inline-start:1.2em;
                        align-self:center;position:relative}
@media (max-width:640px){.nav-main .theme-picker{margin-inline-start:0;padding-inline-start:0}}

/* شريط أدوات */
.control{display:flex;flex-wrap:wrap;align-items:center;gap:.7em 1.1em;
         border:1px solid var(--line);padding:clamp(11px,1.5vw,17px) clamp(13px,2vw,22px);
         font-size:clamp(.78rem,1.3vw,.95rem);color:var(--neutral)}
.control label{color:var(--surface)}
.control select,.control input[type=date],.control input[type=text],.control input[type=month]{
  font:inherit;font-size:1em;color:var(--faculty);background:var(--navy-2);
  border:1px solid var(--faculty);padding:.4em .9em}
.control select option{background:var(--navy-2);color:var(--surface)}
.control .spacer{margin-inline-start:auto}
.control .hint{color:var(--muted)}

button.ghost{border-color:var(--line);color:var(--neutral)}
button.ghost:hover{color:var(--surface);border-color:var(--neutral)}
button.gold{border-color:var(--student);color:var(--student)}
button.danger{border-color:var(--danger);color:var(--danger)}
button:disabled{opacity:.4;cursor:not-allowed}
button.sm{padding:.25em .7em;font-size:.85em}

.section-title{font-family:var(--matn);color:var(--student);font-weight:700;line-height:1.75;
               font-size:clamp(1.05rem,2vw,1.5rem);margin-top:.3em}
.section-title .sub{font-family:var(--ui);color:var(--neutral);font-weight:400;
                    font-size:.62em;margin-inline-start:.7em}

/* جداول */
table.grid{width:100%;border-collapse:collapse;font-size:clamp(.8rem,1.35vw,.98rem)}
table.grid th,table.grid td{border:1px solid var(--line);padding:.55em .8em;text-align:right}
table.grid th{background:var(--navy-2);color:var(--faculty);font-weight:600;
              font-size:.9em;letter-spacing:.02em}
table.grid td{color:var(--surface)}
table.grid tbody tr:hover{background:rgba(var(--faculty-rgb),.07)}
table.grid .num{font-variant-numeric:tabular-nums;color:var(--neutral);width:1%;white-space:nowrap}
table.grid a{color:var(--faculty);text-decoration:none;border-bottom:1px solid transparent}
table.grid a:hover{border-bottom-color:var(--faculty)}
.wrap{overflow-x:auto}

/* بطاقات */
.cards{list-style:none;display:grid;gap:clamp(12px,1.6vw,20px);
       grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr))}
.card{border:1px solid var(--line);position:relative;display:flex;flex-direction:column;
      background:var(--navy-2);min-height:170px}
.card a.open,.card .body{display:flex;flex-direction:column;flex:1;gap:.45em;
                         padding:clamp(16px,2.2vw,26px);text-decoration:none;color:inherit;border:0}
.card.ready{border-color:var(--faculty)}
/*  المرور يُظلّل البطاقة بلون الدكتورة شفيفًا، لا بلونٍ ثابت.
    كان هنا background:var(--ink)، و--ink في اللوحات الفاتحة هو لون
    الحبر الداكن نفسه الذي يُكتب به نصّ البطاقة — فكان النص يختفي في
    أرضيته: ١:١ في اللوحات الخمس الفاتحة. والتظليل المشتقّ من
    --faculty-rgb يعمل في الداكنة والفاتحة سواء. */
.card.ready:hover,.card.ready:focus-within{
  background-image:linear-gradient(rgba(var(--faculty-rgb),.13),rgba(var(--faculty-rgb),.13));
  box-shadow:inset 0 0 0 1px var(--faculty)}
.card .no{color:var(--faculty);font-size:clamp(.7rem,1.15vw,.85rem);letter-spacing:.06em;
          font-variant-numeric:tabular-nums}
.card h2{font-family:var(--matn);font-weight:700;line-height:1.65;
         font-size:clamp(1.2rem,2.4vw,1.7rem);color:var(--surface)}
.card .sub{font-family:var(--matn);color:var(--faculty);font-size:clamp(.95rem,1.6vw,1.15rem)}
.card .meta{margin-top:auto;padding-top:.8em;display:flex;justify-content:space-between;
            gap:.7em;flex-wrap:wrap;font-size:clamp(.68rem,1.1vw,.82rem);color:var(--neutral)}
.card .readers{color:var(--student)}
/*  البطاقة «قريبًا»: حدٌّ متقطّع وحبرٌ خافت، لا تخفيتُ شفافية.
    كان opacity:.72 يُنزل عنوانها وسطرها إلى ٢.٨:١ في اللوحات
    الفاتحة — وهي تُقرأ لتُعرف المحاضرة القادمة. */
.card.soon{border-style:dashed}
.card.soon h2,.card.soon .sub,.card.soon .no,
.card.soon .readers,.card.soon .meta{color:var(--muted)}
.badge{position:absolute;top:-1px;left:clamp(14px,3vw,26px);transform:translateY(-50%);
       background:var(--navy);border:1px solid var(--neutral);color:var(--neutral);
       padding:.22em .95em;font-size:clamp(.64rem,1.05vw,.76rem);white-space:nowrap}
.card.ready .badge{border-color:var(--student);color:var(--student)}
.card.done .badge{border-color:var(--faculty);color:var(--faculty)}

/* لوحة الشرف — المنصّة */
.podium{display:grid;gap:clamp(12px,1.8vw,22px);
        grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));align-items:end}
.seat{border:1px solid var(--line);background:var(--navy-2);position:relative;
      padding:clamp(20px,2.8vw,32px) clamp(14px,2vw,22px);text-align:center;
      display:flex;flex-direction:column;gap:.4em}
.seat .rank{font-family:var(--matn);font-weight:700;color:var(--neutral);
            font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1}
.seat .name{font-family:var(--matn);font-weight:700;color:var(--surface);
            font-size:clamp(1.15rem,2.3vw,1.65rem);line-height:1.3}
.seat .pts{color:var(--faculty);font-size:clamp(.82rem,1.4vw,1rem);font-variant-numeric:tabular-nums}
.seat .tally{color:var(--neutral);font-size:clamp(.68rem,1.1vw,.8rem);line-height:1.7}
.seat.p1{border-color:var(--student);background:rgba(var(--student-rgb),.10);order:2}
.seat.p1 .rank,.seat.p1 .pts{color:var(--student)}
.seat.p1 .name{font-size:clamp(1.35rem,2.9vw,2.05rem)}
.seat.p2{border-color:var(--faculty);order:1}
.seat.p3{border-color:var(--faculty);opacity:.9;order:3}
@media (max-width:700px){.seat.p1,.seat.p2,.seat.p3{order:0}}

/* صفحة الطالبة */
.profile{display:grid;gap:clamp(12px,1.8vw,20px);
         grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}
.stat{border:1px solid var(--line);background:var(--navy-2);padding:clamp(14px,2vw,22px)}
.stat .k{color:var(--neutral);font-size:clamp(.7rem,1.15vw,.84rem)}
.stat .v{font-family:var(--matn);font-weight:700;color:var(--student);
         font-size:clamp(1.5rem,3vw,2.2rem);line-height:1.2;margin-top:.15em}
.stat .v.blue{color:var(--faculty)}

/* أوراق العمل */
.item{border:1px solid var(--line);padding:clamp(16px,2.2vw,26px);background:var(--navy-2);
      display:flex;flex-direction:column;gap:.8em}
.item .prompt{font-family:var(--matn);font-size:clamp(1.05rem,2vw,1.45rem);
              line-height:1.7;color:var(--surface)}
.item .qno{color:var(--faculty);font-size:clamp(.7rem,1.15vw,.85rem);letter-spacing:.05em}
.item textarea,.item input[type=text]{font:inherit;font-family:var(--matn);width:100%;
  font-size:clamp(1rem,1.8vw,1.25rem);line-height:1.8;color:var(--surface);
  background:var(--navy);border:1px solid var(--line);padding:.7em .9em;resize:vertical}
/*  كان .item input:focus فالتقط خانةَ الموافقة أيضًا — وهي لا حدَّ
    لها يتبدّل، فكانت الطالبة تبلغها بـTab فلا ترى أين هي، وهي
    قرارُ إذنٍ يخصّها. */
.item textarea:focus,.item input[type=text]:focus{outline:none;border-color:var(--faculty)}
input:focus-visible,textarea:focus-visible,summary:focus-visible{
  outline:2px solid var(--faculty);outline-offset:2px}
.choices{list-style:none;display:grid;gap:.5em}
.choices label{font-family:var(--matn);font-size:clamp(1rem,1.8vw,1.35rem);
               border:1px solid var(--line);padding:.5em .9em;display:flex;gap:.75em;
               align-items:baseline;cursor:pointer}
.choices label:hover{border-color:var(--neutral)}
.choices input{accent-color:var(--faculty);flex:none}
.choices label.picked{border-color:var(--faculty);background:rgba(var(--faculty-rgb),.10)}
.locked .choices label{cursor:default}
.locked .choices label.correct{border-color:var(--student);background:rgba(var(--student-rgb),.14)}
.locked .choices label.correct::after{content:"✓";margin-inline-start:auto;color:var(--student)}
.locked textarea,.locked input[type=text]{opacity:.85}
.why{border-inline-start:2px solid var(--faculty);padding-inline-start:.9em;
     color:var(--neutral);font-size:clamp(.82rem,1.4vw,1rem);line-height:1.8}

.files{list-style:none;display:grid;gap:.45em}
.files li{display:flex;align-items:center;gap:.7em;border:1px solid var(--line);
          padding:.45em .8em;font-size:clamp(.75rem,1.25vw,.9rem)}
.files li .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.files li .sz{color:var(--neutral);font-variant-numeric:tabular-nums;flex:none}
/*  زرٌّ لا div — فيلزم ردُّ ما يأخذه الزرُّ من نمط المتصفّح. */
.drop{font:inherit;background:transparent;width:100%;cursor:pointer;
      border:1px dashed var(--line);padding:clamp(14px,2vw,22px);text-align:center;
      color:var(--neutral);font-size:clamp(.78rem,1.3vw,.92rem)}
.drop.over{border-color:var(--faculty);color:var(--faculty);background:rgba(var(--faculty-rgb),.07)}

/* حالات ورسائل */
.empty{border:1px dashed var(--line);padding:clamp(22px,3.4vw,42px);text-align:center;
       color:var(--neutral);font-size:clamp(.85rem,1.5vw,1.05rem);line-height:1.9}
.empty .hint{color:var(--muted);font-size:.88em;margin-top:.5em}
.toast{position:fixed;inset-block-end:22px;inset-inline-start:50%;transform:translateX(50%) translateY(160%);
       background:var(--navy-2);border:1px solid var(--faculty);color:var(--surface);
       padding:.7em 1.4em;font-size:clamp(.8rem,1.35vw,.95rem);z-index:60;
       transition:transform .22s ease;max-width:min(90vw,520px);text-align:center}
.toast.on{transform:translateX(50%) translateY(0)}
.toast.bad{border-color:var(--danger)}
.toast.good{border-color:var(--student);color:var(--student)}

.note-box{border-inline-start:2px solid var(--student);padding-inline-start:1em;
          color:var(--neutral);font-size:clamp(.78rem,1.3vw,.94rem);line-height:1.9}
.chip{display:inline-flex;align-items:center;gap:.4em;border:1px solid var(--line);
      padding:.2em .7em;font-size:clamp(.68rem,1.1vw,.8rem);color:var(--neutral);white-space:nowrap}
.chip.blue{border-color:var(--faculty);color:var(--faculty)}
.chip.gold{border-color:var(--student);color:var(--student)}
.row{display:flex;flex-wrap:wrap;gap:.6em;align-items:center}

.foot{margin-top:auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8em;
      font-size:clamp(.68rem,1.1vw,.82rem);color:var(--muted);
      border-top:1px solid var(--line);padding-top:1em}

@media print{
  /*  كما في deck.css: تُقلب الرموز بدل ملاحقة المحدِّدات. */
  :root{--surface:#000;--neutral:#333;--muted:#555;
        --faculty:#004a7a;--student:#6a4a00;--navy:#fff;--navy-2:#fff;
        --line:#bbb}

  body{background:#fff;color:#000}
  .masthead,.card,.item,.seat,.stat{border-color:#999;background:#fff}
  .masthead h1,.card h2,.item .prompt,.seat .name{color:#000}
  .nav-main,.control,.drop,.toast,button{display:none!important}
  table.grid th{background:#eee;color:#000}
  table.grid td{color:#000}
}

/* اختيار الطالبة الخاطئ بعد التسليم */
.locked .choices label.yours{border-color:var(--danger);background:rgba(var(--danger-rgb),.10)}
.locked .choices label.yours::after{content:"إجابتك";margin-inline-start:auto;color:var(--danger);
  font-family:var(--ui);font-size:.62em}
.locked .choices label.correct::after{content:"الإجابة الصحيحة";margin-inline-start:auto;
  color:var(--student);font-family:var(--ui);font-size:.62em}

/* صف تحرير الطالبة داخل الجدول */
table.grid td input[type=text]{font:inherit;width:100%;min-width:7em;color:var(--surface);
  background:var(--navy);border:1px solid var(--faculty);padding:.35em .6em}
table.grid td input[type=text].num{font-variant-numeric:tabular-nums;direction:ltr;text-align:right}
table.grid td input[type=text]:focus{outline:none;border-color:var(--student)}

/* ═══ الأنشطة: تصنيف ومطابقة وترتيب وجدول مقارنة ═══ */
.sortlist{list-style:none;display:flex;flex-direction:column;gap:.5em;margin-top:.7em}
.sortrow{display:flex;align-items:center;gap:.8em;flex-wrap:wrap;
  border:1px solid var(--line);padding:.5em .8em;background:rgba(var(--surface-rgb),.03)}
.sortrow .txt{flex:1;min-width:12em;font-family:var(--matn);
  font-size:clamp(.95rem,1.7vw,1.12rem);line-height:1.7}
.sortrow select{font:inherit;font-size:.92em;color:var(--surface);
  background:var(--navy-2);border:1px solid var(--line);padding:.35em .6em;
  max-width:min(100%,22em)}
.sortrow select:focus{outline:none;border-color:var(--faculty)}
.sortrow select.rank{width:4.2em;text-align:center}
.sortrow.right{border-color:rgba(var(--student-rgb),.5);background:rgba(var(--student-rgb),.07)}
.sortrow.wrong{border-color:rgba(var(--danger-rgb),.55);background:rgba(var(--danger-rgb),.07)}
.sortrow .fix{width:100%;font-size:.84em;color:var(--student);
  border-top:1px solid var(--line);padding-top:.4em}

table.cmp{margin-top:.7em}
table.cmp th.rowh{background:var(--navy-2);color:var(--surface);
  font-family:var(--matn);font-weight:700;min-width:8em;vertical-align:top}
table.cmp td{padding:.35em;vertical-align:top}
table.cmp textarea{font:inherit;font-family:var(--matn);width:100%;min-width:11em;
  color:var(--surface);background:rgba(var(--surface-rgb),.05);
  border:1px solid var(--line);padding:.45em .6em;resize:vertical;line-height:1.7}
table.cmp textarea:focus{outline:none;border-color:var(--faculty)}
table.cmp textarea:disabled{opacity:.8}

/* يوم اختبار في جدول التواريخ — ليس محاضرة */
tr.exam-row td{background:rgba(var(--student-rgb),.09);color:var(--student);font-weight:600}

/* شريط التقويم الجامعي في لوحة جدول التواريخ */
.term-strip{display:flex;flex-wrap:wrap;gap:.5em .8em;margin:.8em 0 1em}
.term-item{border:1px solid var(--line);padding:.4em .75em;font-size:.82rem;
  display:flex;flex-direction:column;gap:.15em}
.term-item .k{color:var(--muted)}
.term-item .v{color:var(--faculty);font-weight:600;white-space:nowrap}
.warn-box{border:1px solid var(--danger);border-inline-start-width:4px;
  background:rgba(var(--danger-rgb),.09);color:var(--surface);
  padding:.7em 1em;margin:.8em 0;font-size:.86rem;line-height:1.7}

/* رصد حضورٍ على محاضرةٍ مضت */
.hint.retro{color:var(--student);opacity:1}

/* ═══ مبدّل المقرر في الترويسة — لا يظهر إلا بأكثر من مقرر ═══ */
.mast-top{display:flex;align-items:baseline;justify-content:space-between;
          flex-wrap:wrap;gap:.6em 1.2em}
.mast-top .kicker{margin-bottom:0}
.course-picker{display:flex;align-items:center;gap:.5em;
               font-size:clamp(.78rem,1.4vw,.95rem)}
.course-picker label{color:var(--neutral)}
.course-picker select{font-family:var(--ui);font-size:inherit;
                      color:var(--surface);background:var(--navy-2);
                      border:1px solid var(--line-faculty);padding:.35em .7em}
@media print{.course-picker{display:none}}

/* ═══ طيّات المحاضرات في صفحة أوراق العمل ═══
   العنوان يحمل ملخّص المحاضرة، فتُقرأ الحال بلا فتحها. */
.lesson-group{border:1px solid var(--line);margin-bottom:clamp(10px,1.4vw,16px)}
.lesson-group[open]{border-color:var(--line-faculty)}
.lesson-group>summary{list-style:none;cursor:pointer;display:flex;flex-wrap:wrap;
  align-items:baseline;gap:.5em 1.1em;padding:clamp(.7em,1.4vw,1em) clamp(.9em,1.8vw,1.3em)}
.lesson-group>summary::-webkit-details-marker{display:none}
.lesson-group>summary::before{content:"▸";color:var(--faculty);font-size:.9em;
  transition:transform .15s ease;display:inline-block}
.lesson-group[open]>summary::before{transform:rotate(-90deg)}
.lesson-group>summary:hover{background:var(--navy-2)}
.lesson-group .g-title{display:flex;align-items:baseline;gap:.6em;flex:1;min-width:0}
.lesson-group .g-no{color:var(--faculty);font-size:clamp(.72rem,1.15vw,.85rem);
  letter-spacing:.06em;white-space:nowrap}
.lesson-group .g-name{font-family:var(--matn);font-weight:700;color:var(--surface);
  font-size:clamp(1rem,1.9vw,1.35rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lesson-group .g-count{color:var(--neutral);font-size:clamp(.72rem,1.2vw,.85rem);
  white-space:nowrap}
.lesson-group .g-count.done{color:var(--student)}
.lesson-group .cards{padding:0 clamp(.9em,1.8vw,1.3em) clamp(.9em,1.8vw,1.3em)}
@media print{
  .lesson-group>summary::before{display:none}
  .lesson-group{break-inside:avoid}
}

/* أعمدة مصفوفة التسليم: عنوان الورقة طويل، فيُعطى عرضًا يكفيه
   ويُترك عمود الاسم يتقلّص — بلا هذا انضغطت العناوين حرفًا في سطر. */
table.grid th.sheet{white-space:normal;min-width:7.5em;max-width:11em;
                    vertical-align:bottom;line-height:1.35}
table.grid td.name{width:auto}

/* ═══ تحرير النصوص في موضعه — للدكتورة وحدها ═══
   الحقل المحرَّر يُحاط بخطٍّ متقطّع فيُعرف أنه قابلٌ للنقر، والنصّ
   المصحَّح يُعلَّم بعلامةٍ صغيرة فتُميَّز تصحيحاتها من نصّ الملفّ. */
body.editing [contenteditable="true"]{outline:1px dashed var(--faculty);
  outline-offset:3px;cursor:text;border-radius:2px}
body.editing [contenteditable="true"]:focus{outline:2px solid var(--faculty);
  background:rgba(var(--faculty-rgb),.08)}
.edited{position:relative}
.edited::after{content:"مصحَّح";font-family:var(--ui);font-size:.62em;
  color:var(--student);border:1px solid var(--student);padding:0 .4em;
  margin-inline-start:.5em;white-space:nowrap;vertical-align:middle}
/*  زرّ «الأصل» يُدرَج شقيقًا للنصّ المصحَّح. وقد يقع في حاويةٍ
    عمودية (body نفسه للمقدّمة) فيتمدّد على العرض كلّه — يُقيَّد. */
button.revert{margin-inline-start:.5em;vertical-align:middle;
  align-self:flex-start;width:max-content;flex:none}
@media print{
  .edited::after,button.revert,#editText{display:none!important}
}

/* ═══ نافذة التسليم في صفحة الورقة ═══ */
.win-box{display:flex;flex-wrap:wrap;align-items:center;gap:.6em 1.1em;
  border:1px solid var(--line);padding:clamp(9px,1.3vw,14px) clamp(12px,1.8vw,20px);
  font-size:clamp(.78rem,1.3vw,.95rem)}
.win-state{color:var(--neutral)}
.win-state.open{color:var(--faculty)}
.win-state.soon{color:var(--student)}
.win-state.closed{color:var(--danger)}
.win-set{display:flex;flex-wrap:wrap;align-items:center;gap:.5em .8em;
  margin-inline-start:auto}
.win-set label{color:var(--neutral)}
.win-set input{font:inherit;font-size:.95em;color:var(--faculty);
  background:var(--navy-2);border:1px solid var(--line);padding:.35em .6em}
.win-set input:focus{outline:none;border-color:var(--faculty)}
@media print{.win-set{display:none}}

/* شارة موعد التسليم على بطاقة الورقة — تحت الشارة العلوية */
.win-chip{position:absolute;bottom:-1px;left:clamp(14px,3vw,26px);
  transform:translateY(50%);background:var(--navy);border:1px solid var(--neutral);
  color:var(--neutral);padding:.18em .8em;white-space:nowrap;
  font-size:clamp(.62rem,1vw,.74rem)}
.win-chip.soon{border-color:var(--student);color:var(--student)}
.win-chip.closed{border-color:var(--danger);color:var(--danger)}
.win-chip.open{border-color:var(--line);color:var(--neutral)}

/* بطاقة الاختبار الرسمي — تُميَّز عن بطاقات الأوراق */
.exam-cards{margin-bottom:clamp(14px,2vw,22px)}
.card.exam{border-color:var(--student)}
.card.exam .no{color:var(--student)}
.card.exam .badge{border-color:var(--student);color:var(--student)}

/* ═══ خلاصة اليوم في لوحة الشرف ═══ */
.daily{border:1px solid var(--faculty);padding:clamp(16px,2.4vw,26px);
  display:flex;flex-direction:column;gap:.8em}
.daily .d-title{font-family:var(--matn);font-weight:700;color:var(--student);
  font-size:clamp(1.05rem,2vw,1.45rem)}
.daily .d-grid{display:grid;gap:clamp(10px,1.6vw,18px);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}
.daily .d-stat{border:1px solid var(--line);padding:clamp(11px,1.6vw,17px)}
.daily .d-k{color:var(--neutral);font-size:clamp(.7rem,1.15vw,.84rem)}
.daily .d-v{font-family:var(--matn);font-weight:700;color:var(--student);
  font-size:clamp(1.3rem,2.6vw,1.9rem);line-height:1.2;margin-top:.15em}
.daily .d-v.blue{color:var(--faculty)}
.daily .d-top{color:var(--neutral);font-size:clamp(.82rem,1.5vw,.98rem);line-height:1.9}

/* ═══ شارة العرض التجريبي ═══ */
.demo-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6em 1em;
  border:1px dashed var(--student);padding:.6em clamp(.8em,1.6vw,1.2em);
  margin-top:clamp(10px,1.4vw,16px);font-size:clamp(.75rem,1.3vw,.9rem)}
.demo-bar .db-tag{background:var(--student);color:var(--navy);font-weight:600;
  padding:.1em .7em;white-space:nowrap}
.demo-bar .db-text{color:var(--neutral);flex:1;min-width:14ch;line-height:1.7}
.demo-bar .btn{margin-inline-start:auto}
@media print{.demo-bar{display:none}}

/* السؤال متعدّد الإجابات — مربّعاتٌ لا دوائر، وسطرٌ يقول ما المطلوب */
.multi-hint{color:var(--student);font-size:clamp(.75rem,1.35vw,.9rem);
  line-height:1.8}
.choices.multi label{align-items:flex-start}

/* ═══ ملفّ الأدلة المختصرة ═══ */
.ev-list{list-style:none;display:grid;gap:clamp(11px,1.6vw,18px)}
.ev{border:1px solid var(--line);border-inline-start:3px solid var(--faculty);
  padding:clamp(14px,2.2vw,24px);display:flex;flex-direction:column;gap:.5em;
  background:var(--navy-2)}
.ev-head{display:flex;flex-wrap:wrap;align-items:center;gap:.5em .9em}
.ev-no{font-family:var(--matn);font-weight:700;color:var(--student);
  font-size:clamp(1.05rem,2vw,1.4rem);line-height:1;min-width:1.6em}
.ev-kind{font-size:clamp(.66rem,1.1vw,.78rem);border:1px solid var(--line);
  padding:.12em .7em;color:var(--neutral);white-space:nowrap}
.ev-kind.k-quran{border-color:var(--student);color:var(--student)}
.ev-kind.k-sunna{border-color:var(--faculty);color:var(--faculty)}
/*  والإجماعُ والمعقول كانا رماديّين بلا تمييز: الصنفان يُولَّدان في
    evidences.js ولا قاعدة لهما. */
/*  ورمزان مقروءان في اللوحات العشر: --ink حبرُ الأسطح الفاتحة،
    فعلى الأرضية الداكنة ١.١٢:١ — وهو ما لا يُقرأ أصلًا. */
.ev-kind.k-ijma{border-color:var(--surface);color:var(--surface)}
.ev-kind.k-aql{border-color:var(--neutral);color:var(--neutral)}
.ev-src{color:var(--muted);font-size:clamp(.68rem,1.15vw,.8rem);
  margin-inline-start:auto;white-space:nowrap}
.ev-text{font-family:var(--matn);color:var(--surface);line-height:1.95;
  font-size:clamp(1.05rem,2vw,1.4rem)}
.ev-ref{color:var(--faculty);font-size:clamp(.75rem,1.3vw,.9rem)}
.ev-why{color:var(--neutral);line-height:1.9;font-size:clamp(.82rem,1.45vw,.98rem);
  border-top:1px solid var(--line);padding-top:.6em}
.ev-why-k{color:var(--student)}
.ev-list.extra .ev{border-inline-start-color:var(--line)}
@media print{
  .ev{break-inside:avoid;border-color:#999;background:#fff}
  .ev-text,.ev-no{color:#000}
}

/* ═══ أعمال الطالبات ═══ */
.chk-line{display:flex;align-items:center;gap:.5em;margin-block:.6em;
  color:var(--surface);cursor:pointer}
.chk-line input{width:1.1em;height:1.1em;accent-color:var(--faculty)}

/*  العرض ملء الشاشة: خلفيةٌ صمّاء فلا يُشتّت ما وراءها على
    البروجكتر، والصورة تُحتوى كاملةً بلا قصّ. */
.workstage{position:fixed;inset:0;z-index:60;background:var(--navy);
  display:flex;flex-direction:column}
.workstage[hidden]{display:none}
.workstage .bar{display:flex;justify-content:space-between;align-items:center;
  gap:1em;padding:.7em 1em;border-bottom:1px solid var(--line);
  color:var(--surface);font-weight:600}
.workstage .frame{flex:1;min-height:0;display:flex;align-items:center;
  justify-content:center;padding:1em;color:var(--neutral)}
.workstage .frame img{max-width:100%;max-height:100%;object-fit:contain;
  border-radius:6px}
.workstage .frame iframe{width:100%;height:100%;border:0;background:#fff;
  border-radius:6px}

/*  سطرُ إرشادٍ تحت عنوان قسم — يقول أين تصل الأوراق. */
.hint{color:var(--muted);font-size:.86rem;line-height:1.8;margin:.2em 0 .8em}

/*  خليّةُ التسليم تُفتح على ورقة صاحبتها، فهي رابطٌ لا شارة. */
a.chip{text-decoration:none;cursor:pointer}
a.chip:hover{background:rgba(255,255,255,.07)}

/* ═══ مراجع المقرر ═══
   بطاقةٌ لكل مادّة: رقمُها بارزٌ لأن الطالبة تأتي به، ومصدرُها
   وبابٌ إلى محاضرتها، ثم نصُّها بخطّ المتن. */
.refs{display:grid;gap:clamp(10px,1.4vw,16px)}
.ref{border:1px solid var(--line);background:var(--navy-2);
     padding:clamp(13px,1.8vw,20px) clamp(15px,2.2vw,24px)}
.ref-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5em 1em;
          margin-bottom:.55em}
.ref-no{font-family:var(--matn);color:var(--student);font-weight:700;
        font-size:clamp(1.05rem,2vw,1.4rem);white-space:nowrap}
.ref-src{color:var(--neutral);font-size:clamp(.7rem,1.15vw,.84rem)}
.ref-go{margin-inline-start:auto;color:var(--faculty);text-decoration:none;
        font-size:clamp(.7rem,1.15vw,.84rem);white-space:nowrap;
        border-bottom:1px solid transparent}
a.ref-go:hover{border-bottom-color:var(--faculty)}
.ref-text{font-family:var(--matn);line-height:2;
          font-size:clamp(.98rem,1.7vw,1.18rem)}
.ref-text p + p{margin-top:.5em}
/*  تنبيهٌ لا يُخفي: الشريحةُ فيها أكثرُ من مادّة كما في المحاضرة. */
/*  النصُّ بلون الطالبة لأنه يُقرأ في اللوحات العشر، والحدُّ وحده
    بلون التنبيه — الحدُّ لا يُقرأ فلا يلزمه حدُّ التباين. */
.ref-warn{color:var(--student);font-size:clamp(.72rem,1.2vw,.86rem);
          border-inline-start:3px solid var(--danger);padding-inline-start:.7em;
          margin-bottom:.6em;line-height:1.8}
.ref[hidden],.refs[hidden]{display:none}
@media print{.ref{break-inside:avoid;border-color:#999}}

/* ═══ فحص الاتصال — طبقةٌ طبقة ═══ */
.wcheck{display:flex;gap:.9em;align-items:flex-start;border:1px solid var(--line);
        padding:clamp(12px,1.7vw,18px) clamp(14px,2vw,22px);margin-bottom:.6em;
        background:var(--navy-2)}
.wcheck.good{border-inline-start:3px solid var(--faculty)}
.wcheck.bad{border-inline-start:3px solid var(--danger)}
.wmark{font-size:1.15rem;line-height:1.4;flex:none}
.wcheck.good .wmark{color:var(--faculty)}
.wcheck.bad .wmark{color:var(--danger)}
.wtext{min-width:0}
.wtext b{font-size:clamp(.92rem,1.5vw,1.08rem)}
.wwhy{color:var(--neutral);font-size:clamp(.76rem,1.25vw,.9rem);margin-top:.3em;line-height:1.8}
.whow{color:var(--student);font-size:clamp(.76rem,1.25vw,.9rem);margin-top:.35em;line-height:1.8}
.wcopy{width:100%;min-height:7em;font:inherit;font-size:.85rem;margin-top:.8em;
       background:var(--navy-2);color:var(--surface);border:1px solid var(--line);padding:.7em}

/*  حالُ ربط الحساب في كشف الطالبات: من لم يُربط صفُّها تُردّ كلُّ
    كتابةٍ منها — إجابةً وتسليمًا ونقطة. فيُعرض بريدُها المتوقَّع
    إلى جنبها، فتُقابله الدكتورةُ بما دخلت به. */
.chip.warn{border-color:var(--danger);color:var(--danger)}
.mail{color:var(--neutral);font-size:.78em;white-space:nowrap;
      font-variant-numeric:tabular-nums}
