
/* ─── Tokens ─── */
:root{
  --ent-pdd:#0B1437;
  --ent-pd:#152552;
  --ent-p:#2563EB;
  --ent-pl:#3B82F6;
  --ent-sky:#06B6D4;
  --ent-cyan:#0891B2;
  --ent-ink:#0F172A;
  --ent-ink2:#1E293B;
  --ent-t1:#0F172A;
  --ent-t2:#334155;
  --ent-t3:#64748B;
  --ent-t4:#94A3B8;
  --ent-bg:#F1F5F9;
  --ent-bg2:#F8FAFC;
  --ent-card:#FFFFFF;
  --ent-bd:#E2E8F0;
  --ent-bd2:#CBD5E1;
  --ent-ok:#059669;
  --ent-no:#DC2626;
  --ent-warn:#D97706;
  --ent-gold:#CA8A04;
  --ent-sh-sm:0 1px 2px rgba(15,23,42,.04);
  --ent-sh:0 2px 6px rgba(15,23,42,.06), 0 1px 2px rgba(15,23,42,.04);
  --ent-sh-md:0 8px 16px -4px rgba(15,23,42,.08), 0 4px 8px -4px rgba(15,23,42,.04);
  --ent-sh-lg:0 20px 40px -10px rgba(15,23,42,.12);
  --ent-r-sm:8px;
  --ent-r:12px;
  --ent-r-lg:16px;
  --ent-sidebar:264px;
  --ent-sidebar-collapsed:78px;
  --ent-topbar:56px;
}

/* ═══════════════════════════════════════════
   TOPBAR — Compact Enterprise
   ═══════════════════════════════════════════ */
body.ent-mode .topbar{
  height:var(--ent-topbar)!important;
  padding:0 20px!important;
  background:var(--ent-card)!important;
  border-bottom:1px solid var(--ent-bd)!important;
  box-shadow:var(--ent-sh-sm);
  gap:16px;
}
body.ent-mode .tb-title{font-size:14px!important;font-weight:700;color:var(--ent-t1)}
body.ent-mode .tb-crumb{display:none!important}

