/**
 * Midaad Report Pack (حزمة تقرير) — v2.8.1
 *
 * Styles for the 12 sf-* report components. Everything is scoped under
 * the .sf-report-doc root class, which is applied to the document
 * container (editor canvas, preview modal and frontend wrapper) only
 * when the document actually contains Report Pack nodes, so nothing
 * leaks into other themes or plugins.
 *
 * THEME INHERITANCE: the pack deliberately ships no palette and no
 * fonts of its own. Neutrals (text, borders, cards, zebra) are derived
 * from the host theme's text color via color-mix(currentColor), the
 * background stays transparent, and all typography inherits the site
 * font. The report therefore looks native on the site's dark theme,
 * inside the light editor, and after any future theme change.
 *
 * Rules:
 * - All classes are sf- prefixed.
 * - No hardcoded colors inside components: token references only.
 *   The token block below is the single place color values may appear.
 * - Variants are modifier classes on top of a base class.
 * - Print and responsive rules live at the bottom of this same file.
 */

/* =====================================================================
 * Tokens
 * =================================================================== */
.sf-report-doc {
    /* محايدات: مشتقة من لون نص الثيم فتتبع ثيم الموقع تلقائياً */
    --sf-paper: transparent;                                     /* خلفية الصفحة: من الثيم */
    --sf-card: color-mix(in srgb, currentColor 6%, transparent); /* خلفية البطاقات */
    --sf-ink: currentColor;                                      /* النص الأساسي */
    --sf-ink-soft: color-mix(in srgb, currentColor 72%, transparent); /* النص الثانوي */
    --sf-line: color-mix(in srgb, currentColor 18%, transparent);     /* الحدود */
    --sf-zebra: color-mix(in srgb, currentColor 4%, transparent);     /* الصفوف الزوجية */
    --sf-head: color-mix(in srgb, currentColor 10%, transparent);     /* رؤوس الجداول */
    --sf-on-accent: #FFFFFF;                                     /* نص فوق التعبئة الدلالية */
    /* لون الهوية البارز (برتقالي مداد): للأرقام والمعرفات والعناصر المميزة */
    --sf-accent: #d97706;
    --sf-accent-soft: color-mix(in srgb, var(--sf-accent) 16%, transparent);
    /* دلالية: زوج قوي + خلفية شفافة مشتقة، تعمل على الداكن والفاتح */
    --sf-madder: #C0473B;  --sf-madder-soft: color-mix(in srgb, var(--sf-madder) 16%, transparent);  /* حرج */
    --sf-palm: #4C8A66;    --sf-palm-soft: color-mix(in srgb, var(--sf-palm) 16%, transparent);      /* إيجابي/مثبت */
    --sf-amber: #C97A35;   --sf-amber-soft: color-mix(in srgb, var(--sf-amber) 16%, transparent);    /* عالي */
    --sf-olive: #A18F3E;   --sf-olive-soft: color-mix(in srgb, var(--sf-olive) 16%, transparent);    /* متوسط */
    --sf-gray: color-mix(in srgb, currentColor 55%, transparent);
    --sf-gray-soft: color-mix(in srgb, currentColor 8%, transparent);                                /* منخفض */
    /* بلوكات الكود: خلفية داكنة ثابتة بنص فاتح مهما كان الثيم */
    --sf-console-bg: #1F1C18;
    --sf-console-text: #F2EEE5;
    /* الخطوط: كل شيء يرث خطوط هوية الموقع، لا خطوط خاصة بالحزمة */
    /* المظهر العام */
    --sf-radius: 12px;
}

/* =====================================================================
 * Document root
 * =================================================================== */
.sf-report-doc {
    direction: rtl;
    background: var(--sf-paper);
    counter-reset: sf-section;
}

/* On the frontend, undo the generic article color/font so the report
   inherits the SITE theme instead (midaad-render.css hardcodes both
   for regular articles). Also widen the container so the log table
   fits without scrolling on desktop. */
