<?php
/** @var array<string,mixed> $candidateData */
$data = is_array($candidateData ?? null) ? $candidateData : [];
$sites = is_array($data['sites'] ?? null) ? $data['sites'] : [];
$contract = is_array($data['contract'] ?? null) ? $data['contract'] : [];
$isAr = current_lang() === 'ar';
$tr = static function (string $en, string $ar) use ($isAr): string { return $isAr ? $ar : $en; };
$signals = [
    'QUANTITY_MAGNITUDE' => [$tr('Quantity deviation', 'انحراف الكمية'), $tr('Is today’s quantity far from the usual quantity for this exact movement?', 'هل ابتعدت كمية اليوم عن الكمية المعتادة لهذه الحركة الدقيقة؟')],
    'FINANCIAL_VALUE_MAGNITUDE' => [$tr('Value deviation', 'انحراف القيمة'), $tr('Is the financial value unusual compared with its own history?', 'هل القيمة المالية غير معتادة مقارنة بتاريخها الخاص؟')],
    'TRANSACTION_FREQUENCY' => [$tr('Frequency deviation', 'انحراف التكرار'), $tr('Did the movement occur much more often than usual?', 'هل تكررت الحركة أكثر كثيرًا من المعتاد؟')],
    'MAX_LINE_QUANTITY' => [$tr('Large individual line', 'سطر فردي كبير'), $tr('Does one transaction line stand out from the normal line size?', 'هل يبرز أحد أسطر الحركة عن حجم السطر الطبيعي؟')],
    'DORMANCY_REACTIVATION' => [$tr('Return after dormancy', 'عودة بعد خمول'), $tr('Did a movement reappear after an unusually long inactive period?', 'هل عادت الحركة بعد فترة توقف طويلة بصورة غير معتادة؟')],
    'MULTI_SIGNAL_RISK' => [$tr('Several deviations together', 'عدة انحرافات مجتمعة'), $tr('Do quantity, value or frequency deviate at the same time?', 'هل انحرفت الكمية والقيمة أو التكرار في الوقت نفسه؟')],
];
?>
<section class="diar-command-page diar-ui-r3 diar-candidate-workspace diar-functional-page" data-diar-functional-clarity="candidates">
    <?php include __DIR__ . '/_tabs.php'; ?>
    <?php include __DIR__ . '/_context.php'; ?>

    <header class="diar-subpage-hero candidate-hero clarity-hero">
        <div class="hero-copy">
            <span class="eyebrow"><?= e($tr('STATISTICAL COMPARISON RESULTS', 'نتائج المقارنة الإحصائية')) ?></span>
            <h1><?= e($tr('Detected movement deviations', 'الانحرافات المكتشفة في الحركات')) ?></h1>
            <p><?= e($tr(
                'This page will list movements whose quantity, value, frequency or timing differs meaningfully from the normal statistical baseline of the same item and movement grain.',
                'ستعرض هذه الصفحة الحركات التي تختلف كميتها أو قيمتها أو تكرارها أو توقيتها بصورة مهمة عن الخط الإحصائي الطبيعي لنفس الصنف وحبة الحركة.'
            )) ?></p>
        </div>
        <aside class="hero-boundary">
            <span class="boundary-label"><?= e($tr('Interpretation', 'طريقة التفسير')) ?></span>
            <strong><?= e($tr('Deviation ≠ wrongdoing', 'الانحراف لا يعني مخالفة')) ?></strong>
            <span><?= e($tr('A candidate is a movement that deserves review. It is not proof of theft, fraud, waste or user intent.', 'المرشح هو حركة تستحق المراجعة، وليس دليلًا على السرقة أو الاحتيال أو الهدر أو قصد المستخدم.')) ?></span>
        </aside>
    </header>

    <?php if (!empty($loadError)): ?><div class="diar-command-alert error"><?= e($loadError) ?></div><?php endif; ?>

    <section class="diar-command-section comparison-explainer">
        <div class="section-heading"><div><span class="section-kicker"><?= e($tr('THE COMPARISON', 'عملية المقارنة')) ?></span><h2><?= e($tr('How a movement becomes a candidate', 'كيف تتحول الحركة إلى مرشح')) ?></h2><p><?= e($tr('The engine follows a traceable sequence before presenting anything for review.', 'يتبع المحرك تسلسلًا قابلًا للتتبع قبل عرض أي حركة للمراجعة.')) ?></p></div></div>
        <div class="comparison-flow">
            <article><b>1</b><div><strong><?= e($tr('Select the exact profile', 'اختيار الملف الدقيق')) ?></strong><span><?= e($tr('Same hospital, branch, store, item, unit, transaction code and raw effect.', 'نفس المستشفى والفرع والمخزن والصنف والوحدة وكود الحركة والتأثير الخام.')) ?></span></div></article>
            <article><b>2</b><div><strong><?= e($tr('Compare today with history', 'مقارنة اليوم بالتاريخ')) ?></strong><span><?= e($tr('Quantity, value, line count, maximum line and dormancy are compared.', 'تتم مقارنة الكمية والقيمة وعدد الأسطر وأقصى سطر والخمول.')) ?></span></div></article>
            <article><b>3</b><div><strong><?= e($tr('Measure the strength of deviation', 'قياس قوة الانحراف')) ?></strong><span><?= e($tr('The result considers the profile’s own variability and readiness.', 'تراعي النتيجة التذبذب والجاهزية الخاصة بالملف نفسه.')) ?></span></div></article>
            <article><b>4</b><div><strong><?= e($tr('Prioritize for human review', 'ترتيب أولوية المراجعة البشرية')) ?></strong><span><?= e($tr('Only meaningful deviations enter the queue with a clear explanation.', 'لا تدخل القائمة إلا الانحرافات المهمة مع تفسير واضح.')) ?></span></div></article>
        </div>
    </section>

    <div class="diar-command-alert warning candidate-boundary-alert">
        <strong><?= e($tr('Live detection is not enabled yet.', 'لم يتم تفعيل الاكتشاف الفعلي بعد.')) ?></strong>
        <span><?= e($tr('The approved local detection contract is prepared, but candidate rows remain unavailable until DIAR-5E-R1 is deployed and verified on both databases.', 'تم تجهيز عقد الاكتشاف المحلي المعتمد، لكن صفوف المرشحين لن تتاح حتى تطبيق DIAR-5E-R1 والتحقق منه على القاعدتين.')) ?></span>
    </div>

    <section class="diar-command-section">
        <div class="section-heading"><div><h2><?= e($tr('Statistical baseline readiness', 'جاهزية الخطوط الإحصائية')) ?></h2><p><?= e($tr('Detection can only use current, versioned profiles from the same local hospital database.', 'لا يستخدم الاكتشاف إلا الملفات الحالية المرتبطة بالإصدار من قاعدة المستشفى المحلية نفسها.')) ?></p></div><span class="profile-live-chip status-pending_diar_5e_r1">PENDING 5E-R1</span></div>
        <div class="candidate-site-grid">
            <?php foreach ($sites as $siteCode => $site): $siteStatus=(string)($site['status'] ?? 'UNAVAILABLE'); ?>
                <article class="candidate-site-card status-<?= e(strtolower($siteStatus)) ?>">
                    <div><span class="hospital-code"><?= e((string)$siteCode) ?></span><strong><?= e((string)($site['package_version'] ?? '—')) ?></strong></div>
                    <span class="profile-live-chip status-<?= e(strtolower($siteStatus)) ?>"><?= e($siteStatus) ?></span>
                    <dl>
                        <div><dt><?= e($tr('Profiles','الملفات')) ?></dt><dd><?= number_format((int)($site['profile_count'] ?? 0)) ?></dd></div>
                        <div><dt><?= e($tr('Ready','جاهز')) ?></dt><dd><?= number_format((int)($site['ready_count'] ?? 0)) ?></dd></div>
                        <div><dt><?= e($tr('Limited','محدود')) ?></dt><dd><?= number_format((int)($site['limited_count'] ?? 0)) ?></dd></div>
                        <div><dt><?= e($tr('Sparse','قليل البيانات')) ?></dt><dd><?= number_format((int)($site['sparse_count'] ?? 0)) ?></dd></div>
                    </dl>
                </article>
            <?php endforeach; ?>
        </div>
    </section>

    <section class="diar-command-section signal-guide-section">
        <div class="section-heading"><div><h2><?= e($tr('What can trigger review?', 'ما الذي قد يؤدي إلى المراجعة؟')) ?></h2><p><?= e($tr('These are statistical comparison signals—not fixed quantity rules.', 'هذه إشارات مقارنة إحصائية وليست قواعد كمية ثابتة.')) ?></p></div></div>
        <div class="signal-guide-grid">
            <?php foreach ((array)($contract['signals'] ?? []) as $signal): $copy = $signals[(string)$signal] ?? [(string)$signal, '']; ?>
                <article><span><?= e((string)$signal) ?></span><strong><?= e($copy[0]) ?></strong><p><?= e($copy[1]) ?></p></article>
            <?php endforeach; ?>
        </div>
    </section>

    <section class="diar-command-section candidate-queue-shell">
        <div class="section-heading"><div><h2><?= e($tr('Review candidate queue', 'قائمة مرشحي المراجعة')) ?></h2><p><?= e($tr('Once live, every row will show the observed movement, its expected baseline, the difference and the signals that fired.', 'بعد التفعيل سيعرض كل صف الحركة المرصودة وخطها المتوقع والفارق والإشارات التي تحققت.')) ?></p></div><strong>0</strong></div>
        <div class="candidate-columns-preview">
            <span><?= e($tr('Observed movement', 'الحركة المرصودة')) ?></span><span><?= e($tr('Expected baseline', 'الخط المتوقع')) ?></span><span><?= e($tr('Deviation', 'الانحراف')) ?></span><span><?= e($tr('Why flagged', 'سبب الترشيح')) ?></span><span><?= e($tr('Review priority', 'أولوية المراجعة')) ?></span>
        </div>
        <div class="diar-empty-state candidate-empty-state"><strong><?= e($tr('No live candidate source is installed.', 'لم يتم تثبيت مصدر المرشحين الفعلي بعد.')) ?></strong><span><?= e($tr('This is a controlled feature gate, not a zero-risk conclusion.', 'هذه بوابة تفعيل محكومة وليست استنتاجًا بعدم وجود مخاطر.')) ?></span></div>
    </section>

    <details class="diar-command-section technical-tools-panel">
        <summary><span><strong><?= e($tr('Traceability and technical bindings', 'قابلية التتبع والروابط التقنية')) ?></strong><small><?= e($tr('Versions and hashes preserved with every future candidate.', 'الإصدارات والبصمات التي ستُحفظ مع كل مرشح مستقبلي.')) ?></small></span><b>⌄</b></summary>
        <div class="binding-list"><?php foreach ((array)($contract['required_bindings'] ?? []) as $binding): ?><span><?= e((string)$binding) ?></span><?php endforeach; ?></div>
        <div class="grain-flow"><?php foreach ((array)($contract['exact_grain'] ?? []) as $dimension): ?><span><?= e((string)$dimension) ?></span><?php endforeach; ?></div>
    </details>
</section>
