[{"data":1,"prerenderedAt":31},["ShallowReactive",2],{"dataset-cdffbed6-8388-4b72-8c74-d36403cc5b83":3},{"entry":4,"body":30},{"id":5,"slug":6,"title":7,"organization":8,"organization_slug":9,"tags_he":10,"primary_resource_id":14,"formats":15,"metadata_modified":17,"license":18,"record_count":19,"resources":20,"last_analyzed_at":25,"version":26,"summary_he":27,"dataset_kind":28,"related_ids":29},"cdffbed6-8388-4b72-8c74-d36403cc5b83","rkbt-lv-z","רכבת לו\"ז","משרד התחבורה והבטיחות בדרכים","ministry_of_transport",[11,12,13],"משרד התחבורה","רכבת","תחבורה ציבורית","1ebbbb91-1d44-4f41-a85c-4a93a35e32d6",[16],"CSV","2026-05-06T10:39:57.940464Z","אחר (פתוח)",18074,[21],{"url":22,"format":16,"name":23,"size_bytes":24},"https:\u002F\u002Fdata.gov.il\u002Fdataset\u002Fcdffbed6-8388-4b72-8c74-d36403cc5b83\u002Fresource\u002F1ebbbb91-1d44-4f41-a85c-4a93a35e32d6\u002Fdownload\u002F1ebbbb91-1d44-4f41-a85c-4a93a35e32d6.csv","מאגר רכבת לו\"ז",979655,"2026-05-02T18:48:10.054309Z",1,"נתוני דיוק הרכבת הישראלית לפי תחנה וחודש (2015–2026): שיעורי עמידה בזמן, איחורים והקדמות ביציאה עבור 67 תחנות ברחבי הארץ.","timeseries",[],"\u003C!-- רכבת לו\"ז – דיוק תחנות הרכבת הארצית -->\n\u003Ch1 class=\"text-2xl font-bold text-ink-deep mb-3\">רכבת לו&quot;ז – דיוק עמידה בלוח הזמנים\u003C\u002Fh1>\n\n\u003Cdiv class=\"flex flex-wrap gap-2 mb-5\">\n  \u003Cspan class=\"tag-chip\">דיוק רכבת\u003C\u002Fspan>\n  \u003Cspan class=\"tag-chip\">תחבורה ציבורית\u003C\u002Fspan>\n  \u003Cspan class=\"tag-chip\">לוח זמנים\u003C\u002Fspan>\n  \u003Cspan class=\"tag-chip\">איחורים\u003C\u002Fspan>\n  \u003Cspan class=\"tag-chip\">תחנות רכבת\u003C\u002Fspan>\n\u003C\u002Fdiv>\n\n\u003C!-- AI Summary -->\n\u003Csection class=\"card p-5 mb-4\">\n  \u003Cp class=\"text-ink leading-relaxed\">\n    מאגר זה עוקב אחר דיוק הרכבת הישראלית בכל תחנות הרשת הארצית, משנת 2015 ועד 2026 – סך של כ-12.4 מיליון מדידות נסיעה.\n    לכל חודש ותחנה מתועדת כמות הנסיעות לפי שלושה סטטוסים: בזמן, איחור, והקדמה ביציאה.\n    נתוני 2025–2026 חושפים שינוי מבני חריג: שיעור ההקדמות ביציאה קפץ מ-5% ל-31%, מה שהוריד את מדד הדיוק מ-89% ל-62%.\n  \u003C\u002Fp>\n\u003C\u002Fsection>\n\n\u003C!-- KPI Cards -->\n\u003Cdiv class=\"grid grid-cols-2 md:grid-cols-4 gap-4 mb-5\">\n  \u003Cdiv class=\"card p-4 text-center\">\n    \u003Cdiv class=\"text-3xl font-bold text-brand mb-1\">12.4M\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-subtle text-sm\">סך מדידות נסיעה\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"card p-4 text-center\">\n    \u003Cdiv class=\"text-3xl font-bold text-brand mb-1\">83.6%\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-subtle text-sm\">שיעור דיוק כולל\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"card p-4 text-center\">\n    \u003Cdiv class=\"text-3xl font-bold text-brand mb-1\">67\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-subtle text-sm\">תחנות ברחבי הארץ\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n  \u003Cdiv class=\"card p-4 text-center\">\n    \u003Cdiv class=\"text-3xl font-bold text-brand mb-1\">2015–2026\u003C\u002Fdiv>\n    \u003Cdiv class=\"text-subtle text-sm\">טווח שנות הנתונים\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\u003C\u002Fdiv>\n\n\u003C!-- Insights -->\n\u003Csection class=\"card p-5 mb-5\">\n  \u003Ch2 class=\"font-semibold text-ink-deep mb-3 text-lg\">תובנות עיקריות\u003C\u002Fh2>\n  \u003Cul class=\"space-y-2 text-ink text-sm leading-relaxed list-none\">\n    \u003Cli class=\"flex gap-2\">\n      \u003Cimg src=\"\u002Ficons\u002Ftriangle-alert.svg\" alt=\"\" class=\"w-5 h-5 text-warn flex-shrink-0 mt-0.5\" \u002F>\n      \u003Cspan>בשנת 2025 ירד שיעור הדיוק בחדות ל-62%, בעיקר עקב זינוק ביציאות מוקדמות – 31% מהנסיעות יצאו לפני הזמן לעומת כ-5%–8% בשנים 2015–2024.\u003C\u002Fspan>\n    \u003C\u002Fli>\n    \u003Cli class=\"flex gap-2\">\n      \u003Cimg src=\"\u002Ficons\u002Fcircle-check.svg\" alt=\"\" class=\"w-5 h-5 text-ok flex-shrink-0 mt-0.5\" \u002F>\n      \u003Cspan>שנות 2023–2024 היו הטובות ביותר בהיקף נסיעות (כ-1.38 מיליון לשנה) ובדיוק גבוה של כ-89%.\u003C\u002Fspan>\n    \u003C\u002Fli>\n    \u003Cli class=\"flex gap-2\">\n      \u003Cimg src=\"\u002Ficons\u002Ftriangle-alert.svg\" alt=\"\" class=\"w-5 h-5 text-warn flex-shrink-0 mt-0.5\" \u002F>\n      \u003Cspan>שנת 2019 הציגה את שיעור האיחורים הגבוה ביותר – 12% מהנסיעות אוחרו, לעומת 3.5%–6.9% בשאר השנים.\u003C\u002Fspan>\n    \u003C\u002Fli>\n    \u003Cli class=\"flex gap-2\">\n      \u003Cimg src=\"\u002Ficons\u002Fcircle-check.svg\" alt=\"\" class=\"w-5 h-5 text-ok flex-shrink-0 mt-0.5\" \u002F>\n      \u003Cspan>בשנות הקורונה (2020–2021) ירד מספר הנסיעות הכולל, אך שיעור הדיוק השתפר ל-88%–90%.\u003C\u002Fspan>\n    \u003C\u002Fli>\n    \u003Cli class=\"flex gap-2\">\n      \u003Cimg src=\"\u002Ficons\u002Fmap-pin.svg\" alt=\"\" class=\"w-5 h-5 text-brand flex-shrink-0 mt-0.5\" \u002F>\n      \u003Cspan>תחנת ראשונים מציגה את שיעור הדיוק הגבוה ביותר (97.8%), ותחנת קרית חיים את הנמוך ביותר (30.4%) – פער של למעלה מ-67 נקודות אחוז.\u003C\u002Fspan>\n    \u003C\u002Fli>\n    \u003Cli class=\"flex gap-2\">\n      \u003Cimg src=\"\u002Ficons\u002Fdatabase.svg\" alt=\"\" class=\"w-5 h-5 text-brand flex-shrink-0 mt-0.5\" \u002F>\n      \u003Cspan>ברמה הכוללת, 83.6% מהנסיעות יצאו בזמן, 6.8% אוחרו, ו-9.6% יצאו מוקדם מהמתוכנן.\u003C\u002Fspan>\n    \u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Fsection>\n\n\u003C!-- Chart 1: Monthly trend line -->\n\u003Csection class=\"card p-5 mb-5\">\n  \u003Ch2 class=\"font-semibold text-ink-deep mb-1\">מגמה חודשית: שיעור דיוק לפי חודש (2015–2026)\u003C\u002Fh2>\n  \u003Cp class=\"text-subtle text-sm mb-3\">שיעור הנסיעות שיצאו בזמן מתוך סך הנסיעות לכל חודש, לפי שלושה סטטוסים\u003C\u002Fp>\n  \u003Cdiv id=\"chart-monthly\" class=\"h-64 md:h-80\">\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\u003C!-- Chart 2: Annual breakdown stacked bar -->\n\u003Csection class=\"card p-5 mb-5\">\n  \u003Ch2 class=\"font-semibold text-ink-deep mb-1\">פירוט שנתי: התפלגות סטטוס הנסיעות\u003C\u002Fh2>\n  \u003Cp class=\"text-subtle text-sm mb-3\">100% עמודה מחולקת לפי: בזמן, איחור, הקדמה ביציאה – לכל שנה בנפרד\u003C\u002Fp>\n  \u003Cdiv id=\"chart-annual\" class=\"h-64 md:h-80\">\u003C\u002Fdiv>\n\u003C\u002Fsection>\n\n\u003C!-- Chart 3+4: Station rankings side by side -->\n\u003Cdiv class=\"grid grid-cols-1 md:grid-cols-2 gap-5 mb-5\">\n  \u003Csection class=\"card p-5\">\n    \u003Ch2 class=\"font-semibold text-ink-deep mb-1\">תחנות עם שיעור הדיוק הנמוך ביותר\u003C\u002Fh2>\n    \u003Cp class=\"text-subtle text-sm mb-3\">12 תחנות עם מינימום 5,000 מדידות (כל השנים)\u003C\u002Fp>\n    \u003Cdiv id=\"chart-worst\" class=\"h-72 md:h-80\">\u003C\u002Fdiv>\n  \u003C\u002Fsection>\n  \u003Csection class=\"card p-5\">\n    \u003Ch2 class=\"font-semibold text-ink-deep mb-1\">תחנות עם שיעור הדיוק הגבוה ביותר\u003C\u002Fh2>\n    \u003Cp class=\"text-subtle text-sm mb-3\">12 תחנות עם מינימום 5,000 מדידות (כל השנים)\u003C\u002Fp>\n    \u003Cdiv id=\"chart-best\" class=\"h-72 md:h-80\">\u003C\u002Fdiv>\n  \u003C\u002Fsection>\n\u003C\u002Fdiv>\n\n\u003C!-- Notes section -->\n\u003Csection class=\"card p-5 mb-5\">\n  \u003Ch2 class=\"font-semibold text-ink-deep mb-2\">אודות הנתונים\u003C\u002Fh2>\n  \u003Cp class=\"text-ink text-sm leading-relaxed\">\n    מאגר זה מציג את הדיוק של הרכבת ביחס לתכנון בכל התחנות ובכלל הנסיעות ברכבת הארצית בתחבורה הציבורית.\n    הקובץ מתעדכן אחת לחודש עם הנתונים הבאים: שנה, חודש, שם תחנה, דיוק סטטוס (תקין, איחור, הקדמה), כמות לסטטוס.\n    \u003Cspan class=\"text-warn font-medium\">כרגע אין צפי לקבלת נתונים נוספים.\u003C\u002Fspan>\n  \u003C\u002Fp>\n\u003C\u002Fsection>\n\n\u003Cstyle>\n  .chart-legend-dot {\n    display: inline-block;\n    width: 10px;\n    height: 10px;\n    border-radius: 50%;\n    margin-left: 6px;\n  }\n\u003C\u002Fstyle>\n\n\u003Cscript>\n(function () {\n  const GOVIL_PALETTE = [\n    '#0068f5', '#0b3668', '#6c9fd8', '#0053c4', '#0c3058',\n    '#3d70b0', '#b7d2f7', '#2658a0', '#dbe8fb', '#0c1f3d'\n  ];\n\n  const baseECharts = {\n    color: GOVIL_PALETTE,\n    textStyle: { fontFamily: 'Rubik, sans-serif', color: '#0c3058' },\n    tooltip: {\n      textStyle: { fontFamily: 'Rubik', color: '#0c3058' },\n      backgroundColor: '#fff',\n      borderColor: '#c3cfe7',\n      extraCssText: 'direction: rtl; box-shadow: 0 6px 24px -8px rgba(0,104,245,.18);'\n    },\n    grid: { left: 48, right: 64, top: 40, bottom: 48, containLabel: true },\n  };\n\n  \u002F\u002F ── DATA ──────────────────────────────────────────────────────\n  var labelsMonthly = [\"2015-01\",\"2015-02\",\"2015-03\",\"2015-04\",\"2015-05\",\"2015-06\",\"2015-07\",\"2015-08\",\"2015-09\",\"2015-10\",\"2015-11\",\"2015-12\",\"2016-01\",\"2016-02\",\"2016-03\",\"2016-04\",\"2016-05\",\"2016-06\",\"2016-07\",\"2016-08\",\"2016-09\",\"2016-10\",\"2016-11\",\"2016-12\",\"2017-01\",\"2017-02\",\"2017-03\",\"2017-04\",\"2017-05\",\"2017-06\",\"2017-07\",\"2017-08\",\"2017-09\",\"2017-10\",\"2017-11\",\"2017-12\",\"2018-01\",\"2018-02\",\"2018-03\",\"2018-04\",\"2018-05\",\"2018-06\",\"2018-07\",\"2018-08\",\"2018-09\",\"2018-10\",\"2018-11\",\"2018-12\",\"2019-01\",\"2019-02\",\"2019-03\",\"2019-04\",\"2019-05\",\"2019-06\",\"2019-07\",\"2019-08\",\"2019-09\",\"2019-10\",\"2019-11\",\"2019-12\",\"2020-01\",\"2020-02\",\"2020-03\",\"2020-04\",\"2020-05\",\"2020-06\",\"2020-07\",\"2020-08\",\"2020-09\",\"2020-10\",\"2020-11\",\"2020-12\",\"2021-01\",\"2021-02\",\"2021-03\",\"2021-04\",\"2021-05\",\"2021-06\",\"2021-07\",\"2021-08\",\"2021-09\",\"2021-10\",\"2021-11\",\"2021-12\",\"2022-01\",\"2022-02\",\"2022-03\",\"2022-04\",\"2022-05\",\"2022-06\",\"2022-07\",\"2022-08\",\"2022-09\",\"2022-10\",\"2022-11\",\"2022-12\",\"2023-01\",\"2023-02\",\"2023-03\",\"2023-04\",\"2023-05\",\"2023-06\",\"2023-07\",\"2023-08\",\"2023-09\",\"2023-10\",\"2023-11\",\"2023-12\",\"2024-01\",\"2024-02\",\"2024-03\",\"2024-04\",\"2024-05\",\"2024-06\",\"2024-07\",\"2024-08\",\"2024-09\",\"2024-10\",\"2024-11\",\"2024-12\",\"2025-01\",\"2025-02\",\"2025-03\",\"2025-04\",\"2025-05\",\"2025-06\",\"2025-07\",\"2025-08\",\"2025-09\",\"2025-10\",\"2025-11\",\"2025-12\",\"2026-01\",\"2026-02\",\"2026-03\",\"2026-04\"];\n\n  var pctOntime   = [87.4,87.0,86.3,87.6,87.3,87.2,87.4,86.9,86.7,87.5,86.3,86.0,85.8,87.2,87.2,86.9,87.0,87.3,87.2,87.1,87.2,86.5,86.0,85.8,89.4,89.3,88.7,89.3,89.4,89.3,89.2,89.0,89.2,89.2,88.9,87.8,87.3,84.8,84.8,85.5,84.3,83.6,83.8,84.5,83.6,83.6,83.0,82.9,82.5,82.3,83.7,83.6,83.0,83.1,83.4,82.6,82.4,82.5,82.8,82.6,85.8,87.5,85.5,93.2,92.4,87.9,87.4,87.2,87.1,86.5,86.5,87.4,90.9,90.6,90.2,90.1,90.3,89.6,90.0,89.8,89.8,89.8,89.8,89.9,87.0,88.3,85.5,85.3,85.6,86.1,85.5,86.0,85.7,85.6,85.6,85.6,89.1,89.5,89.4,90.0,89.8,89.4,89.8,89.6,89.6,89.5,89.5,89.1,89.5,89.3,89.3,89.4,89.3,89.1,89.6,89.3,89.3,89.1,89.2,89.6,61.1,61.6,62.4,74.0,60.4,56.5,61.0,58.7,60.8,61.5,62.5,61.3,61.6,62.6,49.1,60.0];\n\n  var pctLate     = [6.3,6.1,6.0,5.9,5.9,5.7,5.5,5.7,5.8,5.6,5.9,5.9,4.9,4.8,4.9,4.8,4.9,4.8,4.8,4.8,5.1,5.2,5.4,5.5,6.1,6.0,6.3,6.2,6.2,6.0,6.0,6.3,6.1,6.2,6.5,6.4,9.7,9.9,9.8,10.0,10.3,10.2,10.3,10.1,10.5,10.2,10.3,10.2,12.3,12.3,11.6,11.9,12.1,12.3,12.4,12.4,12.5,12.3,12.0,11.9,8.0,6.3,8.2,2.5,2.7,4.3,4.9,5.1,5.2,5.4,5.6,5.3,3.0,3.0,3.1,3.2,3.4,3.5,3.5,3.5,3.6,3.5,3.6,3.6,8.3,7.7,8.9,9.0,8.7,8.5,8.8,8.5,8.8,8.8,8.8,8.7,6.3,6.4,6.5,6.2,6.4,6.7,6.6,6.6,6.5,6.5,6.5,7.0,4.2,4.1,4.0,3.9,4.0,4.1,4.0,4.2,4.1,4.2,4.1,4.0,4.6,4.5,4.4,3.9,5.7,5.5,7.9,11.4,7.5,8.8,8.9,9.3,5.4,4.2,19.6,5.5];\n\n  var pctEarly    = [6.3,6.9,7.7,6.5,6.8,7.1,7.1,7.4,7.5,6.9,7.8,8.1,9.3,8.0,7.9,8.3,8.1,7.9,8.0,8.1,7.7,8.3,8.6,8.7,4.5,4.7,5.0,4.5,4.4,4.7,4.8,4.7,4.7,4.6,4.6,5.8,3.0,5.3,5.4,4.5,5.4,6.2,5.9,5.4,5.9,6.2,6.7,6.9,5.2,5.4,4.7,4.5,4.9,4.6,4.2,5.0,5.1,5.2,5.2,5.5,6.2,6.2,6.3,4.3,4.9,7.8,7.7,7.7,7.7,8.1,7.9,7.3,6.1,6.4,6.7,6.7,6.3,6.9,6.5,6.7,6.6,6.7,6.6,6.5,4.7,4.0,5.6,5.7,5.7,5.4,5.7,5.5,5.5,5.6,5.6,5.7,4.6,4.1,4.1,3.8,3.8,3.9,3.6,3.8,3.9,4.0,4.0,3.9,6.3,6.6,6.7,6.7,6.7,6.8,6.4,6.5,6.6,6.7,6.7,6.4,34.4,33.9,33.1,22.2,33.9,38.0,31.1,29.9,31.7,29.7,28.5,29.3,33.0,33.2,31.3,34.4];\n\n  var yearsAnn    = [2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026];\n  var annOt       = [87.0,86.8,89.0,84.1,82.8,88.2,90.0,85.9,89.5,89.3,62.0,60.0];\n  var annLate     = [5.9,5.0,6.2,10.1,12.0,5.5,3.5,8.7,6.5,4.1,6.9,6.9];\n  var annEarly    = [7.1,8.2,4.7,5.8,5.2,6.3,6.5,5.4,4.1,6.6,31.1,33.1];\n\n  var worstNames  = [\"\\u05e7\\u05e8\\u05d9\\u05ea \\u05d7\\u05d9\\u05d9\\u05dd\",\"\\u05e7\\u05e8\\u05d9\\u05ea \\u05d0\\u05e8\\u05d9\\u05d4\",\"\\u05e8\\u05de\\u05dc\\u05d4\",\"\\u05e7\\u05d9\\u05e1\\u05e8\\u05d9\\u05d4 \\u05e4\\u05e8\\u05d3\\u05e1 \\u05d7\\u05e0\\u05d4\",\"\\u05e7\\u05e8\\u05d9\\u05ea \\u05de\\u05d5\\u05e6\\u05e7\\u05d9\\u05df\",\"\\u05d9\\u05d1\\u05e0\\u05d4 \\u05de\\u05d6\\u05e8\\u05d7\",\"\\u05d7\\u05d5\\u05e6\\u05d5\\u05ea \\u05de\\u05e4\\u05e8\\u05e5\",\"\\u05de\\u05e8\\u05db\\u05d6\\u05d9\\u05ea \\u05d4\\u05de\\u05e4\\u05e8\\u05e5\",\"\\u05dc\\u05d5\\u05d3 \\u05d2\\u05e0\\u05d9 \\u05d0\\u05d1\\u05d9\\u05d1\",\"\\u05d7\\u05d3\\u05e8\\u05d4 \\u05de\\u05e2\\u05e8\\u05d1\",\"\\u05e0\\u05ea\\u05e0\\u05d9\\u05d4 \\u05e7\\u05e8\\u05d9\\u05d9\\u05ea \\u05e1\\u05e4\\u05d9\\u05e8\",\"\\u05e9\\u05d3\\u05e8\\u05d5\\u05ea\"];\n  var worstOt     = [30.4,51.0,58.1,59.9,62.9,65.0,70.0,73.9,74.1,77.5,77.7,78.5];\n\n  var bestNames   = [\"\\u05e8\\u05d0\\u05e9\\u05d5\\u05e0\\u05d9\\u05dd\",\"\\u05d9\\u05e8\\u05d5\\u05e9\\u05dc\\u05d9\\u05dd\u002F\\u05d9\\u05e6\\u05d7\\u05e7 \\u05e0\\u05d1\\u05d5\\u05df\",\"\\u05de\\u05d5\\u05d3\\u05d9\\u05e2\\u05d9\\u05df \\u05de\\u05e8\\u05db\\u05d6\",\"\\u05db\\u05e8\\u05de\\u05d9\\u05d0\\u05dc\",\"\\u05d1\\u05d0\\u05e8 \\u05e9\\u05d1\\u05e2 \\u05de\\u05e8\\u05db\\u05d6\",\"\\u05e0\\u05d4\\u05e8\\u05d9\\u05d4\",\"\\u05d1\\u05d9\\u05ea \\u05e9\\u05d0\\u05df\",\"\\u05d3\\u05d9\\u05de\\u05d5\\u05e0\\u05d4\",\"\\u05e8\\u05e2\\u05e0\\u05e0\\u05d4 \\u05de\\u05e2\\u05e8\\u05d1\",\"\\u05d0\\u05d5\\u05e4\\u05e7\\u05d9\\u05dd\",\"\\u05d1\\u05d0\\u05e8 \\u05e9\\u05d1\\u05e2 \\u05e6\\u05e4\\u05d5\\u05df\",\"\\u05e2\\u05e4\\u05d5\\u05dc\\u05d4\"];\n  var bestOt      = [97.8,96.8,95.8,94.8,94.1,94.1,92.9,92.8,92.7,91.9,91.5,90.7];\n\n  \u002F\u002F ── CHART 1: Monthly trend ──────────────────────────────────\n  var chartMonthly = echarts.init(document.getElementById('chart-monthly'));\n  chartMonthly.setOption(Object.assign({}, baseECharts, {\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'axis',\n      formatter: function (params) {\n        var s = '\u003Cstrong>' + params[0].axisValue + '\u003C\u002Fstrong>\u003Cbr\u002F>';\n        params.forEach(function (p) {\n          s += p.marker + ' ' + p.seriesName + ': \u003Cstrong>' + p.value + '%\u003C\u002Fstrong>\u003Cbr\u002F>';\n        });\n        return s;\n      }\n    }),\n    legend: {\n      data: ['בזמן', 'איחור', 'הקדמה ביציאה'],\n      top: 4,\n      textStyle: { fontFamily: 'Rubik', color: '#0c3058' },\n      right: 0\n    },\n    xAxis: {\n      type: 'category',\n      data: labelsMonthly,\n      axisLabel: {\n        rotate: 45,\n        interval: 11,\n        fontFamily: 'Rubik',\n        fontSize: 11,\n        color: '#6c757d'\n      }\n    },\n    yAxis: {\n      type: 'value',\n      min: 0,\n      max: 100,\n      axisLabel: {\n        formatter: '{value}%',\n        fontFamily: 'Rubik',\n        color: '#6c757d'\n      },\n      splitLine: { lineStyle: { color: '#e8edf5' } }\n    },\n    series: [\n      {\n        name: 'בזמן',\n        type: 'line',\n        data: pctOntime,\n        smooth: true,\n        symbol: 'none',\n        lineStyle: { width: 2.5, color: '#0068f5' },\n        areaStyle: { color: { type: 'linear', x: 0, y: 0, x2: 0, y2: 1,\n          colorStops: [{ offset: 0, color: 'rgba(0,104,245,0.18)' }, { offset: 1, color: 'rgba(0,104,245,0.02)' }] } }\n      },\n      {\n        name: 'איחור',\n        type: 'line',\n        data: pctLate,\n        smooth: true,\n        symbol: 'none',\n        lineStyle: { width: 2, color: '#dc3545' }\n      },\n      {\n        name: 'הקדמה ביציאה',\n        type: 'line',\n        data: pctEarly,\n        smooth: true,\n        symbol: 'none',\n        lineStyle: { width: 2, color: '#6c9fd8', type: 'dashed' }\n      }\n    ]\n  }));\n\n  \u002F\u002F ── CHART 2: Annual stacked 100% bar ───────────────────────\n  var chartAnnual = echarts.init(document.getElementById('chart-annual'));\n  chartAnnual.setOption(Object.assign({}, baseECharts, {\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'axis',\n      axisPointer: { type: 'shadow' },\n      formatter: function (params) {\n        var s = '\u003Cstrong>' + params[0].axisValue + '\u003C\u002Fstrong>\u003Cbr\u002F>';\n        params.forEach(function (p) {\n          s += p.marker + ' ' + p.seriesName + ': \u003Cstrong>' + p.value + '%\u003C\u002Fstrong>\u003Cbr\u002F>';\n        });\n        return s;\n      }\n    }),\n    legend: {\n      data: ['בזמן', 'איחור', 'הקדמה ביציאה'],\n      top: 4,\n      textStyle: { fontFamily: 'Rubik', color: '#0c3058' },\n      right: 0\n    },\n    xAxis: {\n      type: 'category',\n      data: yearsAnn,\n      axisLabel: { fontFamily: 'Rubik', color: '#6c757d', fontSize: 12 }\n    },\n    yAxis: {\n      type: 'value',\n      max: 100,\n      axisLabel: { formatter: '{value}%', fontFamily: 'Rubik', color: '#6c757d' },\n      splitLine: { lineStyle: { color: '#e8edf5' } }\n    },\n    series: [\n      {\n        name: 'בזמן',\n        type: 'bar',\n        stack: 'total',\n        data: annOt,\n        itemStyle: { color: '#0068f5' },\n        label: { show: true, position: 'inside', formatter: '{c}%', fontFamily: 'Rubik', fontSize: 10, color: '#fff' }\n      },\n      {\n        name: 'איחור',\n        type: 'bar',\n        stack: 'total',\n        data: annLate,\n        itemStyle: { color: '#dc3545' }\n      },\n      {\n        name: 'הקדמה ביציאה',\n        type: 'bar',\n        stack: 'total',\n        data: annEarly,\n        itemStyle: { color: '#6c9fd8' }\n      }\n    ]\n  }));\n\n  \u002F\u002F ── CHART 3: Worst stations horizontal bar ─────────────────\n  var chartWorst = echarts.init(document.getElementById('chart-worst'));\n  chartWorst.setOption(Object.assign({}, baseECharts, {\n    grid: { left: 16, right: 64, top: 8, bottom: 8, containLabel: true },\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'axis',\n      formatter: function (p) {\n        return p[0].name + '\u003Cbr\u002F>' + p[0].marker + ' דיוק: \u003Cstrong>' + p[0].value + '%\u003C\u002Fstrong>';\n      }\n    }),\n    xAxis: {\n      type: 'value',\n      min: 0,\n      max: 100,\n      axisLabel: { formatter: '{value}%', fontFamily: 'Rubik', color: '#6c757d', fontSize: 11 },\n      splitLine: { lineStyle: { color: '#e8edf5' } }\n    },\n    yAxis: {\n      type: 'category',\n      data: worstNames,\n      axisLabel: { fontFamily: 'Rubik', color: '#0c3058', fontSize: 12 },\n      inverse: false\n    },\n    series: [{\n      type: 'bar',\n      data: worstOt.map(function (v) {\n        return { value: v, itemStyle: { color: v \u003C 50 ? '#dc3545' : v \u003C 70 ? '#ffc107' : '#6c9fd8' } };\n      }),\n      label: { show: true, position: 'right', formatter: '{c}%', fontFamily: 'Rubik', fontSize: 11, color: '#0c3058' },\n      barMaxWidth: 28\n    }]\n  }));\n\n  \u002F\u002F ── CHART 4: Best stations horizontal bar ─────────────────\n  var chartBest = echarts.init(document.getElementById('chart-best'));\n  chartBest.setOption(Object.assign({}, baseECharts, {\n    grid: { left: 16, right: 64, top: 8, bottom: 8, containLabel: true },\n    tooltip: Object.assign({}, baseECharts.tooltip, {\n      trigger: 'axis',\n      formatter: function (p) {\n        return p[0].name + '\u003Cbr\u002F>' + p[0].marker + ' דיוק: \u003Cstrong>' + p[0].value + '%\u003C\u002Fstrong>';\n      }\n    }),\n    xAxis: {\n      type: 'value',\n      min: 80,\n      max: 100,\n      axisLabel: { formatter: '{value}%', fontFamily: 'Rubik', color: '#6c757d', fontSize: 11 },\n      splitLine: { lineStyle: { color: '#e8edf5' } }\n    },\n    yAxis: {\n      type: 'category',\n      data: bestNames,\n      axisLabel: { fontFamily: 'Rubik', color: '#0c3058', fontSize: 12 },\n      inverse: false\n    },\n    series: [{\n      type: 'bar',\n      data: bestOt.map(function (v) {\n        return { value: v, itemStyle: { color: '#0068f5' } };\n      }),\n      label: { show: true, position: 'right', formatter: '{c}%', fontFamily: 'Rubik', fontSize: 11, color: '#0c3058' },\n      barMaxWidth: 28\n    }]\n  }));\n\n  \u002F\u002F ── Resize handlers ────────────────────────────────────────\n  window.addEventListener('resize', function () {\n    chartMonthly.resize();\n    chartAnnual.resize();\n    chartWorst.resize();\n    chartBest.resize();\n  });\n})();\n\u003C\u002Fscript>\n",1778130672267]