{"id":30620,"date":"2026-01-08T15:49:05","date_gmt":"2026-01-08T07:49:05","guid":{"rendered":"https:\/\/www.ukm.my\/pendaftar\/?page_id=30620"},"modified":"2026-04-07T14:46:44","modified_gmt":"2026-04-07T06:46:44","slug":"bahagian-sumber-manusia","status":"publish","type":"page","link":"https:\/\/www.ukm.my\/pendaftar\/bahagian-sumber-manusia\/","title":{"rendered":"Bahagian Sumber Manusia"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"30620\" class=\"elementor elementor-30620\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-01d3666 elementor-section-full_width elementor-section-stretched elementor-section-height-default elementor-section-height-default\" data-id=\"01d3666\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-no\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d583dac\" data-id=\"d583dac\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-c9f31a8 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c9f31a8\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-inner-column elementor-element elementor-element-018e148\" data-id=\"018e148\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f061c3d elementor-widget elementor-widget-heading\" data-id=\"f061c3d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><a href=\"#\">Bahagian Sumber Manusia<\/a><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a9648e7 elementor-tabs-view-vertical elementor-widget elementor-widget-tabs\" data-id=\"a9648e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"tabs.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-tabs\">\n\t\t\t<div class=\"elementor-tabs-wrapper\" role=\"tablist\" >\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1771\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1771\" aria-expanded=\"false\">Unit Gaji<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1772\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1772\" aria-expanded=\"false\">Unit Perjawatan & Kenaikan Pangkat<\/div>\n\t\t\t\t\t\t\t\t\t<div id=\"elementor-tab-title-1773\" class=\"elementor-tab-title elementor-tab-desktop-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1773\" aria-expanded=\"false\">Unit Elaun, Saraan & Prestasi<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t<div class=\"elementor-tabs-content-wrapper\" role=\"tablist\" aria-orientation=\"vertical\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"true\" data-tab=\"1\" role=\"tab\" tabindex=\"0\" aria-controls=\"elementor-tab-content-1771\" aria-expanded=\"false\">Unit Gaji<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1771\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"1\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1771\" tabindex=\"0\" hidden=\"false\"><style>\n    .directory-wrapper {\n        --text-color: #4E4E4E;\n        --primary-color: #35387A;\n        --button-hover: #969696;\n        --bg-color: #f9f9f9;\n        --card-bg: #ffffff;\n        --border-color: #eeeeee;\n        font-family: 'Poppins', sans-serif;\n        color: var(--text-color);\n        margin: 0 !important;\n        padding: 10px !important;\n        width: 100% !important;\n        display: block !important;\n        position: relative !important;\n        box-sizing: border-box;\n    }\n    .directory-wrapper * { box-sizing: border-box; }\n\n    .staff-grid {\n        display: grid;\n        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n        gap: 30px;\n        margin-top: 0 !important;\n        padding-top: 0 !important;\n    }\n    .staff-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; height: 100%; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04); transition: transform 0.2s ease; }\n    .staff-image { width: 100%; aspect-ratio: 4 \/ 3; object-fit: cover; object-position: center top; display: block; border-bottom: 1px solid #f0f0f0; background-color: #f0f0f0; }\n    .staff-info { padding: 20px 20px 25px 20px; flex-grow: 1; display: flex; flex-direction: column; text-align: left; }\n    .staff-name { color: var(--primary-color); font-size: 14px; font-weight: 600; margin-bottom: 4px; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 0; }\n    .staff-position { color: #888; font-size: 11px; font-weight: 500; margin-bottom: 20px; line-height: 1.4; letter-spacing: 0.5px; text-transform: capitalize; }\n    .contact-info { margin-bottom: 20px; flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; }\n    .contact-item { display: flex; align-items: flex-start; margin-bottom: 8px; color: var(--text-color); font-size: 11px; width: 100%; }\n    .contact-item svg { width: 14px; height: 14px; margin-right: 10px; fill: var(--primary-color); flex-shrink: 0; opacity: 0.9; margin-top: 2px; }\n    .contact-item a { color: var(--text-color); text-decoration: none; transition: color 0.2s ease; word-break: break-all; }\n    .contact-item a:hover { color: var(--primary-color); text-decoration: underline; }\n    .job-desc-btn { width: 100%; padding: 12px; background: var(--primary-color); color: white; border: none; border-radius: 4px; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 500; cursor: pointer; transition: background-color 0.3s ease; margin-top: auto; text-transform: capitalize; letter-spacing: 0.5px; }\n    .job-desc-btn:hover { background: var(--button-hover); }\n    .staff-modal { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(2px); animation: fadeIn 0.2s ease; }\n    .staff-modal.active { display: flex; align-items: center; justify-content: center; }\n    .staff-modal-content { background: white; padding: 40px; border-radius: 8px; border: 1px solid var(--border-color); box-shadow: 0 10px 40px rgba(0,0,0,0.08); max-width: 600px; width: 90%; max-height: 85vh; overflow-y: auto; position: relative; animation: slideUp 0.3s ease; }\n    .staff-close-btn { position: absolute; top: 20px; right: 20px; width: 32px; height: 32px; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: background-color 0.2s ease; padding: 0; }\n    .staff-close-btn svg { width: 24px; height: 24px; fill: #999; transition: fill 0.2s ease; }\n    .staff-close-btn:hover { background-color: rgba(0,0,0,0.05); }\n    .staff-close-btn:hover svg { fill: var(--primary-color); }\n    .modal-header { color: var(--primary-color); font-size: 1.6rem; font-weight: 600; margin-bottom: 5px; margin-top: 0; }\n    .modal-position { color: #888; font-size: 1.2rem; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid var(--border-color); margin-top: 0; }\n    .modal-body { color: var(--text-color); line-height: 1.8; font-size: 1.2rem; }\n    .modal-body h3 { color: var(--primary-color); margin-top: 25px; margin-bottom: 15px; font-size: 1.2rem; font-weight: 500; }\n    .modal-body ul { margin-left: 20px; color: #666; }\n    .modal-body li { margin-bottom: 8px; }\n\n    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }\n    @keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }\n<\/style>\n\n<div class=\"directory-wrapper\">\n    <div class=\"staff-grid dynamic-staff-grid\"><\/div>\n<\/div>\n\n<script>\n{\n    const uniqueTabId = 'tab_gaji'; \n    \n    const staffData = [\n      {\n        \"Name\": \"Puan Irmahani Sukiran\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N2 (TBK)\",\n        \"Email\": \"irmahani@ukm.edu.my\",\n        \"Phone\": \"03-8911 8233\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Puan-_Irmahani.png\",\n        \"JobScope\": \"Kenaikan Gaji Tahunan (P&P dan Pelaksana) | Hadiah Pergerakan Gaji | Semakan Elaun Dalam Perkhidmatan | Semakan Elaun Khas Pentadbiran | Pengesahan Tambang Mengunjungi Wilayah Asal (Sabah\/Sarawak) | Bayaran Khas \/ Pemberian Khas \/ Bonus\"\n      },\n      {\n        \"Name\": \"Puan Nor Azizah Dawair\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N2 (TBK)\",\n        \"Email\": \"melati@ukm.edu.my\",\n        \"Phone\": \"03-8911 8234\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Puan_Azizah.png\",\n        \"JobScope\": \"Proses dan Semakan Gaji (P&P dan Pelaksana) | Kenaikan Gaji Tahunan (P&P dan Pelaksana) | Hadiah Pergerakan Gaji\"\n      }\n    ];\n\n    const currentScript = document.currentScript;\n    const wrapper = currentScript.previousElementSibling; \n    const gridContainer = wrapper.querySelector('.dynamic-staff-grid');\n    \n    gridContainer.id = `grid-${uniqueTabId}`;\n\n    let modalContainer = document.getElementById(`modals-${uniqueTabId}`);\n    if (!modalContainer) {\n        modalContainer = document.createElement('div');\n        modalContainer.id = `modals-${uniqueTabId}`;\n        document.body.appendChild(modalContainer);\n    }\n\n    staffData.forEach((staff, index) => {\n        const uniqueModalId = `modal-${uniqueTabId}-${index}`;\n        \n        let taskList = [];\n        if(staff.JobScope) { taskList = staff.JobScope.split('|').map(item => item.trim()); }\n\n        let emailHtml = '';\n        if (staff.Email) {\n            const emails = staff.Email.split('|');\n            emailHtml = emails.map(e => {\n                const mail = e.trim();\n                return `<a href=\"mailto:${mail}\" style=\"display:block; margin-bottom:2px;\">${mail}<\/a>`;\n            }).join('');\n        }\n\n        const phoneLink = staff.Phone ? staff.Phone.replace(\/\\s\/g, '') : '';\n\n        const cardHTML = `\n            <div class=\"staff-card\">\n                <img decoding=\"async\" src=\"${staff.Image}\" alt=\"${staff.Name}\" class=\"staff-image\" onerror=\"this.src='https:\/\/placehold.co\/400x300\/eee\/999?text=No+Image'\">\n                <div class=\"staff-info\">\n                    <h2 class=\"staff-name\">${staff.Name}<\/h2>\n                    <p class=\"staff-position\">${staff.Position || ''}<\/p>\n                    <div class=\"contact-info\">\n                        <div class=\"contact-item\">\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z\"\/><\/svg>\n                            <div style=\"flex-grow: 1; min-width: 0;\">${emailHtml}<\/div>\n                        <\/div>\n                        <div class=\"contact-item\">\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z\"\/><\/svg>\n                            <a href=\"tel:${phoneLink}\">${staff.Phone || ''}<\/a>\n                        <\/div>\n                    <\/div>\n                    <button class=\"job-desc-btn\" onclick=\"document.getElementById('${uniqueModalId}').classList.add('active'); document.body.style.overflow='hidden';\">Skop Tugas<\/button>\n                <\/div>\n            <\/div>`;\n        gridContainer.innerHTML += cardHTML;\n\n        const tasksHTML = taskList.map(task => `<li>${task}<\/li>`).join('');\n        \n        const modalHTML = `\n            <div id=\"${uniqueModalId}\" class=\"staff-modal\" onclick=\"if(event.target === this){this.classList.remove('active'); document.body.style.overflow='auto';}\">\n                <div class=\"staff-modal-content\">\n                    <button class=\"staff-close-btn\" onclick=\"document.getElementById('${uniqueModalId}').classList.remove('active'); document.body.style.overflow='auto';\">\n                         <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\/><\/svg>\n                    <\/button>\n                    <h2 class=\"modal-header\">${staff.Name}<\/h2>\n                    <p class=\"modal-position\">${staff.Position || ''}<\/p>\n                    <div class=\"modal-body\">\n                        <h3>Skop Tugas:<\/h3>\n                        <ul>${tasksHTML}<\/ul>\n                    <\/div>\n                <\/div>\n            <\/div>`;\n        modalContainer.innerHTML += modalHTML;\n    });\n}\n<\/script><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"2\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1772\" aria-expanded=\"false\">Unit Perjawatan & Kenaikan Pangkat<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1772\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"2\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1772\" tabindex=\"0\" hidden=\"hidden\"><style>\n    .directory-wrapper {\n        --text-color: #4E4E4E;\n        --primary-color: #35387A;\n        --button-hover: #969696;\n        --bg-color: #f9f9f9;\n        --card-bg: #ffffff;\n        --border-color: #eeeeee;\n        font-family: 'Poppins', sans-serif;\n        color: var(--text-color);\n        margin: 0 !important;\n        padding: 10px !important;\n        width: 100% !important;\n        display: block !important;\n        position: relative !important;\n        box-sizing: border-box;\n    }\n    .directory-wrapper * { box-sizing: border-box; }\n\n    .section-title {\n        color: #4E4E4E;\n        font-size: 1.3rem;\n        font-weight: 600;\n        margin: 40px 0 20px 0;\n        width: 100%;\n        font-family: 'Poppins', sans-serif;\n        border-bottom: 2px solid #eee;\n        padding-bottom: 10px;\n    }\n    .section-title:first-of-type { margin-top: 0; }\n\n    .staff-grid {\n        display: grid;\n        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n        gap: 30px;\n        margin-top: 0 !important;\n        padding-top: 0 !important;\n    }\n    .staff-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; height: 100%; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04); transition: transform 0.2s ease; }\n    .staff-image { width: 100%; aspect-ratio: 4 \/ 3; object-fit: cover; object-position: center top; display: block; border-bottom: 1px solid #f0f0f0; background-color: #f0f0f0; }\n    .staff-info { padding: 20px 20px 25px 20px; flex-grow: 1; display: flex; flex-direction: column; text-align: left; }\n    .staff-name { color: var(--primary-color); font-size: 14px; font-weight: 600; margin-bottom: 4px; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 0; }\n    .staff-position { color: #888; font-size: 11px; font-weight: 500; margin-bottom: 20px; line-height: 1.4; letter-spacing: 0.5px; text-transform: capitalize; }\n    .contact-info { margin-bottom: 20px; flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; }\n    .contact-item { display: flex; align-items: flex-start; margin-bottom: 8px; color: var(--text-color); font-size: 11px; width: 100%; }\n    .contact-item svg { width: 14px; height: 14px; margin-right: 10px; fill: var(--primary-color); flex-shrink: 0; opacity: 0.9; margin-top: 2px; }\n    .contact-item a { color: var(--text-color); text-decoration: none; transition: color 0.2s ease; word-break: break-all; }\n    .contact-item a:hover { color: var(--primary-color); text-decoration: underline; }\n    .job-desc-btn { width: 100%; padding: 12px; background: var(--primary-color); color: white; border: none; border-radius: 4px; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 500; cursor: pointer; transition: background-color 0.3s ease; margin-top: auto; text-transform: capitalize; letter-spacing: 0.5px; }\n    .job-desc-btn:hover { background: var(--button-hover); }\n    .staff-modal { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(2px); animation: fadeIn 0.2s ease; }\n    .staff-modal.active { display: flex; align-items: center; justify-content: center; }\n    .staff-modal-content { background: white; padding: 40px; border-radius: 8px; border: 1px solid var(--border-color); box-shadow: 0 10px 40px rgba(0,0,0,0.08); max-width: 600px; width: 90%; max-height: 85vh; overflow-y: auto; position: relative; animation: slideUp 0.3s ease; }\n    .staff-close-btn { position: absolute; top: 20px; right: 20px; width: 32px; height: 32px; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: background-color 0.2s ease; padding: 0; }\n    .staff-close-btn svg { width: 24px; height: 24px; fill: #999; transition: fill 0.2s ease; }\n    .staff-close-btn:hover { background-color: rgba(0,0,0,0.05); }\n    .staff-close-btn:hover svg { fill: var(--primary-color); }\n    .modal-header { color: var(--primary-color); font-size: 1.6rem; font-weight: 600; margin-bottom: 5px; margin-top: 0; }\n    .modal-position { color: #888; font-size: 1.2rem; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid var(--border-color); margin-top: 0; }\n    .modal-body { color: var(--text-color); line-height: 1.8; font-size: 1.2rem; }\n    .modal-body h3 { color: var(--primary-color); margin-top: 25px; margin-bottom: 15px; font-size: 1.2rem; font-weight: 500; }\n    .modal-body ul { margin-left: 20px; color: #666; }\n    .modal-body li { margin-bottom: 8px; }\n\n    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }\n    @keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }\n<\/style>\n\n<div class=\"directory-wrapper\"><\/div>\n\n<script>\n{\n    const uniqueTabId = 'tab_UPKP';\n    \n    const staffSections = [\n        {\n            title: \"Seksyen Akademik\",\n            staff: [\n                {\n                    \"Name\": \"Encik Mohd Faris Ngadinin @ Adinin\",\n                    \"Position\": \"Ketua Penolong Pendaftar Kanan N13\",\n                    \"Email\": \"farisadinin@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8223\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Faris-Ngadinin.png\",\n                    \"JobScope\": \"Pengesahan permohonan kerja ke Agensi Luar | Bayaran elaun pelajar latihan industri | Pengesahan Majikan | Pelantikan Profesor\/ Felo Utama VK7 (Tetap\/ Kontrak) | Kenaikan pangkat Profesor VK7 | Pembaharuan perkhidmatan\/ pelantikan semula selepas bersara Profesor\/ Felo Utama | Peletakan jawatan Gred Khas dan Gred Utama | Kenaikan pangkat Staf Akademik ke Gred 14 | Kenaikan pangkat Pensyarah Perubatan\/ Pergigian Gred DU\/DUG15 ke jawatan Pensyarah Perubatan\/ Pergigian Gred Khas C Secara Laluan Kerjaya (Tanpa Gelaran Profesor).\"\n                },\n                {\n                    \"Name\": \"Puan Norafiqah Mohd Azmal\",\n                    \"Position\": \"PEMBANTU SETIAUSAHA PEJABAT N1\",\n                    \"Email\": \"norafiqahazmal@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8223\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Norafiqah-Azmal.png\",\n                    \"JobScope\": \"Tugas-tugas kesetiausahaan kepada Ketua Unit Perjawatan & Kenaikan Pangkat | Pengesahan permohonan kerja ke Agensi Luar | Bayaran elaun pelajar latihan industri | Pengesahan Majikan\"\n                },\n                {\n                    \"Name\": \"Encik Mohd Nizam Manap\",\n                    \"Position\": \"Penolong Pegawai Tadbir N5\",\n                    \"Email\": \"e_jump@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8249\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Nizam-Manap.png\",\n                    \"JobScope\": \"Pelantikan Profesor\/ Felo Utama VK7 (Tetap\/ Kontrak) | Kenaikan pangkat Profesor VK7 | Pembaharuan perkhidmatan\/ pelantikan semula selepas bersara Profesor\/ Felo Utama | Peletakan jawatan Gred Khas dan Gred Utama\"\n                },\n                {\n                    \"Name\": \"Puan Fasya Sulaiman\",\n                    \"Position\": \"Penolong Pendaftar N9\",\n                    \"Email\": \"fasyasulaiman@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8592\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Fasya_Sulaiman.png\",\n                    \"JobScope\": \"Kenaikan pangkat Staf Akademik ke Gred 13 | Kenaikan pangkat secara Laluan Kemajuan Kerjaya Staf Akademik (Perubatan DU, Pergigian DUG and Farmasi DUF) | Pelantikan\/ pembaharuan jawatan Khas Akademik (Profesor Kehormat, Sarjana\/ Karyawan\/ Felo Tamu, Editor Artikel Jurnal, dan Profesor Pelawat\/ Felo Pelawat) | Pelantikan\/ pembaharuan jawatan Khas Akademik (Profesor Adjung\/ Pakar Dalam Industri, Lantikan Bersama, Felo DiRaja, Technologist-In-Residence (TiR)\/ Strategist-In-Residence (SiR)) | Pelantikan\/ pembaharuan\/ penamatan Profesor Ikhtisas (Bersama Ketua Unit) | Pelantikan\/ pembaharuan jawatan Khas Akademik - Penyandang Kursi Kurniaan (Bersama Ketua Unit) | Pengesahan Dalam Perkhidmatan (Akademik)\"\n                },\n                {\n                    \"Name\": \"Puan Rima Ab Raman\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N3\",\n                    \"Email\": \"r_raman@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8248\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Rima-Ab-Raman.png\",\n                    \"JobScope\": \"Kenaikan pangkat Staf Akademik ke Gred 14 | Kenaikan pangkat Staf Akademik ke Gred 13 | Kenaikan pangkat secara Laluan Kemajuan Kerjaya Staf Akademik (Perubatan DU, Pergigian DUG and Farmasi DUF)\"\n                },\n                {\n                    \"Name\": \"Puan Norhayati Alias\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N2\",\n                    \"Email\": \"norhayati.alias@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8246\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Norhayati-Alias.png\",\n                    \"JobScope\": \"Kenaikan pangkat Pensyarah Perubatan\/ Pergigian (Pakar) ke Gred DU\/DUG15 (Dengan Gelaran Profesor Madya) and Secara Laluan Kerjaya (Tanpa Gelaran Profesor Madya) | Kenaikan pangkat Pensyarah Perubatan\/ Pergigian Gred DU\/DUG15 ke jawatan Pensyarah Perubatan\/ Pergigian Gred Khas C Secara Laluan Kerjaya (Tanpa Gelaran Profesor) | Pelantikan\/ pembaharuan jawatan Khas Akademik - Penyandang Kursi Kurniaan (Bersama Ketua Unit) | Pengesahan Dalam Perkhidmatan (Akademik)\"\n                },                \n                {\n                    \"Name\": \"Puan Nur Hatin Iylia Abd Razak\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N1\",\n                    \"Email\": \"iyliarazak@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8246\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Hatin-Iylia.png\",\n                    \"JobScope\": \"Pelantikan\/ pembaharuan jawatan Khas Akademik (Profesor Kehormat, Sarjana\/ Karyawan\/ Felo Tamu, Editor Artikel Jurnal, dan Profesor Pelawat\/ Felo Pelawat) | Pelantikan\/ pembaharuan jawatan Khas Akademik (Profesor Adjung\/ Pakar Dalam Industri, Lantikan Bersama, Felo DiRaja, Technologist-In-Residence (TiR)\/ Strategist-In-Residence (SiR)) | Pelantikan\/ pembaharuan\/ penamatan Profesor Ikhtisas (Bersama Ketua Unit)\"\n                },\n                {\n                    \"Name\": \"Puan Nurul Ainny Hj. Omar\",\n                    \"Position\": \"Ketua Penolong Pendaftar N12\",\n                    \"Email\": \"ainny@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8226\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Ainny-Omar.png\",\n                    \"JobScope\": \"Permohonan Bajet Perjawatan (Bersama Ketua Unit) | Surat Kelulusan Perjawatan (SKP) dan waran UKM | Data perjawatan dan JIK (keperluan KPT dan JPA) | Pelaporan (Data\/Statistik) MyRA, MyMohes, SETARA, QS University Ranking, Times Higher Education (THE) University Ranking dan lain-lain keperluan data audit | Kenaikan pangkat Pegawai Pendidikan Pengajian Tinggi DH9\/10\/12\/13\/14 | Pelaporan dan keperluan data\/statistik staf daripada PTj UKM dan agensi luar | Pewujudan kod baharu di Sistem Maklumat Kakitangan (SMK) | Pengemaskinian Maklumat Peribadi Staf di Sistem Maklumat Kakitangan (SMK) | Kenaikan pangkat Guru Bahasa DG9\/10\/12\/13\/14 | Kenaikan pangkat Pensyarah Perubatan\/ Pergigian (Pakar) ke Gred DU\/DUG15 (Dengan Gelaran Profesor Madya) dan Secara Laluan Kerjaya (Tanpa Gelaran Profesor Madya)\"\n                },\n                {\n                    \"Name\": \"Puan Nurnabihah Haron\",\n                    \"Position\": \"Penolong Pegawai Tadbir N5\",\n                    \"Email\": \"nurnabihah@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8252\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Nurnabihah-Haron.png\",\n                    \"JobScope\": \"Permohonan perjawatan melalui Anggaran Belanja Mengurus (ABM) (Bersama Ketua Unit) | Permohonan Bajet Perjawatan (Bersama Ketua Unit) | Surat Kelulusan Perjawatan (SKP) dan waran UKM | Data perjawatan dan JIK (keperluan KPT dan JPA) | Pelaporan (Data\/Statistik) MyRA, MyMohes, SETARA, QS University Ranking, Times Higher Education (THE) University Ranking dan lain-lain keperluan data audit | Kenaikan pangkat Pegawai Pendidikan Pengajian Tinggi DH9\/10\/12\/13\/14\"\n                },\n                {\n                    \"Name\": \"Cik Juriah Mhd Sarif\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N2\",\n                    \"Email\": \"juriahms@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8252\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Juriah-Mhd-Sarif.png\",\n                    \"JobScope\": \"Pelaporan dan keperluan data\/statistik staf daripada PTj UKM dan agensi luar | Pewujudan kod baharu di Sistem Maklumat Kakitangan (SMK) | Pengemaskinian Maklumat Peribadi Staf di Sistem Maklumat Kakitangan (SMK) | Kenaikan pangkat Guru Bahasa DG9\/10\/12\/13\/14\"\n                },\n                {\n                    \"Name\": \"Encik Syahidrul Ashraff Zamri\",\n                    \"Position\": \"Penolong Pendaftar N9\",\n                    \"Email\": \"ashraffzamri@ukm.edu.my\",\n                    \"Phone\": \"03-8911 2033\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Syahidrul-Ashraff.png\",\n                    \"JobScope\": \"Pelantikan\/ penamatan Pensyarah Pelatih Gred DU\/DUG 13(P) | Pelantikan\/ penamatan Staf Akademik Gred 11 hingga 15 | Pelantikan\/ penamatan\/ peletakan jawatan Guru Bahasa\/ Pegawai Pendidikan Pengajian Tinggi | Permohonan pertukaran PTj staf akademik | Pelantikan\/ pembaharuan\/ penamatan Pensyarah Gred 13\/14 (CoS) atau Contract for Service (CfS) | Pelantikan Staf Akademik melalui Skim Gig Akademik\"\n                },\n                {\n                    \"Name\": \"Encik Muhd Hakimi Maarop\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N4\",\n                    \"Email\": \"kimi@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8247\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Hakimi-Maarop.png\",\n                    \"JobScope\": \"Pelantikan\/ penamatan Pensyarah Pelatih Gred DU\/DUG 13(P) | Pelantikan\/ penamatan Staf Akademik Gred 11 hingga 15 | Pelantikan\/ penamatan\/ peletakan jawatan Guru Bahasa\/ Pegawai Pendidikan Pengajian Tinggi | Permohonan pertukaran PTj staf akademik\"\n                },\n                {\n                    \"Name\": \"Encik Muhammad Hafiz Aizzat Khairuddin\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N1\",\n                    \"Email\": \"hafizaizzat@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8240\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Hafiz-Aizzat.png\",\n                    \"JobScope\": \"Pelantikan\/ pembaharuan\/ penamatan Pensyarah Gred 13\/14 (CoS) atau Contract for Service (CfS) | Pelantikan Staf Akademik melalui Skim Gig Akademik\"\n                }\n            ]\n        },\n        {\n            title: \"Seksyen Pengurusan & Profesional dan Pelaksana\",\n            staff: [\n                {\n                    \"Name\": \"Puan Norazlin Hassim\",\n                    \"Position\": \"Ketua Penolong Pendaftar N12\",\n                    \"Email\": \"norazlin@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8229\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Norazlin-Hashim.png\",\n                    \"JobScope\": \"Ujian Kompetensi dan Ujian Psikometrik bagi pelantikan staf Pengurusan & Profesional dan Pelaksana | Kenaikan pangkat staf Pengurusan & Profesional secara laluan kemajuan kerjaya (tanpa kekosongan jawatan) | Kenaikan pangkat staf Pengurusan & Profesional secara laluan Pakar Bidang Khusus (SME) | Kenaikan pangkat Pegawai Perubatan\/ Pergigian\/ Farmasi Gred UD\/UG\/UF10\/12\/13\/14 secara Laluan Kerjaya di Kementerian Kesihatan Malaysia (KKM) | Kenaikan pangkat staf Pelaksana secara Time-Based Berasaskan Kecemerlangan Kali Pertama (TBK1) | Kenaikan pangkat staf Pelaksana secara Time-Based Berasaskan Kecemerlangan Kali Kedua (TBK2) | Pelantikan\/ pembaharuan perkhidmatan Personel MySTEP\"\n                },\n                {\n                    \"Name\": \"Puan Norfadila-Aida Razali\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N1\",\n                    \"Email\": \"fadila@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8253\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Norfadila-Aida.png\",\n                    \"JobScope\": \"Ujian Kompetensi dan Ujian Psikometrik bagi pelantikan staf Pengurusan & Profesional dan Pelaksana | Kenaikan pangkat staf Pengurusan & Profesional secara laluan kemajuan kerjaya (tanpa kekosongan jawatan) | Kenaikan pangkat staf Pengurusan & Profesional secara laluan Pakar Bidang Khusus (SME) | Kenaikan pangkat Pegawai Perubatan\/ Pergigian\/ Farmasi Gred UD\/UG\/UF10\/12\/13\/14 secara Laluan Kerjaya di Kementerian Kesihatan Malaysia (KKM)\"\n                },\n                {\n                    \"Name\": \"Puan Nik Nur Fatihah Nik Mohd Fadzil\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N1\",\n                    \"Email\": \"niknurfatihah@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8245\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Nik-Nur-Fatihah.png\",\n                    \"JobScope\": \"Kenaikan pangkat staf Pelaksana secara Time-Based Berasaskan Kecemerlangan Kali Pertama (TBK1) | Kenaikan pangkat staf Pelaksana secara Time-Based Berasaskan Kecemerlangan Kali Kedua (TBK2) | Pelantikan\/ pembaharuan perkhidmatan Personel MySTEP\"\n                },\n                {\n                    \"Name\": \"Cik Nur Maisarah Hashim\",\n                    \"Position\": \"Penolong Pendaftar N9\",\n                    \"Email\": \"nmaisarahashim@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8230\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Maisarah-Hashim.png\",\n                    \"JobScope\": \"Kenaikan pangkat staf Pelaksana secara hakiki | Pengesahan Dalam Perkhidmatan staf Pengurusan & Profesional and Pelaksana | Kenaikan pangkat staf Pengurusan & Profesional secara hakiki | Kenaikan pangkat staf Pengurusan & Profesional secara fleksi | Kenaikan pangkat staf Pengurusan & Profesional secara Khas Untuk Penyandang Dalaman (KUPD) | Pelantikan\/ penamatan staf Pengurusan & Profesional (Tetap\/ kontrak) | Pelantikan semula selepas bersara staf Pengurusan & Profesional | Permohonan pertukaran pelantikan ke agensi luar staf Pengurusan & Profesional\"\n                },\n                {\n                    \"Name\": \"Puan Megawati Lateng\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N1\",\n                    \"Email\": \"megawati@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8467\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Megawati-Lateng.png\",\n                    \"JobScope\": \"Kenaikan pangkat staf Pelaksana secara hakiki | Pengesahan Dalam Perkhidmatan staf Pengurusan & Profesional and Pelaksana\"\n                },\n                {\n                    \"Name\": \"Puan Nazariah Marzukhi\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N2\",\n                    \"Email\": \"nazariah@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8245\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Nazariah-Marzuki.png\",\n                    \"JobScope\": \"Kenaikan pangkat staf Pengurusan & Profesional secara hakiki | Kenaikan pangkat staf Pengurusan & Profesional secara fleksi | Kenaikan pangkat staf Pengurusan & Profesional secara Khas Untuk Penyandang Dalaman (KUPD)\"\n                },\n                {\n                    \"Name\": \"Puan Nurul Syafiza Din\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N2\",\n                    \"Email\": \"nurulsyafiza@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8240\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Syafiza_Din.png\",\n                    \"JobScope\": \"Pelantikan\/ penamatan staf Pengurusan & Profesional (Tetap\/ kontrak) | Pelantikan semula selepas bersara staf Pengurusan & Profesional | Permohonan pertukaran pelantikan ke agensi luar staf Pengurusan & Profesional | Pusingan kerja staf Pengurusan & Profesional (Bersama Ketua Unit)\"\n                },\n                {\n                    \"Name\": \"Puan Nazatul Imira Samsul Bahari\",\n                    \"Position\": \"Penolong Pendaftar N9\",\n                    \"Email\": \"imira.samsul@ukm.edu.my\",\n                    \"Phone\": \"03-8911 2034\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Nazatul-Imira.png\",\n                    \"JobScope\": \"Pusingan kerja staf Pengurusan & Profesional (Bersama Ketua Unit) | Pelantikan\/ penamatan staf Pelaksana Gred B & Gred C (Tetap\/ kontrak) | Permohonan pertukaran pelantikan ke agensi luar staf Pelaksana Gred C | Pusingan kerja staf Pelaksana (Bersama Ketua Unit) | Pelantikan\/ penamatan staf Pengurusan & Profesional and Pelaksana secara kontrak (Dana F\/I\/P) | Pembaharuan perkhidmatan staf Pengurusan & Profesional and Pelaksana secara kontrak (EKK and Dana F\/I\/P)\"\n                },\n                {\n                    \"Name\": \"Puan Fatahiyah Zainal\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N1\",\n                    \"Email\": \"fatahiyah@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8255\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Fatahiyah-Zainal.png\",\n                    \"JobScope\": \"Pelantikan\/ penamatan staf Pelaksana Gred B & Gred C (Tetap\/ kontrak) | Permohonan pertukaran pelantikan ke agensi luar staf Pelaksana Gred C | Pusingan kerja staf Pelaksana (Bersama Ketua Unit)\"\n                },\n                {\n                    \"Name\": \"Puan Anis Syamimi Mohamad\",\n                    \"Position\": \"PEMBANTU TADBIR (P\/O) N1\",\n                    \"Email\": \"anysyamimi@ukm.edu.my\",\n                    \"Phone\": \"03-8911 8250\",\n                    \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Anis-Syamimi.png\",\n                    \"JobScope\": \"Pelantikan\/ penamatan staf Pengurusan & Profesional and Pelaksana secara kontrak (Dana F\/I\/P) | Pembaharuan perkhidmatan staf Pengurusan & Profesional and Pelaksana secara kontrak (EKK and Dana F\/I\/P)\"\n                }\n            ]\n        }\n    ];\n\n    const currentScript = document.currentScript;\n    const wrapper = currentScript.previousElementSibling; \n    \n    wrapper.innerHTML = '';\n\n    let modalContainer = document.getElementById(`modals-${uniqueTabId}`);\n    if (!modalContainer) {\n        modalContainer = document.createElement('div');\n        modalContainer.id = `modals-${uniqueTabId}`;\n        document.body.appendChild(modalContainer);\n    } else {\n        modalContainer.innerHTML = '';\n    }\n\n    let globalIndex = 0;\n\n    staffSections.forEach((section) => {\n        const titleEl = document.createElement('h3');\n        titleEl.className = 'section-title';\n        titleEl.innerText = section.title;\n        wrapper.appendChild(titleEl);\n\n        const gridEl = document.createElement('div');\n        gridEl.className = 'staff-grid';\n        gridEl.id = `grid-${uniqueTabId}-${globalIndex}`;\n        wrapper.appendChild(gridEl);\n\n        section.staff.forEach((staff) => {\n            const uniqueModalId = `modal-${uniqueTabId}-${globalIndex}`;\n            \n            let taskList = [];\n            if(staff.JobScope) { taskList = staff.JobScope.split('|').map(item => item.trim()); }\n\n            let emailHtml = '';\n            if (staff.Email) {\n                const emails = staff.Email.split('|');\n                emailHtml = emails.map(e => {\n                    const mail = e.trim();\n                    return `<a href=\"mailto:${mail}\" style=\"display:block; margin-bottom:2px;\">${mail}<\/a>`;\n                }).join('');\n            }\n\n            const phoneLink = staff.Phone ? staff.Phone.replace(\/\\s\/g, '') : '';\n\n            const cardHTML = `\n                <div class=\"staff-card\">\n                    <img decoding=\"async\" src=\"${staff.Image}\" alt=\"${staff.Name}\" class=\"staff-image\" onerror=\"this.src='https:\/\/placehold.co\/400x300\/eee\/999?text=No+Image'\">\n                    <div class=\"staff-info\">\n                        <h2 class=\"staff-name\">${staff.Name}<\/h2>\n                        <p class=\"staff-position\">${staff.Position || ''}<\/p>\n                        <div class=\"contact-info\">\n                            <div class=\"contact-item\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z\"\/><\/svg>\n                                <div style=\"flex-grow: 1; min-width: 0;\">${emailHtml}<\/div>\n                            <\/div>\n                            <div class=\"contact-item\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z\"\/><\/svg>\n                                <a href=\"tel:${phoneLink}\">${staff.Phone || ''}<\/a>\n                            <\/div>\n                        <\/div>\n                        <button class=\"job-desc-btn\" onclick=\"document.getElementById('${uniqueModalId}').classList.add('active'); document.body.style.overflow='hidden';\">Skop Tugas<\/button>\n                    <\/div>\n                <\/div>`;\n            \n            gridEl.innerHTML += cardHTML;\n\n            const tasksHTML = taskList.map(task => {\n                if (task.startsWith('>>')) { \n                    return `<li style=\"margin-left: 20px; list-style-type: circle;\">${task.replace('>>', '').trim()}<\/li>`; \n                }\n                return `<li>${task}<\/li>`;\n            }).join('');\n            \n            const modalHTML = `\n                <div id=\"${uniqueModalId}\" class=\"staff-modal\" onclick=\"if(event.target === this){this.classList.remove('active'); document.body.style.overflow='auto';}\">\n                    <div class=\"staff-modal-content\">\n                        <button class=\"staff-close-btn\" onclick=\"document.getElementById('${uniqueModalId}').classList.remove('active'); document.body.style.overflow='auto';\">\n                             <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\/><\/svg>\n                        <\/button>\n                        <h2 class=\"modal-header\">${staff.Name}<\/h2>\n                        <p class=\"modal-position\">${staff.Position || ''}<\/p>\n                        <div class=\"modal-body\">\n                            <h3>Skop Tugas:<\/h3>\n                            <ul>${tasksHTML}<\/ul>\n                        <\/div>\n                    <\/div>\n                <\/div>`;\n            modalContainer.innerHTML += modalHTML;\n            \n            globalIndex++;\n        });\n    });\n}\n<\/script><\/div>\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-tab-title elementor-tab-mobile-title\" aria-selected=\"false\" data-tab=\"3\" role=\"tab\" tabindex=\"-1\" aria-controls=\"elementor-tab-content-1773\" aria-expanded=\"false\">Unit Elaun, Saraan & Prestasi<\/div>\n\t\t\t\t\t<div id=\"elementor-tab-content-1773\" class=\"elementor-tab-content elementor-clearfix\" data-tab=\"3\" role=\"tabpanel\" aria-labelledby=\"elementor-tab-title-1773\" tabindex=\"0\" hidden=\"hidden\"><style>\n    .directory-wrapper {\n        --text-color: #4E4E4E;\n        --primary-color: #35387A;\n        --button-hover: #969696;\n        --bg-color: #f9f9f9;\n        --card-bg: #ffffff;\n        --border-color: #eeeeee;\n        font-family: 'Poppins', sans-serif;\n        color: var(--text-color);\n        margin: 0 !important;\n        padding: 10px !important;\n        width: 100% !important;\n        display: block !important;\n        position: relative !important;\n        box-sizing: border-box;\n    }\n    .directory-wrapper * { box-sizing: border-box; }\n\n    .staff-grid {\n        display: grid;\n        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));\n        gap: 30px;\n        margin-top: 0 !important;\n        padding-top: 0 !important;\n    }\n    .staff-card { background: var(--card-bg); border: 1px solid var(--border-color); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; height: 100%; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04); transition: transform 0.2s ease; }\n    .staff-image { width: 100%; aspect-ratio: 4 \/ 3; object-fit: cover; object-position: center top; display: block; border-bottom: 1px solid #f0f0f0; background-color: #f0f0f0; }\n    .staff-info { padding: 20px 20px 25px 20px; flex-grow: 1; display: flex; flex-direction: column; text-align: left; }\n    .staff-name { color: var(--primary-color); font-size: 14px; font-weight: 600; margin-bottom: 4px; line-height: 1.4; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 0; }\n    .staff-position { color: #888; font-size: 11px; font-weight: 500; margin-bottom: 20px; line-height: 1.4; letter-spacing: 0.5px; text-transform: capitalize; }\n    .contact-info { margin-bottom: 20px; flex-grow: 1; display: flex; flex-direction: column; align-items: flex-start; }\n    .contact-item { display: flex; align-items: flex-start; margin-bottom: 8px; color: var(--text-color); font-size: 11px; width: 100%; }\n    .contact-item svg { width: 14px; height: 14px; margin-right: 10px; fill: var(--primary-color); flex-shrink: 0; opacity: 0.9; margin-top: 2px; }\n    .contact-item a { color: var(--text-color); text-decoration: none; transition: color 0.2s ease; word-break: break-all; }\n    .contact-item a:hover { color: var(--primary-color); text-decoration: underline; }\n    .job-desc-btn { width: 100%; padding: 12px; background: var(--primary-color); color: white; border: none; border-radius: 4px; font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 500; cursor: pointer; transition: background-color 0.3s ease; margin-top: auto; text-transform: capitalize; letter-spacing: 0.5px; }\n    .job-desc-btn:hover { background: var(--button-hover); }\n    .staff-modal { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(2px); animation: fadeIn 0.2s ease; }\n    .staff-modal.active { display: flex; align-items: center; justify-content: center; }\n    .staff-modal-content { background: white; padding: 40px; border-radius: 8px; border: 1px solid var(--border-color); box-shadow: 0 10px 40px rgba(0,0,0,0.08); max-width: 600px; width: 90%; max-height: 85vh; overflow-y: auto; position: relative; animation: slideUp 0.3s ease; }\n    .staff-close-btn { position: absolute; top: 20px; right: 20px; width: 32px; height: 32px; background: transparent; border: none; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: background-color 0.2s ease; padding: 0; }\n    .staff-close-btn svg { width: 24px; height: 24px; fill: #999; transition: fill 0.2s ease; }\n    .staff-close-btn:hover { background-color: rgba(0,0,0,0.05); }\n    .staff-close-btn:hover svg { fill: var(--primary-color); }\n    .modal-header { color: var(--primary-color); font-size: 1.6rem; font-weight: 600; margin-bottom: 5px; margin-top: 0; }\n    .modal-position { color: #888; font-size: 1.2rem; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid var(--border-color); margin-top: 0; }\n    .modal-body { color: var(--text-color); line-height: 1.8; font-size: 1.2rem; }\n    .modal-body h3 { color: var(--primary-color); margin-top: 25px; margin-bottom: 15px; font-size: 1.2rem; font-weight: 500; }\n    .modal-body ul { margin-left: 20px; color: #666; }\n    .modal-body li { margin-bottom: 8px; }\n\n    @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }\n    @keyframes slideUp { from { transform: translateY(20px); opacity: 0; } to { transform: translateY(0); opacity: 1; } }\n<\/style>\n\n<div class=\"directory-wrapper\">\n    <div class=\"staff-grid dynamic-staff-grid\"><\/div>\n<\/div>\n\n<script>\n{\n    const uniqueTabId = 'tab_UESP'; \n\n    const staffData = [\n      {\n        \"Name\": \"ENCIK BAHARUZAINI BIN BAHARIN\",\n        \"Position\": \"Ketua Penolong Pendaftar Kanan N13\",\n        \"Email\": \"baharuzaini@ukm.edu.my\",\n        \"Phone\": \"03-8911 8222\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Baharuzaini-Baharin.png\",\n        \"JobScope\": \"Ketua Unit Elaun, Saraan dan Prestasi | Perancangan Tahunan Unit | Persaraan | Kemudahan Cuti | Pemberian Awal Award Wang Tunai Gantian Cuti Rehat (GCR) | Elaun Khas Pentadbiran | Elaun Gantian Kereta Rasmi | Elaun Penanggungan Kerja | Lembaga Perubatan | Percantuman Perkhidmatan Lepas | Pemberian Taraf Berpencen & KWSP | Pelarasan Gaji Pesara | Statistik Persaraan | Majlis Sanjungan Budi\"\n      },\n      {\n        \"Name\": \"PUAN YUSLINA BINTI JOHARI\",\n        \"Position\": \"Pegawai Psikologi S12\",\n        \"Email\": \"yuslina@ukm.edu.my\",\n        \"Phone\": \"03-8911 8224\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Yuslina-Johari.png\",\n        \"JobScope\": \"Bimbingan dan Kaunseling Staf | Fasa Pemerhatian Dasar Pemisah | Pengurusan Ahli-ahli Rakan Pembimbing Perkhidmatan Awam (AKRAB) | Pementoran | Profiling Digital Kesihatan Psikologi Perkhidmatan Awam (MyPsyD) | Pengurusan Latihan, Jabatan Pendaftar\"\n      },\n      {\n        \"Name\": \"ENCIK MOHD ANWAR BIN SULONG\",\n        \"Position\": \"Penolong Pendaftar Kanan N10 (FX)\",\n        \"Email\": \"anwars@ukm.edu.my\",\n        \"Phone\": \"03-8911 8228\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Anwar_Sulong.png\",\n        \"JobScope\": \"Sistem Penilaian Prestasi Universiti (SPPU) | Penilaian Prestasi Staf Baharu Lantikan 6 bulan | MyKPI | Dasar Pemisah | Disiplin Staf | Panel Pembangunan Sumber Manusia (PPSM) | Pengurusan Anugerah Perkhidmatan - Pingat Perkhidmatan Cemerlang (PPC), Anugerah Perkhidmatan Cemerlang (APC) dan Anugerah Perkhidmatan 20, 30 & 40 tahun | Pemberian Insentif Berasaskan Prestasi (BIPs) | Majlis Penghargaan Anugerah Perkhidmatan (MPAP)\"\n      },\n      {\n        \"Name\": \"PUAN NURUL NADIA ROSLI\",\n        \"Position\": \"Pegawai Psikologi S9\",\n        \"Email\": \"nurulnadiarosli@ukm.edu.my\",\n        \"Phone\": \"03-8911 8730\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Nadia-Rosli.png\",\n        \"JobScope\": \"Bimbingan dan Kaunseling Staf | Fasa Pemerhatian Dasar Pemisah | Pengurusan Ahli-ahli Rakan Pembimbing Perkhidmatan Awam (AKRAB) | Pementoran | Profiling Digital Kesihatan Psikologi Perkhidmatan Awam (MyPsyD)\"\n      },\n      {\n        \"Name\": \"PUAN NUR ATHIRAH BINTI ABD HALIM\",\n        \"Position\": \"Penolong Pendaftar N9\",\n        \"Email\": \"athirah.halim@ukm.edu.my\",\n        \"Phone\": \"03-8911 8592\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Athirah-Abd-Halim.png\",\n        \"JobScope\": \"Elaun dalam Perkhidmatan | Pinjaman Perumahan LPPSA | Perekodan Pinjaman Perumahan\/Komputer\/Kenderaan UKM | e-book Silibus Peperiksaan Perkhidmatan dan Khas | Sistem Pengurusan Amalan Nilai (SPAN) | MyPerformance, HRMIS\"\n      },\n      {\n        \"Name\": \"PUAN FAIRUZ BINTI ABDUL LATIF\",\n        \"Position\": \"Penolong Pegawai Tadbir N7\",\n        \"Email\": \"fairuzalatif@ukm.edu.my\",\n        \"Phone\": \"03-8911 8235\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Fairuz-Abd-Latif.png\",\n        \"JobScope\": \"Sistem Penilaian Prestasi Universiti (SPPU) | Penilaian Prestasi Staf Baharu Lantikan 6 bulan | MyKPI | Anugerah Perkhidmatan - Pingat Perkhidmatan Cemerlang (PPC), Anugerah Perkhidmatan Cemerlang (APC) dan Anugerah Perkhidmatan 20, 30 & 40 tahun | Pemberian Insentif Berasaskan Prestasi (BIPs) | Panel Pembangunan Sumber Manusia (PPSM) | Rekod Anugerah dan Pingat Kebesaran | Majlis Penghargaan Anugerah Perkhidmatan (MPAP)\"\n      },\n      {\n        \"Name\": \"PUAN SHARIFAH SAZALINA BINTI SYED ABD HAMID\",\n        \"Position\": \"Penolong Pegawai Tadbir N6\",\n        \"Email\": \"shalina@ukm.edu.my\",\n        \"Phone\": \"03-8911 8470\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Sharifah-Sazalina.png\",\n        \"JobScope\": \"Persaraan (Fakulti\/Institut Gugusan Kesihatan dan Sains & Teknologi (tidak termasuk FST)) | Percantuman Perkhidmatan Lepas (Fakulti\/Institut Gugusan Kesihatan dan Sains & Teknologi (tidak termasuk FST)) | Pengiraan Cuti bagi Tujuan Persaraan (Fakulti\/Institut Gugusan Kesihatan dan Sains & Teknologi (tidak termasuk FST)) | Pemberian Taraf Berpencen & KWSP (Fakulti\/Institut Gugusan Kesihatan dan Sains & Teknologi) | Statistik Persaraan | Majlis Sanjungan Budi\"\n      },\n      {\n        \"Name\": \"PUAN AINUR AMIRAH BINTI RAWI\",\n        \"Position\": \"Penolong Pegawai Tabdir N5\",\n        \"Email\": \"ainur@ukm.edu.my\",\n        \"Phone\": \"03-8911 8239\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Ainur-Amirah.png\",\n        \"JobScope\": \"Kemudahan Cuti (Fakulti Gugusan Kesihatan dan Sains & Teknologi) | Pengiraan Cuti bagi Tujuan Persaraan (Fakulti Gugusan Kesihatan dan Sains &Teknologi) | Elaun Penanggungan Kerja (Fakulti\/Institut Gugusan Kesihatan dan Sains & Teknologi) | Lembaga Perubatan (Fakulti Gugusan Kesihatan dan Sains & Teknologi) | Pemberian Awal Award Wang Tunai Gantian Cuti Rehat (GCR)\"\n      },\n      {\n        \"Name\": \"PUAN HAZNI HANIM BINTI MOHAMED THANI\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N2 (TBK)\",\n        \"Email\": \"arenim88@ukm.edu.my\",\n        \"Phone\": \"03-8911 8237\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Hazni-Hanim.png\",\n        \"JobScope\": \"Perisytiharan Harta (5 tahun sekali - semua kategori staf) | Peperiksaan Perkhidmatan dan Khas | Sistem Pengurusan Maklumat Sumber Manusia (HRMIS)\"\n      },\n      {\n        \"Name\": \"PUAN AZLINA BINTI MAT LUDIN\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N1\",\n        \"Email\": \"azlinaml@ukm.edu.my\",\n        \"Phone\": \"03-8911 8238\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Azlina-Mat-Ludin.png\",\n        \"JobScope\": \"Elaun dalam Perkhidmatan (Fakulti\/Institut Gugusan Kesihatan dan Sains & Teknologi) | Pinjaman Perumahan LPPSA | Perekodan Pinjaman Komputer dan Kenderaan UKM | Peperiksaan Perkhidmatan dan Khas\"\n      },\n      {\n        \"Name\": \"ENCIK MOHAMMAD AZLI BIN MOHD ARIFF\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N1\",\n        \"Email\": \"mohdazliariff@ukm.edu.my\",\n        \"Phone\": \"03-8911 8243\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Azli-Ariff.png\",\n        \"JobScope\": \"Sistem Pengurusan Maklumat Sumber Manusia (HRMIS) | Perisytiharan Harta (Bersara Pilihan)\"\n      },\n      {\n        \"Name\": \"PUAN SITI JUHAIDAH BINTI MOHD SHARIF\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N1\",\n        \"Email\": \"juhaidahsharif@ukm.edu.my\",\n        \"Phone\": \"03-8911 8254\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Juhaidah-Sharif.png\",\n        \"JobScope\": \"Kemudahan Cuti (Fakulti\/ Institut Gugusan Sains Sosial dan Kemanusiaan) | Pengiraan Cuti bagi Tujuan Persaraan (Fakulti Gugusan Sains Sosial dan Kemanusiaan) | Lembaga Perubatan (Fakulti\/Institut Gugusan Sains Sosial dan Kemanusiaan) | Elaun Khas Pentadbiran (Fakulti\/Institut Gugusan Sains Sosial dan Kemanusiaan) | Elaun Gantian Kereta Rasmi (Fakulti\/Institut Gugusan Sains Sosial dan Kemanusiaan) | Pemberian Awal Award Wang Tunai Gantian Cuti Rehat (GCR)\"\n      },\n      {\n        \"Name\": \"PUAN AMINAH BINTI KHALID\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N1\",\n        \"Email\": \"aminahkhalid@ukm.edu.my\",\n        \"Phone\": \"03-8911 8236\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Aminah-Khalid.png\",\n        \"JobScope\": \"Persaraan (Fakulti\/Institut Gugusan Sains Sosial) | Percantuman Perkhidmatan Lepas (Fakulti\/Institut Gugusan Sains Sosial dan Kemanusiaan) | Pengiraan Cuti bagi Tujuan Persaraan (Institut Gugusan Sains Sosial dan Kemanusiaan) | Surat Pengesahan Opsyen Umur Bersara | Majlis Sanjungan Budi\"\n      },\n      {\n        \"Name\": \"ENCIK MUHAMMAD IQBAL BIN M TAUFIQ\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N1\",\n        \"Email\": \"iqbal30@ukm.edu.my\",\n        \"Phone\": \"03-8911 8287\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Iqbal-Taufiq.png\",\n        \"JobScope\": \"Sistem Penilaian Prestasi Universiti (SPPU) | Penilaian Prestasi Staf Baharu Lantikan 6 bulan | MyKPI | Anugerah Perkhidmatan - Pingat Perkhidmatan Cemerlang (PPC), Anugerah Perkhidmatan Cemerlang (APC) dan Anugerah Perkhidmatan 20, 30 & 40 tahun | Pemberian Insentif Berasaskan Prestasi (BIPs) | Perisytiharan Harta (Staf Baharu) | Panel Pembangunan Sumber Manusia (PPSM) | Majlis Penghargaan Anugerah Perkhidmatan (MPAP)\"\n      },\n      {\n        \"Name\": \"PUAN NUR AMALINA BINTI OSMAN\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N1\",\n        \"Email\": \"nuramalina@ukm.edu.my\",\n        \"Phone\": \"03-8911 8238\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Amalina-Osman.png\",\n        \"JobScope\": \"Dasar Pemisah (termasuk Pengurusan PIPs) | Disiplin Staf | Elaun dalam Perkhidmatan (Fakulti\/Institut Sains Sosial dan Kemanusiaan dan Pusat Perkhidmatan) | Sistem Pengurusan Amalan Nilai (SPAN)\"\n      },\n      {\n        \"Name\": \"ENCIK ABDUL WAHRIL AZHAR BIN OMAR\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N2 (TBK)\",\n        \"Email\": \"axar@ukm.edu.my\",\n        \"Phone\": \"03-8911 8236\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Wahril-Azhar.png\",\n        \"JobScope\": \"Persaraan (Pusat Perkhidmatan dan Fakulti Sains & Teknologi) | Percantuman Perkhidmatan Lepas (Pusat Perkhidmatan dan Fakulti Sains & Teknologi) | Pengiraan Cuti bagi Tujuan Persaraan (Pusat Perkhidmatan dan Fakulti Sains & Teknologi) | Pengurusan kad pesara | Majlis Sanjungan Budi\"\n      },\n      {\n        \"Name\": \"PUAN NOR SYAZUANA BINTI IKHSAN\",\n        \"Position\": \"Pembantu Setiausaha Pejabat N1\",\n        \"Email\": \"syazuana@ukm.edu.my\",\n        \"Phone\": \"03-8911 8222\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Syazuana-Ikhsan.png\",\n        \"JobScope\": \"Setiausaha kepada Ketua Unit Elaun, Saraan dan Prestasi | Kemudahan Cuti (Pusat Perkhidmatan) | Lembaga Perubatan (Pusat Perkhidmatan) | Elaun Khas Pentadbiran (Pusat Perkhidmatan) | Elaun Gantian Kereta Rasmi (Pusat Perkhidmatan) | Pemberian Taraf Berpencen dan KWSP (Fakulti\/Institut Gugusan Sains Sosial dan Pusat Perkhidmatan) | Pemberian Awal Award Wang Tunai Gantian Cuti Rehat (GCR) | Majlis Sanjungan Budi\"\n      },\n      {\n        \"Name\": \"CIK MAISARAH BINTI MAHADZIR\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N1\",\n        \"Email\": \"maisarah.mahadzir@ukm.edu.my\",\n        \"Phone\": \"03-8911 8287\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Maisarah-Mahadzir.png\",\n        \"JobScope\": \"Elaun Penanggungan Kerja (Fakulti\/Institut Gugusan Sains Sosial dan Kemanusiaan dan Pusat Perkhidmatan) | Bimbingan dan Kaunseling (kes rujukan dan sukarela) | Pelaporan Ujian Psikologi | Fasa Pemerhatian Dasar Pemisah | Pengurusan AKRAB | Pementoran | Data Bimbingan dan Kaunseling | Profiling Digital Kesihatan Psikologi Perkhidmatan Awam (MyPsyD)\"\n      },\n      {\n        \"Name\": \"PUAN NUR IMAN SABRINA BINTI MOHD JASNI\",\n        \"Position\": \"Pembantu Tadbir (P\/O) N1\",\n        \"Email\": \"imansabrina@ukm.edu.my\",\n        \"Phone\": \"03-8911 8258\",\n        \"Image\": \"https:\/\/www.ukm.my\/pendaftar\/wp-content\/uploads\/2026\/01\/Iman-Sabrina.png\",\n        \"JobScope\": \"Kemudahan Cuti (Institut Gugusan Sains & Teknologi) | Pengiraan Cuti bagi Tujuan Persaraan (Institut Gugusan Sains & Teknologi) | Lembaga Perubatan (Institut Sains & Teknologi) | Pemberian Awal Award Wang Tunai Gantian Cuti Rehat (GCR) | Elaun Khas Pentadbiran (Fakulti\/Institut Gugusan Kesihatan dan Sains & Teknologi) | Elaun Gantian Kereta Rasmi (Fakulti\/Institut Gugusan Kesihatan dan Sains & Teknologi) | Elaun dalam Perkhidmatan (Pusat Perkhidmatan) | Sistem Pengurusan Amalan Nilai (SPAN)\"\n      }\n    ];\n\n    const currentScript = document.currentScript;\n    const wrapper = currentScript.previousElementSibling; \n    const gridContainer = wrapper.querySelector('.dynamic-staff-grid');\n    gridContainer.id = `grid-${uniqueTabId}`;\n\n    let modalContainer = document.getElementById(`modals-${uniqueTabId}`);\n    if (!modalContainer) {\n        modalContainer = document.createElement('div');\n        modalContainer.id = `modals-${uniqueTabId}`;\n        document.body.appendChild(modalContainer);\n    } else {\n        modalContainer.innerHTML = '';\n    }\n\n    staffData.forEach((staff, index) => {\n        const uniqueModalId = `modal-${uniqueTabId}-${index}`;\n        \n        let taskList = staff.JobScope ? staff.JobScope.split('|').map(item => item.trim()) : [];\n        let emails = staff.Email ? staff.Email.split('|') : [];\n        let emailHtml = emails.map(e => `<a href=\"mailto:${e.trim()}\" style=\"display:block; margin-bottom:2px;\">${e.trim()}<\/a>`).join('');\n        const phoneLink = staff.Phone ? staff.Phone.replace(\/\\s\/g, '') : '';\n\n        const cardHTML = `\n            <div class=\"staff-card\">\n                <img decoding=\"async\" src=\"${staff.Image}\" alt=\"${staff.Name}\" class=\"staff-image\" onerror=\"this.src='https:\/\/placehold.co\/400x300\/eee\/999?text=No+Image'\">\n                <div class=\"staff-info\">\n                    <h2 class=\"staff-name\">${staff.Name}<\/h2>\n                    <p class=\"staff-position\">${staff.Position || ''}<\/p>\n                    <div class=\"contact-info\">\n                        <div class=\"contact-item\">\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z\"\/><\/svg>\n                            <div style=\"flex-grow: 1; min-width: 0;\">${emailHtml}<\/div>\n                        <\/div>\n                        <div class=\"contact-item\">\n                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z\"\/><\/svg>\n                            <a href=\"tel:${phoneLink}\">${staff.Phone || ''}<\/a>\n                        <\/div>\n                    <\/div>\n                    <button class=\"job-desc-btn\" onclick=\"document.getElementById('${uniqueModalId}').classList.add('active'); document.body.style.overflow='hidden';\">Skop Tugas<\/button>\n                <\/div>\n            <\/div>`;\n        gridContainer.innerHTML += cardHTML;\n\n        const tasksHTML = taskList.map(task => {\n            if (task.startsWith('>>')) return `<li style=\"margin-left: 20px; list-style-type: circle;\">${task.replace('>>', '').trim()}<\/li>`;\n            return `<li>${task}<\/li>`;\n        }).join('');\n        \n        const modalHTML = `\n            <div id=\"${uniqueModalId}\" class=\"staff-modal\" onclick=\"if(event.target === this){this.classList.remove('active'); document.body.style.overflow='auto';}\">\n                <div class=\"staff-modal-content\">\n                    <button class=\"staff-close-btn\" onclick=\"document.getElementById('${uniqueModalId}').classList.remove('active'); document.body.style.overflow='auto';\">\n                         <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path d=\"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\/><\/svg>\n                    <\/button>\n                    <h2 class=\"modal-header\">${staff.Name}<\/h2>\n                    <p class=\"modal-position\">${staff.Position || ''}<\/p>\n                    <div class=\"modal-body\">\n                        <h3>Skop Tugas:<\/h3>\n                        <ul>${tasksHTML}<\/ul>\n                    <\/div>\n                <\/div>\n            <\/div>`;\n        modalContainer.innerHTML += modalHTML;\n    });\n}\n<\/script><\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Bahagian Sumber Manusia Unit Gaji Unit Perjawatan &#038; Kenaikan Pangkat Unit Elaun, Saraan &#038; Prestasi Unit Gaji Unit Perjawatan &#038; Kenaikan Pangkat Unit Elaun, Saraan &#038; Prestasi<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"ocean_post_layout":"","ocean_both_sidebars_style":"","ocean_both_sidebars_content_width":0,"ocean_both_sidebars_sidebars_width":0,"ocean_sidebar":"0","ocean_second_sidebar":"0","ocean_disable_margins":"enable","ocean_add_body_class":"","ocean_shortcode_before_top_bar":"","ocean_shortcode_after_top_bar":"","ocean_shortcode_before_header":"","ocean_shortcode_after_header":"","ocean_has_shortcode":"","ocean_shortcode_after_title":"","ocean_shortcode_before_footer_widgets":"","ocean_shortcode_after_footer_widgets":"","ocean_shortcode_before_footer_bottom":"","ocean_shortcode_after_footer_bottom":"","ocean_display_top_bar":"default","ocean_display_header":"default","ocean_header_style":"","ocean_center_header_left_menu":"0","ocean_custom_header_template":"0","ocean_custom_logo":0,"ocean_custom_retina_logo":0,"ocean_custom_logo_max_width":0,"ocean_custom_logo_tablet_max_width":0,"ocean_custom_logo_mobile_max_width":0,"ocean_custom_logo_max_height":0,"ocean_custom_logo_tablet_max_height":0,"ocean_custom_logo_mobile_max_height":0,"ocean_header_custom_menu":"0","ocean_menu_typo_font_family":"0","ocean_menu_typo_font_subset":"","ocean_menu_typo_font_size":0,"ocean_menu_typo_font_size_tablet":0,"ocean_menu_typo_font_size_mobile":0,"ocean_menu_typo_font_size_unit":"px","ocean_menu_typo_font_weight":"","ocean_menu_typo_font_weight_tablet":"","ocean_menu_typo_font_weight_mobile":"","ocean_menu_typo_transform":"","ocean_menu_typo_transform_tablet":"","ocean_menu_typo_transform_mobile":"","ocean_menu_typo_line_height":0,"ocean_menu_typo_line_height_tablet":0,"ocean_menu_typo_line_height_mobile":0,"ocean_menu_typo_line_height_unit":"","ocean_menu_typo_spacing":0,"ocean_menu_typo_spacing_tablet":0,"ocean_menu_typo_spacing_mobile":0,"ocean_menu_typo_spacing_unit":"","ocean_menu_link_color":"","ocean_menu_link_color_hover":"","ocean_menu_link_color_active":"","ocean_menu_link_background":"","ocean_menu_link_hover_background":"","ocean_menu_link_active_background":"","ocean_menu_social_links_bg":"","ocean_menu_social_hover_links_bg":"","ocean_menu_social_links_color":"","ocean_menu_social_hover_links_color":"","ocean_disable_title":"default","ocean_disable_heading":"default","ocean_post_title":"","ocean_post_subheading":"","ocean_post_title_style":"","ocean_post_title_background_color":"","ocean_post_title_background":0,"ocean_post_title_bg_image_position":"","ocean_post_title_bg_image_attachment":"","ocean_post_title_bg_image_repeat":"","ocean_post_title_bg_image_size":"","ocean_post_title_height":0,"ocean_post_title_bg_overlay":0.5,"ocean_post_title_bg_overlay_color":"","ocean_disable_breadcrumbs":"default","ocean_breadcrumbs_color":"","ocean_breadcrumbs_separator_color":"","ocean_breadcrumbs_links_color":"","ocean_breadcrumbs_links_hover_color":"","ocean_display_footer_widgets":"default","ocean_display_footer_bottom":"default","ocean_custom_footer_template":"0","footnotes":""},"class_list":["post-30620","page","type-page","status-publish","hentry","entry"],"aioseo_notices":[],"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"pendaftar_v2","author_link":"https:\/\/www.ukm.my\/pendaftar\/author\/pendaftar_v2\/"},"rttpg_comment":0,"rttpg_category":null,"rttpg_excerpt":"Bahagian Sumber Manusia Unit Gaji Unit Perjawatan &#038; Kenaikan Pangkat Unit Elaun, Saraan &#038; Prestasi Unit Gaji Unit Perjawatan &#038; Kenaikan Pangkat Unit Elaun, Saraan &#038; Prestasi","_links":{"self":[{"href":"https:\/\/www.ukm.my\/pendaftar\/wp-json\/wp\/v2\/pages\/30620","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ukm.my\/pendaftar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ukm.my\/pendaftar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ukm.my\/pendaftar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ukm.my\/pendaftar\/wp-json\/wp\/v2\/comments?post=30620"}],"version-history":[{"count":150,"href":"https:\/\/www.ukm.my\/pendaftar\/wp-json\/wp\/v2\/pages\/30620\/revisions"}],"predecessor-version":[{"id":32609,"href":"https:\/\/www.ukm.my\/pendaftar\/wp-json\/wp\/v2\/pages\/30620\/revisions\/32609"}],"wp:attachment":[{"href":"https:\/\/www.ukm.my\/pendaftar\/wp-json\/wp\/v2\/media?parent=30620"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}