/* ====== قوالب صفحات ملف الإنجاز (A4) ====== */
@font-face { font-family: "Tajawal"; font-weight: 400; src: url(/fonts/tajawal-arabic-400-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF, U+200C-200E; }
@font-face { font-family: "Tajawal"; font-weight: 500; src: url(/fonts/tajawal-arabic-500-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF, U+200C-200E; }
@font-face { font-family: "Tajawal"; font-weight: 700; src: url(/fonts/tajawal-arabic-700-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF, U+200C-200E; }
@font-face { font-family: "Tajawal"; font-weight: 800; src: url(/fonts/tajawal-arabic-800-normal.woff2) format("woff2"); unicode-range: U+0600-06FF, U+0750-077F, U+FB50-FDFF, U+FE70-FEFF, U+200C-200E; }
@font-face { font-family: "Tajawal"; font-weight: 400; src: url(/fonts/tajawal-latin-400-normal.woff2) format("woff2"); unicode-range: U+0000-00FF; }
@font-face { font-family: "Tajawal"; font-weight: 700; src: url(/fonts/tajawal-latin-700-normal.woff2) format("woff2"); unicode-range: U+0000-00FF; }
@font-face { font-family: "Amiri"; font-weight: 400; src: url(/fonts/amiri-arabic-400-normal.woff2) format("woff2"); }
@font-face { font-family: "Amiri"; font-weight: 700; src: url(/fonts/amiri-arabic-700-normal.woff2) format("woff2"); }
@font-face { font-family: "El Messiri"; font-weight: 500; src: url(/fonts/el-messiri-arabic-500-normal.woff2) format("woff2"); }
@font-face { font-family: "El Messiri"; font-weight: 700; src: url(/fonts/el-messiri-arabic-700-normal.woff2) format("woff2"); }
@font-face { font-family: "Aref Ruqaa"; font-weight: 700; src: url(/fonts/aref-ruqaa-arabic-700-normal.woff2) format("woff2"); }

.pf-page {
  --bg: #f7f0e7; --ink: #3d2a2e; --main: #7a2e3b; --soft: #e9d6cf; --cell: #f3e6e1; --head-font: "El Messiri";
  position: relative; width: 210mm; height: 297mm; overflow: hidden; box-sizing: border-box;
  background: var(--bg); color: var(--ink); direction: rtl;
  font-family: var(--body-font, "Tajawal"), "Tajawal", sans-serif; font-size: calc(14pt * var(--fs, 1)); line-height: 1.85;
  page-break-after: always; break-after: page;
}
.pf-page * { box-sizing: border-box; }
.pf-deco { position: absolute; inset: 0; pointer-events: none; }
.pf-deco svg { position: absolute; }
.pf-frame { position: absolute; inset: 9mm; border: 1.2px solid var(--main); border-radius: 3mm; }
.pf-frame::after { content: ""; position: absolute; inset: 1.6mm; border: .5px solid var(--main); opacity: .45; border-radius: 2mm; }
.pf-body { position: absolute; inset: 20mm 22mm 30mm 22mm; display: flex; flex-direction: column; justify-content: center; z-index: 2; }
.pf-body:has(.pf-cover-top), .pf-body:has(.pf-certs) { justify-content: flex-start; }
.pf-num { position: absolute; bottom: 12.5mm; left: 14mm; z-index: 3; min-width: 9mm; height: 6.5mm; padding: 0 2mm;
  background: var(--main); color: #fff; border-radius: 1.6mm; font-size: calc(9.5pt * var(--fs, 1)); display: flex; align-items: center; justify-content: center; }

.pf-h1 { font-family: var(--head-font), "Tajawal"; font-weight: 700; color: var(--main); font-size: calc(28pt * var(--fs, 1)); text-align: center; margin: 0 0 8mm; line-height: 1.4; }
.pf-h2 { font-family: var(--head-font), "Tajawal"; font-weight: 700; color: var(--main); font-size: calc(15pt * var(--fs, 1)); text-align: center; margin: -3mm 0 6mm; }
.pf-h3 { font-weight: 800; color: var(--main); font-size: calc(14pt * var(--fs, 1)); margin: 4mm 0 1.5mm; }
.pf-p { text-align: justify; margin: 0 0 3mm; white-space: pre-line; }
.pf-center { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.pf-list { margin: 0; padding: 0 6mm 0 0; }
.pf-list li { margin-bottom: 2.6mm; padding-right: 1mm; }
.pf-list li::marker { color: var(--main); }

/* الغلاف */
.pf-cover-top { display: flex; justify-content: space-between; align-items: flex-start; font-size: calc(11.5pt * var(--fs, 1)); font-weight: 700; line-height: 1.7; }
.pf-cover-top { align-items: center; gap: 5mm; }
.pf-ct-txt { text-align: center; flex: 0 1 auto; }
.pf-cover-top.both { display: grid; grid-template-columns: 1fr auto 1fr; }
.pf-cover-top.both .pf-ct-logos:last-child { justify-content: flex-end; }
.pf-ct-txt span { white-space: nowrap; }
.pf-ct-logos { flex: none; }
.pf-ct-logos { display: flex; align-items: center; gap: 4mm; }
.pf-cover-top img { max-width: 34mm; max-height: 24mm; object-fit: contain; }
.pf-cover-top img.pf-vision { max-width: 36mm; max-height: 22mm; }
.pf-cover-title { font-family: var(--head-font); font-weight: 700; color: var(--main); font-size: calc(40pt * var(--fs, 1)); line-height: 1.3; margin: 0; }
.pf-cover-job { font-family: var(--head-font); font-weight: 700; color: var(--main); font-size: calc(26pt * var(--fs, 1)); margin: 2mm 0 7mm; }
.pf-cover-name { font-size: calc(17pt * var(--fs, 1)); font-weight: 700; padding: 2mm 10mm; border-top: 1px solid var(--main); border-bottom: 1px solid var(--main); }
.pf-cover-year { margin-top: 6mm; font-size: calc(12pt * var(--fs, 1)); color: var(--main); }
.pf-divider { font-family: var(--head-font); font-size: calc(36pt * var(--fs, 1)); font-weight: 700; color: var(--main); }
.pf-divider-line { width: 40mm; height: 2px; background: var(--main); margin: 4mm auto 0; opacity: .6; }

/* الفهرس */
.pf-toc { list-style: none; padding: 0; margin: 0 6mm; }
.pf-toc li { display: flex; align-items: baseline; gap: 2mm; margin-bottom: 2.4mm; font-size: calc(13pt * var(--fs, 1)); }
.pf-toc li .dots { flex: 1; border-bottom: 1.5px dotted var(--main); opacity: .5; transform: translateY(-1.2mm); }
.pf-toc li b { color: var(--main); min-width: 7mm; text-align: left; }

/* الجداول */
.pf-table { width: 100%; border-collapse: separate; border-spacing: 1.8mm; font-size: calc(12.5pt * var(--fs, 1)); }
.pf-table th { width: 30%; background: var(--soft); color: var(--main); font-weight: 700; padding: 3.2mm 2mm; border-radius: 1.4mm; text-align: center; vertical-align: middle; }
.pf-table td { background: var(--cell); padding: 3.2mm 3mm; border-radius: 1.4mm; text-align: center; vertical-align: middle; line-height: 1.6; }
.pf-qr { display: inline-flex; flex-direction: column; align-items: center; gap: 1mm; font-size: calc(8.5pt * var(--fs, 1)); color: var(--main); }
.pf-qr svg { width: 26mm; height: 26mm; background: #fff; padding: 1.5mm; border-radius: 1.5mm; }
.pf-qr-end { margin-top: 8mm; align-self: flex-start; }
.pf-photo { width: 32mm; height: 38mm; object-fit: cover; border-radius: 2mm; border: 1.5px solid var(--main); align-self: center; margin-bottom: 5mm; }
.pf-values { display: flex; flex-wrap: wrap; gap: 2mm; justify-content: center; margin-top: 1mm; }
.pf-values span { background: var(--soft); color: var(--main); padding: 1mm 4mm; border-radius: 10mm; font-weight: 700; font-size: calc(11pt * var(--fs, 1)); }
.pf-box { background: color-mix(in srgb, var(--soft) 55%, transparent); border-right: 3px solid var(--main); padding: 3mm 5mm; border-radius: 1.5mm; margin-bottom: 4mm; }
.pf-certs { display: grid; grid-template-rows: 1fr 1fr; gap: 6mm; flex: 1; min-height: 0; }
.pf-certs img { width: 100%; height: 100%; object-fit: contain; min-height: 0; }
.pf-certs.one { grid-template-rows: 1fr; }

/* ===== الأشكال ===== */
.pf-page.t-rose { --bg: #f7f0e7; --ink: #3d2a2e; --main: #7a2e3b; --soft: #ead6d0; --cell: #f6ebe6; --head-font: "El Messiri"; }
.pf-page.t-green { --bg: #fbfdfb; --ink: #1f2d27; --main: #0e6b4f; --soft: #d6ebe2; --cell: #eef6f2; --head-font: "Amiri"; }
.pf-page.t-navy { --bg: #fbf9f4; --ink: #1d2433; --main: #1d2a48; --soft: #ebe1c9; --cell: #f4efe2; --head-font: "Amiri"; }
.pf-page.t-navy .pf-frame { border-color: #b8934a; }
.pf-page.t-navy .pf-frame::after { border-color: #b8934a; }
.pf-page.t-navy .pf-num { background: #b8934a; }
.pf-page.t-lilac { --bg: #f8f5fc; --ink: #2e2640; --main: #5b3f8c; --soft: #e4daf2; --cell: #f1ecf8; --head-font: "El Messiri"; }
.pf-page.t-lilac .pf-frame { border-radius: 8mm; }
.pf-page.t-lilac .pf-frame::after { border-radius: 6.5mm; }

/* ===== وزاري حديث ===== */
.pf-page.t-moe { --bg: #ffffff; --ink: #1f2b2e; --main: #137067; --soft: #dcefe8; --cell: #f2f8f6; --head-font: "Tajawal"; }
.pf-page.t-moe .pf-frame { inset: 17mm 9mm 10mm; border: 1px solid #cfe3dc; border-radius: 4mm; }
.pf-page.t-moe .pf-frame::after { display: none; }
.pf-page.t-moe .pf-h1, .pf-page.t-moe .pf-divider, .pf-page.t-moe .pf-cover-title, .pf-page.t-moe .pf-cover-job { font-weight: 800; }
.pf-page.t-moe .pf-num { background: linear-gradient(90deg, #3cb27a, #1f6fb2); }

/* ===== جدول الميثاق / العناصر ===== */
.pf-charter { width: 100%; border-collapse: separate; border-spacing: 0; font-size: calc(11pt * var(--fs, 1)); border: 1px solid var(--soft); border-radius: 2mm; overflow: hidden; }
.pf-charter th { background: var(--main); color: #fff; padding: 2.4mm 2mm; font-weight: 700; }
.pf-charter td { padding: 2.2mm 2mm; text-align: center; border-top: 1px solid var(--soft); line-height: 1.5; }
.pf-charter tr:nth-child(even) td { background: var(--cell); }
.pf-charter td.g { text-align: right; }
.pf-charter tr.sum td { font-weight: 800; color: var(--main); background: var(--soft) !important; }
.pf-el-w { background: var(--soft); color: var(--main); font-weight: 800; border-radius: 10mm; padding: 1mm 6mm; margin-bottom: 5mm; font-size: calc(13pt * var(--fs, 1)); }

/* ===== تقرير الشاهد ===== */
.pf-body:has(.pf-rep) { justify-content: flex-start; inset: 17mm 15mm 16mm 15mm; }
.pf-page.t-moe .pf-body:has(.pf-rep) { inset: 21mm 14mm 14mm 14mm; }
.pf-rep { --fs: calc(min(var(--fs-user, 1), 1.04) * var(--fit, 1)); display: flex; flex-direction: column; gap: 4.5mm; font-size: calc(12.5pt * var(--fs, 1)); line-height: 1.75; height: 100%; }
.rp-head { text-align: center; }
.rp-el { display: table; margin: 0 auto; font-size: calc(10.5pt * var(--fs, 1)); color: var(--main); background: var(--soft); border-radius: 10mm; padding: .3mm 4mm; font-weight: 700; }
.rp-head h1 { font-family: var(--head-font), "Tajawal"; color: #fff; background: var(--main); font-size: calc(18pt * var(--fs, 1)); font-weight: 800; margin: 2.5mm auto 0; padding: 2mm 10mm; border-radius: 2mm; display: inline-block; line-height: 1.5; }
.rp-sub { font-size: calc(11pt * var(--fs, 1)); color: #666; margin-top: 1mm; }
.rp-cards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2mm; }
.rp-cards div { border: 1px solid var(--soft); border-radius: 2mm; padding: 2mm 2.5mm; background: var(--cell); }
.rp-cards span { display: block; font-size: calc(9.5pt * var(--fs, 1)); color: var(--main); font-weight: 700; }
.rp-cards b { font-size: calc(11pt * var(--fs, 1)); font-weight: 500; }
.rp-brief { margin: 0; text-align: justify; background: var(--cell); border-right: 3px solid var(--main); padding: 2mm 3mm; border-radius: 1.5mm; }
.rp-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
.rp-box { border: 1px solid var(--soft); border-radius: 2mm; padding: 3mm 4mm; }
.rp-box h3, .rp-h { margin: 0 0 1.5mm; font-size: calc(13.5pt * var(--fs, 1)); color: var(--main); font-weight: 800; }
.rp-h { text-align: center; margin: 0; }
.rp-box ul { margin: 0; padding: 0 4mm 0 0; }
.rp-box li { margin-bottom: 1.4mm; }
.rp-box li::marker { color: var(--main); }
.rp-chart { height: 68mm; border: 1px solid var(--soft); border-radius: 2mm; padding: 2mm; }
.rp-imgs { display: grid; gap: 3mm; height: 62mm; }
.rp-imgs.n2 { grid-template-columns: 1fr 1fr; }
.rp-imgs img, .rp-gallery img { width: 100%; height: 100%; object-fit: contain; min-height: 0; background: var(--cell); border-radius: 2mm; }
.rp-gallery { flex: 1; min-height: 0; display: grid; gap: 4mm; grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; }
.rp-gallery.n1 { grid-template-columns: 1fr; }
.rp-foot { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; gap: 4mm; }
.rp-foot .pf-qr svg { width: 22mm; height: 22mm; }
.rp-signs { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; flex: 1; max-width: 125mm; }
.rp-signs div { border: 1px solid var(--soft); border-radius: 2mm; text-align: center; overflow: hidden; }
.rp-signs span { display: block; background: var(--soft); color: var(--main); font-weight: 800; font-size: calc(10.5pt * var(--fs, 1)); padding: .8mm; }
.rp-signs b { display: block; font-weight: 500; font-size: calc(11pt * var(--fs, 1)); padding: 2mm 1mm 7mm; min-height: 14mm; }
.rp-legend { font-size: calc(10pt * var(--fs, 1)); font-weight: 500; color: #444; margin-right: 4mm; }
.rp-legend span { margin: 0 2mm; } .rp-legend i { display: inline-block; width: 3mm; height: 3mm; border-radius: .6mm; margin-left: 1mm; vertical-align: middle; }
.pf-rep.tight { gap: 3mm; font-size: calc(11.5pt * var(--fs, 1)); line-height: 1.6; }
.pf-rep.tight .rp-box { padding: 2.2mm 3.5mm; }
.pf-rep.tight .rp-box li { margin-bottom: .6mm; }
.pf-rep.tight .rp-chart { height: 52mm; }
.pf-rep.tight .rp-imgs { height: 52mm; }
.pf-rep.tight .rp-brief { padding: 1.5mm 3mm; }
.pf-rep.tight .rp-signs b { min-height: 11mm; padding-bottom: 4mm; }
.pf-page:has(.pf-rep):not(.t-moe) .pf-deco { opacity: .28; }

/* ===== الأشكال الجديدة ===== */
.pf-page.t-burgundy { --bg: #fbf6f1; --ink: #3a2328; --main: #6d1f2f; --soft: #efdcd3; --cell: #f8eee9; --head-font: "Amiri"; }
.pf-page.t-burgundy .pf-frame { display: none; }
.pf-page.t-burgundy .pf-num { background: #6d1f2f; border: 1px solid #c9a24d; }
.pf-page.t-burgundy .pf-cover-title, .pf-page.t-burgundy .pf-divider { text-shadow: 0 1px 0 #e9d7b0; }
.pf-page.t-minimal { --bg: #ffffff; --ink: #222831; --main: #2b3a55; --soft: #e3e8f0; --cell: #f4f6fa; --head-font: "Cairo"; }
.pf-page.t-minimal .pf-frame { display: none; }
.pf-page.t-minimal .pf-h1 { text-align: right; border-bottom: 2px solid var(--main); padding-bottom: 2mm; }
.pf-page.t-minimal .pf-center .pf-h1 { text-align: center; border: 0; }
.pf-page.t-minimal .pf-num { background: none; color: var(--main); font-weight: 700; left: 18mm; bottom: 15mm; }
.pf-page.t-sky { --bg: #fbfdff; --ink: #1f2f3d; --main: #2f6f9f; --soft: #dceaf5; --cell: #f1f7fc; --head-font: "Reem Kufi"; }
.pf-page.t-sky .pf-frame { border-color: #b9d4ea; border-radius: 6mm; }
.pf-page.t-sky .pf-frame::after { display: none; }
.pf-page.t-sand { --bg: #f8f2e8; --ink: #3b3024; --main: #8a6a3b; --soft: #eadcc3; --cell: #f3eadb; --head-font: "El Messiri"; }
.pf-page.t-sand .pf-frame { display: none; }
.pf-page.t-sand .pf-body { inset: 34mm 26mm 30mm 26mm; }
.pf-page.t-sand .pf-body:has(.pf-rep) { inset: 30mm 22mm 18mm 22mm; }
.pf-page.t-olive { --bg: #fafaf3; --ink: #2d3122; --main: #5b6b3a; --soft: #e2e7d2; --cell: #f1f3e8; --head-font: "Aref Ruqaa"; }
.pf-page.t-olive .pf-frame { border-color: #a7b67c; border-style: dashed; }
.pf-page.t-olive .pf-frame::after { display: none; }
.pf-comp td { vertical-align: top; font-size: calc(10.5pt * var(--fs, 1)); }
.pf-comp ul { margin: 0; padding: 0 4mm 0 0; }
.pf-comp li { margin-bottom: 1mm; }
.pf-tag { display: inline-block; margin-top: 1mm; font-size: calc(8.5pt * var(--fs, 1)); background: var(--soft); color: var(--main); border-radius: 6mm; padding: 0 3mm; }
.pf-sched td { font-size: calc(10pt * var(--fs, 1)); height: 14mm; }
.pf-page.t-sand .pf-cover-top { margin: 4mm 10mm 0; }
.pf-log td { font-size: calc(9.5pt * var(--fs, 1)); vertical-align: top; padding: 1.6mm 1.5mm; }
.pf-log ul { margin: 0; padding: 0 3.5mm 0 0; }
.pf-log li { margin-bottom: .4mm; }
.pf-sched td { line-height: 1.35; padding: 1.2mm 1mm; }
.pf-sched td b { font-weight: 700; font-size: calc(8.6pt * var(--fs, 1)); color: var(--main); }
.pf-sched td small { font-size: calc(8pt * var(--fs, 1)); color: #555; }
.pf-sched { table-layout: fixed; } .pf-sched tr > :first-child { width: 13%; }
/* بطاقات معلومات خاصة بكل شاهد */
.rp-cards.c3 { grid-template-columns: repeat(3, 1fr); }
/* استمارة تنفيذ استراتيجية */
.pf-rep.sf { gap: 2.6mm; }
.sf-info { width: 100%; border-collapse: collapse; font-size: calc(10.5pt * var(--fs, 1)); }
.sf-info th, .sf-info td { border: 1px solid var(--soft); padding: 1.6mm 2.5mm; text-align: right; }
.sf-info th { background: var(--soft); color: var(--main); font-weight: 800; width: 19%; }
.sf-sec { border: 1px solid var(--soft); border-radius: 2mm; overflow: hidden; }
.sf-sec > h3 { margin: 0; background: var(--soft); color: var(--main); font-size: calc(12pt * var(--fs, 1)); font-weight: 800; padding: 1.4mm 3.5mm; }
.sf-sec > ul, .sf-sec > .sf-opts, .sf-sec > .sf-row, .sf-sec > .sf-step, .sf-sec > table { margin: 2mm 3.5mm; }
.sf-sec ul { padding: 0 4mm 0 0; margin-top: .5mm; margin-bottom: .5mm; }
.sf-sec li { margin-bottom: .9mm; } .sf-sec li::marker { color: var(--main); }
.sf-opts { display: flex; flex-wrap: wrap; gap: 1.5mm 5mm; }
.sf-row { display: flex; flex-wrap: wrap; align-items: center; gap: 2mm 3mm; }
.sf-row .sf-opts { margin: 0; }
.ck { display: inline-block; width: 3.4mm; height: 3.4mm; border: 1.3px solid #9aa; border-radius: .7mm; margin-left: 1.3mm; vertical-align: -0.5mm; position: relative; }
.ck.on { background: var(--main); border-color: var(--main); }
.ck.on::after { content: ""; position: absolute; left: 1.05mm; top: .25mm; width: .9mm; height: 1.9mm; border: solid #fff; border-width: 0 .5mm .5mm 0; transform: rotate(45deg); }
.sf-step { margin-bottom: 1.6mm; } .sf-step b { color: var(--main); }
.sf-eval { width: calc(100% - 7mm); border-collapse: collapse; font-size: calc(10pt * var(--fs, 1)); }
.sf-eval th, .sf-eval td { border: 1px solid var(--soft); padding: 1.8mm 2mm; text-align: right; }
.sf-eval th { width: 34%; font-weight: 700; background: var(--cell); }
/* سجل الدروس */
.lg-meta { font-size: calc(8.5pt * var(--fs, 1)); color: #666; margin-top: .8mm; }
.lg-qr svg { width: 17mm; height: 17mm; display: block; margin: 0 auto; }
.pf-log td div + div { margin-top: .8mm; }

/* مؤشرات الإنجاز */
.kpi-page { display: flex; flex-direction: column; gap: 3.5mm; height: 100%; }
.kpi-page .pf-h1 { margin-bottom: 0; }
.kpi-top { display: flex; gap: 4mm; align-items: stretch; }
.kpi-big { width: 52mm; flex: none; border: 1px solid var(--soft); background: var(--cell); border-radius: 3mm; padding: 3mm; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1.5mm; }
.kpi-ring { width: 34mm; height: 34mm; }
.kpi-big b { display: block; color: var(--main); font-size: calc(10.5pt * var(--fs, 1)); line-height: 1.5; }
.kpi-big span { font-size: calc(9.5pt * var(--fs, 1)); color: #666; }
.kpi-grid { flex: 1; display: grid; grid-template-columns: repeat(3, 1fr); gap: 2.5mm; align-content: start; }
.kpi-grid.wide { grid-template-columns: repeat(4, 1fr); }
.kpi { border: 1px solid var(--soft); border-radius: 3mm; padding: 2.5mm 2mm; text-align: center; background: #fff8; }
.kpi b { display: block; font-family: var(--head-font), "Tajawal"; color: var(--main); font-size: calc(21pt * var(--fs, 1)); line-height: 1.25; font-weight: 800; }
.kpi span { display: block; font-size: calc(9.5pt * var(--fs, 1)); line-height: 1.45; color: #555; }
.kpi-h { font-weight: 800; color: var(--main); font-size: calc(13pt * var(--fs, 1)); border-bottom: 2px solid var(--soft); padding-bottom: 1mm; }
.kpi-h small { font-weight: 500; color: #666; font-size: calc(10pt * var(--fs, 1)); margin-right: 3mm; }
.kpi-cov > div { display: grid; grid-template-columns: 58mm 11mm 1fr 9mm; align-items: center; gap: 2mm; font-size: calc(9.5pt * var(--fs, 1)); line-height: 1.6; color: #999; }
.kpi-cov > div.on { color: inherit; }
.kpi-cov .bar { height: 3mm; background: var(--soft); border-radius: 2mm; overflow: hidden; }
.kpi-cov .bar i { display: block; height: 100%; background: var(--main); border-radius: 2mm; }
.kpi-cov b { text-align: center; color: var(--main); }
.kpi-imp { display: grid; grid-template-columns: 1fr 1fr; gap: 2mm; }
.kpi-imp > div { display: flex; align-items: center; gap: 2mm; border: 1px solid var(--soft); border-radius: 2mm; padding: 1.5mm 2.5mm; font-size: calc(10pt * var(--fs, 1)); }
.kpi-imp .n { flex: 1; } .kpi-imp .ba b { color: var(--main); }
.kpi-imp .d { font-weight: 800; } .kpi-imp .d.up { color: #2e7d32; } .kpi-imp .d.down { color: #c62828; }

/* قوالب بخلفيات مصوّرة */
.pf-bgimg { position: absolute; inset: 0; background-size: 100% 100%; background-repeat: no-repeat; }
.pf-page.img .pf-frame { display: none; }
.pf-page.img .pf-body { inset: 22mm 25mm 30mm 25mm; }
.pf-page.img:not(:has(.pf-cover-top)) .pf-deco { opacity: .55; }
.pf-page.img:has(.pf-rep) .pf-deco { opacity: .22; }
.pf-page.img .pf-body:has(.pf-rep) { inset: 16mm 15mm 14mm 15mm; }
.pf-page.t-bluegold { --bg: #fbfcfd; --ink: #1f2d3a; --main: #2f5b78; --soft: #dde7ee; --cell: #f2f6f9; --head-font: "El Messiri"; }
.pf-page.t-royal { --bg: #f2f6fb; --ink: #1b2a3a; --main: #1d5a9a; --soft: #d8e5f3; --cell: #f0f5fb; --head-font: "Tajawal"; }
.pf-page.t-watercolor { --bg: #f7fafd; --ink: #1f2d3a; --main: #3a70a5; --soft: #dbe8f4; --cell: #f2f7fc; --head-font: "El Messiri"; }
.pf-page.t-marble { --bg: #f8f6f2; --ink: #2f2a22; --main: #8f6a24; --soft: #eee2c9; --cell: #faf6ee; --head-font: "El Messiri"; }
.pf-page.t-silver { --bg: #f1f2f3; --ink: #23282d; --main: #4a5560; --soft: #e0e3e6; --cell: #f5f6f7; --head-font: "Tajawal"; }
.pf-page.t-sakura { --bg: #fcecef; --ink: #3a2a2e; --main: #b03a5d; --soft: #f5d8e0; --cell: #fdf2f5; --head-font: "El Messiri"; }
.pf-page.t-lavender { --bg: #f5effa; --ink: #2e2540; --main: #6a45a0; --soft: #e6dcf2; --cell: #f8f4fc; --head-font: "El Messiri"; }
.pf-page.t-sage { --bg: #f1f3ee; --ink: #26301f; --main: #4d6e46; --soft: #dde8d9; --cell: #f3f7f1; --head-font: "Tajawal"; }
.pf-page.t-leaves { --bg: #f6ece0; --ink: #2f2d22; --main: #556f48; --soft: #e6e1cf; --cell: #fbf6ee; --head-font: "El Messiri"; }
.pf-page.t-paper { --bg: #f5e8da; --ink: #3a2c20; --main: #8a6440; --soft: #ebdbc6; --cell: #fbf3e9; --head-font: "El Messiri"; }

/* إشارة خفيفة في أسفل الصفحة الأولى (النسخة المجانية) */
.pf-credit { position: absolute; bottom: 5mm; left: 0; right: 0; text-align: center; z-index: 3; font-size: 7.5pt; color: rgba(0, 0, 0, .3); font-family: "Tajawal", sans-serif; letter-spacing: 0; }

/* ضبط داخل الإطار: كسر الكلمات والروابط الطويلة، وتصغير الصور والرسوم والمسافات عند الحاجة */
.pf-body { overflow-wrap: anywhere; word-break: normal; }
.pf-body table { max-width: 100%; }
.pf-page.squeeze .rp-chart { height: 50mm; }
.pf-page.squeeze .rp-imgs { height: 46mm; }
.pf-page.squeeze .pf-rep { gap: 2mm; }
.pf-page.squeeze .rp-box { padding: 2mm 3mm; }
.pf-page.squeeze .rp-signs b { min-height: 9mm; padding-bottom: 3mm; }
.pf-page.squeeze .pf-p, .pf-page.squeeze .pf-list li { line-height: 1.7; }
.pf-page.squeeze2 .rp-chart { height: 38mm; }
.pf-page.squeeze2 .rp-imgs { height: 34mm; }
.pf-page.squeeze2 .pf-h1 { margin-bottom: 2mm; }
.pf-page.squeeze2 .pf-p, .pf-page.squeeze2 .pf-list li, .pf-page.squeeze2 .rp-box li { line-height: 1.55; }
.pf-page.squeeze2 .rp-signs b { min-height: 7mm; padding: 1mm; }
.pf-page.t-navyframe { --bg: #f8f9fb; --ink: #17223a; --main: #0f2f6b; --soft: #d9e1f0; --cell: #f1f4fa; --head-font: "El Messiri"; }
.pf-page.t-royal2 { --bg: #f1f6fc; --ink: #17263a; --main: #165a9c; --soft: #d6e5f4; --cell: #eff5fb; --head-font: "Tajawal"; }
.pf-page.t-silver2 { --bg: #e9eaec; --ink: #23282d; --main: #4a5560; --soft: #dcdfe2; --cell: #f3f4f5; --head-font: "Tajawal"; }
.pf-page.t-aqua { --bg: #ffffff; --ink: #1c2c3c; --main: #2f6aa3; --soft: #d9e7f4; --cell: #f2f7fc; --head-font: "El Messiri"; }
.pf-page.t-goldribbon { --bg: #f8efe2; --ink: #33291c; --main: #8f6a24; --soft: #efe1c6; --cell: #fbf5ec; --head-font: "El Messiri"; }
.pf-page.t-roses { --bg: #fbe7ea; --ink: #3a2a2e; --main: #b0425f; --soft: #f5d6de; --cell: #fdf1f4; --head-font: "El Messiri"; }
.pf-page.t-lilac2 { --bg: #f7f0fb; --ink: #2e2540; --main: #6a45a0; --soft: #e6dcf2; --cell: #f8f4fc; --head-font: "El Messiri"; }
.pf-page.t-sage2 { --bg: #f6f6f1; --ink: #26301f; --main: #4d6e46; --soft: #dde8d9; --cell: #f3f7f1; --head-font: "Tajawal"; }
.pf-page.t-eucalyptus { --bg: #f4e9dc; --ink: #2f2d22; --main: #556f48; --soft: #e6e1cf; --cell: #fbf6ee; --head-font: "El Messiri"; }
.pf-page.t-paper2 { --bg: #f2e5cf; --ink: #3a2c20; --main: #8a6440; --soft: #ebdbc6; --cell: #fbf3e9; --head-font: "El Messiri"; }
/* قالب خاص من جهاز المستخدم */
.pf-page.t-custom { --bg: #ffffff; --ink: #1f2a33; --main: #2f4f6f; --soft: #dfe7ef; --cell: #f4f7fa; --head-font: "Tajawal"; }
.pf-page.t-archgold { --bg: #efe8e2; --ink: #3a3129; --main: #9a7a3c; --soft: #e6dcd2; --cell: #f8f4f0; --head-font: "El Messiri"; }
.pf-page.t-parchment { --bg: #f3e6cf; --ink: #3b2c22; --main: #7a4f86; --soft: #eadbc3; --cell: #fbf4e8; --head-font: "Amiri"; }
.pf-page.t-najdi { --bg: #efe0c9; --ink: #3a2a1c; --main: #8b3a24; --soft: #e6d4b8; --cell: #faf2e6; --head-font: "El Messiri"; }
.pf-page.t-andalus { --bg: #f8ecdb; --ink: #1f2a44; --main: #2c4a9a; --soft: #efe2cc; --cell: #fcf6ec; --head-font: "Amiri"; }
.pf-page.t-embossed { --bg: #f2e7da; --ink: #3d2d29; --main: #a2625a; --soft: #eadcce; --cell: #faf4ee; --head-font: "Amiri"; }
.pf-page.t-navyribbon { --bg: #f4ece2; --ink: #1d2638; --main: #22335a; --soft: #e9e0d3; --cell: #fbf7f1; --head-font: "El Messiri"; }
.pf-page.t-pinkarch { --bg: #f7ebe5; --ink: #3d2c29; --main: #a56e5e; --soft: #f0ddd5; --cell: #fcf6f3; --head-font: "El Messiri"; }
.pf-page.t-islamicgreen { --bg: #f8f1e3; --ink: #2a3324; --main: #5b6f45; --soft: #ebe5d2; --cell: #fcf9f1; --head-font: "Amiri"; }
.pf-page.t-desert { --bg: #f1dfc4; --ink: #3a2a18; --main: #9a6a2c; --soft: #e9d4b4; --cell: #faf1e3; --head-font: "El Messiri"; }
.pf-page.t-mashrabiya { --bg: #f6ecd8; --ink: #2b3533; --main: #3f7f7a; --soft: #ece2cc; --cell: #fcf7ee; --head-font: "Amiri"; }
/* ترويسة الغلاف بعيداً عن زخارف الزاوية العليا */
.pf-page.t-islamicgreen .pf-cover-top { margin-right: 40mm; }
.pf-page.t-andalus .pf-cover-top { margin: 12mm 50mm 0 0; }
.pf-page.t-navyribbon .pf-cover-top { margin: 28mm 38mm 0 0; }
.pf-page.t-najdi .pf-cover-top { margin-right: 24mm; }
.pf-page.t-pinkarch .pf-cover-top { margin: 34mm 18mm 0; }
.pf-page.t-mashrabiya .pf-cover-top { margin: 22mm 16mm 0; }
.pf-page.t-embossed .pf-cover-top { margin: 36mm 2mm 0; }
/* مرفقات PDF وصفحة ملخص الأداء */
.rp-pdfs { display: flex; flex-wrap: wrap; gap: 2mm; justify-content: center; margin: 1.5mm 0 2mm; font-size: calc(9.5pt * var(--fs, 1)); color: var(--ink); opacity: .8; }
.rp-pdfs span { background: var(--cell); border: 1px solid var(--soft); border-radius: 1.5mm; padding: .5mm 2.5mm; }
.pf-sum .pf-charter td { padding: 2mm 1.6mm; }
.pf-sum .pf-charter td:last-child { background: var(--cell); }
.sum-lv { display: flex; justify-content: center; align-items: center; gap: 4mm; margin: 5mm 0 3mm; font-size: calc(11pt * var(--fs, 1)); }
.sum-lv b { background: var(--main); color: #fff; padding: 1.2mm 5mm; border-radius: 10mm; font-size: calc(12pt * var(--fs, 1)); }
.sum-note { text-align: center; font-size: calc(9.5pt * var(--fs, 1)); opacity: .75; margin: 0 0 3mm; }
