{"id":48,"date":"2026-11-02T06:40:34","date_gmt":"2026-11-02T06:40:34","guid":{"rendered":"https:\/\/vbridgelanguage.org\/?page_id=48"},"modified":"2026-11-02T18:26:59","modified_gmt":"2026-11-02T18:26:59","slug":"ministry-infos","status":"publish","type":"page","link":"https:\/\/vbridgelanguage.org\/?page_id=48","title":{"rendered":"Ministry infos"},"content":{"rendered":"<div class=\"brz brz-root__container brz-reset-all brz-root__container-page\" >\n<section id=\"ai9Bt4TRsqDW_ai9Bt4TRsqDW\" class=\"brz-section brz-css-d-ynf0il brz-css-xmmo48\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-oh3bvl brz-css-w859rg\" data-brz-custom-id=\"eyWHQdim9ns4\">\n<div class=\"brz-container brz-css-d-x9rvyp brz-css-2i0zfe\">\n<div class=\"brz-row__container brz-css-d-w3a52u brz-css-152cpxj\" data-brz-custom-id=\"c9uc2Lu2BoYa\">\n<div class=\"brz-bg\">\n<div class=\"brz-bg-color\"><\/div>\n<\/div>\n<div class=\"brz-row brz-css-d-1n95ksq brz-css-oljdlx\">\n<div class=\"brz-columns brz-css-d-j7y22h brz-css-13u78or\" data-brz-custom-id=\"i08AkyU_xgOM\">\n<div class=\"brz-column__items brz-css-d-v5w42e brz-css-xq3f0x\">\n<div id=\"\" class=\"brz-css-d-1wonu5h brz-css-1fm00ds brz-wrapper\">\n<div class=\"brz-image brz-css-d-16wxwyw brz-css-1emkxff\" data-brz-custom-id=\"pBbDE_giwsor\"><picture class=\"brz-picture brz-d-block brz-p-relative brz-css-d-9loafg brz-css-7zh90p\"><source srcset=\"https:\/\/vbridgelanguage.org\/wp-content\/uploads\/brizy\/imgs\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png 1x, https:\/\/vbridgelanguage.org\/?brizy_media=wp-4d1e52731c6e3fb0c01de9a6e302e2d3.png&amp;brizy_crop=iW%3D574%26iH%3D190%26oX%3D0%26oY%3D0%26cW%3D574%26cH%3D190 2x\" media=\"(min-width: 992px)\"><source srcset=\"https:\/\/vbridgelanguage.org\/?brizy_media=wp-4d1e52731c6e3fb0c01de9a6e302e2d3.png&amp;brizy_crop=iW%3D152%26iH%3D50%26oX%3D0%26oY%3D0%26cW%3D152%26cH%3D50 1x, https:\/\/vbridgelanguage.org\/?brizy_media=wp-4d1e52731c6e3fb0c01de9a6e302e2d3.png&amp;brizy_crop=iW%3D304%26iH%3D100%26oX%3D0%26oY%3D0%26cW%3D304%26cH%3D100 2x\" media=\"(min-width: 768px)\"><img decoding=\"async\" class=\"brz-img\" srcset=\"https:\/\/vbridgelanguage.org\/wp-content\/uploads\/brizy\/imgs\/VBridge-Language-Logo-Banner-172x57x0x0x172x57x1793600293.png 1x, https:\/\/vbridgelanguage.org\/wp-content\/uploads\/brizy\/imgs\/VBridge-Language-Logo-Banner-344x114x0x0x344x114x1793600293.png 2x\" src=\"https:\/\/vbridgelanguage.org\/wp-content\/uploads\/brizy\/imgs\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png\" loading=\"lazy\" alt=\"\" title=\"VBridge Language Logo Banner\" draggable=\"false\"><\/picture><\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-j7y22h brz-css-w6haky\" data-brz-custom-id=\"wxbi3kf9WbDt\">\n<div class=\"brz-column__items brz-css-d-v5w42e brz-css-176e56r\">\n<div id=\"\" class=\"brz-css-d-1wonu5h brz-css-v9k7ir brz-wrapper\">\n<div class=\"brz-menu__container brz-css-d-xbidpt brz-css-9ab7q5\" data-mmenu-id=\"#goGJ1skLBOeY_ffea6f8d4bb8d650e50a\" data-mmenu-position=\"position-left\" data-mmenu-title=\"Menu\" data-mmenu-stickytitle=\"off\" data-mmenu-isslider=\"false\" data-mmenu-closingicon=\"%7B%22desktop%22%3A%22off%22%2C%22tablet%22%3A%22off%22%2C%22mobile%22%3A%22off%22%7D\" data-brz-menu-accessible=\"true\" data-brz-custom-id=\"goGJ1skLBOeY\">\n<nav data-mods=\"%7B%22desktop%22%3A%22horizontal%22%2C%22tablet%22%3A%22horizontal%22%2C%22mobile%22%3A%22horizontal%22%7D\" class=\"brz-menu brz-menu__preview brz-css-d-163urcc brz-css-yfet83\">\n<ul class=\"brz-menu__ul\" style=\"list-style-type:none\" data-menu-items-active=\"\">\n<li data-menu-item-id=\"bd24f71de6c30d151c9828f0c7d2f787\" class=\"brz-menu__item menu-item menu-item-type-post_type menu-item-object-page menu-item-home\"><a class=\"brz-a\" target=\"\" href=\"https:\/\/vbridgelanguage.org\/\"><span class=\"brz-span\">HOMEPAGE<\/span><\/a><\/li>\n<li data-menu-item-id=\"e8c97b9adbb8939c2350ff94f6b7a0ac\" class=\"brz-menu__item menu-item menu-item-type-post_type menu-item-object-page\"><a class=\"brz-a\" target=\"\" href=\"https:\/\/vbridgelanguage.org\/?page_id=48\"><span class=\"brz-span\">MINISTRY-INFOS<\/span><\/a><\/li>\n<\/ul>\n<\/nav>\n<div class=\"brz-mm-menu__icon\" data-brz-brz-mmenu-icon=\"off\" aria-label=\"Open navigation menu\" role=\"button\" tabindex=\"0\"><\/div>\n<nav data-mods=\"%7B%22desktop%22%3A%22horizontal%22%2C%22tablet%22%3A%22horizontal%22%2C%22mobile%22%3A%22horizontal%22%7D\" style=\"display:none\" id=\"goGJ1skLBOeY_ffea6f8d4bb8d650e50a\" class=\"brz-menu brz-menu__preview brz-menu__mmenu brz-css-d-dh5ser brz-css-wo70zd\">\n<ul class=\"brz-menu__ul\" style=\"list-style-type:none\" data-menu-items-active=\"\">\n<li data-menu-item-id=\"bd24f71de6c30d151c9828f0c7d2f787\" class=\"brz-menu__item menu-item menu-item-type-post_type menu-item-object-page menu-item-home\"><a class=\"brz-a\" target=\"\" href=\"https:\/\/vbridgelanguage.org\/\"><span class=\"brz-span\">HOMEPAGE<\/span><\/a><\/li>\n<li data-menu-item-id=\"e8c97b9adbb8939c2350ff94f6b7a0ac\" class=\"brz-menu__item menu-item menu-item-type-post_type menu-item-object-page\"><a class=\"brz-a\" target=\"\" href=\"https:\/\/vbridgelanguage.org\/?page_id=48\"><span class=\"brz-span\">MINISTRY-INFOS<\/span><\/a><\/li>\n<\/ul>\n<\/nav>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"brz-columns brz-css-d-j7y22h brz-css-bylevf\" data-brz-custom-id=\"g9qEHGdIjD0k\">\n<div class=\"brz-column__items brz-css-d-v5w42e brz-css-1o23rc0\">\n<div class=\"brz-wrapper-clone brz-flex-xs-wrap brz-css-d-x0dcve brz-css-4tyzrx\" data-brz-custom-id=\"q3272pRq6I9N\"><a class=\"brz-a brz-btn brz-css-d-1syz9i2 brz-css-1ilidzc brz-css-d-13c78oe brz-css-4wnlp2\" target=\"_self\" rel=\"noopener\" data-brz-link-type=\"external\" data-brz-custom-id=\"uNaKAQaxu70i\"><span data-brz-translate-text=\"1\" class=\"brz-span brz-text__editor\">BOOK AN APPOINTMENT<\/span><\/a><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section>\n<section id=\"uCrHwTD2q2db_uCrHwTD2q2db\" class=\"brz-section brz-css-d-ynf0il brz-css-1gqgi34\">\n<div class=\"brz-section__content brz-section--boxed brz-css-d-oh3bvl brz-css-zicrgv\" data-brz-custom-id=\"hKbgcnOrAqS5\">\n<div class=\"brz-container brz-css-d-x9rvyp brz-css-ftgu83\">\n<div id=\"\" class=\"brz-css-d-1wonu5h brz-css-11ftpfq brz-wrapper\">\n<div class=\"brz-embed-code brz-css-d-12mke1z brz-css-16xjqmy\" data-brz-custom-id=\"s7o1uuDZmWkR\">\n<div class=\"brz-embed-content\">\n<div>\n<p>  <meta charset=\"UTF-8\"><br \/>\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n  <title>Cambodia Government Ministries | English\u2013Khmer Directory &amp; Department Manager<\/title><\/p>\n<p>  <!-- Google Fonts -->\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n  <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Battambang:wght@400;700&amp;family=Inter:wght@400;500;600;700;800&amp;display=swap\" rel=\"stylesheet\">\n<p>  <!-- Font Awesome Icons -->\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.5.1\/css\/all.min.css\">\n<style>\n    :root {\n      --primary: #0B4F6C;\n      --primary-dark: #073B52;\n      --primary-light: #e8f3f8;\n      --gold: #F4B942;\n      --gold-dark: #dca029;\n      --dark: #102A43;\n      --light: #F6F8FA;\n      --white: #FFFFFF;\n      --border: #E1E8ED;\n      --muted: #6B7785;\n      --danger: #e63946;\n      --danger-light: #fde8e9;\n      --success: #2a9d8f;\n      --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.05);\n      --shadow-md: 0 12px 30px rgba(11, 79, 108, 0.1);\n      --shadow-lg: 0 20px 45px rgba(0, 0, 0, 0.16);\n    }<\/p>\n<p>    * {\n      box-sizing: border-box;\n      margin: 0;\n      padding: 0;\n    }<\/p>\n<p>    html {\n      scroll-behavior: smooth;\n    }<\/p>\n<p>    body {\n      font-family: \"Inter\", \"Battambang\", Arial, sans-serif;\n      background: var(--light);\n      color: var(--dark);\n      line-height: 1.6;\n      min-height: 100vh;\n      display: flex;\n      flex-direction: column;\n    }<\/p>\n<p>    .khmer {\n      font-family: \"Battambang\", sans-serif;\n    }<\/p>\n<p>    \/* =========================\n       HEADER & NAV TABS\n    ========================== *\/\n    .top-nav {\n      background: #062E40;\n      border-bottom: 1px solid rgba(255, 255, 255, 0.1);\n      position: sticky;\n      top: 0;\n      z-index: 100;\n    }<\/p>\n<p>    .nav-container {\n      max-width: 1200px;\n      margin: 0 auto;\n      padding: 0 20px;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      height: 64px;\n    }<\/p>\n<p>    .brand-logo {\n      display: flex;\n      align-items: center;\n      gap: 10px;\n      color: white;\n      font-weight: 700;\n      font-size: 16px;\n      text-decoration: none;\n    }<\/p>\n<p>    .brand-logo span.flag {\n      font-size: 22px;\n    }<\/p>\n<p>    .tab-group {\n      display: flex;\n      gap: 8px;\n      background: rgba(255, 255, 255, 0.08);\n      padding: 5px;\n      border-radius: 12px;\n    }<\/p>\n<p>    .tab-btn {\n      border: none;\n      background: transparent;\n      color: #C9D9E0;\n      padding: 8px 18px;\n      font-size: 14px;\n      font-weight: 600;\n      border-radius: 8px;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      gap: 8px;\n      transition: all 0.2s ease;\n      font-family: inherit;\n    }<\/p>\n<p>    .tab-btn:hover {\n      color: white;\n      background: rgba(255, 255, 255, 0.12);\n    }<\/p>\n<p>    .tab-btn.active {\n      background: var(--gold);\n      color: #121c24;\n      box-shadow: 0 2px 8px rgba(244, 185, 66, 0.35);\n    }<\/p>\n<p>    \/* =========================\n       HERO SECTION\n    ========================== *\/\n    .hero {\n      background: linear-gradient(135deg, rgba(7, 59, 82, 0.98), rgba(11, 79, 108, 0.94));\n      color: white;\n      padding: 50px 20px 65px;\n      text-align: center;\n      position: relative;\n    }<\/p>\n<p>    .hero-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      padding: 6px 16px;\n      border-radius: 50px;\n      background: rgba(244, 185, 66, 0.15);\n      border: 1px solid rgba(244, 185, 66, 0.45);\n      color: var(--gold);\n      font-size: 13px;\n      font-weight: 600;\n      margin-bottom: 15px;\n    }<\/p>\n<p>    .hero h1 {\n      font-size: clamp(28px, 4.5vw, 44px);\n      font-weight: 800;\n      margin-bottom: 10px;\n      line-height: 1.25;\n    }<\/p>\n<p>    .hero .hero-khmer {\n      font-size: clamp(16px, 1.8vw, 20px);\n      color: #E2EDF2;\n      margin-bottom: 10px;\n    }<\/p>\n<p>    .hero-description {\n      max-width: 760px;\n      margin: auto;\n      color: #C9D9E0;\n      font-size: 15px;\n    }<\/p>\n<p>    \/* =========================\n       CONTAINER & ACTIONS BAR\n    ========================== *\/\n    .container {\n      max-width: 1200px;\n      margin: 0 auto;\n      padding: 0 20px 70px;\n      flex: 1;\n      width: 100%;\n    }<\/p>\n<p>    .top-controls {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: center;\n      justify-content: space-between;\n      gap: 15px;\n      margin: -26px auto 30px;\n      position: relative;\n      z-index: 20;\n    }<\/p>\n<p>    .search-box {\n      flex: 1;\n      min-width: 280px;\n      position: relative;\n    }<\/p>\n<p>    .search-box i.search-icon {\n      position: absolute;\n      left: 18px;\n      top: 50%;\n      transform: translateY(-50%);\n      color: var(--muted);\n      font-size: 16px;\n    }<\/p>\n<p>    .search-box input {\n      width: 100%;\n      border: 1px solid var(--border);\n      background: white;\n      border-radius: 14px;\n      padding: 16px 46px 16px 48px;\n      font-size: 15px;\n      outline: none;\n      box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);\n      transition: 0.2s ease;\n      font-family: inherit;\n    }<\/p>\n<p>    .search-box input:focus {\n      border-color: var(--primary);\n      box-shadow: 0 12px 30px rgba(11, 79, 108, 0.16);\n    }<\/p>\n<p>    #clearSearch {\n      position: absolute;\n      right: 14px;\n      top: 50%;\n      transform: translateY(-50%);\n      border: none;\n      background: transparent;\n      color: var(--muted);\n      cursor: pointer;\n      display: none;\n      font-size: 16px;\n      padding: 4px;\n    }<\/p>\n<p>    .action-btn-group {\n      display: flex;\n      gap: 10px;\n      flex-wrap: wrap;\n    }<\/p>\n<p>    .btn {\n      display: inline-flex;\n      align-items: center;\n      gap: 8px;\n      padding: 14px 20px;\n      border-radius: 12px;\n      font-size: 14px;\n      font-weight: 700;\n      border: none;\n      cursor: pointer;\n      transition: all 0.2s ease;\n      font-family: inherit;\n      white-space: nowrap;\n    }<\/p>\n<p>    .btn-primary {\n      background: var(--primary);\n      color: white;\n      box-shadow: 0 8px 20px rgba(11, 79, 108, 0.2);\n    }<\/p>\n<p>    .btn-primary:hover {\n      background: var(--primary-dark);\n      transform: translateY(-1px);\n    }<\/p>\n<p>    .btn-secondary {\n      background: white;\n      color: var(--dark);\n      border: 1px solid var(--border);\n      box-shadow: var(--shadow-sm);\n    }<\/p>\n<p>    .btn-secondary:hover {\n      background: #f8fafc;\n      border-color: #cbd5e1;\n    }<\/p>\n<p>    .btn-gold {\n      background: var(--gold);\n      color: #121c24;\n    }<\/p>\n<p>    .btn-gold:hover {\n      background: var(--gold-dark);\n    }<\/p>\n<p>    \/* Subheader stats *\/\n    .view-header {\n      display: flex;\n      flex-wrap: wrap;\n      align-items: center;\n      justify-content: space-between;\n      gap: 12px;\n      margin-bottom: 24px;\n      padding-bottom: 14px;\n      border-bottom: 1px solid var(--border);\n    }<\/p>\n<p>    .view-title h2 {\n      font-size: 24px;\n      color: var(--dark);\n      display: flex;\n      align-items: center;\n      gap: 10px;\n    }<\/p>\n<p>    .view-title p {\n      color: var(--muted);\n      font-size: 13px;\n    }<\/p>\n<p>    .result-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 6px;\n      background: var(--primary-light);\n      color: var(--primary);\n      padding: 6px 14px;\n      border-radius: 20px;\n      font-size: 13px;\n      font-weight: 600;\n    }<\/p>\n<p>    \/* =========================\n       MINISTRIES DIRECTORY (VIEW 1)\n    ========================== *\/\n    .ministries-grid {\n      display: grid;\n      grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));\n      gap: 20px;\n    }<\/p>\n<p>    .ministry-card {\n      background: var(--white);\n      border: 1px solid var(--border);\n      border-radius: 16px;\n      overflow: hidden;\n      transition: all 0.25s ease;\n      display: flex;\n      flex-direction: column;\n    }<\/p>\n<p>    .ministry-card:hover {\n      border-color: rgba(11, 79, 108, 0.4);\n      box-shadow: var(--shadow-md);\n    }<\/p>\n<p>    .ministry-card.active {\n      border-color: var(--primary);\n      box-shadow: 0 12px 30px rgba(11, 79, 108, 0.14);\n    }<\/p>\n<p>    .ministry-header {\n      width: 100%;\n      border: none;\n      background: white;\n      display: flex;\n      align-items: center;\n      gap: 15px;\n      padding: 18px 20px;\n      text-align: left;\n      cursor: pointer;\n      font-family: inherit;\n      transition: background 0.15s ease;\n    }<\/p>\n<p>    .ministry-header:hover {\n      background: #FAFCFD;\n    }<\/p>\n<p>    .ministry-icon {\n      width: 52px;\n      height: 52px;\n      min-width: 52px;\n      border-radius: 14px;\n      background: rgba(11, 79, 108, 0.08);\n      color: var(--primary);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 22px;\n      transition: transform 0.2s ease;\n    }<\/p>\n<p>    .ministry-card:hover .ministry-icon {\n      transform: scale(1.05);\n    }<\/p>\n<p>    .ministry-content {\n      flex: 1;\n      min-width: 0;\n    }<\/p>\n<p>    .ministry-number {\n      color: var(--gold-dark);\n      font-size: 11px;\n      font-weight: 800;\n      letter-spacing: 0.5px;\n      text-transform: uppercase;\n      margin-bottom: 2px;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }<\/p>\n<p>    .dept-counter-pill {\n      background: #F0F4F8;\n      color: var(--muted);\n      font-size: 11px;\n      padding: 1px 7px;\n      border-radius: 20px;\n      font-weight: 600;\n    }<\/p>\n<p>    .english-name {\n      font-size: 15px;\n      line-height: 1.35;\n      font-weight: 700;\n      color: var(--dark);\n    }<\/p>\n<p>    .khmer-name {\n      font-family: \"Battambang\", sans-serif;\n      font-size: 13px;\n      color: var(--muted);\n      margin-top: 3px;\n      line-height: 1.4;\n    }<\/p>\n<p>    .dropdown-arrow {\n      width: 32px;\n      height: 32px;\n      min-width: 32px;\n      border-radius: 50%;\n      background: var(--light);\n      color: var(--primary);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      transition: all 0.3s ease;\n      font-size: 13px;\n    }<\/p>\n<p>    .ministry-card.active .dropdown-arrow {\n      transform: rotate(180deg);\n      background: var(--primary);\n      color: white;\n    }<\/p>\n<p>    .department-dropdown {\n      max-height: 0;\n      overflow: hidden;\n      transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);\n      background: #FAFCFD;\n    }<\/p>\n<p>    .ministry-card.active .department-dropdown {\n      max-height: 1800px;\n    }<\/p>\n<p>    .department-inner {\n      border-top: 1px solid var(--border);\n      padding: 16px 20px 20px;\n    }<\/p>\n<p>    .department-bar {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      margin-bottom: 12px;\n    }<\/p>\n<p>    .department-title {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n      color: var(--primary);\n      font-weight: 700;\n      font-size: 13px;\n    }<\/p>\n<p>    .department-title .khmer {\n      color: var(--muted);\n      font-weight: normal;\n    }<\/p>\n<p>    .btn-quick-add {\n      background: #e9f3f7;\n      color: var(--primary);\n      border: 1px dashed var(--primary);\n      font-size: 12px;\n      font-weight: 600;\n      padding: 5px 10px;\n      border-radius: 8px;\n      cursor: pointer;\n      display: inline-flex;\n      align-items: center;\n      gap: 5px;\n      transition: all 0.2s ease;\n    }<\/p>\n<p>    .btn-quick-add:hover {\n      background: var(--primary);\n      color: white;\n      border-style: solid;\n    }<\/p>\n<p>    .department-list {\n      display: flex;\n      flex-direction: column;\n      gap: 8px;\n    }<\/p>\n<p>    .department-item {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      gap: 12px;\n      padding: 10px 14px;\n      background: white;\n      border: 1px solid var(--border);\n      border-radius: 10px;\n      transition: all 0.2s ease;\n    }<\/p>\n<p>    .department-item:hover {\n      border-color: rgba(11, 79, 108, 0.4);\n      box-shadow: 0 3px 8px rgba(0, 0, 0, 0.04);\n      transform: translateX(2px);\n    }<\/p>\n<p>    .dept-left {\n      display: flex;\n      align-items: center;\n      gap: 12px;\n      flex: 1;\n      min-width: 0;\n    }<\/p>\n<p>    .department-icon {\n      width: 32px;\n      height: 32px;\n      min-width: 32px;\n      border-radius: 8px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      background: #eef7f9;\n      color: var(--primary);\n      font-size: 13px;\n    }<\/p>\n<p>    .department-text {\n      flex: 1;\n      min-width: 0;\n    }<\/p>\n<p>    .department-text strong {\n      display: block;\n      font-size: 13px;\n      color: var(--dark);\n      line-height: 1.35;\n      word-break: break-word;\n    }<\/p>\n<p>    .department-text span {\n      display: block;\n      font-family: \"Battambang\", sans-serif;\n      font-size: 12px;\n      color: var(--muted);\n      margin-top: 2px;\n      word-break: break-word;\n    }<\/p>\n<p>    .dept-item-actions {\n      display: flex;\n      align-items: center;\n      gap: 4px;\n      opacity: 0.7;\n      transition: opacity 0.2s;\n    }<\/p>\n<p>    .department-item:hover .dept-item-actions {\n      opacity: 1;\n    }<\/p>\n<p>    .action-icon-btn {\n      width: 28px;\n      height: 28px;\n      border-radius: 6px;\n      border: 1px solid transparent;\n      background: transparent;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 12px;\n      color: var(--muted);\n      transition: all 0.15s;\n    }<\/p>\n<p>    .action-icon-btn.edit:hover {\n      background: var(--primary-light);\n      color: var(--primary);\n      border-color: rgba(11, 79, 108, 0.2);\n    }<\/p>\n<p>    .action-icon-btn.delete:hover {\n      background: var(--danger-light);\n      color: var(--danger);\n      border-color: rgba(230, 57, 70, 0.2);\n    }<\/p>\n<p>    .empty-dept-msg {\n      text-align: center;\n      padding: 18px;\n      color: var(--muted);\n      font-size: 13px;\n      border: 1px dashed var(--border);\n      border-radius: 10px;\n      background: #fdfefe;\n    }<\/p>\n<p>    \/* =========================\n       MANAGEMENT TABLE VIEW (VIEW 2)\n    ========================== *\/\n    .manage-view {\n      display: none;\n    }<\/p>\n<p>    .manage-card {\n      background: white;\n      border-radius: 16px;\n      border: 1px solid var(--border);\n      box-shadow: var(--shadow-sm);\n      overflow: hidden;\n    }<\/p>\n<p>    .filter-bar {\n      padding: 16px 20px;\n      background: #fafbfd;\n      border-bottom: 1px solid var(--border);\n      display: flex;\n      flex-wrap: wrap;\n      align-items: center;\n      justify-content: space-between;\n      gap: 12px;\n    }<\/p>\n<p>    .select-wrapper {\n      display: flex;\n      align-items: center;\n      gap: 10px;\n      font-size: 13px;\n      font-weight: 600;\n      color: var(--dark);\n    }<\/p>\n<p>    .styled-select {\n      border: 1px solid var(--border);\n      background: white;\n      padding: 9px 14px;\n      border-radius: 10px;\n      font-size: 13px;\n      outline: none;\n      font-family: inherit;\n      color: var(--dark);\n      cursor: pointer;\n      min-width: 260px;\n      max-width: 100%;\n    }<\/p>\n<p>    .styled-select:focus {\n      border-color: var(--primary);\n    }<\/p>\n<p>    .table-container {\n      overflow-x: auto;\n      width: 100%;\n    }<\/p>\n<p>    .dept-table {\n      width: 100%;\n      border-collapse: collapse;\n      text-align: left;\n      font-size: 13px;\n    }<\/p>\n<p>    .dept-table th {\n      background: #F8FAFC;\n      color: var(--muted);\n      font-weight: 700;\n      padding: 14px 18px;\n      border-bottom: 1px solid var(--border);\n      text-transform: uppercase;\n      font-size: 11px;\n      letter-spacing: 0.5px;\n    }<\/p>\n<p>    .dept-table td {\n      padding: 14px 18px;\n      border-bottom: 1px solid var(--border);\n      vertical-align: middle;\n    }<\/p>\n<p>    .dept-table tr:hover td {\n      background: #fafcfe;\n    }<\/p>\n<p>    .table-ministry-badge {\n      display: inline-block;\n      font-weight: 600;\n      color: var(--primary);\n      background: var(--primary-light);\n      padding: 3px 8px;\n      border-radius: 6px;\n      font-size: 12px;\n      max-width: 240px;\n      white-space: nowrap;\n      overflow: hidden;\n      text-overflow: ellipsis;\n    }<\/p>\n<p>    .table-actions {\n      display: flex;\n      align-items: center;\n      gap: 8px;\n    }<\/p>\n<p>    .table-btn {\n      border: 1px solid var(--border);\n      background: white;\n      border-radius: 8px;\n      padding: 6px 10px;\n      font-size: 12px;\n      cursor: pointer;\n      display: inline-flex;\n      align-items: center;\n      gap: 5px;\n      transition: all 0.15s ease;\n      font-weight: 600;\n      color: var(--dark);\n    }<\/p>\n<p>    .table-btn.edit:hover {\n      background: var(--primary);\n      color: white;\n      border-color: var(--primary);\n    }<\/p>\n<p>    .table-btn.delete {\n      color: var(--danger);\n    }<\/p>\n<p>    .table-btn.delete:hover {\n      background: var(--danger);\n      color: white;\n      border-color: var(--danger);\n    }<\/p>\n<p>    \/* =========================\n       MODAL \/ POPUP\n    ========================== *\/\n    .modal-backdrop {\n      position: fixed;\n      inset: 0;\n      background: rgba(10, 37, 51, 0.65);\n      backdrop-filter: blur(4px);\n      z-index: 999;\n      display: none;\n      align-items: center;\n      justify-content: center;\n      padding: 20px;\n      animation: fadeIn 0.2s ease;\n    }<\/p>\n<p>    .modal-backdrop.active {\n      display: flex;\n    }<\/p>\n<p>    .modal-card {\n      background: white;\n      border-radius: 18px;\n      max-width: 540px;\n      width: 100%;\n      box-shadow: var(--shadow-lg);\n      border: 1px solid var(--border);\n      overflow: hidden;\n      transform: translateY(0);\n      animation: slideUp 0.25s ease;\n    }<\/p>\n<p>    .modal-header {\n      background: linear-gradient(135deg, #073B52, #0B4F6C);\n      color: white;\n      padding: 20px 24px;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }<\/p>\n<p>    .modal-header h3 {\n      font-size: 18px;\n      font-weight: 700;\n      display: flex;\n      align-items: center;\n      gap: 10px;\n    }<\/p>\n<p>    .modal-close-btn {\n      background: rgba(255, 255, 255, 0.15);\n      border: none;\n      color: white;\n      width: 32px;\n      height: 32px;\n      border-radius: 50%;\n      cursor: pointer;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      transition: background 0.2s;\n    }<\/p>\n<p>    .modal-close-btn:hover {\n      background: rgba(255, 255, 255, 0.3);\n    }<\/p>\n<p>    .modal-body {\n      padding: 24px;\n      display: flex;\n      flex-direction: column;\n      gap: 18px;\n    }<\/p>\n<p>    .form-group {\n      display: flex;\n      flex-direction: column;\n      gap: 6px;\n    }<\/p>\n<p>    .form-group label {\n      font-size: 13px;\n      font-weight: 600;\n      color: var(--dark);\n      display: flex;\n      justify-content: space-between;\n    }<\/p>\n<p>    .form-group label span.khmer-sub {\n      color: var(--muted);\n      font-family: \"Battambang\", sans-serif;\n      font-weight: 400;\n      font-size: 12px;\n    }<\/p>\n<p>    .form-input, .form-select {\n      width: 100%;\n      padding: 12px 14px;\n      border: 1px solid var(--border);\n      border-radius: 10px;\n      font-size: 14px;\n      outline: none;\n      font-family: inherit;\n      color: var(--dark);\n      transition: border-color 0.2s, box-shadow 0.2s;\n    }<\/p>\n<p>    .form-input:focus, .form-select:focus {\n      border-color: var(--primary);\n      box-shadow: 0 0 0 3px rgba(11, 79, 108, 0.12);\n    }<\/p>\n<p>    .icon-picker-grid {\n      display: grid;\n      grid-template-columns: repeat(6, 1fr);\n      gap: 8px;\n      max-height: 120px;\n      overflow-y: auto;\n      padding: 6px;\n      border: 1px solid var(--border);\n      border-radius: 10px;\n      background: #fafbfd;\n    }<\/p>\n<p>    .icon-opt {\n      height: 40px;\n      border: 1px solid var(--border);\n      background: white;\n      border-radius: 8px;\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      cursor: pointer;\n      color: var(--dark);\n      font-size: 15px;\n      transition: all 0.15s ease;\n    }<\/p>\n<p>    .icon-opt:hover {\n      border-color: var(--primary);\n      background: #edf6f9;\n      color: var(--primary);\n    }<\/p>\n<p>    .icon-opt.selected {\n      border-color: var(--primary);\n      background: var(--primary);\n      color: white;\n    }<\/p>\n<p>    .modal-footer {\n      padding: 16px 24px;\n      background: #f9fafb;\n      border-top: 1px solid var(--border);\n      display: flex;\n      align-items: center;\n      justify-content: flex-end;\n      gap: 10px;\n    }<\/p>\n<p>    \/* Confirmation Modal *\/\n    .confirm-body {\n      padding: 24px;\n      text-align: center;\n    }<\/p>\n<p>    .confirm-icon {\n      width: 60px;\n      height: 60px;\n      border-radius: 50%;\n      background: var(--danger-light);\n      color: var(--danger);\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      font-size: 26px;\n      margin: 0 auto 16px;\n    }<\/p>\n<p>    .confirm-body h4 {\n      font-size: 18px;\n      margin-bottom: 8px;\n      color: var(--dark);\n    }<\/p>\n<p>    .confirm-body p {\n      color: var(--muted);\n      font-size: 14px;\n    }<\/p>\n<p>    \/* Toast notification *\/\n    .toast-container {\n      position: fixed;\n      bottom: 24px;\n      right: 24px;\n      z-index: 2000;\n      display: flex;\n      flex-direction: column;\n      gap: 10px;\n      pointer-events: none;\n    }<\/p>\n<p>    .toast {\n      pointer-events: auto;\n      background: white;\n      color: var(--dark);\n      border-radius: 12px;\n      padding: 14px 18px;\n      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);\n      border-left: 4px solid var(--primary);\n      font-size: 14px;\n      display: flex;\n      align-items: center;\n      gap: 12px;\n      min-width: 280px;\n      max-width: 380px;\n      animation: slideInRight 0.25s ease forwards;\n    }<\/p>\n<p>    .toast.success { border-left-color: var(--success); }\n    .toast.danger { border-left-color: var(--danger); }\n    .toast.warning { border-left-color: var(--gold); }<\/p>\n<p>    .toast i {\n      font-size: 16px;\n    }<\/p>\n<p>    .toast.success i { color: var(--success); }\n    .toast.danger i { color: var(--danger); }\n    .toast.warning i { color: var(--gold-dark); }<\/p>\n<p>    \/* Empty search & CTA *\/\n    #noResults {\n      display: none;\n      text-align: center;\n      padding: 60px 20px;\n      color: var(--muted);\n      grid-column: 1 \/ -1;\n      background: white;\n      border-radius: 16px;\n      border: 1px dashed var(--border);\n    }<\/p>\n<p>    #noResults i {\n      font-size: 40px;\n      color: var(--gold);\n      margin-bottom: 12px;\n    }<\/p>\n<p>    .translation-cta {\n      margin-top: 50px;\n      padding: 40px 24px;\n      border-radius: 20px;\n      background: linear-gradient(135deg, var(--primary), var(--primary-dark));\n      text-align: center;\n      color: white;\n    }<\/p>\n<p>    .translation-cta .small-label {\n      color: var(--gold);\n      font-size: 12px;\n      font-weight: 700;\n      text-transform: uppercase;\n      letter-spacing: 1.5px;\n      margin-bottom: 8px;\n    }<\/p>\n<p>    .translation-cta h2 {\n      font-size: clamp(22px, 3.5vw, 30px);\n      margin-bottom: 10px;\n    }<\/p>\n<p>    .translation-cta p {\n      max-width: 680px;\n      margin: auto auto 20px;\n      color: #D7E5EB;\n      font-size: 14px;\n    }<\/p>\n<p>    .disclaimer {\n      max-width: 900px;\n      margin: 30px auto 0;\n      padding: 16px 20px;\n      border-left: 4px solid var(--gold);\n      background: white;\n      color: var(--muted);\n      font-size: 13px;\n      border-radius: 0 10px 10px 0;\n      box-shadow: var(--shadow-sm);\n    }<\/p>\n<p>    footer {\n      background: #082F3F;\n      color: #B8C8D0;\n      text-align: center;\n      padding: 24px 20px;\n      font-size: 13px;\n      margin-top: auto;\n    }<\/p>\n<p>    footer strong {\n      color: var(--gold);\n    }<\/p>\n<p>    @keyframes fadeIn {\n      from { opacity: 0; }\n      to { opacity: 1; }\n    }<\/p>\n<p>    @keyframes slideUp {\n      from { opacity: 0; transform: translateY(18px); }\n      to { opacity: 1; transform: translateY(0); }\n    }<\/p>\n<p>    @keyframes slideInRight {\n      from { opacity: 0; transform: translateX(30px); }\n      to { opacity: 1; transform: translateX(0); }\n    }<\/p>\n<p>    @media (max-width: 768px) {\n      .nav-container {\n        flex-direction: column;\n        height: auto;\n        padding: 12px 16px;\n        gap: 10px;\n      }<\/p>\n<p>      .tab-group {\n        width: 100%;\n        justify-content: center;\n      }<\/p>\n<p>      .tab-btn {\n        flex: 1;\n        justify-content: center;\n        padding: 7px 10px;\n        font-size: 13px;\n      }<\/p>\n<p>      .ministries-grid {\n        grid-template-columns: 1fr;\n      }<\/p>\n<p>      .top-controls {\n        flex-direction: column;\n        align-items: stretch;\n      }<\/p>\n<p>      .action-btn-group {\n        justify-content: stretch;\n      }<\/p>\n<p>      .action-btn-group .btn {\n        flex: 1;\n        justify-content: center;\n      }<\/p>\n<p>      .modal-card {\n        margin: 10px;\n      }\n    }\n  <\/style>\n<p>  <!-- =========================\n       NAVIGATION HEADER & TABS\n  ========================== --><\/p>\n<header class=\"top-nav\">\n<div class=\"nav-container\">\n      <a href=\"#\" class=\"brand-logo\"><br \/>\n        <span class=\"flag\">\ud83c\uddf0\ud83c\udded<\/span><br \/>\n        <span>Cambodia Directory Admin<\/span><br \/>\n      <\/a><\/p>\n<p>      <!-- VIEW SWITCHER TABS --><\/p>\n<nav class=\"tab-group\" role=\"tablist\">\n        <button class=\"tab-btn active\" id=\"tabDirectory\" role=\"tab\" aria-selected=\"true\"><br \/>\n          <i class=\"fa-solid fa-layer-group\"><\/i><br \/>\n          <span>Directory View<\/span><br \/>\n        <\/button><br \/>\n        <button class=\"tab-btn\" id=\"tabManager\" role=\"tab\" aria-selected=\"false\"><br \/>\n          <i class=\"fa-solid fa-list-check\"><\/i><br \/>\n          <span>Manage Departments<\/span><br \/>\n        <\/button><br \/>\n      <\/nav>\n<\/p><\/div>\n<\/header>\n<p>  <!-- =========================\n       HERO\n  ========================== --><\/p>\n<section class=\"hero\">\n<div class=\"hero-badge\">\n      <span>\ud83c\uddf0\ud83c\udded<\/span><br \/>\n      English \u2022 Khmer Government Directory &amp; Manager\n    <\/div>\n<h1>Cambodia Government Ministries<\/h1>\n<p class=\"hero-khmer khmer\">\n      \u1794\u1789\u17d2\u1787\u17b8\u1788\u17d2\u1798\u17c4\u17c7\u1780\u17d2\u179a\u179f\u17bd\u1784 \u1793\u17b7\u1784\u179f\u17d2\u1790\u17b6\u1794\u17d0\u1793\u179f\u17c6\u1781\u17b6\u1793\u17cb\u17d7\u1793\u17c5\u1780\u17d2\u1793\u17bb\u1784\u1796\u17d2\u179a\u17c7\u179a\u17b6\u1787\u17b6\u178e\u17b6\u1785\u1780\u17d2\u179a\u1780\u1798\u17d2\u1796\u17bb\u1787\u17b6\n    <\/p>\n<p class=\"hero-description\">\n      An interactive bilingual reference and administration directory. Browse ministries or easily add, edit, and organize departments in real time.\n    <\/p>\n<\/section>\n<p>  <!-- =========================\n       MAIN CONTENT\n  ========================== --><br \/>\n  <main class=\"container\"><\/p>\n<p>    <!-- SEARCH & CONTROLS --><\/p>\n<div class=\"top-controls\">\n<div class=\"search-box\">\n        <i class=\"fa-solid fa-magnifying-glass search-icon\"><\/i><br \/>\n        <input type=\"text\" id=\"searchInput\" placeholder=\"Search ministries or departments in English or \u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a...\" aria-label=\"Search ministries\"><br \/>\n        <button id=\"clearSearch\" aria-label=\"Clear search\"><br \/>\n          <i class=\"fa-solid fa-xmark\"><\/i><br \/>\n        <\/button>\n      <\/div>\n<div class=\"action-btn-group\">\n        <button class=\"btn btn-primary\" id=\"openAddModalBtn\"><br \/>\n          <i class=\"fa-solid fa-plus\"><\/i><br \/>\n          <span>Add New Department<\/span><br \/>\n        <\/button><br \/>\n        <button class=\"btn btn-secondary\" id=\"resetDataBtn\" title=\"Reset all changes back to the default list\"><br \/>\n          <i class=\"fa-solid fa-rotate-left\"><\/i><br \/>\n          <span>Reset Defaults<\/span><br \/>\n        <\/button>\n      <\/div>\n<\/p><\/div>\n<p>    <!-- DIRECTORY TAB VIEW (Default) --><\/p>\n<div id=\"directoryView\">\n<div class=\"view-header\">\n<div class=\"view-title\">\n<h2>\n            <i class=\"fa-solid fa-building-columns\" style=\"color: var(--primary);\"><\/i><br \/>\n            Institutions &amp; Ministries<br \/>\n          <\/h2>\n<p class=\"khmer\">\u1785\u17bb\u1785\u179b\u17be\u1780\u17d2\u179a\u179f\u17bd\u1784\u178a\u17be\u1798\u17d2\u1794\u17b8\u1798\u17be\u179b \u1793\u17b7\u1784\u1780\u17c2\u179f\u1798\u17d2\u179a\u17bd\u179b\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793<\/p>\n<\/p><\/div>\n<div class=\"result-badge\" id=\"statsCount\">\n          <i class=\"fa-solid fa-folder-tree\"><\/i><br \/>\n          <span id=\"statsCountText\">Loading ministries&#8230;<\/span>\n        <\/div>\n<\/p><\/div>\n<div class=\"ministries-grid\" id=\"ministriesGrid\">\n        <!-- Rendered dynamically -->\n      <\/div>\n<div id=\"noResults\">\n        <i class=\"fa-solid fa-magnifying-glass\"><\/i><\/p>\n<h3>No matching results found<\/h3>\n<p class=\"khmer\">\u179a\u1780\u1798\u17b7\u1793\u1783\u17be\u1789\u179b\u1791\u17d2\u1792\u1795\u179b\u178a\u17c2\u179b\u17a2\u17d2\u1793\u1780\u1780\u17c6\u1796\u17bb\u1784\u179f\u17d2\u179c\u17c2\u1784\u179a\u1780\u1791\u17c1\u17d4 \u179f\u17bc\u1798\u1796\u17d2\u1799\u17b6\u1799\u17b6\u1798\u179f\u17d2\u179c\u17c2\u1784\u179a\u1780\u1796\u17b6\u1780\u17d2\u1799\u1795\u17d2\u179f\u17c1\u1784\u1791\u17c0\u178f\u17d4<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<p>    <!-- MANAGEMENT TAB VIEW --><\/p>\n<div id=\"manageView\" class=\"manage-view\">\n<div class=\"view-header\">\n<div class=\"view-title\">\n<h2>\n            <i class=\"fa-solid fa-sliders\" style=\"color: var(--primary);\"><\/i><br \/>\n            Department Management Table<br \/>\n          <\/h2>\n<p class=\"khmer\">\u178f\u17b6\u179a\u17b6\u1784\u1782\u17d2\u179a\u1794\u17cb\u1782\u17d2\u179a\u1784 \u1794\u1793\u17d2\u1790\u17c2\u1798 \u1780\u17c2\u1794\u17d2\u179a\u17c2 \u1793\u17b7\u1784\u179b\u17bb\u1794\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793\u178f\u17b6\u1798\u1780\u17d2\u179a\u179f\u17bd\u1784<\/p>\n<\/p><\/div>\n<p>        <button class=\"btn btn-primary\" id=\"manageAddBtn\"><br \/>\n          <i class=\"fa-solid fa-plus\"><\/i><br \/>\n          <span>Add Department<\/span><br \/>\n        <\/button>\n      <\/div>\n<div class=\"manage-card\">\n<div class=\"filter-bar\">\n<div class=\"select-wrapper\">\n            <label for=\"ministryFilter\"><i class=\"fa-solid fa-filter\"><\/i> Filter by Ministry:<\/label><br \/>\n            <select id=\"ministryFilter\" class=\"styled-select\"><option value=\"all\">All Ministries &amp; Institutions<\/option><\/select>\n          <\/div>\n<p>          <span class=\"dept-counter-pill\" id=\"tableRecordCount\">0 departments listed<\/span>\n        <\/div>\n<div class=\"table-container\">\n<table class=\"dept-table\">\n<thead>\n<tr>\n<th style=\"width: 25%;\">Ministry \/ Institution<\/th>\n<th style=\"width: 32%;\">Department (English)<\/th>\n<th style=\"width: 30%;\">Department (\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a)<\/th>\n<th style=\"width: 13%; text-align: right;\">Actions<\/th>\n<\/tr>\n<\/thead>\n<tbody id=\"managementTableBody\">\n              <!-- Rendered via JavaScript --><br \/>\n            <\/tbody>\n<\/table><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>    <!-- CTA & DISCLAIMER --><\/p>\n<section class=\"translation-cta\">\n<div class=\"small-label\">Khmer \u2194 English Translation Reference<\/div>\n<h2>Need Official Government Document Translation?<\/h2>\n<p>\n        Clear communication begins with accurate institutional translation. We support organizations, companies, and researchers with precise Khmer and English localization.\n      <\/p>\n<p>      <a href=\"#contact\" class=\"btn btn-gold\" onclick=\"showToast('Contact channel will be integrated soon!', 'info')\"><br \/>\n        <i class=\"fa-solid fa-envelope-open-text\"><\/i><br \/>\n        <span>Request Translation Support<\/span><br \/>\n      <\/a><br \/>\n    <\/section>\n<div class=\"disclaimer\">\n      <strong>Administrative Reference Notice:<\/strong><br \/>\n      This bilingual directory serves as a practical English\u2013Khmer terminology guide. Departments and organizational structures can be updated using the integrated tools above. For official legal certificates or treaties, confirm with the corresponding official royal decrees or prakas.\n    <\/div>\n<p>  <\/main><\/p>\n<p>  <!-- =========================\n       POPUP MODAL: ADD \/ EDIT DEPARTMENT\n  ========================== --><\/p>\n<div class=\"modal-backdrop\" id=\"departmentModal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"modalTitle\">\n<div class=\"modal-card\">\n<div class=\"modal-header\">\n<h3 id=\"modalTitle\">\n          <i class=\"fa-solid fa-folder-plus\"><\/i><br \/>\n          <span>Add Department<\/span><br \/>\n        <\/h3>\n<p>        <button class=\"modal-close-btn\" id=\"closeModalBtn\" aria-label=\"Close dialog\"><br \/>\n          <i class=\"fa-solid fa-xmark\"><\/i><br \/>\n        <\/button>\n      <\/div>\n<form id=\"departmentForm\">\n<div class=\"modal-body\">\n          <input type=\"hidden\" id=\"editDeptId\" value=\"\"><\/p>\n<div class=\"form-group\">\n            <label for=\"deptMinistrySelect\"><br \/>\n              <span>Target Ministry \/ Institution<\/span><br \/>\n              <span class=\"khmer-sub\">\u1780\u17d2\u179a\u179f\u17bd\u1784 \u17ac\u179f\u17d2\u1790\u17b6\u1794\u17d0\u1793\u179f\u17b6\u1798\u17b8<\/span><br \/>\n            <\/label><br \/>\n            <select id=\"deptMinistrySelect\" class=\"form-select\" required=\"\"><br \/>\n              <!-- Filled with ministries dynamically --><br \/>\n            <\/select>\n          <\/div>\n<div class=\"form-group\">\n            <label for=\"deptNameEn\"><br \/>\n              <span>Department Name (English)<\/span><br \/>\n              <span class=\"khmer-sub\">\u1788\u17d2\u1798\u17c4\u17c7\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793\u1787\u17b6\u1797\u17b6\u179f\u17b6\u17a2\u1784\u17cb\u1782\u17d2\u179b\u17c1\u179f<\/span><br \/>\n            <\/label><br \/>\n            <input type=\"text\" id=\"deptNameEn\" class=\"form-input\" placeholder=\"e.g. Department of International Cooperation\" required=\"\">\n          <\/div>\n<div class=\"form-group\">\n            <label for=\"deptNameKh\"><br \/>\n              <span>Department Name (\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a)<\/span><br \/>\n              <span class=\"khmer-sub\">\u1788\u17d2\u1798\u17c4\u17c7\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793\u1787\u17b6\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a<\/span><br \/>\n            <\/label><br \/>\n            <input type=\"text\" id=\"deptNameKh\" class=\"form-input khmer\" placeholder=\"\u17a7\u1791\u17b6\u17a0\u179a\u178e\u17cd\u17d6 \u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793\u179f\u17a0\u1794\u17d2\u179a\u178f\u17b7\u1794\u178f\u17d2\u178f\u17b7\u1780\u17b6\u179a\u17a2\u1793\u17d2\u178f\u179a\u1787\u17b6\u178f\u17b7\" required=\"\">\n          <\/div>\n<div class=\"form-group\">\n            <label><br \/>\n              <span>Choose Icon<\/span><br \/>\n              <span class=\"khmer-sub\">\u1787\u17d2\u179a\u17be\u179f\u179a\u17be\u179f\u179a\u17bc\u1794\u178f\u17c6\u178e\u17b6\u1784<\/span><br \/>\n            <\/label><\/p>\n<div class=\"icon-picker-grid\" id=\"iconPickerGrid\">\n              <!-- Available Icons -->\n            <\/div>\n<p>            <input type=\"hidden\" id=\"deptIcon\" value=\"fa-sitemap\">\n          <\/div>\n<\/p><\/div>\n<div class=\"modal-footer\">\n          <button type=\"button\" class=\"btn btn-secondary\" id=\"cancelModalBtn\">Cancel<\/button><br \/>\n          <button type=\"submit\" class=\"btn btn-primary\" id=\"saveDeptBtn\"><br \/>\n            <i class=\"fa-solid fa-check\"><\/i><br \/>\n            <span>Save Department<\/span><br \/>\n          <\/button>\n        <\/div>\n<\/p><\/form>\n<\/p><\/div>\n<\/p><\/div>\n<p>  <!-- =========================\n       CONFIRMATION MODAL: DELETE\n  ========================== --><\/p>\n<div class=\"modal-backdrop\" id=\"deleteConfirmModal\" role=\"dialog\" aria-modal=\"true\">\n<div class=\"modal-card\" style=\"max-width: 440px;\">\n<div class=\"confirm-body\">\n<div class=\"confirm-icon\">\n          <i class=\"fa-solid fa-trash-can\"><\/i>\n        <\/div>\n<h4>Delete Department?<\/h4>\n<p id=\"deleteDeptMessage\">Are you sure you want to remove this department? This action can be reversed via the Reset Defaults button.<\/p>\n<\/p><\/div>\n<div class=\"modal-footer\" style=\"justify-content: center;\">\n        <button type=\"button\" class=\"btn btn-secondary\" id=\"cancelDeleteBtn\">Cancel<\/button><br \/>\n        <button type=\"button\" class=\"btn btn-primary\" id=\"confirmDeleteBtn\" style=\"background: var(--danger);\"><br \/>\n          <i class=\"fa-solid fa-trash\"><\/i><br \/>\n          <span>Yes, Delete<\/span><br \/>\n        <\/button>\n      <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>  <!-- =========================\n       TOAST CONTAINER\n  ========================== --><\/p>\n<div class=\"toast-container\" id=\"toastContainer\" aria-live=\"polite\"><\/div>\n<p>  <!-- =========================\n       FOOTER\n  ========================== --><\/p>\n<footer>\n<p>\u00a9 2026 <strong>Bridge the Language Gap &amp; Trust Mr. V<\/strong> | Cambodia Government Bilingual Portal<\/p>\n<p class=\"khmer\" style=\"margin-top: 5px;\">\u179f\u17c1\u179c\u17b6\u1794\u1780\u1794\u17d2\u179a\u17c2 \u1793\u17b7\u1784\u1794\u1780\u179f\u17d2\u179a\u17b6\u1799\u1797\u17b6\u179f\u17b6\u1781\u17d2\u1798\u17c2\u179a \u1793\u17b7\u1784\u17a2\u1784\u17cb\u1782\u17d2\u179b\u17c1\u179f\u1794\u17d2\u179a\u1780\u1794\u178a\u17c4\u1799\u179c\u17b7\u1787\u17d2\u1787\u17b6\u1787\u17b8\u179c\u17c8<\/p>\n<\/footer>\n<p>  <!-- =========================\n       APPLICATION LOGIC\n  ========================== --><br \/>\n  <script>\n    \/\/ Initial master data from provided markup\n    const INITIAL_DATA = [\n      {\n        id: \"m01\",\n        num: \"01\",\n        type: \"Government Institution\",\n        nameEn: \"Office of the Council of Ministers\",\n        nameKh: \"\u1791\u17b8\u179f\u17d2\u178f\u17b8\u1780\u17b6\u179a\u1782\u178e\u17c8\u179a\u178a\u17d2\u178b\u1798\u1793\u17d2\u178f\u17d2\u179a\u17b8\",\n        icon: \"fa-building-columns\",\n        sectionTitleEn: \"Key Administrative Departments\",\n        sectionTitleKh: \"\u17a2\u1784\u17d2\u1782\u1797\u17b6\u1796 \u1793\u17b7\u1784\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793\u179f\u17c6\u1781\u17b6\u1793\u17cb\u17d7\",\n        departments: [\n          { id: \"d-01-1\", nameEn: \"Administrative and Documentation Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179a\u178a\u17d2\u178b\u1794\u17b6\u179b \u1793\u17b7\u1784\u17af\u1780\u179f\u17b6\u179a\", icon: \"fa-file-lines\" },\n          { id: \"d-01-2\", nameEn: \"Legal and Policy Coordination Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179f\u1798\u17d2\u179a\u1794\u179f\u1798\u17d2\u179a\u17bd\u179b\u1795\u17d2\u1793\u17c2\u1780\u1785\u17d2\u1794\u17b6\u1794\u17cb \u1793\u17b7\u1784\u1782\u17c4\u179b\u1793\u1799\u17c4\u1794\u17b6\u1799\", icon: \"fa-scale-balanced\" }\n        ]\n      },\n      {\n        id: \"m02\",\n        num: \"02\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Interior\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1798\u17a0\u17b6\u1795\u17d2\u1791\u17c3\",\n        icon: \"fa-shield-halved\",\n        sectionTitleEn: \"Key Departments\",\n        sectionTitleKh: \"\u17a2\u1782\u17d2\u1782\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793 \u1793\u17b7\u1784\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793\u179f\u17c6\u1781\u17b6\u1793\u17cb\u17d7\",\n        departments: [\n          { id: \"d-02-1\", nameEn: \"General Department of Administration\", nameKh: \"\u17a2\u1782\u17d2\u1782\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793\u179a\u178a\u17d2\u178b\u1794\u17b6\u179b\", icon: \"fa-users\" },\n          { id: \"d-02-2\", nameEn: \"General Department of National Police\", nameKh: \"\u17a2\u1782\u17d2\u1782\u179f\u17d2\u1793\u1784\u1780\u17b6\u179a\u178a\u17d2\u178b\u17b6\u1793\u1793\u1782\u179a\u1794\u17b6\u179b\u1787\u17b6\u178f\u17b7\", icon: \"fa-user-shield\" },\n          { id: \"d-02-3\", nameEn: \"Local Administration and Decentralization Services\", nameKh: \"\u17a2\u1784\u17d2\u1782\u1797\u17b6\u1796\u1782\u17d2\u179a\u1794\u17cb\u1782\u17d2\u179a\u1784\u179a\u178a\u17d2\u178b\u1794\u17b6\u179b\u1798\u17bc\u179b\u178a\u17d2\u178b\u17b6\u1793 \u1793\u17b7\u1784\u179c\u17b7\u1798\u1787\u17d2\u1788\u1780\u17b6\u179a\", icon: \"fa-landmark\" }\n        ]\n      },\n      {\n        id: \"m03\",\n        num: \"03\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Foreign Affairs and International Cooperation\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1780\u17b6\u179a\u1794\u179a\u1791\u17c1\u179f \u1793\u17b7\u1784\u179f\u17a0\u1794\u17d2\u179a\u178f\u17b7\u1794\u178f\u17d2\u178f\u17b7\u1780\u17b6\u179a\u17a2\u1793\u17d2\u178f\u179a\u1787\u17b6\u178f\u17b7\",\n        icon: \"fa-globe\",\n        sectionTitleEn: \"Diplomatic Services\",\n        sectionTitleKh: \"\u17a2\u1784\u17d2\u1782\u1797\u17b6\u1796\u1780\u17b6\u179a\u1791\u17bc\u178f \u1793\u17b7\u1784\u179f\u17a0\u1794\u17d2\u179a\u178f\u17b7\u1794\u178f\u17d2\u178f\u17b7\u1780\u17b6\u179a\",\n        departments: [\n          { id: \"d-03-1\", nameEn: \"International Cooperation Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179f\u17a0\u1794\u17d2\u179a\u178f\u17b7\u1794\u178f\u17d2\u178f\u17b7\u1780\u17b6\u179a\u17a2\u1793\u17d2\u178f\u179a\u1787\u17b6\u178f\u17b7\", icon: \"fa-handshake\" },\n          { id: \"d-03-2\", nameEn: \"Consular Affairs Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1780\u17b7\u1785\u17d2\u1785\u1780\u17b6\u179a\u1780\u17bb\u1784\u179f\u17ca\u17bb\u179b\", icon: \"fa-passport\" }\n        ]\n      },\n      {\n        id: \"m04\",\n        num: \"04\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Economy and Finance\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u179f\u17c1\u178a\u17d2\u178b\u1780\u17b7\u1785\u17d2\u1785 \u1793\u17b7\u1784\u17a0\u17b7\u179a\u1789\u17d2\u1789\u179c\u178f\u17d2\u1790\u17bb\",\n        icon: \"fa-landmark\",\n        sectionTitleEn: \"Key Financial Areas\",\n        sectionTitleKh: \"\u17a2\u1784\u17d2\u1782\u1797\u17b6\u1796 \u1793\u17b7\u1784\u1795\u17d2\u1793\u17c2\u1780\u17a0\u17b7\u179a\u1789\u17d2\u1789\u179c\u178f\u17d2\u1790\u17bb\u179f\u17c6\u1781\u17b6\u1793\u17cb\u17d7\",\n        departments: [\n          { id: \"d-04-1\", nameEn: \"Budget and Financial Management\", nameKh: \"\u1780\u17b6\u179a\u1782\u17d2\u179a\u1794\u17cb\u1782\u17d2\u179a\u1784\u1790\u179c\u17b7\u1780\u17b6 \u1793\u17b7\u1784\u17a0\u17b7\u179a\u1789\u17d2\u1789\u179c\u178f\u17d2\u1790\u17bb\", icon: \"fa-chart-line\" },\n          { id: \"d-04-2\", nameEn: \"Revenue and Public Finance Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1785\u17c6\u178e\u17bc\u179b \u1793\u17b7\u1784\u17a0\u17b7\u179a\u1789\u17d2\u1789\u179c\u178f\u17d2\u1790\u17bb\u179f\u17b6\u1792\u17b6\u179a\u178e\u17c8\", icon: \"fa-money-bill\" },\n          { id: \"d-04-3\", nameEn: \"Public Property and State Asset Management\", nameKh: \"\u1780\u17b6\u179a\u1782\u17d2\u179a\u1794\u17cb\u1782\u17d2\u179a\u1784\u1791\u17d2\u179a\u1796\u17d2\u1799\u179f\u1798\u17d2\u1794\u178f\u17d2\u178f\u17b7\u179f\u17b6\u1792\u17b6\u179a\u178e\u17c8\u179a\u1794\u179f\u17cb\u179a\u178a\u17d2\u178b\", icon: \"fa-building\" }\n        ]\n      },\n      {\n        id: \"m05\",\n        num: \"05\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Agriculture, Forestry and Fisheries\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1780\u179f\u17b7\u1780\u1798\u17d2\u1798 \u179a\u17bb\u1780\u17d2\u1781\u17b6\u1794\u17d2\u179a\u1798\u17b6\u1789\u17cb \u1793\u17b7\u1784\u1793\u17c1\u179f\u17b6\u1791\",\n        icon: \"fa-wheat-awn\",\n        sectionTitleEn: \"Agricultural Sectors\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799 \u1793\u17b7\u1784\u17a2\u1784\u17d2\u1782\u1797\u17b6\u1796\u1780\u179f\u17b7\u1780\u1798\u17d2\u1798\u179f\u17c6\u1781\u17b6\u1793\u17cb\u17d7\",\n        departments: [\n          { id: \"d-05-1\", nameEn: \"Department of Agriculture\", nameKh: \"\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793\u1780\u179f\u17b7\u1780\u1798\u17d2\u1798\", icon: \"fa-seedling\" },\n          { id: \"d-05-2\", nameEn: \"Forestry Administration\", nameKh: \"\u179a\u178a\u17d2\u178b\u1794\u17b6\u179b\u1796\u17d2\u179a\u17c3\u1788\u17be\", icon: \"fa-tree\" },\n          { id: \"d-05-3\", nameEn: \"Fisheries Administration\", nameKh: \"\u179a\u178a\u17d2\u178b\u1794\u17b6\u179b\u1787\u179b\u1795\u179b\", icon: \"fa-fish\" }\n        ]\n      },\n      {\n        id: \"m06\",\n        num: \"06\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Rural Development\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u17a2\u1797\u17b7\u179c\u178c\u17d2\u178d\u1793\u17cd\u1787\u1793\u1794\u1791\",\n        icon: \"fa-road\",\n        sectionTitleEn: \"Rural Development Areas\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u17a2\u1797\u17b7\u179c\u178c\u17d2\u178d\u1793\u17cd\u1787\u1793\u1794\u1791\",\n        departments: [\n          { id: \"d-06-1\", nameEn: \"Rural Infrastructure and Roads\", nameKh: \"\u17a0\u17c1\u178a\u17d2\u178b\u17b6\u179a\u1785\u1793\u17b6\u179f\u1798\u17d2\u1796\u17d0\u1793\u17d2\u1792 \u1793\u17b7\u1784\u1795\u17d2\u179b\u17bc\u179c\u1787\u1793\u1794\u1791\", icon: \"fa-road\" },\n          { id: \"d-06-2\", nameEn: \"Rural Water Supply and Sanitation\", nameKh: \"\u1780\u17b6\u179a\u1795\u17d2\u1782\u178f\u17cb\u1795\u17d2\u1782\u1784\u17cb\u1791\u17b9\u1780\u179f\u17d2\u17a2\u17b6\u178f \u1793\u17b7\u1784\u17a2\u1793\u17b6\u1798\u17d0\u1799\u1787\u1793\u1794\u1791\", icon: \"fa-droplet\" }\n        ]\n      },\n      {\n        id: \"m07\",\n        num: \"07\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Commerce\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1796\u17b6\u178e\u17b7\u1787\u17d2\u1787\u1780\u1798\u17d2\u1798\",\n        icon: \"fa-store\",\n        sectionTitleEn: \"Commerce Services\",\n        sectionTitleKh: \"\u17a2\u1784\u17d2\u1782\u1797\u17b6\u1796 \u1793\u17b7\u1784\u179f\u17c1\u179c\u17b6\u1796\u17b6\u178e\u17b7\u1787\u17d2\u1787\u1780\u1798\u17d2\u1798\",\n        departments: [\n          { id: \"d-07-1\", nameEn: \"International Trade Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1796\u17b6\u178e\u17b7\u1787\u17d2\u1787\u1780\u1798\u17d2\u1798\u17a2\u1793\u17d2\u178f\u179a\u1787\u17b6\u178f\u17b7\", icon: \"fa-globe\" },\n          { id: \"d-07-2\", nameEn: \"Intellectual Property Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1780\u1798\u17d2\u1798\u179f\u17b7\u1791\u17d2\u1792\u17b7\u1794\u1789\u17d2\u1789\u17b6\", icon: \"fa-copyright\" }\n        ]\n      },\n      {\n        id: \"m08\",\n        num: \"08\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Industry, Science, Technology and Innovation\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u17a7\u179f\u17d2\u179f\u17b6\u17a0\u1780\u1798\u17d2\u1798 \u179c\u17b7\u1791\u17d2\u1799\u17b6\u179f\u17b6\u179f\u17d2\u178f\u17d2\u179a \u1794\u1785\u17d2\u1785\u17c1\u1780\u179c\u17b7\u1791\u17d2\u1799\u17b6 \u1793\u17b7\u1784\u1793\u179c\u17b6\u1793\u17bb\u179c\u178f\u17d2\u178f\u1793\u17cd\",\n        icon: \"fa-industry\",\n        sectionTitleEn: \"Industry & Innovation\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u17a7\u179f\u17d2\u179f\u17b6\u17a0\u1780\u1798\u17d2\u1798 \u1793\u17b7\u1784\u1793\u179c\u17b6\u1793\u17bb\u179c\u178f\u17d2\u178f\u1793\u17cd\",\n        departments: [\n          { id: \"d-08-1\", nameEn: \"Industrial Development Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a2\u1797\u17b7\u179c\u178c\u17d2\u178d\u1793\u17cd\u17a7\u179f\u17d2\u179f\u17b6\u17a0\u1780\u1798\u17d2\u1798\", icon: \"fa-industry\" },\n          { id: \"d-08-2\", nameEn: \"Science, Technology and Innovation Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179c\u17b7\u1791\u17d2\u1799\u17b6\u179f\u17b6\u179f\u17d2\u178f\u17d2\u179a \u1794\u1785\u17d2\u1785\u17c1\u1780\u179c\u17b7\u1791\u17d2\u1799\u17b6 \u1793\u17b7\u1784\u1793\u179c\u17b6\u1793\u17bb\u179c\u178f\u17d2\u178f\u1793\u17cd\", icon: \"fa-microchip\" }\n        ]\n      },\n      {\n        id: \"m09\",\n        num: \"09\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Mines and Energy\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u179a\u17c9\u17c2 \u1793\u17b7\u1784\u1790\u17b6\u1798\u1796\u179b\",\n        icon: \"fa-gem\",\n        sectionTitleEn: \"Key Sectors\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u179f\u17c6\u1781\u17b6\u1793\u17cb\u17d7\",\n        departments: [\n          { id: \"d-09-1\", nameEn: \"Mining and Mineral Resources\", nameKh: \"\u179c\u17b7\u179f\u17d0\u1799\u179a\u17c9\u17c2 \u1793\u17b7\u1784\u1792\u1793\u1792\u17b6\u1793\u179a\u17c9\u17c2\", icon: \"fa-gem\" },\n          { id: \"d-09-2\", nameEn: \"Energy and Electricity Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1790\u17b6\u1798\u1796\u179b \u1793\u17b7\u1784\u17a2\u1782\u17d2\u1782\u17b7\u179f\u1793\u17b8\", icon: \"fa-bolt\" }\n        ]\n      },\n      {\n        id: \"m10\",\n        num: \"10\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Planning\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1795\u17c2\u1793\u1780\u17b6\u179a\",\n        icon: \"fa-chart-line\",\n        sectionTitleEn: \"Planning Services\",\n        sectionTitleKh: \"\u179f\u17c1\u179c\u17b6\u1795\u17c2\u1793\u1780\u17b6\u179a \u1793\u17b7\u1784\u179f\u17d2\u1790\u17b7\u178f\u17b7\",\n        departments: [\n          { id: \"d-10-1\", nameEn: \"National Planning Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1795\u17c2\u1793\u1780\u17b6\u179a\u1787\u17b6\u178f\u17b7\", icon: \"fa-chart-pie\" },\n          { id: \"d-10-2\", nameEn: \"Statistics and Data Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179f\u17d2\u1790\u17b7\u178f\u17b7 \u1793\u17b7\u1784\u1791\u17b7\u1793\u17d2\u1793\u1793\u17d0\u1799\", icon: \"fa-chart-column\" }\n        ]\n      },\n      {\n        id: \"m11\",\n        num: \"11\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Education, Youth and Sport\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u17a2\u1794\u17cb\u179a\u17c6 \u1799\u17bb\u179c\u1787\u1793 \u1793\u17b7\u1784\u1780\u17b8\u17a1\u17b6\",\n        icon: \"fa-graduation-cap\",\n        sectionTitleEn: \"Education Sectors\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u17a2\u1794\u17cb\u179a\u17c6 \u1799\u17bb\u179c\u1787\u1793 \u1793\u17b7\u1784\u1780\u17b8\u17a1\u17b6\",\n        departments: [\n          { id: \"d-11-1\", nameEn: \"General Education Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a2\u1794\u17cb\u179a\u17c6\u1791\u17bc\u1791\u17c5\", icon: \"fa-school\" },\n          { id: \"d-11-2\", nameEn: \"Higher Education Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a7\u178f\u17d2\u178f\u1798\u179f\u17b7\u1780\u17d2\u179f\u17b6\", icon: \"fa-user-graduate\" },\n          { id: \"d-11-3\", nameEn: \"Youth and Sport Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1799\u17bb\u179c\u1787\u1793 \u1793\u17b7\u1784\u1780\u17b8\u17a1\u17b6\", icon: \"fa-person-running\" }\n        ]\n      },\n      {\n        id: \"m12\",\n        num: \"12\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Social Affairs, Veterans and Youth Rehabilitation\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u179f\u1784\u17d2\u1782\u1798\u1780\u17b7\u1785\u17d2\u1785 \u17a2\u178f\u17b8\u178f\u1799\u17bb\u1791\u17d2\u1792\u1787\u1793 \u1793\u17b7\u1784\u1799\u17bb\u179c\u1793\u17b8\u178f\u17b7\u179f\u1798\u17d2\u1794\u1791\u17b6\",\n        icon: \"fa-people-group\",\n        sectionTitleEn: \"Social Protection\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1780\u17b7\u1785\u17d2\u1785\u1780\u17b6\u179a\u179f\u1784\u17d2\u1782\u1798\",\n        departments: [\n          { id: \"d-12-1\", nameEn: \"Social Welfare Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179f\u17bb\u1781\u17bb\u1798\u17b6\u179b\u1797\u17b6\u1796\u179f\u1784\u17d2\u1782\u1798\", icon: \"fa-hand-holding-heart\" },\n          { id: \"d-12-2\", nameEn: \"Veterans Affairs Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1780\u17b7\u1785\u17d2\u1785\u1780\u17b6\u179a\u17a2\u178f\u17b8\u178f\u1799\u17bb\u1791\u17d2\u1792\u1787\u1793\", icon: \"fa-person-military-pointing\" }\n        ]\n      },\n      {\n        id: \"m13\",\n        num: \"13\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Land Management, Urban Planning and Construction\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u179a\u17c0\u1794\u1785\u17c6\u178a\u17c2\u1793\u178a\u17b8 \u1793\u1782\u179a\u17bc\u1794\u1793\u17b8\u1799\u1780\u1798\u17d2\u1798 \u1793\u17b7\u1784\u179f\u17c6\u178e\u1784\u17cb\",\n        icon: \"fa-city\",\n        sectionTitleEn: \"Land & Construction\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u178a\u17c2\u1793\u178a\u17b8 \u1793\u17b7\u1784\u179f\u17c6\u178e\u1784\u17cb\",\n        departments: [\n          { id: \"d-13-1\", nameEn: \"Land Management and Cadastre Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1782\u17d2\u179a\u1794\u17cb\u1782\u17d2\u179a\u1784\u178a\u17c2\u1793\u178a\u17b8 \u1793\u17b7\u1784\u179f\u17bb\u179a\u17b7\u1799\u17c4\u178a\u17b8\", icon: \"fa-map\" },\n          { id: \"d-13-2\", nameEn: \"Construction and Urban Planning Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179f\u17c6\u178e\u1784\u17cb \u1793\u17b7\u1784\u1793\u1782\u179a\u17bc\u1794\u1793\u17b8\u1799\u1780\u1798\u17d2\u1798\", icon: \"fa-building\" }\n        ]\n      },\n      {\n        id: \"m14\",\n        num: \"14\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Environment\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1794\u179a\u17b7\u179f\u17d2\u1790\u17b6\u1793\",\n        icon: \"fa-leaf\",\n        sectionTitleEn: \"Environmental Services\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1794\u179a\u17b7\u179f\u17d2\u1790\u17b6\u1793\",\n        departments: [\n          { id: \"d-14-1\", nameEn: \"Environmental Conservation Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a2\u1797\u17b7\u179a\u1780\u17d2\u179f\u1794\u179a\u17b7\u179f\u17d2\u1790\u17b6\u1793\", icon: \"fa-tree\" },\n          { id: \"d-14-2\", nameEn: \"Environmental Protection and Sustainability\", nameKh: \"\u1780\u17b6\u179a\u1780\u17b6\u179a\u1796\u17b6\u179a\u1794\u179a\u17b7\u179f\u17d2\u1790\u17b6\u1793 \u1793\u17b7\u1784\u1793\u17b7\u179a\u1793\u17d2\u178f\u179a\u1797\u17b6\u1796\", icon: \"fa-recycle\" }\n        ]\n      },\n      {\n        id: \"m15\",\n        num: \"15\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Water Resources and Meteorology\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1792\u1793\u1792\u17b6\u1793\u1791\u17b9\u1780 \u1793\u17b7\u1784\u17a7\u178f\u17bb\u1793\u17b7\u1799\u1798\",\n        icon: \"fa-droplet\",\n        sectionTitleEn: \"Water & Climate\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1792\u1793\u1792\u17b6\u1793\u1791\u17b9\u1780 \u1793\u17b7\u1784\u17a7\u178f\u17bb\u1793\u17b7\u1799\u1798\",\n        departments: [\n          { id: \"d-15-1\", nameEn: \"Water Resources Management\", nameKh: \"\u1780\u17b6\u179a\u1782\u17d2\u179a\u1794\u17cb\u1782\u17d2\u179a\u1784\u1792\u1793\u1792\u17b6\u1793\u1791\u17b9\u1780\", icon: \"fa-water\" },\n          { id: \"d-15-2\", nameEn: \"Meteorology Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a7\u178f\u17bb\u1793\u17b7\u1799\u1798\", icon: \"fa-cloud-sun\" }\n        ]\n      },\n      {\n        id: \"m16\",\n        num: \"16\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Information\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1796\u17d0\u178f\u17cc\u1798\u17b6\u1793\",\n        icon: \"fa-newspaper\",\n        sectionTitleEn: \"Information & Media\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1796\u17d0\u178f\u17cc\u1798\u17b6\u1793 \u1793\u17b7\u1784\u179f\u17b6\u179a\u1796\u17d0\u178f\u17cc\u1798\u17b6\u1793\",\n        departments: [\n          { id: \"d-16-1\", nameEn: \"Broadcasting and Media Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1795\u17d2\u179f\u1796\u17d2\u179c\u1795\u17d2\u179f\u17b6\u1799 \u1793\u17b7\u1784\u179f\u17b6\u179a\u1796\u17d0\u178f\u17cc\u1798\u17b6\u1793\", icon: \"fa-tv\" },\n          { id: \"d-16-2\", nameEn: \"Public Information Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1796\u17d0\u178f\u17cc\u1798\u17b6\u1793\u179f\u17b6\u1792\u17b6\u179a\u178e\u17c8\", icon: \"fa-bullhorn\" }\n        ]\n      },\n      {\n        id: \"m17\",\n        num: \"17\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Justice\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1799\u17bb\u178f\u17d2\u178f\u17b7\u1792\u1798\u17cc\",\n        icon: \"fa-scale-balanced\",\n        sectionTitleEn: \"Justice Services\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1799\u17bb\u178f\u17d2\u178f\u17b7\u1792\u1798\u17cc\",\n        departments: [\n          { id: \"d-17-1\", nameEn: \"Legal Affairs Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1780\u17b7\u1785\u17d2\u1785\u1780\u17b6\u179a\u1785\u17d2\u1794\u17b6\u1794\u17cb\", icon: \"fa-gavel\" },\n          { id: \"d-17-2\", nameEn: \"Judicial Administration Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179a\u178a\u17d2\u178b\u1794\u17b6\u179b\u178f\u17bb\u179b\u17b6\u1780\u17b6\u179a\", icon: \"fa-scale-balanced\" }\n        ]\n      },\n      {\n        id: \"m18\",\n        num: \"18\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Post and Telecommunications\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1794\u17d2\u179a\u17c3\u179f\u178e\u17b8\u1799\u17cd \u1793\u17b7\u1784\u1791\u17bc\u179a\u1782\u1798\u1793\u17b6\u1782\u1798\u1793\u17cd\",\n        icon: \"fa-envelope\",\n        sectionTitleEn: \"Digital & Communication\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1794\u17d2\u179a\u17c3\u179f\u178e\u17b8\u1799\u17cd \u1793\u17b7\u1784\u1791\u17bc\u179a\u1782\u1798\u1793\u17b6\u1782\u1798\u1793\u17cd\",\n        departments: [\n          { id: \"d-18-1\", nameEn: \"Postal Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1794\u17d2\u179a\u17c3\u179f\u178e\u17b8\u1799\u17cd\", icon: \"fa-envelope\" },\n          { id: \"d-18-2\", nameEn: \"Telecommunications and Digital Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1791\u17bc\u179a\u1782\u1798\u1793\u17b6\u1782\u1798\u1793\u17cd \u1793\u17b7\u1784\u178c\u17b8\u1787\u17b8\u1790\u179b\", icon: \"fa-tower-cell\" }\n        ]\n      },\n      {\n        id: \"m19\",\n        num: \"19\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Health\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u179f\u17bb\u1781\u17b6\u1797\u17b7\u1794\u17b6\u179b\",\n        icon: \"fa-heart-pulse\",\n        sectionTitleEn: \"Health Sectors\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u179f\u17bb\u1781\u17b6\u1797\u17b7\u1794\u17b6\u179b\",\n        departments: [\n          { id: \"d-19-1\", nameEn: \"Health Care Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1790\u17c2\u1791\u17b6\u17c6\u179f\u17bb\u1781\u1797\u17b6\u1796\", icon: \"fa-hospital\" },\n          { id: \"d-19-2\", nameEn: \"Public Health Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179f\u17bb\u1781\u1797\u17b6\u1796\u179f\u17b6\u1792\u17b6\u179a\u178e\u17c8\", icon: \"fa-shield-heart\" },\n          { id: \"d-19-3\", nameEn: \"Pharmaceutical and Medical Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17b1\u179f\u1790 \u1793\u17b7\u1784\u179c\u17c1\u1787\u17d2\u1787\u179f\u17b6\u179f\u17d2\u178f\u17d2\u179a\", icon: \"fa-pills\" }\n        ]\n      },\n      {\n        id: \"m20\",\n        num: \"20\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Public Works and Transport\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u179f\u17b6\u1792\u17b6\u179a\u178e\u1780\u17b6\u179a \u1793\u17b7\u1784\u178a\u17b9\u1780\u1787\u1789\u17d2\u1787\u17bc\u1793\",\n        icon: \"fa-truck\",\n        sectionTitleEn: \"Infrastructure & Transport\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u179f\u17b6\u1792\u17b6\u179a\u178e\u1780\u17b6\u179a \u1793\u17b7\u1784\u178a\u17b9\u1780\u1787\u1789\u17d2\u1787\u17bc\u1793\",\n        departments: [\n          { id: \"d-20-1\", nameEn: \"Road and Public Infrastructure Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1795\u17d2\u179b\u17bc\u179c\u1790\u17d2\u1793\u179b\u17cb \u1793\u17b7\u1784\u17a0\u17c1\u178a\u17d2\u178b\u17b6\u179a\u1785\u1793\u17b6\u179f\u1798\u17d2\u1796\u17d0\u1793\u17d2\u1792\u179f\u17b6\u1792\u17b6\u179a\u178e\u17c8\", icon: \"fa-road\" },\n          { id: \"d-20-2\", nameEn: \"Transport Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u178a\u17b9\u1780\u1787\u1789\u17d2\u1787\u17bc\u1793\", icon: \"fa-bus\" }\n        ]\n      },\n      {\n        id: \"m21\",\n        num: \"21\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Culture and Fine Arts\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u179c\u1794\u17d2\u1794\u1792\u1798\u17cc \u1793\u17b7\u1784\u179c\u17b7\u1785\u17b7\u178f\u17d2\u179a\u179f\u17b7\u179b\u17d2\u1794\u17c8\",\n        icon: \"fa-palette\",\n        sectionTitleEn: \"Culture & Heritage\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u179c\u1794\u17d2\u1794\u1792\u1798\u17cc \u1793\u17b7\u1784\u1794\u17c1\u178f\u17b7\u1780\u1797\u178e\u17d2\u178c\",\n        departments: [\n          { id: \"d-21-1\", nameEn: \"Cultural Heritage Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1794\u17c1\u178f\u17b7\u1780\u1797\u178e\u17d2\u178c\u179c\u1794\u17d2\u1794\u1792\u1798\u17cc\", icon: \"fa-landmark\" },\n          { id: \"d-21-2\", nameEn: \"Fine Arts and Cultural Development\", nameKh: \"\u1780\u17b6\u179a\u17a2\u1797\u17b7\u179c\u178c\u17d2\u178d\u179c\u17b7\u1785\u17b7\u178f\u17d2\u179a\u179f\u17b7\u179b\u17d2\u1794\u17c8 \u1793\u17b7\u1784\u179c\u1794\u17d2\u1794\u1792\u1798\u17cc\", icon: \"fa-masks-theater\" }\n        ]\n      },\n      {\n        id: \"m22\",\n        num: \"22\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Tourism\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1791\u17c1\u179f\u1785\u179a\u178e\u17cd\",\n        icon: \"fa-plane\",\n        sectionTitleEn: \"Tourism Services\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1791\u17c1\u179f\u1785\u179a\u178e\u17cd\",\n        departments: [\n          { id: \"d-22-1\", nameEn: \"Tourism Development Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a2\u1797\u17b7\u179c\u178c\u17d2\u178d\u1793\u17cd\u1791\u17c1\u179f\u1785\u179a\u178e\u17cd\", icon: \"fa-map-location-dot\" },\n          { id: \"d-22-2\", nameEn: \"Tourism Industry and Hospitality Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a7\u179f\u17d2\u179f\u17b6\u17a0\u1780\u1798\u17d2\u1798\u1791\u17c1\u179f\u1785\u179a\u178e\u17cd \u1793\u17b7\u1784\u1794\u178a\u17b7\u179f\u178e\u17d2\u178b\u17b6\u179a\u1780\u17b7\u1785\u17d2\u1785\", icon: \"fa-hotel\" }\n        ]\n      },\n      {\n        id: \"m23\",\n        num: \"23\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Cults and Religion\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1792\u1798\u17d2\u1798\u1780\u17b6\u179a \u1793\u17b7\u1784\u179f\u17b6\u179f\u1793\u17b6\",\n        icon: \"fa-hands-praying\",\n        sectionTitleEn: \"Religious Affairs\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1792\u1798\u17d2\u1798\u1780\u17b6\u179a \u1793\u17b7\u1784\u179f\u17b6\u179f\u1793\u17b6\",\n        departments: [\n          { id: \"d-23-1\", nameEn: \"Religious Affairs Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1780\u17b7\u1785\u17d2\u1785\u1780\u17b6\u179a\u179f\u17b6\u179f\u1793\u17b6\", icon: \"fa-place-of-worship\" },\n          { id: \"d-23-2\", nameEn: \"Cultural and Religious Education Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a2\u1794\u17cb\u179a\u17c6\u179c\u1794\u17d2\u1794\u1792\u1798\u17cc \u1793\u17b7\u1784\u179f\u17b6\u179f\u1793\u17b6\", icon: \"fa-book-open\" }\n        ]\n      },\n      {\n        id: \"m24\",\n        num: \"24\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Women's Affairs\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1780\u17b7\u1785\u17d2\u1785\u1780\u17b6\u179a\u1793\u17b6\u179a\u17b8\",\n        icon: \"fa-person-dress\",\n        sectionTitleEn: \"Women's Affairs\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1780\u17b7\u1785\u17d2\u1785\u1780\u17b6\u179a\u1793\u17b6\u179a\u17b8\",\n        departments: [\n          { id: \"d-24-1\", nameEn: \"Gender Equality and Women's Development Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179f\u1798\u1797\u17b6\u1796\u1799\u17c1\u1793\u178c\u17d0\u179a \u1793\u17b7\u1784\u1780\u17b6\u179a\u17a2\u1797\u17b7\u179c\u178c\u17d2\u178d\u179f\u17d2\u178f\u17d2\u179a\u17b8\", icon: \"fa-people-group\" },\n          { id: \"d-24-2\", nameEn: \"Women's Protection and Empowerment Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1780\u17b6\u179a\u1796\u17b6\u179a \u1793\u17b7\u1784\u1796\u1784\u17d2\u179a\u17b9\u1784\u179f\u1798\u178f\u17d2\u1790\u1797\u17b6\u1796\u179f\u17d2\u178f\u17d2\u179a\u17b8\", icon: \"fa-shield-heart\" }\n        ]\n      },\n      {\n        id: \"m25\",\n        num: \"25\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Labour and Vocational Training\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1780\u17b6\u179a\u1784\u17b6\u179a \u1793\u17b7\u1784\u1794\u178e\u17d2\u178a\u17bb\u17c7\u1794\u178e\u17d2\u178a\u17b6\u179b\u179c\u17b7\u1787\u17d2\u1787\u17b6\u1787\u17b8\u179c\u17c8\",\n        icon: \"fa-briefcase\",\n        sectionTitleEn: \"Labour & Skills\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1780\u17b6\u179a\u1784\u17b6\u179a \u1793\u17b7\u1784\u1794\u178e\u17d2\u178f\u17bb\u17c7\u1794\u178e\u17d2\u178f\u17b6\u179b\u179c\u17b7\u1787\u17d2\u1787\u17b6\u1787\u17b8\u179c\u17c8\",\n        departments: [\n          { id: \"d-25-1\", nameEn: \"Labour and Employment Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1780\u17b6\u179a\u1784\u17b6\u179a \u1793\u17b7\u1784\u1798\u17bb\u1781\u179a\u1794\u179a\", icon: \"fa-briefcase\" },\n          { id: \"d-25-2\", nameEn: \"Technical and Vocational Training Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1794\u178e\u17d2\u178f\u17bb\u17c7\u1794\u178e\u17d2\u178f\u17b6\u179b\u1794\u1785\u17d2\u1785\u17c1\u1780\u1791\u17c1\u179f \u1793\u17b7\u1784\u179c\u17b7\u1787\u17d2\u1787\u17b6\u1787\u17b8\u179c\u17c8\", icon: \"fa-screwdriver-wrench\" }\n        ]\n      },\n      {\n        id: \"m26\",\n        num: \"26\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Civil Service\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1798\u17bb\u1781\u1784\u17b6\u179a\u179f\u17b6\u1792\u17b6\u179a\u178e\u17c8\",\n        icon: \"fa-users-gear\",\n        sectionTitleEn: \"Civil Service\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u1798\u17bb\u1781\u1784\u17b6\u179a\u179f\u17b6\u1792\u17b6\u179a\u178e\u17c8\",\n        departments: [\n          { id: \"d-26-1\", nameEn: \"Human Resources and Civil Service Management\", nameKh: \"\u1780\u17b6\u179a\u1782\u17d2\u179a\u1794\u17cb\u1782\u17d2\u179a\u1784\u1792\u1793\u1792\u17b6\u1793\u1798\u1793\u17bb\u179f\u17d2\u179f \u1793\u17b7\u1784\u1798\u17bb\u1781\u1784\u17b6\u179a\u179f\u17b6\u1792\u17b6\u179a\u178e\u17c8\", icon: \"fa-users\" },\n          { id: \"d-26-2\", nameEn: \"Civil Servant Development Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a2\u1797\u17b7\u179c\u178c\u17d2\u178d\u1798\u1793\u17d2\u178f\u17d2\u179a\u17b8\u179a\u17b6\u1787\u1780\u17b6\u179a\", icon: \"fa-user-graduate\" }\n        ]\n      },\n      {\n        id: \"m27\",\n        num: \"27\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of Inspection\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u17a2\u1792\u17b7\u1780\u17b6\u179a\u1780\u17b7\u1785\u17d2\u1785\",\n        icon: \"fa-magnifying-glass-chart\",\n        sectionTitleEn: \"Inspection Services\",\n        sectionTitleKh: \"\u179c\u17b7\u179f\u17d0\u1799\u17a2\u1792\u17b7\u1780\u17b6\u179a\u1780\u17b7\u1785\u17d2\u1785\",\n        departments: [\n          { id: \"d-27-1\", nameEn: \"Government Inspection Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u17a2\u1792\u17b7\u1780\u17b6\u179a\u1780\u17b7\u1785\u17d2\u1785\u179a\u178a\u17d2\u178b\", icon: \"fa-magnifying-glass\" },\n          { id: \"d-27-2\", nameEn: \"Monitoring and Compliance Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u178f\u17b6\u1798\u178a\u17b6\u1793 \u1793\u17b7\u1784\u17a2\u1793\u17bb\u179b\u17c4\u1798\u1797\u17b6\u1796\", icon: \"fa-file-circle-check\" }\n        ]\n      },\n      {\n        id: \"m28\",\n        num: \"28\",\n        type: \"Ministry\",\n        nameEn: \"Ministry of National Defence\",\n        nameKh: \"\u1780\u17d2\u179a\u179f\u17bd\u1784\u1780\u17b6\u179a\u1796\u17b6\u179a\u1787\u17b6\u178f\u17b7\",\n        icon: \"fa-shield\",\n        sectionTitleEn: \"Defence Administration\",\n        sectionTitleKh: \"\u179a\u178a\u17d2\u178b\u1794\u17b6\u179b \u1793\u17b7\u1784\u179c\u17b7\u179f\u17d0\u1799\u1780\u17b6\u179a\u1796\u17b6\u179a\u1787\u17b6\u178f\u17b7\",\n        departments: [\n          { id: \"d-28-1\", nameEn: \"Defence Administration Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u179a\u178a\u17d2\u178b\u1794\u17b6\u179b\u1780\u17b6\u179a\u1796\u17b6\u179a\u1787\u17b6\u178f\u17b7\", icon: \"fa-shield\" },\n          { id: \"d-28-2\", nameEn: \"National Defence Support Services\", nameKh: \"\u179f\u17c1\u179c\u17b6\u1782\u17b6\u17c6\u1791\u17d2\u179a\u179c\u17b7\u179f\u17d0\u1799\u1780\u17b6\u179a\u1796\u17b6\u179a\u1787\u17b6\u178f\u17b7\", icon: \"fa-users\" }\n        ]\n      }\n    ];<\/p>\n<p>    const ICON_LIST = [\n      \"fa-sitemap\", \"fa-file-lines\", \"fa-scale-balanced\", \"fa-users\", \"fa-user-shield\",\n      \"fa-landmark\", \"fa-handshake\", \"fa-passport\", \"fa-chart-line\", \"fa-money-bill\",\n      \"fa-building\", \"fa-seedling\", \"fa-tree\", \"fa-fish\", \"fa-road\", \"fa-droplet\",\n      \"fa-store\", \"fa-industry\", \"fa-microchip\", \"fa-gem\", \"fa-bolt\", \"fa-school\",\n      \"fa-graduation-cap\", \"fa-heart-pulse\", \"fa-hospital\", \"fa-plane\", \"fa-briefcase\",\n      \"fa-shield-halved\", \"fa-gavel\", \"fa-tower-cell\", \"fa-tv\", \"fa-bullhorn\"\n    ];<\/p>\n<p>    const STORAGE_KEY = \"cambodia_ministries_data_v2\";<\/p>\n<p>    \/\/ Application State\n    let ministriesData = [];\n    let activeMinistryId = null;\n    let pendingDeleteInfo = null;<\/p>\n<p>    \/\/ DOM Elements\n    const directoryView = document.getElementById(\"directoryView\");\n    const manageView = document.getElementById(\"manageView\");\n    const tabDirectory = document.getElementById(\"tabDirectory\");\n    const tabManager = document.getElementById(\"tabManager\");\n    const ministriesGrid = document.getElementById(\"ministriesGrid\");\n    const managementTableBody = document.getElementById(\"managementTableBody\");\n    const ministryFilter = document.getElementById(\"ministryFilter\");\n    const tableRecordCount = document.getElementById(\"tableRecordCount\");\n    const statsCountText = document.getElementById(\"statsCountText\");\n    const searchInput = document.getElementById(\"searchInput\");\n    const clearSearch = document.getElementById(\"clearSearch\");\n    const noResults = document.getElementById(\"noResults\");<\/p>\n<p>    \/\/ Modal Elements\n    const departmentModal = document.getElementById(\"departmentModal\");\n    const departmentForm = document.getElementById(\"departmentForm\");\n    const modalTitle = document.getElementById(\"modalTitle\");\n    const editDeptIdInput = document.getElementById(\"editDeptId\");\n    const deptMinistrySelect = document.getElementById(\"deptMinistrySelect\");\n    const deptNameEnInput = document.getElementById(\"deptNameEn\");\n    const deptNameKhInput = document.getElementById(\"deptNameKh\");\n    const deptIconInput = document.getElementById(\"deptIcon\");\n    const iconPickerGrid = document.getElementById(\"iconPickerGrid\");\n    const closeModalBtn = document.getElementById(\"closeModalBtn\");\n    const cancelModalBtn = document.getElementById(\"cancelModalBtn\");\n    const openAddModalBtn = document.getElementById(\"openAddModalBtn\");\n    const manageAddBtn = document.getElementById(\"manageAddBtn\");\n    const resetDataBtn = document.getElementById(\"resetDataBtn\");<\/p>\n<p>    \/\/ Delete Modal Elements\n    const deleteConfirmModal = document.getElementById(\"deleteConfirmModal\");\n    const cancelDeleteBtn = document.getElementById(\"cancelDeleteBtn\");\n    const confirmDeleteBtn = document.getElementById(\"confirmDeleteBtn\");\n    const deleteDeptMessage = document.getElementById(\"deleteDeptMessage\");<\/p>\n<p>    \/\/ =============================\n    \/\/ INITIALIZATION & STORAGE\n    \/\/ =============================\n    function init() {\n      loadData();\n      buildIconPicker();\n      populateMinistrySelects();\n      renderDirectory();\n      renderManagementTable();\n      updateStats();\n      attachEventListeners();\n    }<\/p>\n<p>    function loadData() {\n      try {\n        const saved = localStorage.getItem(STORAGE_KEY);\n        if (saved) {\n          ministriesData = JSON.parse(saved);\n        } else {\n          ministriesData = JSON.parse(JSON.stringify(INITIAL_DATA));\n          saveData();\n        }\n      } catch (err) {\n        console.error(\"Storage error, fallback to initial dataset\", err);\n        ministriesData = JSON.parse(JSON.stringify(INITIAL_DATA));\n      }\n    }<\/p>\n<p>    function saveData() {\n      try {\n        localStorage.setItem(STORAGE_KEY, JSON.stringify(ministriesData));\n      } catch (err) {\n        console.error(\"Unable to save to localStorage\", err);\n      }\n    }<\/p>\n<p>    function resetToDefaults() {\n      ministriesData = JSON.parse(JSON.stringify(INITIAL_DATA));\n      saveData();\n      renderDirectory();\n      renderManagementTable();\n      updateStats();\n      showToast(\"Directory reset to default data successfully!\", \"success\");\n    }<\/p>\n<p>    \/\/ =============================\n    \/\/ ICON PICKER GENERATION\n    \/\/ =============================\n    function buildIconPicker() {\n      iconPickerGrid.innerHTML = \"\";\n      ICON_LIST.forEach((iconClass, index) => {\n        const btn = document.createElement(\"button\");\n        btn.type = \"button\";\n        btn.className = `icon-opt ${index === 0 ? \"selected\" : \"\"}`;\n        btn.setAttribute(\"data-icon\", iconClass);\n        btn.innerHTML = `<i class=\"fa-solid ${iconClass}\"><\/i>`;\n        btn.addEventListener(\"click\", () => {\n          document.querySelectorAll(\".icon-opt\").forEach(opt => opt.classList.remove(\"selected\"));\n          btn.classList.add(\"selected\");\n          deptIconInput.value = iconClass;\n        });\n        iconPickerGrid.appendChild(btn);\n      });\n    }<\/p>\n<p>    function selectPickerIcon(iconClass) {\n      deptIconInput.value = iconClass || \"fa-sitemap\";\n      let matched = false;\n      document.querySelectorAll(\".icon-opt\").forEach(opt => {\n        if (opt.getAttribute(\"data-icon\") === iconClass) {\n          opt.classList.add(\"selected\");\n          matched = true;\n        } else {\n          opt.classList.remove(\"selected\");\n        }\n      });\n      if (!matched && iconPickerGrid.firstElementChild) {\n        iconPickerGrid.firstElementChild.classList.add(\"selected\");\n      }\n    }<\/p>\n<p>    \/\/ =============================\n    \/\/ SELECT OPTIONS POPULATION\n    \/\/ =============================\n    function populateMinistrySelects() {\n      \/\/ 1. Modal Select\n      deptMinistrySelect.innerHTML = \"\";\n      \/\/ 2. Table Filter Select\n      ministryFilter.innerHTML = '<option value=\"all\">All Ministries & Institutions<\/option>';<\/p>\n<p>      ministriesData.forEach(m => {\n        const optModal = document.createElement(\"option\");\n        optModal.value = m.id;\n        optModal.textContent = `${m.num}. ${m.nameEn} (${m.nameKh})`;\n        deptMinistrySelect.appendChild(optModal);<\/p>\n<p>        const optFilter = document.createElement(\"option\");\n        optFilter.value = m.id;\n        optFilter.textContent = `${m.num}. ${m.nameEn}`;\n        ministryFilter.appendChild(optFilter);\n      });\n    }<\/p>\n<p>    \/\/ =============================\n    \/\/ DIRECTORY ACCORDION VIEW\n    \/\/ =============================\n    function renderDirectory() {\n      ministriesGrid.innerHTML = \"\";<\/p>\n<p>      ministriesData.forEach(m => {\n        const deptCount = m.departments ? m.departments.length : 0;\n        const card = document.createElement(\"div\");\n        card.className = \"ministry-card\";\n        card.setAttribute(\"data-id\", m.id);<\/p>\n<p>        if (activeMinistryId === m.id) {\n          card.classList.add(\"active\");\n        }<\/p>\n<p>        \/\/ Header\n        const header = document.createElement(\"button\");\n        header.type = \"button\";\n        header.className = \"ministry-header\";\n        header.setAttribute(\"aria-expanded\", activeMinistryId === m.id ? \"true\" : \"false\");\n        header.innerHTML = `<\/p>\n<div class=\"ministry-icon\">\n            <i class=\"fa-solid ${m.icon || 'fa-building-columns'}\"><\/i>\n          <\/div>\n<div class=\"ministry-content\">\n<div class=\"ministry-number\">\n              <span>${m.num} \u2022 ${m.type}<\/span>\n              <span class=\"dept-counter-pill\">${deptCount} ${deptCount === 1 ? 'dept' : 'depts'}<\/span>\n            <\/div>\n<div class=\"english-name\">${escapeHtml(m.nameEn)}<\/div>\n<div class=\"khmer-name\">${escapeHtml(m.nameKh)}<\/div>\n<\/p><\/div>\n<div class=\"dropdown-arrow\">\n            <i class=\"fa-solid fa-chevron-down\"><\/i>\n          <\/div>\n<p>        `;<\/p>\n<p>        header.addEventListener(\"click\", () => {\n          toggleMinistryCard(card, m.id);\n        });<\/p>\n<p>        \/\/ Dropdown Body\n        const dropdown = document.createElement(\"div\");\n        dropdown.className = \"department-dropdown\";<\/p>\n<p>        const inner = document.createElement(\"div\");\n        inner.className = \"department-inner\";<\/p>\n<p>        const bar = document.createElement(\"div\");\n        bar.className = \"department-bar\";\n        bar.innerHTML = `<\/p>\n<div class=\"department-title\">\n            <i class=\"fa-solid fa-sitemap\"><\/i>\n            <span>${escapeHtml(m.sectionTitleEn || 'Departments')} <span class=\"khmer\">\/ ${escapeHtml(m.sectionTitleKh || '\u1793\u17b6\u1799\u1780\u178a\u17d2\u178b\u17b6\u1793')}<\/span><\/span>\n          <\/div>\n<p>          <button type=\"button\" class=\"btn-quick-add\" data-ministry-id=\"${m.id}\" title=\"Quickly add department here\">\n            <i class=\"fa-solid fa-plus\"><\/i> Add Dept\n          <\/button>\n        `;<\/p>\n<p>        \/\/ Department Items\n        const deptList = document.createElement(\"div\");\n        deptList.className = \"department-list\";<\/p>\n<p>        if (!m.departments || m.departments.length === 0) {\n          deptList.innerHTML = `<\/p>\n<div class=\"empty-dept-msg\"><i class=\"fa-regular fa-folder-open\"><\/i> No departments added yet for this ministry.<\/div>\n<p>`;\n        } else {\n          m.departments.forEach(dept => {\n            const item = document.createElement(\"div\");\n            item.className = \"department-item\";\n            item.innerHTML = `<\/p>\n<div class=\"dept-left\">\n<div class=\"department-icon\">\n                  <i class=\"fa-solid ${dept.icon || 'fa-file-lines'}\"><\/i>\n                <\/div>\n<div class=\"department-text\">\n                  <strong>${escapeHtml(dept.nameEn)}<\/strong>\n                  <span>${escapeHtml(dept.nameKh)}<\/span>\n                <\/div>\n<\/p><\/div>\n<div class=\"dept-item-actions\">\n                <button type=\"button\" class=\"action-icon-btn edit\" title=\"Edit department\" data-ministry-id=\"${m.id}\" data-dept-id=\"${dept.id}\">\n                  <i class=\"fa-solid fa-pencil\"><\/i>\n                <\/button>\n                <button type=\"button\" class=\"action-icon-btn delete\" title=\"Delete department\" data-ministry-id=\"${m.id}\" data-dept-id=\"${dept.id}\" data-dept-name=\"${escapeHtml(dept.nameEn)}\">\n                  <i class=\"fa-solid fa-trash-can\"><\/i>\n                <\/button>\n              <\/div>\n<p>            `;\n            deptList.appendChild(item);\n          });\n        }<\/p>\n<p>        inner.appendChild(bar);\n        inner.appendChild(deptList);\n        dropdown.appendChild(inner);<\/p>\n<p>        card.appendChild(header);\n        card.appendChild(dropdown);\n        ministriesGrid.appendChild(card);\n      });<\/p>\n<p>      attachCardActionEvents();\n    }<\/p>\n<p>    function toggleMinistryCard(card, ministryId) {\n      const isCurrentlyActive = card.classList.contains(\"active\");<\/p>\n<p>      \/\/ Close all cards\n      document.querySelectorAll(\".ministry-card\").forEach(c => {\n        c.classList.remove(\"active\");\n        const btn = c.querySelector(\".ministry-header\");\n        if (btn) btn.setAttribute(\"aria-expanded\", \"false\");\n      });<\/p>\n<p>      if (!isCurrentlyActive) {\n        card.classList.add(\"active\");\n        const btn = card.querySelector(\".ministry-header\");\n        if (btn) btn.setAttribute(\"aria-expanded\", \"true\");\n        activeMinistryId = ministryId;\n      } else {\n        activeMinistryId = null;\n      }\n    }<\/p>\n<p>    function attachCardActionEvents() {\n      \/\/ Quick add buttons\n      document.querySelectorAll(\".btn-quick-add\").forEach(btn => {\n        btn.addEventListener(\"click\", (e) => {\n          e.stopPropagation();\n          const ministryId = btn.getAttribute(\"data-ministry-id\");\n          openDepartmentModal(\"add\", ministryId);\n        });\n      });<\/p>\n<p>      \/\/ Quick edit buttons\n      document.querySelectorAll(\".action-icon-btn.edit\").forEach(btn => {\n        btn.addEventListener(\"click\", (e) => {\n          e.stopPropagation();\n          const mId = btn.getAttribute(\"data-ministry-id\");\n          const dId = btn.getAttribute(\"data-dept-id\");\n          openDepartmentModal(\"edit\", mId, dId);\n        });\n      });<\/p>\n<p>      \/\/ Quick delete buttons\n      document.querySelectorAll(\".action-icon-btn.delete\").forEach(btn => {\n        btn.addEventListener(\"click\", (e) => {\n          e.stopPropagation();\n          const mId = btn.getAttribute(\"data-ministry-id\");\n          const dId = btn.getAttribute(\"data-dept-id\");\n          const dName = btn.getAttribute(\"data-dept-name\");\n          promptDeleteDepartment(mId, dId, dName);\n        });\n      });\n    }<\/p>\n<p>    \/\/ =============================\n    \/\/ MANAGEMENT TABLE VIEW\n    \/\/ =============================\n    function renderManagementTable() {\n      managementTableBody.innerHTML = \"\";\n      const filterValue = ministryFilter.value;<\/p>\n<p>      let allRows = [];\n      ministriesData.forEach(m => {\n        if (filterValue !== \"all\" && m.id !== filterValue) return;<\/p>\n<p>        (m.departments || []).forEach(dept => {\n          allRows.push({\n            ministryId: m.id,\n            ministryNum: m.num,\n            ministryName: m.nameEn,\n            dept: dept\n          });\n        });\n      });<\/p>\n<p>      tableRecordCount.textContent = `${allRows.length} department${allRows.length === 1 ? '' : 's'} registered`;<\/p>\n<p>      if (allRows.length === 0) {\n        managementTableBody.innerHTML = `<\/p>\n<tr>\n<td colspan=\"4\" style=\"text-align: center; padding: 35px; color: var(--muted);\">\n              <i class=\"fa-regular fa-folder-open\" style=\"font-size: 26px; margin-bottom: 8px; display: block;\"><\/i>\n              No departments found for the selected ministry. Use the \"Add Department\" button to add one.\n            <\/td>\n<\/tr>\n<p>        `;\n        return;\n      }<\/p>\n<p>      allRows.forEach(row => {\n        const tr = document.createElement(\"tr\");\n        tr.innerHTML = `<\/p>\n<td>\n            <span class=\"table-ministry-badge\" title=\"${escapeHtml(row.ministryName)}\">\n              ${row.ministryNum}. ${escapeHtml(row.ministryName)}\n            <\/span>\n          <\/td>\n<td>\n<div style=\"display: flex; align-items: center; gap: 8px;\">\n              <i class=\"fa-solid ${row.dept.icon || 'fa-file'} text-primary\" style=\"color: var(--primary);\"><\/i>\n              <strong>${escapeHtml(row.dept.nameEn)}<\/strong>\n            <\/div>\n<\/td>\n<td>\n            <span class=\"khmer\" style=\"color: var(--dark);\">${escapeHtml(row.dept.nameKh)}<\/span>\n          <\/td>\n<td style=\"text-align: right;\">\n<div class=\"table-actions\" style=\"justify-content: flex-end;\">\n              <button class=\"table-btn edit\" data-ministry-id=\"${row.ministryId}\" data-dept-id=\"${row.dept.id}\">\n                <i class=\"fa-solid fa-pencil\"><\/i> Edit\n              <\/button>\n              <button class=\"table-btn delete\" data-ministry-id=\"${row.ministryId}\" data-dept-id=\"${row.dept.id}\" data-dept-name=\"${escapeHtml(row.dept.nameEn)}\">\n                <i class=\"fa-solid fa-trash\"><\/i> Delete\n              <\/button>\n            <\/div>\n<\/td>\n<p>        `;\n        managementTableBody.appendChild(tr);\n      });<\/p>\n<p>      \/\/ Bind actions in table\n      managementTableBody.querySelectorAll(\".table-btn.edit\").forEach(btn => {\n        btn.addEventListener(\"click\", () => {\n          const mId = btn.getAttribute(\"data-ministry-id\");\n          const dId = btn.getAttribute(\"data-dept-id\");\n          openDepartmentModal(\"edit\", mId, dId);\n        });\n      });<\/p>\n<p>      managementTableBody.querySelectorAll(\".table-btn.delete\").forEach(btn => {\n        btn.addEventListener(\"click\", () => {\n          const mId = btn.getAttribute(\"data-ministry-id\");\n          const dId = btn.getAttribute(\"data-dept-id\");\n          const dName = btn.getAttribute(\"data-dept-name\");\n          promptDeleteDepartment(mId, dId, dName);\n        });\n      });\n    }<\/p>\n<p>    \/\/ =============================\n    \/\/ MODAL OPERATIONS (ADD \/ EDIT)\n    \/\/ =============================\n    function openDepartmentModal(mode = \"add\", ministryId = null, deptId = null) {\n      if (mode === \"add\") {\n        modalTitle.innerHTML = `<i class=\"fa-solid fa-folder-plus\"><\/i><span>Add New Department<\/span>`;\n        editDeptIdInput.value = \"\";\n        deptNameEnInput.value = \"\";\n        deptNameKhInput.value = \"\";<\/p>\n<p>        if (ministryId) {\n          deptMinistrySelect.value = ministryId;\n        } else if (ministriesData.length > 0) {\n          deptMinistrySelect.value = ministriesData[0].id;\n        }<\/p>\n<p>        deptMinistrySelect.disabled = false;\n        selectPickerIcon(\"fa-sitemap\");\n      } else {\n        modalTitle.innerHTML = `<i class=\"fa-solid fa-pen-to-square\"><\/i><span>Edit Department<\/span>`;\n        editDeptIdInput.value = deptId;<\/p>\n<p>        const ministry = ministriesData.find(m => m.id === ministryId);\n        const dept = ministry ? (ministry.departments || []).find(d => d.id === deptId) : null;<\/p>\n<p>        if (!dept) {\n          showToast(\"Error: Department not found\", \"danger\");\n          return;\n        }<\/p>\n<p>        deptMinistrySelect.value = ministryId;\n        deptMinistrySelect.disabled = false;\n        deptNameEnInput.value = dept.nameEn || \"\";\n        deptNameKhInput.value = dept.nameKh || \"\";\n        selectPickerIcon(dept.icon || \"fa-file-lines\");\n      }<\/p>\n<p>      departmentModal.classList.add(\"active\");\n      setTimeout(() => deptNameEnInput.focus(), 100);\n    }<\/p>\n<p>    function closeDepartmentModal() {\n      departmentModal.classList.remove(\"active\");\n      departmentForm.reset();\n      editDeptIdInput.value = \"\";\n    }<\/p>\n<p>    departmentForm.addEventListener(\"submit\", (e) => {\n      e.preventDefault();<\/p>\n<p>      const editId = editDeptIdInput.value.trim();\n      const targetMinistryId = deptMinistrySelect.value;\n      const nameEn = deptNameEnInput.value.trim();\n      const nameKh = deptNameKhInput.value.trim();\n      const icon = deptIconInput.value || \"fa-sitemap\";<\/p>\n<p>      if (!nameEn || !nameKh) {\n        showToast(\"Please provide both English and Khmer department names.\", \"warning\");\n        return;\n      }<\/p>\n<p>      const ministry = ministriesData.find(m => m.id === targetMinistryId);\n      if (!ministry) {\n        showToast(\"Selected ministry could not be resolved.\", \"danger\");\n        return;\n      }<\/p>\n<p>      if (!ministry.departments) {\n        ministry.departments = [];\n      }<\/p>\n<p>      if (editId) {\n        \/\/ Edit existing department\n        let found = false;\n        for (let m of ministriesData) {\n          const idx = (m.departments || []).findIndex(d => d.id === editId);\n          if (idx !== -1) {\n            if (m.id === targetMinistryId) {\n              \/\/ Same ministry update\n              m.departments[idx].nameEn = nameEn;\n              m.departments[idx].nameKh = nameKh;\n              m.departments[idx].icon = icon;\n            } else {\n              \/\/ Moved to different ministry\n              const [movedItem] = m.departments.splice(idx, 1);\n              movedItem.nameEn = nameEn;\n              movedItem.nameKh = nameKh;\n              movedItem.icon = icon;\n              ministry.departments.push(movedItem);\n            }\n            found = true;\n            break;\n          }\n        }\n        if (found) {\n          showToast(`Updated \"${nameEn}\" successfully!`, \"success\");\n        }\n      } else {\n        \/\/ Add new department\n        const newDept = {\n          id: \"dept-\" + Date.now(),\n          nameEn: nameEn,\n          nameKh: nameKh,\n          icon: icon\n        };\n        ministry.departments.push(newDept);\n        activeMinistryId = ministry.id; \/\/ Expand the ministry where it was added\n        showToast(`Added \"${nameEn}\" to ${ministry.nameEn}!`, \"success\");\n      }<\/p>\n<p>      saveData();\n      renderDirectory();\n      renderManagementTable();\n      updateStats();\n      closeDepartmentModal();\n    });<\/p>\n<p>    \/\/ =============================\n    \/\/ DELETE OPERATIONS\n    \/\/ =============================\n    function promptDeleteDepartment(ministryId, deptId, deptName) {\n      pendingDeleteInfo = { ministryId, deptId };\n      deleteDeptMessage.textContent = `Are you sure you want to remove \"${deptName || 'this department'}\"?`;\n      deleteConfirmModal.classList.add(\"active\");\n    }<\/p>\n<p>    function closeDeleteModal() {\n      deleteConfirmModal.classList.remove(\"active\");\n      pendingDeleteInfo = null;\n    }<\/p>\n<p>    confirmDeleteBtn.addEventListener(\"click\", () => {\n      if (!pendingDeleteInfo) return;<\/p>\n<p>      const { ministryId, deptId } = pendingDeleteInfo;\n      const ministry = ministriesData.find(m => m.id === ministryId);<\/p>\n<p>      if (ministry && ministry.departments) {\n        const initialLen = ministry.departments.length;\n        ministry.departments = ministry.departments.filter(d => d.id !== deptId);<\/p>\n<p>        if (ministry.departments.length < initialLen) {\n          saveData();\n          renderDirectory();\n          renderManagementTable();\n          updateStats();\n          showToast(\"Department deleted successfully.\", \"danger\");\n        }\n      }\n\n      closeDeleteModal();\n    });\n\n    \/\/ =============================\n    \/\/ SEARCH &#038; FILTER FUNCTIONALITY\n    \/\/ =============================\n    function handleSearch() {\n      const query = searchInput.value.toLowerCase().trim();\n      const ministryCards = document.querySelectorAll(\".ministry-card\");\n      let visibleCount = 0;\n\n      ministryCards.forEach(card => {\n        const cardText = card.textContent.toLowerCase();\n        if (cardText.includes(query)) {\n          card.style.display = \"\";\n          visibleCount++;\n          if (query !== \"\") {\n            card.classList.add(\"active\");\n          }\n        } else {\n          card.style.display = \"none\";\n        }\n      });<\/p>\n<p>      clearSearch.style.display = query.length > 0 ? \"block\" : \"none\";<\/p>\n<p>      if (query === \"\") {\n        noResults.style.display = \"none\";\n        ministryCards.forEach(card => {\n          if (card.getAttribute(\"data-id\") !== activeMinistryId) {\n            card.classList.remove(\"active\");\n          }\n        });\n        updateStats();\n      } else if (visibleCount === 0) {\n        noResults.style.display = \"block\";\n        statsCountText.textContent = \"0 ministries match your search\";\n      } else {\n        noResults.style.display = \"none\";\n        statsCountText.textContent = `${visibleCount} ministr${visibleCount === 1 ? 'y' : 'ies'} found`;\n      }\n    }<\/p>\n<p>    \/\/ =============================\n    \/\/ UI STATS & NOTIFICATIONS\n    \/\/ =============================\n    function updateStats() {\n      const totalMinistries = ministriesData.length;\n      let totalDepts = 0;\n      ministriesData.forEach(m => {\n        totalDepts += (m.departments ? m.departments.length : 0);\n      });\n      statsCountText.textContent = `${totalMinistries} Ministries \u2022 ${totalDepts} Departments`;\n    }<\/p>\n<p>    function showToast(message, type = \"info\") {\n      const container = document.getElementById(\"toastContainer\");\n      const toast = document.createElement(\"div\");\n      toast.className = `toast ${type}`;<\/p>\n<p>      let icon = \"fa-circle-info\";\n      if (type === \"success\") icon = \"fa-circle-check\";\n      if (type === \"danger\") icon = \"fa-trash-can\";\n      if (type === \"warning\") icon = \"fa-triangle-exclamation\";<\/p>\n<p>      toast.innerHTML = `\n        <i class=\"fa-solid ${icon}\"><\/i><\/p>\n<div>${escapeHtml(message)}<\/div>\n<p>      `;<\/p>\n<p>      container.appendChild(toast);<\/p>\n<p>      setTimeout(() => {\n        toast.style.opacity = \"0\";\n        toast.style.transform = \"translateX(30px)\";\n        toast.style.transition = \"all 0.3s ease\";\n        setTimeout(() => toast.remove(), 300);\n      }, 3500);\n    }<\/p>\n<p>    function escapeHtml(str) {\n      if (!str) return \"\";\n      return String(str)\n        .replace(\/&\/g, \"&amp;\")\n        .replace(\/<\/g, \"&lt;\")\n        .replace(\/>\/g, \"&gt;\")\n        .replace(\/\"\/g, \"&quot;\")\n        .replace(\/'\/g, \"&#039;\");\n    }<\/p>\n<p>    \/\/ =============================\n    \/\/ EVENT LISTENERS\n    \/\/ =============================\n    function attachEventListeners() {\n      \/\/ Tab Navigation\n      tabDirectory.addEventListener(\"click\", () => {\n        tabDirectory.classList.add(\"active\");\n        tabDirectory.setAttribute(\"aria-selected\", \"true\");\n        tabManager.classList.remove(\"active\");\n        tabManager.setAttribute(\"aria-selected\", \"false\");\n        directoryView.style.display = \"block\";\n        manageView.style.display = \"none\";\n      });<\/p>\n<p>      tabManager.addEventListener(\"click\", () => {\n        tabManager.classList.add(\"active\");\n        tabManager.setAttribute(\"aria-selected\", \"true\");\n        tabDirectory.classList.remove(\"active\");\n        tabDirectory.setAttribute(\"aria-selected\", \"false\");\n        directoryView.style.display = \"none\";\n        manageView.style.display = \"block\";\n        renderManagementTable();\n      });<\/p>\n<p>      \/\/ Filter in Table\n      ministryFilter.addEventListener(\"change\", renderManagementTable);<\/p>\n<p>      \/\/ Search Inputs\n      searchInput.addEventListener(\"input\", handleSearch);\n      clearSearch.addEventListener(\"click\", () => {\n        searchInput.value = \"\";\n        handleSearch();\n        searchInput.focus();\n      });<\/p>\n<p>      \/\/ Modal Triggers\n      openAddModalBtn.addEventListener(\"click\", () => openDepartmentModal(\"add\"));\n      manageAddBtn.addEventListener(\"click\", () => openDepartmentModal(\"add\"));\n      closeModalBtn.addEventListener(\"click\", closeDepartmentModal);\n      cancelModalBtn.addEventListener(\"click\", closeDepartmentModal);<\/p>\n<p>      \/\/ Delete Modal\n      cancelDeleteBtn.addEventListener(\"click\", closeDeleteModal);<\/p>\n<p>      \/\/ Click outside modal to close\n      departmentModal.addEventListener(\"click\", (e) => {\n        if (e.target === departmentModal) closeDepartmentModal();\n      });\n      deleteConfirmModal.addEventListener(\"click\", (e) => {\n        if (e.target === deleteConfirmModal) closeDeleteModal();\n      });<\/p>\n<p>      \/\/ Reset Defaults\n      resetDataBtn.addEventListener(\"click\", () => {\n        if (confirm(\"Reset directory data to original default departments? Custom added items will be replaced.\")) {\n          resetToDefaults();\n        }\n      });\n    }<\/p>\n<p>    \/\/ Initialize application when DOM is ready\n    window.addEventListener(\"DOMContentLoaded\", init);\n  <\/script><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/section><\/div>\n<p><!-- version:1793644019 --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>HOMEPAGE MINISTRY-INFOS HOMEPAGE MINISTRY-INFOS BOOK AN APPOINTMENT Cambodia Government Ministries | English\u2013Khmer Directory &amp; Department Manager \ud83c\uddf0\ud83c\udded Cambodia Directory Admin Directory View Manage Departments \ud83c\uddf0\ud83c\udded English \u2022 Khmer Government Directory &amp; Manager Cambodia Government Ministries \u1794\u1789\u17d2\u1787\u17b8\u1788\u17d2\u1798\u17c4\u17c7\u1780\u17d2\u179a\u179f\u17bd\u1784 \u1793\u17b7\u1784\u179f\u17d2\u1790\u17b6\u1794\u17d0\u1793\u179f\u17c6\u1781\u17b6\u1793\u17cb\u17d7\u1793\u17c5\u1780\u17d2\u1793\u17bb\u1784\u1796\u17d2\u179a\u17c7\u179a\u17b6\u1787\u17b6\u178e\u17b6\u1785\u1780\u17d2\u179a\u1780\u1798\u17d2\u1796\u17bb\u1787\u17b6 An interactive bilingual reference and administration directory. Browse ministries or easily add, edit, and organize departments in real [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"brizy-blank-template.php","meta":{"footnotes":""},"class_list":["post-48","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Ministry infos - vbridgelanguage.org<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vbridgelanguage.org\/?page_id=48\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ministry infos - vbridgelanguage.org\" \/>\n<meta property=\"og:description\" content=\"HOMEPAGE MINISTRY-INFOS HOMEPAGE MINISTRY-INFOS BOOK AN APPOINTMENT Cambodia Government Ministries | English\u2013Khmer Directory &amp; Department Manager \ud83c\uddf0\ud83c\udded Cambodia Directory Admin Directory View Manage Departments \ud83c\uddf0\ud83c\udded English \u2022 Khmer Government Directory &amp; Manager Cambodia Government Ministries \u1794\u1789\u17d2\u1787\u17b8\u1788\u17d2\u1798\u17c4\u17c7\u1780\u17d2\u179a\u179f\u17bd\u1784 \u1793\u17b7\u1784\u179f\u17d2\u1790\u17b6\u1794\u17d0\u1793\u179f\u17c6\u1781\u17b6\u1793\u17cb\u17d7\u1793\u17c5\u1780\u17d2\u1793\u17bb\u1784\u1796\u17d2\u179a\u17c7\u179a\u17b6\u1787\u17b6\u178e\u17b6\u1785\u1780\u17d2\u179a\u1780\u1798\u17d2\u1796\u17bb\u1787\u17b6 An interactive bilingual reference and administration directory. Browse ministries or easily add, edit, and organize departments in real [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vbridgelanguage.org\/?page_id=48\" \/>\n<meta property=\"og:site_name\" content=\"vbridgelanguage.org\" \/>\n<meta property=\"article:modified_time\" content=\"2026-11-02T18:26:59+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vbridgelanguage.org\/wp-content\/uploads\/brizy\/imgs\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vbridgelanguage.org\\\/?page_id=48\",\"url\":\"https:\\\/\\\/vbridgelanguage.org\\\/?page_id=48\",\"name\":\"Ministry infos - vbridgelanguage.org\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vbridgelanguageorg-111ea72.ingress-haven.ewp.live\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vbridgelanguage.org\\\/?page_id=48#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vbridgelanguage.org\\\/?page_id=48#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vbridgelanguage.org\\\/wp-content\\\/uploads\\\/brizy\\\/imgs\\\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png\",\"datePublished\":\"2026-11-02T06:40:34+00:00\",\"dateModified\":\"2026-11-02T18:26:59+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vbridgelanguage.org\\\/?page_id=48#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vbridgelanguage.org\\\/?page_id=48\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vbridgelanguage.org\\\/?page_id=48#primaryimage\",\"url\":\"https:\\\/\\\/vbridgelanguage.org\\\/wp-content\\\/uploads\\\/brizy\\\/imgs\\\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png\",\"contentUrl\":\"https:\\\/\\\/vbridgelanguage.org\\\/wp-content\\\/uploads\\\/brizy\\\/imgs\\\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vbridgelanguage.org\\\/?page_id=48#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vbridgelanguage.org\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ministry infos\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vbridgelanguageorg-111ea72.ingress-haven.ewp.live\\\/#website\",\"url\":\"https:\\\/\\\/vbridgelanguageorg-111ea72.ingress-haven.ewp.live\\\/\",\"name\":\"vbridgelanguage.org\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vbridgelanguageorg-111ea72.ingress-haven.ewp.live\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Ministry infos - vbridgelanguage.org","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vbridgelanguage.org\/?page_id=48","og_locale":"en_US","og_type":"article","og_title":"Ministry infos - vbridgelanguage.org","og_description":"HOMEPAGE MINISTRY-INFOS HOMEPAGE MINISTRY-INFOS BOOK AN APPOINTMENT Cambodia Government Ministries | English\u2013Khmer Directory &amp; Department Manager \ud83c\uddf0\ud83c\udded Cambodia Directory Admin Directory View Manage Departments \ud83c\uddf0\ud83c\udded English \u2022 Khmer Government Directory &amp; Manager Cambodia Government Ministries \u1794\u1789\u17d2\u1787\u17b8\u1788\u17d2\u1798\u17c4\u17c7\u1780\u17d2\u179a\u179f\u17bd\u1784 \u1793\u17b7\u1784\u179f\u17d2\u1790\u17b6\u1794\u17d0\u1793\u179f\u17c6\u1781\u17b6\u1793\u17cb\u17d7\u1793\u17c5\u1780\u17d2\u1793\u17bb\u1784\u1796\u17d2\u179a\u17c7\u179a\u17b6\u1787\u17b6\u178e\u17b6\u1785\u1780\u17d2\u179a\u1780\u1798\u17d2\u1796\u17bb\u1787\u17b6 An interactive bilingual reference and administration directory. Browse ministries or easily add, edit, and organize departments in real [&hellip;]","og_url":"https:\/\/vbridgelanguage.org\/?page_id=48","og_site_name":"vbridgelanguage.org","article_modified_time":"2026-11-02T18:26:59+00:00","og_image":[{"url":"https:\/\/vbridgelanguage.org\/wp-content\/uploads\/brizy\/imgs\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vbridgelanguage.org\/?page_id=48","url":"https:\/\/vbridgelanguage.org\/?page_id=48","name":"Ministry infos - vbridgelanguage.org","isPartOf":{"@id":"https:\/\/vbridgelanguageorg-111ea72.ingress-haven.ewp.live\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vbridgelanguage.org\/?page_id=48#primaryimage"},"image":{"@id":"https:\/\/vbridgelanguage.org\/?page_id=48#primaryimage"},"thumbnailUrl":"https:\/\/vbridgelanguage.org\/wp-content\/uploads\/brizy\/imgs\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png","datePublished":"2026-11-02T06:40:34+00:00","dateModified":"2026-11-02T18:26:59+00:00","breadcrumb":{"@id":"https:\/\/vbridgelanguage.org\/?page_id=48#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vbridgelanguage.org\/?page_id=48"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vbridgelanguage.org\/?page_id=48#primaryimage","url":"https:\/\/vbridgelanguage.org\/wp-content\/uploads\/brizy\/imgs\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png","contentUrl":"https:\/\/vbridgelanguage.org\/wp-content\/uploads\/brizy\/imgs\/VBridge-Language-Logo-Banner-287x95x0x0x287x95x1793600293.png"},{"@type":"BreadcrumbList","@id":"https:\/\/vbridgelanguage.org\/?page_id=48#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vbridgelanguage.org\/"},{"@type":"ListItem","position":2,"name":"Ministry infos"}]},{"@type":"WebSite","@id":"https:\/\/vbridgelanguageorg-111ea72.ingress-haven.ewp.live\/#website","url":"https:\/\/vbridgelanguageorg-111ea72.ingress-haven.ewp.live\/","name":"vbridgelanguage.org","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vbridgelanguageorg-111ea72.ingress-haven.ewp.live\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"brizy_media":[],"_links":{"self":[{"href":"https:\/\/vbridgelanguage.org\/index.php?rest_route=\/wp\/v2\/pages\/48","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vbridgelanguage.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vbridgelanguage.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vbridgelanguage.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vbridgelanguage.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=48"}],"version-history":[{"count":5,"href":"https:\/\/vbridgelanguage.org\/index.php?rest_route=\/wp\/v2\/pages\/48\/revisions"}],"predecessor-version":[{"id":89,"href":"https:\/\/vbridgelanguage.org\/index.php?rest_route=\/wp\/v2\/pages\/48\/revisions\/89"}],"wp:attachment":[{"href":"https:\/\/vbridgelanguage.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=48"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}