.midaad-content.sf-report-doc {
    color: inherit;
    font-family: inherit;
    max-width: 880px;
    padding: 8px 0 48px;
}

/* LTR utility for technical content (codes, links, system names) */
.sf-report-doc .sf-ltr {
    direction: ltr;
    unicode-bidi: embed;
}

/* Editor placeholder hint for empty fields */
.sf-report-doc .sf-placeholder {
    opacity: 0.45;
}

/* =====================================================================
 * Base text
 * =================================================================== */
.sf-report-doc p {
    max-width: 760px;
    margin: 14px 0;
}

.sf-report-doc p.sf-lead {
    font-size: 17.5px;
    color: var(--sf-ink-soft);
}

.sf-report-doc h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 34px 0 10px;
    color: var(--sf-ink);
}

.sf-report-doc ul,
.sf-report-doc ul.sf-list {
    margin: 14px 24px 14px 0;
    padding: 0;
}

.sf-report-doc ul li {
    margin-bottom: 9px;
}

.sf-report-doc code {
    font-size: 0.86em;
    direction: ltr;
    unicode-bidi: embed;
    background: var(--sf-gray-soft);
    padding: 2px 7px;
    border-radius: 3px;
    word-break: break-all;
}

/* =====================================================================
 * 1. sf-sadu (شريط السدو): أُزيل من التصميم
 * العنصر يبقى مخفياً تماماً إن وُجد في محتوى قديم.
 * =================================================================== */
.sf-report-doc .sf-sadu {
    display: none;
}

/* =====================================================================
 * 2. sf-cover — غلاف التقرير
 * =================================================================== */
.sf-report-doc .sf-cover {
    border-bottom: 3px solid var(--sf-ink);
    padding-bottom: 28px;
    margin: 0 0 36px;
}

.sf-report-doc .sf-kicker {
    font-size: 13px;
    font-weight: 600;
    color: var(--sf-accent);
    letter-spacing: 0.08em;
}

.sf-report-doc .sf-cover-title {
    font-weight: 700;
    font-size: clamp(34px, 6vw, 56px);
    line-height: 1.35;
    margin: 10px 0 0;
    color: var(--sf-ink);
}

.sf-report-doc .sf-sub {
    font-size: 17px;
    color: var(--sf-ink-soft);
    max-width: 640px;
    margin: 18px 0 0;
}

.sf-report-doc .sf-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 28px;
    margin-top: 26px;
}

