:root{
  --bg:#f4f6f8; --surface:#ffffff; --border:#e2e6ea; --text:#1f2937; --muted:#6b7280;
  --brand:#0f4c5c; --brand-light:#e7f0f2;
  --excellent:#1a8754; --excellent-bg:#e8f6ee;
  --good:#2f6fb0; --good-bg:#e9f2fb;
  --follow:#b8720c; --follow-bg:#fdf2e0;
  --critical:#b3261e; --critical-bg:#fbe9e8;
  --nodata:#6b7280; --nodata-bg:#eef0f2;
  --notactivated:#8a8f98; --notactivated-bg:#eceef0;
  --shadow:0 1px 3px rgba(16,24,32,.08), 0 1px 2px rgba(16,24,32,.04);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:"Segoe UI","Tahoma","Geeza Pro","Arial",sans-serif;
  background:var(--bg); color:var(--text); direction:rtl; text-align:right;
  font-size:15px; line-height:1.6;
}
a{color:inherit}
.app{display:flex; min-height:100vh}

/* الشريط الجانبي */
.sidebar{
  width:250px; flex:0 0 250px; background:var(--brand); color:#fff;
  padding:20px 14px; position:sticky; top:0; height:100vh; overflow-y:auto;
}
.sidebar h1{font-size:17px; margin:0 0 4px; font-weight:700}
.sidebar .sub{font-size:12px; color:#cfe3e7; margin-bottom:18px}
.sidebar nav a{
  display:flex; align-items:center; gap:8px; padding:9px 10px; border-radius:8px;
  color:#e7f2f4; text-decoration:none; font-size:13.5px; margin-bottom:2px; cursor:pointer;
}
.sidebar nav a:hover{background:rgba(255,255,255,.08)}
.sidebar nav a.active{background:#fff; color:var(--brand); font-weight:700}
.sidebar .group-label{font-size:11px; color:#a9c9cd; margin:14px 6px 6px; text-transform:uppercase; letter-spacing:.04em}
.badge-count{margin-inline-start:auto; background:rgba(255,255,255,.18); border-radius:999px; padding:1px 7px; font-size:11px}
.sidebar nav a.active .badge-count{background:var(--brand-light); color:var(--brand)}

/* المحتوى */
.main{flex:1; padding:22px 26px; max-width:1280px}
.topbar{display:flex; align-items:center; justify-content:space-between; margin-bottom:18px}
.topbar h2{margin:0; font-size:20px}
.topbar .meta{font-size:12px; color:var(--muted)}
.section{display:none}
.section.active{display:block}

.grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(260px,1fr)); gap:14px}
.card{background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:15px 16px; box-shadow:var(--shadow)}
.card h3{margin:0 0 10px; font-size:14.5px}
.card.clickable{cursor:pointer; transition:transform .1s ease}
.card.clickable:hover{transform:translateY(-1px); border-color:#c9d3d8}

.status-badge{display:inline-flex; align-items:center; gap:5px; font-size:12px; font-weight:700; padding:3px 10px; border-radius:999px}
.status-excellent{background:var(--excellent-bg); color:var(--excellent)}
.status-good{background:var(--good-bg); color:var(--good)}
.status-needs_follow_up{background:var(--follow-bg); color:var(--follow)}
.status-critical{background:var(--critical-bg); color:var(--critical)}
.status-no_data{background:var(--nodata-bg); color:var(--nodata)}
.status-not_activated{background:var(--notactivated-bg); color:var(--notactivated)}
.status-open{background:var(--critical-bg); color:var(--critical)}

.kv{display:flex; justify-content:space-between; font-size:13px; margin:4px 0; color:var(--muted)}
.kv b{color:var(--text); font-weight:600}

.progress{height:8px; background:#eef1f3; border-radius:99px; overflow:hidden; margin:8px 0}
.progress > span{display:block; height:100%; background:var(--good)}

.task-mini{display:flex; gap:10px; font-size:11.5px; color:var(--muted); margin-top:8px; flex-wrap:wrap}
.task-mini b{color:var(--text)}

.empty-note{font-size:12.5px; color:var(--muted); background:var(--nodata-bg); border:1px dashed var(--border); border-radius:8px; padding:10px 12px; margin:10px 0}

table{width:100%; border-collapse:collapse; font-size:13px; background:var(--surface)}
th,td{padding:8px 10px; border-bottom:1px solid var(--border); text-align:start}
th{background:#f9fafb; font-weight:700; color:var(--muted); font-size:12px}
tr:hover td{background:#fafcfd}

.pill{display:inline-block; font-size:11px; padding:2px 8px; border-radius:999px; background:var(--brand-light); color:var(--brand)}
.priority-عالية{color:var(--critical); font-weight:700}
.priority-متوسطة{color:var(--follow); font-weight:700}
.priority-منخفضة{color:var(--muted)}

.filters{display:flex; gap:8px; margin-bottom:12px; flex-wrap:wrap}
.filters select, .filters input{padding:6px 10px; border:1px solid var(--border); border-radius:8px; font-size:13px; background:#fff}

.breadcrumb{font-size:12.5px; color:var(--muted); margin-bottom:10px}
.breadcrumb b{color:var(--brand); cursor:pointer}

.profile-header{display:flex; align-items:center; gap:12px; margin-bottom:14px}
.avatar{width:44px; height:44px; border-radius:50%; background:var(--brand-light); color:var(--brand); display:flex; align-items:center; justify-content:center; font-weight:700; flex:0 0 44px; font-size:16px}

.tags{display:flex; flex-wrap:wrap; gap:5px; justify-content:flex-end}
.tag{display:inline-block; font-size:11px; padding:2px 8px; border-radius:999px; background:var(--brand-light); color:var(--brand); white-space:nowrap}
.link{color:var(--brand); cursor:pointer; text-decoration:underline}
h4{font-size:13px; color:var(--muted); margin:10px 0 6px}

.report-list{display:grid; gap:10px}
.report-row{display:flex; align-items:center; justify-content:space-between; background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:12px 14px}
.report-row .name{font-weight:600}
.btn{background:var(--brand); color:#fff; border:none; padding:7px 14px; border-radius:8px; font-size:12.5px; cursor:pointer}
.btn:disabled{background:#c7ced2; cursor:not-allowed}
.btn.secondary{background:transparent; color:var(--brand); border:1px solid var(--brand)}
.btn.danger{background:#b3261e; color:#fff}
.btn.danger.secondary{background:transparent; color:#b3261e; border:1px solid #b3261e}
.la-card-delete-btn{background:transparent; color:#b3261e; border:1px solid #b3261e; border-radius:6px; padding:3px 8px; font-size:12px; cursor:pointer; margin-top:8px}
.la-trash-section{margin-top:26px; border-top:1px solid var(--border); padding-top:18px}

.not-approved-banner{background:#fff7e6; border:1px solid #f1cf8a; color:#7a5410; padding:10px 14px; border-radius:10px; font-size:12.5px; margin-bottom:14px}

.legend{display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--muted); margin-bottom:14px}
.legend span{display:inline-flex; align-items:center; gap:5px}
.dot{width:9px; height:9px; border-radius:50%; display:inline-block}
.dot.excellent{background:var(--excellent)} .dot.good{background:var(--good)}
.dot.needs_follow_up{background:var(--follow)} .dot.critical{background:var(--critical)}
.dot.no_data{background:var(--nodata)}

@media (max-width: 900px){
  .app{flex-direction:column}
  .sidebar{width:100%; height:auto; position:relative}
  .main{padding:16px}
}

/* ============================================================
   مساعد القيادة — نافذة منبثقة، نماذج، مُكرِّرات، مراحل، تبويبات
   ============================================================ */
.la-modal-overlay{
  position:fixed; inset:0; background:rgba(15,25,30,.45); display:flex;
  align-items:flex-start; justify-content:center; padding:40px 16px; overflow-y:auto; z-index:1000;
}
.la-modal{
  background:var(--surface); border-radius:14px; width:100%; max-width:560px;
  box-shadow:0 12px 34px rgba(16,24,32,.22); max-height:calc(100vh - 80px); display:flex; flex-direction:column;
}
.la-modal-wide{max-width:820px}
.la-modal-header{
  display:flex; align-items:center; justify-content:space-between; padding:14px 18px;
  border-bottom:1px solid var(--border); flex:0 0 auto;
}
.la-modal-header h3{margin:0; font-size:15.5px}
.la-modal-close{
  background:none; border:none; font-size:22px; line-height:1; color:var(--muted);
  cursor:pointer; padding:0 4px;
}
.la-modal-close:hover{color:var(--text)}
.la-modal-body{padding:16px 18px; overflow-y:auto; overflow-x:auto}

.la-form-row{display:flex; flex-direction:column; gap:5px; margin-bottom:12px}
.la-form-row label{font-size:12.5px; color:var(--muted); font-weight:600}
.la-form-row input, .la-form-row select, .la-form-row textarea{
  padding:8px 10px; border:1px solid var(--border); border-radius:8px; font-size:13.5px;
  font-family:inherit; background:#fff; color:var(--text); resize:vertical;
}
.la-form{display:flex; flex-direction:column}
.la-form-actions{display:flex; gap:8px; margin-top:14px; flex-wrap:wrap}

.la-chooser{display:grid; gap:12px; grid-template-columns:1fr}
.la-chooser-option{
  border:1px solid var(--border); border-radius:12px; padding:14px 16px; cursor:pointer;
  transition:border-color .1s ease, background .1s ease;
}
.la-chooser-option:hover{border-color:var(--brand); background:var(--brand-light)}
.la-chooser-option h4{margin:0 0 4px; font-size:14px; color:var(--brand)}
.la-chooser-option p{margin:0; font-size:12.5px; color:var(--muted)}

.la-repeater{margin-bottom:14px; display:flex; flex-direction:column; gap:6px}
.la-repeater > label{font-size:12.5px; color:var(--muted); font-weight:600}
.la-repeater-row{display:flex; gap:6px; align-items:center; margin-bottom:6px; flex-wrap:wrap}
.la-repeater-row input{flex:1; min-width:120px; padding:7px 9px; border:1px solid var(--border); border-radius:8px; font-size:13px}
.la-decision-row input[type="text"]{flex:1 1 160px}
.la-decision-row input[type="date"]{flex:0 0 140px}
.la-checkbox{display:flex; align-items:center; gap:5px; font-size:12px; color:var(--muted); white-space:nowrap}

.la-stage-bar{display:flex; gap:6px; flex-wrap:wrap}
.la-stage-btn{
  background:var(--nodata-bg); color:var(--muted); border:1px solid var(--border); border-radius:999px;
  padding:6px 13px; font-size:12px; cursor:pointer; font-weight:600;
}
.la-stage-btn:hover{border-color:var(--brand)}
.la-stage-btn.active{background:var(--brand); color:#fff; border-color:var(--brand)}

.la-tabs{display:flex; gap:6px; flex-wrap:wrap; border-bottom:1px solid var(--border); margin-top:16px; padding-bottom:0}
.la-tab-btn{
  background:none; border:none; border-bottom:2px solid transparent; padding:9px 6px; font-size:13px;
  color:var(--muted); cursor:pointer; font-weight:600;
}
.la-tab-btn:hover{color:var(--text)}
.la-tab-btn.active{color:var(--brand); border-bottom-color:var(--brand)}

.la-tasks-table{width:100%; border-collapse:collapse; font-size:13px}
.la-tasks-table th, .la-tasks-table td{padding:8px 10px; border-bottom:1px solid var(--border); text-align:right; vertical-align:top}
.la-tasks-table select{padding:5px 7px; border:1px solid var(--border); border-radius:7px; font-size:12.5px; margin-left:6px}
.la-tasks-table .btn.secondary{padding:5px 9px; font-size:12px; margin:2px}
tr.la-task-row-overdue{background:var(--critical-bg)}
tr.la-task-row-overdue td{color:var(--critical)}

.la-action-candidate-row{align-items:flex-start; background:var(--nodata-bg); border-radius:10px; padding:10px; margin-bottom:8px}
.la-action-candidate-row input[type="text"]{width:100%; min-width:0}

/* قاعدة عامة للوثائق الرسمية: تلوّن وتُخطِّط أي وثيقة (.la-print-doc) بألوان وخط
   الهوية المعتمدة عبر متغيرات CSS تضبطها applyBrandTheme()، مع رجوع تلقائي لألوان
   النظام المحايدة (--brand/--brand-light) حين لا تكون الهوية مُهيّأة بعد. */
.la-print-doc{line-height:1.8; font-family:var(--doc-font, inherit)}
.la-print-doc .la-doc-title{color:var(--doc-accent, var(--text))}
.la-print-doc h3{color:var(--doc-accent, var(--brand))}
.la-print-doc table thead{background:var(--doc-accent-2, var(--brand-light))}
.la-print-doc table th, .la-print-doc table td{border-bottom:1px solid var(--doc-accent, var(--border)); padding:6px 8px; text-align:right}
.la-print-doc .la-signature-block{border-top-color:var(--doc-accent, var(--border))}
.la-bulletin-textarea{
  width:100%; min-height:340px; padding:12px; border:1px solid var(--border); border-radius:10px;
  font-family:inherit; font-size:13.5px; line-height:1.9; resize:vertical;
}

/* سجل جميع المهام — فلاتر الحالة الثمانية */
.la-filter-chips{display:flex; gap:6px; flex-wrap:wrap; margin:10px 0}
.la-filter-chip{
  background:var(--nodata-bg); color:var(--muted); border:1px solid var(--border); border-radius:999px;
  padding:5px 13px; font-size:12px; cursor:pointer; font-weight:600;
}
.la-filter-chip:hover{border-color:var(--brand)}
.la-filter-chip.active{background:var(--brand); color:#fff; border-color:var(--brand)}

/* خطتا التحصيل الدراسي والنمو المهني — صفحة الخطة التفصيلية: فلاتر، تبديل
   جدول/خط زمني، والعرض الزمني (Timeline) لمراحل كل برنامج/مبادرة */
.la-filters-bar{display:flex; gap:14px; flex-wrap:wrap; align-items:flex-end; margin-bottom:10px}
.la-filters-bar .la-form-row{margin-bottom:0; min-width:150px}
.la-view-toggle{display:flex; gap:8px; margin-bottom:6px}
.la-view-toggle .la-view-btn.active{background:var(--brand); color:#fff; border-color:var(--brand)}
.la-timeline-wrap{display:flex; flex-direction:column; gap:10px}
.la-timeline-row{
  display:flex; align-items:center; gap:14px; background:var(--surface); border:1px solid var(--border);
  border-radius:10px; padding:10px 14px; cursor:pointer;
}
.la-timeline-row:hover{border-color:var(--brand)}
.la-timeline-label{flex:0 0 210px; font-size:13px}
.la-timeline-track{flex:1; display:flex; gap:3px; min-width:0}
.la-timeline-seg{
  flex:1; min-width:0; color:#fff; font-size:10.5px; font-weight:700; text-align:center;
  padding:8px 2px; border-radius:5px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}

/* مُدخل اختيار متعدد عام (مادة أو مرحلة/صف لبرنامج/مبادرة خطة التحصيل الدراسي) —
   شرائح (chips) للعناصر المختارة + قائمة منسدلة لإضافة عنصر جديد */
.la-multiselect{display:flex; flex-direction:column; gap:8px}
.la-multiselect-chips{display:flex; flex-wrap:wrap; gap:6px}
.la-chip{
  display:inline-flex; align-items:center; gap:6px; background:var(--nodata-bg); color:var(--text);
  border:1px solid var(--border); border-radius:999px; padding:4px 6px 4px 12px; font-size:12.5px; font-weight:600;
}
.la-chip-remove{
  background:none; border:none; cursor:pointer; color:var(--muted); font-size:15px; line-height:1;
  padding:2px 5px; border-radius:50%;
}
.la-chip-remove:hover{background:var(--border); color:var(--text)}

/* منتقي التاريخ الهجري — بديل موحّد لكل مُدخلات التاريخ (يعرض/يُدخل هجريًا فقط،
   والقيمة الداخلية المُرسَلة عبر onChange تبقى ISO ميلادي قياسي دون أي تغيير) */
.la-hijri-date{display:inline-flex; align-items:center; gap:4px; position:relative; width:100%; max-width:180px}
.la-repeater-row .la-hijri-date, .la-decision-row .la-hijri-date, .la-filters-bar .la-hijri-date{flex:0 0 150px; max-width:150px}
.la-hijri-date-field{
  flex:1; padding:7px 9px; border:1px solid var(--border); border-radius:8px; font-size:13px;
  cursor:pointer; background:#fff; text-align:center; direction:ltr; min-width:0;
  font-family:inherit; color:var(--text); display:block;
}
.la-hijri-date-field.empty{color:var(--muted); direction:rtl}
.la-hijri-date-clear{
  background:none; border:none; cursor:pointer; color:var(--muted); font-size:15px; line-height:1;
  padding:2px 5px; border-radius:50%; flex-shrink:0;
}
.la-hijri-date-clear:hover{background:var(--border); color:var(--text)}
.la-hijri-popover{
  position:absolute; z-index:2000; background:#fff; border:1px solid var(--border); border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.18); padding:10px; width:270px; max-width:calc(100vw - 16px);
  max-height:calc(100vh - 16px); overflow-y:auto;
}
.la-hijri-popover-header{display:flex; align-items:center; justify-content:space-between; margin-bottom:8px}
.la-hijri-current-label{font-weight:700; font-size:13.5px}
.la-hijri-nav-btn{
  background:var(--nodata-bg); border:1px solid var(--border); border-radius:6px; cursor:pointer;
  font-size:14px; width:26px; height:26px; line-height:1;
}
.la-hijri-nav-btn:hover{background:var(--border)}
.la-hijri-popover-selects{display:flex; gap:6px; margin-bottom:8px}
.la-hijri-popover-selects select{flex:1; padding:5px 6px; border:1px solid var(--border); border-radius:6px; font-size:12.5px}
.la-hijri-grid{display:grid; grid-template-columns:repeat(7, 1fr); gap:3px; text-align:center}
.la-hijri-weekday{font-size:11px; color:var(--muted); font-weight:600; padding:3px 0}
.la-hijri-day{
  background:none; border:1px solid transparent; border-radius:6px; cursor:pointer; padding:6px 0;
  font-size:12.5px; min-height:28px;
}
.la-hijri-day:hover{background:var(--nodata-bg)}
.la-hijri-day.empty{cursor:default; visibility:hidden}
.la-hijri-day.today{border-color:var(--brand, #2563eb); font-weight:700}
.la-hijri-day.selected{background:var(--brand, #2563eb); color:#fff; font-weight:700}
.la-hijri-popover-footer{display:flex; justify-content:center; margin-top:8px}
.la-hijri-today-btn{padding:5px 14px; font-size:12.5px}

/* ============================================================
   الهوية البصرية والترويسة المركزية — مكوّن واحد يُعاد استخدامه في
   محاضر الاجتماعات والنشرات وأي وثيقة مستقبلية
   ============================================================ */
.la-letterhead{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding-bottom:14px; margin-bottom:16px; border-bottom:3px double var(--doc-accent, var(--brand));
}
.la-letterhead .la-letterhead-logo{width:64px; height:64px; object-fit:contain; flex:0 0 64px}
.la-letterhead .la-letterhead-logo-placeholder{
  width:64px; height:64px; flex:0 0 64px; border:1px dashed var(--border); border-radius:8px;
  display:flex; align-items:center; justify-content:center; font-size:10px; color:var(--muted); text-align:center;
}
.la-letterhead .la-letterhead-mid{flex:1; text-align:center}
.la-letterhead .la-letterhead-mid .school-name{font-size:16px; font-weight:700; color:var(--doc-accent, var(--brand)); margin:0}
.la-letterhead .la-letterhead-mid .dept-name{font-size:12.5px; color:var(--muted); margin:2px 0}
.la-letterhead .la-letterhead-mid .academic-year{font-size:11.5px; color:var(--muted)}
/* طريقة الترويسة "المرفوعة": تُعرض الصورة بأبعادها/نسبتها الأصلية كاملة (object-fit:contain)
   دون أي قصّ أو تمديد مُشوِّه — سقف ارتفاع معقول فقط لضبط تخطيط الصفحة عند الطباعة. */
.la-letterhead.la-letterhead-uploaded{display:block; text-align:center; border-bottom-width:1px; border-bottom-style:solid}
.la-letterhead-uploaded-img{max-width:100%; max-height:180px; width:auto; height:auto; object-fit:contain}
.la-letterhead-neutral-note{font-size:11.5px; color:var(--follow); background:var(--follow-bg); border-radius:8px; padding:6px 10px; margin-bottom:10px}
.la-doc-title{text-align:center; font-size:18px; font-weight:700; margin:6px 0 18px; color:var(--text)}

.la-brand-swatch{display:inline-block; width:22px; height:22px; border-radius:6px; border:1px solid var(--border); vertical-align:middle; margin-inline-end:6px}
.la-file-preview-row{display:flex; align-items:center; gap:10px; margin-top:8px}
.la-file-preview-row img{max-width:120px; max-height:80px; border:1px solid var(--border); border-radius:6px; background:#fff}

/* مركز الشواهد الموحَّد (الإصدار 45) — معاينة مضمَّنة داخل النافذة نفسها لصور
   وملفات PDF الشواهد، بلا الانتقال إلى صفحة أو تبويب آخر. */
.la-evidence-preview img{max-width:100%; max-height:420px; width:auto; height:auto; object-fit:contain; border:1px solid var(--border); border-radius:6px; background:#fff; display:block}
.la-evidence-preview iframe{width:100%; height:480px; border:1px solid var(--border); border-radius:6px; background:#fff}
.la-evidence-btn{white-space:nowrap}

/* قالب محضر الاجتماع / النشرة الرسمي */
.la-official-doc-meta{display:grid; grid-template-columns:repeat(auto-fill, minmax(200px,1fr)); gap:6px 18px; margin:12px 0; font-size:13px}
.la-official-doc-meta .kv{margin:0}
.la-signature-block{
  display:grid; grid-template-columns:repeat(auto-fit, minmax(180px,1fr)); gap:22px; margin-top:34px;
  padding-top:16px; border-top:1px solid var(--border); page-break-inside:avoid; break-inside:avoid;
}
.la-signature-block .sig-line{text-align:center; font-size:12.5px; color:var(--muted)}
.la-signature-block .sig-space{height:44px; border-bottom:1px solid var(--text); margin-bottom:6px}
/* خانة توقيع فارغة داخل جدول "أعضاء فريق الاجتماع" — مساحة كافية للتوقيع بعد الطباعة */
.la-sig-cell{min-width:140px; height:34px}
.la-print-doc table{page-break-inside:avoid; break-inside:avoid}
.la-print-doc tr{page-break-inside:avoid; break-inside:avoid}

/* خانة الاعتماد الثابتة (محاضر الاجتماعات + النشرات فقط) — عمودان رسميان
   متقابلان (يمين/يسار)، بمساحة توقيع بين المسمّى والاسم. عنصر عادي ضمن تدفّق
   محتوى الوثيقة (لا رأس/تذييل متكرر) فيظهر مرة واحدة فقط أينما ينتهي المحتوى
   فعليًا — الصفحة الأخيرة حصرًا عند تعدد الصفحات. */
.la-approval-block{
  display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:40px;
  padding-top:18px; border-top:1px solid var(--border); page-break-inside:avoid; break-inside:avoid;
}
.la-approval-col{text-align:center}
.la-approval-title{font-size:13.5px; font-weight:700; color:var(--doc-accent, var(--text)); margin-bottom:8px}
.la-approval-sig-space{height:50px; border-bottom:1px solid var(--text); margin:0 18px 8px}
.la-approval-name{font-size:13px; font-weight:600; color:var(--text)}

/* -------------------------------------------------------------------------
   القالب الرسمي الكامل للوثائق (Master Document Template) — عندما تُفعَّل
   خاصية «استخدام القالب الرسمي المرفوع للوثائق»، تُبنى الوثيقة كصفحة كاملة
   على أساس شعار الرأس ونص/شريط التذييل المأخوذين حرفيًا من الهوية الرسمية
   المرفوعة، بدل الترويسة المختصرة العادية. المحتوى يُكتب حصرًا داخل منطقة
   المحتوى الآمنة بين الرأس والتذييل (la-official-canvas-content) بهوامش
   مضبوطة بالمليمتر من إعدادات الهوية.
   العنصر الجذر <table> فعلي (لا <div>) عن قصد: thead/tfoot الجدول يتكرران
   تلقائيًا أعلى/أسفل كل صفحة مطبوعة عند امتداد المحتوى لأكثر من صفحة — وهذا
   مُختبر فعليًا (Playwright + تصدير PDF حقيقي متعدد الصفحات مفحوص بكسليًا)
   وأثبت أنه الأسلوب الوحيد الموثوق لتكرار الهوية على كل صفحة دون تغطية
   المحتوى، خلافًا لأسلوب position:fixed الذي قد لا يُحترم هامشه في بعض
   محركات تصدير PDF. مكوّن مركزي واحد (buildOfficialTemplateCanvas). */
table.la-official-canvas{
  width:210mm; min-height:297mm; margin:0 auto 24px; background:#fff;
  border:1px solid var(--border); box-shadow:var(--shadow); direction:rtl; text-align:right;
  font-family:var(--doc-font, inherit); border-collapse:collapse; border-spacing:0; table-layout:fixed;
}
.la-official-canvas td{padding:0; border:none; vertical-align:top}
/* الأبعاد والمواضع أدناه (هامش الشعار العلوي ~8مم، محاذاة نص التذييل لليمين
   بهامش 15مم، سماكة الشريط الرفيعة، موضعه على بُعد ~4.6مم من حافة الصفحة
   السفلية) مأخوذة من قياس بكسلي دقيق للصفحة الرسمية الفعلية نفسها (لا تقدير) —
   يبقى المحتوى المتغيّر خارج هذه المناطق تمامًا. */
.la-official-canvas-header{
  height:var(--official-content-top, 36mm);
  display:flex; align-items:flex-start; justify-content:center;
}
.la-official-canvas-header img{
  width:var(--official-header-w, 30.5mm); height:var(--official-header-h, 22.7mm);
  object-fit:contain; margin-top:8mm;
}
.la-official-canvas-footer{
  height:var(--official-content-bottom, 18mm);
  display:flex; flex-direction:column; justify-content:flex-end;
}
.la-official-canvas-footer-text{
  padding:0 var(--official-content-side, 15mm); margin-bottom:1.5mm; font-size:8.5px; line-height:1.6;
  color:var(--official-footer-color, #999); text-align:right;
}
.la-official-canvas-footer-bar{height:0.6mm; width:100%; background:var(--official-bar-color, #07a869); margin-bottom:4mm}
.la-official-canvas-content{
  padding:4mm var(--official-content-side, 15mm); line-height:1.8;
}
.la-official-canvas-content .la-doc-title{margin-top:0; color:var(--doc-accent, var(--text))}
.la-official-canvas-content h3{color:var(--doc-accent, var(--brand)); page-break-after:avoid; break-after:avoid}
.la-official-canvas-content table thead{background:var(--doc-accent-2, var(--brand-light))}
.la-official-canvas-content table th, .la-official-canvas-content table td{border-bottom:1px solid var(--doc-accent, var(--border)); padding:6px 8px; text-align:right}
.la-official-canvas-content table{page-break-inside:avoid; break-inside:avoid; width:100%}
.la-official-canvas-content tr{page-break-inside:avoid; break-inside:avoid}
.la-official-canvas-content .la-signature-block{border-top-color:var(--doc-accent, var(--border))}
.la-official-canvas-content .la-approval-block{border-top-color:var(--doc-accent, var(--border))}

/* محرر النشرات المنسّق */
.la-richtext-toolbar{display:flex; gap:4px; flex-wrap:wrap; margin-bottom:6px; background:var(--nodata-bg); border:1px solid var(--border); border-radius:8px 8px 0 0; padding:6px}
.la-richtext-toolbar button{
  background:#fff; border:1px solid var(--border); border-radius:6px; padding:4px 9px; font-size:12.5px; cursor:pointer;
}
.la-richtext-toolbar button:hover{border-color:var(--brand); color:var(--brand)}
.la-richtext-editable{
  min-height:220px; padding:14px; border:1px solid var(--border); border-radius:0 0 10px 10px; background:#fff;
  font-size:14px; line-height:1.9; direction:rtl; text-align:right;
}
.la-richtext-editable:focus{outline:2px solid var(--brand-light)}
.la-richtext-editable table{width:100%; border-collapse:collapse; margin:10px 0}
.la-richtext-editable table td, .la-richtext-editable table th{border:1px solid var(--border); padding:6px 8px}
.la-richtext-toolbar select, .la-richtext-toolbar input[type=number]{
  border:1px solid var(--border); border-radius:6px; padding:3px 6px; font-size:12.5px; background:#fff; cursor:pointer; max-width:120px;
}
.la-richtext-toolbar input[type=color]{
  width:30px; height:28px; padding:2px; border:1px solid var(--border); border-radius:6px; background:#fff; cursor:pointer;
}
.la-richtext-presets{display:inline-flex; gap:3px; align-items:center}
.la-richtext-swatch{width:18px; height:18px; border-radius:4px; border:1px solid var(--border); padding:0; cursor:pointer}
.la-richtext-swatch-brand{width:22px; height:22px; font-size:11px; line-height:1}
.la-richtext-toolbar button.active{border-color:var(--brand); background:var(--brand-light); color:var(--brand)}
.la-richtext-sep{width:1px; align-self:stretch; background:var(--border); margin:2px 2px}
/* التعداد النقطي/الرقمي داخل محرر النص المنسَّق ووثيقة العرض/الطباعة معًا —
   حشوة يمين صريحة بدل الافتراضي حتى لا تنعكس علامات التعداد جهة خاطئة مع RTL. */
.la-richtext-editable ul, .la-richtext-editable ol,
.la-doc-body ul, .la-doc-body ol{
  padding-right:26px; padding-left:0; margin-right:0;
}
.la-qr-box{display:flex; align-items:center; gap:10px; margin-top:14px}
.la-qr-box svg{width:96px; height:96px; border:1px solid var(--border); border-radius:6px; background:#fff}
.la-workflow-bar{display:flex; gap:6px; flex-wrap:wrap; align-items:center}
.la-importance-عالية{color:var(--critical); font-weight:700}
.la-importance-متوسطة{color:var(--follow); font-weight:700}
.la-importance-منخفضة{color:var(--muted)}

@media print{
  .sidebar, .topbar, .btn, .no-print{display:none !important}
  .main{padding:0; max-width:none}
  .section{display:none !important}
  .section.active{display:block !important}
  body{background:#fff}
  .card{box-shadow:none; border:1px solid #ccc}
  /* ألوان الهوية المعتمدة (--doc-accent) تظهر أيضًا عند الطباعة/تصدير PDF — مع رجوع
     تلقائي لدرجة رمادية محايدة حين لا تكون الهوية مُهيّأة بعد. */
  .la-letterhead{border-bottom-color:var(--doc-accent, #333)}
  .la-letterhead .la-letterhead-mid .school-name{color:var(--doc-accent, #111)}
  .la-print-doc .la-doc-title{color:var(--doc-accent, #111)}
  .la-print-doc h3{color:var(--doc-accent, #111)}
  /* عند فتح نافذة معاينة الطباعة (محضر/نشرة): اطبعي محتوى النافذة فقط، لا الصفحة خلفها */
  body:has(.la-modal-overlay) .section.active{display:none !important}
  .la-modal-overlay{position:static; background:none; padding:0; display:block; overflow:visible}
  .la-modal{max-width:none; max-height:none; box-shadow:none; border-radius:0}
  .la-modal-header{display:none}
  .la-modal-body{overflow:visible; padding:0}
}