/* استبدال الجزء الأيسر بمعلومات النظام */
.ent-topbar-left{display:flex;align-items:center;gap:14px;flex:1;min-width:0}
/* ── Restructured topbar v4.2: title | status | school+year ── */
body.ent-mode .topbar{display:block!important;overflow:visible!important;padding:10px 18px!important;min-height:auto!important}
body.ent-mode .main{max-width:100%!important;overflow-x:hidden!important}
.ent-tbx{display:flex;align-items:center;gap:10px;flex-wrap:wrap;width:100%}
.ent-tbx-title{flex-shrink:0}
.ent-tbx-title .tb-title{font-size:17px;font-weight:800;color:#0F172A;white-space:nowrap}
.ent-tbx-spacer{flex:1;min-width:10px}
.ent-year-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;background:linear-gradient(135deg,#EEF2FF,#E0E7FF);border:1px solid #C7D2FE;color:#4338CA;font-weight:800;font-size:12px;white-space:nowrap}
.ent-year-pill .yp-sem{font-size:10px;font-weight:700;background:rgba(67,56,202,.12);padding:2px 7px;border-radius:20px}
.ent-school-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:10px;background:#F0F9FF;border:1px solid #BAE6FD;color:#0369A1;font-weight:800;font-size:12px;white-space:nowrap}
.ent-system-status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:10px;background:#F8FAFC;border:1px solid #EEF2F6;font-size:11.5px;color:#475569;font-weight:700}
.ent-sys-dot{width:7px;height:7px;border-radius:50%;background:#10B981;display:inline-block;margin-left:3px}
.ent-sys-divider{width:1px;height:14px;background:#E2E8F0}
@media(max-width:1100px){.ent-system-status{display:none}}
@media(max-width:900px){body.ent-mode .topbar .search-wrap{display:none!important}}
@media(max-width:680px){.ent-year-pill .yp-sem{display:none}}
.ent-tb-left{display:flex;align-items:center;gap:10px;flex-shrink:0}
.ent-tb-left .tb-title{font-size:17px;font-weight:800;color:var(--ent-t1,#0F172A);white-space:nowrap}
.ent-tb-center{flex:1;display:flex;justify-content:center;min-width:0}
.ent-tb-right{display:flex;align-items:center;gap:9px;flex-shrink:0}
.ent-year-pill{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:10px;background:linear-gradient(135deg,#EEF2FF,#E0E7FF);border:1px solid #C7D2FE;color:#4338CA;font-weight:800;font-size:12px;white-space:nowrap}
.ent-year-pill .yp-ic{font-size:13px}
.ent-year-pill .yp-sem{font-size:10px;font-weight:700;background:rgba(67,56,202,.12);padding:2px 8px;border-radius:20px}
@media(max-width:1000px){.ent-tb-center{display:none}}
@media(max-width:760px){.ent-tb-right .ent-year-pill .yp-sem{display:none}}
.ent-school-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 12px;border-radius:8px;
  background:linear-gradient(135deg,#EFF6FF,#F0F9FF);
  border:1px solid #DBEAFE;
  font-size:12.5px;font-weight:700;color:var(--ent-pd);
  cursor:pointer;transition:all .15s;
}
.ent-school-pill:hover{background:#DBEAFE;border-color:#93C5FD}
.ent-school-pill .ent-sp-icon{font-size:14px}
.ent-school-pill .ent-sp-arrow{font-size:9px;opacity:.6;margin-right:2px}
.ent-school-pill.ent-sp-locked{cursor:default;background:#F8FAFC;border-color:var(--ent-bd);color:var(--ent-t2)}
.ent-school-pill.ent-sp-locked:hover{background:#F8FAFC}

.ent-system-status{
  display:flex;align-items:center;gap:14px;
  padding:5px 12px;border-radius:8px;
  background:#F8FAFC;border:1px solid var(--ent-bd);
}
.ent-sys-item{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--ent-t2);font-weight:600;line-height:1}
.ent-sys-item b{color:var(--ent-t1);font-weight:800;font-size:12px}
.ent-sys-dot{width:7px;height:7px;border-radius:50%;background:var(--ent-ok);box-shadow:0 0 0 3px rgba(5,150,105,.15);animation:entPulse 2s infinite}
@keyframes entPulse{0%,100%{box-shadow:0 0 0 3px rgba(5,150,105,.15)}50%{box-shadow:0 0 0 6px rgba(5,150,105,.06)}}
.ent-sys-divider{width:1px;height:14px;background:var(--ent-bd2)}

body.ent-mode .tb-right{gap:8px!important}
body.ent-mode .search-wrap{
  height:34px!important;width:220px!important;
  border-radius:8px!important;background:#F8FAFC!important;
  border-color:var(--ent-bd)!important;
}
body.ent-mode .ib{
  width:34px!important;height:34px!important;
  border-radius:8px!important;background:#F8FAFC!important;
  border-color:var(--ent-bd)!important;
}
body.ent-mode .ib:hover{background:var(--ent-p)!important;border-color:var(--ent-p)!important}
body.ent-mode .tb-av{width:34px!important;height:34px!important;font-size:12px!important}

/* ═══════════════════════════════════════════
   SIDEBAR — Modular Enterprise
   ═══════════════════════════════════════════ */
body.ent-mode{--sidebar:var(--ent-sidebar)}
body.ent-mode .sidebar{
  width:var(--ent-sidebar)!important;
  background:var(--ent-pdd)!important;
  border-left:none!important;
  box-shadow:1px 0 0 rgba(255,255,255,.04);
}
body.ent-mode .main{margin-right:var(--ent-sidebar)!important}

body.ent-mode.ent-sb-collapsed .sidebar{width:var(--ent-sidebar-collapsed)!important}
body.ent-mode.ent-sb-collapsed .main{margin-right:var(--ent-sidebar-collapsed)!important}
body.ent-mode.ent-sb-collapsed .ent-sb-label,
body.ent-mode.ent-sb-collapsed .ent-sb-sec,
body.ent-mode.ent-sb-collapsed .ent-sb-badge,
body.ent-mode.ent-sb-collapsed .sb-uname,
body.ent-mode.ent-sb-collapsed .sb-urole,
body.ent-mode.ent-sb-collapsed .pts,
body.ent-mode.ent-sb-collapsed .sb-logo-meta,
body.ent-mode.ent-sb-collapsed .sb-logo-text,
body.ent-mode.ent-sb-collapsed .sb-sec,
body.ent-mode.ent-sb-collapsed .sb-badge,
body.ent-mode.ent-sb-collapsed .sb-submenu,
body.ent-mode.ent-sb-collapsed .sb-chevron,
body.ent-mode.ent-sb-collapsed .pts-pill,
body.ent-mode.ent-sb-collapsed .sb-logo-sub{display:none!important}
/* center icons; hide text spans of real sidebar items */
body.ent-mode.ent-sb-collapsed .sb-item{justify-content:center!important;padding:11px 0!important;gap:0!important;margin:3px 8px!important}
body.ent-mode.ent-sb-collapsed .sb-item > span:not(.sb-icon):not([class*="icon"]){display:none!important}
body.ent-mode.ent-sb-collapsed .sb-item .sb-icon{margin:0!important;font-size:18px!important}
body.ent-mode.ent-sb-collapsed .ent-sb-item{justify-content:center;padding:10px!important}
body.ent-mode.ent-sb-collapsed .sb-logo{justify-content:center;padding:12px 8px!important;margin:4px 10px 10px!important}
body.ent-mode.ent-sb-collapsed .sb-logo-icon{margin:0!important}
body.ent-mode.ent-sb-collapsed .sb-footer{justify-content:center;padding:10px!important}
body.ent-mode.ent-sb-collapsed .sb-av{margin:0!important}
body.ent-mode.ent-sb-collapsed .sb-logout{display:none!important}

/* New sidebar markup classes */
body.ent-mode .sb-logo{
  padding:14px 18px!important;
  border-bottom:1px solid rgba(255,255,255,.06);
  position:relative;
}
body.ent-mode .sb-logo-icon{
  width:34px!important;height:34px!important;
  border-radius:9px!important;font-size:16px!important;
  background:linear-gradient(135deg,var(--ent-p),var(--ent-sky))!important;
  box-shadow:0 4px 12px rgba(37,99,235,.4);
}
body.ent-mode .sb-logo-text{font-size:16px!important;color:#0F172A!important}
body.ent-mode .sb-logo-sub{font-size:10px!important;color:#64748B!important}

.ent-sb-toggle{
  position:absolute;left:-12px;top:50%;transform:translateY(-50%);
  width:28px;height:28px;border-radius:50%;
  background:#fff;border:1.5px solid #E2E8F0;
  color:#2563EB;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;z-index:10;box-shadow:0 4px 12px -2px rgba(37,99,235,.22), 0 2px 4px rgba(15,23,42,.06);
  transition:all .2s cubic-bezier(.4,0,.2,1);
}
.ent-sb-toggle:hover{background:#2563EB;color:#fff;border-color:#2563EB;transform:translateY(-50%) scale(1.1);box-shadow:0 6px 16px -2px rgba(37,99,235,.4)}
.ent-sb-toggle svg{display:block}

.ent-sb-nav{flex:1;overflow-y:auto;padding:8px 0 16px;scrollbar-width:thin}
.ent-sb-nav::-webkit-scrollbar{width:4px}
.ent-sb-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:2px}
.ent-sb-quick{margin:6px 14px 10px;padding:12px;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.07)}
.ent-sb-q-row{display:flex;align-items:center;justify-content:space-between;font-size:11.5px;color:rgba(255,255,255,.75);padding:6px 0}
.ent-sb-q-row b{color:#fff;font-size:13px}
.ent-sb-q-row.warn{color:#FFB020;font-weight:700;cursor:pointer;justify-content:flex-start;gap:6px}
.ent-sb-q-row.ok{color:#3FD68C;font-weight:700;justify-content:flex-start;gap:6px}

.ent-sb-sec{
  color:#64748B;font-size:9.5px;font-weight:800;
  letter-spacing:1.4px;padding:14px 20px 4px;
  text-transform:uppercase;display:flex;align-items:center;gap:6px;
}
.ent-sb-sec::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.04);margin-right:4px}

.ent-sb-item{
  display:flex;align-items:center;gap:11px;
  padding:8px 18px;margin:0 8px 1px 8px;
  color:#CBD5E1;cursor:pointer;
  transition:background .12s, color .12s;
  font-size:12.5px;font-weight:500;
  border-radius:7px;
  position:relative;
  user-select:none;
}
.ent-sb-item:hover{background:rgba(255,255,255,.05);color:#fff}
.ent-sb-item.active{
  background:linear-gradient(90deg,rgba(37,99,235,.22),rgba(6,182,212,.12))!important;
  color:#fff;font-weight:700;
}
.ent-sb-item.active::before{
  content:"";position:absolute;right:-8px;top:6px;bottom:6px;width:3px;
  background:var(--ent-sky);border-radius:0 3px 3px 0;
}
.ent-sb-item .ent-sb-icon{
  font-size:15px;width:22px;text-align:center;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  opacity:.85;
}
.ent-sb-item.active .ent-sb-icon{opacity:1}
.ent-sb-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-sb-badge{
  font-size:9.5px;font-weight:800;padding:1px 7px;border-radius:20px;
  background:var(--ent-no);color:#fff;line-height:1.6;min-width:18px;text-align:center;
}
.ent-sb-badge.gold{background:var(--ent-gold)}
.ent-sb-badge.green{background:var(--ent-ok)}
.ent-sb-badge.dim{background:rgba(255,255,255,.08);color:#94A3B8;font-weight:700}

body.ent-mode .sb-footer{
  padding:12px 14px!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
  background:rgba(0,0,0,.15);
}
body.ent-mode .sb-av{width:32px!important;height:32px!important;font-size:12px!important}
body.ent-mode .sb-uname{font-size:12px!important}
body.ent-mode .sb-urole{font-size:10px!important}
body.ent-mode .sb-logout{width:30px!important;height:30px!important}

/* ═══════════════════════════════════════════
   CONTENT — Dense Layout
   ═══════════════════════════════════════════ */
body.ent-mode .content{padding:20px!important;background:var(--ent-bg)}

.ent-page{display:flex;flex-direction:column;gap:18px}

/* ─── Page header (above KPIs) ─── */
.ent-pgh{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;flex-wrap:wrap;
}
.ent-pgh-l{display:flex;flex-direction:column;gap:2px}
.ent-pgh-title{font-size:20px;font-weight:800;color:var(--ent-t1);letter-spacing:-.3px;margin:0}
.ent-pgh-sub{font-size:12px;color:var(--ent-t3);display:flex;align-items:center;gap:8px}
.ent-pgh-sub b{color:var(--ent-t2)}
.ent-pgh-r{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ent-quick-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 12px;border-radius:8px;
  background:var(--ent-card);border:1px solid var(--ent-bd);
  font-family:'Cairo';font-size:12px;font-weight:700;color:var(--ent-t2);
  cursor:pointer;transition:all .15s;
}
.ent-quick-btn:hover{background:var(--ent-p);color:#fff;border-color:var(--ent-p);transform:translateY(-1px)}
.ent-quick-btn.primary{background:var(--ent-p);color:#fff;border-color:var(--ent-p)}
.ent-quick-btn.primary:hover{background:var(--ent-pd);border-color:var(--ent-pd)}

/* ─── KPI Cards ─── */
.ent-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
@media(max-width:1280px){.ent-kpis{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ent-kpis{grid-template-columns:1fr}}

/* ═══ KPI cards redesign — donut gauge (design5) ═══ */
body.ent-mode .ent-kpi{display:block!important;min-height:auto!important;padding:20px!important;border-radius:18px!important;border:1px solid #EAF0F7!important;background:#fff!important;box-shadow:0 1px 2px rgba(15,27,45,.04),0 12px 26px -18px rgba(15,27,45,.13)!important;overflow:hidden!important;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s!important}
body.ent-mode .ent-kpi::before{display:none!important}
body.ent-mode .ent-kpi:hover{transform:translateY(-5px)!important;border-color:var(--ent-kpi-color)!important;box-shadow:0 18px 38px -18px var(--ent-kpi-color)!important}
.ent-kpi-row{display:flex;align-items:center;gap:16px}
.ent-kpi-gauge{position:relative;width:92px;height:92px;flex-shrink:0}
.ent-kpi-gauge svg{transform:rotate(-90deg)}
.ent-gtrack{stroke:var(--ent-kpi-bg)}
.ent-gprog{stroke:var(--ent-kpi-color);transition:stroke-dashoffset 1.5s cubic-bezier(.3,.7,.3,1)}
.ent-kpi-gcenter{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.ent-kpi-gic{color:var(--ent-kpi-color);display:flex}
.ent-kpi-gic svg{width:20px;height:20px}
.ent-kpi-gpct{font-size:13.5px;font-weight:900;font-family:'Tajawal';color:var(--ent-kpi-color);line-height:1}
.ent-kpi-info{flex:1;min-width:0}
body.ent-mode .ent-kpi-val{font-size:32px!important;font-weight:900!important;font-family:'Tajawal'!important;line-height:1!important;color:#0F1B2D!important;letter-spacing:-1px!important;margin:0!important}
body.ent-mode .ent-kpi-lbl{font-size:13px!important;font-weight:700!important;color:#3D4B63!important;margin-top:7px!important}
.ent-kpi-foot{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
body.ent-mode .ent-kpi-trend{font-size:11px!important;font-weight:700!important;padding:4px 9px!important;border-radius:30px!important;display:inline-flex!important;align-items:center!important;gap:3px!important}
body.ent-mode .ent-kpi-trend.up{background:#E8FBF3!important;color:#059669!important}
body.ent-mode .ent-kpi-trend.down{background:#FEECEC!important;color:#DC2626!important}
body.ent-mode .ent-kpi-trend.flat{background:#EEF2F7!important;color:#64748B!important}
.ent-kpi-trend svg{width:11px;height:11px}
body.ent-mode .ent-kpi-note{font-size:11px!important;color:#8B98AD!important;font-weight:500!important}
@media(max-width:480px){.ent-kpi-row{gap:12px}.ent-kpi-gauge{width:76px;height:76px}.ent-kpi-gauge svg{width:76px;height:76px}}

.ent-kpi{
  background:var(--ent-card);
  border:1px solid var(--ent-bd);
  border-radius:var(--ent-r);
  padding:14px 16px;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:all .18s;
  display:flex;flex-direction:column;gap:8px;
  min-height:115px;
}
.ent-kpi::before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;
  background:var(--ent-kpi-color,var(--ent-p));
  opacity:.85;
}
.ent-kpi:hover{
  transform:translateY(-2px);
  box-shadow:var(--ent-sh-md);
  border-color:var(--ent-kpi-color,var(--ent-p));
}
.ent-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ent-kpi-ic{
  width:34px;height:34px;border-radius:9px;
  background:var(--ent-kpi-bg,#EFF6FF);
  color:var(--ent-kpi-color,var(--ent-p));
  display:flex;align-items:center;justify-content:center;
  font-size:16px;flex-shrink:0;
}
.ent-kpi-trend{
  display:inline-flex;align-items:center;gap:3px;
  font-size:10.5px;font-weight:800;
  padding:3px 8px;border-radius:20px;
  background:rgba(5,150,105,.08);color:var(--ent-ok);
}
.ent-kpi-trend.down{background:rgba(220,38,38,.08);color:var(--ent-no)}
.ent-kpi-trend.flat{background:rgba(100,116,139,.08);color:var(--ent-t3)}
.ent-kpi-lbl{font-size:11.5px;color:var(--ent-t3);font-weight:600;line-height:1.2;margin-bottom:-2px}
.ent-kpi-val{font-size:24px;font-weight:800;color:#3B82F6;font-family:'Tajawal','Cairo';letter-spacing:-.5px;line-height:1}
.ent-kpi-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.ent-kpi-note{font-size:10.5px;color:var(--ent-t3);font-weight:600}
.ent-kpi-spark{width:80px;height:24px;flex-shrink:0}

/* ─── Grid Sections ─── */
.ent-grid-2{display:grid;grid-template-columns:1.5fr 1fr;gap:14px}
.ent-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.ent-grid-23{display:grid;grid-template-columns:2fr 1fr;gap:14px}
@media(max-width:1100px){.ent-grid-2,.ent-grid-3,.ent-grid-23{grid-template-columns:1fr}}

.ent-panel{
  background:var(--ent-card);
  border:1px solid var(--ent-bd);
  border-radius:var(--ent-r);
  overflow:hidden;
}
.ent-panel-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 16px;border-bottom:1px solid var(--ent-bd);
  gap:10px;flex-wrap:wrap;background:var(--ent-bg2);
}
.ent-panel-title{
  display:flex;align-items:center;gap:8px;
  font-size:13px;font-weight:800;color:var(--ent-t1);
}
.ent-panel-title .ic{font-size:14px;opacity:.7}
.ent-panel-body{padding:14px 16px}
.ent-panel-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

.ent-mini-btn{
  display:inline-flex;align-items:center;gap:4px;
  padding:4px 9px;border-radius:6px;
  background:transparent;border:1px solid var(--ent-bd);
  font-family:'Cairo';font-size:11px;font-weight:700;color:var(--ent-t2);
  cursor:pointer;transition:all .15s;
}
.ent-mini-btn:hover{background:var(--ent-p);color:#fff;border-color:var(--ent-p)}
.ent-mini-btn.active{background:var(--ent-p);color:#fff;border-color:var(--ent-p)}

/* ─── Charts ─── */
.ent-chart-wrap{position:relative;width:100%}
.ent-bar-chart{display:grid;grid-template-columns:auto 1fr;gap:0;align-items:end}
.ent-bar-y{display:flex;flex-direction:column;justify-content:space-between;font-size:9.5px;color:var(--ent-t4);padding:0 8px 22px 0;direction:ltr;text-align:left}
.ent-bar-area{position:relative;height:200px;border-bottom:1px solid var(--ent-bd);border-right:1px solid var(--ent-bd)}
.ent-bar-grid{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.ent-bar-grid-line{border-top:1px dashed #EEF2F6;height:0}
.ent-bar-bars{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-around;padding:0 8px;gap:6px}
.ent-bar-col{display:flex;flex-direction:column;align-items:center;gap:5px;flex:1;max-width:48px;height:100%;justify-content:flex-end;cursor:pointer;position:relative}
.ent-bar-fill{width:100%;background:linear-gradient(180deg,var(--ent-p),var(--ent-sky));border-radius:5px 5px 0 0;transition:all .2s;position:relative;min-height:3px}
.ent-bar-col:hover .ent-bar-fill{filter:brightness(1.1)}
.ent-bar-col:hover .ent-bar-tip{opacity:1;transform:translateY(-4px)}
.ent-bar-tip{
  position:absolute;bottom:100%;left:50%;transform:translateX(-50%);
  background:var(--ent-ink);color:#fff;padding:4px 8px;border-radius:5px;
  font-size:10.5px;font-weight:700;white-space:nowrap;
  opacity:0;transition:all .15s;pointer-events:none;
}
.ent-bar-tip::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:var(--ent-ink)}
.ent-bar-x{font-size:10px;color:var(--ent-t3);font-weight:700;text-align:center}

/* line area chart */
.ent-line{width:100%;height:200px;display:block}

/* donut */
.ent-donut-wrap{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center}
.ent-donut{position:relative;width:140px;height:140px;flex-shrink:0}
.ent-donut svg{width:100%;height:100%;transform:rotate(-90deg)}
.ent-donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.ent-donut-val{font-size:22px;font-weight:800;color:var(--ent-t1);font-family:'Tajawal'}
.ent-donut-lbl{font-size:10px;color:var(--ent-t3);font-weight:700;margin-top:1px}
.ent-donut-legend{display:flex;flex-direction:column;gap:7px;flex:1;min-width:120px}
.ent-legend-item{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ent-t2);font-weight:600}
.ent-legend-item .dot{width:10px;height:10px;border-radius:3px;flex-shrink:0}
.ent-legend-item b{margin-right:auto;color:var(--ent-t1);font-weight:800}

/* ─── Activity Feed ─── */
.ent-feed{display:flex;flex-direction:column;gap:0;max-height:380px;overflow-y:auto;scrollbar-width:thin}
.ent-feed-item{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 4px;border-bottom:1px dashed var(--ent-bd);
}
.ent-feed-item:last-child{border-bottom:none}
.ent-feed-ic{
  width:28px;height:28px;border-radius:8px;
  background:var(--ent-bg2);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;flex-shrink:0;
}
.ent-feed-c{flex:1;min-width:0}
.ent-feed-msg{font-size:12px;color:var(--ent-t1);font-weight:600;line-height:1.4}
.ent-feed-msg b{color:var(--ent-p);font-weight:700}
.ent-feed-meta{font-size:10.5px;color:var(--ent-t3);margin-top:2px;display:flex;align-items:center;gap:6px}
.ent-feed-time{flex-shrink:0;font-size:10px;color:var(--ent-t4);font-weight:600;white-space:nowrap}

/* ─── Alerts ─── */
.ent-alerts{display:flex;flex-direction:column;gap:8px}
.ent-alert{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 12px;border-radius:9px;
  border:1px solid;background:#fff;
  cursor:pointer;transition:all .15s;
}
.ent-alert:hover{transform:translateX(-2px);box-shadow:var(--ent-sh)}
.ent-alert.danger{border-color:#FECACA;background:#FEF2F2}
.ent-alert.warn{border-color:#FED7AA;background:#FFFBEB}
.ent-alert.info{border-color:#BFDBFE;background:#EFF6FF}
.ent-alert.ok{border-color:#BBF7D0;background:#F0FDF4}
.ent-alert-ic{font-size:18px;flex-shrink:0;line-height:1}
.ent-alert-c{flex:1;min-width:0}
.ent-alert-t{font-size:12px;font-weight:800;color:var(--ent-t1);line-height:1.3}
.ent-alert-d{font-size:11px;color:var(--ent-t2);margin-top:2px;line-height:1.4}
.ent-alert-tag{font-size:9.5px;font-weight:800;padding:2px 7px;border-radius:20px;flex-shrink:0;align-self:flex-start;margin-top:2px}
.ent-alert.danger .ent-alert-tag{background:#DC2626;color:#fff}
.ent-alert.warn .ent-alert-tag{background:#D97706;color:#fff}
.ent-alert.info .ent-alert-tag{background:#0284C7;color:#fff}
.ent-alert.ok .ent-alert-tag{background:#059669;color:#fff}

/* ─── Smart Table ─── */
.ent-table{width:100%;border-collapse:separate;border-spacing:0}
.ent-table thead th{
  background:var(--ent-bg2);
  font-size:10.5px;font-weight:800;color:var(--ent-t3);
  text-transform:uppercase;letter-spacing:.5px;
  padding:9px 12px;text-align:right;border-bottom:1px solid var(--ent-bd);
  position:sticky;top:0;
}
.ent-table tbody td{
  padding:10px 12px;font-size:12px;color:var(--ent-t2);
  border-bottom:1px solid var(--ent-bd);
}
.ent-table tbody tr:hover{background:var(--ent-bg2)}
.ent-table tbody tr:last-child td{border-bottom:none}
.ent-table .name{display:flex;align-items:center;gap:9px}
.ent-table .av{
  width:28px;height:28px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:800;font-size:11px;flex-shrink:0;
}
.ent-table .name-c b{display:block;font-size:12px;color:var(--ent-t1);font-weight:700;line-height:1.2}
.ent-table .name-c span{font-size:10.5px;color:var(--ent-t3)}
.ent-pill{
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 9px;border-radius:20px;font-size:10.5px;font-weight:800;
}
.ent-pill.ok{background:#D1FAE5;color:#065F46}
.ent-pill.warn{background:#FEF3C7;color:#92400E}
.ent-pill.no{background:#FEE2E2;color:#991B1B}
.ent-pill.info{background:#DBEAFE;color:#1E40AF}
.ent-pill.gray{background:#F1F5F9;color:#475569}
.ent-pill.gold{background:#FEF9C3;color:#854D0E}

/* progress thin */
.ent-prog{width:100%;height:5px;background:#F1F5F9;border-radius:99px;overflow:hidden}
.ent-prog-f{height:100%;background:linear-gradient(90deg,var(--ent-p),var(--ent-sky));border-radius:99px;transition:width .4s}
.ent-prog-f.ok{background:linear-gradient(90deg,#10B981,#059669)}
.ent-prog-f.warn{background:linear-gradient(90deg,#F59E0B,#D97706)}
.ent-prog-f.no{background:linear-gradient(90deg,#EF4444,#DC2626)}

/* ─── Glassy hero (replaces banner) ─── */
.ent-hero{
  position:relative;overflow:hidden;
  background:linear-gradient(135deg,#0F172A 0%,#1E3A8A 50%,#0E7490 100%);
  border-radius:14px;padding:16px 20px;
  color:#fff;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 30px -10px rgba(15,23,42,.4);
}
.ent-hero::before{
  content:"";position:absolute;inset:auto -10% -60% auto;
  width:340px;height:340px;border-radius:50%;
  background:radial-gradient(circle,rgba(56,189,248,.25),transparent 60%);
  pointer-events:none;
}
.ent-hero-row{display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:1;flex-wrap:wrap}
.ent-hero-l h1{font-size:18px;font-weight:800;margin:0 0 4px;letter-spacing:-.3px}
.ent-hero-l p{font-size:12px;opacity:.78;margin:0}
.ent-hero-stats{display:flex;gap:12px;align-items:center}
.ent-hero-stat{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;padding:8px 14px;text-align:center;
  backdrop-filter:blur(6px);
}
.ent-hero-stat b{display:block;font-size:18px;font-weight:800;font-family:'Tajawal',Cairo;line-height:1.1}
.ent-hero-stat span{font-size:10.5px;opacity:.75;font-weight:600}
.ent-hero-stat.ok b{color:#86EFAC}

/* ════════════════════════════════════════════════════════════════════════
   كروت الإحصائيات الاحترافية (نظرة عامة على النظام) — نظام معزول تماماً (.ent-kpi2)
   عشان ما يتعارضش مع أي كرت تاني في المنصة. كل كرت له لون ونوع رسم مختلف.
   ════════════════════════════════════════════════════════════════════════ */
.ent-kpi2-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
/* ════════════ جدولي ════════════ */
.sc-today{display:flex;gap:10px;flex-wrap:wrap}
.sc-t{flex:1;min-width:150px;background:#fff;border:1px solid #EEF1F6;border-top:3px solid var(--c);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px;position:relative}
.sc-t.live{box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 15%,transparent)}
.sc-t.past{opacity:.55}
.sc-t-time{font-size:11px;font-weight:800;color:var(--c)}.sc-t b{font-size:13.5px;color:#1E293B}.sc-t>span:not(.sc-t-time){font-size:11.5px;color:#94A3B8}
.sc-t em{position:absolute;top:10px;left:12px;font-style:normal;font-size:10.5px;font-weight:700;color:#C2595B}
.sc-wrap{background:#fff;border:1px solid #EEF1F6;border-radius:16px;overflow-x:auto}
.sc-table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px;table-layout:fixed}
.sc-table th{background:#F8FAFC;font-size:12.5px;font-weight:800;color:#475569;padding:11px 8px;text-align:center}
.sc-table th small{display:block;font-size:10px;color:#4F7BD9;font-weight:700}
.sc-table th.today{background:#EEF3FC;color:#2F5BB8}
.sc-table td{padding:6px;border-top:1px solid #F3F5F9;height:64px;vertical-align:middle}
.sc-table td.today{background:#FAFCFF}
.sc-table .sc-p{width:108px;text-align:center}
.sc-p b{display:block;font-size:12.5px;color:#334155}.sc-p span{font-size:10.5px;color:#94A3B8}
.sc-cell{height:100%;min-height:52px;border-radius:11px;background:color-mix(in srgb,var(--c) 10%,#fff);border-right:3px solid var(--c);padding:7px 10px;display:flex;flex-direction:column;justify-content:center}
.sc-cell b{font-size:12.5px;color:#1E293B}.sc-cell span{font-size:11px;color:#64748B}
td.now .sc-cell{box-shadow:0 0 0 2px var(--c)}
.sc-free{height:52px;border-radius:11px;background:repeating-linear-gradient(135deg,#FAFBFC,#FAFBFC 6px,#F4F6F9 6px,#F4F6F9 12px)}
@media print{.sc-free{background:none}}

.fr-home .vc-card-ic{background:#F4F6FA;color:#64748B}
.fr-open .vc-card-ic{background:#F0FAF5;color:#3F9D74}.fr-open b{color:#3F9D74}
.fr-scheduled .vc-card-ic{background:#FBF6EC;color:#B7873A}
.fr-mine .vc-card-ic{background:#EEF3FC;color:#4F7BD9}
.fr-active .vc-card-ic{background:#F2EFFA;color:#6E58B8}
.fr-closed .vc-card-ic{background:#F4F6FA;color:#94A3B8}
.fr-all .vc-card-ic{background:#EEF3FC;color:#4F7BD9}
.vc-list-head.fr-open .vc-card-ic{background:#F0FAF5;color:#3F9D74}.vc-list-head.fr-scheduled .vc-card-ic{background:#FBF6EC;color:#B7873A}.vc-list-head.fr-mine .vc-card-ic,.vc-list-head.fr-all .vc-card-ic{background:#EEF3FC;color:#4F7BD9}.vc-list-head.fr-active .vc-card-ic{background:#F2EFFA;color:#6E58B8}
.fr-subjects{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.fr-subj{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #EEF1F6;border-right:3px solid var(--c);border-radius:14px;padding:12px 14px;cursor:pointer;transition:.2s}
.fr-subj:hover{box-shadow:0 10px 22px -16px rgba(15,23,42,.22);transform:translateY(-1px)}
.fr-subj-ic{width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--c) 10%,#fff);display:flex;align-items:center;justify-content:center;font-size:18px}
.fr-subj>div{flex:1;display:flex;flex-direction:column}.fr-subj b{font-size:13.5px;color:#1E293B}.fr-subj span{font-size:11px;color:#94A3B8}.fr-subj em{font-style:normal;color:#4F7BD9;font-weight:800}

.vc-cards.vc-home{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.vc-home .vc-card{padding:20px;min-height:160px;gap:3px}
.vc-home .vc-card-ic{width:40px;height:40px;border-radius:12px;margin-bottom:10px}
.vc-home .vc-card b{font-size:32px}
.vc-home .vc-card span{font-size:14.5px}
.vc-home .vc-card small{font-size:11.5px}
.vc-home .vc-new{justify-content:center}
.vc-home .vc-new .vc-card-ic{font-size:22px}
.vc-home .vc-new span{font-size:16px}
.vc-go{font-style:normal;font-size:11.5px;font-weight:700;color:#4F7BD9;margin-top:auto;padding-top:8px;opacity:0;transition:opacity .2s}
.vc-card:hover .vc-go{opacity:1}
.vc-revision .vc-card-ic{background:#FDF3F3;color:#C2595B}.vc-revision.alert{border-color:#EDC7C7}.vc-revision.alert b{color:#C2595B}
.vc-list-head{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:16px 18px;margin-bottom:14px;flex-wrap:wrap}
.vc-list-head .vc-card-ic{width:44px;height:44px;border-radius:13px;margin:0;display:flex;align-items:center;justify-content:center;background:#F4F6FA;color:#64748B}
.vc-list-t{flex:1;min-width:200px}.vc-list-t h1{font-size:19px;font-weight:800;color:#1E293B;margin:0}.vc-list-t h1 em{font-style:normal;font-size:12px;background:#F1F4F8;color:#64748B;border-radius:100px;padding:2px 9px;vertical-align:middle}
.vc-list-t p{font-size:12.5px;color:#94A3B8;margin:3px 0 0}
.vc-list-head.vc-live .vc-card-ic{background:#FDF3F3}.vc-list-head.vc-pending .vc-card-ic{background:#FBF6EC;color:#B7873A}.vc-list-head.vc-approved .vc-card-ic{background:#F0FAF5;color:#3F9D74}.vc-list-head.vc-revision .vc-card-ic{background:#FDF3F3;color:#C2595B}.vc-list-head.vc-all .vc-card-ic{background:#EEF3FC;color:#4F7BD9}
.vc-row-note{font-size:11.5px;color:#B24C4C;background:#FDF3F3;border-radius:8px;padding:4px 9px;margin-top:6px;display:inline-block}

/* ════════════ المحتوى / الكتاب / التصحيح / البث ════════════ */
.qe-types.cb-types{grid-template-columns:repeat(5,1fr)}
.qe-types.bp-types{grid-template-columns:repeat(4,1fr)}
.cb-drop{border:1.5px dashed #CBD5E1;border-radius:14px;padding:22px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;background:#fff;transition:.15s;text-align:center}
.cb-drop:hover,.cb-drop.over{border-color:#4F7BD9;background:#F6F9FE}
.cb-drop-ic{font-size:22px;color:#4F7BD9}.cb-drop b{font-size:13px;color:#334155}.cb-drop span{font-size:11px;color:#94A3B8}
.cb-file{display:flex;align-items:center;gap:12px;border:1px solid #E6EAF1;border-radius:12px;padding:10px 12px;background:#fff}
.cb-file-ic{font-size:22px}.cb-file>div{flex:1;display:flex;flex-direction:column}.cb-file b{font-size:13px;color:#1E293B;word-break:break-all}.cb-file span{font-size:11px;color:#94A3B8}
.cb-file button{border:1px solid #F3DADA;background:#fff;color:#C2595B;border-radius:9px;padding:6px 12px;font-family:'Cairo',sans-serif;font-weight:700;font-size:12px;cursor:pointer}
.bp-img-prev{border:1px solid #E6EAF1;border-radius:12px;padding:8px;background:#fff;display:flex;flex-direction:column;gap:8px;align-items:center}
.bp-img-prev img{max-width:100%;max-height:220px;border-radius:9px}
.bp-img-prev button{border:1px solid #E6EAF1;background:#fff;border-radius:9px;padding:6px 12px;font-family:'Cairo',sans-serif;font-size:12px;font-weight:700;cursor:pointer}
.bp-row{cursor:pointer}.bp-row:hover{background:#F8FAFC}
.bp-empty{font-style:normal;font-size:10.5px;color:#B7873A;background:#FBF6EC;border-radius:6px;padding:1px 7px;margin-right:6px}
.bk{display:flex;flex-direction:column;gap:12px}
.bk-top{display:flex;justify-content:space-between;align-items:center}
.bk-ch{font-size:12px;font-weight:800;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border-radius:100px;padding:3px 12px}
.bk-pn{font-size:11.5px;color:#94A3B8;font-weight:700}
.bk-prog{height:4px;border-radius:100px;background:#EEF1F6;overflow:hidden}.bk-prog i{display:block;height:100%;background:var(--c);opacity:.7;border-radius:100px;transition:width .3s}
.bk-page{background:#FFFDF8;border:1px solid #F1ECE0;border-radius:16px;padding:26px 28px;min-height:280px;box-shadow:inset 0 0 0 6px #fff}
.bk-page h2{font-size:21px;font-weight:800;color:#1E293B;margin:0 0 16px;line-height:1.5}
.bk-text p{font-size:15.5px;line-height:2.1;color:#334155;margin:0 0 12px}
.bk-img{display:block;max-width:100%;max-height:320px;margin:0 auto 16px;border-radius:12px}
.bk-activity{background:#F6F9FE;border:1px dashed #BCCDEE;border-radius:14px;padding:14px 16px}.bk-activity>b{display:block;color:#3F68C2;margin-bottom:8px}
.bk-q{background:#fff;border:1px solid #E6EAF1;border-radius:14px;padding:16px}
.bk-q-t{font-size:15px;font-weight:800;color:#1E293B;margin-bottom:12px}
.bk-q-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bk-q-o{border:1.5px solid #E6EAF1;background:#fff;border-radius:11px;padding:11px 12px;font-family:'Cairo',sans-serif;font-size:14px;font-weight:700;color:#334155;cursor:pointer;text-align:right;transition:.15s}
.bk-q-o:hover:not(:disabled){border-color:#A9C0EE;background:#F6F9FE}
.bk-q-o.ok{border-color:#7CC4A3;background:#F0FAF5;color:#2F8A62}.bk-q-o.no{border-color:#E39A9A;background:#FDF3F3;color:#B24C4C}
.bk-q-fb{margin-top:10px;font-size:13px;font-weight:700;border-radius:10px;padding:0}.bk-q-fb.ok{background:#F0FAF5;color:#2F8A62;padding:10px 12px}.bk-q-fb.no{background:#FDF3F3;color:#B24C4C;padding:10px 12px}
.bk-q-fb span{font-weight:500;color:#475569}
.bk-blank{font-size:13px;color:#94A3B8;background:#F8FAFC;border:1px dashed #E2E7EF;border-radius:12px;padding:20px;text-align:center}
.bk-nav{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bk-btn{border:1px solid #E6EAF1;background:#fff;border-radius:11px;padding:9px 16px;font-family:'Cairo',sans-serif;font-size:13px;font-weight:700;color:#475569;cursor:pointer}
.bk-btn:disabled{opacity:.4;cursor:default}.bk-btn.primary{background:var(--c);border-color:var(--c);color:#fff}
.bk-dots{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}
.bk-dots i{width:8px;height:8px;border-radius:50%;background:#E2E7EF;cursor:pointer}.bk-dots i.done{background:color-mix(in srgb,var(--c) 45%,#fff)}.bk-dots i.on{background:var(--c);width:20px;border-radius:100px}
.ag-hero{display:flex;align-items:center;gap:20px;background:#1F2A3D;border-radius:18px;padding:20px 24px;color:#fff;margin-bottom:18px;flex-wrap:wrap}
.ag-hero-main{flex:1;display:flex;align-items:baseline;gap:10px}.ag-hero-main b{font-size:38px;font-weight:800}.ag-hero-main span{font-size:13px;color:rgba(255,255,255,.65)}
.ag-hero-stats{display:flex;gap:6px}.ag-hero-stats div{background:rgba(255,255,255,.07);border-radius:12px;padding:10px 16px;text-align:center}
.ag-hero-stats b{display:block;font-size:18px}.ag-hero-stats span{font-size:11px;color:rgba(255,255,255,.55)}
.ag-list{display:flex;flex-direction:column;gap:10px}
.ag-item{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #EEF1F6;border-radius:14px;padding:12px 16px;flex-wrap:wrap}
.ag-kind{font-size:11px;font-weight:800;border-radius:9px;padding:5px 11px}.ag-hw{background:#EEF3FC;color:#3F68C2}.ag-ex{background:#F2EFFA;color:#6E58B8}
.ag-main{flex:1;min-width:180px;display:flex;flex-direction:column}.ag-main b{font-size:14px;color:#1E293B}.ag-main span{font-size:11.5px;color:#94A3B8}
.ag-count{display:flex;align-items:baseline;gap:5px}.ag-count b{font-size:20px;font-weight:800;color:#B7873A}.ag-count span{font-size:11px;color:#94A3B8}
.ag-age{font-size:10.5px;font-weight:700;color:#C2595B;background:#FDF3F3;border-radius:100px;padding:2px 9px}
.ag-info{margin-top:18px;background:#fff;border:1px solid #EEF1F6;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.ag-info b{font-size:13px;color:#1E293B}.ag-info span{font-size:12px;color:#64748B;line-height:1.8}
.vc-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:16px}
.vc-card{background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:14px 14px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:transform .2s ease,box-shadow .2s ease,border-color .2s}
.vc-card:hover{transform:translateY(-2px);box-shadow:0 12px 24px -16px rgba(15,23,42,.22)}
.vc-card.on{border-color:#4F7BD9;box-shadow:0 0 0 3px rgba(79,123,217,.10)}
.vc-card-ic{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:6px;background:#F4F6FA;color:#64748B}
.vc-card b{font-size:24px;font-weight:800;color:#1E293B;line-height:1.1}.vc-card span{font-size:12.5px;font-weight:800;color:#334155}.vc-card small{font-size:10.5px;color:#94A3B8}
.vc-new{background:#4F7BD9;border-color:#4F7BD9}.vc-new .vc-card-ic{background:rgba(255,255,255,.2);color:#fff;font-size:18px}.vc-new span{color:#fff;font-size:13.5px}.vc-new small{color:rgba(255,255,255,.75)}.vc-new b{display:none}
.vc-live .vc-card-ic{background:#FDF3F3}.vc-live b{color:#C2595B}
.vc-dot{width:9px;height:9px;border-radius:50%;background:#D06A6A;box-shadow:0 0 0 0 rgba(208,106,106,.6);animation:vcPulse 1.6s infinite}
@keyframes vcPulse{0%{box-shadow:0 0 0 0 rgba(208,106,106,.55)}70%{box-shadow:0 0 0 8px rgba(208,106,106,0)}100%{box-shadow:0 0 0 0 rgba(208,106,106,0)}}
.vc-pending .vc-card-ic{background:#FBF6EC;color:#B7873A}.vc-pending b{color:#B7873A}
.vc-approved .vc-card-ic{background:#F0FAF5;color:#3F9D74}.vc-approved b{color:#3F9D74}
.vc-completed .vc-card-ic{background:#F4F6FA;color:#64748B}
.vc-all .vc-card-ic{background:#EEF3FC;color:#4F7BD9}
.vc-alert{background:#FDF3F3;color:#B24C4C;border-radius:12px;padding:10px 14px;font-size:12.5px;font-weight:700;margin-bottom:14px;cursor:pointer}
.vc-row{display:flex;align-items:center;gap:14px;padding:12px 16px;border-bottom:1px solid #F3F5F9;cursor:pointer;transition:background .15s}
.vc-row:hover{background:#F8FAFC}.vc-row.live{background:#FFF9F9}
.vc-row-date{width:52px;height:52px;border-radius:12px;background:#F4F6FA;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.vc-row-date b{font-size:18px;font-weight:800;color:#1E293B;line-height:1}.vc-row-date span{font-size:10px;color:#94A3B8;margin-top:2px}
.vc-row-main{flex:1;min-width:0}.vc-row-t{font-size:13.5px;font-weight:800;color:#1E293B}.vc-row-m{font-size:11.5px;color:#94A3B8;margin-top:2px}
@media(max-width:1100px){.vc-cards{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.vc-cards{grid-template-columns:repeat(2,1fr)}.qe-types.cb-types{grid-template-columns:repeat(3,1fr)}.bk-q-opts{grid-template-columns:1fr}.qe-types.bp-types{grid-template-columns:repeat(2,1fr)}}

/* ════════════ الدرجات ════════════ */
.gb-how{background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:14px 18px;margin-bottom:18px}
.gb-how-t{font-size:13px;font-weight:800;color:#1E293B;margin-bottom:10px}
.gb-how-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gb-how-row>i{font-style:normal;font-weight:800;color:#CBD5E1;font-size:15px}
.gb-how-i{border-radius:11px;padding:8px 12px;display:flex;flex-direction:column}
.gb-how-i b{font-size:12.5px}.gb-how-i span{font-size:10.5px;opacity:.75}
.gb-hw{background:#EEF3FC;color:#3F68C2}.gb-ex{background:#F2EFFA;color:#6E58B8}.gb-part{background:#FBF6EC;color:#A77A2F}.gb-final{background:#F0FAF5;color:#3F9D74}.gb-tot{background:#1E293B;color:#fff}
.gb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.gb-card{background:#fff;border:1px solid #EEF1F6;border-radius:18px;padding:18px 20px;cursor:pointer;display:flex;flex-direction:column;gap:14px;transition:transform .22s ease,box-shadow .22s ease;position:relative;overflow:hidden}
.gb-card::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:var(--c);opacity:.55}
.gb-card:hover{transform:translateY(-3px);box-shadow:0 16px 30px -18px rgba(15,23,42,.2)}
.gb-card-top{display:flex;align-items:center;gap:12px}
.gb-card-info{flex:1;display:flex;flex-direction:column}.gb-card-info b{font-size:15px;color:#1E293B}.gb-card-info span{font-size:11.5px;color:#94A3B8}
.gb-ring{width:62px;height:62px;border-radius:50%;background:conic-gradient(var(--c) calc(var(--p)*1%),#EEF1F6 0);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;flex-shrink:0}
.gb-ring::before{content:"";position:absolute;inset:6px;border-radius:50%;background:#fff}
.gb-ring b,.gb-ring span{position:relative}.gb-ring b{font-size:16px;font-weight:800;color:#1E293B;line-height:1}.gb-ring span{font-size:9px;color:#94A3B8}
.gb-srcs{display:flex;gap:6px;flex-wrap:wrap}.gb-srcs span{font-size:11px;font-weight:700;background:#F4F6FA;color:#64748B;border-radius:8px;padding:3px 9px}
.gb-mini{display:grid;grid-template-columns:repeat(3,1fr);background:#F8FAFC;border-radius:12px;padding:9px 4px}
.gb-mini>div{text-align:center;display:flex;flex-direction:column}.gb-mini>div+div{border-right:1px solid #EDF0F5}
.gb-mini b{font-size:16px;font-weight:800;color:#1E293B}.gb-mini b.warn{color:#C2595B}.gb-mini span{font-size:10.5px;color:#94A3B8}
.gb-foot{display:flex;justify-content:space-between;align-items:center}
.gb-lv{font-size:11px;font-weight:700;border-radius:100px;padding:3px 10px;white-space:nowrap}
.lv-a{background:#F0FAF5;color:#3F9D74}.lv-b{background:#EEF3FC;color:#4F7BD9}.lv-c{background:#F2EFFA;color:#6E58B8}.lv-d{background:#FBF6EC;color:#B7873A}.lv-f{background:#FDF3F3;color:#C2595B}.lv-none{background:#F4F6FA;color:#94A3B8}
.gb-wbar{display:flex;gap:4px;margin-bottom:14px}
.gb-wbar>div{border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;min-width:0;overflow:hidden}
.gb-wbar b{font-size:14px}.gb-wbar span{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gb-table-wrap{background:#fff;border:1px solid #EEF1F6;border-radius:16px;overflow-x:auto}
.gb-table{width:100%;border-collapse:collapse;min-width:760px}
.gb-table th{background:#F8FAFC;font-size:12px;font-weight:800;color:#475569;padding:11px 12px;text-align:center;white-space:nowrap}
.gb-table th:first-child,.gb-table td:first-child{text-align:right}
.gb-table th small{display:block;font-size:10px;font-weight:600;color:#94A3B8;margin-top:2px}
.gb-table th.gb-th{background:transparent}
.gb-table th.gb-hw{background:#F6F9FE}.gb-table th.gb-ex{background:#F8F6FC}.gb-table th.gb-part{background:#FDFAF4}.gb-table th.gb-final{background:#F6FBF8}
.gb-table td{padding:9px 12px;border-top:1px solid #F3F5F9;text-align:center;font-size:13px;color:#334155}
.gb-auto{font-weight:700;color:#475569;background:#FBFCFE}
.gb-in{width:70px;border:1.5px solid #E6EAF1;border-radius:9px;padding:6px;text-align:center;font-family:'Cairo',sans-serif;font-weight:800;font-size:13px;outline:none}
.gb-in:focus{border-color:#4F7BD9}
.gb-total{font-weight:800;font-size:15px;color:#1E293B}.gb-total small{color:#D29A45;margin-right:2px}
.gb-note{font-size:11.5px;color:#94A3B8;margin-top:10px;line-height:1.7}
.gb-dirty{font-size:12px;color:#B7873A;margin-left:auto;align-self:center}
.gb-w-intro{font-size:12.5px;color:#64748B;margin-bottom:12px}
.gb-w-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #F3F5F9}
.gb-w-row>div{flex:1;display:flex;flex-direction:column}.gb-w-row b{font-size:13px;color:#1E293B}.gb-w-row span{font-size:11px;color:#94A3B8}
.gb-w-row input{width:70px;border:1.5px solid #E6EAF1;border-radius:9px;padding:7px;text-align:center;font-family:'Cairo',sans-serif;font-weight:800;outline:none}
.gb-w-row em{font-style:normal;color:#94A3B8;font-weight:700}
.gb-w-sum{margin-top:10px;font-size:12.5px;font-weight:800;border-radius:10px;padding:8px 12px;text-align:center}
.gb-w-sum.ok{background:#F0FAF5;color:#3F9D74}.gb-w-sum.bad{background:#FDF3F3;color:#C2595B}

/* ════════════ الحضور ════════════ */
#mainContent:has(.at-page) .ent-att-note{display:none}
.at-datenav{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #EEF1F6;border-radius:14px;padding:6px}
.at-datenav>button{width:34px;height:34px;border-radius:10px;border:none;background:#F4F6FA;color:#475569;font-size:17px;font-weight:800;cursor:pointer}
.at-datenav>button:hover{background:#EEF3FC;color:#4F7BD9}
.at-datenav>div{display:flex;flex-direction:column;align-items:center;min-width:120px}
.at-datenav b{font-size:14px;color:#1E293B}.at-datenav span{font-size:11px;color:#94A3B8}
.at-datenav .at-today{width:auto;padding:0 12px;font-size:12px;font-family:'Cairo',sans-serif;background:#EEF3FC;color:#4F7BD9}
.at-timeline{display:flex;flex-direction:column;gap:10px}
.at-lesson{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:12px 16px 12px 14px}
.at-lesson.now{border-color:color-mix(in srgb,var(--c) 45%,#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 10%,transparent)}
.at-time{width:76px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding-left:14px;border-left:1px solid #F1F4F8}
.at-time b{font-size:17px;font-weight:800;color:#1E293B}.at-time span{font-size:11px;color:#94A3B8}.at-time small{font-size:10px;color:var(--c);font-weight:700;margin-top:3px}
.at-main{flex:1;min-width:0}
.at-top{display:flex;gap:6px;margin-bottom:4px}
.at-live{font-size:10.5px;font-weight:700;color:#C2595B;background:#FDF3F3;border-radius:100px;padding:2px 9px}
.at-title{font-size:14px;font-weight:800;color:#1E293B}
.at-meta{font-size:11.5px;color:#94A3B8;margin-top:4px}
.at-bar{display:flex;height:6px;border-radius:100px;overflow:hidden;gap:2px;margin-top:8px;max-width:360px}
.at-bar i{display:block}.at-bar .p{background:#7CC4A3}.at-bar .l{background:#E0B66F}.at-bar .e{background:#9DB3E2}.at-bar .a{background:#E39A9A}
.at-classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.at-cls{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid #EEF1F6;border-radius:14px;padding:12px 14px;cursor:pointer;transition:.2s}
.at-cls:hover{border-color:#C9D6EE;box-shadow:0 10px 22px -16px rgba(15,23,42,.2)}
.at-cls .ts-ic{width:40px;height:40px;font-size:18px;border-radius:11px}
.at-cls>div:nth-child(2){flex:1;display:flex;flex-direction:column}
.at-cls b{font-size:13.5px;color:#1E293B}.at-cls span{font-size:11px;color:#94A3B8}.at-cls em{font-style:normal;color:#4F7BD9;font-weight:800}
.at-hist{background:#fff;border:1px solid #EEF1F6;border-radius:14px;overflow:hidden}
.at-hrow{display:flex;align-items:center;gap:14px;padding:11px 16px;border-top:1px solid #F3F5F9;cursor:pointer;font-size:12.5px}
.at-hrow:first-child{border-top:none}.at-hrow:hover{background:#F8FAFC}
.at-hrow span{color:#94A3B8;width:130px}.at-hrow b{flex:1;color:#334155}
.at-hrow em{font-style:normal;font-weight:800;border-radius:8px;padding:2px 9px}
.at-hrow em.ok{background:#F0FAF5;color:#3F9D74}.at-hrow em.mid{background:#FBF6EC;color:#B7873A}.at-hrow em.low{background:#FDF3F3;color:#C2595B}
.at-take-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #EEF1F6;border-right:3px solid var(--c);border-radius:16px;padding:16px 18px;margin-bottom:14px}
.at-take-head h1{font-size:18px;font-weight:800;color:#1E293B;margin:0}.at-take-head p{font-size:12px;color:#94A3B8;margin:4px 0 0}
.at-quick{display:flex;gap:8px}
.at-live-sum{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}
.at-ls{background:#fff;border:1px solid #EEF1F6;border-radius:12px;padding:10px;text-align:center}
.at-ls b{display:block;font-size:20px;font-weight:800}.at-ls span{font-size:11px;color:#94A3B8;font-weight:600}
.at-ls.s-p b{color:#3F9D74}.at-ls.s-a b{color:#C2595B}.at-ls.s-l b{color:#B7873A}.at-ls.s-e b{color:#4F7BD9}.at-ls.rate{background:#F8FAFC}.at-ls.rate b{color:#1E293B}
.at-hint{font-size:12px;color:#64748B;background:#F3F7FE;border-radius:10px;padding:9px 12px;margin-bottom:12px}
.at-list{background:#fff;border:1px solid #EEF1F6;border-radius:16px;overflow:hidden}
.at-row{display:flex;align-items:center;gap:12px;padding:10px 16px;border-top:1px solid #F3F5F9;flex-wrap:wrap}
.at-row:first-child{border-top:none}
.at-n{width:22px;font-size:11.5px;color:#CBD5E1;font-weight:700;text-align:center}
.at-name{flex:1;min-width:140px;font-size:13.5px;color:#1E293B}
.at-seg{display:flex;gap:4px}.at-seg label{cursor:pointer}.at-seg input{position:absolute;opacity:0}
.at-seg span{display:block;border:1px solid #E6EAF1;border-radius:9px;padding:6px 12px;font-size:12px;font-weight:700;color:#94A3B8;background:#fff;transition:.15s}
.at-seg input:checked+span.s-p{background:#F0FAF5;border-color:#A7D8C2;color:#3F9D74}
.at-seg input:checked+span.s-a{background:#FDF3F3;border-color:#EDB9B9;color:#C2595B}
.at-seg input:checked+span.s-l{background:#FBF6EC;border-color:#E9CFA0;color:#B7873A}
.at-seg input:checked+span.s-e{background:#EEF3FC;border-color:#BCCDEE;color:#4F7BD9}
.at-note{width:190px;border:1.5px solid #E6EAF1;border-radius:9px;padding:7px 10px;font-family:'Cairo',sans-serif;font-size:12px;outline:none}
.at-note:focus{border-color:#4F7BD9}
@media(max-width:760px){.at-live-sum{grid-template-columns:repeat(3,1fr)}.at-note{width:100%}.at-lesson{flex-wrap:wrap}.at-time{border-left:none}}

.hw-bank-t{font-size:12.5px;font-weight:800;color:#475569;margin:16px 0 10px;padding-top:14px;border-top:1px dashed #E6EAF1}
.hw-add-ic{width:22px;height:22px;border-radius:7px;background:#EEF3FC;color:#4F7BD9;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
#hwPick .ex-q:hover{border-color:#A9C0EE;background:#F6F9FE}
#hwChosen .hw-q:first-child{border-top:none}

.hx-panel-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.hx-panel-hd .hx-panel-t{margin-bottom:0}
.hx-panel-sub{font-size:11.5px;color:#94A3B8;margin-bottom:12px}
.hx-panel-acts{display:flex;gap:8px;flex-wrap:wrap}
.hx-btn.sm{padding:7px 12px;font-size:12px}
.hx-count{font-style:normal;font-size:11px;background:#EEF3FC;color:#4F7BD9;border-radius:100px;padding:1px 8px;margin-right:6px}
.hw-qpanel{margin-bottom:16px}
.hw-q-empty{font-size:12.5px;color:#94A3B8;background:#F8FAFC;border:1px dashed #E2E7EF;border-radius:12px;padding:16px;text-align:center;margin-top:8px}
.hw-q{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #F3F5F9}
.hw-q-body{flex:1;min-width:0}
.hw-q-text{font-size:13.5px;font-weight:700;color:#1E293B;line-height:1.7}
.hw-q-opts{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:5px;font-size:12.5px;color:#64748B}
.hw-q-opts .ok{color:#3F9D74;font-weight:700}
.hw-q-meta{font-size:11px;color:#94A3B8;margin-top:4px}
.hw-q-del{width:30px;height:30px;border-radius:9px;border:1px solid #EEF1F6;background:#fff;color:#94A3B8;font-size:17px;cursor:pointer;flex-shrink:0}
.hw-q-del:hover{color:#C2595B;border-color:#F3DADA}
.hw-qcount{font-size:11px;font-weight:700;color:#4F7BD9;background:#EEF3FC;border-radius:8px;padding:2px 9px;align-self:flex-start}
.hw-pick{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow-y:auto}

/* ════════════ الواجبات والاختبارات — مشترك ════════════ */
.hx-back{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #E6EAF1;border-radius:10px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:700;color:#475569;cursor:pointer;margin-bottom:16px}
.hx-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.hx-head h1{font-size:21px;font-weight:800;color:#1E293B;margin:0}
.hx-head p{font-size:12.5px;color:#94A3B8;margin:5px 0 0}
.hx-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:11px;padding:9px 16px;font-family:'Cairo',sans-serif;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .2s ease;border:1px solid transparent;white-space:nowrap}
.hx-btn.primary{background:#4F7BD9;color:#fff}.hx-btn.primary:hover{background:#3F68C2}
.hx-btn.ghost{background:#fff;color:#475569;border-color:#E6EAF1}.hx-btn.ghost:hover{background:#F6F8FB}
.hx-btn.danger{background:#fff;color:#C2595B;border-color:#F3DADA}.hx-btn.danger:hover{background:#FDF3F3}
.hx-btn.full{width:100%;margin-top:8px}
.hx-summary{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid #EEF1F6;border-radius:16px;margin-bottom:18px;overflow:hidden}
.hx-summary>div{padding:14px 18px;border-left:1px solid #F1F4F8;display:flex;flex-direction:column;gap:2px}
.hx-summary>div:last-child{border-left:none}
.hx-summary b{font-size:21px;font-weight:800;color:#1E293B;line-height:1.1}.hx-summary b.warn{color:#B7873A}
.hx-summary span{font-size:11.5px;color:#94A3B8;font-weight:600}
.hx-empty{background:#fff;border:1px dashed #E2E7EF;border-radius:16px;padding:38px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.hx-empty.sm{padding:22px 16px}
.hx-empty b{font-size:14px;color:#334155}.hx-empty span{font-size:12px;color:#94A3B8}
.hx-panel{background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:18px 20px}
.hx-panel-t{font-size:14px;font-weight:800;color:#1E293B;margin-bottom:14px}
.hx-ava{width:30px;height:30px;border-radius:9px;background:#EEF3FC;color:#4F7BD9;display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;flex-shrink:0}
.hx-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.hx-tab{background:#fff;border:1px solid #E6EAF1;border-radius:100px;padding:7px 15px;font-family:'Cairo',sans-serif;font-size:12px;font-weight:700;color:#64748B;cursor:pointer}
.hx-tab em{font-style:normal;font-size:10.5px;background:#F1F4F8;border-radius:100px;padding:1px 7px;margin-right:4px}
.hx-tab.on{background:#1E293B;border-color:#1E293B;color:#fff}.hx-tab.on em{background:rgba(255,255,255,.18);color:#fff}
/* الواجبات: بطاقات مهام */
.hw-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:14px}
.hw-card{background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:16px 18px;cursor:pointer;display:flex;flex-direction:column;gap:10px;border-right:3px solid var(--c);transition:transform .22s ease,box-shadow .22s ease}
.hw-card:hover{transform:translateY(-2px);box-shadow:0 14px 28px -18px rgba(15,23,42,.2)}
.hw-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}
.hw-subj{font-size:11.5px;font-weight:700;color:#64748B}
.hw-due{font-size:10.5px;font-weight:700;border-radius:100px;padding:3px 10px;background:#F4F6FA;color:#64748B;white-space:nowrap}
.hw-due.soon{background:#FBF6EC;color:#B7873A}.hw-due.past{background:#F4F6FA;color:#94A3B8}
.hw-title{font-size:15px;font-weight:800;color:#1E293B}
.hw-desc{font-size:12px;color:#64748B;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hw-prog-top{display:flex;justify-content:space-between;font-size:11.5px;color:#94A3B8;font-weight:600;margin-bottom:6px}.hw-prog-top b{color:#334155}
.hw-bar{height:7px;border-radius:100px;background:#EEF1F6;overflow:hidden}.hw-bar div{height:100%;border-radius:100px;background:var(--c);opacity:.75}
.hw-foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #F3F5F9;padding-top:10px;font-size:11.5px}
.hw-graded{color:#64748B;display:flex;align-items:center;gap:6px}
.dot{width:7px;height:7px;border-radius:50%;background:#CBD5E1;display:inline-block}.dot.warn{background:#D29A45}.dot.ok{background:#3FA37E}
.hw-open{color:#4F7BD9;font-weight:700}
.hw-detail{background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:18px 20px;margin-bottom:16px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-right:3px solid var(--c)}
.hw-detail h1{font-size:19px;font-weight:800;color:#1E293B;margin:4px 0}
.hw-detail p{font-size:12.5px;color:#64748B;line-height:1.8;margin:4px 0}
.hw-detail-meta{font-size:12px;color:#94A3B8}.hw-detail-meta b{color:#334155}
.hw-detail-acts{display:flex;gap:8px;align-items:flex-start}
.hw-sheet{background:#fff;border:1px solid #EEF1F6;border-radius:16px;overflow:hidden}
.hw-sheet-hd,.hw-sheet-row{display:grid;grid-template-columns:1.4fr 1.6fr .7fr 1.5fr;gap:12px;align-items:center;padding:11px 16px}
.hw-sheet-hd{background:#F8FAFC;font-size:11.5px;font-weight:700;color:#94A3B8}
.hw-sheet-row{border-top:1px solid #F3F5F9}
.hw-stu{display:flex;align-items:center;gap:9px;min-width:0}.hw-stu b{font-size:13px;color:#1E293B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hw-seg{display:flex;gap:4px}.hw-seg label{cursor:pointer}.hw-seg input{position:absolute;opacity:0}
.hw-seg span{display:block;border:1px solid #E6EAF1;border-radius:8px;padding:5px 10px;font-size:11.5px;font-weight:700;color:#94A3B8;background:#fff}
.hw-seg input:checked+span.s-sub{background:#F0FAF5;border-color:#A7D8C2;color:#3F9D74}
.hw-seg input:checked+span.s-late{background:#FBF6EC;border-color:#E9CFA0;color:#B7873A}
.hw-seg input:checked+span.s-none{background:#F4F6FA;border-color:#CBD5E1;color:#64748B}
.hw-score,.hw-note{border:1.5px solid #E6EAF1;border-radius:9px;padding:7px 10px;font-family:'Cairo',sans-serif;font-size:12.5px;outline:none;width:100%;background:#fff}
.hw-score{text-align:center;font-weight:800}
.hw-score:focus,.hw-note:focus{border-color:#4F7BD9}
.hw-save-bar{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
/* الاختبارات: تصميم "تذاكر" وجدول زمني — مختلف عن الواجبات */
.ex-spot{display:flex;align-items:center;gap:18px;background:#1F2A3D;border-radius:18px;padding:20px 22px;margin-bottom:20px;cursor:pointer;color:#fff;flex-wrap:wrap}
.ex-spot-count{width:88px;height:88px;border-radius:16px;background:rgba(255,255,255,.08);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.ex-spot-count b{font-size:30px;font-weight:800;line-height:1}.ex-spot-count span{font-size:10.5px;color:rgba(255,255,255,.6);margin-top:4px;text-align:center}
.ex-spot-main{flex:1;min-width:200px}
.ex-spot-tag{font-size:11px;font-weight:700;color:#A9C0EE}
.ex-spot-title{font-size:19px;font-weight:800;margin:4px 0}
.ex-spot-meta{font-size:12px;color:rgba(255,255,255,.62)}
.ex-spot-nums{display:flex;gap:6px}
.ex-spot-nums div{background:rgba(255,255,255,.06);border-radius:12px;padding:10px 14px;text-align:center;min-width:64px}
.ex-spot-nums b{display:block;font-size:18px;font-weight:800}.ex-spot-nums span{font-size:10.5px;color:rgba(255,255,255,.55)}
.ex-sec{margin-bottom:20px}
.ex-sec-t{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;color:#1E293B;margin-bottom:10px}
.ex-sec-t em{font-style:normal;font-size:11px;background:#F1F4F8;color:#64748B;border-radius:100px;padding:1px 8px}
.ex-sec-t span{font-size:11.5px;font-weight:600;color:#94A3B8}
.ex-list{display:flex;flex-direction:column;gap:10px}
.ex-ticket{display:flex;align-items:stretch;background:#fff;border:1px solid #EEF1F6;border-radius:16px;overflow:hidden;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease}
.ex-ticket:hover{border-color:#DDE3EC;box-shadow:0 12px 26px -18px rgba(15,23,42,.22)}
.ex-t-date{width:78px;flex-shrink:0;background:color-mix(in srgb,var(--c) 8%,#fff);color:var(--c);display:flex;flex-direction:column;align-items:center;justify-content:center;border-left:2px dashed color-mix(in srgb,var(--c) 22%,#fff);padding:10px 4px}
.ex-t-date b{font-size:24px;font-weight:800;line-height:1}.ex-t-date span{font-size:11px;font-weight:700;margin-top:3px}.ex-t-date small{font-size:10px;color:#94A3B8;margin-top:2px}
.ex-t-date.big{width:96px;border-radius:14px;border-left:none;padding:14px 4px}.ex-t-date.big b{font-size:30px}
.ex-t-main{flex:1;padding:13px 16px;min-width:0}
.ex-t-top{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.ex-t-type{font-size:11px;font-weight:700;color:var(--c)}
.ex-b{font-size:10.5px;font-weight:700;border-radius:100px;padding:2px 9px}
.ex-b.draft{background:#F4F6FA;color:#64748B}.ex-b.up{background:#EEF3FC;color:#4F7BD9}.ex-b.warn{background:#FBF6EC;color:#B7873A}.ex-b.ok{background:#F0FAF5;color:#3F9D74}
.ex-t-title{font-size:14.5px;font-weight:800;color:#1E293B}
.ex-t-meta{font-size:11.5px;color:#94A3B8;margin-top:3px}
.ex-t-res{padding:0 18px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-right:1px solid #F3F5F9}
.ex-t-res b{font-size:18px;font-weight:800;color:#3F9D74}.ex-t-res span{font-size:10.5px;color:#94A3B8}
.ex-builder{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:start}
.ex-b-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.ex-sticky{position:sticky;top:90px}
.ex-seg span{font-size:11.5px !important;padding:8px 4px !important}
.ex-seg input:checked+span{border-color:#4F7BD9 !important;background:#F3F7FE !important;color:#2F5BB8 !important}
.ex-pick-bar{display:flex;gap:8px;margin-bottom:12px}
.ex-pick-bar input,.ex-pick-bar select{border:1.5px solid #E6EAF1;border-radius:10px;padding:8px 12px;font-family:'Cairo',sans-serif;font-size:12.5px;outline:none;background:#fff}
.ex-pick-bar input{flex:1}
#exPick{display:flex;flex-direction:column;gap:8px;max-height:460px;overflow-y:auto}
.ex-q{display:flex;align-items:flex-start;gap:10px;border:1.5px solid #EEF1F6;border-radius:12px;padding:11px 13px;cursor:pointer;transition:.15s}
.ex-q input{position:absolute;opacity:0}
.ex-q-box{width:20px;height:20px;border-radius:6px;border:2px solid #CBD5E1;flex-shrink:0;margin-top:1px;position:relative}
.ex-q.on{border-color:#A9C0EE;background:#F6F9FE}
.ex-q.on .ex-q-box{background:#4F7BD9;border-color:#4F7BD9}
.ex-q.on .ex-q-box::after{content:"";position:absolute;right:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ex-q-main{display:flex;flex-direction:column;gap:3px;min-width:0}
.ex-q-text{font-size:13px;font-weight:700;color:#1E293B;line-height:1.6}
.ex-q-meta{font-size:11px;color:#94A3B8}
.ex-sum-big{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.ex-sum-big div{background:#F8FAFC;border-radius:12px;padding:12px;text-align:center}
.ex-sum-big b{display:block;font-size:24px;font-weight:800;color:#1E293B}.ex-sum-big span{font-size:11px;color:#94A3B8}
.ex-sum-row{display:flex;justify-content:space-between;font-size:12px;color:#64748B;padding:7px 0;border-top:1px solid #F3F5F9}.ex-sum-row b{color:#334155}
.ex-view-head{display:flex;gap:16px;background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:16px;margin-bottom:16px;flex-wrap:wrap;align-items:flex-start}
.ex-view-main{flex:1;min-width:220px}
.ex-view-main h1{font-size:19px;font-weight:800;color:#1E293B;margin:3px 0}
.ex-inst{font-size:12.5px;color:#64748B;background:#F8FAFC;border-radius:10px;padding:9px 12px;margin-top:10px;line-height:1.7}
.ex-view-acts{display:flex;gap:8px;flex-wrap:wrap}
.ex-results{background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:18px 20px;margin-bottom:16px}
.ex-res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.ex-res-row{display:flex;align-items:center;gap:9px;border:1px solid #F1F4F8;border-radius:11px;padding:8px 10px}
.ex-res-row b{flex:1;font-size:12.5px;color:#1E293B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ex-res-row input{width:62px;border:1.5px solid #E6EAF1;border-radius:8px;padding:6px;text-align:center;font-family:'Cairo',sans-serif;font-weight:800;font-size:13px;outline:none}
.ex-res-row input:focus{border-color:#4F7BD9}
.ex-res-row span{font-size:11.5px;color:#94A3B8}
.ex-paper{background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:18px 20px}
.ex-p-q{display:flex;gap:12px;padding:12px 0;border-top:1px solid #F3F5F9}
.ex-p-n{width:26px;height:26px;border-radius:8px;background:#F1F4F8;color:#475569;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ex-p-body{flex:1}.ex-p-text{font-size:13.5px;font-weight:700;color:#1E293B;line-height:1.7}
.ex-p-opts{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px;font-size:12.5px;color:#475569}
.ex-p-mark{font-size:11.5px;color:#94A3B8;font-weight:700;white-space:nowrap}
@media(max-width:1000px){.ex-builder{grid-template-columns:1fr}.ex-sticky{position:static}}
@media(max-width:760px){.hx-summary{grid-template-columns:repeat(2,1fr)}.hx-summary>div:nth-child(2){border-left:none}.hx-summary>div:nth-child(n+3){border-top:1px solid #F1F4F8}
  .hw-sheet-hd{display:none}.hw-sheet-row{grid-template-columns:1fr 1fr}.hw-stu{grid-column:1/-1}.hw-note{grid-column:1/-1}}

/* ════════════ محرّر السؤال ════════════ */
.qe{display:flex;flex-direction:column;gap:14px}
.qe-sec{background:#FAFBFD;border:1px solid #EEF1F6;border-radius:14px;padding:14px 16px}
.qe-sec-t{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#1E293B;margin-bottom:12px}
.qe-sec-t span{width:22px;height:22px;border-radius:7px;background:#EEF3FC;color:#4F7BD9;display:inline-flex;align-items:center;justify-content:center;font-size:11.5px}
.qe-sec .ent-form-field:last-child{margin-bottom:0}
.qe-types{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.qe-type{display:flex;flex-direction:column;align-items:center;gap:5px;background:#fff;border:1.5px solid #E6EAF1;border-radius:12px;padding:11px 6px;font-family:'Cairo',sans-serif;font-size:11.5px;font-weight:700;color:#475569;cursor:pointer;transition:all .18s}
.qe-type:hover{border-color:#C9D6EE}
.qe-type.on{border-color:#4F7BD9;background:#F3F7FE;color:#2F5BB8;box-shadow:0 0 0 3px rgba(79,123,217,.10)}
.qe-type-ic{font-size:17px;line-height:1}
.qe-opt{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.qe-opt-radio{position:relative;flex-shrink:0;cursor:pointer}
.qe-opt-radio input{position:absolute;opacity:0}
.qe-opt-radio span{display:block;width:22px;height:22px;border-radius:50%;border:2px solid #CBD5E1;background:#fff;transition:.15s}
.qe-opt-radio input:checked+span{border-color:#3FA37E;background:#3FA37E;box-shadow:inset 0 0 0 4px #fff}
.qe-opt-l{width:26px;height:26px;border-radius:8px;background:#F1F4F8;color:#64748B;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.qe-opt-in{flex:1;border:1.5px solid #E2E8F0;border-radius:10px;padding:9px 12px;font-family:'Cairo',sans-serif;font-size:13px;outline:none;background:#fff}
.qe-opt-in:focus{border-color:#4F7BD9}
.qe-opt:has(input[type=radio]:checked) .qe-opt-in{border-color:#A7D8C2;background:#F4FBF8}
.qe-opt-del{width:30px;height:30px;border-radius:9px;border:1px solid #EEF1F6;background:#fff;color:#94A3B8;font-size:17px;cursor:pointer;flex-shrink:0}
.qe-opt-del:hover{color:#C2595B;border-color:#F3DADA}
.qe-add{background:none;border:1.5px dashed #CBD5E1;border-radius:10px;padding:8px;width:100%;margin-bottom:14px;font-family:'Cairo',sans-serif;font-size:12.5px;font-weight:700;color:#64748B;cursor:pointer}
.qe-add:hover{border-color:#4F7BD9;color:#4F7BD9}
.qe-tf{display:flex;gap:10px}
.qe-tf-i{flex:1;cursor:pointer}.qe-tf-i input{position:absolute;opacity:0}
.qe-tf-i span{display:block;text-align:center;border:1.5px solid #E2E8F0;border-radius:12px;padding:12px;font-weight:800;font-size:13.5px;color:#64748B;background:#fff;transition:.15s}
.qe-tf-i.ok input:checked+span{border-color:#3FA37E;background:#F0FAF5;color:#3F9D74}
.qe-tf-i.no input:checked+span{border-color:#D06A6A;background:#FDF3F3;color:#C2595B}
.qe-seg{display:flex;gap:8px}
.qe-seg-i{flex:1;cursor:pointer}.qe-seg-i input{position:absolute;opacity:0}
.qe-seg-i span{display:block;text-align:center;border:1.5px solid #E2E8F0;border-radius:10px;padding:9px;font-size:12.5px;font-weight:700;color:#64748B;background:#fff;transition:.15s}
.qe-seg-i.lvl-easy input:checked+span{border-color:#3FA37E;background:#F0FAF5;color:#3F9D74}
.qe-seg-i.lvl-med input:checked+span{border-color:#D29A45;background:#FBF6EC;color:#B7873A}
.qe-seg-i.lvl-hard input:checked+span{border-color:#D06A6A;background:#FDF3F3;color:#C2595B}
.qe-hint{font-size:11px;color:#94A3B8;margin:-8px 0 12px}
.qe-note{font-size:11.5px;color:#8A6A2E;background:#FBF6EC;border-radius:10px;padding:9px 12px}
@media(max-width:560px){.qe-types{grid-template-columns:repeat(2,1fr)}}

/* ════════════ موادي والتحضير — تصميم هادئ احترافي ════════════ */
.ts-back{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #E6EAF1;border-radius:10px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:700;color:#475569;cursor:pointer;margin-bottom:16px}
.ts-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.ts-head h1{font-size:21px;font-weight:800;color:#1E293B;margin:0}
.ts-head p{font-size:12.5px;color:#94A3B8;margin:5px 0 0}
.ts-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:11px;padding:9px 15px;font-family:'Cairo',sans-serif;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .2s ease;border:1px solid transparent;white-space:nowrap}
.ts-btn svg{width:15px;height:15px}
.ts-btn.primary{background:#4F7BD9;color:#fff}.ts-btn.primary:hover{background:#3F68C2}
.ts-btn.ghost{background:#fff;color:#475569;border-color:#E6EAF1}.ts-btn.ghost:hover{background:#F6F8FB}
.ts-btn.danger{background:#fff;color:#C2595B;border-color:#F3DADA}.ts-btn.danger:hover{background:#FDF3F3}
.ts-btn.grow{flex:1}.ts-btn.full{width:100%;margin-top:8px}
.ts-summary{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #EEF1F6;border-radius:16px;margin-bottom:18px;overflow:hidden}
.ts-summary>div{padding:14px 18px;border-left:1px solid #F1F4F8;display:flex;flex-direction:column;gap:2px}
.ts-summary>div:last-child{border-left:none}
.ts-summary b{font-size:21px;font-weight:800;color:#1E293B;line-height:1.1}
.ts-summary span{font-size:11.5px;color:#94A3B8;font-weight:600}
.ts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}
.ts-card{background:#fff;border:1px solid #EEF1F6;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:13px;position:relative;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.03),0 8px 22px -16px rgba(15,23,42,.10);transition:transform .25s ease,box-shadow .25s ease}
.ts-card::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:var(--c);opacity:.55}
.ts-card:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(15,23,42,.04),0 16px 32px -18px rgba(15,23,42,.18)}
.ts-card-top{display:flex;align-items:center;gap:12px}
.ts-ic{width:46px;height:46px;border-radius:13px;background:var(--cb);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.ts-name{font-size:15px;font-weight:800;color:#1E293B}
.ts-sub{font-size:11.5px;color:#94A3B8;margin-top:2px}
.ts-chips{display:flex;flex-wrap:wrap;gap:6px}
.ts-chips span{font-size:11px;font-weight:700;background:var(--cb);color:var(--c);border-radius:8px;padding:3px 10px}
.ts-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#F8FAFC;border-radius:12px;padding:10px 4px}
.ts-stats>div{text-align:center;display:flex;flex-direction:column}
.ts-stats>div+div{border-right:1px solid #EDF0F5}
.ts-stats b{font-size:17px;font-weight:800;color:#1E293B}
.ts-stats span{font-size:10.5px;color:#94A3B8;font-weight:600}
.ts-last{font-size:11.5px;color:#64748B;line-height:1.6}
.ts-last b{color:#334155}
.ts-foot{display:flex;gap:8px;margin-top:auto}
.ts-empty{background:#fff;border:1px dashed #E2E7EF;border-radius:16px;padding:38px 20px;text-align:center;display:flex;flex-direction:column;gap:6px}
.ts-empty b{font-size:14px;color:#334155}.ts-empty span{font-size:12px;color:#94A3B8}
.ts-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ts-toolbar select{border:1px solid #E6EAF1;border-radius:10px;padding:8px 12px;font-family:'Cairo',sans-serif;font-size:12.5px;background:#fff;color:#334155;outline:none}
.ts-list{display:flex;flex-direction:column;gap:10px}
.ts-row{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #EEF1F6;border-radius:14px;padding:12px 16px;cursor:pointer;transition:all .2s ease}
.ts-row:hover{border-color:#DDE3EC;box-shadow:0 10px 22px -16px rgba(15,23,42,.18)}
.ts-row-date{width:50px;height:50px;border-radius:12px;background:color-mix(in srgb,var(--c) 9%,#fff);color:var(--c);display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}
.ts-row-date b{font-size:17px;font-weight:800;line-height:1}.ts-row-date span{font-size:9.5px;font-weight:700;margin-top:2px}
.ts-row-main{flex:1;min-width:0}
.ts-row-title{font-size:13.5px;font-weight:800;color:#1E293B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ts-row-meta{font-size:11px;color:#94A3B8;margin-top:3px}
.ts-st{font-size:10.5px;font-weight:700;border-radius:100px;padding:3px 10px;flex-shrink:0}
.ts-st.ready{background:#F0FAF5;color:#3F9D74}.ts-st.draft{background:#F4F6FA;color:#64748B}
.ts-editor{display:grid;grid-template-columns:1fr 280px;gap:16px;align-items:start}
.ts-ed-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.ts-panel{background:#fff;border:1px solid #EEF1F6;border-radius:16px;padding:18px 20px}
.ts-panel-t{font-size:14px;font-weight:800;color:#1E293B;margin-bottom:14px}
.ts-sticky{position:sticky;top:90px}
.ts-side-p{font-size:12px;color:#64748B;line-height:1.7;margin:0 0 6px}
.ts-num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:6px;background:#EEF3FC;color:#4F7BD9;font-size:11px;font-weight:800;margin-left:7px}
.ts-cls-pick{display:flex;flex-wrap:wrap;gap:8px}
.ts-cls{background:#F8FAFC;border:1px solid #E6EAF1;border-radius:10px;padding:7px 12px !important}
.ts-view{background:#fff;border:1px solid #EEF1F6;border-radius:18px;padding:24px 26px;position:relative;overflow:hidden}
.ts-view::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:var(--c);opacity:.55}
.ts-view-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:16px;border-bottom:1px solid #F1F4F8;margin-bottom:6px}
.ts-view-subj{font-size:12px;font-weight:700;color:var(--c)}
.ts-view-head h1{font-size:20px;font-weight:800;color:#1E293B;margin:4px 0}
.ts-view-meta{font-size:12px;color:#94A3B8}
.ts-view-sec{padding:14px 0;border-bottom:1px solid #F5F7FA}
.ts-view-sec:last-child{border-bottom:none}
.ts-view-sec-t{font-size:13px;font-weight:800;color:#334155;margin-bottom:7px;display:flex;align-items:center}
.ts-view-sec-b{font-size:13px;color:#475569;line-height:1.9;padding-right:27px}
.ts-view-sec-b.empty{color:#CBD5E1;font-style:italic}
.ts-view-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
@media(max-width:1000px){.ts-editor{grid-template-columns:1fr}.ts-sticky{position:static}}
@media(max-width:900px){.ts-summary{grid-template-columns:repeat(3,1fr)}.ts-summary>div:nth-child(3){border-left:none}.ts-summary>div:nth-child(n+4){border-top:1px solid #F1F4F8}}
@media(max-width:560px){.ts-summary{grid-template-columns:repeat(2,1fr)}.ts-grid{grid-template-columns:1fr}.ts-foot{flex-wrap:wrap}}

/* ════════════ إدارة المدارس — تصميم احترافي هادئ ════════════ */
.sch-back{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #E6EAF1;border-radius:10px;padding:8px 14px;font-family:inherit;font-size:12.5px;font-weight:700;color:#475569;cursor:pointer;margin-bottom:16px}
.sch-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.sch-head h1{font-size:22px;font-weight:800;color:#1E293B;margin:0}
.sch-head p{font-size:12.5px;color:#94A3B8;margin:5px 0 0}
.sch-btn{display:inline-flex;align-items:center;gap:6px;border-radius:11px;padding:9px 16px;font-family:'Cairo',sans-serif;font-size:12.5px;font-weight:700;cursor:pointer;transition:all .2s ease;border:1px solid transparent}
.sch-btn svg{width:15px;height:15px}
.sch-btn.primary{background:#4F7BD9;color:#fff}
.sch-btn.primary:hover{background:#3F68C2}
.sch-btn.ghost{background:#fff;color:#475569;border-color:#E6EAF1}
.sch-btn.ghost:hover{background:#F6F8FB}
.sch-summary{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #EEF1F6;border-radius:16px;margin-bottom:18px;overflow:hidden}
.sch-sum-item{padding:14px 18px;border-left:1px solid #F1F4F8;display:flex;flex-direction:column;gap:2px}
.sch-sum-item:last-child{border-left:none}
.sch-sum-item b{font-size:22px;font-weight:800;color:#1E293B;line-height:1.1}
.sch-sum-item span{font-size:11.5px;color:#94A3B8;font-weight:600}
.sch-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.sch-chips{display:flex;gap:6px;flex-wrap:wrap}
.sch-chip{background:#fff;border:1px solid #E6EAF1;border-radius:100px;padding:7px 14px;font-family:'Cairo',sans-serif;font-size:12px;font-weight:700;color:#64748B;cursor:pointer;transition:all .2s}
.sch-chip em{font-style:normal;font-size:10.5px;background:#F1F4F8;color:#64748B;border-radius:100px;padding:1px 7px;margin-right:4px}
.sch-chip.on{background:#1E293B;border-color:#1E293B;color:#fff}
.sch-chip.on em{background:rgba(255,255,255,.18);color:#fff}
.sch-search{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #E6EAF1;border-radius:11px;padding:0 12px;min-width:260px}
.sch-search svg{width:16px;height:16px;color:#94A3B8;flex-shrink:0}
.sch-search input{border:none;outline:none;background:transparent;padding:9px 0;font-family:'Cairo',sans-serif;font-size:12.5px;color:#1E293B;width:100%}
.sch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.sch-card{background:#fff;border:1px solid #EEF1F6;border-radius:18px;padding:18px 20px;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.03),0 8px 22px -16px rgba(15,23,42,.10);transition:transform .25s ease,box-shadow .25s ease}
.sch-card::before{content:"";position:absolute;top:0;right:0;left:0;height:3px;background:var(--t);opacity:.55}
.sch-card:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(15,23,42,.04),0 16px 32px -18px rgba(15,23,42,.18)}
.sch-card-top{display:flex;align-items:center;gap:12px}
.sch-logo{width:46px;height:46px;border-radius:13px;background:var(--tb);color:var(--t);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;flex-shrink:0}
.sch-info{flex:1;min-width:0}
.sch-name{font-size:14.5px;font-weight:800;color:#1E293B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sch-group{font-size:11.5px;color:#94A3B8;margin-top:2px}
.sch-status{font-size:10.5px;font-weight:700;border-radius:100px;padding:3px 10px;flex-shrink:0}
.sch-status.on{background:#F0FAF5;color:#3F9D74}
.sch-status.off{background:#F4F6FA;color:#94A3B8}
.sch-tags{display:flex;gap:6px}
.sch-tag{font-size:11px;font-weight:700;border-radius:8px;padding:3px 10px;background:#F4F6FA;color:#64748B}
.sch-tag.type{background:var(--tb);color:var(--t)}
.sch-stats{display:grid;grid-template-columns:repeat(3,1fr);background:#F8FAFC;border-radius:12px;padding:10px 4px}
.sch-stats>div{text-align:center;display:flex;flex-direction:column;gap:1px}
.sch-stats>div+div{border-right:1px solid #EDF0F5}
.sch-stats b{font-size:17px;font-weight:800;color:#1E293B}
.sch-stats span{font-size:10.5px;color:#94A3B8;font-weight:600}
.sch-foot{display:flex;justify-content:space-between;gap:8px;margin-top:auto}
.sch-foot .sch-btn.primary{flex:1;justify-content:center}
.sch-empty{grid-column:1/-1;text-align:center;padding:40px;color:#94A3B8;font-size:13px;background:#fff;border:1px dashed #E6EAF1;border-radius:16px}
@media(max-width:900px){.sch-summary{grid-template-columns:repeat(3,1fr)}.sch-sum-item:nth-child(3){border-left:none}.sch-sum-item:nth-child(n+4){border-top:1px solid #F1F4F8}}
@media(max-width:560px){.sch-summary{grid-template-columns:repeat(2,1fr)}.sch-search{min-width:0;width:100%}.sch-grid{grid-template-columns:1fr}}

/* ════════════════════════════════════════════════════════════════════════
   نظام الإرشاد الطلابي — مكوّنات مشتركة (gd- = Guidance Dashboard)، معزولة تماماً
   ════════════════════════════════════════════════════════════════════════ */
:root{ --gd-primary:#2563EB; --gd-secondary:#4F46E5; --gd-accent:#06B6D4; --gd-success:#10B981; --gd-warning:#F59E0B; --gd-danger:#EF4444; --gd-ink:#0F172A; --gd-mut:#64748B; --gd-border:#E2E8F0; --gd-page-bg:#F6F8FC; }
.gd-wrap{background:var(--gd-page-bg);margin:-1px;padding:1px}
.gd-head{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px}
.gd-head h1{font-size:21px;font-weight:800;color:var(--gd-ink);margin:0}
.gd-head p{font-size:12.5px;color:var(--gd-mut);margin:5px 0 0}
.gd-btn{background:var(--gd-primary);color:#fff;border:none;border-radius:12px;padding:10px 18px;font-family:'Cairo',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:filter .2s;display:inline-flex;align-items:center;gap:6px}
.gd-btn:hover{filter:brightness(.92)}
.gd-btn.ghost{background:#fff;color:var(--gd-ink);border:1px solid var(--gd-border)}
.gd-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
@media(max-width:1100px){.gd-stat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.gd-stat-grid{grid-template-columns:1fr}}
.gd-stat{background:#fff;border:1px solid var(--gd-border);border-radius:18px;padding:16px 18px;cursor:pointer;transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s;box-shadow:0 1px 2px rgba(15,23,42,.03)}
.gd-stat:hover{transform:translateY(-3px);box-shadow:0 14px 26px -14px rgba(15,23,42,.18)}
.gd-stat-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.gd-stat-ic{width:36px;height:36px;border-radius:11px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--s-bg);color:var(--s-c)}
.gd-stat-ic svg{width:18px;height:18px}
.gd-stat-lbl{font-size:12px;font-weight:700;color:var(--gd-mut)}
.gd-stat-val{font-size:26px;font-weight:900;color:var(--gd-ink);font-family:'Tajawal',Cairo,sans-serif}
.gd-filter-bar{display:flex;flex-wrap:wrap;gap:9px;align-items:center;background:#fff;border:1px solid var(--gd-border);border-radius:16px;padding:12px 14px;margin-bottom:16px}
.gd-filter-bar input,.gd-filter-bar select{border:1.5px solid var(--gd-border);border-radius:10px;padding:8px 12px;font-family:'Cairo',sans-serif;font-size:12.5px;background:#fff;color:var(--gd-ink);outline:none}
.gd-filter-bar input:focus,.gd-filter-bar select:focus{border-color:var(--gd-primary)}
.gd-filter-bar input{flex:1;min-width:140px}
.gd-panel{background:#fff;border:1px solid var(--gd-border);border-radius:18px;overflow:hidden}
.gd-row{display:flex;align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #F1F4F9;cursor:pointer;transition:background .15s}
.gd-row:last-child{border-bottom:none}
.gd-row:hover{background:#F8FAFD}
.gd-ava{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;flex-shrink:0;font-size:14px}
.gd-badge{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;padding:4px 10px;border-radius:100px;white-space:nowrap}
.gd-badge.critical{background:#FEF2F2;color:#DC2626}
.gd-badge.high{background:#FFF1E6;color:#EA580C}
.gd-badge.medium{background:#FFFBEB;color:#D97706}
.gd-badge.normal,.gd-badge.low{background:#EFF6FF;color:#2563EB}
.gd-badge.ok,.gd-badge.closed,.gd-badge.completed{background:#ECFDF5;color:#059669}
.gd-badge.upcoming,.gd-badge.open{background:#EFF6FF;color:#2563EB}
.gd-badge.cancelled{background:#F1F5F9;color:#64748B}
.gd-empty{text-align:center;padding:44px 20px;color:var(--gd-mut)}
.gd-empty svg{width:40px;height:40px;color:#CBD5E1;margin-bottom:10px}
.gd-empty-t{font-size:13.5px;font-weight:700;color:var(--gd-ink);margin-bottom:4px}
.gd-timeline{position:relative;padding-right:22px}
.gd-timeline::before{content:"";position:absolute;right:6px;top:6px;bottom:6px;width:2px;background:var(--gd-border)}
.gd-tl-item{position:relative;padding-bottom:18px}
.gd-tl-item::before{content:"";position:absolute;right:-22px;top:3px;width:10px;height:10px;border-radius:50%;background:var(--tl-c,var(--gd-primary));border:2px solid #fff;box-shadow:0 0 0 2px var(--tl-c,var(--gd-primary))}

@media(max-width:1180px){.ent-kpi2-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ent-kpi2-grid{grid-template-columns:1fr}}
.ent-kpi2{
  position:relative;background:#FFFFFF;
  border:1px solid #EEF1F6;border-radius:20px;padding:20px 22px;
  min-height:196px;display:flex;flex-direction:column;
  box-shadow:0 1px 2px rgba(15,23,42,.03), 0 8px 24px -16px rgba(15,23,42,.10);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  cursor:pointer;overflow:hidden;
}
.ent-kpi2:hover{transform:translateY(-3px);box-shadow:0 1px 2px rgba(15,23,42,.04), 0 16px 32px -18px rgba(15,23,42,.18);border-color:#E3E8F0}
.ent-kpi2:hover .ent-kpi2-ic{transform:scale(1.05)}
.ent-kpi2-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}
.ent-kpi2-head{display:flex;align-items:center;gap:11px;min-width:0}
.ent-kpi2-ic{width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;
  background:var(--k-soft);color:var(--k-color);transition:transform .25s ease}
.ent-kpi2-ic svg{width:20px;height:20px}
.ent-kpi2-badge{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;font-weight:700;padding:3px 9px;border-radius:100px;white-space:nowrap;flex-shrink:0;background:#F4F6FA;color:#64748B}
.ent-kpi2-badge svg{width:10px;height:10px}
.ent-kpi2-badge.up{background:#F0FAF5;color:#3F9D74}
.ent-kpi2-badge.down{background:#FDF3F3;color:#C2595B}
.ent-kpi2-badge.warn{background:#FBF6EC;color:#B7873A}
.ent-kpi2-lbl{font-size:13.5px;font-weight:700;color:#334155;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-kpi2-note{font-size:11.5px;font-weight:500;color:#94A3B8;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ent-kpi2-val-row{display:flex;align-items:baseline;gap:6px;margin:0 0 14px}
.ent-kpi2-val{font-size:32px;font-weight:800;color:#1E293B;font-family:'Cairo',sans-serif;line-height:1;letter-spacing:-.5px}
.ent-kpi2-unit{font-size:12px;font-weight:600;color:#A0AEC0}
.ent-kpi2-viz{margin-top:auto;display:flex;align-items:flex-end;min-height:34px}

:root{
  --hub-navy:#181430; --hub-navy2:#2E2A5C; --hub-brass:#C79A4B; --hub-brass-l:#F4E7C8;
  --hub-cream:#FBF8F2; --hub-ink:#1D1930; --hub-mut:#7A7593;
}
.ent-hub-hero{
  position:relative; overflow:hidden; border-radius:20px; padding:30px 32px;
  background:linear-gradient(135deg,var(--hub-navy) 0%,var(--hub-navy2) 100%);
  color:#fff; box-shadow:0 20px 44px -20px rgba(24,20,48,.45);
}
.ent-hub-hero::before{
  content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background-image:radial-gradient(circle, rgba(199,154,75,.35) 1.5px, transparent 1.5px);
  background-size:22px 22px; mask-image:radial-gradient(ellipse 60% 100% at 100% 0%, #000 40%, transparent 80%);
}
.ent-hub-hero-row{position:relative; z-index:1; display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap}
.ent-hub-hero h1{font-size:26px; font-weight:800; margin:0; letter-spacing:-.4px}
.ent-hub-hero p{font-size:13px; color:#C9C5E0; margin:8px 0 0; max-width:46ch; line-height:1.7}
.ent-hub-stats{display:flex; gap:22px; position:relative; z-index:1}
.ent-hub-stat{text-align:center}
.ent-hub-stat b{display:block; font-size:28px; font-weight:800; font-family:'Tajawal',Cairo; color:var(--hub-brass); line-height:1}
.ent-hub-stat span{font-size:10.5px; color:#B9B4D6; font-weight:600}

.ent-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
@media(max-width:980px){.ent-hub-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.ent-hub-grid{grid-template-columns:1fr}}
.ent-hub-card{
  position:relative;background:var(--hc-bg);border-radius:18px;padding:22px;cursor:pointer;
  border:1px solid rgba(0,0,0,.04);overflow:hidden;transition:.22s cubic-bezier(.4,0,.2,1);
}
.ent-hub-card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -18px rgba(24,20,48,.22)}
.ent-hub-card.featured{grid-column:span 2}
@media(max-width:640px){.ent-hub-card.featured{grid-column:span 1}}
.ent-hub-card-top{display:flex;align-items:center;gap:13px;margin-bottom:16px}
.ent-hub-ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px;background:var(--hc);flex-shrink:0;box-shadow:0 6px 14px -6px var(--hc)}
.ent-hub-card-t{font-size:15px;font-weight:800;color:var(--hub-ink)}
.ent-hub-card-d{font-size:11.5px;color:var(--hub-mut);margin-top:2px;line-height:1.5}
.ent-hub-card-n{font-size:30px;font-weight:800;font-family:'Tajawal',Cairo;color:var(--hub-ink);display:flex;align-items:baseline;gap:7px}
.ent-hub-card-n span{font-size:11px;font-weight:700;color:var(--hub-mut)}
.ent-hub-card-go{margin-top:14px;font-size:11.5px;font-weight:800;color:var(--hc);display:flex;align-items:center;gap:4px}
@media print{
  .sidebar, .topbar, .ent-print-hide { display:none !important; }
  #mainContent{ padding:0 !important; }
  .ent-panel{ box-shadow:none !important; border:1px solid #ddd !important; }
  .gd-panel{ box-shadow:none !important; border:1px solid #ddd !important; }
  .wp-print-head{ display:block !important; }
}
/* ── قائمة جانبية أرقى لمدير النظام: نفس الخلفية الفاتحة الأصلية، بس عناصر أجمل وأوضح (باقي الأدوار زي ما هي) ── */
.ent-sb-nav.sysadmin-theme{padding-top:10px}
.ent-sb-nav.sysadmin-theme .ent-sb-sec{color:var(--hub-brass) !important;font-weight:800 !important;letter-spacing:1px !important}
.ent-sb-nav.sysadmin-theme .ent-sb-sec::after{background:linear-gradient(90deg,rgba(199,154,75,.35),transparent) !important}
.ent-sb-nav.sysadmin-theme .ent-sb-item{margin:2px 10px !important;padding:9px 14px !important;border-radius:11px !important}
.ent-sb-nav.sysadmin-theme .ent-sb-item .ent-sb-icon{
  width:30px !important;height:30px !important;border-radius:9px !important;
  background:#F3EEE0 !important;font-size:14px !important;opacity:1 !important;
  box-shadow:inset 0 0 0 1px rgba(199,154,75,.18) !important;
}
.ent-sb-nav.sysadmin-theme .ent-sb-item:hover{background:#FAF6EC !important;color:var(--hub-ink) !important}
.ent-sb-nav.sysadmin-theme .ent-sb-item:hover .ent-sb-icon{background:var(--hub-brass-l) !important}
.ent-sb-nav.sysadmin-theme .ent-sb-item.active{
  background:linear-gradient(90deg,var(--hub-brass-l),rgba(244,231,200,.25)) !important;
  color:var(--hub-navy) !important;font-weight:800 !important;
  box-shadow:0 4px 12px -6px rgba(199,154,75,.4) !important;
}
.ent-sb-nav.sysadmin-theme .ent-sb-item.active .ent-sb-icon{background:var(--hub-brass) !important;box-shadow:none !important}
.ent-sb-nav.sysadmin-theme .ent-sb-item.active::before{background:var(--hub-brass) !important;width:4px !important}
.ent-sb-nav.sysadmin-theme .ent-sb-quick{background:var(--hub-brass-l) !important;border:1px solid rgba(199,154,75,.25) !important}
.ent-sb-nav.sysadmin-theme .ent-sb-q-row{color:var(--hub-ink) !important}
.ent-sb-nav.sysadmin-theme .ent-sb-q-row b{color:var(--hub-navy) !important}
/* ── كروت الإعدادات: نفس هوية كروت بوابة المنصة، بس بدون تأثير الضغط على الكرت كله (فيها فورم) ── */
.ent-set-card{position:relative;background:#fff;border-radius:16px;padding:20px;border:1px solid #EEF1F8;overflow:hidden;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.ent-set-card::before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:var(--sc);}
.ent-set-card-t{font-size:14.5px;font-weight:800;color:#0F172A;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.ent-set-field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.ent-set-field label{font-size:11px;font-weight:700;color:#64748B}
.ent-set-field input[type=text],.ent-set-field select{padding:9px 12px;border-radius:9px;border:1px solid #E2E8F0;font-family:inherit;font-size:12.5px;background:#FAFBFF}
.ent-set-check{display:flex;align-items:center;gap:8px;font-size:12.5px;color:#334155;margin-bottom:10px;cursor:pointer}
.ent-set-btn{background:var(--sc);color:#fff;border:none;border-radius:9px;padding:10px 16px;font-family:inherit;font-size:12.5px;font-weight:700;cursor:pointer;margin-top:6px}
/* ════════════════════════════════════════════════════════════════════════
   نظام حقول موحّد — مطابق لتصميم المنصة الأصلي (نفس --rx / --border / --primary)
   مستخدَم حصرياً في: منتديات النقاش + البث المباشر (Modal الإنشاء وفورم الجدولة)
   ════════════════════════════════════════════════════════════════════════ */
.ent-form-field{margin-bottom:15px}
.ent-form-field > label{display:block;font-size:12px;font-weight:700;color:var(--t2);margin-bottom:6px}
.ent-form-field input[type=text],
.ent-form-field input[type=url],
.ent-form-field input[type=datetime-local],
.ent-form-field input[type=date],
.ent-form-field input[type=time],
.ent-form-field input[type=number],
.ent-form-field input:not([type]),
.ent-form-field select,
.ent-form-field textarea{
  width:100%;border:1.5px solid var(--border);border-radius:var(--rx);
  padding:10px 13px;font-family:'Cairo',sans-serif;font-size:13px;
  background:var(--white);color:var(--text);outline:none;
  transition:border-color .15s,box-shadow .15s;
  -webkit-appearance:none;appearance:none;
}
.ent-form-field input:focus,.ent-form-field select:focus,.ent-form-field textarea:focus{
  border-color:var(--primary);box-shadow:0 0 0 4px rgba(79,70,229,.08);
}
.ent-form-field input::placeholder,.ent-form-field textarea::placeholder{color:var(--t4,#94A3B8)}
.ent-form-field textarea{resize:vertical;min-height:76px;line-height:1.6}
.ent-form-field select{
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' stroke='%2364748B' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:left 13px center;padding-left:32px;cursor:pointer;
}
.ent-form-field input[type=datetime-local],.ent-form-field input[type=date],.ent-form-field input[type=time]{font-family:'Cairo',sans-serif;color-scheme:light;min-height:42px;text-align:right}
.ent-form-row2{display:flex;gap:12px;flex-wrap:wrap}
.ent-form-row2 > .ent-form-field{flex:1;min-width:160px}
.ent-form-check{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:var(--t2);cursor:pointer;padding:7px 0;user-select:none}
.ent-form-check input[type=checkbox]{
  appearance:none;-webkit-appearance:none;width:19px;height:19px;flex-shrink:0;
  border:1.5px solid var(--border);border-radius:6px;cursor:pointer;position:relative;
  transition:.15s;background:var(--white);
}
.ent-form-check input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}
.ent-form-check input[type=checkbox]:checked::after{
  content:"";position:absolute;right:5px;top:1px;width:5px;height:10px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);
}
.ent-form-btn{background:var(--primary);color:#fff;border:none;border-radius:var(--rx);padding:11px 20px;font-family:'Cairo',sans-serif;font-size:13px;font-weight:700;cursor:pointer;transition:filter .15s}
.ent-form-btn:hover{filter:brightness(.93)}
.ent-form-btn.ghost{background:var(--bg2);color:var(--t2)}
.ent-form-hint{font-size:11px;color:var(--t3);margin-top:5px;line-height:1.6}
.ent-hero-stat.warn b{color:#FCD34D}

/* hide old banner inside dashboard if ent renders */
body.ent-mode .banner{display:none!important}

/* small misc */
.ent-row{display:flex;align-items:center;gap:10px}
.ent-spacer{flex:1}
.ent-empty{text-align:center;padding:24px 12px;color:var(--ent-t4);font-size:12px;font-weight:600}
.ent-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}

/* Tooltip on hover for KPI subtitle */
.ent-kpi-title-row{display:flex;flex-direction:column;gap:2px}

/* Responsive nudge */
@media(max-width:920px){
  body.ent-mode .ent-system-status{display:none}
  body.ent-mode .search-wrap{width:160px!important}
}