.sf-report-doc .sf-meta-cell {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

/* القيمة (<b>) أولاً في الـ DOM. عند اختيار "التسمية فوق" نعكس الترتيب
   بصرياً فقط عبر column-reverse دون تغيير ترتيب العناصر في الكود. */
.sf-report-doc .sf-meta-label-first .sf-meta-cell {
    flex-direction: column-reverse;
}

.sf-report-doc .sf-meta-cell b {
    font-size: 14.5px;
    font-weight: 600;
    color: var(--sf-ink);
}

.sf-report-doc .sf-meta-cell span {
    font-size: 13.5px;
    color: var(--sf-ink-soft);
}

/* =====================================================================
 * 3. sf-scores — شبكة الدرجات
 * (حيلة الخطوط الفاصلة: gap فوق خلفية بلون الحد)
 * =================================================================== */
.sf-report-doc .sf-scores {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    background: var(--sf-line);
    border: 1px solid var(--sf-line);
    border-radius: var(--sf-radius);
    overflow: hidden;
    margin: 24px 0;
}

.sf-report-doc .sf-score {
    background: var(--sf-card);
    padding: 20px 18px;
}

.sf-report-doc .sf-num {
    font-size: 30px;
    line-height: 1.2;
    color: var(--sf-ink);
}

.sf-report-doc .sf-num small {
    font-size: 14px;
    color: var(--sf-gray);
}

.sf-report-doc .sf-label {
    font-size: 13px;
    color: var(--sf-ink-soft);
    margin-top: 6px;
}

.sf-report-doc .sf-score.sf-overall {
    background: var(--sf-accent);
}

.sf-report-doc .sf-overall .sf-num,
.sf-report-doc .sf-overall .sf-label {
    color: var(--sf-on-accent);
}

.sf-report-doc .sf-overall .sf-num small {
    color: var(--sf-on-accent);
    opacity: 0.75;
}

/* =====================================================================
 * 4. sf-sec-head — رأس القسم (مع ترقيم تلقائي عبر CSS counters)
 * =================================================================== */
.sf-report-doc .sf-sec-head {
    counter-increment: sf-section;
    margin: 48px 0 18px;
}

.sf-report-doc .sf-sec-head-row {
    display: flex;
    align-items: baseline;
    gap: 16px;
}

.sf-report-doc .sf-no {
    font-size: 15px;
    color: var(--sf-accent);
}

.sf-report-doc .sf-no-auto::before {
    content: counter(sf-section, decimal-leading-zero);
}

.sf-report-doc .sf-sec-title {
    font-size: clamp(26px, 4vw, 34px);
    font-weight: 700;
    margin: 0;
    color: var(--sf-ink);
}

/* =====================================================================
 * 7. sf-callout — التنبيه
 * (الحد الأيمن سميك لأن المستند RTL)
 * =================================================================== */
.sf-report-doc .sf-callout {
    background: var(--sf-card);
    border: 1px solid var(--sf-line);
    border-right: 4px solid var(--sf-madder);
    border-radius: var(--sf-radius);
    padding: 20px 24px;
    max-width: 780px;
    margin: 20px 0;
}

.sf-report-doc .sf-callout-warn {
    border-right-color: var(--sf-madder);
}

.sf-report-doc .sf-callout-good {
    border-right-color: var(--sf-palm);
}

.sf-report-doc .sf-callout-lead {
    font-weight: 700;
    margin: 0 0 6px;
}

.sf-report-doc .sf-callout-body > p:first-child {
    margin-top: 0;
}

.sf-report-doc .sf-callout-body > p:last-child {
    margin-bottom: 0;
}

/* =====================================================================
 * 8. sf-badge — الشارة
 * =================================================================== */
.sf-report-doc .sf-badge {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 600;
    padding: 3px 11px;
    border-radius: 99px;
    white-space: nowrap;
    line-height: 1.6;
}

/* عائلة الخطورة */
.sf-report-doc .sf-b-crit {
    background: var(--sf-madder);
    color: var(--sf-on-accent);
}

.sf-report-doc .sf-b-high {
    background: var(--sf-amber-soft);
    color: var(--sf-amber);
    border: 1px solid var(--sf-amber);
}

.sf-report-doc .sf-b-med {
    background: var(--sf-olive-soft);
    color: var(--sf-olive);
    border: 1px solid var(--sf-olive);
}

.sf-report-doc .sf-b-low {
    background: var(--sf-gray-soft);
    color: var(--sf-gray);
    border: 1px solid var(--sf-line);
}

/* عائلة الإثبات */
.sf-report-doc .sf-b-proof {
    background: var(--sf-palm-soft);
    color: var(--sf-palm);
}

.sf-report-doc .sf-b-verify {
    background: transparent;
    color: var(--sf-gray);
    border: 1px dashed var(--sf-gray); /* التقطيع دلالة "غير محسوم" */
}

/* =====================================================================
 * 9. sf-table — جدول السجل
 * (تمرير داخلي بالجوال بدل تكسير الأعمدة)
 * =================================================================== */
.sf-report-doc .sf-table-scroll {
    overflow-x: auto;
    border: 1px solid var(--sf-line);
    background: var(--sf-card);
    border-radius: var(--sf-radius);
    margin: 20px 0;
}

.sf-report-doc .sf-table {
    min-width: 760px;
    width: 100%;
    border-collapse: collapse;
    font-size: 13.5px;
}

.sf-report-doc .sf-table th {
    background: var(--sf-head);
    color: var(--sf-ink);
    font-size: 12.5px;
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
    padding: 10px 14px;
}

.sf-report-doc .sf-table td {
    padding: 11px 14px;
    border-top: 1px solid var(--sf-line);
}

.sf-report-doc .sf-table tbody tr:nth-child(even) {
    background: var(--sf-zebra);
}

.sf-report-doc .sf-fid {
    font-size: 12px;
    color: var(--sf-accent);
}

/* =====================================================================
 * 10. sf-journey — بطاقات الرحلة
 * =================================================================== */
.sf-report-doc .sf-journey {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 16px;
    margin: 24px 0;
}

.sf-report-doc .sf-station {
    background: var(--sf-card);
    border: 1px solid var(--sf-line);
    border-top: 4px solid var(--sf-palm);
    border-radius: var(--sf-radius);
    padding: 22px;
}

.sf-report-doc .sf-station-ok {
    border-top-color: var(--sf-palm);
}

.sf-report-doc .sf-station-warn {
    border-top-color: var(--sf-amber);
}

.sf-report-doc .sf-station-bad {
    border-top-color: var(--sf-madder);
}

.sf-report-doc .sf-st-no {
    font-size: 12px;
    color: var(--sf-gray);
}

.sf-report-doc .sf-st-title {
    font-size: 16.5px;
    font-weight: 600;
    margin: 8px 0 4px;
    color: var(--sf-ink);
}

.sf-report-doc .sf-st-sys {
    font-size: 11.5px;
    color: var(--sf-gray);
    text-align: right;
}

.sf-report-doc .sf-st-body {
    font-size: 13.5px;
    color: var(--sf-ink-soft);
    margin: 10px 0 0;
}

/* =====================================================================
 * 11. sf-phase — مرحلة خارطة الطريق
 * =================================================================== */
.sf-report-doc .sf-phase {
    background: var(--sf-card);
    border: 1px solid var(--sf-line);
    border-radius: var(--sf-radius);
    padding: 24px 26px;
    margin: 18px 0;
}

.sf-report-doc .sf-phase-head {
    display: flex;
    align-items: baseline;
    gap: 12px;
    margin: 0 0 12px;
}

.sf-report-doc .sf-phase-label {
    font-size: 12px;
    color: var(--sf-accent);
}

.sf-report-doc .sf-phase-title {
    font-size: 17px;
    font-weight: 600;
    color: var(--sf-ink);
}

.sf-report-doc .sf-phase-list {
    margin: 0 24px 0 0;
    padding: 0;
}

.sf-report-doc .sf-phase-list li {
    font-size: 14.5px;
    margin-bottom: 9px;
}

.sf-report-doc .sf-phase-list .sf-fid {
    margin-inline-start: 6px;
}

/* =====================================================================
 * 12. sf-foot — تذييل الوثيقة
 * (الحد العلوي يطابق حد الغلاف السفلي فيقفل الوثيقة من الجهتين)
 * =================================================================== */
.sf-report-doc .sf-foot {
    border-top: 3px solid var(--sf-ink);
    margin-top: 48px;
    padding-top: 16px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 13px;
    color: var(--sf-gray);
}

/* =====================================================================
 * 13. sf-media-text — وسائط بجانب نص (صورة أو فيديو، يمين أو يسار)
 * =================================================================== */
.sf-report-doc .sf-media-text {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    margin: 24px 0;
}

/* RTL: العنصر الأول يظهر يميناً، فالوسائط أولاً = يمين */
.sf-report-doc .sf-media-left {
    flex-direction: row-reverse;
}

.sf-report-doc .sf-mt-media {
    flex: 0 0 44%;
    margin: 0;
}

.sf-report-doc .sf-mt-media img,
.sf-report-doc .sf-mt-media video {
    width: 100%;
    display: block;
    border-radius: var(--sf-radius);
}

.sf-report-doc .sf-mt-media-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 160px;
    border: 1px dashed var(--sf-line);
    border-radius: var(--sf-radius);
    background: var(--sf-card);
    font-size: 13.5px;
    cursor: pointer;
}

