@charset "UTF-8";
/* ── <style> ── */

/* 🤖 مولّد أسئلة الفهم القرائي بالذكاء الاصطناعي */
.reading-ai-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.58);z-index:10020;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(5px)}
.reading-ai-card{width:min(720px,94vw);max-height:88vh;overflow:auto;background:var(--paper,#fff);border:1px solid var(--rule,#ddd);border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.25);padding:.85rem 1rem}
.reading-ai-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.55rem;padding-bottom:.5rem;border-bottom:1px solid var(--rule,#ddd)}
.reading-ai-head h3{margin:0;font-size:1rem}
.reading-ai-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}
.reading-ai-full{grid-column:1/-1}
.reading-ai-grid>.field{min-width:0}
.reading-ai-grid .inp{min-height:38px;padding:.45rem .6rem}
.reading-ai-grid textarea.inp{min-height:78px;resize:vertical}
.reading-ai-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:.4rem}
.reading-ai-type{display:flex;align-items:center;justify-content:center;gap:.25rem;border:1px solid var(--rule,#ddd);border-radius:10px;padding:.42rem .3rem;background:var(--paper,#fff);font-size:.78rem;cursor:pointer;white-space:nowrap}
.reading-ai-type:has(input:checked){border-color:rgba(27,156,107,.55);background:rgba(27,156,107,.08);font-weight:700}
.reading-ai-type input{margin:0}
.reading-ai-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:.35rem}
.reading-ai-count{border:1px solid var(--rule,#ddd);border-radius:7px;padding:.25rem .3rem;background:rgba(27,156,107,.025);min-width:0}
.reading-ai-count label{display:block;font-size:.64rem;color:var(--ink-soft);margin-bottom:.08rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reading-ai-count input{width:100%;box-sizing:border-box;min-height:27px;height:27px;padding:.15rem .3rem;font-size:.82rem;text-align:center}


/* ═══ 📚 إدارة بنك JSON للاختبار الورقي ═══ */
.exam-bank-list{display:flex;flex-direction:column;gap:.4rem;max-height:360px;overflow:auto;padding:.2rem}
.exam-bank-item{display:grid;grid-template-columns:28px 1fr auto;gap:.55rem;align-items:start;border:1px solid var(--ui-border,#D5E0EC);border-radius:11px;background:#fff;padding:.55rem .65rem}
.exam-bank-item:hover{background:#FBFCFE}
.exam-bank-item .qtxt{font-size:.82rem;line-height:1.65;min-width:0}
.exam-bank-item .qmeta{display:flex;gap:.3rem;align-items:center;flex-wrap:wrap;margin-top:.2rem}
.exam-bank-item .qtype{font-size:.66rem;font-weight:800;padding:.13rem .42rem;border-radius:999px;background:#EEF3F8;color:#5A6B84}
.exam-bank-item .qnum{font-size:.7rem;color:#7A8796}
.exam-bank-empty{text-align:center;padding:1rem;color:var(--ink-soft);font-size:.8rem}
.exam-bank-item input{margin-top:.15rem}
@media screen and (max-width:700px){.exam-bank-list{max-height:420px}.exam-bank-item{grid-template-columns:24px 1fr}.exam-bank-item .qmeta{margin-top:.25rem}}

/* ═══ 🖨️ كليشة الاختبار الورقي ═══ */
#exam-preview{display:flex;flex-direction:column;align-items:center;gap:10px;padding:.2rem 0 1.2rem;overflow:auto}
#exam-paper{display:flex;flex-direction:column;align-items:center;gap:10px}
.exam-page{
  width:210mm;height:297mm;background:#fff;color:#10323a;padding:8mm 9mm 7mm;
  box-shadow:0 3px 18px rgba(0,0,0,.16);position:relative;overflow:hidden;
  display:flex;flex-direction:column;
  font-family:"Traditional Arabic","Simplified Arabic","Sakkal Majalla","Noto Naskh Arabic","Times New Roman",serif;
  font-size:13.5pt;line-height:1.4}
.exam-page[data-font="naskh"]{font-family:"Noto Naskh Arabic","Traditional Arabic","Scheherazade New",serif;font-size:11.5pt}
.exam-page[data-font="modern"]{font-family:"Tajawal","Readex Pro",Tahoma,sans-serif;font-size:10.5pt}
.exam-page[data-size="s"]{font-size:12.4pt}
.exam-page[data-size="l"]{font-size:15pt}
.exam-page[data-font="naskh"][data-size="s"]{font-size:10.6pt}
.exam-page[data-font="naskh"][data-size="l"]{font-size:12.6pt}
.exam-page[data-font="modern"][data-size="s"]{font-size:9.6pt}
.exam-page[data-font="modern"][data-size="l"]{font-size:11.6pt}
.ex-model-badge{display:inline-block;margin-inline-start:2mm;padding:.4mm 2mm;border:1px solid #0E5B4E;border-radius:999px;font-size:.72em;color:#0E5B4E;background:#fff;vertical-align:middle;white-space:nowrap}
/* 📷 رمز النموذج للتصحيح الآلي: مربع مظلل واحد في موضع النموذج (أ = الأول، ب = الثاني…) */
.ex-mcode{display:inline-flex;gap:.9mm;margin-inline-start:1.6mm;vertical-align:middle}
.ex-mcode i{display:inline-block;width:2.6mm;height:2.6mm;border:.3mm solid #10323a;border-radius:.3mm;background:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.ex-mcode i.on{background:#10323a}
.exam-model-controls .field{min-width:150px}
/* إطار الورقة الرسمي */
.exam-page::before{content:'';position:absolute;inset:4.5mm;border:1px solid #9DB8B5;border-radius:4px;pointer-events:none}

.ex-head{display:grid;grid-template-columns:minmax(0,1fr) 42mm minmax(0,1fr);grid-template-areas:"right logo left";align-items:center;gap:3mm;
  position:relative;overflow:visible;
  border-bottom:1.8px solid #0E5B4E;padding-bottom:1.8mm;flex:none;
  min-height:34mm}

/* رأس الكليشة: المدرسة تحت الإدارة، والمادة/الصف يساران في سطرين مستقلين */
/* خيارات إظهار بيانات الرأس */
.ex-toggle{display:flex;align-items:center;gap:1.5mm;margin-top:1.2mm;font-size:.68em;color:#5C7070;font-weight:600;cursor:pointer}
.ex-toggle input{margin:0;accent-color:#0E5B4E}
.ex-side{font-size:.8em;line-height:1.45;font-weight:700;min-width:0;position:relative;z-index:3}
.ex-side b{display:block;font-size:.95em;font-weight:900}
.ex-side.right{text-align:right;padding-inline-start:2mm;grid-area:right}
.ex-side.left{text-align:left;padding-inline-end:2mm;grid-area:left}
.ex-logo-slot{grid-area:logo;position:relative;height:100%;min-width:0;display:flex;align-items:center;justify-content:center;z-index:1}
.ex-school-line{display:block;margin-top:1mm;font-weight:900}
.ex-meta-row{display:block;white-space:nowrap;line-height:1.55}
.ex-meta-row + .ex-meta-row{margin-top:.45mm}
.ex-meta-row > span{display:block;min-width:0}
.ex-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:var(--exam-logo-size,32mm);height:var(--exam-logo-size,32mm);
  display:grid;place-items:center;min-width:0;overflow:visible;z-index:2;pointer-events:none}
.ex-logo svg{width:100%;max-width:none;height:100%;max-height:none;display:block}
.ex-logo .ex-fallback{font-size:.85em;font-weight:900;color:#0E5B4E;text-align:center;line-height:1.5}
@media screen and (max-width:700px){
  .ex-head{grid-template-columns:minmax(0,1fr) 36mm minmax(0,1fr);grid-template-areas:"right logo left";gap:2mm;min-height:30mm}
}
.ex-title{margin:2.2mm auto 1.8mm;width:64%;padding:1.2mm 5mm;border:1.2px solid #0E5B4E;border-radius:7px;
  background:#EAF3F0;text-align:center;font-size:1.1em;font-weight:900;color:#0E5B4E;flex:none}
.ex-cont{margin:0 0 2.2mm;padding-bottom:1.4mm;border-bottom:1.4px solid #0E5B4E;text-align:center;
  font-weight:900;color:#0E5B4E;font-size:.92em;flex:none}
.ex-student{display:grid;grid-template-columns:1.8fr 1fr 26mm;border:1.1px solid #7D9A9B;border-radius:6px;
  overflow:hidden;margin-bottom:2.4mm;flex:none;font-size:.9em}
.ex-student > div{padding:1.4mm 2.5mm;border-inline-start:1.1px solid #7D9A9B;font-weight:700;min-height:8mm;
  display:flex;align-items:center}
.ex-student > div:first-child{border-inline-start:0}
.ex-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6mm;
  background:#F4F8F7;font-weight:900;text-align:center}
.ex-mark{flex-direction:row!important;gap:1.6mm!important}
.ex-mark b{font-size:.8em;color:#0E5B4E}
.ex-mark span{display:block;border:1.2px solid #0E5B4E;border-radius:4px;min-width:11mm;min-height:6mm}
.ex-mark em{font-style:normal;font-size:.7em;color:#4B6B6B;white-space:nowrap}

.ex-sec{border:1.1px solid #5F8A85;border-radius:7px;margin-bottom:2.4mm;overflow:hidden}
.ex-sec-head{background:#E4F0ED;padding:1.5mm 3mm;font-size:.95em;font-weight:900;
  display:flex;align-items:center;gap:2.5mm;border-bottom:1.1px solid #5F8A85}
.ex-badge{margin-inline-start:auto;background:#0E5B4E;color:#fff;border-radius:5px;padding:.6mm 3mm;
  font-size:.74em;white-space:nowrap;font-weight:900}
.ex-q{padding:1.7mm 3mm;border-bottom:1px solid #D7E3E1}
.ex-q:last-child{border-bottom:0}
.ex-qt{display:flex;gap:2mm;align-items:flex-start;font-weight:800;line-height:1.4}
.ex-num{flex:0 0 6mm;height:6mm;display:inline-flex;align-items:center;justify-content:center;
  border-radius:3px;background:#E4F0ED;font-weight:900;font-size:.8em;color:#0E5B4E}
.ex-opts{display:grid;grid-template-columns:repeat(2,1fr);gap:.7mm 4mm;margin-top:.9mm;padding-inline-start:8mm}
.ex-opts.one{grid-template-columns:1fr}
.ex-opt{display:flex;align-items:center;gap:1.6mm;font-weight:600;line-height:1.3}
.ex-box{width:4mm;height:4mm;border:1.3px solid #10323a;border-radius:2px;flex:0 0 4mm;display:inline-block}
.ex-ltr{font-weight:900;color:#0E5B4E;flex:0 0 auto}
.ex-opt.key{color:#0E5B4E;font-weight:900}
.ex-opt.key .ex-box,.ex-tf-c.key .ex-box{background:#0E5B4E;position:relative}
.ex-opt.key .ex-box::after,.ex-tf-c.key .ex-box::after{content:'✓';color:#fff;font-size:.62em;position:absolute;
  inset:0;display:grid;place-items:center;font-weight:900}
.ex-tf{display:grid;grid-template-columns:6mm 1fr 17mm 17mm;gap:1.6mm;align-items:center;
  padding:1.5mm 3mm;border-bottom:1px solid #D7E3E1;font-weight:700;line-height:1.3}
.ex-tf:last-child{border-bottom:0}
.ex-tf-c{display:flex;gap:1.6mm;align-items:center;justify-content:center;white-space:nowrap}
.ex-tf-c.key{color:#0E5B4E;font-weight:900}

.ex-foot{display:grid;grid-template-columns:1fr 1fr;gap:3mm;margin-top:auto;flex:none}
.ex-foot > div{border:1.1px solid #7D9A9B;border-radius:6px;padding:2.2mm;font-weight:700;min-height:13mm;font-size:.85em;line-height:1.5}
.ex-slogan{margin-top:2mm;border-top:1.8px solid #0E5B4E;padding-top:1.4mm;text-align:center;
  font-weight:900;color:#0E5B4E;font-size:.88em;flex:none;margin-bottom:3mm}
.ex-pager{position:absolute;bottom:5mm;inset-inline-start:0;width:100%;text-align:center;
  font-size:.72em;color:#6B8385;font-weight:700}
.ex-keytag{position:absolute;top:5.5mm;inset-inline-end:10mm;background:#0E5B4E;color:#fff;
  border-radius:5px;padding:.8mm 2.6mm;font-size:.72em;font-weight:900;z-index:2}
.ex-empty{padding:14mm 6mm;text-align:center;color:#6B8385;font-weight:700}
#exam-measure .exam-page::before{display:none}

/* 📺 شاشة العرض */
#lv-host{position:fixed;inset:0;z-index:5000;display:none;background:radial-gradient(1200px 700px at 50% -10%,#3B1D6E,#140A2E 60%,#0B0620);color:#fff;overflow:hidden;font-family:inherit}
#lv-host.on{display:block}body.lvh-open{overflow:hidden}
.lvh-bar{position:absolute;bottom:14px;inset-inline-end:14px;display:flex;gap:8px;z-index:3;opacity:.55}.lvh-bar:hover{opacity:1}
.lvh-bar button{width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-size:1.2rem;cursor:pointer}
.lvh-in{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;padding:3vh 4vw;box-sizing:border-box}
.lvh-wait{margin:auto;opacity:.7;font-size:1.4rem}
.lvh-lobby{margin:auto;text-align:center;display:grid;gap:2vh;justify-items:center}
.lvh-kick{font-size:clamp(14px,1.6vw,22px);opacity:.8}.lvh-lobby h1{font-size:clamp(34px,6vw,84px);margin:0}
.lvh-join{font-size:clamp(16px,2vw,28px);opacity:.9;margin:0}
.lvh-count{display:grid;gap:.3rem}.lvh-count span{opacity:.7;font-size:clamp(14px,1.5vw,20px)}.lvh-count b{font-size:clamp(44px,8vw,120px);font-variant-numeric:tabular-nums;color:#FFD23F}
.lvh-pc{font-size:clamp(18px,2.2vw,30px)}.lvh-pc b{font-size:1.5em;color:#7CE85A}
.lvh-names{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;max-width:80vw}
.lvh-names span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:.35rem .9rem;font-size:clamp(14px,1.5vw,22px);animation:lvhPop .45s cubic-bezier(.2,1.6,.4,1)}
@keyframes lvhPop{from{transform:scale(.3);opacity:0}}
.lvh-top{display:flex;justify-content:space-between;align-items:center;font-size:clamp(15px,1.8vw,26px);font-weight:800;opacity:.95}
.lvh-timer{width:clamp(70px,8vw,120px);height:clamp(70px,8vw,120px);border-radius:50%;display:grid;place-items:center;background:#FFD23F;color:#1B1030;font-size:clamp(28px,4vw,56px);font-weight:900;font-variant-numeric:tabular-nums}
.lvh-q{text-align:center;font-size:clamp(26px,4.2vw,64px);line-height:1.35;margin:3vh auto;max-width:90vw}.lvh-q.sm{font-size:clamp(20px,2.6vw,40px);margin:1.5vh auto}
.lvh-opts{display:grid;grid-template-columns:1fr 1fr;gap:1.6vh 1.4vw;flex:1;max-height:48vh}
.lvh-opt{position:relative;overflow:hidden;background:var(--c);border-radius:18px;display:flex;align-items:center;gap:1.2vw;padding:0 2vw;font-size:clamp(18px,2.6vw,40px);box-shadow:0 8px 0 rgba(0,0,0,.25)}
.lvh-opt .sh{font-size:1.5em}.lvh-opt b{position:relative;z-index:1}
.lvh-opts.rev .lvh-opt.no{opacity:.35;filter:grayscale(.5)}.lvh-opts.rev .lvh-opt.ok{box-shadow:0 0 0 6px #fff,0 0 40px rgba(255,255,255,.5)}
.lvh-opt .bar{position:absolute;inset-inline-start:0;bottom:0;height:100%;width:var(--h);background:rgba(255,255,255,.18);animation:lvhBar 1s cubic-bezier(.2,.8,.3,1)}
@keyframes lvhBar{from{width:0}}
.lvh-opt em{position:relative;z-index:1;margin-inline-start:auto;font-style:normal;font-weight:900;font-size:1.1em}
.lvh-opt .tick{position:relative;z-index:1;font-size:1.3em;margin-inline-start:.5vw}
.lvh-top5{margin-top:2vh;display:grid;gap:.9vh;max-width:70vw;width:100%;align-self:center}
.lvh-top5 div{display:grid;grid-template-columns:minmax(0,28%) 1fr auto;gap:1vw;align-items:center;font-size:clamp(15px,1.8vw,26px);font-weight:800}
.lvh-top5 i{height:clamp(14px,2vh,26px);border-radius:99px;background:linear-gradient(90deg,#FFD23F,#F77F00);width:var(--w);animation:lvhBar 1.1s cubic-bezier(.2,.8,.3,1)}
.lvh-final{margin:auto;text-align:center;display:grid;gap:3vh;width:100%}.lvh-final h1{font-size:clamp(28px,4.5vw,64px);margin:0}
.lvh-pod{display:grid;grid-template-columns:repeat(3,1fr);gap:2vw;align-items:end;max-width:70vw;margin:0 auto;width:100%}
.lvh-pod div{display:grid;justify-items:center;gap:.4rem;animation:lvhRise .9s cubic-bezier(.2,1.2,.4,1) both}
.lvh-pod span{font-size:clamp(40px,6vw,90px)}.lvh-pod b{font-size:clamp(18px,2.4vw,36px)}.lvh-pod small{opacity:.8;font-size:clamp(14px,1.6vw,22px)}
.lvh-pod i{display:block;width:100%;border-radius:14px 14px 0 0;background:rgba(255,255,255,.14)}
.lvh-pod .p1 i{height:24vh;background:linear-gradient(#FFD23F,#C98A00)}.lvh-pod .p2 i{height:16vh}.lvh-pod .p3 i{height:11vh}
.lvh-pod .p1{animation-delay:.6s}.lvh-pod .p3{animation-delay:.3s}
@keyframes lvhRise{from{transform:translateY(40vh);opacity:0}}
.lvh-rest{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;justify-content:center;opacity:.85;font-size:clamp(14px,1.6vw,22px)}
.lvh-fx{position:absolute;inset:0;pointer-events:none;z-index:1;overflow:hidden}
.lvh-fx i{position:absolute;bottom:-40px;font-size:clamp(22px,2.6vw,40px);font-style:normal;animation:lvhStar 1.7s cubic-bezier(.3,.6,.5,1) forwards}
@keyframes lvhStar{to{transform:translateY(-80vh) scale(.6) rotate(200deg);opacity:0}}
.lvh-fx b{position:absolute;top:-20px;width:10px;height:16px;border-radius:2px;animation:lvhConf 3s linear forwards}
@keyframes lvhConf{to{transform:translateY(110vh) rotate(720deg)}}

.lv-sec{margin-bottom:1rem}.lv-sec h3{display:flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--ink-soft);margin:.2rem .2rem .55rem;font-weight:800}
.lv-sec h3 span{background:var(--rule);color:var(--ink);border-radius:99px;padding:0 .5rem;font-size:.74rem}
.lv-delall{margin-inline-start:auto;border:1px solid var(--rule);background:var(--card,#fff);color:#B42318;border-radius:99px;padding:.25rem .75rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.lv-delall:hover{background:#FEF2F2;border-color:#FECACA}.lv-delall:disabled{opacity:.6;cursor:wait}
.lv-row{display:grid;grid-template-columns:44px 1fr auto 38px;gap:.75rem;align-items:center;border:1px solid var(--rule);border-radius:16px;padding:.7rem .8rem;margin-bottom:.5rem;
  cursor:pointer;background:var(--card,#fff);transition:border-color .15s,box-shadow .15s,transform .15s}
.lv-row:hover{border-color:#94A3B8;box-shadow:0 6px 18px rgba(15,23,42,.07);transform:translateY(-1px)}
.lv-ic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:1.25rem;background:#EEF2F7}
.lv-row.st-live .lv-ic{background:#DCFCE7}.lv-row.st-registration .lv-ic{background:#FEF3C7}.lv-row.st-waiting .lv-ic{background:#E0E7FF}
.lv-row.st-finished .lv-ic{background:#F1F5F9}.lv-row.st-cancelled .lv-ic{background:#FEE2E2}
.lv-row.st-live{border-color:#86EFAC;box-shadow:0 0 0 3px rgba(34,197,94,.12)}
.lv-main{min-width:0}.lv-main b{display:block;font-size:1rem;margin-bottom:.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lv-meta{display:flex;flex-wrap:wrap;gap:.3rem}.lv-meta span{font-size:.74rem;color:var(--ink-soft);background:var(--paper,#F7F9FC);border:1px solid var(--rule);border-radius:99px;padding:.08rem .5rem;white-space:nowrap}
.lv-side{display:grid;justify-items:center;gap:.3rem;min-width:98px}
.lv-pc{font-size:.8rem;color:var(--ink-soft)}.lv-pc b{color:var(--ink);font-size:.95rem}.lv-pc small{color:var(--ink-soft)}
.lv-del{width:38px;height:38px;border-radius:11px;border:1px solid transparent;background:transparent;color:#94A3B8;cursor:pointer;display:grid;place-items:center}
.lv-del:hover{color:#DC2626;background:#FEF2F2;border-color:#FECACA}
.lv-refresh{width:38px;height:38px;border-radius:11px;border:1px solid var(--rule);background:var(--card,#fff);color:var(--ink-soft);cursor:pointer;display:grid;place-items:center;margin-inline-end:.4rem}
.lv-refresh:hover{color:var(--ink);border-color:#94A3B8}
.lv-sec.past .lv-row{background:transparent}.lv-sec.past .lv-main b{color:var(--ink-soft)}
@media screen and (max-width:620px){.lv-row{grid-template-columns:40px 1fr 34px;grid-template-areas:"ic main del" "ic side del"}.lv-ic{grid-area:ic;width:40px;height:40px}.lv-main{grid-area:main}
  .lv-side{grid-area:side;display:flex;justify-items:start;gap:.5rem;min-width:0}.lv-del,.lv-del-ph{grid-area:del}}
.lv-chip{display:inline-block;font-size:.76rem;font-weight:800;border-radius:99px;padding:.15rem .55rem;background:#EEF2F7;color:#334155;white-space:nowrap}
.lv-chip.lv-registration{background:#FEF3C7;color:#92400E}.lv-chip.lv-waiting{background:#E0E7FF;color:#3730A3}.lv-chip.lv-live{background:#DCFCE7;color:#166534}
.lv-chip.lv-finished{background:#F1F5F9;color:#334155}.lv-chip.lv-cancelled{background:#FEE2E2;color:#991B1B}
.lv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.1rem .7rem}
.lv-prizes{display:flex;gap:.5rem}.lv-prizes span{display:flex;align-items:center;gap:.3rem;flex:1}.lv-prizes input{min-width:0}
.lv-adv{margin:.2rem 0 .6rem}.lv-adv summary{cursor:pointer;font-size:.86rem;color:var(--ink-soft)}
.lv-src{display:grid;gap:.3rem;max-height:210px;overflow:auto;border:1px solid var(--rule);border-radius:12px;padding:.5rem .6rem}
.lv-src label,.lv-shuf{display:flex;gap:.4rem;align-items:center;font-size:.86rem;cursor:pointer}.lv-src small{color:var(--ink-soft)}.lv-shuf{margin-top:.45rem}
.lv-mon-h{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.lv-mon-h h2{margin:0}
.lv-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin-bottom:.8rem}
.lv-kpis div{border:1px solid var(--rule);border-radius:12px;padding:.5rem .3rem;text-align:center;background:var(--paper)}
.lv-kpis b{display:block;font-size:1.25rem}.lv-kpis small{font-size:.72rem;color:var(--ink-soft)}
.lv-cur{border:1.5px solid #86EFAC;background:#F0FDF4;border-radius:14px;padding:.7rem .8rem;margin-bottom:.8rem}
.lv-cur-h{display:flex;justify-content:space-between;font-size:.88rem}.lv-cur p{margin:.5rem 0 .3rem;font-weight:700}
.lv-cur ol{margin:0;padding-inline-start:1.3rem;font-size:.88rem}.lv-cur li.ok{color:#166534;font-weight:800}
.lv-bar{height:8px;border-radius:99px;background:#DCFCE7;overflow:hidden;margin-top:.35rem}.lv-bar i{display:block;height:100%;background:#16A34A;transition:width .3s}
.lv-res h3{margin:.2rem 0 .5rem}.lv-res ol{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.lv-res li{display:flex;align-items:center;gap:.5rem;border:1px solid var(--rule);border-radius:10px;padding:.4rem .6rem}.lv-res li span{flex:1}.lv-res small{color:var(--ink-soft)}
.lv-res em{font-style:normal;font-size:.78rem;color:#92400E;background:#FEF3C7;border-radius:99px;padding:.1rem .45rem}
.lv-pl{margin:.5rem 0}.lv-pl summary{cursor:pointer;font-weight:700;font-size:.88rem}
.lv-pl div{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}.lv-pl span{font-size:.8rem;border:1px solid var(--rule);border-radius:99px;padding:.15rem .55rem}.lv-pl small{color:var(--ink-soft)}
.lv-nt ul{margin:.4rem 0 0;padding:0;list-style:none;display:grid;gap:.3rem;font-size:.84rem}
.lv-nt li{border:1px solid var(--rule);border-radius:10px;padding:.35rem .6rem}.lv-nt li span{color:var(--ink-soft)}.lv-nt em{font-style:normal;color:#B45309}
.lv-nt-warn{margin:.45rem 0 0;background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px;padding:.45rem .6rem;font-size:.84rem;color:#92400E}
.lv-cancel-note{background:#FEF2F2;border-radius:12px;padding:.55rem .7rem;font-size:.86rem}
@media screen and (max-width:560px){.lv-kpis{grid-template-columns:repeat(3,1fr)}}

.bp-progress{margin:.4rem 0 .6rem}.bp-progress small{display:block;color:var(--ink-soft);font-size:.8rem;margin-top:.3rem}
.bp-bar{height:8px;border-radius:99px;background:var(--rule);overflow:hidden}.bp-bar i{display:block;height:100%;width:0;background:var(--tick);transition:width .25s}

.cls-picker{display:flex;flex-wrap:wrap;gap:.35rem}
.cls-chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--rule);border-radius:999px;padding:.3rem .7rem;font-size:.84rem;cursor:pointer;background:var(--paper)}
.cls-chip input{width:16px;height:16px;accent-color:var(--tick);margin:0}
.cls-chip.on{border-color:var(--tick);background:rgba(27,156,107,.1);font-weight:700}
.cls-chip.all.on{border-color:#2E6BB8;background:rgba(46,107,184,.1)}
.cls-hint{font-size:.78rem;color:var(--ink-soft);margin-top:.3rem}

.bk-row{display:flex;justify-content:space-between;align-items:center;gap:.6rem;border:1px solid var(--rule);border-radius:12px;padding:.55rem .7rem;margin-bottom:.45rem}
.bk-row small{display:block;color:var(--ink-soft);font-size:.78rem}
.bk-btns{display:flex;gap:.35rem;flex:none}

.rem-history{font-size:.82rem;line-height:1.9;background:#F1F5F9;border-radius:10px;padding:.45rem .65rem;margin:-.2rem 0 .7rem;color:var(--ink)}
.rem-history small{color:var(--ink-soft)}.rem-hist-none{color:var(--ink-soft)}
.rem-armed{background:#FEF3C7!important;color:#92400E!important;border-color:#F59E0B!important}

.wkauto{padding:.7rem 1rem;display:grid;gap:.35rem}
.wkauto-tg{display:flex;gap:.6rem;align-items:flex-start;cursor:pointer}
.wkauto-tg input{width:20px;height:20px;margin-top:3px;flex:none;accent-color:var(--tick)}
.wkauto-tg span{display:grid;gap:2px}.wkauto-tg small{color:var(--ink-soft);font-size:.8rem;line-height:1.7}
.wkauto-last{font-size:.8rem;color:var(--ink-soft);padding-inline-start:1.9rem}.wkauto-last:empty{display:none}

.imp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.7rem}
.imp-card{border:1px solid var(--rule);border-radius:14px;padding:.8rem;display:flex;flex-direction:column;gap:.45rem;background:var(--paper)}
.imp-card.rec{border-color:var(--tick);box-shadow:0 0 0 2px rgba(27,156,107,.12)}
.imp-card p{margin:0;color:var(--ink-soft);font-size:.82rem;line-height:1.7;flex:1}
.imp-h{display:flex;align-items:center;justify-content:space-between;gap:.4rem}
.madimp-cls{border:1px solid var(--rule);border-radius:12px;padding:.6rem .7rem;margin-bottom:.6rem}
.madimp-h{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline}
.madimp-sum{display:flex;gap:.3rem;flex-wrap:wrap;margin:.35rem 0}
.madimp-list{display:grid;gap:.2rem;max-height:40vh;overflow:auto;margin-top:.35rem}
.madimp-r{display:flex;justify-content:space-between;gap:.5rem;font-size:.84rem;padding:.2rem .3rem;border-radius:8px}
.madimp-r small{color:var(--ink-soft)}.madimp-r.new small{color:var(--tick);font-weight:700}.madimp-r.amb small{color:#9A6512;font-weight:700}
/* 📨 نافذة التذكير */
.rem-sec{border:1px solid var(--rule);border-radius:14px;padding:.7rem;margin-bottom:.7rem;background:var(--paper-2,#fff)}
.rem-h{display:flex;flex-direction:column;gap:.1rem;margin-bottom:.45rem}.rem-h b{font-size:.92rem}.rem-h small{font-size:.74rem;color:var(--ink-soft)}
.rem-area{display:block;width:100%;min-height:9.5rem;padding:.7rem .8rem;border:1px solid #D9E2EC;border-radius:12px;background:#F8FAFC;color:#243447;
  font:inherit;font-size:.84rem;line-height:1.8;direction:rtl;resize:vertical;box-sizing:border-box}
:root[data-ui-theme="dark"] .rem-area{background:#101A2B;color:#E6EDF6;border-color:#2A3A55}
.rem-btn{width:100%;min-height:46px;margin-top:.5rem}
.rem-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.rem-status{font-size:.78rem;margin-top:.4rem;line-height:1.6}.rem-status.ok{color:var(--tick)}.rem-status.bad{color:var(--pen)}
/* 🔎 مهمة التصحيح في تقرير النشاط */
.rt-row{display:flex;align-items:center;gap:.6rem;padding:.5rem .1rem;border-bottom:1px solid var(--rule)}
.rt-row:last-child{border-bottom:0}
.rt-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}
.rt-tags{display:flex;gap:.3rem;flex-wrap:wrap}.rt-tags .pill{font-size:.72rem}
.rt-st{font-size:.74rem;color:var(--ink-soft)}.rt-st.wait{color:#9A6512}.rt-st.ok{color:var(--tick);font-weight:700}.rt-st.part{color:#2459B8;font-weight:700}
.rt-row .btn{flex:none;min-height:38px}

/* ═══ قالبا الاختبار ٢ و٣: وصل + أكمل الفراغ + أجب عن كل مما يلي ═══ */
.exm-bar{display:flex;flex-wrap:wrap;gap:.35rem .5rem;align-items:center;border:1px dashed #2E9E6B;border-radius:10px;padding:.5rem .6rem;margin-bottom:.55rem;background:rgba(46,158,107,.05);font-size:.8rem}
.exjf{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}
.exjf-chip{display:inline-flex;align-items:center;gap:.3rem;border:1px solid var(--ui-border,#D5E0EC);border-radius:999px;padding:.15rem .55rem;font-size:.76rem;background:var(--ui-bg,#fff)}
.exjf-chip button{border:0;background:none;cursor:pointer;color:var(--pen,#B4232F);font-weight:800;padding:0 .1rem}
.exx{flex-basis:100%;margin-top:.3rem}.exx>summary{cursor:pointer;font-weight:700;font-size:.8rem}
.exx-list{max-height:260px;overflow:auto;margin-top:.35rem;display:grid;gap:.2rem}
.exx-h{font-weight:800;font-size:.78rem;margin-top:.35rem;color:var(--ink-soft)}
.exx-row{display:flex;align-items:center;gap:.5rem;justify-content:space-between;background:var(--ui-bg,#fff);border:1px solid var(--ui-border,#D5E0EC);border-radius:8px;padding:.25rem .45rem}
.exx-t{font-size:.8rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.exm-chip{background:var(--ui-bg,#fff);border:1px solid var(--ui-border,#D5E0EC);border-radius:999px;padding:.15rem .55rem;font-size:.74rem;font-weight:700}.exm-chip.auto{color:var(--ink-soft)}
.exam-bank-item .exm-sel{grid-column:3;justify-self:end;margin-top:0!important}
.exm-sel{min-height:0!important;height:auto!important;line-height:1.3;width:auto!important;min-width:92px;padding:.2rem .4rem!important;font-size:.76rem!important;align-self:center}.exm-sel.on{border-color:#2E9E6B;background:rgba(46,158,107,.08);font-weight:700}
.exhw{border:1px solid var(--ui-border,#D5E0EC);border-radius:12px;background:var(--ui-bg,#fff);padding:.5rem}
.exhw-top{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;margin-bottom:.4rem}.exhw-top .inp{flex:1;min-width:170px}
.exhw-list{max-height:230px;overflow:auto;display:grid;gap:.25rem}
.exhw-item{display:flex;align-items:center;gap:.5rem;padding:.4rem .55rem;border:1px solid transparent;border-radius:9px;cursor:pointer;font-size:.86rem}
.exhw-item:hover{background:var(--ui-surface-2,#F3F7FB)}.exhw-item.on{border-color:#2E9E6B;background:rgba(46,158,107,.07)}
.exhw-item input{width:auto;margin:0}.exhw-t{flex:1;font-weight:600}.exhw-c{font-size:.74rem;color:var(--ink-soft)}
.exf-page{border:1px solid var(--ui-border,#D5E0EC);border-radius:12px;padding:.6rem .7rem;margin-bottom:.55rem;background:var(--ui-bg,#fff)}
.exf-ph{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem;font-size:.88rem}.exf-ph .muted{font-size:.74rem}
.exf-row{display:grid;grid-template-columns:5.2rem minmax(150px,1.4fr) 5.5rem 6.5rem 6.5rem 4.6rem auto;gap:.45rem;align-items:end;padding:.4rem 0;border-top:1px dashed var(--ui-border,#D5E0EC)}
.exf-row:first-of-type{border-top:0}
.exf-no{font-weight:800;font-size:.8rem;color:var(--ink-soft);align-self:center}.exf-sub{font-size:.8rem;font-weight:700;align-self:center}
.exf-f{display:grid;gap:.15rem;font-size:.72rem;color:var(--ink-soft);font-weight:600}.exf-f .inp{padding:.35rem .45rem}
.exf-tools{display:flex;gap:.2rem;align-self:center}.exf-tools .btn{padding:.25rem .45rem}
@media screen and (max-width:700px){.exf-row{grid-template-columns:1fr 1fr;}.exf-row select{grid-column:1/-1}.exf-no{grid-column:1/-1}}
.ex-mhead,.ex-mrow{display:grid;grid-template-columns:minmax(0,1fr) 14mm minmax(0,1fr);gap:0 3mm;align-items:center}
.ex-mhead{padding:1.1mm 3mm;background:#F4F8F7;border-bottom:1px solid #D7E3E1;font-size:.78em;font-weight:900;color:#0E5B4E;text-align:center}
.ex-mrow{padding:1.6mm 3mm;border-bottom:1px solid #D7E3E1;font-weight:700;line-height:1.3;min-height:12.5mm}
.ex-mrow:last-child{border-bottom:0}
.ex-mcell{display:flex;gap:2mm;align-items:center;min-width:0}
.ex-mbox{justify-self:center;width:10mm;height:7.5mm;border:1.3px solid #10323a;border-radius:3px;display:grid;place-items:center;font-weight:900;color:#0E5B4E}
.ex-mbox.key{background:#EAF3F0}
.ex-mdot{width:2mm;height:2mm;border-radius:50%;background:#7D9A9B;flex:0 0 2mm}
.ex-dots{display:inline-block;flex:1;min-width:20mm;height:1em;border-bottom:1.2px dotted #7D9A9B}
.ex-dots.wide{width:100%}
.ex-fq{display:flex;gap:2mm;align-items:baseline;padding:2mm 3mm;border-bottom:1px solid #D7E3E1;font-weight:700;line-height:1.75;min-height:14mm}
.ex-fq:last-child{border-bottom:0}
.ex-fq-t{flex:1;min-width:0}
.ex-blank{display:inline-block;min-width:32mm;padding:0 2mm;border-bottom:1.3px dotted #10323a;text-align:center;vertical-align:baseline;line-height:1.2}
.ex-blank.key{color:#0E5B4E;font-weight:900;border-bottom-style:solid}
.ex-wbank{margin:0;padding:2mm 3mm;border-bottom:1px solid #D7E3E1;background:#F7FAF9;text-align:center;font-weight:900;line-height:1.7;color:#10323a}
.ex-wbank span{white-space:nowrap}
.ex-wbank i{font-style:normal;font-weight:700;color:#5b7479}
.ex-oq{padding:1.7mm 3mm;border-bottom:1px solid #D7E3E1}
.ex-oq:last-child{border-bottom:0}
.ex-oq-t{flex:1;min-width:0}
.ex-omark{flex:none;border:1px solid #0E5B4E;border-radius:999px;padding:0 2.4mm;font-size:.72em;font-weight:900;color:#0E5B4E;white-space:nowrap;background:#fff}
.ex-lines{margin-top:.6mm;padding-inline-start:8mm}
.ex-lines i{display:block;height:7.6mm;border-bottom:1.1px dotted #7D9A9B}
/* ضغط تلقائي عندما لا يتسع المحتوى في صفحتين */
.exam-page[data-fit="1"] .ex-q{padding-block:1.2mm}
.exam-page[data-fit="1"] .ex-tf,.exam-page[data-fit="1"] .ex-mrow,.exam-page[data-fit="1"] .ex-fq,.exam-page[data-fit="1"] .ex-oq{padding-block:1mm;min-height:0}
.exam-page[data-fit="1"] .ex-lines i{height:6.6mm}
.exam-page[data-fit="2"]{line-height:1.28}
.exam-page[data-fit="2"] .ex-q,.exam-page[data-fit="2"] .ex-tf,.exam-page[data-fit="2"] .ex-mrow,.exam-page[data-fit="2"] .ex-fq,.exam-page[data-fit="2"] .ex-oq{padding-block:.8mm;min-height:0}
.exam-page[data-fit="2"] .ex-lines i{height:6mm}
.exam-page[data-fit="3"]{font-size:11.6pt!important;line-height:1.25}
.exam-page[data-fit="3"] .ex-q,.exam-page[data-fit="3"] .ex-tf,.exam-page[data-fit="3"] .ex-mrow,.exam-page[data-fit="3"] .ex-fq,.exam-page[data-fit="3"] .ex-oq{padding-block:.6mm;min-height:0}
.exam-page[data-fit="3"] .ex-lines i{height:5.6mm}
@media print{
  body.printing-exam #exam-paper .ex-mrow,body.printing-exam #exam-paper .ex-fq,body.printing-exam #exam-paper .ex-oq{break-inside:avoid!important;page-break-inside:avoid!important}
}

@media screen and (max-width:900px){
  #exam-preview{padding:.2rem .2rem 1rem}
  .exam-page{zoom:.58}
}

/*
   🖨️ الاختبار الورقي A4 — عزل كامل لمسار الطباعة
   يتم إخراج #p-exam وحده في أول الصفحة، بدون ترك عناصر مخفية
   في التدفق تسبب صفحة بيضاء قبل الاختبار.
*/
@media print{
  @page{size:A4 portrait;margin:0}

  html,body{
    margin:0 !important;
    padding:0 !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    background:#fff !important;
    overflow:visible !important;
  }

  /* أخرج واجهة المنصة بالكامل من تدفق الطباعة، لا مجرد إخفائها بصريًا */
  body.printing-exam > header,
  body.printing-exam > .mobile-nav,
  body.printing-exam > .veil,
  body.printing-exam > #toast{
    display:none !important;
  }

  body.printing-exam > main.wrap{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
  }

  body.printing-exam > main.wrap > .panel:not(#p-exam){
    display:none !important;
  }

  body.printing-exam #p-exam{
    display:block !important;
    position:absolute !important;
    top:0 !important;
    left:50% !important;
    right:auto !important;
    transform:translateX(-50%) !important;
    width:210mm !important;
    min-width:210mm !important;
    max-width:210mm !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  body.printing-exam #p-exam > .sheet.no-print,
  body.printing-exam #p-exam .no-print{
    display:none !important;
  }

  body.printing-exam #exam-preview{
    display:block !important;
    width:210mm !important;
    min-width:210mm !important;
    max-width:210mm !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:visible !important;
  }

  body.printing-exam #exam-paper{
    display:block !important;
    width:210mm !important;
    min-width:210mm !important;
    max-width:210mm !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:visible !important;
    direction:rtl !important;
  }

  /* صفحة الاختبار: أبعاد A4 شاملة للحشو، والمحاذاة من الحافة اليسرى الفعلية */
  body.printing-exam #exam-paper .exam-page{
    box-sizing:border-box !important;
    width:210mm !important;
    min-width:210mm !important;
    max-width:210mm !important;
    height:297mm !important;
    min-height:297mm !important;
    max-height:297mm !important;
    margin:0 !important;
    padding:8mm 9mm 7mm !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    inset-inline-start:auto !important;
    inset-inline-end:auto !important;
    transform:none !important;
    zoom:1 !important;
    overflow:hidden !important;
    box-shadow:none !important;
    border-radius:0 !important;
    break-after:page !important;
    page-break-after:always !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  body.printing-exam #exam-paper .exam-page:last-child{
    break-after:auto !important;
    page-break-after:auto !important;
  }

  /* لا تجعل التذييل يدفع نفسه إلى ورقة جديدة */
  body.printing-exam #exam-paper .ex-foot{
    margin-top:4mm !important;
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  body.printing-exam #exam-paper .ex-pager{
    display:none !important;
  }

  body.printing-exam #exam-paper .ex-sec,
  body.printing-exam #exam-paper .ex-q,
  body.printing-exam #exam-paper .ex-tf,
  body.printing-exam #exam-paper .ex-student,
  body.printing-exam #exam-paper .ex-head,
  body.printing-exam #exam-paper .ex-title{
    break-inside:avoid !important;
    page-break-inside:avoid !important;
  }

  body.printing-exam #exam-paper *{
    -webkit-print-color-adjust:exact !important;
    print-color-adjust:exact !important;
  }
}

/* ── 🎛️ اختيار نوع النشاط: بلاطات مقروءة بدل قائمة منسدلة مخفية المعنى ── */
.kind-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin:.1rem 0 .85rem}
@media screen and (max-width:540px){.kind-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kind-tile{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;
  padding:.55rem .6rem;border:1.5px solid var(--rule);border-radius:12px;
  background:var(--ui-surface-2,#F7F9FC);
  cursor:pointer;text-align:start;font:inherit;color:var(--ink);min-width:0;
  transition:border-color .15s,background .15s}
.kind-tile .ki{font-size:1.05rem;line-height:1}
.kind-tile b{font-size:.84rem;font-weight:800}
.kind-tile small{font-size:.69rem;color:var(--ink-soft);line-height:1.4}
.kind-tile[aria-pressed="true"]{border-color:var(--tick);background:rgba(27,156,107,.09);
  box-shadow:inset 0 0 0 1px var(--tick)}
.kind-tile:focus-visible{outline:2px solid var(--tick);outline-offset:2px}

/* ── ✨ زر التوليد بالذكاء: علامة واحدة وشكل واحد في كل النوافذ ── */
.ai-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .8rem;border-radius:11px;
  border:1.5px solid rgba(27,156,107,.45);background:rgba(27,156,107,.08);color:var(--tick);
  font-family:inherit;font-weight:800;font-size:.84rem;cursor:pointer;line-height:1.2}
.ai-btn .ai-mark{width:22px;height:22px;border-radius:7px;background:var(--tick);color:#fff;
  display:grid;place-items:center;font-size:.75rem;flex:none}
.ai-btn:hover{background:rgba(27,156,107,.15)}
.ai-btn.solid{background:var(--tick);color:#fff;border-color:var(--tick)}
.ai-btn.solid .ai-mark{background:rgba(255,255,255,.24)}
.ai-btn.block{width:100%;justify-content:center}
.ai-btn.sm{padding:.34rem .6rem;font-size:.78rem;border-radius:9px}
.ai-btn.sm .ai-mark{width:18px;height:18px;font-size:.66rem}
.ai-btn:disabled{opacity:.45;cursor:not-allowed}
.ai-btn.quiet{border-color:var(--rule);background:var(--paper);color:var(--ink)}
.ai-btn.quiet .ai-mark{background:var(--ink-soft)}

/* ── 🧭 لوح المولّد: خطوات مرقّمة بدل شبكة خانات متناثرة ── */
.nai-step{border:1px solid var(--rule);border-radius:14px;padding:.7rem .8rem;margin-bottom:.55rem;background:var(--paper)}
.nai-step>h4{margin:0 0 .5rem;font-size:.85rem;font-weight:800;display:flex;align-items:center;gap:.42rem}
.nai-step>h4 .n{width:20px;height:20px;border-radius:50%;background:var(--ink);color:var(--paper);
  font-size:.7rem;display:grid;place-items:center;flex:none;font-weight:800}
.nai-step>h4 .hint{margin-inline-start:auto;font-size:.7rem;font-weight:600;color:var(--ink-soft)}
.nai-ctx{border:1px solid var(--rule);border-radius:12px;background:var(--ui-surface-2,#F7F9FC);margin-bottom:.55rem}
.nai-ctx>summary{cursor:pointer;list-style:none;padding:.5rem .65rem;font-size:.79rem;font-weight:700;
  color:var(--ink-soft);display:flex;gap:.4rem;align-items:center}
.nai-ctx>summary::-webkit-details-marker{display:none}
.nai-ctx>summary::after{content:'▾';margin-inline-start:auto;font-size:.8rem}
.nai-ctx[open]>summary::after{content:'▴'}
.nai-ctx[open]>summary{border-bottom:1px solid var(--rule)}
.nai-ctx .reading-ai-grid{padding:.55rem .65rem}
.nai-ctx .field{margin-bottom:0}

/* نوع السؤال وعدده في عنصر واحد — كانا شبكتين متكررتين لنفس الأنواع */
.qty-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}
@media screen and (max-width:540px){.qty-list{grid-template-columns:1fr}}
 .qty{display:flex;align-items:center;gap:.5rem;border:1.5px solid var(--rule);border-radius:11px;
  padding:.3rem .45rem;background:var(--ui-surface-2,#F7F9FC)}
.qty.on{border-color:rgba(27,156,107,.5);background:rgba(27,156,107,.07)}
.qty>label{flex:1;min-width:0;font-size:.81rem;font-weight:700;display:flex;align-items:center;gap:.4rem;cursor:pointer}
.qty>label span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.stepper{display:flex;align-items:center;gap:.15rem;flex:none}
.stepper button{width:26px;height:26px;border-radius:8px;border:1px solid var(--rule);background:var(--paper);
  font-weight:900;cursor:pointer;color:var(--ink);font-family:inherit;line-height:1;padding:0}
.stepper button:hover{filter:brightness(.96)}
.stepper input{width:42px;height:26px;min-height:26px;text-align:center;border:1px solid var(--rule);
  border-radius:8px;background:var(--paper);font-weight:800;padding:0;font-size:.84rem}
.nai-game{display:grid;grid-template-columns:1fr auto;gap:.5rem;align-items:end}
@media screen and (max-width:540px){.nai-game{grid-template-columns:1fr}}

.reading-ai-note{font-size:.72rem;color:var(--ink-soft);line-height:1.5}
.reading-ai-status{display:none;margin-top:.8rem;padding:.7rem;border-radius:10px;background:rgba(27,156,107,.07);border:1px solid rgba(27,156,107,.2)}
.reading-ai-status.show{display:block}
.reading-ai-result{display:none;margin-top:.8rem;max-height:300px;overflow:auto}
.reading-ai-result.show{display:block}
.reading-ai-q{padding:.65rem .75rem;border:1px solid var(--rule,#ddd);border-radius:10px;margin-bottom:.45rem}
.reading-ai-q b{display:block;margin-bottom:.25rem}
@media screen and (max-width:900px){.reading-ai-counts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media screen and (max-width:650px){.reading-ai-grid,.reading-ai-counts{grid-template-columns:1fr 1fr}}

/* ── <style id=ai-activity-ui-refresh> ── */

/* واجهة مولدات الذكاء في الأنشطة — تحسين بصري فقط */
.reading-ai-backdrop{
  padding:clamp(.75rem,2vw,1.5rem);
  background:
    radial-gradient(circle at 50% 0,rgba(23,184,137,.12),transparent 30rem),
    rgba(10,20,36,.68);
  backdrop-filter:blur(9px) saturate(1.08);
  -webkit-backdrop-filter:blur(9px) saturate(1.08);
}
.reading-ai-card{
  width:min(820px,calc(100vw - 24px));
  max-height:calc(100dvh - 24px);
  padding:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  background:linear-gradient(180deg,#fff 0%,#F8FAFC 100%);
  border:1px solid rgba(255,255,255,.75);
  border-radius:24px;
  box-shadow:0 30px 90px rgba(7,18,34,.38),0 8px 24px rgba(7,18,34,.16);
}
.reading-ai-head{
  position:sticky;
  top:0;
  z-index:4;
  margin:0;
  padding:1rem 1.15rem;
  min-height:72px;
  background:linear-gradient(135deg,#16233A 0%,#203653 62%,#0E5B4E 140%);
  color:#fff;
  border:0;
  gap:.75rem;
  box-shadow:0 5px 18px rgba(22,35,58,.15);
}
.reading-ai-head > div:first-child{
  width:44px;height:44px;flex:none;
  display:grid;place-items:center;
  border-radius:14px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}
.reading-ai-head h3{
  font-size:1.08rem;
  letter-spacing:-.02em;
  line-height:1.45;
}
.reading-ai-head::after{
  content:"إنشاء ذكي • مراجعة قبل الحفظ";
  margin-inline-start:auto;
  padding:.3rem .6rem;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#DCE8F4;
  border-radius:999px;
  font-size:.68rem;
  font-weight:700;
  white-space:nowrap;
}
.reading-ai-card > .reading-ai-grid,
.reading-ai-card > .reading-ai-note,
.reading-ai-card > .reading-ai-types,
.reading-ai-card > .reading-ai-counts,
.reading-ai-card > details{
  margin-inline:1.15rem;
}
.reading-ai-card > .reading-ai-grid{
  margin-top:1rem;
}
.reading-ai-grid{
  gap:.8rem;
}
.reading-ai-grid .field{
  margin-bottom:.15rem;
  padding:.72rem;
  background:#fff;
  border:1px solid #DCE5EF;
  border-radius:14px;
  box-shadow:0 2px 8px rgba(22,35,58,.035);
}
.reading-ai-grid .field label{
  color:#40546B;
  font-size:.78rem;
  margin-bottom:.08rem;
}
.reading-ai-grid .inp{
  min-height:44px;
  padding:.58rem .72rem;
  background:#F6F8FB;
  border:1px solid #D4DFEA;
  border-radius:11px;
}
.reading-ai-grid textarea.inp{
  min-height:116px;
  line-height:1.75;
}
.reading-ai-grid .inp:hover{
  background:#fff;
  border-color:#B9C9D9;
}
.reading-ai-grid .inp:focus{
  background:#fff;
  border-color:#4B789E;
  box-shadow:0 0 0 3px rgba(75,120,158,.11);
}
.reading-ai-note{
  margin-top:.9rem;
  padding:.7rem .8rem;
  color:#52657C;
  background:#F0F7F5;
  border:1px solid #D5E9E2;
  border-radius:12px;
  font-size:.76rem;
}
.reading-ai-types{
  margin-top:.9rem;
}
.reading-ai-type{
  min-height:44px;
  border-color:#D8E2EC;
  background:#fff;
  transition:.16s ease;
}
.reading-ai-type:hover{
  transform:translateY(-1px);
  border-color:#AFC1D3;
  box-shadow:0 4px 12px rgba(22,35,58,.07);
}
.reading-ai-type:has(input:checked){
  border-color:#45A986;
  background:#EDF8F4;
  box-shadow:0 3px 10px rgba(27,156,107,.08);
}
.reading-ai-counts{
  margin-top:.75rem;
}
.reading-ai-count{
  padding:.45rem;
  background:#fff;
  border:1px solid #D8E2EC;
  border-radius:11px;
}
.reading-ai-count input{
  min-height:34px;
  height:34px;
  border:1px solid #D4DFEA;
  border-radius:8px;
  background:#F7F9FC;
}
.reading-ai-status{
  margin:1rem 1.15rem 0;
  padding:.8rem .9rem;
  border-radius:13px;
  background:#EDF8F4;
  border:1px solid #CDE8DE;
  color:#176B52;
  font-weight:700;
  line-height:1.65;
}
.reading-ai-result{
  margin:1rem 1.15rem 0;
  padding:.2rem;
}
.reading-ai-q{
  background:#fff;
  border-color:#DCE5EF;
  border-radius:13px;
  box-shadow:0 2px 7px rgba(22,35,58,.035);
}
.reading-ai-card > .modal-foot{
  position:sticky;
  bottom:0;
  z-index:5;
  margin:1rem 0 0;
  padding:.8rem 1.15rem calc(.8rem + env(safe-area-inset-bottom,0px));
  background:rgba(248,250,252,.94);
  border-top:1px solid #DCE5EF;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.reading-ai-card > .modal-foot .btn{
  min-height:46px;
  min-width:120px;
  border-radius:12px;
}
.reading-ai-card > .modal-foot .btn.tick{
  box-shadow:0 5px 14px rgba(27,156,107,.2);
}
@media screen and (max-width:900px){
  .reading-ai-card > .reading-ai-grid,
  .reading-ai-card > .reading-ai-note,
  .reading-ai-card > .reading-ai-types,
  .reading-ai-card > .reading-ai-counts,
  .reading-ai-card > details{margin-inline:.85rem}
  .reading-ai-head{padding:.85rem .9rem}
  .reading-ai-card > .modal-foot{padding-inline:.85rem}
}
@media screen and (max-width:650px){
  .reading-ai-backdrop{padding:.45rem}
  .reading-ai-card{
    width:calc(100vw - .9rem);
    max-height:calc(100dvh - .9rem);
    border-radius:18px;
  }
  .reading-ai-head{
    min-height:62px;
    padding:.72rem .8rem;
  }
  .reading-ai-head h3{font-size:.95rem}
  .reading-ai-head::after{display:none}
  .reading-ai-head > div:first-child{width:38px;height:38px;border-radius:11px}
  .reading-ai-card > .reading-ai-grid{
    grid-template-columns:1fr;
    margin-top:.7rem;
  }
  .reading-ai-grid .field{
    padding:.62rem;
  }
  .reading-ai-grid textarea.inp{min-height:105px}
  .reading-ai-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
  .reading-ai-counts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
  .reading-ai-card > .modal-foot{
    gap:.45rem;
    margin-top:.7rem;
    flex-wrap:wrap;
  }
  .reading-ai-card > .modal-foot .btn{flex:1 1 30%;min-width:0}
  .reading-ai-card > .modal-foot #rai-finish{flex-basis:100%;}
}
@media screen and (max-width:400px){
  .reading-ai-types{grid-template-columns:1fr}
  .reading-ai-head > div:first-child{display:none}
}

/* ── <style id=ask-style> ── */

.ask-t{border:1px solid var(--ui-border,#e3e8ee);border-radius:12px;padding:.6rem .7rem;margin:.45rem 0;background:var(--ui-surface,#fff);display:grid;gap:.35rem}
.ask-t-h{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.84rem}
.ask-cat{font-size:.72rem;font-weight:700;padding:.08rem .5rem;border-radius:999px;background:#EEF2FF;color:#22409A}
.ask-t-q{font-size:.92rem;line-height:1.7;white-space:pre-wrap;background:var(--ui-bg,#f8fafc);border-radius:10px;padding:.45rem .6rem}
.ask-t-r{font-size:.86rem;line-height:1.7;background:#EAF7F0;border-inline-start:4px solid #1E9E6A;border-radius:8px;padding:.4rem .55rem;white-space:pre-wrap}
.ask-quick{display:flex;flex-wrap:wrap;gap:.3rem}.ask-quick button{border:1px solid var(--ui-border,#dce5f0);background:#fff;border-radius:999px;padding:.2rem .6rem;font:inherit;font-size:.76rem;cursor:pointer}
.ask-t textarea{width:100%;box-sizing:border-box}
.ask-t-b{display:flex;gap:.35rem;flex-wrap:wrap}.ask-t-b .btn{width:auto!important}

/* ── <style id=fu-style> ── */
.th-al.fu-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.th-al.fu-row>span:first-child{flex:1;min-width:150px}
.fu-acts{display:flex!important;flex-direction:row!important;gap:.3rem;flex-wrap:nowrap;align-items:center;flex:none}
.fu-acts .btn{width:auto!important;min-height:32px;padding:.3rem .6rem!important;white-space:nowrap}
.du-li{flex-wrap:wrap}.du-li>span:first-child{flex:1 1 170px}
.du-acts{display:flex;gap:.3rem;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.du-acts .btn{width:auto!important;white-space:nowrap;min-height:32px;padding:.3rem .55rem!important}
/* 📱 الجوال: الاسم كاملًا في سطره، والأزرار صفًّا تحته (كانت تعصر الاسم كلمةً في كل سطر) */
@media screen and (max-width:600px){
  .th-al.fu-row{align-items:stretch}
  .th-al.fu-row>span:first-child,.du-li>span:first-child{flex-basis:100%}
  .fu-acts,.du-acts{width:100%;justify-content:flex-start;flex-wrap:wrap}
  .fu-acts .btn,.du-acts .btn{flex:1 1 auto;justify-content:center}
  .th-al-h{flex-wrap:wrap}
}
/* ── <style id=rep-theme-2026> ── */

html body .donut{position:relative}
html body .donut b{background:#fff!important;width:60%!important;height:60%!important;flex-direction:column;gap:1px;color:#13324A;box-shadow:0 0 0 2px rgba(255,255,255,.9),0 1px 4px rgba(0,0,0,.12);-webkit-print-color-adjust:exact;print-color-adjust:exact}
html body .donut b span{font-size:1.15em;font-weight:800;line-height:1.1}
html body .donut b small{font-size:.5em;font-weight:700;color:#5A6B84;line-height:1.25;max-width:90%;text-align:center}
/* ═══ 🎨 هوية التقارير والكشوف (شاشة وطباعة) — طبقة أخيرة تتقدّم على القواعد القديمة ═══ */
:root{--rp-g:#4DB87A;--rp-t:#1E9E8A;--rp-b:#2275B5;--rp-navy:#14395A;--rp-teal:#14907E;--rp-line:#A9D9CD;--rp-soft:#F2F9F7}
html body .rep-page{background:#fff}
html body .rep-head.rh2{display:grid!important;grid-template-columns:1fr auto 1fr!important;align-items:center!important;gap:1rem!important;
  background:linear-gradient(to left,var(--rp-g) 0%,var(--rp-t) 48%,var(--rp-b) 100%)!important;color:#fff!important;
  padding:1rem 1.5rem 2.1rem!important;border-radius:0 0 26px 26px!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
html body .rep-head.rh2 .t{text-align:right!important;line-height:1.65!important;padding:0!important}
html body .rep-head.rh2 .t b{font-size:1rem!important;font-weight:800}
html body .rep-head.rh2 .t span,html body .rep-head.rh2 .yr span{display:block;font-size:.8rem!important;opacity:.95}
html body .rep-head.rh2 .logo{position:static!important;transform:none!important;width:150px!important;height:78px!important;margin:0!important}
html body .rep-head.rh2 .logo svg{width:100%!important;height:100%!important}
html body .rep-head.rh2 .logo svg [class^="moe-st"]{fill:#fff!important}
html body .rep-head.rh2 .yr{text-align:left!important;line-height:1.8;font-weight:600}
html body .rep-head.rh2 .yr span:first-child{font-size:.88rem!important;font-weight:800}
html body .rep-title{position:relative;z-index:2;margin:-1.3rem auto .85rem;width:calc(100% - 4rem);background:var(--rp-navy);color:#fff;border-radius:12px;
  padding:.55rem 1rem;text-align:center;box-shadow:0 6px 14px rgba(20,57,90,.22);-webkit-print-color-adjust:exact;print-color-adjust:exact}
html body .rep-title b{font-size:1.08rem;font-weight:800}
html body .rep-title span{font-size:.86rem;opacity:.85;margin-inline-start:.5rem}
html body .rep-title span::before{content:'— ';opacity:.7}
/* أقسام بإطار وعنوانها على الإطار */
html body .rep-page .rep-sec{display:block!important;width:fit-content!important;max-width:calc(100% - 2.4rem)!important;margin:.15rem 1.1rem -.8rem auto!important;margin-inline:1.1rem auto!important;
  position:relative;z-index:1;background:#fff!important;color:var(--rp-teal)!important;border:0!important;border-radius:0!important;
  padding:0 .55rem!important;text-align:start!important;font-weight:800!important;font-size:.98rem!important;line-height:1.6!important}
html body .rep-page .rep-sec::before,html body .rep-page .rep-sec::after{content:'';display:inline-block;width:12px;height:2px;background:currentColor;vertical-align:middle;margin:0 .4rem;opacity:.75}
html body .rep-page .rep-box{border:1.5px solid var(--rp-line)!important;border-radius:14px!important;padding:1.2rem .9rem .8rem!important;margin-bottom:1rem!important;background:#fff}
html body .rep-page .rep-info>div{background:var(--rp-soft)!important;border:1px solid #CDE7E0!important;border-radius:10px!important;color:#56697A}
html body .rep-page .rep-info b{color:#12324A;font-size:1.02em}
html body .rep-page .rep-band{background:linear-gradient(to left,#E6F5F0,#E9F1FB)!important;color:var(--rp-navy)!important;border:1px solid #CDE7E0;border-radius:10px!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
html body .rep-page .rt th{background:var(--rp-teal)!important;color:#fff!important;border:1px solid #11806F!important;font-weight:700;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
html body .rep-page .rt td{border-color:#DCE8E5!important}
html body .rep-page .rt tbody tr:nth-child(even) td:not(.lv):not([style*="background"]){background-color:#F6FAF9;-webkit-print-color-adjust:exact;print-color-adjust:exact}
html body .rep-page .rep-foot>div{background:var(--rp-soft);border:1px solid #CDE7E0!important;border-radius:10px!important}
/* تذييل الصفحة: المدرسة والمعلم */
html body .rep-page:not(.ct-cert)::after{content:var(--rp-foot,'');display:block;margin-top:.6rem;padding:.42rem 1.3rem;font-size:.74rem;font-weight:600;color:#fff;text-align:right;
  background:linear-gradient(to left,var(--rp-g) 0%,var(--rp-t) 48%,var(--rp-b) 100%);-webkit-print-color-adjust:exact;print-color-adjust:exact}
html body .ct-cert .rep-head.rh2,html body .ct-cert .rep-title{display:none!important}
@media print{
  html body .rep-head.rh2{padding:.7rem 1.1rem 1.75rem!important;border-radius:0 0 20px 20px!important}
  html body .rep-head.rh2 .logo{width:136px!important;height:70px!important}
  html body .rep-title{margin-top:-1.15rem;padding:.42rem .8rem;box-shadow:none;width:calc(100% - 3rem)}
  html body .rep-title b{font-size:12.5pt}
  html body .rep-page .rep-sec{font-size:10pt!important;margin-bottom:-.7rem!important}
  html body .rep-page .rep-box{padding:.95rem .6rem .5rem!important;margin-bottom:.6rem!important}
  html body .rep-page .rt th{font-size:8.8pt!important}
  /* الكشف الشامل: ترويسة مختصرة (مساحة الطلاب أولًا) دون أن يغطي شريط العنوان سطر التاريخ */
  html body #comp-table .rep-head.rh2,html body #wk-table .rep-head.rh2{padding:.45rem .9rem 1.4rem!important;border-radius:0 0 16px 16px!important}
  html body #comp-table .rep-head.rh2 .logo,html body #wk-table .rep-head.rh2 .logo{width:118px!important;height:58px!important}
  html body #comp-table .rep-head.rh2 .t b{font-size:9.8pt!important}
  html body #comp-table .rep-head.rh2 .t span,html body #comp-table .rep-head.rh2 .yr span{font-size:7.4pt!important;line-height:1.45!important}
  html body #comp-table .rep-title{margin-top:-1rem;padding:.32rem .8rem}
  html body #comp-table .rep-title b{font-size:11pt}
  /* 📱 الطباعة من الجوال (سفاري آيفون يخطّط الطباعة بعرض أضيق من A4 ولا يصغّر ما يفيض بل يقصّه):
     التقرير يتمدّد بعرض الورقة المتاح مهما كان، والجداول تلتف نصوصها بدل أن تخرج عن الحافة */
  html body .rep-page,html body .rep-page .rep-in,html body .rep-page .rep-box{width:auto!important;max-width:100%!important;min-width:0!important;box-sizing:border-box}
  html body .rep-page table{width:100%!important;max-width:100%!important;min-width:0!important}
  /* الأسماء والنصوص تلتف داخل خلاياها بدل أن تدفع الجدول خارج الورقة (كان جدول «نمط كل طالب» يُقصّ) */
  html body .rep-page th,html body .rep-page td{overflow-wrap:break-word;word-break:normal;white-space:normal!important}
  html body .rep-page [style*="overflow-x"]{overflow:visible!important}
  html body #sty-table th:nth-child(2){width:34%!important}   /* اسم الطالب لا ينضغط إلى ثلاثة أسطر */
  html body #sty-table td:nth-child(4){white-space:nowrap!important}
  /* كل «صفحة تقرير» تبدأ على ورقة جديدة (كانت قاعدة break-after:auto!important تلغي الفصل فتظهر ترويسة الصفحة التالية أسفل الأولى) */
  html body .rep-page+.rep-page{break-before:page!important;page-break-before:always!important}
  /* القسم الطويل يكمل في الصفحة التالية بدل أن يقفز كله ويترك نصف صفحة فارغًا؛ الصفوف لا تنقسم */
  html body .rep-page .rep-box{break-inside:auto!important;page-break-inside:auto!important}
  html body .rep-page .rt tr,html body .rep-page .rep-info,html body .rep-page .rep-foot,html body .rep-page .plan-sign,html body .rep-page .hb{break-inside:avoid!important;page-break-inside:avoid!important}
  html body .rep-page .rt thead{display:table-header-group}
  html body .rep-page .rep-sec{break-after:avoid!important;page-break-after:avoid!important}
}
/* ورقة أضيق من A4 الكمبيوتر (سفاري الآيفون): الأعمدة تتنازل عن عرضها الثابت — لا يتأثر الكمبيوتر (≈733px) */
@media print and (max-width:720px){
  html body .rep-page th[style*="width"],html body .rep-page td[style*="width"]{width:auto!important}
}
@media print and (max-width:560px){ html body .rep-page th,html body .rep-page td{overflow-wrap:anywhere} }
.g-print-head{display:none}
@media print{body.printing-grades .g-print-head{display:block!important;margin-bottom:.4rem}}
@media screen and (max-width:700px){html body .rep-head.rh2{grid-template-columns:1fr!important;text-align:center}html body .rep-head.rh2 .t,html body .rep-head.rh2 .yr{text-align:center!important}html body .rep-head.rh2 .logo{margin:0 auto!important}}

/* ── <style id=final-exam-print-fix> ── */

@media print{
  @page{size:A4 portrait;margin:0!important}

  html,body{
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  body.printing-exam > *{display:none!important}
  body.printing-exam > main.wrap{
    display:block!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    margin:0 auto!important;
    padding:0!important;
    background:#fff!important;
  }

  body.printing-exam > main.wrap > .panel:not(#p-exam){display:none!important}

  body.printing-exam #p-exam{
    display:block!important;
    position:static!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    margin:0 auto!important;
    padding:0!important;
    transform:none!important;
    background:#fff!important;
    overflow:visible!important;
  }

  body.printing-exam #p-exam > .sheet.no-print,
  body.printing-exam #p-exam .no-print{display:none!important}

  body.printing-exam #exam-preview{
    display:block!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    margin:0 auto!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  body.printing-exam #exam-paper{
    display:block!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    margin:0 auto!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
    direction:rtl!important;
  }

  body.printing-exam #exam-paper .exam-page{
    box-sizing:border-box!important;
    display:block!important;
    position:relative!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    height:297mm!important;
    min-height:297mm!important;
    max-height:297mm!important;
    margin:0 auto!important;
    padding:8mm 9mm 7mm!important;
    transform:none!important;
    zoom:1!important;
    overflow:hidden!important;
    box-shadow:none!important;
    border-radius:0!important;
    break-after:page!important;
    page-break-after:always!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  body.printing-exam #exam-paper .exam-page:last-child{
    break-after:auto!important;
    page-break-after:auto!important;
  }

  /* Keep the closing line inside the A4 sheet instead of letting it create page 2. */
  body.printing-exam #exam-paper .ex-slogan{
    position:absolute!important;
    left:9mm!important;
    right:9mm!important;
    bottom:4.5mm!important;
    width:auto!important;
    margin:0!important;
    padding:1.1mm 0 0!important;
    border-top:1.8px solid #0E5B4E!important;
    text-align:center!important;
    font-weight:900!important;
    color:#0E5B4E!important;
    font-size:.84em!important;
    line-height:1.25!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  body.printing-exam #exam-paper .ex-pager{display:none!important}

  body.printing-exam #exam-paper *{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}

/* ── <style id=final-exam-print-fix> ── */

@media print{
  @page{size:A4 portrait;margin:0!important}
  html,body{width:210mm!important;min-width:210mm!important;max-width:210mm!important;margin:0!important;padding:0!important;background:#fff!important;overflow:visible!important}
  body.printing-exam > *{display:none!important}
  body.printing-exam > main.wrap{display:block!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;margin:0 auto!important;padding:0!important;background:#fff!important}
  body.printing-exam > main.wrap > .panel:not(#p-exam){display:none!important}
  body.printing-exam #p-exam{display:block!important;position:static!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;margin:0 auto!important;padding:0!important;transform:none!important;background:#fff!important;overflow:visible!important}
  body.printing-exam #p-exam > .sheet.no-print,body.printing-exam #p-exam .no-print{display:none!important}
  body.printing-exam #exam-preview{display:block!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;margin:0 auto!important;padding:0!important;background:#fff!important;overflow:visible!important}
  body.printing-exam #exam-paper{display:block!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;margin:0 auto!important;padding:0!important;background:#fff!important;overflow:visible!important;direction:rtl!important}
  body.printing-exam #exam-paper .exam-page{box-sizing:border-box!important;display:block!important;position:relative!important;width:210mm!important;min-width:210mm!important;max-width:210mm!important;height:297mm!important;min-height:297mm!important;max-height:297mm!important;margin:0 auto!important;padding:8mm 9mm 7mm!important;transform:none!important;zoom:1!important;overflow:hidden!important;box-shadow:none!important;border-radius:0!important;break-after:page!important;page-break-after:always!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body.printing-exam #exam-paper .exam-page:last-child{break-after:auto!important;page-break-after:auto!important}
  body.printing-exam #exam-paper .ex-slogan{position:absolute!important;left:9mm!important;right:9mm!important;bottom:4.5mm!important;width:auto!important;margin:0!important;padding:1.1mm 0 0!important;border-top:1.8px solid #0E5B4E!important;text-align:center!important;font-weight:900!important;color:#0E5B4E!important;font-size:.84em!important;line-height:1.25!important;break-inside:avoid!important;page-break-inside:avoid!important}
  body.printing-exam #exam-paper .ex-pager{display:none!important}
  body.printing-exam #exam-paper *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* ── <style id=final-robust-exam-print-fix> ── */

@media print{
  @page{size:A4 portrait;margin:0!important}

  html,body{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    background:#fff!important;
    overflow:visible!important;
  }

  body.printing-exam > *{display:none!important}

  body.printing-exam > main.wrap{
    display:block!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    margin:0 auto!important;
    padding:0!important;
    background:#fff!important;
  }

  body.printing-exam > main.wrap > .panel:not(#p-exam){display:none!important}

  body.printing-exam #p-exam,
  body.printing-exam #exam-preview,
  body.printing-exam #exam-paper{
    display:block!important;
    position:static!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    margin:0 auto!important;
    padding:0!important;
    transform:none!important;
    zoom:1!important;
    background:#fff!important;
    overflow:visible!important;
  }

  body.printing-exam #p-exam > .sheet.no-print,
  body.printing-exam #p-exam .no-print{display:none!important}

  /* ورقة A4: لا نجعل عرض body نفسه 210mm، وإلا لا يبقى مجال للمحاذاة الوسطية. */
  body.printing-exam #exam-paper .exam-page{
    box-sizing:border-box!important;
    display:block!important;
    position:relative!important;
    width:210mm!important;
    min-width:210mm!important;
    max-width:210mm!important;
    height:296mm!important;
    min-height:296mm!important;
    max-height:296mm!important;
    margin:0 auto!important;
    padding:8mm 9mm 8mm!important;
    transform:none!important;
    zoom:1!important;
    overflow:hidden!important;
    box-shadow:none!important;
    border-radius:0!important;
    break-after:page!important;
    page-break-after:always!important;
    break-inside:avoid!important;
    page-break-inside:avoid!important;
  }

  body.printing-exam #exam-paper .exam-page:last-child{
    break-after:auto!important;
    page-break-after:auto!important;
  }

  /* التذييل لا يدخل في التدفق إطلاقًا، حتى لا يصنع صفحة ثانية. */
  body.printing-exam #exam-paper .ex-slogan{display:none!important}
  body.printing-exam #exam-paper .exam-page::after{content:none!important;display:none!important}

  body.printing-exam #exam-paper .ex-pager{display:none!important}

  body.printing-exam #exam-paper *{
    -webkit-print-color-adjust:exact!important;
    print-color-adjust:exact!important;
  }
}

/* ── <style id=report-pages-unify> ── */

/* 🎨 توحيد صفحات الكشوف مع بقية اللوحة (الشاشة فقط — الطباعة والقالب الأخضر كما هما) */
@media screen{
  .report-filters{margin:0 0 .8rem}
  .report-filters .report-filter-row{gap:.5rem .6rem}
  .report-filters .report-filter-row>label,#p-plans .report-filters .report-filter-row>label{white-space:nowrap;font-weight:500;margin:0}
  .report-filters .report-filter-row>select.inp{flex:0 0 auto;width:auto!important}
  .report-academic-row{gap:.45rem;margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--ui-border,#DCE5F0)}
  .report-academic-row .chip{font-size:.78rem}
  .report-academic-row .btn.report-danger{color:var(--pen)}
  .report-week-nav{display:inline-flex;gap:.35rem;flex-wrap:wrap}
  .report-state{margin:.1rem .15rem .65rem;font-size:.8rem}
  #p-plans > .card{margin-top:0;background:none;border:0;box-shadow:none;padding:0}
  #p-plans > .card::before{display:none}
  #p-plans > .card > #plan-form:first-child{margin-top:0!important}
  .wr-tools .inp{min-height:38px;font-size:.82rem;padding:.4rem .6rem}
  #plan-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;font-weight:600;color:var(--ink-soft)}
  #plan-form label>.inp{font-weight:400;color:var(--ink)}
}
@media screen and (max-width:700px){
  .report-filters .report-filter-row{display:grid!important;grid-template-columns:1fr;gap:.35rem}
  .report-filters .report-filter-row>label{margin-top:.2rem}
  .report-filters .report-filter-row>.inp{width:100%!important;min-width:0!important}
  .report-week-nav{display:grid;grid-template-columns:repeat(3,1fr)}
  .report-week-nav .btn{padding-inline:.3rem;font-size:.74rem}
  .report-academic-row{display:grid!important;grid-template-columns:1fr}
  .report-academic-row .spacer{display:none}
}

/* ── <style id=reading-worksheet-style> ── */

/* 📖 ورقة الفهم القرائي — A4 (مشتركة بين بوابة الطالب ولوحة المعلم) */
.rdk{font-family:"Noto Naskh Arabic","Traditional Arabic","Amiri","Times New Roman",serif;color:#12362F;font-size:12.5pt;line-height:1.75;direction:rtl;text-align:right;background:#fff}
.rdk *{box-sizing:border-box}
.rdk-head{display:flex;align-items:center;gap:5mm;background:#0E5B4E;color:#fff;border-radius:3mm;padding:3.5mm 5mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rdk-logo{width:21mm;height:21mm;flex:none}
.rdk-logo svg{width:100%;height:100%;display:block}
.rdk-logo svg [class^="moe-st"]{fill:#fff!important}
.rdk-ttl{min-width:0}
.rdk-ttl span{display:block;font-size:9pt;opacity:.9}
.rdk-ttl h1{margin:0;font-size:17pt;line-height:1.35;color:#fff}
.rdk-ttl small{display:block;font-size:9.5pt;opacity:.92}
.rdk-info{display:grid;grid-template-columns:2.3fr 1.2fr 1fr 1fr;border:.35mm solid #9FB9B3;border-radius:2mm;margin:3mm 0 1mm;overflow:hidden}
.rdk-info div{padding:1.4mm 2.5mm;font-size:9pt;color:#4A6560;border-inline-start:.35mm solid #9FB9B3}
.rdk-info div:first-child{border-inline-start:0}
.rdk-info b{display:block;min-height:6mm;font-size:11pt;color:#12362F}
.rdk-info .rdk-score{text-align:left;direction:ltr}
.rdk-sec{display:flex;align-items:baseline;gap:2mm;margin:5mm 0 1.5mm;padding-bottom:1.2mm;border-bottom:.5mm solid #0E5B4E;break-after:avoid;page-break-after:avoid}
.rdk-sec b{font-size:13pt;color:#0E5B4E}
.rdk-sec small{font-size:9pt;color:#5A726D;margin-inline-start:auto}
.rdk-ptitle{font-size:14pt;text-align:center;margin:1.5mm 0 2.5mm;color:#12362F}
.rdk-passage p{margin:0 0 2.2mm;text-align:justify;line-height:1.95}
.rdk-pn{display:inline-block;min-width:5.6mm;height:5.6mm;line-height:5.6mm;border-radius:50%;background:#E3EFEC;color:#0E5B4E;font-size:8.5pt;font-weight:700;text-align:center;margin-inline-end:1.6mm;font-family:Tahoma,Arial,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rdk-vocab{border:.35mm dashed #9FB9B3;border-radius:2mm;padding:2mm 3.5mm;margin:3mm 0 0;break-inside:avoid;page-break-inside:avoid}
.rdk-vocab>b{color:#0E5B4E;font-size:11pt}
.rdk-vocab dl{display:grid;grid-template-columns:1fr 1fr;gap:.6mm 6mm;margin:1mm 0 0}
.rdk-vocab dt{display:inline;font-weight:700;color:#0E5B4E}
.rdk-vocab dt::after{content:": "}
.rdk-vocab dd{display:inline;margin:0;font-size:10.5pt}
.rdk-q{padding:2mm 0 2.4mm;border-bottom:.25mm solid #DCE7E4;break-inside:avoid;page-break-inside:avoid}
.rdk-q:last-child{border-bottom:0}
.rdk-qh{display:flex;gap:2.2mm;font-weight:700;align-items:flex-start}
.rdk-qt{min-width:0;line-height:1.7}
.rdk-n{flex:none;min-width:6.5mm;height:6.5mm;line-height:6.5mm;border-radius:1.5mm;background:#0E5B4E;color:#fff;text-align:center;font-size:9pt;font-family:Tahoma,Arial,sans-serif;margin-top:.6mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rdk-opts{list-style:none;margin:1.2mm 0 0;padding:0 8.7mm 0 0;display:grid;grid-template-columns:1fr;gap:.8mm 6mm}
.rdk-opts.two{grid-template-columns:1fr 1fr}
.rdk-opts li,.rdk-tf span{display:flex;align-items:flex-start;gap:1.8mm;line-height:1.6}
.rdk-opts li .rdk-box,.rdk-opts li b{flex:none;margin-top:1.2mm}
.rdk-opts li b{margin-top:0}
.rdk-opts li b{color:#0E5B4E}
.rdk-box{width:4mm;height:4mm;border:.35mm solid #12362F;border-radius:50%;flex:none;display:inline-block}
.rdk .ok{font-weight:700;color:#0E5B4E}
.rdk .ok .rdk-box{background:#0E5B4E;border-color:#0E5B4E;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rdk-tf{display:flex;gap:12mm;padding-inline-start:8.7mm;margin-top:1.2mm}
.rdk-blank{display:inline-block;min-width:30mm;border-bottom:.35mm dotted #12362F;margin:0 1mm;vertical-align:-.5mm}
.rdk-line{border-bottom:.35mm dotted #7F9A95;height:8mm;margin:0 8.7mm 0 0}
.rdk-letters{display:flex;gap:2mm;flex-wrap:wrap;padding-inline-start:8.7mm;margin:1.5mm 0 0}
.rdk-letters span{border:.35mm solid #9FB9B3;border-radius:1.5mm;min-width:7mm;text-align:center;padding:0 1.6mm}
.rdk-match{width:calc(100% - 8.7mm);margin:1.2mm 8.7mm 0 0;border-collapse:collapse;font-size:11pt}
.rdk-match td{padding:1mm 2mm;border-bottom:.25mm solid #E4ECEA;width:50%;vertical-align:top}
.rdk-mnum{display:inline-block;min-width:6mm;text-align:center;font-weight:700;color:#0E5B4E}
.rdk-key{display:flex;flex-wrap:wrap;gap:1mm 4mm;margin:1.4mm 8.7mm 0 0;font-size:9.5pt;color:#0E5B4E;background:#EEF6F3;border-radius:1.5mm;padding:.8mm 2.5mm;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rdk-key span{color:#4A6560}
.rdk-foot{display:flex;justify-content:space-between;gap:4mm;margin-top:6mm;padding-top:2mm;border-top:.35mm solid #9FB9B3;font-size:9pt;color:#5A726D}
.rdk-si{display:inline-block;min-width:6mm;height:6mm;line-height:6mm;border-radius:50%;background:#0E5B4E;color:#fff;text-align:center;font-size:9pt;font-weight:700;font-family:Tahoma,Arial,sans-serif;align-self:center;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rdk-si-text{min-width:auto;padding:0 2.2mm;border-radius:3mm;font-size:8.5pt}
.rdk-sub{font-size:12.5pt;color:#0E5B4E;margin:3.2mm 0 1.2mm;padding-inline-start:2.5mm;border-inline-start:1mm solid #0E5B4E;line-height:1.5;break-after:avoid;page-break-after:avoid}
.rdk-formula{margin:1mm auto 3mm;padding:1.8mm 4mm;width:fit-content;max-width:100%;border:.35mm solid #9FB9B3;border-radius:2mm;background:#F4F9F7;font-weight:700;text-align:center;line-height:1.7;unicode-bidi:plaintext;break-inside:avoid;-webkit-print-color-adjust:exact;print-color-adjust:exact}
#rdk-print-root{display:none}
.rai-pv{border:1px solid var(--rule,#ddd);border-radius:10px;padding:.5rem .7rem;margin-bottom:.5rem;background:#fff}
.rai-pv summary{cursor:pointer;font-weight:800}
.rai-pv summary small{font-weight:400;color:var(--ink-soft);margin-inline-start:.35rem}
.rai-pv p{margin:.45rem 0 0;font-size:.84rem;line-height:1.95}
.rai-sub{font-weight:800;color:#1B9C6B;margin-top:.55rem!important}
.rai-formula{text-align:center;font-weight:800;background:#F4F9F7;border-radius:8px;padding:.2rem .5rem;unicode-bidi:plaintext}
.rai-pn{display:inline-block;min-width:1.4rem;height:1.4rem;line-height:1.4rem;text-align:center;border-radius:50%;background:#E4F2EC;color:#1B9C6B;font-size:.7rem;font-weight:900;margin-inline-end:.3rem}
.rai-vocab{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 .5rem}
.rai-vocab span{font-size:.74rem;border:1px dashed #BFE0D2;border-radius:8px;padding:.2rem .5rem;background:#F6FBF9;max-width:100%}
.rai-vocab b{color:#1B9C6B}
.rai-opts{margin:.3rem 0 0;padding-inline-start:1.2rem;font-size:.8rem;color:var(--ink-soft)}
.rai-opts li.ok{color:#1B9C6B;font-weight:800}
.rai-ans{display:block;margin-top:.3rem;font-size:.74rem;color:#1B9C6B;font-weight:700}

/* ── <style id=push-style> ── */

#push-settings-sheet .push-lead{margin:0 0 .4rem;color:var(--ink-soft);font-size:.88rem;line-height:1.7}
#push-settings-sheet .pill.push-on{background:rgba(27,156,107,.14);color:var(--tick)}
#push-settings-sheet .pill.push-off{background:rgba(214,69,91,.1);color:var(--pen)}
.push-hint,.push-msg{border-radius:12px;padding:.6rem .8rem;font-size:.84rem;line-height:1.7;margin:.35rem 0}
.push-hint{background:rgba(200,138,46,.1);color:#8A5A0B}
.push-msg{background:rgba(46,107,184,.08);color:var(--ink)}
.push-devices{border-top:1px solid var(--ui-border,#DCE5F0);padding-top:.6rem;display:grid;gap:.35rem}
.push-devices>b{font-size:.84rem}
.push-device{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;font-size:.84rem}
.push-device span{flex:1;min-width:0}
.push-device em{font-style:normal;color:var(--tick);font-weight:700}
.push-device small{color:var(--ink-soft)}
#dash-recent .push-focus{outline:3px solid var(--tick);outline-offset:2px;border-radius:12px;animation:pushFocus 1s ease-in-out 3}
@keyframes pushFocus{50%{outline-color:rgba(27,156,107,.2)}}
@media (prefers-reduced-motion:reduce){#dash-recent .push-focus{animation:none}}

/* ── <style id=ios-pwa-layout-fix> ── */

/* 📱 overflow-x:hidden على html وbody معًا يحوّل body إلى حاوية تمرير مستقلة:
   • تنكسر الترويسة الثابتة (sticky) فتختفي مع التمرير
   • وعلى iPhone ينفصل الشريط السفلي الثابت عن الحافة أثناء ارتداد التمرير
   clip يقص الفائض الأفقي بلا حاوية تمرير. overflow-y لا نلمسه حتى تبقى أقفال النوافذ المنبثقة تعمل. */
html,body{overflow-x:clip!important}
@supports not (overflow:clip){ html{overflow-x:visible!important} body{overflow-x:hidden!important} }
html{overscroll-behavior-y:none}
@media screen and (max-width:700px){
  /* في وضع التطبيق المثبت يمتد المحتوى تحت الساعة والبطارية: الترويسة تحجز مساحتها */
  .masthead{padding-top:env(safe-area-inset-top,0px)!important}
  .mobile-nav{-webkit-transform:translateZ(0);transform:translateZ(0)}
  #dash-recent .fi-sub .fi-when{white-space:nowrap}
}

/* ── <style id=mobile-modal-layer-fix> ── */

/* 📱 النوافذ فوق الترويسة والشريط السفلي: كانت طبقتها 800 تحت الترويسة (1100) والشريط (2000)
   فيغطيان زر الإغلاق والحفظ. الآن 3000: فوقهما، وتحت التنبيهات (9999) ونوافذ التأكيد. */
.veil{z-index:3000!important}
@media screen and (max-width:700px){
  .veil .modal{padding-top:.6rem!important}
  /* زر ✕ يبقى ظاهرًا أثناء التمرير داخل النافذة */
  .modal-mobile-close{position:sticky!important;top:0!important;inset-inline-start:auto!important;
    margin:0 0 .45rem auto!important;margin-inline-start:0!important;margin-inline-end:auto!important}
  .veil .modal .modal-foot{box-shadow:0 -10px 14px -10px rgba(22,35,58,.18)}
  /* لا قوائم قابلة للتمرير داخل نافذة قابلة للتمرير: تمرير واحد فقط */
  .veil .modal .feature-list[style*="max-height"],
  .veil .modal .store-purchase-list[style*="max-height"]{max-height:none!important;overflow:visible!important}
}
@media screen and (max-width:390px){ .veil .modal{padding-top:.55rem!important} }

/* ── <style id=madrasati-view-style> ── */

/* كل تبويب قائمة مستقلة: #mad-list{display:grid} كان يتغلب على [hidden] فتبقى القائمة ظاهرة تحت سجل الرصد */
#mad-list[hidden],#mad-register[hidden]{display:none!important}
/* عرض واجبات مدرستي: ورقة لكل واجب، والفصول صفوف — ألوان وخط التطبيق نفسه */
.madv-tools{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.2rem 0 .3rem}
.madv-chips{display:flex;gap:.35rem;flex-wrap:wrap}
.madv-chip{display:inline-flex;align-items:center;gap:.45rem;border:1px solid var(--ui-border,#D5E0EC);background:var(--ui-surface,#F7FAFD);color:var(--ink);border-radius:999px;padding:.32rem .8rem;font-weight:700;font-size:.86rem}
.madv-chip span{font-size:.74rem;color:var(--ink-soft);font-weight:600}
.madv-chip.on{background:var(--ink);color:var(--paper-2,#F7FAFD);border-color:var(--ink)}.madv-chip.on span{color:inherit;opacity:.75}
.madv-chip:focus-visible,.madv-row:focus-visible{outline:2px solid var(--tick);outline-offset:2px}
.madv-cls{width:auto!important;min-width:150px;padding:.35rem .5rem!important}
.madv-sheet{background:var(--ui-surface,#F7FAFD);border:1px solid var(--ui-border,#D5E0EC);border-radius:16px;overflow:hidden}
.madv-sheet+.madv-sheet{margin-top:.1rem}
.madv-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;padding:.95rem 1.1rem .7rem;border-bottom:1px solid var(--ui-border,#D5E0EC)}
.madv-title{min-width:0;display:grid;gap:.2rem}
.madv-title h3{margin:0;font-size:1.12rem;line-height:1.35;font-weight:800;color:var(--ink)}
.madv-due{font-size:.82rem;color:var(--ink-soft)}.madv-due.ended{color:var(--pen);font-weight:700}
.madv-rate{text-align:end;flex-shrink:0;display:grid;line-height:1.1}
.madv-rate b{font-size:1.7rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.madv-rate small{font-size:.76rem;color:var(--ink-soft);margin-top:.2rem}
.madv-rows{display:grid}
.madv-row{display:grid;grid-template-columns:5.5rem 1fr 3.2rem 3.8rem;align-items:center;gap:.9rem;width:100%;padding:.62rem 1.1rem;text-align:start;font:inherit;color:inherit;background:transparent;border:0;border-bottom:1px solid color-mix(in srgb,var(--ui-border,#D5E0EC) 60%,transparent);cursor:pointer}
.madv-row:last-child{border-bottom:0}
.madv-row:hover{background:color-mix(in srgb,var(--tick) 6%,transparent)}
.madv-colhead{cursor:default;padding-top:.45rem;padding-bottom:.35rem;font-size:.72rem;color:var(--ink-soft);font-weight:600}
.madv-colhead:hover{background:transparent}
.madv-colhead span:nth-child(3),.madv-colhead span:nth-child(4){text-align:center}
.madv-cn{font-weight:800;font-size:.92rem;white-space:nowrap}
.madv-bar{position:relative;height:.5rem;border-radius:999px;background:var(--ui-border,#D5E0EC);overflow:hidden}
.madv-bar i{position:absolute;inset-block:0;inset-inline-start:0;background:var(--tick);border-radius:inherit}
.madv-n{text-align:center;font-weight:800;font-variant-numeric:tabular-nums;font-size:.95rem}
.madv-n.ok{color:var(--tick)}.madv-n.no{color:var(--pen)}.madv-n.zero{color:var(--ink-soft);font-weight:600}
.madv-foot{padding:.45rem 1.1rem .6rem;font-size:.74rem;color:var(--ink-soft);border-top:1px solid var(--ui-border,#D5E0EC)}
.madv-sheet.is-ended .madv-head{background:color-mix(in srgb,var(--pen) 4%,transparent)}
@media screen and (max-width:560px){
  .madv-head{padding:.8rem .85rem .6rem}.madv-rate b{font-size:1.4rem}
  .madv-row{grid-template-columns:1fr auto auto;gap:.35rem .8rem;padding:.6rem .85rem}
  .madv-row .madv-bar{grid-column:1/-1;grid-row:2}
  .madv-colhead{display:none}
  .madv-n.ok::after{content:' حل';font-size:.72rem;font-weight:600}.madv-n.no::after,.madv-n.zero::after{content:' لم يحل';font-size:.72rem;font-weight:600}
  .madv-cls{min-width:0;flex:1 1 100%}
}
/* نافذة الواجب */
.madm-head{display:grid;gap:.25rem;margin-bottom:.8rem}
.madm-head h2{margin:0;font-size:1.25rem;line-height:1.35}
.madm-sub{display:flex;flex-wrap:wrap;gap:.35rem .9rem;font-size:.84rem;color:var(--ink-soft)}
.madm-sub .cls{font-weight:800;color:var(--ink)}.madm-sub .ended{color:var(--pen);font-weight:700}
.madm-split{display:grid;gap:.4rem;margin:.2rem 0 1rem}
.madm-split .nums{display:flex;justify-content:space-between;align-items:baseline}
.madm-split .nums b{font-size:1.6rem;font-weight:800;font-variant-numeric:tabular-nums}
.madm-split .nums span{font-size:.8rem;color:var(--ink-soft);margin-inline-start:.3rem}
.madm-split .ok b{color:var(--tick)}.madm-split .no b{color:var(--pen)}
.madm-track{display:flex;height:.7rem;border-radius:999px;overflow:hidden;background:var(--ui-border,#D5E0EC)}
.madm-track i{background:var(--tick)}.madm-track s{background:var(--pen);opacity:.85}
.madm-sec{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin:.9rem 0 .45rem}
.madm-sec h3{margin:0;font-size:.98rem}.madm-legend{font-size:.76rem;color:var(--ink-soft)}
.madm-names{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.3rem}
.madm-name{display:flex;align-items:center;gap:.45rem;padding:.42rem .6rem;border-radius:10px;background:var(--ui-surface-2,var(--paper-2,#F7FAFD));border:1px solid var(--ui-border,#D5E0EC);font-size:.86rem;min-width:0}
.madm-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.madm-dot{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;background:var(--tick)}
.madm-dot.warn{background:var(--amber,#C88A2E)}
.madm-done{padding:.8rem;border-radius:12px;background:color-mix(in srgb,var(--tick) 10%,transparent);color:var(--tick);font-weight:700;text-align:center}
.madm-more summary{cursor:pointer;font-weight:800;font-size:.95rem;margin:.9rem 0 .45rem;list-style-position:inside}

/* ── <style id=madrasati-style> ── */

.madr-c.out{color:#1565C0;font-weight:800;opacity:.75}
.madr-warn{background:#FBF1E0!important;color:#7A5212!important;border-color:#E9B949!important}

.madr-showex{display:inline-flex;align-items:center;gap:.3rem;font-size:.84rem;font-weight:600;white-space:nowrap;cursor:pointer}

.madr-c.grace{opacity:.55;position:relative}
.madr-c.grace small,.madr-legend .lg-grace small{font-size:.6rem;font-weight:800;color:#96651B;margin-inline-start:1px;vertical-align:super}
.madr-asg.ex{opacity:.55}
.madr-legend{display:flex;flex-wrap:wrap;gap:.3rem .7rem;align-items:center;line-height:1.8}
.madr-legend b:first-child{flex-basis:100%}
.madr-legend span{white-space:nowrap;font-size:.8rem}.madr-legend .lg-grace{opacity:.75}

.madv-sheet.is-excluded{opacity:.62}
.madv-ex{display:inline-block;font-size:.72rem;font-weight:800;color:#B03348;background:#FCEBEE;border-radius:999px;padding:.1rem .5rem;margin-inline-start:.35rem}
.madv-count{display:inline-flex;align-items:center;gap:.3rem;font-size:.78rem;font-weight:700;margin-top:.3rem;cursor:pointer;white-space:nowrap}
.madv-ex-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin:.4rem 0 .8rem;padding:.55rem .7rem;border:1px dashed var(--ui-border);border-radius:12px;font-size:.84rem}
.madv-ex-bulk .inp{width:auto;min-width:150px}.madv-ex-bulk .muted{flex-basis:100%;font-size:.76rem}

.mad-sub{margin:.15rem 0 0;color:var(--ink-soft);font-size:.82rem}
#mad-list{display:grid;gap:.5rem;margin-top:.6rem}
.mad-row{display:flex;align-items:center;gap:.8rem;width:100%;text-align:start;background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#DCE5F0);border-radius:14px;padding:.7rem .85rem;cursor:pointer;font:inherit;color:inherit}
.mad-row:hover{border-color:#9ED8BD}
.mad-main{flex:1;min-width:0;display:grid;gap:.25rem}.mad-main small{color:var(--ink-soft);font-size:.76rem}
.mad-counts{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.mad-ok,.mad-no{border-radius:999px;padding:.15rem .55rem;font-weight:800;font-size:.8rem;white-space:nowrap}
.mad-ok{background:rgba(27,156,107,.12);color:var(--tick)}.mad-no{background:rgba(214,69,91,.1);color:var(--pen)}
.mad-empty{display:grid;gap:.3rem;text-align:center;padding:1.2rem;border:1.5px dashed var(--ui-border,#DCE5F0);border-radius:14px;color:var(--ink-soft);font-size:.85rem}
.mad-empty b{color:var(--ink)}
.mad-h{font-size:.95rem;margin:.9rem 0 .4rem}
.mad-list{display:grid;gap:.3rem}
.mad-st{display:flex;justify-content:space-between;gap:.6rem;align-items:center;padding:.45rem .6rem;border-radius:10px;background:var(--ui-surface-2,#F7FAFD);font-size:.86rem}
.mad-st small{color:var(--ink-soft);font-size:.74rem;white-space:nowrap}.mad-warn{color:#A66F0A!important;font-weight:700}
.mad-details{margin-top:.7rem}.mad-details summary{cursor:pointer;font-weight:800;font-size:.9rem;margin-bottom:.4rem}

/* ── <style id=madrasati-sync-sort-style> ── */

.mad-sync-items{display:grid;gap:.45rem;max-height:55vh;overflow:auto;padding:.1rem}
.mad-sync-item{display:flex;align-items:center;gap:.65rem;padding:.6rem .7rem;border:1px solid var(--ui-border,#DCE5F0);border-radius:12px;background:var(--ui-surface,#fff);cursor:pointer}
.mad-sync-item>input{width:18px;height:18px;flex:0 0 auto}
.mad-sync-main{min-width:0;flex:1}
.mad-sync-main b,.mad-sync-main small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mad-sync-main small{font-size:.76rem;color:var(--ink-soft);margin:.15rem 0 .35rem}
.mad-sync-main .progress-track{height:5px}
.mad-sync-count{font-weight:800;white-space:nowrap}

/* ── <style id=madrasati-register-style> ── */

.mad-tabs{display:flex;gap:.4rem;margin:.6rem 0}.mad-tab{border:1px solid var(--ui-border,#DCE5F0);background:var(--ui-surface,#fff);border-radius:999px;padding:.35rem .9rem;font:inherit;font-weight:700;cursor:pointer;color:inherit}
.mad-tab.on{background:var(--ink,#16233A);color:#fff;border-color:transparent}
.madr-bar{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:.4rem 0}.madr-bar .inp{width:auto;min-width:130px}
.madr-rule{font-size:.8rem;color:var(--ink-soft);margin:.3rem 0 .6rem}.madr-note{background:rgba(27,156,107,.08);border-radius:10px;padding:.45rem .7rem;font-size:.85rem;margin-bottom:.5rem}
.madr-wrap{overflow-x:auto;border:1px solid var(--ui-border,#DCE5F0);border-radius:12px}
.madr-table{border-collapse:collapse;width:100%;font-size:.84rem;min-width:520px}
.madr-table th,.madr-table td{border-bottom:1px solid var(--ui-border,#E6EDF5);padding:.4rem .45rem;text-align:center;white-space:nowrap}
.madr-table thead th{background:var(--ui-surface-2,#F7FAFD);position:sticky;top:0;font-size:.78rem}
.madr-name{text-align:right!important;position:sticky;right:0;background:var(--ui-surface,#fff);min-width:170px}
thead .madr-name{background:var(--ui-surface-2,#F7FAFD)}
.madr-asg span{display:block;max-width:110px;overflow:hidden;text-overflow:ellipsis}.madr-asg small,.madr-sum small{color:var(--ink-soft);font-weight:400}
.madr-c.early{opacity:.55}.madr-c.none{color:#B5C0CE}
.madr-sum{font-weight:800}.madr-sum.tot{background:rgba(27,156,107,.08)}
.madr-link{display:flex;gap:.35rem;align-items:center}.madr-link .inp{width:auto;min-width:180px;padding:.25rem .4rem}

/* ── <style id=madrasati-bridge-style> ── */

.madb{border:1px solid var(--ui-border,#DCE5F0);border-radius:14px;padding:.7rem .85rem;margin:.6rem 0;background:var(--ui-surface,#fff)}
.madb-top{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
.madb-pill{font-weight:800;font-size:.86rem;border-radius:999px;padding:.2rem .7rem}.madb-pill.good{background:rgba(27,156,107,.12);color:var(--tick)}
.madb-pill.bad{background:rgba(214,69,91,.1);color:var(--pen)}.madb-pill.off{background:var(--ui-surface-2,#F1F4F8);color:var(--ink-soft)}
.madb-acts{display:flex;gap:.35rem;flex-wrap:wrap}
.madb-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin-top:.55rem;font-size:.84rem}.madb-row .inp{width:auto;padding:.3rem .45rem}
#madb-progress{margin-top:.55rem}#madb-progress small{display:block;margin-top:.25rem;color:var(--ink-soft)}
#madb-bar{transition:width .4s}
.madb-last{margin-top:.5rem;font-size:.82rem;color:var(--ink-soft);line-height:1.7}
#madb-settings{margin-top:.6rem;border-top:1px dashed var(--ui-border,#DCE5F0);padding-top:.6rem}
.madb-days{display:flex;gap:.25rem;flex-wrap:wrap;margin:.4rem 0}.madb-day{border:1px solid var(--ui-border,#DCE5F0);border-radius:999px;padding:.15rem .6rem;font-size:.8rem;cursor:pointer}
.madb-day input{display:none}.madb-day.on{background:var(--ink,#16233A);color:#fff;border-color:transparent}
#madb-install{margin-top:.55rem;font-size:.84rem;line-height:1.9;background:rgba(166,111,10,.07);border-radius:10px;padding:.55rem .7rem}
.madc{display:grid;gap:.55rem;font-size:.9rem}.madc label{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.madc .inp{width:auto;padding:.25rem .4rem}
.madc-links{color:var(--ink-soft);font-size:.84rem}

/* ── <style id=student-health-style> ── */

.health-box{border:1px solid var(--ui-border,#D5E0EC);border-radius:14px;padding:.75rem .9rem;margin:.7rem 0;background:var(--ui-surface,#F7FAFD);display:grid;gap:.5rem}
.health-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap}
.health-head h4{margin:0;font-size:.95rem}
.health-private{font-size:.74rem;color:var(--ink-soft)}
.health-empty{font-size:.85rem;color:var(--ink-soft)}
.health-chips{display:flex;flex-wrap:wrap;gap:.3rem}
.health-chip{background:color-mix(in srgb,var(--pen) 10%,transparent);color:var(--pen);border-radius:999px;padding:.15rem .6rem;font-size:.8rem;font-weight:700}
.health-action{background:color-mix(in srgb,var(--amber,#C88A2E) 12%,transparent);border-radius:10px;padding:.45rem .6rem;font-size:.86rem}
.health-note{margin:0;font-size:.86rem;line-height:1.7;white-space:pre-wrap}
.health-foot{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap}
.health-foot small{color:var(--ink-soft);font-size:.74rem}
.health-pick{display:flex;flex-wrap:wrap;gap:.3rem}
.health-opt{border:1px solid var(--ui-border,#D5E0EC);border-radius:999px;padding:.2rem .65rem;font-size:.8rem;cursor:pointer;user-select:none}
.health-opt input{display:none}.health-opt.on{background:var(--ink);color:var(--paper-2,#F7FAFD);border-color:var(--ink)}
.health-lbl{font-size:.82rem;font-weight:700;margin-top:.2rem}.health-lbl small{font-weight:400;color:var(--ink-soft)}
.health-del{color:var(--pen)!important}
#health-badge{font-size:.9rem;margin-inline-start:.3rem;cursor:help}

/* ── <style id=student-report-style> ── */

/* 📄 تقرير الطالب — ألوان ثابتة (لا تعتمد على ثيم الصفحة) حتى تكون الطباعة واحدة */
.srp{--srp-ink:#16233A;--srp-soft:#5A6B84;--srp-line:#D8E1EC;--srp-paper:#FFFFFF;--srp-wash:#F3F6FA;--srp-tick:#1B7F5A;--srp-pen:#B8404F;--srp-gold:#A8761F;
  background:var(--srp-paper);color:var(--srp-ink);font-family:'Readex Pro','Tajawal','Segoe UI',Tahoma,sans-serif;border:1px solid var(--srp-line);border-radius:16px;overflow:hidden;
  max-width:820px;margin:0 auto;line-height:1.55;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.srp *{box-sizing:border-box}
/* 🟩 كليشة خضراء مع شعار الوزارة — بنفس هوية ورقة العمل */
.srp-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.5rem;border-bottom:0;background:#0E5B4E;color:#fff;border-radius:12px;margin:.9rem .9rem 0;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.srp-logo{flex:none;width:92px;height:92px;margin:-8px 0}
.srp-logo svg{width:100%;height:100%;display:block}
.srp-logo svg [class^="moe-st"]{fill:#fff!important}
.srp-brand{flex:1;min-width:0}
.srp-head .srp-kicker{color:#F3D27A}
.srp-head .srp-brand h1,.srp-head .srp-who b{color:#fff}
.srp-head .srp-range,.srp-head .srp-who span{color:rgba(255,255,255,.86)}
.srp-kicker{font-size:.78rem;letter-spacing:.02em;color:var(--srp-gold);font-weight:700}
.srp-brand h1{margin:.1rem 0 .15rem;font-size:1.45rem;font-weight:800;line-height:1.3}
.srp-range{font-size:.78rem;color:var(--srp-soft)}
.srp-who{text-align:end;display:grid;gap:.1rem}.srp-who b{font-size:1.2rem;font-weight:800}.srp-who span{color:var(--srp-soft);font-size:.9rem}
.srp-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;padding:1rem 1.5rem .4rem}
.srp-tile{border:1px solid var(--srp-line);border-radius:12px;padding:.65rem .75rem;display:grid;gap:.25rem;background:var(--srp-paper)}
.srp-tl{font-size:.8rem;color:var(--srp-soft);font-weight:700}
.srp-tv{display:flex;align-items:baseline;gap:.25rem}.srp-tv b{font-size:1.9rem;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}.srp-tv small{color:var(--srp-soft);font-size:.8rem}
.srp-meter{display:block;height:.35rem;border-radius:99px;background:var(--srp-line);overflow:hidden}.srp-meter i{display:block;height:100%;background:var(--srp-ink);border-radius:inherit}
.srp-ts{font-size:.72rem;color:var(--srp-soft)}
.srp-tiles.n5{grid-template-columns:repeat(5,1fr)}
.srp-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:.6rem 1.5rem}
.srp-card{border:1px solid var(--srp-line);border-radius:12px;padding:.7rem .85rem;break-inside:avoid;page-break-inside:avoid}
.srp-beh{margin:0 1.5rem .7rem}
.srp-card h2,.srp-note h2{margin:0 0 .45rem;font-size:.92rem;font-weight:800}
.srp-t{width:100%;border-collapse:collapse;font-size:.84rem}
.srp-t th{text-align:start;font-weight:600;padding:.35rem 0;border-bottom:1px solid var(--srp-line)}
.srp-t td{padding:.35rem 0;border-bottom:1px solid var(--srp-line);color:var(--srp-soft)}
.srp-t td.srp-s{text-align:end;color:var(--srp-ink);font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.srp-madlist td{font-size:.86em;line-height:1.8;color:#334155;background:#F8FAFC;text-align:start}.srp-madlist b{color:#0F172A}
.srp-t tr.srp-sum th,.srp-t tr.srp-sum td{border-bottom:0;padding-top:.45rem}.srp-t tr.srp-sum th{font-weight:800}
.srp-na{color:var(--srp-soft);font-weight:500}
.srp-empty{margin:.1rem 0;font-size:.84rem;color:var(--srp-soft)}
.srp-notes{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.srp-notes li{display:grid;grid-template-columns:4.6rem 4.4rem 1fr;gap:.5rem;align-items:baseline;font-size:.84rem;padding:.35rem .5rem;border-radius:8px;background:var(--srp-wash)}
.srp-nd{color:var(--srp-soft);font-size:.78rem}
.srp-nt{font-weight:800;font-size:.76rem}.srp-notes li.pos .srp-nt{color:var(--srp-tick)}.srp-notes li.neg .srp-nt{color:var(--srp-pen)}
.srp-note{margin:0 1.5rem .8rem;padding:.7rem .85rem;border-inline-start:4px solid var(--srp-gold);background:var(--srp-wash);border-radius:0 10px 10px 0;break-inside:avoid}
.srp-note p{margin:0;font-size:.9rem;white-space:pre-wrap}
.srp-foot{display:flex;justify-content:space-between;padding:.6rem 1.5rem .8rem;border-top:1px solid var(--srp-line);font-size:.74rem;color:var(--srp-soft)}
@media screen and (max-width:640px){
  .srp-head{flex-direction:column;align-items:flex-start;padding:1rem;margin:.7rem .7rem 0}.srp-who{text-align:start}.srp-logo{width:76px;height:76px}
  .srp-tiles,.srp-tiles.n5{grid-template-columns:1fr 1fr;padding:.8rem 1rem .3rem}.srp-tiles .srp-tile:last-child:nth-child(odd){grid-column:1/-1}.srp-grid{grid-template-columns:1fr;padding:.5rem 1rem}
  .srp-beh,.srp-note{margin-left:1rem;margin-right:1rem}.srp-notes li{grid-template-columns:auto 1fr;}.srp-notes li .srp-nx{grid-column:1/-1}
}
#srp-print-host{display:none}
@media print{
  @page{size:A4 portrait;margin:12mm}
  html.srp-printing body>*:not(#srp-print-host){display:none!important}
  html.srp-printing #srp-print-host{display:block!important}
  html.srp-printing body{background:#fff!important;margin:0!important;padding:0!important}
  html.srp-printing .srp{border:0;border-radius:0;max-width:none}
  html.srp-printing .srp-tiles{grid-template-columns:repeat(4,1fr)!important}
  html.srp-printing .srp-tiles.n5{grid-template-columns:repeat(5,1fr)!important}
  html.srp-printing .srp-tiles .srp-tile:last-child:nth-child(odd){grid-column:auto!important}
  html.srp-printing .srp-grid{grid-template-columns:1fr 1fr!important}
  html.srp-printing .srp-head{flex-direction:row!important;align-items:center!important;margin:0 0 3mm!important;border-radius:3mm!important;padding:3.5mm 5mm!important}
  html.srp-printing .srp-logo{width:28mm!important;height:28mm!important;margin:-2.5mm 0!important}
}

/* ── <style id=student-report-dash-style> ── */

.srepd-list{display:grid;gap:.3rem;margin:.7rem 0;max-height:52vh;overflow:auto}
.srepd-row{display:grid;grid-template-columns:1fr auto auto;gap:.6rem;align-items:center;padding:.4rem .6rem;border:1px solid var(--ui-border,#D5E0EC);border-radius:10px;background:var(--ui-surface,#F7FAFD)}
.srepd-n{font-weight:700;font-size:.88rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srepd-n small{font-weight:400;color:var(--ink-soft);margin-inline-start:.4rem}
.srepd-st{font-size:.76rem;color:var(--ink-soft);white-space:nowrap}.srepd-st.on{color:var(--tick);font-weight:700}
.srepd-prev-bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.7rem}

/* ── <style id=dash-reorg-css> ── */

/* الشريط السفلي: أعمدة بعدد الأزرار الفعلي — كان مثبتًا على 7 فيبقى فراغ عند 5 أزرار */
.mobile-nav{grid-template-columns:none!important;grid-auto-flow:column!important;grid-auto-columns:minmax(0,1fr)!important}
.more-grp{font-size:.74rem;font-weight:800;color:var(--ink-soft);margin:.7rem .2rem .35rem;letter-spacing:.2px}
.set-tabs{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .9rem;position:sticky;top:0;z-index:5;background:var(--paper,#fff);padding:.5rem 0;border-bottom:1px solid var(--ui-border,#e5e7eb)}
.set-tabs button{border:1px solid var(--ui-border,#e5e7eb);background:var(--ui-surface,#fff);color:var(--ink);border-radius:999px;padding:.4rem .85rem;font:inherit;font-size:.84rem;font-weight:700;cursor:pointer}
.set-tabs button.on{background:var(--ui-accent,#2563eb);border-color:var(--ui-accent,#2563eb);color:#fff}
.set-tabs button.danger.on{background:#c0392b;border-color:#c0392b}
#p-data > .set-off{display:none!important}
.today-hub{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:.8rem;margin:0 0 1rem}
.th-card{background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#e5e7eb);border-radius:var(--ui-radius,14px);padding:.85rem .95rem;box-shadow:var(--ui-shadow,none);min-width:0}
.th-card h3{margin:0 0 .55rem;font-size:.95rem;display:flex;align-items:center;gap:.4rem}
.th-card h3 small{font-weight:600;color:var(--ink-soft);font-size:.74rem;margin-inline-start:auto}
.th-q{width:100%}
.th-res{display:flex;flex-direction:column;gap:.3rem;margin-top:.45rem}
.th-res button{display:flex;align-items:center;gap:.5rem;text-align:start;border:1px solid var(--ui-border,#e5e7eb);background:var(--ui-bg,#f8fafc);border-radius:10px;padding:.4rem .6rem;font:inherit;font-size:.84rem;cursor:pointer;color:var(--ink)}
.th-res button small{color:var(--ink-soft);margin-inline-start:auto;font-size:.74rem}
.th-short{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.6rem}
.th-short button{border:1px dashed var(--ui-border-strong,#cbd5e1);background:transparent;border-radius:999px;padding:.3rem .65rem;font:inherit;font-size:.78rem;cursor:pointer;color:var(--ink)}
.th-act{display:flex;flex-direction:column;gap:.35rem}
.th-act button{display:flex;align-items:center;gap:.5rem;text-align:start;border:0;border-inline-start:4px solid #94a3b8;background:var(--ui-bg,#f8fafc);border-radius:8px;padding:.5rem .65rem;font:inherit;font-size:.84rem;cursor:pointer;color:var(--ink)}
.th-act button.bad{border-inline-start-color:#d6455b}.th-act button.warn{border-inline-start-color:#e0a100}.th-act button.ok{border-inline-start-color:#1b9c6b;cursor:default}
.th-act button b{margin-inline-start:auto}
@keyframes thFlash{0%,100%{box-shadow:none}30%,70%{box-shadow:0 0 0 4px rgba(224,161,0,.55)}}
#attention-requests.th-flash,.th-flash{animation:thFlash 1.6s ease 2;border-radius:14px}
.th-act button.info{border-inline-start-color:#2563eb}
.th-al-cls{border:1px solid var(--ui-border,#e5e7eb);border-radius:12px;padding:.6rem .7rem;margin-bottom:.6rem}
.th-al-h{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.45rem}.th-al-h .btn{margin-inline-start:auto}
.th-al{display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;border-radius:8px;background:var(--ui-bg,#f8fafc);border-inline-start:4px solid #e0a100;margin-top:.35rem}
.th-al.bad{border-inline-start-color:#d6455b}.th-al span{display:flex;flex-direction:column;min-width:0;flex:1}.th-al small{color:var(--ink-soft);font-size:.78rem}
.sf-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.2rem 0 .8rem}
.sf-subs{flex-wrap:wrap}.sf-acts{display:flex;flex-wrap:wrap;gap:.35rem;margin-inline-start:auto}
.sf-embed .modal-foot,.sf-embed .modal-mobile-close,.sf-embed .student-action-btn[onclick^="openStudentReminder"]{display:none!important}
.sf-embed .feature-list{max-height:none!important}.sf-embed .profile-head>button{display:none}
.today-hub .ct-today{margin:0}
.td-head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.8rem}
.td-head h2{margin:0}.td-search{flex:1;min-width:220px;max-width:460px;position:relative;margin-inline-start:auto}
.td-search .inp{width:100%}.td-res{position:absolute;top:100%;inset-inline:0;z-index:20;background:var(--ui-surface,#fff);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.td-res:empty{display:none}
.today-hub{display:block!important}
.td-now{background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#e5e7eb);border-radius:14px;padding:.7rem .9rem;margin-bottom:.6rem}
.td-now-h{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:.5rem}.td-now-h small{color:var(--ink-soft)}
.td-now-h .btn,.td-ok{margin-inline-start:auto}.td-ok{color:#13734f;font-weight:800;font-size:.85rem}
.td-pers{display:flex;flex-wrap:wrap;gap:.35rem}
.td-per{border:1px solid var(--ui-border,#e5e7eb);background:var(--ui-bg,#f8fafc);border-radius:999px;padding:.25rem .7rem;font:inherit;font-size:.8rem;cursor:pointer;color:var(--ink)}
.td-per small{color:var(--ink-soft);margin-inline-start:.45rem;padding-inline-start:.45rem;border-inline-start:1px solid var(--ui-border,#d6dbe3);font-size:.7rem;display:inline-block;unicode-bidi:isolate;direction:ltr}
.td-per.done{border-color:#1b9c6b;background:rgba(27,156,107,.08)}.td-per.cur{border-color:#2563eb;background:rgba(37,99,235,.1);font-weight:800}
.td-per.miss{border-color:#d6455b;background:rgba(214,69,91,.07)}
.td-kpis{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem}
.td-kpi{border:1px solid var(--ui-border,#e5e7eb);background:var(--ui-surface,#fff);border-radius:999px;padding:.3rem .8rem;font:inherit;font-size:.82rem;cursor:pointer;color:var(--ink)}
.td-kpi span{color:var(--ink-soft)}.td-kpi b{margin-inline-start:.2rem}
.td-card{background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#e5e7eb);border-radius:14px;padding:.7rem .8rem;margin-bottom:1rem}
.td-card-h{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem}.td-card-h small{margin-inline-start:auto;color:var(--ink-soft);font-size:.78rem}
.td-task{display:flex;align-items:center;gap:.55rem;padding:.5rem .6rem;border-radius:9px;background:var(--ui-bg,#f8fafc);border-inline-start:4px solid #94a3b8;margin:.3rem 0;flex-wrap:wrap}
.td-task.bad{border-inline-start-color:#d6455b}.td-task.warn{border-inline-start-color:#e0a100}.td-task.info{border-inline-start-color:#2563eb}
.td-t{flex:1;min-width:180px;font-size:.88rem}.td-acts{display:flex;gap:.3rem;align-items:center;margin-inline-start:auto}
.td-done{border:1px solid #1b9c6b;color:#13734f;background:#fff;border-radius:8px;padding:.2rem .55rem;font:inherit;font-size:.76rem;cursor:pointer}
.td-empty{padding:.7rem;color:#13734f;font-weight:700}
.td-low summary{cursor:pointer;color:var(--ink-soft);font-size:.82rem;margin-top:.4rem}
.td-more{margin:.5rem 0}.td-more>summary{cursor:pointer;font-weight:800;padding:.6rem .8rem;border:1px solid var(--ui-border,#e5e7eb);border-radius:12px;background:var(--ui-surface,#fff);display:flex;align-items:center;gap:.5rem;list-style:none}
.td-more>summary::-webkit-details-marker{display:none}.td-more>summary::before{content:'▸';color:var(--ink-soft)}.td-more[open]>summary::before{content:'▾'}
.td-more>summary .btn{margin-inline-start:auto}.td-more[open]>summary{margin-bottom:.5rem}.today-hub .ct-today > b:first-child{display:none}
@media screen and (max-width:980px){.today-hub{grid-template-columns:1fr}}

/* ── <style id=dash-v2-css> ── */

.cf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem;margin-top:.7rem}
.cf-dist{display:flex;height:16px;border-radius:999px;overflow:hidden;background:var(--ui-bg,#eef2f7);margin:.35rem 0}
.cf-dist i{display:block}.cf-dist .t{background:#1b9c6b}.cf-dist .w{background:#e0a100}.cf-dist .b{background:#d6455b}.cf-dist .u{background:#cbd5e1}
.cf-legend{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.76rem;color:var(--ink-soft)}
.cf-cmp td.me,.cf-cmp th.me{background:rgba(37,99,235,.08)}
.cf-cmp .best{color:#1b9c6b;font-weight:800}.cf-cmp .worst{color:#d6455b;font-weight:800}
.tl-filters{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.7rem}
.tl-filters button{border:1px solid var(--ui-border,#e5e7eb);background:var(--ui-surface,#fff);border-radius:999px;padding:.3rem .75rem;font:inherit;font-size:.8rem;cursor:pointer;color:var(--ink)}
.tl-filters button.on{background:#1F2D45;color:#fff;border-color:#1F2D45}
.tl-month{font-weight:800;font-size:.82rem;color:var(--ink-soft);margin:.8rem 0 .35rem;border-bottom:1px dashed var(--ui-border,#e5e7eb);padding-bottom:.2rem}
.tl-ev{display:flex;gap:.6rem;align-items:flex-start;padding:.4rem .5rem;border-inline-start:3px solid #cbd5e1;margin:.2rem 0;border-radius:6px;background:var(--ui-bg,#f8fafc)}
.tl-ev.good{border-inline-start-color:#1b9c6b}.tl-ev.bad{border-inline-start-color:#d6455b}.tl-ev.warn{border-inline-start-color:#e0a100}.tl-ev.info{border-inline-start-color:#2563eb}
.tl-ev .ic{font-size:1rem;line-height:1.4}.tl-ev .tx{flex:1;min-width:0;font-size:.85rem}.tl-ev .tx small{display:block;color:var(--ink-soft);font-size:.75rem}
.tl-ev .dt{font-size:.74rem;color:var(--ink-soft);white-space:nowrap}
.cn-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;align-items:end;margin-bottom:.6rem}
.cn-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--ink-soft)}
.cn-item{display:flex;gap:.6rem;align-items:flex-start;padding:.5rem .6rem;border:1px solid var(--ui-border,#e5e7eb);border-radius:10px;margin:.35rem 0}
.cn-item .tx{flex:1;min-width:0;font-size:.85rem}.cn-item small{color:var(--ink-soft);display:block;font-size:.76rem}
.cn-del{border:0;background:none;cursor:pointer;color:#94a3b8;font-size:1rem}
.pf-sec{font-weight:800;margin:1rem 0 .45rem;font-size:.95rem}
.qk-veil{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:9999;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh}
.qk-box{background:var(--ui-surface,#fff);width:min(560px,92vw);border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden}
.qk-box input{width:100%;border:0;border-bottom:1px solid var(--ui-border,#e5e7eb);padding:1rem 1.1rem;font:inherit;font-size:1rem;outline:none;background:transparent;color:var(--ink)}
.qk-list{max-height:55vh;overflow:auto;padding:.35rem}
.qk-list button{display:flex;width:100%;gap:.6rem;align-items:center;text-align:start;border:0;background:none;padding:.55rem .7rem;border-radius:8px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--ink)}
.qk-list button small{margin-inline-start:auto;color:var(--ink-soft);font-size:.75rem}
.qk-list button.on,.qk-list button:hover{background:var(--ui-bg,#f1f5f9)}
.qk-hint{font-size:.72rem;color:var(--ink-soft);padding:.45rem .9rem;border-top:1px solid var(--ui-border,#e5e7eb)}
.th-next .feature-item{margin:0 0 .45rem}.th-next .feature-item:not(.next-action-primary),.th-next .feature-empty{display:none}
#dash-details-h{margin:1.2rem 0 .6rem;font-size:.95rem;color:var(--ink-soft)}
@media print{.ct-pf-print .cf-grid,.cf-print .cf-grid{grid-template-columns:1fr 1fr!important}}

/* ── <style id=dash-v3-css> ── */

.ia-tbl td,.ia-tbl th{font-size:.8rem;padding:.35rem .4rem;text-align:center}
.ia-tbl td.q{text-align:start;max-width:340px}
.ia-chip{display:inline-block;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:700;white-space:nowrap}
.ia-chip.good{background:rgba(27,156,107,.12);color:#13734f}.ia-chip.ok{background:rgba(37,99,235,.1);color:#1d4ed8}
.ia-chip.warn{background:rgba(224,161,0,.15);color:#8a6200}.ia-chip.bad{background:rgba(214,69,91,.12);color:#a3283c}
.ia-dist{font-size:.72rem;color:var(--ink-soft);margin-top:.2rem}.ia-dist b.key{color:#13734f}.ia-dist .dead{color:#a3283c}
.cmp-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0 .2rem;font-size:.8rem}
.cmp-row .cmp-h{font-weight:800;color:var(--ink-soft)}
.cmp-it{border:1px solid var(--ui-border,#e5e7eb);border-radius:999px;padding:.15rem .6rem;background:var(--ui-surface,#fff)}
.cmp-it .up{color:#13734f;font-weight:800}.cmp-it .dn{color:#a3283c;font-weight:800}.cmp-it .eq{color:var(--ink-soft)}

/* ── <style id=kashf-css> ── */

.kashf-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;justify-content:space-between}
.kashf-sub button{font-weight:700}

/* ── <style id=bulk-rem-css> ── */

.br-tools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:.3rem 0 .6rem}
.br-tools label{display:flex;align-items:center;gap:.3rem;font-size:.82rem}
.br-list{max-height:52vh;overflow:auto;border:1px solid var(--ui-border,#e5e7eb);border-radius:12px;padding:.3rem}
.br-row{display:flex;gap:.55rem;align-items:flex-start;padding:.45rem .5rem;border-bottom:1px solid var(--ui-border,#eef2f7)}
.br-row:last-child{border-bottom:0}.br-row.off{opacity:.55}
.br-row input{margin-top:.25rem;transform:scale(1.15)}
.br-main{flex:1;min-width:0}.br-main b{font-size:.88rem}.br-main small{color:var(--ink-soft);font-size:.75rem;margin-inline-start:.3rem}
.br-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.2rem}
.br-chip{font-size:.72rem;border-radius:999px;padding:.08rem .5rem;background:var(--ui-bg,#f1f5f9)}
.br-chip.late{background:rgba(214,69,91,.1);color:#a3283c}.br-chip.soon{background:rgba(224,161,0,.14);color:#8a6200}
.br-chip.paper{background:rgba(37,99,235,.09);color:#1d4ed8}.br-chip.mad{background:rgba(27,156,107,.1);color:#13734f}
.br-last{font-size:.72rem;color:#8a6200}
.br-msg{white-space:pre-wrap;font-size:.78rem;background:var(--ui-bg,#f8fafc);border-radius:8px;padding:.45rem .55rem;margin-top:.3rem;line-height:1.7}
.br-foot{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-top:.6rem}
.br-status{font-size:.82rem;font-weight:700}

/* ── <style id=sch-art-css> ── */

/* 🗓️ جدول الحصص المصمَّم — صفحة A4 أفقية */
.sch-art{width:297mm;height:209mm;box-sizing:border-box;padding:7mm 9mm 6mm;background:#fff;font-family:'Readex Pro','Tajawal','Segoe UI',Tahoma,sans-serif;direction:rtl;color:#14213D;
  display:flex;flex-direction:column;overflow:hidden;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.sch-art *{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-sizing:border-box}
.sch-top{display:grid;grid-template-columns:1fr 2.5fr 1fr;align-items:center;gap:5mm;height:41mm}
.sch-title{background:linear-gradient(180deg,#DDF0FB,#C6E6F8);border-radius:22mm;height:30mm;display:flex;align-items:center;justify-content:center;
  font-size:42pt;font-weight:900;color:#13284A;padding:0 8mm;box-shadow:0 0 0 2.5mm rgba(198,230,248,.45);letter-spacing:-.5px;white-space:nowrap}
.sch-motto{display:flex;align-items:center;gap:3mm;font-weight:800;color:#13284A;font-size:17pt;line-height:1.4}
.sch-motto span{white-space:nowrap}
.sch-motto.r{justify-content:flex-start}.sch-motto.l{justify-content:flex-end;text-align:center}
.sch-motto svg{flex:none}
.sch-grid{flex:1;display:grid;gap:2.4mm;margin-top:3mm}
.sch-h{background:#BFDDF2;border-radius:3mm;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;color:#13284A;font-size:16pt;line-height:1.15}
.sch-h b{font-size:20pt}
.sch-h .sch-tm{font-style:normal;font-size:10.5pt;font-weight:700;color:#3B5B7A;margin-top:.6mm;direction:ltr;unicode-bidi:isolate}
.sch-day{background:#11807D;color:#fff;border-radius:3mm;display:flex;align-items:center;justify-content:center;font-size:22pt;font-weight:900}
.sch-c{border-radius:3mm;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:18pt;line-height:1.3;text-align:center;padding:1mm}
.sch-c.e{background:#E7EAEE}
.sch-c small{font-size:17pt;font-weight:800}
.sch-foot{display:flex;align-items:center;gap:4mm;margin-top:3mm;height:11mm;font-weight:800;color:#13284A;font-size:13pt}
.sch-foot i{flex:1;height:.5mm;background:#13284A;opacity:.55}
.sch-preview{overflow:auto;border:1px solid var(--ui-border,#e5e7eb);border-radius:12px;margin-top:.8rem;background:#f1f5f9;padding:8px}
.sch-preview .sch-scale{transform-origin:top right;width:297mm;height:209mm}
@media print{
  body.printing-cert .sch-art{margin:0!important;break-after:page;page-break-after:always}
  body.printing-cert .sch-art:last-child{break-after:auto;page-break-after:auto}
}

/* ── <style id=today-v3-css> ── */

.tq-list{max-height:58vh;overflow:auto;border:1px solid var(--ui-border,#e5e7eb);border-radius:12px}
.tq-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .6rem;border-bottom:1px solid var(--ui-border,#eef2f7);flex-wrap:wrap}
.tq-row:last-child{border-bottom:0}.tq-row.ch{background:rgba(37,99,235,.05)}
.tq-n{flex:1;min-width:130px;font-weight:700;font-size:.88rem}
.tq-seg{display:inline-flex;border:1px solid var(--ui-border,#e5e7eb);border-radius:9px;overflow:hidden}
.tq-seg button{border:0;background:var(--ui-surface,#fff);padding:.32rem .55rem;font:inherit;font-size:.78rem;cursor:pointer;color:var(--ink)}
.tq-seg button+button{border-inline-start:1px solid var(--ui-border,#e5e7eb)}
.tq-seg button.on.p{background:#1b9c6b;color:#fff}.tq-seg button.on.n{background:#e0a100;color:#fff}.tq-seg button.on.a{background:#d6455b;color:#fff}.tq-seg button.on.e{background:#64748b;color:#fff}
.tq-seg button.on.hd{background:#2563eb;color:#fff}.tq-seg button.on.hn{background:#b45309;color:#fff}
.tq-top{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin:.2rem 0 .6rem}
.tq-foot{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.6rem}
.td-abs{font-size:.84rem;margin:-.2rem 0 .7rem;display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.td-abs a{background:rgba(214,69,91,.08);color:#a3283c;border-radius:999px;padding:.12rem .55rem;text-decoration:none;font-weight:700}
.td-week{display:grid;grid-template-columns:repeat(5,1fr);gap:.4rem;margin-bottom:1rem}
.td-day{background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#e5e7eb);border-radius:12px;padding:.45rem .5rem;min-height:74px;min-width:0}
.td-day.today{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15)}.td-day.past{opacity:.6}
.td-day h4{margin:0 0 .3rem;font-size:.8rem;display:flex;justify-content:space-between}.td-day h4 small{color:var(--ink-soft);font-weight:600}
.td-ev{display:block;font-size:.72rem;line-height:1.35;margin:.15rem 0;padding:.12rem .35rem;border-radius:6px;background:var(--ui-bg,#f1f5f9);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:0;width:100%;text-align:start;font-family:inherit;cursor:pointer;color:var(--ink)}
.td-ev.ex{background:rgba(214,69,91,.1);color:#a3283c;font-weight:700}.td-ev.act{background:rgba(37,99,235,.08)}.td-ev.rm{background:rgba(224,161,0,.12)}
.td-sum{background:linear-gradient(135deg,rgba(27,156,107,.08),rgba(37,99,235,.06));border:1px solid var(--ui-border,#e5e7eb);border-radius:14px;padding:.7rem .9rem;margin-bottom:.6rem}
.td-sum-g{display:flex;flex-wrap:wrap;gap:.4rem .9rem;font-size:.85rem;margin-top:.4rem}
@media screen and (max-width:700px){.td-week{grid-template-columns:repeat(5,minmax(110px,1fr));overflow-x:auto}}

/* ── <style id=sch-times-css> ── */

.st-panel{border:1px solid var(--ui-border,#e5e7eb);border-radius:12px;padding:.7rem .8rem;margin-bottom:.8rem;background:var(--ui-surface,#fff)}
.st-panel h4{margin:0 0 .5rem;font-size:.92rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.st-panel h4 small{font-weight:600;color:var(--ink-soft);font-size:.76rem}
.st-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem}
.st-fields label{display:flex;flex-direction:column;gap:.2rem;font-size:.78rem;color:var(--ink-soft)}
.st-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:.35rem;margin-top:.6rem}
.st-t{display:flex;align-items:center;gap:.35rem;padding:.3rem .45rem;border-radius:8px;background:var(--ui-bg,#f8fafc);font-size:.82rem;flex-wrap:wrap}
.st-t{flex-wrap:nowrap!important}.st-t b{min-width:56px}.st-t input{width:7.6em;padding:.2rem .3rem;font-size:.8rem}
.st-t.fixed{background:rgba(224,161,0,.12)}.st-t button{border:0;background:none;cursor:pointer;font-size:.85rem}
.st-brk{font-size:.75rem;color:#8a6200;padding:.15rem .45rem;grid-column:1/-1}
.st-log{display:flex;flex-direction:column;gap:.25rem}
.st-log div{display:grid;grid-template-columns:70px 1fr auto auto;gap:.5rem;font-size:.8rem;padding:.3rem .45rem;border-radius:7px;background:var(--ui-bg,#f8fafc)}
.ct-sch thead th small{display:block;font-weight:600;color:var(--ink-soft);font-size:.7rem;direction:ltr}

/* ── <style id=portal5-css> ── */

.tq-bbtn{border:1px solid var(--ui-border,#e5e7eb);background:var(--ui-surface,#fff);border-radius:9px;padding:.3rem .5rem;font:inherit;font-size:.78rem;cursor:pointer}
.tq-bbtn.on{border-color:#2563eb;background:rgba(37,99,235,.08)}
.tq-bchip{font-size:.72rem;border-radius:999px;padding:.1rem .45rem}.tq-bchip.p{background:rgba(27,156,107,.12);color:#13734f}.tq-bchip.n{background:rgba(224,161,0,.15);color:#8a6200}
.tq-bchip a{color:inherit;text-decoration:none;margin-inline-start:.2rem}
.tq-bpick{flex-basis:100%;margin-top:.35rem}
.bh-grp{display:flex;flex-wrap:wrap;gap:.3rem;margin:.25rem 0}
.bh-grp b{font-size:.76rem;width:100%;color:var(--ink-soft)}
.bh-chip{border:1px solid var(--ui-border,#e5e7eb);background:var(--ui-surface,#fff);border-radius:999px;padding:.22rem .6rem;font:inherit;font-size:.78rem;cursor:pointer;color:var(--ink)}
.bh-chip.p:hover{background:rgba(27,156,107,.1)}.bh-chip.n:hover{background:rgba(224,161,0,.12)}.bh-chip.t{border-style:dashed}
.bh-custom{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;margin-top:.35rem}.bh-custom .inp{width:auto;flex:1;min-width:140px}
.td-link{font-size:.8rem;margin-inline-start:.6rem;text-decoration:none}
.rm-row{display:flex;align-items:center;gap:.5rem;padding:.45rem .55rem;border-bottom:1px solid var(--ui-border,#eef2f7)}.rm-row.paused{opacity:.55}
.rm-row span{flex:1;min-width:0}.rm-row small{display:block;color:var(--ink-soft);font-size:.75rem}
.rm-row button{border:0;background:none;cursor:pointer;font-size:.95rem}
.rm-form{border:1px solid var(--ui-border,#e5e7eb);border-radius:12px;padding:.7rem;margin:.6rem 0;display:grid;gap:.45rem}
.rm-form label{display:flex;flex-direction:column;gap:.2rem;font-size:.8rem;color:var(--ink-soft)}
.rm-days{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.82rem}.rm-days label{flex-direction:row;align-items:center;gap:.25rem;color:var(--ink)}
.pm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.45rem}
.pm-card{border:1px solid var(--ui-border,#e5e7eb);border-radius:10px;padding:.5rem .6rem;font-size:.82rem}.pm-card.sug{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.15)}
.pm-card p{margin:.3rem 0;line-height:1.7;color:var(--ink)}.pm-card .row{gap:.3rem}
.du-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.7rem;margin-top:.6rem}
.du-li{display:flex;align-items:center;gap:.5rem;padding:.4rem .5rem;border-radius:8px;background:var(--ui-bg,#f8fafc);margin:.25rem 0;font-size:.84rem}
.du-li span{flex:1;min-width:0}.du-li small{color:var(--ink-soft);display:block;font-size:.74rem}
.tr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:.6rem;margin-top:.6rem}
.tr-card{border:1px solid var(--ui-border,#e5e7eb);border-radius:10px;padding:.55rem .65rem}
.tr-card b{display:block;margin-bottom:.35rem;font-size:.85rem}.tr-card .row{gap:.35rem;flex-wrap:wrap}.tr-card .inp{width:auto}

/* ── <style id=today-board-css> ── */

/* 🧩 لوحة اليوم القابلة للترتيب: كل بطاقة .td-blk لها ترتيب وعرض (من 6 أعمدة) ويمكن إخفاؤها — يحفظ على هذا الجهاز */
.td-weekcard{background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#e5e7eb);border-radius:14px;padding:.7rem .8rem}
.td-weekcard .td-week{margin:0}
#td-board .td-taskcard{margin-bottom:0}
#td-board>.td-blk{margin:0 0 .7rem;min-width:0;position:relative}
#td-board>.td-blk.tl-hidden{display:none}
@media (min-width:1000px){
  /* 12 عمودًا، بلا «dense» حتى لا تقفز البطاقات من ترتيبها، وبطاقات الصف الواحد تمتد بطول أطولها */
  #td-board{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.8rem;align-items:stretch;grid-auto-flow:row}
  #td-board>.td-blk{margin:0;grid-column:span var(--w,4)}
  #td-board>div.td-blk{display:flex;flex-direction:column}
  #td-board>div.td-blk>:not(.tl-bar):not(.tl-rs){flex:1 1 auto;margin:0}
  #td-board>div.td-blk:not([data-h="a"])>:not(.tl-bar):not(.tl-rs){max-height:var(--h);overflow:auto}
  #td-board>div.td-blk[data-h="px"]>:not(.tl-bar):not(.tl-rs){height:var(--h)}
  #td-board>.td-more{background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#e5e7eb);border-radius:14px}
  #td-board>.td-more>summary{border:0;border-bottom:1px solid transparent;border-radius:14px 14px 0 0;background:none}
  #td-board>.td-more[open]>summary{border-bottom-color:var(--ui-border,#e5e7eb);margin-bottom:0}
  #td-board>.td-more>:not(summary):not(.tl-bar):not(.tl-rs){max-height:var(--h,320px);overflow:auto;padding:.5rem .6rem;box-shadow:none!important;border:0!important}
  #td-board>.td-more[data-h="px"]>:not(summary):not(.tl-bar):not(.tl-rs){height:var(--h);box-sizing:border-box}
  #td-board>.td-more>summary .btn{white-space:nowrap;flex:none}
  #td-board #dash-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important}
  /* الأسبوع: عمودي في البطاقة الضيقة، أفقي في العريضة (⅔ فأكثر) */
  #td-board>.td-weekcard:not(.tl-wide) .td-week{grid-template-columns:1fr;overflow:visible;gap:.35rem}
  #td-board>.td-weekcard:not(.tl-wide) .td-day{min-height:0;display:flex;gap:.5rem;align-items:flex-start;flex-wrap:wrap;padding:.35rem .5rem}
  #td-board>.td-weekcard:not(.tl-wide) .td-day h4{margin:0;flex:0 0 92px;gap:.3rem;justify-content:flex-start}
  #td-board>.td-weekcard:not(.tl-wide) .td-day>:not(h4){flex:1 1 140px}
  #td-board>div.td-weekcard>:not(.td-week):not(.tl-bar):not(.tl-rs){flex:none}
  #td-board>div.td-weekcard>.td-week{align-content:start}
  #td-board>.td-weekcard:not([data-h="a"]) .td-week{max-height:var(--h);overflow:auto}
}
/* وضع الترتيب */
.tl-top{display:none}
#td-board.tl-on{outline:2px dashed #2563eb;outline-offset:6px;border-radius:14px}
#td-board.tl-on>.tl-top{display:flex;grid-column:1/-1;flex-wrap:wrap;gap:.4rem;align-items:center;background:rgba(37,99,235,.08);border:1px solid rgba(37,99,235,.3);border-radius:12px;padding:.5rem .7rem;font-size:.82rem;margin-bottom:.6rem}
#td-board.tl-on>.tl-top span{flex:1;min-width:200px}
#td-board.tl-on .tl-h{cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
#td-board.tl-on>.td-blk.tl-hidden{display:block;opacity:.4}
#td-board.tl-on>.td-blk.tl-drag{opacity:.35}
#td-board.tl-on>.td-blk.tl-over{box-shadow:0 0 0 3px #2563eb;border-radius:14px}
.tl-bar{display:none}
.tl-rs{display:none}
#td-board.tl-on>.td-blk>.tl-rs{display:flex;position:absolute;bottom:2px;inset-inline-end:2px;width:26px;height:26px;align-items:center;justify-content:center;background:#2563eb;color:#fff;border-radius:8px 0 12px 0;font-size:.85rem;cursor:nwse-resize;touch-action:none;user-select:none;-webkit-user-select:none;z-index:3;box-shadow:0 2px 6px rgba(0,0,0,.2)}
[dir=rtl] #td-board.tl-on>.td-blk>.tl-rs{cursor:nesw-resize;transform:scaleX(-1);border-radius:8px 0 12px 0}
#td-board.tl-sizing-on{user-select:none;-webkit-user-select:none}
#td-board.tl-on>.td-blk.tl-sizing{box-shadow:0 0 0 3px #2563eb;border-radius:14px}
#td-board.tl-on>.td-blk.tl-sizing::after{content:attr(data-sz);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1e293b;color:#fff;padding:.35rem .7rem;border-radius:10px;font-size:.85rem;font-weight:800;z-index:4;pointer-events:none;white-space:nowrap}
@media screen and (max-width:999px){ #td-board.tl-on>.td-blk>.tl-rs{display:none} }
#td-board.tl-on>details.td-blk>summary{flex-wrap:wrap}
#td-board.tl-on>details.td-blk>summary::before{display:none}
#td-board.tl-on>details.td-blk>summary>.tl-bar{flex-basis:100%;margin:0 0 .35rem}
#td-board.tl-on>.td-blk>.tl-bar,#td-board.tl-on>details.td-blk>summary>.tl-bar{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;background:#1e293b;color:#fff;border-radius:10px;padding:.3rem .4rem;margin:.35rem;font-size:.75rem;position:relative;z-index:2}
.tl-bar b{flex:1;min-width:90px;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tl-bar button{border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:7px;padding:.2rem .45rem;font:inherit;font-size:.74rem;cursor:pointer}
.tl-bar button.on{background:#2563eb}
.tl-bar .tl-w{display:inline-flex;gap:.15rem}
@media screen and (max-width:999px){ .tl-bar .tl-w:not(.tl-hh){display:none} #td-board>details.td-blk>:not(summary){max-height:var(--h,none);overflow:auto} #td-board>details.td-blk[data-h="m"]>:not(summary){max-height:none} }

/* ── <style id=br-v2-css> ── */

.br-eff,.br-np{font-size:.8rem;border-radius:10px;padding:.45rem .6rem;margin:.3rem 0;line-height:1.8}
.br-eff .btn{margin-inline-start:.35rem}
.br-eff{background:rgba(27,156,107,.08);border:1px solid rgba(27,156,107,.25)}
.br-np{background:rgba(224,161,0,.1);border:1px solid rgba(224,161,0,.3)}
.br-chip.np{background:rgba(100,116,139,.14);color:#475569}
.br-row{position:relative}.br-par{display:flex;gap:.2rem;align-items:flex-start;flex:none}
.br-row.off{opacity:1}.br-row.off>input,.br-row.off>.br-main{opacity:.55}   /* غير المحدد باهت، لكن زر ولي الأمر يبقى واضحًا */
/* 💬 بطاقة رسائل الطلاب في صفحة اليوم */
.askc-card .td-card-h{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap}.askc-card .td-card-h .td-link{margin-inline-start:auto}
.askc-list{display:grid;gap:.45rem;max-height:420px;overflow:auto;padding:.1rem}
.askc{border:1px solid var(--ui-border,#e3e8ee);border-inline-start:3px solid #D6455B;border-radius:12px;padding:.55rem .65rem;background:var(--ui-bg,#f8fafc);display:grid;gap:.3rem}
.askc-h{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center;font-size:.84rem}.askc-t{margin-inline-start:auto;font-size:.74rem}
.askc-hw{font-size:.76rem}
.askc-q{font-size:.88rem;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.askc.ex .askc-q{-webkit-line-clamp:unset;display:block}
.askc-b{display:flex;flex-wrap:wrap;gap:.35rem}
.askc textarea{width:100%;box-sizing:border-box}

/* ＋ خطة له — في صفوف «يحتاج تدخلك» */
.ar-rec.escalated{grid-template-columns:1fr auto auto auto}
.ar-plan-btn{white-space:nowrap}
@media (max-width:640px){.ar-rec.escalated{grid-template-columns:1fr auto}.ar-rec.escalated .ar-plan-btn{grid-column:1/-1;justify-self:stretch}}
/* 🔎 أرقام ملخص الخطط أزرار فرز */
.plan-sum button{background:var(--ui-surface-2);border:1px solid var(--ui-border);border-radius:10px;padding:.35rem .65rem;font:inherit;font-size:.82rem;color:inherit;cursor:pointer;transition:background .15s,border-color .15s}
.plan-sum button b{font-size:1rem;margin-inline-end:.2rem}
.plan-sum button:hover:not(:disabled){border-color:var(--ui-ink,#1F2D45)}
.plan-sum button.on{background:#1F2D45;color:#fff;border-color:#1F2D45}
.plan-sum button.need:not(.on){border-color:#E9B949;background:rgba(233,185,73,.14)}
.plan-sum button:disabled{opacity:.55;cursor:default}
.plan-sum button.down:not(.on){border-color:#E4A3A3;background:rgba(214,69,91,.08);color:#A3283C}
/* 📤 إرسال/تحديث/سحب تقرير طالب واحد */
.srepd-acts{display:inline-flex;gap:.3rem;flex-wrap:nowrap}
@media (max-width:640px){.srepd-row{grid-template-columns:1fr auto}.srepd-acts{grid-column:1/-1;justify-content:flex-end}}
/* 📄 ورقة «خطتي العلاجية» للطالب */
.psh .psh-st{display:inline-block;margin:0 0 .45rem;border:1.6px dashed #1B9C6B;color:#1B7A55;border-radius:8px;padding:.1rem .6rem;font-weight:800;font-size:.8rem}
.psh .psh-why{font-size:.86rem;line-height:1.85;padding:.55rem .7rem}
.psh .psh-sk{display:grid;grid-template-columns:1.6fr 1fr 52px 52px;gap:.5rem;align-items:center;padding:.3rem 0;border-bottom:1px dashed #D6DEE8;font-size:.84rem}
.psh .psh-sk:last-child{border-bottom:0}.psh .psh-hd{font-size:.72rem;color:#5B6B7F;font-weight:700;margin-top:.35rem}
.psh .psh-sk em{font-style:normal;font-weight:800;text-align:center}.psh .psh-sk em.t{color:#1B9C6B}
.psh .psh-bar{height:9px;border-radius:9px;background:#E6EBF1;position:relative;overflow:hidden;display:block}
.psh .psh-bar i{position:absolute;inset-block:0;inset-inline-start:0;border-radius:9px}
.psh .psh-bar u{position:absolute;inset-block:-2px;inset-inline-start:80%;width:2px;background:#1B9C6B}
.psh .psh-t td{vertical-align:top;font-size:.84rem;text-align:start}
.psh .psh-t td.n{text-align:center;width:24px;font-weight:800}.psh .psh-t td.c{text-align:center;width:62px}.psh .psh-t td.d{text-align:center;width:70px;color:#5B6B7F;white-space:nowrap}
.psh .psh-box{display:inline-grid;place-items:center;width:17px;height:17px;border:1.6px solid #1F2D45;border-radius:4px;font-size:.8rem;font-weight:900;line-height:1}
.psh .psh-box.on{background:#1B9C6B;border-color:#1B9C6B;color:#fff;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.psh .psh-tag{font-size:.68rem;background:#EEF4FF;color:#2B5BB5;border-radius:6px;padding:0 .4rem;margin-inline-start:.25rem;white-space:nowrap;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.psh .psh-teach{font-size:.78rem;color:#5B6B7F;margin-top:.4rem;line-height:1.7}
.psh .psh-goal{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.psh .psh-goal div{border:1.5px solid #1B9C6B;border-radius:10px;padding:.45rem .6rem;font-size:.84rem;line-height:1.7;background:#F1FAF6;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.psh .psh-goal b{color:#1B7A55}
.psh .psh-tip{margin-top:.45rem;border-inline-start:4px solid #E0A100;background:#FFF8E6;border-radius:8px;padding:.4rem .6rem;font-size:.82rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.psh .psh-f td{height:26px}
/* ورقة واحدة A4: ضغط المسافات */
.psh .rep-in{padding-top:.35rem!important}
.psh .rep-info{margin-bottom:.4rem!important}.psh .rep-info>div{padding:.25rem .45rem!important}
.psh .rep-sec{margin-top:.45rem!important;margin-bottom:.25rem!important}
.psh .rep-box{padding:.4rem .55rem!important;margin-bottom:.2rem!important}
.psh .psh-why{line-height:1.65}
.psh .psh-sk{padding:.18rem 0}
.psh .psh-t td{padding:.28rem .4rem!important;line-height:1.5}
.psh .psh-f td{height:22px;padding:0!important}
.psh .psh-goal div{padding:.32rem .55rem;line-height:1.55}
.psh .psh-tip{margin-top:.3rem;padding:.3rem .55rem}
.psh .plan-sign{margin-top:.5rem!important}
.psh{font-size:.95em}
.plan-doc.psh .plan-sign,body.printing-plans .plan-doc.psh .plan-sign{margin-top:.45rem!important;gap:.6rem;font-size:.78rem}
.plan-doc.psh .plan-sign div{padding-top:.25rem;gap:.15rem}
.psh .psh-t td,.psh .psh-sk{font-size:.8rem}
.psh .psh-why,.psh .psh-goal div{font-size:.8rem}
.psh .psh-tip{font-size:.78rem}

.psh .psh-stv{color:#1B7A55}
.psh .psh-sk{grid-template-columns:1.5fr 1fr 66px 74px}
.psh .psh-sk em{font-size:.78rem}
.psh .psh-goal{grid-template-columns:1fr 1fr}
.psh .psh-goal{margin-top:.75rem}
/* 📝 ورقة التدريب العلاجية */
.drill-sk{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}
.drl .drl-ins{font-size:.82rem;background:#F4F7FB;border-radius:8px;padding:.4rem .6rem;margin:.2rem 0 .5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.drl .drl-box{padding:.5rem .7rem!important}
.drl .drl-q{padding:.5rem 0;border-bottom:1px dashed #D6DEE8;break-inside:avoid;page-break-inside:avoid}
.drl .drl-q:last-child{border-bottom:0}
.drl .drl-qt{display:flex;gap:.5rem;font-size:.95rem;line-height:1.7;font-weight:600}
.drl .drl-qt b{flex:none;width:24px;height:24px;border-radius:7px;background:#1F2D45;color:#fff;display:grid;place-items:center;font-size:.8rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.drl .drl-o{display:grid;grid-template-columns:1fr 1fr;gap:.25rem 1rem;margin:.35rem 2rem 0 0;font-size:.9rem}
.drl .drl-o.one{grid-template-columns:1fr}
.drl .drl-o i{font-style:normal;display:inline-grid;place-items:center;width:20px;height:20px;border:1.4px solid #1F2D45;border-radius:50%;font-size:.72rem;font-weight:800;margin-inline-end:.4rem}
.drl .drl-tf{display:flex;gap:2.5rem;margin:.35rem 2rem 0 0;font-size:.9rem;font-weight:600}
.drl .drl-f{margin:.45rem 2rem 0 0;font-size:.9rem;color:#5B6B7F}
/* 📦 عدّاد إرسال تقارير الطلاب */
.srepd-prog{display:grid;gap:.5rem;justify-items:center;padding:1rem .2rem .4rem;text-align:center}
.srepd-bar{width:100%;height:12px;border-radius:99px;background:var(--ui-surface,#EEF3F8);border:1px solid var(--ui-border,#D5E0EC);overflow:hidden}
.srepd-bar i{display:block;height:100%;background:var(--tick,#1E9E62);border-radius:inherit;transition:width .3s}
.srepd-cnt{font-size:1.6rem;font-variant-numeric:tabular-nums}.srepd-prog small{color:var(--ink-soft)}
/* 📚 قائمة المشاريع الجاهزة في نموذج «تسليم ملفات» */
.proj-tpl-pick{margin-top:.45rem;font-weight:700}
/* 🖼️ معاينة الرسم التوضيحي في نموذج النشاط */
.illus-prev:empty{display:none}
.illus-prev{margin-top:.5rem;border:1px solid var(--ui-border,#D5E0EC);border-radius:12px;overflow:hidden;background:#F7FAFC}
.illus-prev img{display:block;width:100%;height:auto}
.illus-prev-bar{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.4rem .6rem;font-size:.78rem;color:#5B6B7F;background:var(--ui-surface,#FFFFFF)}
/* ⬇️ عدّاد تجهيز تحميل المشاريع */
.pdl-prog{display:grid;gap:.5rem;justify-items:center;padding:1rem .2rem .4rem;text-align:center}
.pdl-bar{width:100%;height:12px;border-radius:99px;background:var(--ui-surface,#EEF3F8);border:1px solid var(--ui-border,#D5E0EC);overflow:hidden}
.pdl-bar i{display:block;height:100%;background:var(--tick,#1E9E62);border-radius:inherit;transition:width .3s}
.pdl-cnt{font-size:1.6rem;font-variant-numeric:tabular-nums}.pdl-prog small{color:var(--ink-soft)}
/* 🔐 الرقم السري في رأس ملف الطالب */
.pf-pin{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem;border:1px solid var(--ui-border,#D5E0EC);border-radius:999px;background:var(--ui-surface,#F7FAFD);font-size:.85rem;white-space:nowrap}
.pf-pin b{font-size:1.05rem;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.pf-pin-copy{border:0;background:none;cursor:pointer;color:var(--ink-soft);font-size:.9rem;padding:0 .1rem}
/* 🪙 سجل النقاط */
.pts-head{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-bottom:.2rem}
.pts-bal{display:flex;align-items:baseline;gap:.4rem;padding:.5rem .9rem;border-radius:12px;background:rgba(201,162,39,.12);border:1px solid rgba(201,162,39,.35)}
.pts-bal span{font-size:.8rem;color:var(--ink-soft)}.pts-bal b{font-size:1.6rem;font-variant-numeric:tabular-nums}.pts-bal small{color:var(--ink-soft)}
.pts-sum{font-size:.88rem}.pts-zero{color:#B54708}
.pts-wrap{overflow-x:auto;border:1px solid var(--ui-border,#D5E0EC);border-radius:12px}
.pts-tbl{width:100%;border-collapse:collapse;font-size:.84rem;min-width:640px}
.pts-tbl th,.pts-tbl td{padding:.45rem .6rem;border-bottom:1px solid var(--ui-border,#E4EAF1);text-align:right;vertical-align:top}
.pts-tbl th{background:var(--ui-surface,#F4F7FB);font-size:.78rem;color:var(--ink-soft)}
.pts-tbl td small{display:block;color:var(--ink-soft);font-size:.76rem}
.pts-d{white-space:nowrap;color:var(--ink-soft);font-size:.78rem}
.pts-g{font-weight:800;text-align:center!important;white-space:nowrap;font-variant-numeric:tabular-nums}
.pts-b{text-align:center!important;font-variant-numeric:tabular-nums;color:var(--ink-soft)}
.pts-w{min-width:220px}
tr.pts-good .pts-g{color:var(--tick,#1B9C6B)} tr.pts-bad{background:rgba(192,57,43,.06)} tr.pts-bad .pts-g{color:#C0392B} tr.pts-warn{background:rgba(201,138,46,.08)} tr.pts-warn .pts-g{color:#B54708}
.pts-before{margin-top:.8rem}.pts-before summary{cursor:pointer;font-weight:700;font-size:.88rem;margin-bottom:.5rem}
/* 🔴 «طلاب يحتاجون تدخلك» قابلة للطي */
details.ar-escal>summary.ar-escal-h{display:flex;align-items:flex-start;gap:.6rem;justify-content:space-between;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none}
details.ar-escal>summary.ar-escal-h::-webkit-details-marker{display:none}
.ar-escal-tg{flex:none;font-size:.76rem;font-weight:800;white-space:nowrap;padding:.15rem .55rem;border-radius:999px;background:#fff;border:1px solid #F0B8C2;color:#932A3C}
.ar-escal-tg::before{content:'عرض الأسماء ▾'}
details.ar-escal[open] .ar-escal-tg::before{content:'إخفاء ▴'}
details.ar-escal:not([open]){gap:0}
/* 🗂️ ملف الطالب: شريط تبويبات بخط سفلي (يُسحب أفقيًا على الجوال) + صف إجراءات سريعة */
.pf-nav{position:relative;margin:.35rem 0 .2rem;border-bottom:1px solid var(--ui-border,#D5E0EC)}
.pf-tabs{display:flex;align-items:stretch;gap:.15rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}
.pf-tabs::-webkit-scrollbar{display:none}
.pf-tab{flex:none;display:inline-flex;align-items:center;gap:.35rem;padding:.6rem .8rem .55rem;border:0;background:none;cursor:pointer;font:inherit;font-size:.86rem;font-weight:600;color:var(--ink-soft,#5B6B7F);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap;scroll-snap-align:start;border-radius:8px 8px 0 0;transition:color .15s,background .15s}
.pf-tab:hover{color:var(--ink,#1F2A37);background:rgba(31,45,69,.05)}
.pf-tab.on{color:var(--ink,#1F2A37);font-weight:800;border-bottom-color:var(--ink,#1F2D45)}
.pf-tab:focus-visible{outline:2px solid #2E6BB8;outline-offset:-2px}
.pf-ti{font-size:.95rem;line-height:1}
.pf-sep{flex:none;align-self:center;margin:0 .45rem;padding-inline-start:.7rem;border-inline-start:1px solid var(--ui-border,#D5E0EC);font-size:.7rem;font-weight:700;color:var(--ink-soft,#8A97A8);letter-spacing:.02em;white-space:nowrap}
.pf-acts{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.65rem 0 .9rem}
.pf-act{border:1px solid var(--ui-border,#D5E0EC);background:var(--ui-surface,#FFFFFF);color:var(--ink,#1F2A37);border-radius:999px;padding:.3rem .8rem;font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap}
.pf-act:hover{border-color:var(--ink,#1F2D45)}
.pf-print{margin-inline-start:auto}
@media (max-width:640px){.pf-print{margin-inline-start:0;width:100%}.pf-print .btn{width:100%}.pf-sep{margin:0 .25rem;padding-inline-start:.45rem}}
/* الجوال: اسم الطالب بعرض كامل، والرقم السري في سطر مستقل، وتلميح أن التبويبات تُسحب */
@media (max-width:640px){
  .ct-tools #ct-pf-sel{flex:1 1 100% !important;min-width:0 !important;order:1}
  .ct-tools > button{order:2}
  .ct-tools .pf-pin{order:3;margin-inline-start:auto}
  /* الجوال: بلا سحب أفقي (غير موثوق مع العربية على iPhone) — التبويبات أزرار تلتف وتظهر كلها، والمختار معبّأ */
  .pf-nav{border-bottom:0;margin:.3rem 0 0}
  .pf-tabs{flex-wrap:wrap;overflow:visible;gap:.35rem;scroll-snap-type:none}
  .pf-tab{padding:.4rem .7rem;font-size:.82rem;border:1px solid var(--ui-border,#D5E0EC);border-radius:999px;margin:0;background:var(--ui-surface,#FFFFFF)}
  .pf-tab.on{background:var(--ink,#1F2D45);color:var(--paper-2,#FFFFFF);border-color:var(--ink,#1F2D45)}
  .pf-tab.on:hover{background:var(--ink,#1F2D45)}
  .pf-sep{flex:1 1 100%;margin:.25rem 0 0;padding:0;border:0;font-size:.72rem}
}
/* 🏷️ تخفيضات المتجر */
.sale-sheet{margin-bottom:1rem}
.sale-status{margin:.2rem 0 .8rem;padding:.55rem .75rem;border-radius:10px;background:var(--ui-surface,#F4F7FB);border:1px solid var(--ui-border,#D5E0EC);font-size:.86rem}
.sale-status.on{background:#FFF4D6;border-color:#F4C27A;color:#7A3E00}
.sale-pcts{display:flex;gap:.3rem;flex-wrap:wrap;margin-bottom:.35rem}
.sale-pcts button{border:1px solid var(--ui-border,#D5E0EC);background:var(--ui-surface,#fff);color:var(--ink);border-radius:999px;padding:.2rem .65rem;font:inherit;font-size:.8rem;font-weight:700;cursor:pointer}
.sale-pcts button.on{background:#C2410C;border-color:#C2410C;color:#fff}
.sale-preview{display:grid;gap:.25rem;font-size:.82rem}
.sale-preview span{display:flex;justify-content:space-between;gap:.5rem;padding:.2rem .5rem;border-radius:8px;background:var(--ui-surface,#F7FAFD)}
.sale-preview s{opacity:.55;font-weight:500;margin-inline-end:.25rem}

/* 🩹 ورقة الطالب: «كنت» ونتيجة المهمة العلاجية */
.psh .psh-sk small.w{font-weight:600;color:#7A8796;font-size:.72rem;margin-inline-start:.35rem}
.psh .psh-sk em small{font-size:.72rem;margin-inline-start:.15rem}
.psh .psh-note{margin-top:.35rem;font-size:.74rem;color:#5B6B7F}

/* ── 🏛️ تصدير الكشف الشامل لنظام نور ── */
#modal.noor-exp-modal{max-width:1080px!important;width:min(96vw,1080px)!important}
.noor-exp h2{margin:.1rem 0 .2rem}
.noor-exp-controls{display:flex;flex-wrap:wrap;gap:.55rem;margin:.2rem 0 .7rem}
.noor-exp-controls label{display:flex;flex-direction:column;gap:.2rem;font-size:.76rem;font-weight:700;color:var(--ink-soft);min-width:130px;flex:1 1 130px}
.noor-exp-controls .inp{width:100%}
.noor-exp-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin:.2rem 0 .6rem}
.noor-kpi{border:1px solid var(--ui-border,#E3E9F1);border-radius:12px;padding:.5rem .6rem;background:var(--ui-surface-2,#F6F8FC);display:flex;flex-direction:column;gap:.15rem}
.noor-kpi span{font-size:.72rem;color:var(--ink-soft);font-weight:700}
.noor-kpi b{font-size:1.15rem;font-variant-numeric:tabular-nums}.noor-kpi b small{font-size:.7rem;color:var(--ink-soft);margin-inline-start:.15rem}
.noor-kpi.ok{background:rgba(27,156,107,.08);border-color:rgba(27,156,107,.3)}.noor-kpi.ok b{color:var(--tick,#1B9C6B)}
.noor-exp-actions{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;margin:.3rem 0 .5rem}
.noor-exp-actions.noor-auto{padding:.5rem .6rem;border-radius:12px;background:rgba(46,107,184,.06);border:1px dashed rgba(46,107,184,.3);font-size:.82rem}
.noor-sep{width:1px;align-self:stretch;background:var(--ui-border,#E3E9F1);margin:0 .2rem}
.noor-exp-table-wrap{max-height:52vh;overflow:auto;border:1px solid var(--ui-border,#E3E9F1);border-radius:12px}
.noor-exp-table{width:100%;border-collapse:collapse;font-size:.82rem}
.noor-exp-table th{position:sticky;top:0;z-index:1;background:var(--ui-surface-2,#F1F4F9);font-weight:700;color:var(--ink-soft);padding:.45rem .4rem;border-bottom:1px solid var(--ui-border,#E3E9F1);white-space:nowrap;text-align:center}
.noor-exp-table th small{display:block;font-size:.66rem;font-weight:600;opacity:.8}
.noor-exp-table td{padding:.35rem .4rem;border-bottom:1px solid var(--ui-border,#EEF2F7);text-align:center;font-variant-numeric:tabular-nums}
.noor-exp-table td.nm{text-align:start;font-weight:600;min-width:180px}
.noor-exp-table tfoot td{position:sticky;bottom:0;background:var(--ui-surface-2,#F1F4F9);font-weight:800;border-top:1px solid var(--ui-border,#E3E9F1)}
.noor-jabr-tag{display:inline-block;margin-inline-start:.25rem;padding:.02rem .35rem;border-radius:999px;font-size:.64rem;font-weight:700;background:rgba(27,156,107,.12);color:var(--tick,#1B9C6B);white-space:nowrap}
:root[data-ui-theme="dark"] .noor-kpi,:root[data-ui-theme="dark"] .noor-exp-table th,:root[data-ui-theme="dark"] .noor-exp-table tfoot td{background:rgba(255,255,255,.05)}
@media (max-width:700px){
  .noor-exp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .noor-exp-kpis .noor-kpi:first-child{grid-column:1/-1}
  .noor-exp-controls label{min-width:44%}
  .noor-exp-table-wrap{max-height:48vh}
  .noor-exp-table td.nm{min-width:140px}
  .noor-sep{display:none}
}

/* ── 🧭 نافس ونواتج التعلم ── */
.nafs-terms{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:.6rem}
.nafs-terms button{display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.55rem .5rem;border-radius:12px;border:1.5px solid var(--ui-border,#E3E9F1);background:var(--ui-surface,#fff);color:inherit;font:inherit;cursor:pointer}
.nafs-terms button small{font-size:.74rem;opacity:.75}
.nafs-terms button.on{border-color:#2E6BB8;background:rgba(46,107,184,.1);box-shadow:inset 0 -3px 0 #2E6BB8}
.nafs-intro{padding:.6rem .8rem;border-radius:12px;background:rgba(46,107,184,.07);font-size:.84rem;line-height:1.8;margin-bottom:.7rem}
.nafs-secs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:.7rem}
.nafs-sec{border:1px solid var(--ui-border,#E3E9F1);border-radius:14px;padding:.7rem .8rem;background:var(--ui-surface,#fff);opacity:.7}
.nafs-sec.on{opacity:1;border-color:rgba(27,156,107,.45);box-shadow:0 4px 14px rgba(27,156,107,.08)}
.nafs-sec-h{display:flex;gap:.55rem;align-items:flex-start;cursor:pointer}
.nafs-sec-h input{margin-top:.35rem}
.nafs-ic{font-size:1.5rem;line-height:1}
.nafs-sec-h b{display:block;font-size:1rem}.nafs-sec-h small{display:block;color:var(--ink-soft);font-size:.74rem;line-height:1.6}
.nafs-sec-n{display:flex;gap:.3rem;flex-wrap:wrap;margin:.45rem 0}
.nafs-sec details summary{cursor:pointer;font-size:.82rem;font-weight:700;color:var(--ink-soft)}
.nafs-out{margin:.4rem 0;padding-inline-start:1.2rem;font-size:.8rem;line-height:1.7;display:grid;gap:.35rem}
.nafs-qs{display:grid;gap:.5rem;margin-top:.5rem}
.nafs-q{border:1px dashed var(--ui-border,#E3E9F1);border-radius:10px;padding:.5rem .6rem;font-size:.82rem}
.nafs-q-h{display:flex;gap:.3rem;flex-wrap:wrap;align-items:center;margin-bottom:.3rem}
.nafs-q-t{line-height:1.8}
.nafs-q-img{display:block;max-width:100%;max-height:200px;margin:.4rem auto;border-radius:8px;background:#fff}
.nafs-q-o{margin:.3rem 0 0;padding-inline-start:1rem;display:grid;gap:.15rem}.nafs-q-o li{list-style:none}
.nafs-q-o li.ok,.nafs-q-a{color:var(--tick,#1B9C6B);font-weight:700}
.nafs-q-n{margin-top:.3rem;font-size:.74rem;color:#8A5A00}
.nafs-k{font-size:.66rem;font-weight:700;padding:.05rem .4rem;border-radius:999px}
.nafs-k.off{background:rgba(27,156,107,.13);color:var(--tick,#1B9C6B)}.nafs-k.pr{background:rgba(200,138,46,.15);color:#8A5A00}.nafs-k.ad{background:rgba(46,107,184,.12);color:#2E6BB8}
.nafs-make{margin:.8rem 0}
.nafs-res{width:100%;border-collapse:collapse;font-size:.82rem;margin-top:.5rem}
.nafs-res th{text-align:start;font-weight:700;color:var(--ink-soft);padding:.4rem;border-bottom:1px solid var(--ui-border,#E3E9F1)}
.nafs-res td{padding:.4rem;border-bottom:1px solid var(--ui-border,#EEF2F7);vertical-align:middle}
.nafs-res td small{display:block}
.nafs-bar{display:inline-block;width:90px;height:7px;border-radius:99px;background:#EDF1F6;overflow:hidden;vertical-align:middle;margin-inline-end:.35rem}.nafs-bar i{display:block;height:100%}
.nafs-weak{font-size:.76rem}
/* الورقة المطبوعة */
.nfp .nfp-qs{display:grid;gap:3mm}
.nfp-q{break-inside:avoid;border:1px solid #DDE4EE;border-radius:2.5mm;padding:2.5mm 3.5mm;font-size:10pt}
.nfp-qh{display:flex;gap:2.5mm;align-items:flex-start;line-height:1.75}.nfp-qh b{flex:none;width:6mm;height:6mm;border-radius:50%;background:#16233A;color:#fff;display:grid;place-items:center;font-size:8.5pt}
.nfp-q img{display:block;max-width:100%;max-height:42mm;margin:1.5mm auto}
.nfp-o{list-style:none;margin:1.5mm 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1mm 5mm}
.nfp-o.c4{grid-template-columns:repeat(4,1fr)}.nfp-o.c1{grid-template-columns:1fr}
.nfp-o li{display:flex;gap:2mm;align-items:center}.nfp-o li i,.nfp-tf i{width:3.5mm;height:3.5mm;border:1px solid #8A97AB;border-radius:50%;display:inline-block;flex:none}
.nfp-o li.ok,.nfp-tf .ok{font-weight:800;color:#137A53}.nfp-o li.ok i,.nfp-tf .ok i{background:#137A53;border-color:#137A53}
.nfp-tf{display:flex;gap:10mm;margin-top:1.5mm}
.nfp-line{border-bottom:1px dotted #8A97AB;height:7mm}
.nfp-ans{color:#137A53}
.nfp-key{margin-top:1.5mm;padding:2mm 3mm;border-radius:2mm;background:#ECF8F2;color:#0E5B4E;line-height:1.7}
.nfp-note{margin-top:1mm;font-size:8.5pt;color:#8A5A00}
.nfp-out{display:block;margin-top:1mm;font-size:7.5pt;color:#5A6B84}
/* ورقة نافس: ترويسة الطالب والأقسام */
html body .rep-page.nfp{border:0;box-shadow:none}
.nfp-id{display:grid;grid-template-columns:2.4fr 1fr 1fr 1.1fr;gap:2.5mm;margin:1mm 0 2.5mm}
.nfp-id>div{display:flex;align-items:flex-end;gap:2mm;border:1.2px solid #B9C6D6;border-radius:2.5mm;padding:2.5mm 3mm 2mm;min-height:13mm;font-size:10pt}
.nfp-id span{font-weight:800;color:#16233A;white-space:nowrap}
.nfp-id i{flex:1;border-bottom:1.2px dotted #6B7A90;height:6mm}
.nfp-id .nfp-name{font-size:11pt}
.nfp-id .nfp-score em{font-style:normal;font-weight:800;font-size:11pt;color:#16233A}
.nfp-sec{display:flex;align-items:center;gap:2mm;margin:3mm 0 2mm;padding:1.8mm 3.5mm;border-radius:2mm;background:#16233A;color:#fff;font-weight:800;font-size:10.5pt;break-after:avoid}
.nfp-sec small{margin-inline-start:auto;font-weight:600;font-size:8.5pt;opacity:.85}
.nfp-same{font-size:8.5pt;color:#5A6B84;margin:1mm 0}
.nfp-fill{margin-top:2mm;display:flex;align-items:center;gap:2mm;font-weight:700}
.nfp-box{display:inline-flex;align-items:center;justify-content:center;min-width:32mm;height:8mm;border:1.2px solid #8A97AB;border-radius:1.5mm}
.nfp-end{text-align:center;margin:4mm 0 1mm;font-size:9pt;color:#5A6B84}
.nfp-grid{display:grid;grid-template-columns:repeat(10,1fr);gap:1.2mm;margin:1mm 0 1.5mm}
.nfp-grid span{display:flex;gap:1.5mm;justify-content:center;align-items:center;border:1px solid #CFE0D8;border-radius:1.5mm;padding:1mm;font-size:9pt;font-weight:800;color:#137A53;background:#F2FAF6}
.nfp-grid span b{color:#16233A}
.nfp-hint{font-size:8pt;color:#5A6B84;margin-bottom:2mm}
@media (max-width:700px){ .nafs-res th:nth-child(3),.nafs-res td:nth-child(3){display:none} .nafs-bar{width:56px} }
/* 🖼️ شكل السؤال في محرر الأسئلة (أسئلة نافس) */
.q-row-img{display:flex;gap:.6rem;align-items:center;margin:.1rem 0 .5rem;padding:.4rem;border:1px dashed var(--ui-border,#E3E9F1);border-radius:10px;background:rgba(46,107,184,.04)}
.q-row-img img{max-width:160px;max-height:110px;border-radius:8px;background:#fff;object-fit:contain}
.q-row-img small{font-size:.74rem;color:var(--ink-soft,#5A6B84);line-height:1.7}
/* 🧭 اختيار أقسام نافس في نموذج النشاط */
.nafs-form{padding:.75rem;border:1px solid var(--ui-border,#E3E9F1);border-radius:12px;background:rgba(46,107,184,.04)}
.nafs-terms-sm button{padding:.4rem .5rem}
.nafs-form-secs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.4rem;margin:.5rem 0}
.nafs-form-sec{display:flex;align-items:center;gap:.45rem;padding:.45rem .6rem;border:1px solid var(--ui-border,#E3E9F1);border-radius:10px;background:var(--ui-surface,#fff);cursor:pointer;font-size:.84rem;opacity:.7}
.nafs-form-sec.on{opacity:1;border-color:#2E6BB8;background:rgba(46,107,184,.07)}
.nafs-form-sec span{flex:1}
.nafs-form-sec small{font-size:.72rem;color:var(--ink-soft,#5A6B84);white-space:nowrap}
.nafs-form-sum{font-size:.8rem;line-height:1.8}
.nafs-form-sum small{color:var(--ink-soft,#5A6B84)}
/* 🧭 نواتج نافس في الخطة العلاجية */
.nf-plan .nf-sec{display:block;font-size:.7rem;font-weight:400}
.nf-plan-none{font-size:.82rem}
.nf-pc{margin:.5rem 0}
.nf-pc-t{width:100%;border-collapse:collapse;font-size:.8rem;margin:.3rem 0}
.nf-pc-t th,.nf-pc-t td{padding:.3rem .4rem;border-bottom:1px solid var(--ui-border,#E3E9F1);text-align:start;vertical-align:middle}
.nf-pc-t th{font-size:.74rem;color:var(--ink-soft,#5A6B84);font-weight:600}
.nf-pc-t small{color:var(--ink-soft,#5A6B84)}
.nf-plan-btn{margin-inline-start:.35rem;padding:.15rem .45rem;font-size:.74rem}
.nafs-modes{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:.2rem 0 .5rem}
.nafs-modes button{display:flex;flex-direction:column;gap:.15rem;text-align:start;padding:.5rem .6rem;border-radius:10px;border:1.5px solid var(--ui-border,#E3E9F1);background:var(--ui-surface,#fff);color:inherit;font:inherit;cursor:pointer}
.nafs-modes button small{font-size:.72rem;color:var(--ink-soft,#5A6B84);line-height:1.6}
.nafs-modes button.on{border-color:#1B9C6B;background:rgba(27,156,107,.08)}
.nafs-sim-t{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.82rem;font-weight:700;margin-bottom:.4rem}
.nafs-sim-t select{width:auto}.nafs-sim-t small{font-weight:400;color:var(--ink-soft,#5A6B84)}
/* ✦ اختيار الأسئلة وتوليدها في نافس */
.nafs-q.off{opacity:.5;background:repeating-linear-gradient(135deg,transparent 0 8px,rgba(120,130,150,.06) 8px 16px)}
.nafs-inc{display:inline-flex;align-items:center;gap:.25rem;font-size:.74rem;font-weight:700;color:#1B7A55;margin-inline-end:.35rem;cursor:pointer}
.nafs-q.off .nafs-inc{color:#8A97AB}
.nafs-del{border:0;background:none;cursor:pointer;font-size:.85rem;margin-inline-end:.25rem}
.nafs-k.ai{background:rgba(123,79,168,.12);color:#7B4FA8}
.nafs-sec-tools{display:flex;flex-wrap:wrap;gap:.35rem;margin:.5rem 0}
.nafs-gen-outs{display:grid;gap:.3rem;font-size:.85rem}
.nafs-gen-wait,.nafs-gen-err{margin:.6rem 0;padding:.6rem .8rem;border-radius:10px;background:#F3F6FA;font-size:.86rem}
.nafs-gen-err{background:#FFF1F1;color:#9B2335}
.nafs-gen-res{margin-top:.6rem;max-height:55vh;overflow:auto}
.nafs-gen-q{display:flex;gap:.5rem;align-items:flex-start;padding:.55rem .6rem;border:1px solid var(--ui-border,#E3E9F1);border-radius:10px;margin-top:.45rem;cursor:pointer}
.nafs-gen-q input{margin-top:.3rem}

/* 📊 أشكال البيانات في نافس + أدوات الصورة */
.nf-fig{margin:.5rem auto .7rem;max-width:560px;text-align:center}
.nf-fig figcaption{font-weight:800;font-size:.9rem;margin-bottom:.3rem}
.nf-fig svg{width:100%;height:auto;background:#fff;border:1px solid #DDE4EE;border-radius:10px}
.nf-fig-t{margin:0 auto;border-collapse:collapse;font-size:.9rem;background:#fff}
.nf-fig-t th,.nf-fig-t td{border:1px solid #C9D3E0;padding:.35rem .7rem;text-align:center}
.nf-fig-t th{background:#EEF3FA;font-weight:800}
.nf-fig-lg{display:flex;justify-content:center;gap:.8rem;font-size:.8rem;margin-top:.25rem}
.nf-fig-lg i{display:inline-block;width:12px;height:4px;border-radius:2px;margin-inline-end:.3rem;vertical-align:middle}
.nafs-img-tools{display:flex;gap:.35rem;flex-wrap:wrap;margin:.3rem 0}
.nfp-q .nf-fig{max-width:120mm;margin:1.5mm auto}.nfp-q .nf-fig svg{max-height:60mm;border:0}.nfp-q .nf-fig-t{font-size:9pt}
.br-madlink{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:-.2rem 0 .6rem;font-size:.82rem}
.br-madlink input{flex:1 1 260px;min-width:0;font-size:.78rem}
.br-madlink small{color:var(--muted,#888)}
.br-madlink small.ok{color:#2e9d5b}
.br-madlink small.bad{color:#d64545}

/* 💬 صندوق رسائل الطلاب العائم */
.askf-btn{position:fixed;left:18px;bottom:18px;z-index:85;width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;
  background:linear-gradient(145deg,#2F6FDB,#1F4FA8);color:#fff;box-shadow:0 8px 22px rgba(31,79,168,.35);transition:transform .15s}
.askf-btn:hover{transform:scale(1.06)}.askf-btn.on{background:linear-gradient(145deg,#16233A,#2B3B5C)}
.askf-ic{font-size:1.55rem;line-height:1}
.askf-n{position:absolute;top:-4px;right:-4px;min-width:24px;height:24px;padding:0 6px;border-radius:99px;background:#E4002B;color:#fff;font-size:.8rem;font-weight:900;display:grid;place-items:center;box-shadow:0 0 0 3px #fff}
.askf-btn.has{animation:askfGlow 2.6s ease-in-out infinite}
@keyframes askfGlow{0%,100%{box-shadow:0 8px 22px rgba(31,79,168,.35)}50%{box-shadow:0 0 0 8px rgba(228,0,43,.12),0 8px 22px rgba(31,79,168,.35)}}
.askf-btn.ping{animation:askfPing .7s cubic-bezier(.2,1.6,.4,1)}
@keyframes askfPing{0%{transform:scale(.8)}60%{transform:scale(1.15)}100%{transform:none}}
.askf-pan{position:fixed;left:18px;bottom:86px;z-index:86;width:min(400px,calc(100vw - 36px));max-height:min(70vh,640px);display:flex;flex-direction:column;
  background:#fff;border:1px solid #D9E2F2;border-radius:18px;box-shadow:0 18px 50px rgba(15,30,60,.25);overflow:hidden;animation:askfIn .18s ease-out}
@keyframes askfIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.askf-top{display:flex;align-items:center;gap:.5rem;padding:.75rem .9rem;background:linear-gradient(180deg,#F2F6FF,#fff);border-bottom:1px solid #E6ECF5}
.askf-top b{font-size:1rem}.askf-x{margin-inline-start:auto;border:0;background:#EEF2F8;border-radius:10px;width:32px;height:32px;cursor:pointer;font:inherit}
.askf-list{overflow:auto;padding:.6rem .75rem;display:grid;gap:.6rem;align-content:start}
.askf-it{border:1px solid #E3E9F3;border-radius:14px;padding:.6rem .7rem;background:#FBFCFF;display:grid;gap:.35rem}
.askf-h{display:flex;gap:.4rem;align-items:baseline;flex-wrap:wrap}.askf-h b{font-size:.92rem}.askf-t{margin-inline-start:auto;font-size:.74rem}
.askf-meta{display:flex;gap:.4rem;flex-wrap:wrap;font-size:.76rem;align-items:center}
.askf-q{font-size:.9rem;line-height:1.7;white-space:pre-line;background:#fff;border-radius:10px;padding:.45rem .6rem;border:1px solid #EEF2F8}
.askf-it textarea{width:100%;resize:vertical;font-size:.86rem}
.askf-b{display:flex;gap:.35rem;flex-wrap:wrap}
.askf-empty{text-align:center;padding:1.6rem .5rem;color:var(--ink-soft,#5B6B82);display:grid;gap:.25rem}.askf-empty small{font-size:.78rem}
.askf-foot{display:flex;gap:.4rem;justify-content:space-between;padding:.55rem .75rem;border-top:1px solid #E6ECF5;background:#FAFBFE}
@media screen and (max-width:700px){
  .askf-btn{left:14px;bottom:calc(72px + env(safe-area-inset-bottom,0px));width:52px;height:52px}
  .askf-pan{left:8px;right:8px;bottom:calc(132px + env(safe-area-inset-bottom,0px));width:auto;max-height:calc(100vh - 220px);border-radius:18px;z-index:95}
}
@media print{.askf-btn,.askf-pan{display:none!important}}

.ask-nm{cursor:pointer;color:#1F4FA8;text-decoration:underline dotted 1px;text-underline-offset:3px}.ask-nm:hover{text-decoration-style:solid}
.askf-pin{border:1px solid #D6E0F0;background:#fff;border-radius:99px;padding:.15rem .6rem;font:inherit;font-size:.74rem;font-weight:800;color:#41516B;cursor:pointer;white-space:nowrap}
.askf-pin.on{background:#E8F0FF;border-color:#9DB8EC;color:#1F4FA8}
.askf-mode{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #D6E0F0;background:#fff;border-radius:99px;padding:.1rem .25rem .1rem .55rem;font-size:.74rem;font-weight:800;color:#41516B;white-space:nowrap}
.askf-mode select{border:0;background:#EEF3FB;border-radius:99px;padding:.15rem .45rem;font:inherit;font-size:.74rem;font-weight:800;color:#1F4FA8;cursor:pointer}
.askf-mode.off{border-color:#F1B8C2;background:#FFF4F6}.askf-mode.off select{background:#FFE3E8;color:#B3203D}
/* 🖼️ معاينة مرفقات الإعلان في لوحة المعلم */
.ann-pv{display:flex;flex-wrap:wrap;gap:.45rem;margin:.45rem 0 .2rem}
.ann-pv a{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--rule,#DCE3EE);background:#F4F7FB;line-height:0}
.ann-pv img{width:180px;max-width:100%;height:120px;object-fit:cover;display:block;transition:transform .2s}
.ann-pv a:hover img{transform:scale(1.04)}
.ann-pv video{width:260px;max-width:100%;max-height:170px;border-radius:12px;background:#000}
@media(max-width:600px){.ann-pv img{width:46%;min-width:120px}.ann-pv video{width:100%}}
/* 🔁 المسابقة اليومية التلقائية */
.lvd-bar{display:flex;align-items:center;gap:.7rem;margin:.2rem 0 .9rem;padding:.75rem .9rem;border:1.5px dashed #C9D5E8;border-radius:16px;background:#F7F9FD;cursor:pointer}
.lvd-bar.on{border-style:solid;border-color:#9DD3BC;background:linear-gradient(90deg,#EAF8F1,#F7FBFF)}
.lvd-ic{flex:none;width:44px;height:44px;border-radius:13px;display:grid;place-items:center;font-size:1.4rem;background:#fff;box-shadow:0 2px 6px rgba(20,40,80,.08)}
.lvd-tx{flex:1;min-width:0;display:grid;gap:.15rem}.lvd-tx b{font-size:.95rem}.lvd-tx small{font-size:.8rem;color:var(--ink-soft,#5B6B82);line-height:1.6}
.lvd-tx em{font-style:normal;font-size:.72rem;background:#1B9C6B;color:#fff;border-radius:99px;padding:.08rem .5rem;margin-inline-start:.3rem}
.lvd-tx i{font-style:normal;font-size:.72rem;background:#E6EBF3;color:#5B6B82;border-radius:99px;padding:.08rem .5rem;margin-inline-start:.3rem}
.lvd-go{flex:none;font-weight:800;font-size:.85rem;color:#1F4FA8}
.lvd-sw{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border-radius:12px;background:#EEF5FF;margin:.2rem 0 .8rem;cursor:pointer}
.lvd-days{display:flex;flex-wrap:wrap;gap:.35rem}
.lvd-days label{display:inline-flex;align-items:center;gap:.25rem;border:1px solid #D6E0F0;border-radius:99px;padding:.25rem .65rem;font-size:.85rem;cursor:pointer;background:#fff}
.lvd-bank{background:#FFF8E6;border:1px solid #F2DDA4;border-radius:12px;padding:.6rem .8rem;font-size:.86rem}
.lvd-tag{font-size:.7rem;font-weight:800;background:#EAF8F1;color:#13734F;border-radius:99px;padding:.1rem .5rem;vertical-align:middle}
/* 📋 حالة معاينة الاختبار */
.exs{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.exs-c{background:#EEF3FB;color:#2B3B5C;border-radius:99px;padding:.15rem .6rem;font-size:.78rem;font-weight:700}
.exs-c.main{background:#E3F1EA;color:#13734F}
.exs-w{border:1px solid #F1B8C2;background:#FFF4F6;color:#B4232F;border-radius:99px;padding:.15rem .7rem;font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}
.exs-w.on{background:#FFE3E8}
.exs-list{margin:.45rem 0 0;padding:.55rem 1.4rem .55rem .7rem;background:#FFF8F9;border:1px solid #F6D3DA;border-radius:12px;color:#7A1F2E;font-size:.82rem;line-height:1.8;display:grid;gap:.15rem}
.exs-list.hide{display:none}
.exs-w i{font-style:normal}
/* 👪 ولي الأمر في ملف الطالب */
.par-box{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.55rem 0 .7rem;padding:.6rem .8rem;border:1px solid #D9E2F2;border-radius:14px;background:#F7F9FD}
.par-ic{font-size:1.3rem}.par-tx{flex:1;min-width:180px;display:grid;gap:.1rem}.par-tx b{font-size:.92rem}.par-tx small{font-size:.76rem;color:var(--ink-soft,#5B6B82)}
/* 📊 آخر مسابقة يومية تحت شريط الإعداد */
.lvd-last{display:flex;align-items:center;gap:.6rem;margin:-.5rem 0 .9rem;padding:.6rem .9rem;border:1px solid #DCE3EE;border-radius:14px;background:#fff;cursor:pointer;font-size:.86rem;flex-wrap:wrap}
.lvd-last>span:first-child{flex:1;min-width:0;line-height:1.9}.lvd-last small{color:var(--ink-soft,#5B6B82)}
.lvd-last:hover{border-color:#9DD3BC;background:#F4FBF8}
.br-solve{display:block;margin-top:.3rem;font-size:.78rem;color:#8A5A00}.br-solve.ok{color:#13734F}
/* ═══ 👥 الطلاب + ملف الطالب في تبويب واحد ═══ */
#p-students .students-center{grid-template-columns:minmax(260px,320px) minmax(0,1fr) !important}
#student-center-detail{container-type:inline-size;min-width:0}
.stc-nav{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.1rem 0 .65rem;margin-bottom:.55rem;border-bottom:1px solid var(--ui-border,#DCE5F0)}
.stc-who{display:grid;line-height:1.4;min-width:0;flex:1 1 160px}
.stc-who b{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stc-who small{color:var(--ink-soft,#5B6B82);font-size:.76rem}
.stc-btns{display:flex;gap:.3rem;flex:none}
.stc-del{color:#B4232F !important}
.stc-back{display:none !important}
.stc-alert{display:grid;gap:.4rem;margin:0 0 .7rem}
.stc-att{background:#FFF6E5;border:1px solid #F1D49A;color:#7A5212;border-radius:12px;padding:.55rem .75rem;font-size:.86rem}
.stc-inds{display:flex;flex-wrap:wrap;gap:.35rem}
.stc-ind{font-size:.78rem;border-radius:99px;padding:.2rem .6rem;background:color-mix(in srgb,var(--c) 10%,#fff);border:1px solid color-mix(in srgb,var(--c) 30%,#fff);color:#33415A}
.stc-ind b{color:var(--c)}
/* الملف داخل عمود أضيق من صفحة كاملة: البطاقات تتكيّف مع عرضه لا عرض الشاشة */
#student-center-detail .pf-tabs{flex-wrap:wrap;overflow:visible;gap:.3rem}
@container (max-width:820px){
  #student-center-detail .ct-kpis.ct-kpis6{grid-template-columns:repeat(3,1fr)}
}
@container (max-width:560px){
  #student-center-detail .ct-pf-grid{grid-template-columns:1fr}
  #student-center-detail .ct-kpis.ct-kpis6{grid-template-columns:repeat(2,1fr)}
}
/* 📱 الجوال: القائمة أولًا، والطالب المختار يفتح ملفه بملء الشاشة */
@media screen and (max-width:900px){
  #p-students .students-center{grid-template-columns:1fr !important}
  #p-students .students-list{max-height:none !important}
  #p-students:not(.stc-open) .student-detail-pane{display:none !important}
  #p-students.stc-open .students-list-pane,#p-students.stc-open .students-center-head{display:none !important}
  #p-students.stc-open .student-detail-pane{padding:.7rem !important}
  .stc-back{display:inline-flex !important;order:-2}
  .stc-who{flex-basis:100%;order:-1}
}
/* 💬 الرسائل الجاهزة لولي الأمر: أسطرها كما ستُرسل (التحية، النص، رابط المتابعة) */
.pm-card p{white-space:pre-line}

/* ═══ 🧭 خريطة المهارات (إعادة تصميم): بطاقات حسب المهارة · حسب الطالب · الجدول ═══ */
.sk-views{display:inline-flex;gap:.25rem;padding:.2rem;border:1px solid var(--ui-border,#DCE5F0);border-radius:999px;background:var(--ui-surface-2,#F4F7FB);margin-inline-start:auto}
.sk-views button{border:0;background:transparent;font:inherit;font-size:.82rem;font-weight:700;color:var(--ink-soft);padding:.35rem .8rem;border-radius:999px;cursor:pointer}
.sk-views button.on{background:var(--ink,#16233A);color:#fff}
.sk-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:.2rem 0 .6rem}
.sk-sum-c{border:1px solid var(--ui-border,#DCE5F0);border-radius:14px;padding:.6rem .8rem;background:var(--ui-surface,#fff);display:flex;align-items:center;gap:.6rem}
.sk-sum-c b{font-size:1.6rem;line-height:1}.sk-sum-c span{font-size:.84rem;font-weight:700;color:var(--ink-soft)}
.sk-sum-c.reteach{border-inline-start:5px solid #D6455B}.sk-sum-c.group{border-inline-start:5px solid #E9A23B}.sk-sum-c.ok{border-inline-start:5px solid #2E9E6B}
.sk-legend{display:flex;flex-wrap:wrap;gap:.35rem .9rem;align-items:center;font-size:.78rem;margin-bottom:.7rem}
.sk-legend span:not(.muted)::before,.sk-leg span:not(.muted)::before{content:"";display:inline-block;width:.7rem;height:.7rem;border-radius:3px;margin-inline-end:.3rem;vertical-align:-1px}
.sk-legend .ok::before,.sk-leg .ok::before{background:#2E9E6B}.sk-legend .mid::before,.sk-leg .mid::before{background:#E9B949}.sk-legend .weak::before,.sk-leg .weak::before{background:#D6455B}
.sk-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.sk-card{border:1px solid var(--ui-border,#DCE5F0);border-radius:16px;padding:.85rem .95rem;background:var(--ui-surface,#fff);display:flex;flex-direction:column;gap:.55rem;border-top:4px solid #9AA8B8}
.sk-card.reteach{border-top-color:#D6455B}.sk-card.group,.sk-card.one{border-top-color:#E9A23B}.sk-card.ok{border-top-color:#2E9E6B}
.sk-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
.sk-name b{display:block;font-size:1.02rem;line-height:1.35}.sk-name small{color:var(--ink-soft);font-size:.74rem}
.sk-avg{flex:none;text-align:center;border-radius:12px;padding:.3rem .6rem;min-width:4.6rem}
.sk-avg b{display:block;font-size:1.35rem;line-height:1.1}.sk-avg small{font-size:.66rem;opacity:.85}
.sk-avg.ok{background:rgba(46,158,107,.14);color:#1E7A50}.sk-avg.mid{background:rgba(233,185,73,.2);color:#8A5D00}.sk-avg.weak{background:rgba(214,69,91,.14);color:#A8243A}
.sk-avg.none{background:rgba(154,168,184,.16);color:#5B6B82}
.sk-bar{display:flex;height:.8rem;border-radius:999px;overflow:hidden;gap:2px;background:var(--ui-surface-2,#EEF2F7)}
.sk-bar i{display:block;height:100%}.sk-bar .ok{background:#2E9E6B}.sk-bar .mid{background:#E9B949}.sk-bar .weak{background:#D6455B}.sk-bar .none{background:transparent}
.sk-leg{display:flex;flex-wrap:wrap;gap:.3rem .8rem;font-size:.78rem}.sk-leg .muted{margin-inline-start:auto}
.sk-act{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border-radius:10px;padding:.45rem .6rem;font-size:.82rem;line-height:1.55}
.sk-act .btn{flex:none}
.sk-act.reteach{background:rgba(214,69,91,.09)}.sk-act.group,.sk-act.one{background:rgba(233,162,59,.12)}.sk-act.ok{background:rgba(46,158,107,.1)}.sk-act.none{background:var(--ui-surface-2,#F4F7FB);color:var(--ink-soft)}
.sk-who summary{cursor:pointer;font-size:.8rem;font-weight:700;color:var(--ink-soft)}
.sk-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}
.sk-chip{border:1px solid transparent;border-radius:999px;padding:.12rem .55rem;font:inherit;font-size:.76rem;cursor:pointer;background:var(--ui-surface-2,#F4F7FB);color:inherit}
.sk-chip b{font-weight:800}
.sk-chip.weak{background:rgba(214,69,91,.12);border-color:rgba(214,69,91,.35);color:#A8243A}
.sk-chip.mid{background:rgba(233,185,73,.18);border-color:rgba(233,185,73,.45);color:#7A5200}
.sk-chip.ok{background:rgba(46,158,107,.12);border-color:rgba(46,158,107,.35);color:#1E7A50}
button.sk-chip:not([onclick]){cursor:default}
.sk-students{display:flex;flex-direction:column;gap:.45rem}
.sk-st{display:grid;grid-template-columns:13rem 1fr auto;gap:.7rem;align-items:center;border:1px solid var(--ui-border,#DCE5F0);border-radius:12px;padding:.5rem .7rem;background:var(--ui-surface,#fff);border-inline-start:4px solid #9AA8B8}
.sk-st.weak{border-inline-start-color:#D6455B}.sk-st.mid{border-inline-start-color:#E9B949}.sk-st.ok{border-inline-start-color:#2E9E6B}
.sk-st-n small{display:block;font-size:.72rem;color:var(--ink-soft)}.sk-st .sk-chips{margin-top:0}
:root[data-ui-theme="dark"] .sk-avg.ok,:root[data-ui-theme="dark"] .sk-chip.ok{color:#7FE0B0}
:root[data-ui-theme="dark"] .sk-avg.mid,:root[data-ui-theme="dark"] .sk-chip.mid{color:#F2CF7A}
:root[data-ui-theme="dark"] .sk-avg.weak,:root[data-ui-theme="dark"] .sk-chip.weak{color:#FF9AAA}
:root[data-ui-theme="dark"] .sk-views button.on{background:#EEF2F7;color:#16233A}
@media (max-width:900px){.sk-grid{grid-template-columns:1fr}.sk-sum{grid-template-columns:1fr}.sk-st{grid-template-columns:1fr}.sk-views{margin-inline-start:0}.sk-sum-c b{font-size:1.3rem}}
.lv-kpis .ct-kpi{font:inherit;color:inherit;cursor:pointer;transition:transform .12s,box-shadow .12s}
.lv-kpis .ct-kpi:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(22,35,58,.08)}
.lv-kpis .ct-kpi.on{box-shadow:0 0 0 3px rgba(46,107,184,.35);border-width:2px}
.lv-bar{margin-top:.6rem}.sk-bar .un{background:#C3CCD6}
.sk-views button{white-space:nowrap}
@media (max-width:900px){.sk-views{width:100%}.sk-views button{flex:1;padding:.4rem .3rem;font-size:.76rem}}

/* ═══ 📊 تقرير المستويات والمهارات المختصر (صفحة A4) ═══ */
.lvr,.lvr *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
.lvr-row{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.45rem 0}
.lvr-card{margin:0!important}
.lvr-h{font-weight:800;font-size:.9em;color:#12223D;margin-bottom:.35rem}
.lvr-dwrap{display:flex;align-items:center;gap:.8rem}
.lvr-donut{position:relative;width:150px;height:150px;flex:none}
.lvr-dc{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.lvr-dc b{font-size:1.5em;color:#12223D;line-height:1.1}.lvr-dc small{font-size:.7em;color:#5A6B84}
.lvr-leg{display:flex;flex-wrap:wrap;gap:.25rem .8rem;font-size:.78em;color:#33445A;margin-top:.3rem}
.lvr-dwrap .lvr-leg{flex-direction:column;gap:.35rem;font-size:.85em}
.lvr-leg i{display:inline-block;width:.75em;height:.75em;border-radius:3px;margin-inline-end:.3em;vertical-align:-1px}
.lvr-note{font-size:.72em;color:#5A6B84;margin-top:.3rem;line-height:1.5}
.lvr-stack{flex:1;display:flex;gap:2px;height:18px;border-radius:5px;overflow:hidden;background:#EEF2F7;min-width:0}
.lvr-stack i{display:flex;align-items:center;justify-content:center;color:#fff;font-style:normal;font-size:.74em;font-weight:800}
.lvr-bars,.lvr-sk{display:flex;flex-direction:column;gap:.38rem}
.lvr-br,.lvr-skr{display:flex;align-items:center;gap:.5rem;font-size:.82em}
.lvr-bn{width:3.4rem;flex:none;font-weight:700}
.lvr-br b,.lvr-ska{width:2.8rem;flex:none;text-align:center;font-weight:800;color:#12223D}
.lvr-skn{width:9.5rem;flex:none;font-weight:700;line-height:1.3}
.lvr-act{width:8.4rem;flex:none;font-size:.86em;font-weight:700;border-radius:999px;padding:.12rem .4rem;text-align:center}
.lvr-act.reteach{background:#FBE3E7;color:#A8243A}.lvr-act.group,.lvr-act.one{background:#FBEFD6;color:#7A5200}.lvr-act.ok{background:#DDF2E7;color:#1E7A50}.lvr-act.none{color:#5A6B84}
.lvr-trend{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;text-align:center;margin-top:.4rem}
.lvr-trend b{display:block;font-size:1.7em;line-height:1.1}.lvr-trend span{font-size:.75em;color:#33445A}
.lvr-names{display:flex;flex-wrap:wrap;gap:.25rem}
.lvr-names span{font-size:.76em;background:#FBE3E7;color:#7E1C2E;border-radius:999px;padding:.1rem .45rem}
.lvr-names span b{font-weight:800}
.lvr-ul{margin:0;padding-inline-start:1.1rem;font-size:.8em;line-height:1.65;color:#22324A}
@media (max-width:700px){.lvr-row{grid-template-columns:1fr}.lvr-skn{width:6.5rem}.lvr-act{width:6.8rem}}
.lvr-pick{display:flex;flex-direction:column;gap:.3rem;max-height:52vh;overflow:auto;padding:.1rem}
.lvr-pk{display:flex;align-items:center;gap:.55rem;border:1px solid var(--ui-border,#DCE5F0);border-radius:10px;padding:.4rem .6rem;cursor:pointer;border-inline-start:4px solid #9AA8B8}
.lvr-pk.reteach{border-inline-start-color:#D6455B}.lvr-pk.group,.lvr-pk.one{border-inline-start-color:#D49A1E}.lvr-pk.ok{border-inline-start-color:#2E9E6B}
.lvr-pk-n{flex:1;font-weight:700;font-size:.88rem}.lvr-pk b{font-size:.88rem}.lvr-pk small{width:6.5rem;font-size:.74rem;color:var(--ink-soft)}
.lvr-pk:has(input:checked){background:rgba(46,107,184,.07)}

/* ═══ 🟢 المتصلون الآن ═══ */
.onl-chip{display:inline-flex;align-items:center;gap:.35rem;margin-inline-start:auto;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:inherit;border-radius:999px;padding:.3rem .75rem;font:inherit;font-size:.82rem;cursor:pointer;position:relative}
.onl-chip:hover{background:rgba(255,255,255,.16)}
.onl-chip + #portal-link-btn{margin-inline-start:.4rem!important}
.onl-dot{display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:#9AA8B8;flex:none}
.onl-dot.on{background:#2EC27E;box-shadow:0 0 0 0 rgba(46,194,126,.6);animation:onlPulse 2s infinite}
@keyframes onlPulse{0%{box-shadow:0 0 0 0 rgba(46,194,126,.55)}70%{box-shadow:0 0 0 7px rgba(46,194,126,0)}100%{box-shadow:0 0 0 0 rgba(46,194,126,0)}}
.onl-badge{position:absolute;top:-6px;inset-inline-start:-6px;background:#D6455B;color:#fff;border-radius:999px;font-size:.68rem;font-weight:800;min-width:1.2rem;height:1.2rem;display:flex;align-items:center;justify-content:center;padding:0 .25rem}
.onl-list{display:flex;flex-direction:column;gap:.3rem;max-height:40vh;overflow:auto}
.onl-row{display:flex;align-items:center;gap:.55rem;border:1px solid var(--ui-border,#DCE5F0);border-radius:12px;padding:.45rem .6rem;cursor:pointer;background:var(--ui-surface,#fff)}
.onl-row:has(input:checked){background:rgba(46,107,184,.07);border-color:rgba(46,107,184,.35)}
.onl-n{flex:1;min-width:0}.onl-n b{display:block;font-size:.9rem}.onl-n small{color:var(--ink-soft);font-size:.74rem}
.onl-w{font-size:.78rem;color:var(--ink-soft);max-width:45%;text-align:start}
.onl-send{margin-top:.6rem;border-top:1px dashed var(--ui-border,#DCE5F0);padding-top:.6rem}
.onl-tpl{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem}.onl-tpl .chip{font-size:.74rem;cursor:pointer}
#onl-msg{width:100%;box-sizing:border-box;font:inherit}
.onl-recent{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}
.onl-hist{margin-top:.8rem;display:flex;flex-direction:column;gap:.4rem}
.onl-g{border:1px solid var(--ui-border,#DCE5F0);border-radius:12px;padding:.5rem .65rem;background:var(--ui-surface-2,#F4F7FB)}
.onl-gh{display:flex;justify-content:space-between;gap:.5rem;font-size:.84rem}.onl-gh small{color:var(--ink-soft);white-space:nowrap}
.onl-rep{font-size:.84rem;margin-top:.3rem;padding:.3rem .5rem;border-radius:8px;background:var(--ui-surface,#fff)}
.onl-rep.new{box-shadow:inset 3px 0 0 #2E6BB8}
@media (max-width:700px){.onl-chip{font-size:.74rem;padding:.25rem .55rem}.onl-w{display:none}}
/* 💬 صندوق المحادثات العائم */
.askf-on{position:absolute;bottom:2px;right:2px;width:13px;height:13px;border-radius:50%;background:#2E9E6B;box-shadow:0 0 0 3px #fff}
.ch-search{padding:.5rem .75rem 0}.ch-search .inp{width:100%;font-size:.88rem}
.ch-onl{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;padding-bottom:.2rem}.ch-onl small{color:var(--ink-soft,#5B6B82);font-weight:700;margin-inline-end:.2rem}
.ch-it{display:grid;grid-template-columns:1fr auto;gap:.1rem .5rem;text-align:start;border:1px solid #E3E9F3;border-radius:14px;padding:.55rem .7rem;background:#FBFCFF;cursor:pointer;font:inherit;color:inherit;width:100%}
.ch-it:hover{background:#F2F6FF;border-color:#C9D7EE}.ch-it.open{border-color:#F1B8C2;background:#FFF8F9}
.ch-nm{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap;grid-column:1/-1}.ch-nm b{font-size:.92rem}.ch-nm small{color:var(--ink-soft,#5B6B82);font-size:.74rem}
.ch-tm{margin-inline-start:auto}
.ch-last{font-size:.82rem;color:#41516B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ch-n{min-width:22px;height:22px;border-radius:99px;background:#E4002B;color:#fff;font-size:.74rem;display:grid;place-items:center;padding:0 6px}
.ch-top{gap:.5rem}.ch-top .askf-x:first-child{margin-inline-start:0}
.ch-who{display:grid;line-height:1.3}.ch-who small{color:var(--ink-soft,#5B6B82);font-size:.74rem;display:flex;align-items:center;gap:.3rem}
.ch-thread{gap:.45rem;background:#F6F8FC;min-height:180px}
.ch-b{max-width:84%;padding:.45rem .7rem;border-radius:14px;font-size:.9rem;line-height:1.65;white-space:pre-line;display:grid;gap:.1rem}
.ch-b.s{justify-self:start;background:#fff;border:1px solid #E3E9F3;border-start-start-radius:4px}
.ch-b.s.open{border-color:#F1B8C2;box-shadow:0 0 0 2px #FFE3E8}
.ch-b.t{justify-self:end;background:#1F4FA8;color:#fff;border-start-end-radius:4px}
.ch-ctx{font-size:.72rem;color:#5B6B82}.ch-b.t .ch-ctx{color:#CFE0FF}
.ch-t{font-size:.68rem;opacity:.7}
.ch-comp{padding:.5rem .75rem;border-top:1px solid #E6ECF5;background:#fff}
.ch-row{display:flex;gap:.4rem;align-items:flex-end}.ch-row textarea{flex:1;resize:none;font-size:.88rem}
.ch-send{height:42px;min-width:46px;padding:0 .7rem;font-size:1.1rem}
.ch-comp .ask-quick{margin-bottom:.35rem}
.ch-lock{margin-inline-start:auto;border:1px solid #D6E0F0;background:#fff;border-radius:99px;padding:.25rem .65rem;font:inherit;font-size:.74rem;font-weight:800;color:#5B6B82;cursor:pointer;white-space:nowrap}
.ch-lock.on{background:#E7F6EE;border-color:#9FD6B9;color:#1B7A4E}
.ch-top .ch-lock+.askf-x{margin-inline-start:0}
.ch-open{font-style:normal;font-size:.7rem;font-weight:800;color:#1B7A4E;background:#E7F6EE;border-radius:99px;padding:0 .45rem}

/* 📱 المحادثة على الجوال: شاشة كاملة فوق لوحة المفاتيح، وخط 16px حتى لا يكبّر iOS الصفحة عند الكتابة */
@media screen and (max-width:700px){
  .askf-pan{left:0!important;right:0!important;top:var(--vvt,0px)!important;bottom:auto!important;width:100%!important;height:var(--vvh,100dvh)!important;max-height:none!important;border-radius:0!important;border:0!important;z-index:2147482000!important;animation:none!important}
  .askf-pan .askf-top{padding-top:calc(.6rem + env(safe-area-inset-top,0px))}
  .askf-pan .askf-list{flex:1;min-height:0}
  .askf-pan.thr .askf-foot{display:none}
  .askf-pan .ch-comp{padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}
  .askf-pan .ch-comp .ask-quick{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:.15rem}
  .askf-pan .ch-comp .ask-quick::-webkit-scrollbar{display:none}
  .askf-pan .ch-comp .ask-quick button{white-space:nowrap;flex:none}
  .askf-pan textarea,.askf-pan input{font-size:16px!important}
  .askf-pan .ch-row textarea{min-height:44px;max-height:120px}
  .askf-pan .ch-b{max-width:88%}
  html.chat-open,html.chat-open body{overflow:hidden!important}
  html.chat-open .askf-btn{display:none!important}
}

/* 📱 خلف لوحة المفاتيح (شريطها شفاف في iOS) لا تظهر الصفحة: غطاء بلون المحادثة، وبلا هامش الشريط السفلي والكيبورد ظاهر */
@media screen and (max-width:700px){
  html.chat-open::after{content:'';position:fixed;left:0;right:0;top:-50vh;bottom:-50vh;background:#F6F8FC;z-index:2147481999}
  html.kb-open .askf-pan .ch-comp{padding-bottom:.45rem}
  html.kb-open .askf-pan .ch-comp>.btn{display:none}
}
/* 🎯 توحيد المهارات على نواتج نافس */
.ska-list{display:grid;gap:.35rem;max-height:58vh;overflow:auto;padding:.1rem}
.ska-r{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.2fr);gap:.5rem;align-items:center;border:1px solid #E3E9F3;border-radius:12px;padding:.4rem .6rem;background:#FBFCFF}
.ska-r.on{border-color:#9FD6B9;background:#F3FBF6}
.ska-n{font-size:.88rem;font-weight:700;min-width:0;overflow-wrap:anywhere}.ska-new{font-size:.68rem;color:#B7791F;font-weight:800}
.ska-arr{color:#8A99AE}.ska-r select{font-size:.84rem;padding:.3rem .4rem;min-width:0}
@media (max-width:640px){.ska-r{grid-template-columns:1fr}.ska-arr{display:none}}
.sk-unmeasured{margin-top:.9rem;border:1px dashed #C9D3E0;border-radius:14px;padding:.7rem .85rem;background:#F8FAFD}
.sk-um-h{display:flex;flex-wrap:wrap;gap:.4rem .7rem;align-items:center}.sk-um-h .muted{font-size:.8rem;flex:1 1 320px}
.sk-unmeasured details{margin-top:.4rem}.sk-unmeasured summary{cursor:pointer;font-size:.8rem}
.sk-chip.none{background:#EEF2F7;color:#5B6B82}
/* 🎯 حصر الطلاب الضعاف دراسيًا في ملف الفصل */
.cf-weak-sum{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.45rem}
.cf-weak-t{width:100%;border-collapse:collapse;font-size:.84rem}
.cf-weak-t th,.cf-weak-t td{padding:.38rem .45rem;border-bottom:1px solid #E6ECF5;text-align:start;vertical-align:middle}
.cf-weak-t th{background:#F3F6FA;font-weight:800;font-size:.78rem;color:#41516B}
.cf-weak-t tr.c1 td:first-child{box-shadow:inset -4px 0 0 #D6455B}.cf-weak-t tr.c2 td:first-child,.cf-weak-t tr.c3 td:first-child{box-shadow:inset -4px 0 0 #D49A1E}
.cf-weak-t td.bad{color:#B3203D;font-weight:700}
.cf-weak-sk span{display:inline-block;background:#FFF1F3;color:#8E1C33;border-radius:99px;padding:.05rem .45rem;margin:.1rem 0 .1rem .25rem;font-size:.74rem}
@media print{.cf-weak-t{font-size:9pt}.cf-weak-t th,.cf-weak-t td{padding:2pt 4pt}}
.cf-weak-also{display:block;font-size:.7rem;color:#B3203D;font-weight:700}
.cf-weak-t tr.c2 td:first-child{box-shadow:inset -4px 0 0 #D6455B}.cf-weak-t tr.c3 td:first-child{box-shadow:inset -4px 0 0 #D49A1E}
/* 🏆 العشرة الأوائل في ملف الفصل */
.cf-top-t{width:100%;border-collapse:collapse;font-size:.84rem}
.cf-top-t th,.cf-top-t td{padding:.38rem .45rem;border-bottom:1px solid #E6ECF5;text-align:start;vertical-align:middle}
.cf-top-t th{background:#F3F6FA;font-weight:800;font-size:.78rem;color:#41516B}
.cf-top-t td:first-child{font-weight:800;text-align:center;width:2.2rem}
.cf-top-t tr.top3 td{background:#FFFBEB}.cf-top-t tr.top3 td:first-child{box-shadow:inset -4px 0 0 #D4A017;font-size:1.05rem}
@media print{.cf-top-t{font-size:9pt}.cf-top-t th,.cf-top-t td{padding:2pt 4pt}}
/* ═════ 🏫 ملف الفصل — التصميم الجديد ═════ */
.cf2{--cf-g:#16855A;--cf-y:#C98A00;--cf-r:#C93A50;--cf-u:#AEB9C8;--cf-gold:#D4A017;display:flex;flex-direction:column;gap:.8rem}
.cf2-card{background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#E2E8F0);border-radius:16px;padding:.9rem 1rem;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.cf2-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .6rem;margin-bottom:.6rem}
.cf2-h b{font-size:.98rem}.cf2-h small{font-size:.74rem;color:var(--ink-soft)}
.cf2-empty{font-size:.84rem;color:var(--ink-soft);padding:.4rem 0}
.cf2-sec{display:flex;align-items:center;gap:.5rem;margin:.7rem 0 -.2rem;padding-bottom:.35rem;border-bottom:2px solid var(--ui-border,#E2E8F0)}
.cf2-sec span{font-size:1.15rem}.cf2-sec b{font-size:1.08rem}.cf2-sec small{font-size:.76rem;color:var(--ink-soft);margin-inline-start:auto}
/* الرأس: حلقة الإتقان + توزيع المستويات */
.cf2-hero{display:flex;gap:1.2rem;align-items:center;padding:1.1rem 1.2rem;border-radius:18px;background:linear-gradient(135deg,#F4F8FF,#EEF6F1);border:1px solid var(--ui-border,#E2E8F0)}
.cf2-ring{--c:var(--cf-u);flex:none;width:112px;height:112px;border-radius:50%;display:grid;place-content:center;text-align:center;position:relative;
  background:radial-gradient(closest-side,var(--ui-surface,#fff) 78%,transparent 79%),conic-gradient(var(--c) calc(var(--p)*1%),#E5EAF1 0)}
.cf2-ring.g{--c:var(--cf-g)}.cf2-ring.y{--c:var(--cf-y)}.cf2-ring.r{--c:var(--cf-r)}
.cf2-ring b{font-size:1.55rem;line-height:1;color:var(--c)}.cf2-ring small{font-size:.72rem;color:var(--ink-soft);margin-top:.2rem}
.cf2-hi{flex:1;min-width:0}.cf2-ht{font-size:1.35rem;font-weight:800}.cf2-hs{font-size:.8rem;color:var(--ink-soft);margin:.2rem 0 .65rem}
.cf2-dist{display:flex;height:22px;border-radius:999px;overflow:hidden;background:#E5EAF1;gap:2px}
.cf2-dist i{display:grid;place-content:center;font-style:normal;font-size:.72rem;font-weight:800;color:#fff;min-width:0}
.cf2-dist .t{background:var(--cf-g)}.cf2-dist .w{background:var(--cf-y)}.cf2-dist .b{background:var(--cf-r)}.cf2-dist .u{background:var(--cf-u)}
.cf2-lg{display:flex;flex-wrap:wrap;gap:.35rem .9rem;margin-top:.45rem;font-size:.78rem;color:var(--ink-soft)}
.cf2-lg span::before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:3px;margin-inline-end:.3rem;vertical-align:-.05rem}
.cf2-lg .t::before{background:var(--cf-g)}.cf2-lg .w::before{background:var(--cf-y)}.cf2-lg .b::before{background:var(--cf-r)}.cf2-lg .u::before{background:var(--cf-u)}
.cf2-lg b{color:var(--ink)}
/* بطاقات المؤشرات */
.cf2-tiles{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem}
.cf2-tile{--c:var(--cf-u);background:var(--ui-surface,#fff);border:1px solid var(--ui-border,#E2E8F0);border-radius:14px;padding:.7rem .75rem;position:relative}
.cf2-tile.g{--c:var(--cf-g)}.cf2-tile.y{--c:var(--cf-y)}.cf2-tile.r{--c:var(--cf-r)}
.cf2-ti{font-size:1.05rem;width:2rem;height:2rem;border-radius:10px;display:grid;place-content:center;background:#F1F5F9}
.cf2-tv{margin-top:.45rem}.cf2-tv b{font-size:1.35rem;color:var(--c)}.cf2-tv small{font-size:.75rem;color:var(--ink-soft);margin-inline-start:.15rem}
.cf2-tl{font-size:.8rem;font-weight:700;color:var(--ink)}.cf2-ts{font-size:.7rem;color:var(--ink-soft);margin-top:.25rem}
.cf2-tb{height:5px;border-radius:9px;background:#E9EEF4;margin-top:.45rem;overflow:hidden}.cf2-tb u{display:block;height:100%;background:var(--c);border-radius:9px}
/* العشرة الأوائل: منصة لأول ثلاثة ثم قائمة مرتبة */
.cf2-top{background:linear-gradient(180deg,#FFFBEF,var(--ui-surface,#fff) 55%)}
.cf2-podium{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:.7rem;align-items:end;margin-bottom:.8rem}
.cf2-pod{text-align:center;border-radius:16px;padding:.8rem .6rem;border:1px solid #EADFC2;background:var(--ui-surface,#fff)}
.cf2-pod.p1{order:2;padding:1.1rem .6rem;border:2px solid var(--cf-gold);box-shadow:0 6px 18px rgba(212,160,23,.18)}
.cf2-pod.p2{order:3}.cf2-pod.p3{order:1}
.cf2-medal{font-size:2rem;line-height:1}.cf2-pod.p1 .cf2-medal{font-size:2.5rem}
.cf2-pn{font-weight:800;margin:.35rem 0 .2rem;font-size:.95rem}.cf2-pn a{color:inherit}
.cf2-ps b{font-size:1.5rem}.cf2-pod.p1 .cf2-ps b{font-size:1.8rem;color:#9A6F00}.cf2-ps small{color:var(--ink-soft)}
.cf2-pm,.cf2-rmeta{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem .6rem;font-size:.72rem;color:var(--ink-soft);margin-top:.3rem}
.cf2-rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}
.cf2-rank li{display:grid;grid-template-columns:2rem minmax(8rem,1.3fr) minmax(5rem,1fr) 4.5rem auto;align-items:center;gap:.6rem;padding:.45rem .6rem;border-radius:12px;background:#F7F9FC}
.cf2-rn{width:1.7rem;height:1.7rem;border-radius:50%;display:grid;place-content:center;background:#E7ECF3;font-weight:800;font-size:.8rem}
.cf2-rname{font-weight:700;font-size:.9rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cf2-rbar{height:8px;border-radius:9px;background:#E5EAF1;overflow:hidden}.cf2-rbar u{display:block;height:100%;background:linear-gradient(90deg,#3B82F6,#16855A);border-radius:9px}
.cf2-rt{font-size:1rem;text-align:center}.cf2-rt small{font-size:.7rem;color:var(--ink-soft);font-weight:500}
.cf2-rmeta{justify-content:flex-start;margin:0}
/* المرشحون للتكريم */
.cf2-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.45rem}
.cf2-cand{display:flex;align-items:center;justify-content:space-between;gap:.4rem;padding:.45rem .6rem;border-radius:12px;background:#F7F9FC;border:1px solid var(--ui-border,#E2E8F0)}
.cf2-cand span{display:flex;flex-direction:column;min-width:0;font-weight:700;font-size:.86rem}.cf2-cand small{font-weight:500;font-size:.72rem;color:var(--ink-soft)}
.cf2-cand em{font-style:normal;font-size:.72rem;color:var(--ink-soft);white-space:nowrap}
/* المتابعة */
.cf2-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.cf2-grid2{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
.cf2-li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.38rem 0;border-bottom:1px dashed var(--ui-border,#E2E8F0);font-size:.86rem}.cf2-li:last-child{border-bottom:0}
.cf2-al{padding:.4rem .6rem;border-radius:10px;margin-bottom:.35rem;background:#FFF7E6;border-inline-start:3px solid var(--cf-y);font-size:.84rem;font-weight:700}
.cf2-al.bad,.cf2-al.high{background:#FFF0F2;border-color:var(--cf-r)}.cf2-al small{display:block;font-weight:500;font-size:.75rem;color:var(--ink-soft)}
.cf2-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;text-align:center}
.cf2-nums div{padding:.7rem .3rem;border-radius:12px;background:#F4F7FB}.cf2-nums b{display:block;font-size:1.5rem}.cf2-nums small{font-size:.75rem;color:var(--ink-soft)}
.cf2-nums .g{background:#EAF7F0}.cf2-nums .g b{color:var(--cf-g)}
.cf2-sk{display:grid;grid-template-columns:minmax(0,1.2fr) 1fr 3rem;align-items:center;gap:.6rem;margin:.45rem 0;font-size:.86rem}
.cf2-sk i{height:9px;border-radius:9px;background:#E9EEF4;overflow:hidden}.cf2-sk u{display:block;height:100%;border-radius:9px}.cf2-sk b{text-align:end}
.cf2-gp{margin:-.1rem 0 .3rem}
.cf2 .cf-weak{margin-top:0!important;border-radius:16px;padding:.9rem 1rem}
.cf2 .cf-weak-t .chip{white-space:nowrap}.cf2 .cf-weak-t td:nth-child(2){min-width:9rem}
@media (max-width:1100px){.cf2-tiles{grid-template-columns:repeat(3,1fr)}.cf2-grid3{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.cf2-hero{flex-direction:column;text-align:center}.cf2-lg{justify-content:center}.cf2-tiles{grid-template-columns:repeat(2,1fr)}
  .cf2-grid3,.cf2-grid2{grid-template-columns:1fr}.cf2-podium{grid-template-columns:1fr;}.cf2-pod.p1,.cf2-pod.p2,.cf2-pod.p3{order:0}
  .cf2-rank li{grid-template-columns:2rem 1fr auto}.cf2-rbar,.cf2-rmeta{display:none}}
@media print{.cf2{gap:.4rem}.cf2-card,.cf2-hero,.cf2-tile,.cf2-pod{box-shadow:none!important;break-inside:avoid}
  .cf2-tiles{grid-template-columns:repeat(6,1fr)!important}.cf2-grid3{grid-template-columns:repeat(3,1fr)!important}.cf2-grid2{grid-template-columns:1fr 1fr!important}
  .cf2-podium{grid-template-columns:1fr 1.12fr 1fr!important}.cf2-hero{background:#F7F9FC!important}
  .cf2 *{-webkit-print-color-adjust:exact;print-color-adjust:exact}.cf2-ring{width:84px;height:84px}.cf2-sec{margin-top:.3rem}}
.cf2-sk u{background:var(--cf-u)}.cf2-sk.g u{background:var(--cf-g)}.cf2-sk.y u{background:var(--cf-y)}.cf2-sk.r u{background:var(--cf-r)}
.cf2-sk.g b{color:var(--cf-g)}.cf2-sk.y b{color:var(--cf-y)}.cf2-sk.r b{color:var(--cf-r)}
/* ⏰ مواعيد المسابقة اليومية المتعددة */
.lvd-times{display:flex;flex-wrap:wrap;gap:.45rem}
.lvd-t{display:inline-flex;align-items:center;gap:.25rem;border:1px solid #D6E0F0;border-radius:12px;padding:.2rem .3rem;background:#F7F9FC}
.lvd-t .inp{width:auto;min-width:7.5rem;margin:0}