.sf-report-doc .sf-mt-text {
    flex: 1;
    min-width: 0;
}

.sf-report-doc .sf-mt-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px;
    color: var(--sf-ink);
}

.sf-report-doc .sf-mt-body > p:first-child {
    margin-top: 0;
}

.sf-report-doc .sf-mt-body > p:last-child {
    margin-bottom: 0;
}

/* =====================================================================
 * 14. sf-two-col — عمودان نصيان بعناوين اختيارية
 * =================================================================== */
.sf-report-doc .sf-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px 32px;
    margin: 24px 0;
}

.sf-report-doc .sf-col {
    min-width: 0;
}

.sf-report-doc .sf-col-title {
    font-size: 16.5px;
    font-weight: 700;
    margin: 0 0 8px;
    color: var(--sf-ink);
}

.sf-report-doc .sf-col p {
    font-size: 15px;
    color: var(--sf-ink-soft);
    margin: 0 0 10px;
}

/* =====================================================================
 * 15. sf-faq — أسئلة وأجوبة (أكورديون بدون جافاسكريبت)
 * =================================================================== */
.sf-report-doc .sf-faq {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 24px 0;
    max-width: 780px;
}

.sf-report-doc .sf-faq-item {
    background: var(--sf-card);
    border: 1px solid var(--sf-line);
    border-radius: var(--sf-radius);
    overflow: hidden;
}

.sf-report-doc .sf-faq-q {
    cursor: pointer;
    padding: 14px 18px;
    font-weight: 600;
    font-size: 15px;
    list-style: none;
    position: relative;
    padding-left: 44px;
}

.sf-report-doc .sf-faq-q::-webkit-details-marker {
    display: none;
}

.sf-report-doc .sf-faq-q::after {
    content: '+';
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--sf-accent);
    font-size: 18px;
    font-weight: 400;
}

.sf-report-doc .sf-faq-item[open] .sf-faq-q::after {
    content: '-';
}

.sf-report-doc .sf-faq-a {
    padding: 0 18px 14px;
    color: var(--sf-ink-soft);
    font-size: 14.5px;
}

.sf-report-doc .sf-faq-a p {
    margin: 0 0 8px;
}

/* =====================================================================
 * 16. sf-timeline — خط زمني عمودي
 * =================================================================== */
.sf-report-doc .sf-timeline {
    margin: 24px 24px 24px 0;
    padding-right: 24px;
    border-right: 2px solid var(--sf-line);
    display: flex;
    flex-direction: column;
    gap: 22px;
    max-width: 720px;
}

.sf-report-doc .sf-tl-item {
    position: relative;
}

.sf-report-doc .sf-tl-item::before {
    content: '';
    position: absolute;
    right: -31px;
    top: 5px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--sf-accent);
}

.sf-report-doc .sf-tl-date {
    font-size: 12.5px;
    font-weight: 600;
    color: var(--sf-accent);
}

.sf-report-doc .sf-tl-title {
    font-size: 16.5px;
    font-weight: 700;
    margin: 4px 0;
    color: var(--sf-ink);
}

.sf-report-doc .sf-tl-body {
    font-size: 14.5px;
    color: var(--sf-ink-soft);
    margin: 0;
}

/* =====================================================================
 * 17. sf-cta — زر دعوة لإجراء
 * =================================================================== */
.sf-report-doc .sf-cta {
    text-align: center;
    margin: 32px 0;
}

.sf-report-doc .sf-cta-btn {
    display: inline-block;
    background: var(--sf-accent);
    color: var(--sf-on-accent);
    padding: 12px 32px;
    border-radius: 99px;
    font-weight: 700;
    font-size: 15.5px;
    text-decoration: none;
}

.sf-report-doc .sf-cta-btn:hover {
    opacity: 0.88;
    color: var(--sf-on-accent);
}

.sf-report-doc .sf-cta-sub {
    font-size: 13px;
    color: var(--sf-gray);
    margin: 10px auto 0;
    text-align: center;
}

/* =====================================================================
 * 18. sf-gallery — معرض صور
 * =================================================================== */
.sf-report-doc .sf-gallery {
    display: grid;
    gap: 12px;
    margin: 24px 0;
}

.sf-report-doc .sf-gallery-cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

.sf-report-doc .sf-gallery-cols-3 {
    grid-template-columns: repeat(3, 1fr);
}

.sf-report-doc .sf-gallery-cols-4 {
    grid-template-columns: repeat(4, 1fr);
}

.sf-report-doc .sf-g-item {
    margin: 0;
}

.sf-report-doc .sf-g-item img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: var(--sf-radius);
    display: block;
}

.sf-report-doc .sf-g-caption {
    font-size: 12.5px;
    color: var(--sf-gray);
    margin-top: 6px;
}

/* لوحة الإضافة داخل المحرر فقط */
.sf-report-doc .sf-g-add {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 110px;
    border: 1px dashed var(--sf-line);
    border-radius: var(--sf-radius);
    background: var(--sf-card);
    font-size: 13.5px;
    cursor: pointer;
}

/* =====================================================================
 * 19. sf-pros-cons — مزايا وعيوب
 * =================================================================== */
.sf-report-doc .sf-pros-cons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin: 24px 0;
}

.sf-report-doc .sf-pc-col {
    background: var(--sf-card);
    border: 1px solid var(--sf-line);
    border-radius: var(--sf-radius);
    padding: 20px 22px;
}

.sf-report-doc .sf-pc-pros {
    border-top: 4px solid var(--sf-palm);
}

.sf-report-doc .sf-pc-cons {
    border-top: 4px solid var(--sf-madder);
}

.sf-report-doc .sf-pc-title {
    margin: 0 0 12px;
    font-size: 16px;
    font-weight: 700;
    color: var(--sf-ink);
}

.sf-report-doc .sf-pc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sf-report-doc .sf-pc-list li {
    position: relative;
    padding-right: 26px;
    font-size: 14.5px;
    margin-bottom: 9px;
}

.sf-report-doc .sf-pc-list li::before {
    position: absolute;
    right: 0;
    font-weight: 700;
}

.sf-report-doc .sf-pc-pros .sf-pc-list li::before {
    content: '✓';
    color: var(--sf-palm);
}

.sf-report-doc .sf-pc-cons .sf-pc-list li::before {
    content: '✗';
    color: var(--sf-madder);
}

/* =====================================================================
 * 20. sf-video — فيديو مستقل
 * =================================================================== */
.sf-report-doc .sf-video {
    margin: 24px 0;
}

.sf-report-doc .sf-video video {
    width: 100%;
    display: block;
    border-radius: var(--sf-radius);
    background: var(--sf-head);
}

.sf-report-doc .sf-video-caption {
    font-size: 13px;
    color: var(--sf-gray);
    margin-top: 8px;
    text-align: center;
}

.sf-report-doc .sf-video-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    border: 1px dashed var(--sf-line);
    border-radius: var(--sf-radius);
    background: var(--sf-card);
    font-size: 13.5px;
    cursor: pointer;
}

/* =====================================================================
 * 21. sf-finding — ملف ملاحظة (رأس تعريفي + جسم حر)
 * =================================================================== */
.sf-report-doc .sf-finding {
    background: var(--sf-card);
    border: 1px solid var(--sf-line);
    border-radius: var(--sf-radius);
    margin: 24px 0;
    overflow: hidden;
}

.sf-report-doc .sf-finding-head {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 14px 22px;
    background: var(--sf-gray-soft);
    border-bottom: 1px solid var(--sf-line);
}

.sf-report-doc .sf-finding-head h4 {
    flex: 1;
    min-width: 0;
    margin: 0;
    font-size: 16.5px;
    font-weight: 700;
    text-align: center;
    color: var(--sf-ink);
}

.sf-report-doc .sf-finding-head .sf-fid {
    font-size: 12.5px;
}

.sf-report-doc .sf-finding-body {
    padding: 8px 22px 22px;
}

/* عناوين الأسئلة داخل جسم الملاحظة */
.sf-report-doc .sf-finding-body h3,
.sf-report-doc .sf-finding-body h4,
.sf-report-doc .sf-finding-body h5 {
    font-size: 15.5px;
    font-weight: 700;
    margin: 24px 0 8px;
    color: var(--sf-ink);
}

.sf-report-doc .sf-finding-body p {
    font-size: 14.5px;
    color: var(--sf-ink-soft);
    margin: 10px 0;
}

.sf-report-doc .sf-finding-body p b,
.sf-report-doc .sf-finding-body p strong {
    color: var(--sf-ink);
}

/* =====================================================================
 * 22. sf-dom-diagram — مخطط صناديق توضيحي
 * =================================================================== */
.sf-report-doc .sf-dom-diagram {
    border: 1px dashed var(--sf-line);
    border-radius: var(--sf-radius);
    padding: 16px;
    margin: 18px 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sf-report-doc .sf-dom-box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 16px;
    background: var(--sf-card);
    border: 1px solid var(--sf-line);
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 13.5px;
}

/* الصندوق "المخفي": تظليل قطري يدل على أنه غير مرئي */
.sf-report-doc .sf-dom-box.sf-dom-hidden {
    background: repeating-linear-gradient(45deg, var(--sf-gray-soft) 0 8px, transparent 8px 16px);
    color: var(--sf-ink-soft);
}

.sf-report-doc .sf-dom-path {
    font-size: 12.5px;
    color: var(--sf-madder);
    text-align: center;
}

/* =====================================================================
 * 23. بلوك الكود (sf-pre + codeBlock داخل المحرر)
 * كونسول داكن دائماً، LTR، بخط أحادي لأنه كود حرفي
 * =================================================================== */
.sf-report-doc pre,
.sf-report-doc .sf-pre {
    background: var(--sf-console-bg);
    color: var(--sf-console-text);
    direction: ltr;
    text-align: left;
    unicode-bidi: plaintext;
    font-family: ui-monospace, 'SF Mono', 'Cascadia Mono', Menlo, Consolas, monospace;
    font-size: 13px;
    line-height: 1.9;
    padding: 16px 20px;
    border-radius: 8px;
    overflow-x: auto;
    white-space: pre-wrap;
    margin: 14px 0;
    max-width: none;
}

.sf-report-doc pre code,
.sf-report-doc .sf-pre code {
    background: transparent;
    padding: 0;
    color: inherit;
    font-size: inherit;
    word-break: normal;
}

/* =====================================================================
 * الطباعة
 * =================================================================== */
@media print {
    .sf-report-doc {
        background: #fff;
        color: #181611; /* نص داكن مضمون على ورق أبيض مهما كان الثيم */
    }

    .sf-report-doc .sf-table-scroll {
        overflow: visible;
    }
}

/* =====================================================================
 * التجاوب
 * =================================================================== */
@media (max-width: 640px) {
    .sf-report-doc {
        font-size: 15px;
    }

    /* الوسائط والنص يتراصان عمودياً بالجوال، الوسائط أولاً */
    .sf-report-doc .sf-media-text,
    .sf-report-doc .sf-media-left {
        flex-direction: column;
    }

    .sf-report-doc .sf-mt-media {
        flex: none;
        width: 100%;
    }

    .sf-report-doc .sf-two-col {
        grid-template-columns: 1fr;
    }

    .sf-report-doc .sf-gallery-cols-3,
    .sf-report-doc .sf-gallery-cols-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .sf-report-doc .sf-pros-cons {
        grid-template-columns: 1fr;
    }
}
