{"id":20238,"date":"2026-09-19T13:57:50","date_gmt":"2026-09-19T06:57:50","guid":{"rendered":"https:\/\/feb.um.ac.id\/?page_id=20238"},"modified":"2026-09-20T20:09:52","modified_gmt":"2026-09-20T13:09:52","slug":"profil-pimpinan-fakultas","status":"publish","type":"page","link":"https:\/\/feb.um.ac.id\/id\/profil-pimpinan-fakultas\/","title":{"rendered":"profil pimpinan fakultas"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; fullwidth=&#8221;on&#8221; _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_fullwidth_code _builder_version=&#8221;4.27.7&#8243; _module_preset=&#8221;default&#8221; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<!DOCTYPE html><!-- [et_pb_line_break_holder] --><html lang=\"id\"><!-- [et_pb_line_break_holder] --><head><!-- [et_pb_line_break_holder] -->  <meta charset=\"UTF-8\"><!-- [et_pb_line_break_holder] -->  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><!-- [et_pb_line_break_holder] -->  <title>Profil Fakultas<\/title><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->  <!-- \u2500\u2500 STYLING & FONTS INDUK (CSS) \u2500\u2500 --><!-- [et_pb_line_break_holder] -->  <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/@tabler\/icons-webfont@latest\/tabler-icons.min.css\"><!-- [et_pb_line_break_holder] -->  <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Albert+Sans:wght@300;400;500;600;700;800&#038;display=swap\" rel=\"stylesheet\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<style><!-- [et_pb_line_break_holder] -->    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    body {<!-- [et_pb_line_break_holder] -->      font-family: 'Albert Sans', sans-serif;<!-- [et_pb_line_break_holder] -->      background: #f7f9fc;<!-- [et_pb_line_break_holder] -->      color: #1a202c;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 PAGE TITLE \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    .page-title {<!-- [et_pb_line_break_holder] -->      text-align: center;<!-- [et_pb_line_break_holder] -->      font-size: clamp(24px, 4vw, 36px);<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->      color: #1a202c;<!-- [et_pb_line_break_holder] -->      margin-bottom: 36px;<!-- [et_pb_line_break_holder] -->      margin-top: 40px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 TAB NAVIGATION (DILEBARKAN SEJAJAR KONTEN UTAMA) \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    .tab-wrap { <!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      max-width: 1200px;<!-- [et_pb_line_break_holder] -->      margin: 0 auto; <!-- [et_pb_line_break_holder] -->      padding: 0 15px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .tab-nav {<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      gap: 6px;<!-- [et_pb_line_break_holder] -->      background: #eef1f7;<!-- [et_pb_line_break_holder] -->      border: 0.5px solid #dde3ee;<!-- [et_pb_line_break_holder] -->      border-radius: 999px;<!-- [et_pb_line_break_holder] -->      padding: 6px;<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      max-width: 100%;<!-- [et_pb_line_break_holder] -->      overflow-x: auto;<!-- [et_pb_line_break_holder] -->      scrollbar-width: none;<!-- [et_pb_line_break_holder] -->      margin-bottom: 2.5rem;<!-- [et_pb_line_break_holder] -->      text-align: center;<!-- [et_pb_line_break_holder] -->      scroll-behavior: smooth;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .tab-nav::-webkit-scrollbar { display: none; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .tab-btn {<!-- [et_pb_line_break_holder] -->      flex: 1 0 auto;<!-- [et_pb_line_break_holder] -->      text-align: center;<!-- [et_pb_line_break_holder] -->      padding: 12px 22px;<!-- [et_pb_line_break_holder] -->      border-radius: 999px;<!-- [et_pb_line_break_holder] -->      border: none;<!-- [et_pb_line_break_holder] -->      background: transparent;<!-- [et_pb_line_break_holder] -->      cursor: pointer;<!-- [et_pb_line_break_holder] -->      font-family: inherit;<!-- [et_pb_line_break_holder] -->      font-size: 14px;<!-- [et_pb_line_break_holder] -->      font-weight: 500;<!-- [et_pb_line_break_holder] -->      color: #4a5568;<!-- [et_pb_line_break_holder] -->      white-space: nowrap;<!-- [et_pb_line_break_holder] -->      transition: all .18s;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .tab-btn.active {<!-- [et_pb_line_break_holder] -->      background: #fadd00;<!-- [et_pb_line_break_holder] -->      color: #1a1a1a;<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .tab-btn:not(.active):hover {<!-- [et_pb_line_break_holder] -->      background: #ffffff;<!-- [et_pb_line_break_holder] -->      color: #1a202c;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 TAB PANEL \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    .tab-panel { <!-- [et_pb_line_break_holder] -->      display: none !important; <!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .tab-panel.active { <!-- [et_pb_line_break_holder] -->      display: block !important; <!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .tab-layout {<!-- [et_pb_line_break_holder] -->      display: grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: 1fr 1fr;<!-- [et_pb_line_break_holder] -->      gap: 2.5rem;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .text-side h3 {<!-- [et_pb_line_break_holder] -->      font-size: 26px;<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->      color: #1a202c;<!-- [et_pb_line_break_holder] -->      margin-bottom: 1rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .text-side p {<!-- [et_pb_line_break_holder] -->      font-size: 15px;<!-- [et_pb_line_break_holder] -->      color: #4a5568;<!-- [et_pb_line_break_holder] -->      line-height: 1.75;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .img-side {<!-- [et_pb_line_break_holder] -->      border-radius: 16px;<!-- [et_pb_line_break_holder] -->      overflow: hidden;<!-- [et_pb_line_break_holder] -->      aspect-ratio: 4\/3;<!-- [et_pb_line_break_holder] -->      background: #eef1f7;<!-- [et_pb_line_break_holder] -->      border: 0.5px solid #dde3ee;<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      justify-content: center;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .img-side img {<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      height: 100%;<!-- [et_pb_line_break_holder] -->      object-fit: cover;<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* ==========================================================================<!-- [et_pb_line_break_holder] -->       TENTANG KAMI TAB (ALAMAT, DETAIL KONTAK & MAP GOOGLE)<!-- [et_pb_line_break_holder] -->       ========================================================================== *\/<!-- [et_pb_line_break_holder] -->    .about-grid {<!-- [et_pb_line_break_holder] -->      display: grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: 1fr 1.2fr;<!-- [et_pb_line_break_holder] -->      gap: 40px;<!-- [et_pb_line_break_holder] -->      margin-top: 1rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .about-info-column {<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      flex-direction: column;<!-- [et_pb_line_break_holder] -->      gap: 24px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .about-card-section {<!-- [et_pb_line_break_holder] -->      background: #ffffff;<!-- [et_pb_line_break_holder] -->      border-radius: 18px;<!-- [et_pb_line_break_holder] -->      padding: 28px;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);<!-- [et_pb_line_break_holder] -->      border: 1px solid #eef1f7;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .about-card-section h3 {<!-- [et_pb_line_break_holder] -->      font-size: 20px;<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->      color: #0d1735;<!-- [et_pb_line_break_holder] -->      margin-bottom: 18px;<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      gap: 10px;<!-- [et_pb_line_break_holder] -->      border-bottom: 2px solid #f7f9fc;<!-- [et_pb_line_break_holder] -->      padding-bottom: 12px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .about-card-section h3 i {<!-- [et_pb_line_break_holder] -->      font-size: 24px;<!-- [et_pb_line_break_holder] -->      color: #fadd00;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .address-detail {<!-- [et_pb_line_break_holder] -->      font-size: 15px;<!-- [et_pb_line_break_holder] -->      color: #4a5568;<!-- [et_pb_line_break_holder] -->      line-height: 1.8;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .address-detail strong {<!-- [et_pb_line_break_holder] -->      color: #0d1735;<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->      margin-bottom: 6px;<!-- [et_pb_line_break_holder] -->      font-size: 16px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .contact-item-row {<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      align-items: flex-start;<!-- [et_pb_line_break_holder] -->      gap: 15px;<!-- [et_pb_line_break_holder] -->      margin-bottom: 16px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-item-row:last-child {<!-- [et_pb_line_break_holder] -->      margin-bottom: 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-item-icon {<!-- [et_pb_line_break_holder] -->      width: 40px;<!-- [et_pb_line_break_holder] -->      height: 40px;<!-- [et_pb_line_break_holder] -->      border-radius: 10px;<!-- [et_pb_line_break_holder] -->      background: #f4f6fc;<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      justify-content: center;<!-- [et_pb_line_break_holder] -->      flex-shrink: 0;<!-- [et_pb_line_break_holder] -->      color: #0d1735;<!-- [et_pb_line_break_holder] -->      font-size: 20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-item-icon.wa {<!-- [et_pb_line_break_holder] -->      background: #e8fbee;<!-- [et_pb_line_break_holder] -->      color: #25d366;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-item-icon.mail {<!-- [et_pb_line_break_holder] -->      background: #fef3e6;<!-- [et_pb_line_break_holder] -->      color: #f3a638;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-item-info {<!-- [et_pb_line_break_holder] -->      font-size: 14px;<!-- [et_pb_line_break_holder] -->      color: #4a5568;<!-- [et_pb_line_break_holder] -->      line-height: 1.5;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-item-info strong {<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->      color: #0d1735;<!-- [et_pb_line_break_holder] -->      font-size: 12px;<!-- [et_pb_line_break_holder] -->      text-transform: uppercase;<!-- [et_pb_line_break_holder] -->      letter-spacing: 0.5px;<!-- [et_pb_line_break_holder] -->      margin-bottom: 2px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-item-info a {<!-- [et_pb_line_break_holder] -->      color: #4a5568;<!-- [et_pb_line_break_holder] -->      text-decoration: none;<!-- [et_pb_line_break_holder] -->      transition: color 0.2s;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-item-info a:hover {<!-- [et_pb_line_break_holder] -->      color: #0d1735;<!-- [et_pb_line_break_holder] -->      text-decoration: underline;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .map-container-card {<!-- [et_pb_line_break_holder] -->      background: #ffffff;<!-- [et_pb_line_break_holder] -->      border-radius: 18px;<!-- [et_pb_line_break_holder] -->      padding: 16px;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 8px 24px rgba(0,0,0,0.06);<!-- [et_pb_line_break_holder] -->      border: 1px solid #dde3ee;<!-- [et_pb_line_break_holder] -->      height: 520px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .map-container-card iframe {<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      height: 100%;<!-- [et_pb_line_break_holder] -->      border-radius: 12px;<!-- [et_pb_line_break_holder] -->      border: none;<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* ==========================================================================<!-- [et_pb_line_break_holder] -->       PETA PROSES BISNIS & SOP TAB (GABUNGAN GRID ELEGAN)<!-- [et_pb_line_break_holder] -->       ========================================================================== *\/<!-- [et_pb_line_break_holder] -->    .sop-grid {<!-- [et_pb_line_break_holder] -->      display: grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: repeat(2, 1fr);<!-- [et_pb_line_break_holder] -->      gap: 24px;<!-- [et_pb_line_break_holder] -->      margin-top: 1rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sop-card {<!-- [et_pb_line_break_holder] -->      background: #ffffff;<!-- [et_pb_line_break_holder] -->      border-radius: 18px;<!-- [et_pb_line_break_holder] -->      padding: 28px;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 4px 15px rgba(0, 0, 0, 0.04);<!-- [et_pb_line_break_holder] -->      border: 1px solid #eef1f7;<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      flex-direction: column;<!-- [et_pb_line_break_holder] -->      justify-content: space-between;<!-- [et_pb_line_break_holder] -->      transition: transform 0.3s ease, box-shadow 0.3s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sop-card:hover {<!-- [et_pb_line_break_holder] -->      transform: translateY(-5px);<!-- [et_pb_line_break_holder] -->      box-shadow: 0 8px 25px rgba(13, 23, 53, 0.08);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sop-icon {<!-- [et_pb_line_break_holder] -->      width: 52px;<!-- [et_pb_line_break_holder] -->      height: 52px;<!-- [et_pb_line_break_holder] -->      border-radius: 50%;<!-- [et_pb_line_break_holder] -->      background: #fff8c4;<!-- [et_pb_line_break_holder] -->      color: #d6c300;<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      justify-content: center;<!-- [et_pb_line_break_holder] -->      margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->      font-size: 24px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sop-card h4 {<!-- [et_pb_line_break_holder] -->      color: #0d2150;<!-- [et_pb_line_break_holder] -->      font-size: 18px;<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->      margin-bottom: 12px;<!-- [et_pb_line_break_holder] -->      line-height: 1.4;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sop-card p {<!-- [et_pb_line_break_holder] -->      color: #667085;<!-- [et_pb_line_break_holder] -->      line-height: 1.7;<!-- [et_pb_line_break_holder] -->      font-size: 14.5px;<!-- [et_pb_line_break_holder] -->      margin-bottom: 24px;<!-- [et_pb_line_break_holder] -->      flex-grow: 1;<!-- [et_pb_line_break_holder] -->      text-align: justify;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sop-link-btn {<!-- [et_pb_line_break_holder] -->      display: inline-flex;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      justify-content: center;<!-- [et_pb_line_break_holder] -->      gap: 8px;<!-- [et_pb_line_break_holder] -->      padding: 12px 20px;<!-- [et_pb_line_break_holder] -->      background: #0d1735;<!-- [et_pb_line_break_holder] -->      color: #ffffff !important;<!-- [et_pb_line_break_holder] -->      border-radius: 10px;<!-- [et_pb_line_break_holder] -->      text-decoration: none;<!-- [et_pb_line_break_holder] -->      font-size: 14px;<!-- [et_pb_line_break_holder] -->      font-weight: 600;<!-- [et_pb_line_break_holder] -->      transition: background 0.2s;<!-- [et_pb_line_break_holder] -->      width: fit-content;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sop-link-btn:hover {<!-- [et_pb_line_break_holder] -->      background: #1e293b;<!-- [et_pb_line_break_holder] -->      text-decoration: none;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* ==========================================================================<!-- [et_pb_line_break_holder] -->       HISTORY TAB (DESAIN DENGAN FOTO HERO DI KANAN DAN TEKS MENGALIR)<!-- [et_pb_line_break_holder] -->       ========================================================================== *\/<!-- [et_pb_line_break_holder] -->    .history-wrapper {<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      margin-top: 1rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .history-title {<!-- [et_pb_line_break_holder] -->      font-size: 34px;<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->      color: #1a202c;<!-- [et_pb_line_break_holder] -->      margin-bottom: 2rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .history-top-flow {<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      margin-bottom: 3.5rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .history-hero-left {<!-- [et_pb_line_break_holder] -->      float: right;<!-- [et_pb_line_break_holder] -->      width: 45%;<!-- [et_pb_line_break_holder] -->      max-width: 500px;<!-- [et_pb_line_break_holder] -->      margin-left: 2.5rem;<!-- [et_pb_line_break_holder] -->      margin-bottom: 1.5rem; <!-- [et_pb_line_break_holder] -->      border-radius: 18px;<!-- [et_pb_line_break_holder] -->      overflow: hidden;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 8px 24px rgba(0,0,0,0.06);<!-- [et_pb_line_break_holder] -->      border: 1px solid #dde3ee;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .history-hero-left img {<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      height: auto;<!-- [et_pb_line_break_holder] -->      object-fit: cover;<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .history-text-flow h3,<!-- [et_pb_line_break_holder] -->    .timeline-box h3,<!-- [et_pb_line_break_holder] -->    .gallery-box h3,<!-- [et_pb_line_break_holder] -->    .history-stats h3 {<!-- [et_pb_line_break_holder] -->      font-size: 26px;<!-- [et_pb_line_break_holder] -->      margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->      color: #0d1735;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .history-text-flow p {<!-- [et_pb_line_break_holder] -->      color: #4a5568;<!-- [et_pb_line_break_holder] -->      line-height: 1.75;<!-- [et_pb_line_break_holder] -->      margin-bottom: 1rem;<!-- [et_pb_line_break_holder] -->      text-align: justify;<!-- [et_pb_line_break_holder] -->      font-size: 15px;<!-- [et_pb_line_break_holder] -->      text-indent: 2.5em;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* ==========================================================================<!-- [et_pb_line_break_holder] -->       TIMELINE & GALLERY MID SECTION<!-- [et_pb_line_break_holder] -->       ========================================================================== *\/<!-- [et_pb_line_break_holder] -->    .history-middle {<!-- [et_pb_line_break_holder] -->      display: grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: 1fr 1fr;<!-- [et_pb_line_break_holder] -->      gap: 3rem;<!-- [et_pb_line_break_holder] -->      margin-bottom: 4rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Timeline \"ular\": mengalir ke samping, dan begitu satu baris penuh<!-- [et_pb_line_break_holder] -->       dilanjutkan ke baris berikutnya di bawahnya (tidak digulir ke samping,<!-- [et_pb_line_break_holder] -->       tidak memanjang tak terkendali ke bawah). Garis penghubung digambar<!-- [et_pb_line_break_holder] -->       lewat SVG mengikuti posisi tiap kartu, termasuk lekukan saat pindah baris. *\/<!-- [et_pb_line_break_holder] -->    .timeline-wrap { position: relative; }<!-- [et_pb_line_break_holder] -->    .timeline-svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }<!-- [et_pb_line_break_holder] -->    .timeline-svg .tl-line { fill: none; stroke: #cdd3e0; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .timeline {<!-- [et_pb_line_break_holder] -->      position: relative;<!-- [et_pb_line_break_holder] -->      z-index: 1;<!-- [et_pb_line_break_holder] -->      display: grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));<!-- [et_pb_line_break_holder] -->      gap: 30px 18px;<!-- [et_pb_line_break_holder] -->      \/* Jalur kosong kiri & kanan -- tempat garis vertikal singgah saat pindah<!-- [et_pb_line_break_holder] -->         baris, supaya tidak menyusuri persis di tepi kartu (terlihat menempel). *\/<!-- [et_pb_line_break_holder] -->      padding: 4px 16px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .timeline-item { position: relative; padding: 16px 0 16px; }<!-- [et_pb_line_break_holder] -->    .timeline-item .tl-dot {<!-- [et_pb_line_break_holder] -->      position: absolute; top: 0; left: 0;<!-- [et_pb_line_break_holder] -->      width: 11px; height: 11px; border-radius: 50%;<!-- [et_pb_line_break_holder] -->      background: #0d1735; border: 2px solid #fff; box-shadow: 0 0 0 1px #0d1735;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .timeline-item strong {<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->      font-size: clamp(20px, 2.1vw, 27px);<!-- [et_pb_line_break_holder] -->      font-weight: 800;<!-- [et_pb_line_break_holder] -->      line-height: 1.05;<!-- [et_pb_line_break_holder] -->      margin-bottom: 7px;<!-- [et_pb_line_break_holder] -->      letter-spacing: -.01em;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .timeline-item p {<!-- [et_pb_line_break_holder] -->      color: #667085;<!-- [et_pb_line_break_holder] -->      font-size: 12.5px;<!-- [et_pb_line_break_holder] -->      line-height: 1.55;<!-- [et_pb_line_break_holder] -->      margin: 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .timeline-item:nth-child(6n+1) strong { color: #ea580c; }<!-- [et_pb_line_break_holder] -->    .timeline-item:nth-child(6n+2) strong { color: #0d9488; }<!-- [et_pb_line_break_holder] -->    .timeline-item:nth-child(6n+3) strong { color: #7c3aed; }<!-- [et_pb_line_break_holder] -->    .timeline-item:nth-child(6n+4) strong { color: #16a34a; }<!-- [et_pb_line_break_holder] -->    .timeline-item:nth-child(6n+5) strong { color: #dc2626; }<!-- [et_pb_line_break_holder] -->    .timeline-item:nth-child(6n+6) strong { color: #2563eb; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .history-gallery {<!-- [et_pb_line_break_holder] -->      display: grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: repeat(2, 1fr);<!-- [et_pb_line_break_holder] -->      gap: 12px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .history-gallery img {<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      aspect-ratio: 1\/1;<!-- [et_pb_line_break_holder] -->      object-fit: cover;<!-- [et_pb_line_break_holder] -->      border-radius: 12px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .gallery-pagination {<!-- [et_pb_line_break_holder] -->      display: none;<!-- [et_pb_line_break_holder] -->      align-items: center; justify-content: center; gap: 12px;<!-- [et_pb_line_break_holder] -->      margin-top: 14px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .gallery-pagination button {<!-- [et_pb_line_break_holder] -->      width: 30px; height: 30px; border-radius: 50%;<!-- [et_pb_line_break_holder] -->      border: 1px solid #e4e7ec; background: #fff; cursor: pointer;<!-- [et_pb_line_break_holder] -->      display: flex; align-items: center; justify-content: center;<!-- [et_pb_line_break_holder] -->      font-size: 15px; color: #344054;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .gallery-pagination button:hover:not(:disabled) { background: #f8f9fb; }<!-- [et_pb_line_break_holder] -->    .gallery-pagination button:disabled { opacity: .35; cursor: default; }<!-- [et_pb_line_break_holder] -->    .gallery-pagination .halaman-galeri { font-size: 12px; font-weight: 700; color: #667085; }<!-- [et_pb_line_break_holder] -->    .gallery-link {<!-- [et_pb_line_break_holder] -->      margin-top: 20px;<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      justify-content: flex-end;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      gap: 12px;<!-- [et_pb_line_break_holder] -->      text-decoration: none;<!-- [et_pb_line_break_holder] -->      color: #111827;<!-- [et_pb_line_break_holder] -->      font-weight: 600;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .gallery-link span {<!-- [et_pb_line_break_holder] -->      width: 32px;<!-- [et_pb_line_break_holder] -->      height: 32px;<!-- [et_pb_line_break_holder] -->      border-radius: 50%;<!-- [et_pb_line_break_holder] -->      background: #b5d334;<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      justify-content: center;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .history-stats { margin-top: 3rem; }<!-- [et_pb_line_break_holder] -->    .stats-grid {<!-- [et_pb_line_break_holder] -->      margin-top: 20px;<!-- [et_pb_line_break_holder] -->      display: grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: repeat(4, 1fr);<!-- [et_pb_line_break_holder] -->      gap: 24px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    @media (max-width: 640px) {<!-- [et_pb_line_break_holder] -->      .stats-grid { grid-template-columns: repeat(2, 1fr); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .stat-card {<!-- [et_pb_line_break_holder] -->      background: #fff;<!-- [et_pb_line_break_holder] -->      border-radius: 18px;<!-- [et_pb_line_break_holder] -->      padding: 28px 20px;<!-- [et_pb_line_break_holder] -->      text-align: center;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 4px 15px rgba(0,0,0,.05);<!-- [et_pb_line_break_holder] -->      border: 1px solid #eef1f7;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .stat-number {<!-- [et_pb_line_break_holder] -->      font-size: 36px;<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->      color: #111827;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .stat-label {<!-- [et_pb_line_break_holder] -->      margin-top: 6px;<!-- [et_pb_line_break_holder] -->      color: #667085;<!-- [et_pb_line_break_holder] -->      font-size: 14px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 SEKSI VISI MISI, STRUKTUR, PERSONALIA \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    .section-title{<!-- [et_pb_line_break_holder] -->      font-size:34px;<!-- [et_pb_line_break_holder] -->      font-weight:700;<!-- [et_pb_line_break_holder] -->      margin-bottom:30px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sub-title{<!-- [et_pb_line_break_holder] -->      font-size:24px;<!-- [et_pb_line_break_holder] -->      font-weight:700;<!-- [et_pb_line_break_holder] -->      margin-bottom:20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .struktur-wrapper,<!-- [et_pb_line_break_holder] -->    .pimpinan-wrapper,<!-- [et_pb_line_break_holder] -->    .dosen-wrapper,<!-- [et_pb_line_break_holder] -->    .tendik-wrapper{<!-- [et_pb_line_break_holder] -->      width:100%;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .org-chart-card{<!-- [et_pb_line_break_holder] -->      background:#fff;<!-- [et_pb_line_break_holder] -->      padding:30px;<!-- [et_pb_line_break_holder] -->      border-radius:18px;<!-- [et_pb_line_break_holder] -->      margin-bottom:30px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .org-chart-card img{<!-- [et_pb_line_break_holder] -->      width:100%;<!-- [et_pb_line_break_holder] -->      display:block;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .img-en {<!-- [et_pb_line_break_holder] -->      display: none !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    html[lang*=\"en\"] .img-id {<!-- [et_pb_line_break_holder] -->      display: none !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    html[lang*=\"en\"] .img-en {<!-- [et_pb_line_break_holder] -->      display: block !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .struktur-bottom{<!-- [et_pb_line_break_holder] -->      display:grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns:1fr 1fr;<!-- [et_pb_line_break_holder] -->      gap:30px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .jabatan-select{<!-- [et_pb_line_break_holder] -->      width:100%;<!-- [et_pb_line_break_holder] -->      padding:12px;<!-- [et_pb_line_break_holder] -->      border:1px solid #ddd;<!-- [et_pb_line_break_holder] -->      border-radius:12px;<!-- [et_pb_line_break_holder] -->      margin-bottom:15px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .sambutan-card,<!-- [et_pb_line_break_holder] -->    .jabatan-card,<!-- [et_pb_line_break_holder] -->    .download-card,<!-- [et_pb_line_break_holder] -->    .dekan-profile,<!-- [et_pb_line_break_holder] -->    .wakil-card,<!-- [et_pb_line_break_holder] -->    .contact-card,<!-- [et_pb_line_break_holder] -->    .dosen-card,<!-- [et_pb_line_break_holder] -->    .tendik-card,<!-- [et_pb_line_break_holder] -->    .profile-sidebar{<!-- [et_pb_line_break_holder] -->      background:#fff;<!-- [et_pb_line_break_holder] -->      border-radius:14px !important;<!-- [et_pb_line_break_holder] -->      padding:18px !important;<!-- [et_pb_line_break_holder] -->      box-shadow:0 4px 12px rgba(0,0,0,.05) !important;<!-- [et_pb_line_break_holder] -->      border: 1px solid #eef1f7 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 ANIMASI HOVER CARD PIMPINAN & SAMBUTAN \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    .sambutan-card,<!-- [et_pb_line_break_holder] -->    .dekan-profile,<!-- [et_pb_line_break_holder] -->    .wakil-card {<!-- [et_pb_line_break_holder] -->      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .sambutan-card:hover,<!-- [et_pb_line_break_holder] -->    .dekan-profile:hover,<!-- [et_pb_line_break_holder] -->    .wakil-card:hover {<!-- [et_pb_line_break_holder] -->      transform: translateY(-6px);<!-- [et_pb_line_break_holder] -->      box-shadow: 0 10px 25px rgba(13, 23, 53, 0.08) !important;<!-- [et_pb_line_break_holder] -->      border-color: #fadd00 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .sambutan-card {<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      flex-direction: column;<!-- [et_pb_line_break_holder] -->      justify-content: center;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .sambutan-card p {<!-- [et_pb_line_break_holder] -->      text-align: justify;<!-- [et_pb_line_break_holder] -->      line-height: 1.8;<!-- [et_pb_line_break_holder] -->      color: #4a5568;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .download-btn,<!-- [et_pb_line_break_holder] -->    .detail-btn{<!-- [et_pb_line_break_holder] -->      width:100%;<!-- [et_pb_line_break_holder] -->      border:none;<!-- [et_pb_line_break_holder] -->      border-radius:12px;<!-- [et_pb_line_break_holder] -->      padding:14px;<!-- [et_pb_line_break_holder] -->      background:#0d1735;<!-- [et_pb_line_break_holder] -->      color:white;<!-- [et_pb_line_break_holder] -->      margin-top:20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 PENYESUAIAN DEKAN & WAKIL DEKAN SECTION \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    .dekan-section{<!-- [et_pb_line_break_holder] -->      display:grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: 1.5fr 1fr;<!-- [et_pb_line_break_holder] -->      gap:25px;<!-- [et_pb_line_break_holder] -->      margin-bottom:40px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dekan-photo img,<!-- [et_pb_line_break_holder] -->    .dekan-profile img,<!-- [et_pb_line_break_holder] -->    .wakil-card img,<!-- [et_pb_line_break_holder] -->    .dosen-card img,<!-- [et_pb_line_break_holder] -->    .tendik-card img,<!-- [et_pb_line_break_holder] -->    .profile-sidebar img{<!-- [et_pb_line_break_holder] -->      width:100%;<!-- [et_pb_line_break_holder] -->      border-radius:12px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Konsistensi Proporsi Foto Pimpinan -- avatar inisial (pengganti foto<!-- [et_pb_line_break_holder] -->       kosong\/rusak) diberi proporsi yang SAMA dengan foto sungguhan, supaya<!-- [et_pb_line_break_holder] -->       kartu Ketua Departemen\/Koordinator yang belum ada fotonya tidak menciut<!-- [et_pb_line_break_holder] -->       lebih pendek daripada kartu Wakil Dekan yang sudah berfoto. *\/<!-- [et_pb_line_break_holder] -->    .dekan-profile img,<!-- [et_pb_line_break_holder] -->    .wakil-card img,<!-- [et_pb_line_break_holder] -->    .wakil-card .avatar-inisial {<!-- [et_pb_line_break_holder] -->      aspect-ratio: 3\/4;<!-- [et_pb_line_break_holder] -->      object-fit: cover;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .wakil-card .avatar-inisial {<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      height: auto;             \/* menimpa height:100% bawaan .avatar-inisial umum *\/<!-- [et_pb_line_break_holder] -->      border-radius: 12px;<!-- [et_pb_line_break_holder] -->      font-size: 40px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Penyelarasan Nama agar Lurus Sejajar *\/<!-- [et_pb_line_break_holder] -->    .dekan-profile h4,<!-- [et_pb_line_break_holder] -->    .wakil-card h4 {<!-- [et_pb_line_break_holder] -->      min-height: 46px; \/* Memberikan ruang konsisten untuk 2 baris nama *\/<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      align-items: flex-start;<!-- [et_pb_line_break_holder] -->      margin-top: 14px !important;<!-- [et_pb_line_break_holder] -->      margin-bottom: 2px !important;<!-- [et_pb_line_break_holder] -->      font-size: 15px !important;<!-- [et_pb_line_break_holder] -->      font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->      color: #0d1735 !important;<!-- [et_pb_line_break_holder] -->      line-height: 1.35 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* .wakil-grid memakai flex-wrap (bukan CSS grid) supaya SEMUA situasi --<!-- [et_pb_line_break_holder] -->       baris pas 3 kartu, kurang dari 3, maupun lebih dari 3 dengan sisa di<!-- [et_pb_line_break_holder] -->       baris terakhir -- otomatis tertangani seragam: flexbox memusatkan<!-- [et_pb_line_break_holder] -->       ISI TIAP BARIS SECARA TERPISAH (justify-content berlaku per baris saat<!-- [et_pb_line_break_holder] -->       \"wrap\"), jadi baris terakhir yang tidak penuh otomatis terpusat tanpa<!-- [et_pb_line_break_holder] -->       logika kondisional apa pun. Lebar tiap kartu (flex-basis) diukur & diisi<!-- [et_pb_line_break_holder] -->       oleh JS (tataPimpinanFakultas) dari lebar wadah dibagi 3, sehingga tetap<!-- [et_pb_line_break_holder] -->       identik dengan lebar kartu Dekan di atasnya. *\/<!-- [et_pb_line_break_holder] -->    .wakil-grid{<!-- [et_pb_line_break_holder] -->      display:flex;<!-- [et_pb_line_break_holder] -->      flex-wrap:wrap;<!-- [et_pb_line_break_holder] -->      justify-content:center;<!-- [et_pb_line_break_holder] -->      gap:20px;<!-- [et_pb_line_break_holder] -->      margin-bottom:40px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .wakil-grid > * { flex: 0 1 260px; }   \/* nilai awal sebelum JS mengukur & menimpanya *\/<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Judul bagian (Wakil Dekan, Ketua Departemen, Koordinator, Sub Koordinator)<!-- [et_pb_line_break_holder] -->       diberi tanda aksen kecil + dirapatkan ke grid di bawahnya, supaya terlihat<!-- [et_pb_line_break_holder] -->       jelas judul itu menaungi kartu-kartu tepat di bawahnya -- bukan sekadar<!-- [et_pb_line_break_holder] -->       teks tebal yang mengambang berjarak sama ke atas maupun ke bawah. *\/<!-- [et_pb_line_break_holder] -->    .pimpinan-wrapper .sub-title {<!-- [et_pb_line_break_holder] -->      display: flex;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      gap: 10px;<!-- [et_pb_line_break_holder] -->      font-size: 16px !important;<!-- [et_pb_line_break_holder] -->      font-weight: 800 !important;<!-- [et_pb_line_break_holder] -->      text-transform: uppercase;<!-- [et_pb_line_break_holder] -->      letter-spacing: .05em;<!-- [et_pb_line_break_holder] -->      color: #475467 !important;<!-- [et_pb_line_break_holder] -->      margin: 34px 0 14px !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .pimpinan-wrapper .sub-title:first-of-type { margin-top: 0 !important; }<!-- [et_pb_line_break_holder] -->    .pimpinan-wrapper .sub-title::before {<!-- [et_pb_line_break_holder] -->      content: '';<!-- [et_pb_line_break_holder] -->      width: 22px;<!-- [et_pb_line_break_holder] -->      height: 3px;<!-- [et_pb_line_break_holder] -->      border-radius: 999px;<!-- [et_pb_line_break_holder] -->      background: #fadd00;<!-- [et_pb_line_break_holder] -->      flex-shrink: 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-grid{<!-- [et_pb_line_break_holder] -->      display:grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns:repeat(4,1fr);<!-- [et_pb_line_break_holder] -->      gap:20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 ANIMASI HOVER UNTUK SEMUA CARD KONTAK FAKULTAS \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    .contact-card {<!-- [et_pb_line_break_holder] -->      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-card:hover {<!-- [et_pb_line_break_holder] -->      transform: translateY(-4px);<!-- [et_pb_line_break_holder] -->      box-shadow: 0 8px 20px rgba(13, 23, 53, 0.05) !important;<!-- [et_pb_line_break_holder] -->      border-color: #cbd5e1 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-card.clickable-card:hover {<!-- [et_pb_line_break_holder] -->      border-color: #fadd00 !important;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 8px 20px rgba(250, 221, 0, 0.18) !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .dosen-layout,<!-- [et_pb_line_break_holder] -->    .tendik-layout{<!-- [et_pb_line_break_holder] -->      display:grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns:2fr 1fr;<!-- [et_pb_line_break_holder] -->      gap:25px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .dosen-grid,<!-- [et_pb_line_break_holder] -->    .tendik-grid{<!-- [et_pb_line_break_holder] -->      display:grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns:repeat(2,1fr);<!-- [et_pb_line_break_holder] -->      gap:20px;<!-- [et_pb_line_break_holder] -->      align-items: stretch !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dosen-card,<!-- [et_pb_line_break_holder] -->    .tendik-card{<!-- [et_pb_line_break_holder] -->      display:flex !important;<!-- [et_pb_line_break_holder] -->      gap:16px !important;<!-- [et_pb_line_break_holder] -->      height: 100% !important;<!-- [et_pb_line_break_holder] -->      align-items: flex-start !important;<!-- [et_pb_line_break_holder] -->      transition: all 0.2s ease-in-out !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dosen-card img,<!-- [et_pb_line_break_holder] -->    .tendik-card img{<!-- [et_pb_line_break_holder] -->      width:85px !important;<!-- [et_pb_line_break_holder] -->      height:115px !important;<!-- [et_pb_line_break_holder] -->      object-fit:cover !important;<!-- [et_pb_line_break_holder] -->      flex-shrink: 0 !important;<!-- [et_pb_line_break_holder] -->      border-radius: 8px !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .search-box{<!-- [et_pb_line_break_holder] -->      margin-bottom:25px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .search-box input{<!-- [et_pb_line_break_holder] -->      width:100%;<!-- [et_pb_line_break_holder] -->      padding:14px;<!-- [et_pb_line_break_holder] -->      border:1px solid #ddd;<!-- [et_pb_line_break_holder] -->      border-radius:12px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* ==========================================================================<!-- [et_pb_line_break_holder] -->       VISI MISI TUJUAN<!-- [et_pb_line_break_holder] -->       ========================================================================== *\/<!-- [et_pb_line_break_holder] -->    .visi-wrapper{<!-- [et_pb_line_break_holder] -->      width:100%;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .visi-grid{<!-- [et_pb_line_break_holder] -->      display:grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns:1fr 1.25fr;<!-- [et_pb_line_break_holder] -->      gap:40px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .visi-section{<!-- [et_pb_line_break_holder] -->      margin-bottom:40px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .visi-section h3,<!-- [et_pb_line_break_holder] -->    .misi-section h3,<!-- [et_pb_line_break_holder] -->    .visi-grid h3{<!-- [et_pb_line_break_holder] -->      font-size:30px;<!-- [et_pb_line_break_holder] -->      font-weight:700;<!-- [et_pb_line_break_holder] -->      margin-bottom:20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .visi-card{<!-- [et_pb_line_break_holder] -->      background:#f3f5f8;<!-- [et_pb_line_break_holder] -->      border-radius:18px;<!-- [et_pb_line_break_holder] -->      padding:24px;<!-- [et_pb_line_break_holder] -->      display:flex;<!-- [et_pb_line_break_holder] -->      gap:16px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .visi-icon{<!-- [et_pb_line_break_holder] -->      flex-shrink:0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .visi-icon i{<!-- [et_pb_line_break_holder] -->      font-size:34px;<!-- [et_pb_line_break_holder] -->      color:#111827;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .visi-card p{<!-- [et_pb_line_break_holder] -->      line-height:1.8;<!-- [et_pb_line_break_holder] -->      color:#667085;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .misi-list{<!-- [et_pb_line_break_holder] -->      display:flex;<!-- [et_pb_line_break_holder] -->      flex-direction:column;<!-- [et_pb_line_break_holder] -->      gap:28px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .misi-item{<!-- [et_pb_line_break_holder] -->      display:flex;<!-- [et_pb_line_break_holder] -->      gap:18px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .misi-item span{<!-- [et_pb_line_break_holder] -->      font-size:32px;<!-- [et_pb_line_break_holder] -->      font-weight:700;<!-- [et_pb_line_break_holder] -->      color:#111827;<!-- [et_pb_line_break_holder] -->      min-width:42px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .misi-item p{<!-- [et_pb_line_break_holder] -->      color:#667085;<!-- [et_pb_line_break_holder] -->      line-height:1.8;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .tujuan-grid{<!-- [et_pb_line_break_holder] -->      display:grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns:repeat(2,1fr);<!-- [et_pb_line_break_holder] -->      gap:24px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .tujuan-card{<!-- [et_pb_line_break_holder] -->      background:#fff;<!-- [et_pb_line_break_holder] -->      border-radius:18px;<!-- [et_pb_line_break_holder] -->      padding:24px;<!-- [et_pb_line_break_holder] -->      box-shadow:0 4px 15px rgba(0,0,0,.08);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .tujuan-icon{<!-- [et_pb_line_break_holder] -->      width:52px;<!-- [et_pb_line_break_holder] -->      height:52px;<!-- [et_pb_line_break_holder] -->      border-radius:50%;<!-- [et_pb_line_break_holder] -->      background:#fff8c4;<!-- [et_pb_line_break_holder] -->      display:flex;<!-- [et_pb_line_break_holder] -->      align-items:center;<!-- [et_pb_line_break_holder] -->      justify-content:center;<!-- [et_pb_line_break_holder] -->      margin-bottom:20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .tujuan-icon i{<!-- [et_pb_line_break_holder] -->      font-size:24px;<!-- [et_pb_line_break_holder] -->      color:#d6c300;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .tujuan-card h4{<!-- [et_pb_line_break_holder] -->      color:#0d2150;<!-- [et_pb_line_break_holder] -->      font-size:20px;<!-- [et_pb_line_break_holder] -->      font-weight:700;<!-- [et_pb_line_break_holder] -->      margin-bottom:12px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .tujuan-card p{<!-- [et_pb_line_break_holder] -->      color:#667085;<!-- [et_pb_line_break_holder] -->      line-height:1.8;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .staff-tabs{<!-- [et_pb_line_break_holder] -->      display:flex;<!-- [et_pb_line_break_holder] -->      gap:40px;<!-- [et_pb_line_break_holder] -->      border-bottom:1px solid #d9dee7;<!-- [et_pb_line_break_holder] -->      margin-bottom:20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .staff-tab{<!-- [et_pb_line_break_holder] -->      border:none;<!-- [et_pb_line_break_holder] -->      background:none;<!-- [et_pb_line_break_holder] -->      padding:0 0 12px;<!-- [et_pb_line_break_holder] -->      font-size:28px;<!-- [et_pb_line_break_holder] -->      font-weight:700;<!-- [et_pb_line_break_holder] -->      color:#98a2b3;<!-- [et_pb_line_break_holder] -->      cursor: pointer;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .staff-tab.active{<!-- [et_pb_line_break_holder] -->      color:#111827;<!-- [et_pb_line_break_holder] -->      border-bottom:3px solid #fadd00;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .search-wrapper{<!-- [et_pb_line_break_holder] -->      display:grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: 1fr auto auto;<!-- [et_pb_line_break_holder] -->      gap: 12px;<!-- [et_pb_line_break_holder] -->      margin-bottom:24px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .search-wrapper input{<!-- [et_pb_line_break_holder] -->      border: 1px solid #d9dee7;<!-- [et_pb_line_break_holder] -->      padding: 14px 18px;<!-- [et_pb_line_break_holder] -->      border-radius: 12px !important;<!-- [et_pb_line_break_holder] -->      font-family: inherit;<!-- [et_pb_line_break_holder] -->      font-size: 14px;<!-- [et_pb_line_break_holder] -->      outline: none;<!-- [et_pb_line_break_holder] -->      transition: border-color 0.2s;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .search-wrapper input:focus {<!-- [et_pb_line_break_holder] -->      border-color: #fadd00;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->       <!-- [et_pb_line_break_holder] -->    .dosen-info {<!-- [et_pb_line_break_holder] -->      height: auto !important;<!-- [et_pb_line_break_holder] -->      display: flex !important;<!-- [et_pb_line_break_holder] -->      flex-direction: column !important;<!-- [et_pb_line_break_holder] -->      flex: 1 !important;<!-- [et_pb_line_break_holder] -->      min-width: 0 !important;<!-- [et_pb_line_break_holder] -->      gap: 2px !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dosen-info h4{<!-- [et_pb_line_break_holder] -->      font-size:14px !important;<!-- [et_pb_line_break_holder] -->      font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->      color: #101828 !important;<!-- [et_pb_line_break_holder] -->      line-height: 1.3 !important;<!-- [et_pb_line_break_holder] -->      margin-bottom:4px !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dosen-info p{<!-- [et_pb_line_break_holder] -->      color:#4a5568 !important;<!-- [et_pb_line_break_holder] -->      font-size:12px !important;<!-- [et_pb_line_break_holder] -->      line-height: 1.4 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .jabatan-badge{<!-- [et_pb_line_break_holder] -->      display:inline-block;<!-- [et_pb_line_break_holder] -->      margin-top:6px;<!-- [et_pb_line_break_holder] -->      border:1px solid #d9dee7;<!-- [et_pb_line_break_holder] -->      padding:4px 8px;<!-- [et_pb_line_break_holder] -->      border-radius:6px;<!-- [et_pb_line_break_holder] -->      font-size:11px !important;<!-- [et_pb_line_break_holder] -->      width: fit-content;<!-- [et_pb_line_break_holder] -->      color: #4a5568;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dosen-info hr{<!-- [et_pb_line_break_holder] -->      margin:10px 0 !important;<!-- [et_pb_line_break_holder] -->      border:none !important;<!-- [et_pb_line_break_holder] -->      border-top:1px solid #eef1f7 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .personalia-top{<!-- [et_pb_line_break_holder] -->      display:flex;<!-- [et_pb_line_break_holder] -->      gap:15px;<!-- [et_pb_line_break_holder] -->      margin-top:20px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .personalia-top img{<!-- [et_pb_line_break_holder] -->      width:95px;<!-- [et_pb_line_break_holder] -->      border-radius:10px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .status-badge{<!-- [et_pb_line_break_holder] -->      display:inline-block;<!-- [et_pb_line_break_holder] -->      background:#eef1f7;<!-- [et_pb_line_break_holder] -->      padding:5px 10px;<!-- [et_pb_line_break_holder] -->      border-radius:6px;<!-- [et_pb_line_break_holder] -->      margin-top:8px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-list{<!-- [et_pb_line_break_holder] -->      list-style:none;<!-- [et_pb_line_break_holder] -->      padding:0;<!-- [et_pb_line_break_holder] -->      margin-top:12px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .contact-list li{<!-- [et_pb_line_break_holder] -->      margin-bottom:6px;<!-- [et_pb_line_break_holder] -->      color:#667085;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .detail-block{<!-- [et_pb_line_break_holder] -->      margin-top:24px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .detail-block h5{<!-- [et_pb_line_break_holder] -->      margin-bottom:10px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->    .dosen-info small {<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->      margin-top: 4px;<!-- [et_pb_line_break_holder] -->      color: #718096;<!-- [et_pb_line_break_holder] -->      font-size: 11px !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dosen-info strong {<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->      margin-top: 2px;<!-- [et_pb_line_break_holder] -->      white-space: normal !important;<!-- [et_pb_line_break_holder] -->      height: auto !important;<!-- [et_pb_line_break_holder] -->      line-height: 1.4;<!-- [et_pb_line_break_holder] -->      font-size: 12px !important;<!-- [et_pb_line_break_holder] -->      color: #1a202c;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .profile-sidebar h2 {<!-- [et_pb_line_break_holder] -->      font-size: 22px;<!-- [et_pb_line_break_holder] -->      font-weight: 700;<!-- [et_pb_line_break_holder] -->      padding-bottom: 12px;<!-- [et_pb_line_break_holder] -->      border-bottom: 2px solid #eef1f7;<!-- [et_pb_line_break_holder] -->      margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->      color: #0d1735;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* HIGHLIGHT SELEKTOR *\/<!-- [et_pb_line_break_holder] -->    .dosen-card.card-active,<!-- [et_pb_line_break_holder] -->    .dosen-card.active,<!-- [et_pb_line_break_holder] -->    .tendik-card.card-active,<!-- [et_pb_line_break_holder] -->    .tendik-card.active,<!-- [et_pb_line_break_holder] -->    .card-active {<!-- [et_pb_line_break_holder] -->      border: 2px solid #fadd00 !important; <!-- [et_pb_line_break_holder] -->      background: #fffdf2 !important; <!-- [et_pb_line_break_holder] -->      box-shadow: 0 4px 15px rgba(250, 221, 0, 0.25) !important;<!-- [et_pb_line_break_holder] -->      transform: translateY(-1px);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* GAYA LAYOUT DESKTOP *\/<!-- [et_pb_line_break_holder] -->    @media screen and (min-width: 981px) {<!-- [et_pb_line_break_holder] -->      .et_pb_row, .et_pb_column, .et_pb_module, .dosen-layout, .tendik-layout {<!-- [et_pb_line_break_holder] -->        overflow: visible !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .dosen-wrapper, .pimpinan-wrapper, .struktur-wrapper, .tendik-wrapper {<!-- [et_pb_line_break_holder] -->        width: 98% !important;<!-- [et_pb_line_break_holder] -->        max-width: 1560px !important;<!-- [et_pb_line_break_holder] -->        margin: 0 auto !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .dosen-layout, .tendik-layout {<!-- [et_pb_line_break_holder] -->        display: flex !important;<!-- [et_pb_line_break_holder] -->        flex-direction: row !important;<!-- [et_pb_line_break_holder] -->        justify-content: space-between !important;<!-- [et_pb_line_break_holder] -->        gap: 30px !important;<!-- [et_pb_line_break_holder] -->        height: 780px !important; <!-- [et_pb_line_break_holder] -->        width: 100% !important;<!-- [et_pb_line_break_holder] -->        box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->        overflow: hidden !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .dosen-grid, .tendik-grid {<!-- [et_pb_line_break_holder] -->        display: grid !important;<!-- [et_pb_line_break_holder] -->        grid-template-columns: repeat(2, 1fr) !important;<!-- [et_pb_line_break_holder] -->        gap: 16px !important;<!-- [et_pb_line_break_holder] -->        flex: 0 0 64% !important; <!-- [et_pb_line_break_holder] -->        width: 64% !important;<!-- [et_pb_line_break_holder] -->        min-width: 64% !important;<!-- [et_pb_line_break_holder] -->        max-width: 64% !important;<!-- [et_pb_line_break_holder] -->        height: 100% !important;<!-- [et_pb_line_break_holder] -->        overflow-y: auto !important;<!-- [et_pb_line_break_holder] -->        overflow-x: hidden !important; <!-- [et_pb_line_break_holder] -->        padding-right: 15px !important;<!-- [et_pb_line_break_holder] -->        box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .dosen-grid > div, .tendik-grid > div {<!-- [et_pb_line_break_holder] -->        min-width: 0 !important; <!-- [et_pb_line_break_holder] -->        width: 100% !important;<!-- [et_pb_line_break_holder] -->        box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .dosen-grid *, .tendik-grid * {<!-- [et_pb_line_break_holder] -->        word-break: normal !important;<!-- [et_pb_line_break_holder] -->        overflow-wrap: anywhere !important;<!-- [et_pb_line_break_holder] -->        white-space: normal !important;<!-- [et_pb_line_break_holder] -->        max-width: 100% !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .profile-sidebar {<!-- [et_pb_line_break_holder] -->        flex: 0 0 33% !important;<!-- [et_pb_line_break_holder] -->        width: 33% !important;<!-- [et_pb_line_break_holder] -->        min-width: 33% !important;<!-- [et_pb_line_break_holder] -->        max-width: 33% !important;<!-- [et_pb_line_break_holder] -->        height: 100% !important;<!-- [et_pb_line_break_holder] -->        overflow-y: auto !important;<!-- [et_pb_line_break_holder] -->        overflow-x: visible !important;<!-- [et_pb_line_break_holder] -->        box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->        padding: 24px !important;<!-- [et_pb_line_break_holder] -->        background: #ffffff !important;<!-- [et_pb_line_break_holder] -->        border-radius: 14px !important;<!-- [et_pb_line_break_holder] -->        margin-right: 12px !important; <!-- [et_pb_line_break_holder] -->        border: 1px solid #d9dee7 !important;<!-- [et_pb_line_break_holder] -->        box-shadow: -2px 4px 18px rgba(0, 0, 0, 0.06) !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      .profile-sidebar * {<!-- [et_pb_line_break_holder] -->        max-width: 100% !important;<!-- [et_pb_line_break_holder] -->        word-break: break-word !important;<!-- [et_pb_line_break_holder] -->        overflow-wrap: break-word !important;<!-- [et_pb_line_break_holder] -->        white-space: normal !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .btn-close-mobile { display: none !important; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .dosen-grid::-webkit-scrollbar,<!-- [et_pb_line_break_holder] -->      .tendik-grid::-webkit-scrollbar,<!-- [et_pb_line_break_holder] -->      .profile-sidebar::-webkit-scrollbar {<!-- [et_pb_line_break_holder] -->        width: 6px !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      .dosen-grid::-webkit-scrollbar-thumb,<!-- [et_pb_line_break_holder] -->      .tendik-grid::-webkit-scrollbar-thumb,<!-- [et_pb_line_break_holder] -->      .profile-sidebar::-webkit-scrollbar-thumb {<!-- [et_pb_line_break_holder] -->        background-color: #cbd5e1 !important;<!-- [et_pb_line_break_holder] -->        border-radius: 10px !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* GAYA POP-UP MOBILE *\/<!-- [et_pb_line_break_holder] -->    @media screen and (max-width: 980px) {<!-- [et_pb_line_break_holder] -->      .dosen-layout, .tendik-layout { display: block !important; }<!-- [et_pb_line_break_holder] -->      .dosen-grid, .tendik-grid {<!-- [et_pb_line_break_holder] -->        display: grid !important;<!-- [et_pb_line_break_holder] -->        grid-template-columns: 1fr !important;<!-- [et_pb_line_break_holder] -->        gap: 15px !important;<!-- [et_pb_line_break_holder] -->        margin-bottom: 20px !important;<!-- [et_pb_line_break_holder] -->        width: 100% !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .profile-sidebar {<!-- [et_pb_line_break_holder] -->        display: none !important;<!-- [et_pb_line_break_holder] -->        position: fixed !important;<!-- [et_pb_line_break_holder] -->        top: 50% !important;<!-- [et_pb_line_break_holder] -->        left: 50% !important;<!-- [et_pb_line_break_holder] -->        transform: translate(-50%, -50%) !important;<!-- [et_pb_line_break_holder] -->        width: 90% !important;<!-- [et_pb_line_break_holder] -->        max-width: 500px !important;<!-- [et_pb_line_break_holder] -->        max-height: 80vh !important;<!-- [et_pb_line_break_holder] -->        overflow-y: auto !important;<!-- [et_pb_line_break_holder] -->        z-index: 999999 !important;<!-- [et_pb_line_break_holder] -->        background: #ffffff !important;<!-- [et_pb_line_break_holder] -->        box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;<!-- [et_pb_line_break_holder] -->        border-radius: 20px !important;<!-- [et_pb_line_break_holder] -->        padding: 25px !important;<!-- [et_pb_line_break_holder] -->        animation: popupFade 0.25s ease-out !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .dosen-layout:has(.card-active) .profile-sidebar,<!-- [et_pb_line_break_holder] -->      .dosen-layout:has(.active) .profile-sidebar,<!-- [et_pb_line_break_holder] -->      .tendik-layout:has(.card-active) .profile-sidebar,<!-- [et_pb_line_break_holder] -->      .tendik-layout:has(.active) .profile-sidebar {<!-- [et_pb_line_break_holder] -->        display: block !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .btn-close-mobile {<!-- [et_pb_line_break_holder] -->        display: block !important;<!-- [et_pb_line_break_holder] -->        width: 100%;<!-- [et_pb_line_break_holder] -->        background: #fee2e2;<!-- [et_pb_line_break_holder] -->        color: #ef4444;<!-- [et_pb_line_break_holder] -->        border: none;<!-- [et_pb_line_break_holder] -->        padding: 10px;<!-- [et_pb_line_break_holder] -->        border-radius: 10px;<!-- [et_pb_line_break_holder] -->        font-weight: bold;<!-- [et_pb_line_break_holder] -->        font-size: 14px;<!-- [et_pb_line_break_holder] -->        cursor: pointer;<!-- [et_pb_line_break_holder] -->        margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->        text-align: center;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      @keyframes popupFade {<!-- [et_pb_line_break_holder] -->        from { opacity: 0; transform: translate(-50%, -47%); }<!-- [et_pb_line_break_holder] -->        to { opacity: 1; transform: translate(-50%, -50%); }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      .dosen-layout:has(.card-active)::after,<!-- [et_pb_line_break_holder] -->      .dosen-layout:has(.active)::after,<!-- [et_pb_line_break_holder] -->      .tendik-layout:has(.card-active)::after,<!-- [et_pb_line_break_holder] -->      .tendik-layout:has(.active)::after {<!-- [et_pb_line_break_holder] -->        content: \"\";<!-- [et_pb_line_break_holder] -->        position: fixed;<!-- [et_pb_line_break_holder] -->        top: 0; left: 0; width: 100vw; height: 100vh;<!-- [et_pb_line_break_holder] -->        background: rgba(0, 0, 0, 0.4);<!-- [et_pb_line_break_holder] -->        backdrop-filter: blur(2px);<!-- [et_pb_line_break_holder] -->        z-index: 999998;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .layout-hidden { display: none !important; }<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    .profile-sidebar h2, .profile-sidebar h3, #side-dosen-judul, #side-tendik-judul {<!-- [et_pb_line_break_holder] -->      font-size: 20px !important;<!-- [et_pb_line_break_holder] -->      font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->      color: #0d1735 !important;<!-- [et_pb_line_break_holder] -->      line-height: 1.4 !important;<!-- [et_pb_line_break_holder] -->      margin-bottom: 18px !important;<!-- [et_pb_line_break_holder] -->      border-bottom: 2px solid #eef1f7 !important;<!-- [et_pb_line_break_holder] -->      padding-bottom: 12px !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .profile-sidebar h4, .profile-sidebar strong {<!-- [et_pb_line_break_holder] -->      display: block !important;<!-- [et_pb_line_break_holder] -->      font-size: 14px !important;<!-- [et_pb_line_break_holder] -->      font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->      color: #1a202c !important;<!-- [et_pb_line_break_holder] -->      margin-top: 16px !important;<!-- [et_pb_line_break_holder] -->      margin-bottom: 8px !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .profile-sidebar p {<!-- [et_pb_line_break_holder] -->      display: block !important;<!-- [et_pb_line_break_holder] -->      padding: 10px 12px !important;<!-- [et_pb_line_break_holder] -->      margin: 6px 0 !important;<!-- [et_pb_line_break_holder] -->      background: #f8f9fa !important;<!-- [et_pb_line_break_holder] -->      border-left: 3px solid #cbd5e1 !important;<!-- [et_pb_line_break_holder] -->      border-radius: 6px !important;<!-- [et_pb_line_break_holder] -->      font-size: 13px !important;<!-- [et_pb_line_break_holder] -->      color: #344054 !important;<!-- [et_pb_line_break_holder] -->      line-height: 1.5 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    #side-dosen-judul, #side-tendik-judul {<!-- [et_pb_line_break_holder] -->      background: transparent !important;<!-- [et_pb_line_break_holder] -->      border-left: none !important;<!-- [et_pb_line_break_holder] -->      padding: 0 0 12px 0 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .et_pb_row:has(.dosen-wrapper), .et_pb_row:has(.tendik-wrapper) {<!-- [et_pb_line_break_holder] -->      width: 100% !important;<!-- [et_pb_line_break_holder] -->      max-width: 100% !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .nav-tabs-container, .et_pb_module div:has(> a[href*=\"visi\"]) {<!-- [et_pb_line_break_holder] -->      width: 100% !important;<!-- [et_pb_line_break_holder] -->      max-width: 100% !important;<!-- [et_pb_line_break_holder] -->      display: flex !important;<!-- [et_pb_line_break_holder] -->      flex-wrap: wrap !important;<!-- [et_pb_line_break_holder] -->      justify-content: center !important;<!-- [et_pb_line_break_holder] -->      gap: 10px !important;<!-- [et_pb_line_break_holder] -->      padding: 10px !important;<!-- [et_pb_line_break_holder] -->      box-sizing: border-box !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* RESPONSIVE HP (GRID SIMETRIS KARENA 7 TOMBOL) *\/<!-- [et_pb_line_break_holder] -->    @media (max-width: 640px) {<!-- [et_pb_line_break_holder] -->      .tab-wrap { width: 100% !important; padding: 0 4px !important; }<!-- [et_pb_line_break_holder] -->      .tab-nav {<!-- [et_pb_line_break_holder] -->        width: 100% !important;<!-- [et_pb_line_break_holder] -->        display: flex !important;<!-- [et_pb_line_break_holder] -->        flex-wrap: nowrap !important;<!-- [et_pb_line_break_holder] -->        justify-content: flex-start !important;<!-- [et_pb_line_break_holder] -->        gap: 6px !important;<!-- [et_pb_line_break_holder] -->        padding: 6px !important;<!-- [et_pb_line_break_holder] -->        border-radius: 999px !important;<!-- [et_pb_line_break_holder] -->        overflow-x: auto !important;<!-- [et_pb_line_break_holder] -->        scroll-behavior: smooth !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      .tab-btn {<!-- [et_pb_line_break_holder] -->        width: auto !important;<!-- [et_pb_line_break_holder] -->        flex: 0 0 auto !important;<!-- [et_pb_line_break_holder] -->        padding: 10px 18px !important;<!-- [et_pb_line_break_holder] -->        font-size: 13px !important;<!-- [et_pb_line_break_holder] -->        white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->        text-align: center !important;<!-- [et_pb_line_break_holder] -->        border-radius: 999px !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      .section-title, .history-title, .sub-title { font-size: 22px !important; }<!-- [et_pb_line_break_holder] -->      .visi-section h3, .misi-section h3, .visi-grid h3, .text-side h3 { font-size: 20px !important; }<!-- [et_pb_line_break_holder] -->      .misi-item span { font-size: 24px !important; min-width: 32px !important; }<!-- [et_pb_line_break_holder] -->      .visi-grid { grid-template-columns: 1fr !important; gap: 20px !important; }<!-- [et_pb_line_break_holder] -->      .tujuan-grid { grid-template-columns: 1fr !important; }<!-- [et_pb_line_break_holder] -->      .dekan-section { grid-template-columns: 1fr !important; }<!-- [et_pb_line_break_holder] -->      .visi-wrapper, .history-wrapper, .struktur-wrapper, .pimpinan-wrapper, .dosen-wrapper {<!-- [et_pb_line_break_holder] -->        padding: 0 4px !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* ==========================================================================<!-- [et_pb_line_break_holder] -->       PENYEMPURNAAN RESPONSIF (SEMUA PERANGKAT) + BADGE SINKRONISASI<!-- [et_pb_line_break_holder] -->       ========================================================================== *\/<!-- [et_pb_line_break_holder] -->    html { -webkit-text-size-adjust: 100%; }<!-- [et_pb_line_break_holder] -->    img, video, iframe { max-width: 100%; }<!-- [et_pb_line_break_holder] -->    .tab-wrap, .visi-wrapper, .tujuan-card, .visi-card { box-sizing: border-box; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Skala huruf mengikuti lebar layar *\/<!-- [et_pb_line_break_holder] -->    .visi-section h3, .misi-section h3, .visi-grid h3 { font-size: clamp(20px, 2.2vw, 30px); line-height: 1.3; }<!-- [et_pb_line_break_holder] -->    .visi-card p, .misi-item p, .tujuan-card p { font-size: clamp(14px, 1.05vw, 16px); }<!-- [et_pb_line_break_holder] -->    .tujuan-card h4 { font-size: clamp(16px, 1.3vw, 20px); }<!-- [et_pb_line_break_holder] -->    .misi-item span { line-height: 1.25; }<!-- [et_pb_line_break_holder] -->    .visi-grid { align-items: start; }<!-- [et_pb_line_break_holder] -->    .visi-card { align-items: flex-start; }<!-- [et_pb_line_break_holder] -->    .tujuan-grid { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Laptop kecil \/ tablet landscape *\/<!-- [et_pb_line_break_holder] -->    @media (max-width: 1200px) {<!-- [et_pb_line_break_holder] -->      .visi-grid { grid-template-columns: 1fr 1fr; gap: 32px; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Tablet portrait *\/<!-- [et_pb_line_break_holder] -->    @media (max-width: 1024px) {<!-- [et_pb_line_break_holder] -->      .visi-grid { grid-template-columns: 1fr; gap: 28px; }<!-- [et_pb_line_break_holder] -->      .visi-section { margin-bottom: 32px; }<!-- [et_pb_line_break_holder] -->      .tujuan-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Tablet kecil *\/<!-- [et_pb_line_break_holder] -->    @media (max-width: 768px) {<!-- [et_pb_line_break_holder] -->      .visi-card, .tujuan-card { padding: 20px; }<!-- [et_pb_line_break_holder] -->      .misi-list { gap: 22px; }<!-- [et_pb_line_break_holder] -->      .search-wrapper { flex-wrap: wrap; }<!-- [et_pb_line_break_holder] -->      .search-wrapper select { flex: 1 1 160px; min-width: 0 !important; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Ponsel *\/<!-- [et_pb_line_break_holder] -->    @media (max-width: 480px) {<!-- [et_pb_line_break_holder] -->      .visi-card { flex-direction: column; gap: 12px; padding: 18px; }<!-- [et_pb_line_break_holder] -->      .visi-icon i { font-size: 28px; }<!-- [et_pb_line_break_holder] -->      .misi-item { gap: 12px; }<!-- [et_pb_line_break_holder] -->      .misi-item span { font-size: 22px !important; min-width: 30px !important; }<!-- [et_pb_line_break_holder] -->      .tujuan-grid { grid-template-columns: 1fr !important; }<!-- [et_pb_line_break_holder] -->      .tujuan-card { padding: 18px; }<!-- [et_pb_line_break_holder] -->      .tujuan-icon { width: 44px; height: 44px; margin-bottom: 14px; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Perataan teks Visi\/Misi\/Tujuan (default rata kanan-kiri, bisa diubah dari spreadsheet) *\/<!-- [et_pb_line_break_holder] -->    .visi-wrapper.teks-justify .visi-card p,<!-- [et_pb_line_break_holder] -->    .visi-wrapper.teks-justify .misi-item p,<!-- [et_pb_line_break_holder] -->    .visi-wrapper.teks-justify .tujuan-card p {<!-- [et_pb_line_break_holder] -->      text-align: justify;<!-- [et_pb_line_break_holder] -->      text-justify: inter-word;<!-- [et_pb_line_break_holder] -->      hyphens: auto;<!-- [et_pb_line_break_holder] -->      -webkit-hyphens: auto;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .visi-wrapper.teks-kiri .visi-card p,<!-- [et_pb_line_break_holder] -->    .visi-wrapper.teks-kiri .misi-item p,<!-- [et_pb_line_break_holder] -->    .visi-wrapper.teks-kiri .tujuan-card p { text-align: left; }<!-- [et_pb_line_break_holder] -->    .visi-wrapper.teks-tengah .visi-card p,<!-- [et_pb_line_break_holder] -->    .visi-wrapper.teks-tengah .misi-item p,<!-- [et_pb_line_break_holder] -->    .visi-wrapper.teks-tengah .tujuan-card p { text-align: center; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .contact-item-icon.net { background: #f4f6fc; color: #0d1735; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* ==========================================================================<!-- [et_pb_line_break_holder] -->       PENINGKATAN UX DAFTAR DOSEN & TENDIK<!-- [et_pb_line_break_holder] -->       ========================================================================== *\/<!-- [et_pb_line_break_holder] -->    \/* Panel detail ikut menggulir (hanya desktop; di layar kecil tetap modal) *\/<!-- [et_pb_line_break_holder] -->    @media (min-width: 981px) {<!-- [et_pb_line_break_holder] -->      \/* Tata letak desktop memakai panel setinggi tetap (780px) dengan daftar kartu<!-- [et_pb_line_break_holder] -->         yang menggulir di dalamnya, jadi panel detail TIDAK perlu sticky. Sticky di<!-- [et_pb_line_break_holder] -->         dalam wadah ber-overflow justru membuat posisinya turun berbeda-beda antar<!-- [et_pb_line_break_holder] -->         layar. Panel cukup disejajarkan penuh dengan daftar di sebelahnya. *\/<!-- [et_pb_line_break_holder] -->      .profile-sidebar {<!-- [et_pb_line_break_holder] -->        position: static !important;<!-- [et_pb_line_break_holder] -->        align-self: stretch !important;<!-- [et_pb_line_break_holder] -->        margin-top: 0 !important;<!-- [et_pb_line_break_holder] -->        height: 100% !important;<!-- [et_pb_line_break_holder] -->        max-height: 100% !important;<!-- [et_pb_line_break_holder] -->        overflow-y: auto !important;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .dosen-card { outline: none; }<!-- [et_pb_line_break_holder] -->    .dosen-card:focus-visible { box-shadow: 0 0 0 3px rgba(23, 92, 211, .35) !important; }<!-- [et_pb_line_break_holder] -->    .dosen-card.card-active { box-shadow: 0 0 0 2px #fbb314, 0 6px 18px rgba(0,0,0,.08) !important; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .sidebar-fade { animation: sidebarFade .18s ease-in; }<!-- [et_pb_line_break_holder] -->    @keyframes sidebarFade { from { opacity: .3; } to { opacity: 1; } }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .avatar-inisial {<!-- [et_pb_line_break_holder] -->      width: 100%; height: 100%;<!-- [et_pb_line_break_holder] -->      display: flex; align-items: center; justify-content: center;<!-- [et_pb_line_break_holder] -->      background: #e8edf7; color: #1f3b73;<!-- [et_pb_line_break_holder] -->      font-weight: 800; font-size: 24px; letter-spacing: 1px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .staff-meta {<!-- [et_pb_line_break_holder] -->      display: flex; justify-content: space-between; align-items: center;<!-- [et_pb_line_break_holder] -->      gap: 12px; flex-wrap: wrap;<!-- [et_pb_line_break_holder] -->      margin: -10px 0 18px;<!-- [et_pb_line_break_holder] -->      font-size: 13px; color: #667085; font-weight: 600;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .btn-bersih {<!-- [et_pb_line_break_holder] -->      background: #f2f4f7; border: none; border-radius: 8px;<!-- [et_pb_line_break_holder] -->      padding: 8px 12px; cursor: pointer;<!-- [et_pb_line_break_holder] -->      font-size: 12px; font-weight: 700; color: #475467;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .btn-bersih:hover { background: #e4e7ec; }<!-- [et_pb_line_break_holder] -->    .staff-tab .jumlah { opacity: .65; font-weight: 600; margin-left: 4px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .skeleton-card {<!-- [et_pb_line_break_holder] -->      height: 190px; border-radius: 12px;<!-- [et_pb_line_break_holder] -->      background: linear-gradient(90deg, #eef1f5 25%, #f6f8fa 37%, #eef1f5 63%);<!-- [et_pb_line_break_holder] -->      background-size: 400% 100%;<!-- [et_pb_line_break_holder] -->      animation: skeletonGeser 1.2s ease-in-out infinite;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    @keyframes skeletonGeser { 0% { background-position: 100% 0; } 100% { background-position: 0 0; } }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    mark.cari { background: #fff2b8; color: inherit; padding: 0 2px; border-radius: 3px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .detail-ikhtisar { line-height: 1.7; color: #475467; font-size: 13.5px; text-align: justify; }<!-- [et_pb_line_break_holder] -->    .poin-ikhtisar { margin: 0; padding-left: 18px; list-style: disc; }<!-- [et_pb_line_break_holder] -->    .poin-ikhtisar li { margin-bottom: 6px; line-height: 1.6; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Data ringkas di panel detail dijajar dua kolom; menyusut sendiri bila sempit *\/<!-- [et_pb_line_break_holder] -->    .personalia-top > div,<!-- [et_pb_line_break_holder] -->    .detail-block {<!-- [et_pb_line_break_holder] -->      display: grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: repeat(2, minmax(0, 1fr));   \/* selalu dua kolom *\/<!-- [et_pb_line_break_holder] -->      gap: 8px 10px;<!-- [et_pb_line_break_holder] -->      align-items: stretch;                 \/* dua kotak bersebelahan jadi sama tinggi *\/<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .baris-penuh { grid-column: 1 \/ -1; }<!-- [et_pb_line_break_holder] -->    .personalia-top { display: block !important; margin-top: 0 !important; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Kotak data dibuat ringkas: label kecil di atas, nilai di bawahnya *\/<!-- [et_pb_line_break_holder] -->    .personalia-top > div > p,<!-- [et_pb_line_break_holder] -->    .personalia-top > div > .kotak-data,<!-- [et_pb_line_break_holder] -->    .detail-block > p {<!-- [et_pb_line_break_holder] -->      height: 100%;<!-- [et_pb_line_break_holder] -->      margin: 0 !important;<!-- [et_pb_line_break_holder] -->      box-sizing: border-box;<!-- [et_pb_line_break_holder] -->      display: flex !important;<!-- [et_pb_line_break_holder] -->      flex-direction: column;<!-- [et_pb_line_break_holder] -->      gap: 3px;<!-- [et_pb_line_break_holder] -->      background: #f8f9fb !important;<!-- [et_pb_line_break_holder] -->      border: 1px solid #eef1f7 !important;<!-- [et_pb_line_break_holder] -->      border-radius: 10px !important;<!-- [et_pb_line_break_holder] -->      padding: 9px 11px !important;<!-- [et_pb_line_break_holder] -->      font-size: 12.5px !important;<!-- [et_pb_line_break_holder] -->      line-height: 1.45 !important;<!-- [et_pb_line_break_holder] -->      color: #1a202c !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .personalia-top > div > p > strong,<!-- [et_pb_line_break_holder] -->    .personalia-top > div > .kotak-data > strong,<!-- [et_pb_line_break_holder] -->    .detail-block > p > strong {<!-- [et_pb_line_break_holder] -->      display: block;<!-- [et_pb_line_break_holder] -->      font-size: 9.5px !important;<!-- [et_pb_line_break_holder] -->      text-transform: uppercase;<!-- [et_pb_line_break_holder] -->      letter-spacing: .5px;<!-- [et_pb_line_break_holder] -->      font-weight: 700 !important;<!-- [et_pb_line_break_holder] -->      color: #8a93a5 !important;<!-- [et_pb_line_break_holder] -->      margin: 0 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .detail-block > div:not(.aksi-detail) { height: 100%; margin: 0; box-sizing: border-box; }<!-- [et_pb_line_break_holder] -->    .detail-block h5 {<!-- [et_pb_line_break_holder] -->      font-size: 12px !important;<!-- [et_pb_line_break_holder] -->      text-transform: uppercase;<!-- [et_pb_line_break_holder] -->      letter-spacing: .6px;<!-- [et_pb_line_break_holder] -->      color: #667085 !important;<!-- [et_pb_line_break_holder] -->      margin-bottom: 8px !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .detail-block { margin-top: 18px !important; }<!-- [et_pb_line_break_holder] -->    .status-badge { font-size: 12px; font-weight: 700; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Nilai boleh membungkus ke baris berikutnya, tidak terpotong *\/<!-- [et_pb_line_break_holder] -->    .personalia-top > div > p > span,<!-- [et_pb_line_break_holder] -->    .detail-block > p > span {<!-- [et_pb_line_break_holder] -->      overflow-wrap: anywhere;<!-- [et_pb_line_break_holder] -->      word-break: break-word;<!-- [et_pb_line_break_holder] -->      min-width: 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    #side-dosen-nip, #side-dosen-nidn, #side-tendik-nip { font-size: 11.8px !important; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Chip tautan pada kartu daftar dosen *\/<!-- [et_pb_line_break_holder] -->    .chip-kartu {<!-- [et_pb_line_break_holder] -->      display: inline-flex; align-items: center; gap: 4px;<!-- [et_pb_line_break_holder] -->      padding: 3px 8px; border-radius: 5px;<!-- [et_pb_line_break_holder] -->      font-size: 10.5px; font-weight: 600; text-decoration: none;<!-- [et_pb_line_break_holder] -->      border: 1px solid transparent; white-space: nowrap;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .chip-kartu i { font-size: 12px; }<!-- [et_pb_line_break_holder] -->    .chip-kartu.sinta   { background: #fff1f0; border-color: #ffd0cc; color: #c0392b; }<!-- [et_pb_line_break_holder] -->    .chip-kartu.scopus  { background: #fff7e6; border-color: #ffe0a3; color: #b26a00; }<!-- [et_pb_line_break_holder] -->    .chip-kartu.scholar { background: #eaf2ff; border-color: #c7d9fb; color: #1a56db; }<!-- [et_pb_line_break_holder] -->    .chip-kartu.drh     { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Tautan eksternal: satu chip per sumber, lengkap dengan ikon *\/<!-- [et_pb_line_break_holder] -->    .tautan-eksternal { display: flex; flex-wrap: wrap; gap: 8px; }<!-- [et_pb_line_break_holder] -->    .tautan-eksternal a {<!-- [et_pb_line_break_holder] -->      display: inline-flex; align-items: center; gap: 6px;<!-- [et_pb_line_break_holder] -->      padding: 8px 12px; border-radius: 9px;<!-- [et_pb_line_break_holder] -->      font-size: 12px; font-weight: 700; text-decoration: none;<!-- [et_pb_line_break_holder] -->      border: 1px solid transparent;<!-- [et_pb_line_break_holder] -->      transition: filter .15s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .tautan-eksternal a:hover { filter: brightness(.95); }<!-- [et_pb_line_break_holder] -->    .tautan-eksternal a i { font-size: 15px; }<!-- [et_pb_line_break_holder] -->    .tautan-eksternal a.sinta   { background: #fff1f0; border-color: #ffd0cc; color: #c0392b; }<!-- [et_pb_line_break_holder] -->    .tautan-eksternal a.scopus  { background: #fff7e6; border-color: #ffe0a3; color: #b26a00; }<!-- [et_pb_line_break_holder] -->    .tautan-eksternal a.scholar { background: #eaf2ff; border-color: #c7d9fb; color: #1a56db; }<!-- [et_pb_line_break_holder] -->    .tautan-eksternal a.drh     { background: #f0fdf4; border-color: #bbf7d0; color: #15803d; }<!-- [et_pb_line_break_holder] -->    .tautan-eksternal a.dokumen { background: #f4f4f5; border-color: #e4e4e7; color: #3f3f46; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* NIP bisa diklik untuk menyalin *\/<!-- [et_pb_line_break_holder] -->    .klik-salin {<!-- [et_pb_line_break_holder] -->      cursor: pointer;<!-- [et_pb_line_break_holder] -->      border-bottom: 1px dashed #b7c0cf;<!-- [et_pb_line_break_holder] -->      transition: color .15s ease, border-color .15s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .klik-salin:hover { color: #175cd3; border-color: #175cd3; }<!-- [et_pb_line_break_holder] -->    .klik-salin.tersalin { color: #027a48; border-color: #027a48; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Nomor panjang (NIP\/NIDN) jangan dipatahkan di tengah angka *\/<!-- [et_pb_line_break_holder] -->    #side-dosen-nip, #side-dosen-nidn, #side-tendik-nip,<!-- [et_pb_line_break_holder] -->    .profile-sidebar #side-dosen-nip, .profile-sidebar #side-dosen-nidn, .profile-sidebar #side-tendik-nip {<!-- [et_pb_line_break_holder] -->      white-space: nowrap !important;<!-- [et_pb_line_break_holder] -->      word-break: keep-all !important;<!-- [et_pb_line_break_holder] -->      overflow-wrap: normal !important;<!-- [et_pb_line_break_holder] -->      font-variant-numeric: tabular-nums;<!-- [et_pb_line_break_holder] -->      letter-spacing: -.2px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .personalia-top > div > h5,<!-- [et_pb_line_break_holder] -->    .detail-block > h5,<!-- [et_pb_line_break_holder] -->    .personalia-top > div > .status-badge,<!-- [et_pb_line_break_holder] -->    .detail-block > .status-badge { grid-column: 1 \/ -1; }<!-- [et_pb_line_break_holder] -->    \/* Blok berisi teks panjang tetap satu kolom penuh *\/<!-- [et_pb_line_break_holder] -->    #r-t-ikhtisar-blok, #r-t-sertifikat-blok { grid-template-columns: 1fr; }<!-- [et_pb_line_break_holder] -->    .teks-kosong { color: #98a2b3; font-style: italic; }<!-- [et_pb_line_break_holder] -->    #r-d-opini .detail-ikhtisar { font-size: 12.5px; line-height: 1.6; color: #1a202c; margin: 0; }<!-- [et_pb_line_break_holder] -->    #r-d-opini .poin-ikhtisar { margin-top: 2px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Daftar kartu dan panel detail dimulai pada garis atas yang sama *\/<!-- [et_pb_line_break_holder] -->    .dosen-layout > * { margin-top: 0 !important; }<!-- [et_pb_line_break_holder] -->    .dosen-layout .profile-sidebar > *:first-child,<!-- [et_pb_line_break_holder] -->    .dosen-layout .dosen-grid > *:first-child { margin-top: 0 !important; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 SLIDER PIMPINAN \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    \/* Menghapus jarak bawaan section\/row Divi di sekitar slider agar menempel ke menu.<!-- [et_pb_line_break_holder] -->       Bila peramban tidak mendukung :has, jarak itu bisa juga dinolkan lewat pengaturan Divi. *\/<!-- [et_pb_line_break_holder] -->    .et_pb_section:has(#slider-pimpinan),<!-- [et_pb_line_break_holder] -->    .et_pb_row:has(#slider-pimpinan),<!-- [et_pb_line_break_holder] -->    .et_pb_column:has(#slider-pimpinan),<!-- [et_pb_line_break_holder] -->    .et_pb_module:has(#slider-pimpinan),<!-- [et_pb_line_break_holder] -->    .et_pb_code_inner:has(#slider-pimpinan) {<!-- [et_pb_line_break_holder] -->      padding-top: 0 !important;<!-- [et_pb_line_break_holder] -->      margin-top: 0 !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Melebar penuh selebar layar meski berada di dalam wadah Divi yang terbatas *\/<!-- [et_pb_line_break_holder] -->    .slider-pimpinan {<!-- [et_pb_line_break_holder] -->      position: relative;<!-- [et_pb_line_break_holder] -->      overflow: hidden;<!-- [et_pb_line_break_holder] -->      width: 100vw;<!-- [et_pb_line_break_holder] -->      max-width: 100vw;<!-- [et_pb_line_break_holder] -->      margin-left: calc(50% - 50vw);<!-- [et_pb_line_break_holder] -->      margin-right: calc(50% - 50vw);<!-- [et_pb_line_break_holder] -->      margin-top: 0;<!-- [et_pb_line_break_holder] -->      margin-bottom: 30px;<!-- [et_pb_line_break_holder] -->      border-radius: 0;<!-- [et_pb_line_break_holder] -->      min-height: 340px;<!-- [et_pb_line_break_holder] -->      background-color: #2b7a4b;<!-- [et_pb_line_break_holder] -->      background-image: url('https:\/\/feb.um.ac.id\/wp-content\/uploads\/2026\/06\/Aset-W-UM025-scaled.png');<!-- [et_pb_line_break_holder] -->      background-size: cover;<!-- [et_pb_line_break_holder] -->      background-position: center;<!-- [et_pb_line_break_holder] -->      background-repeat: no-repeat;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Lapisan gelap tipis agar teks putih tetap terbaca di atas gambar *\/<!-- [et_pb_line_break_holder] -->    .slider-pimpinan::before {<!-- [et_pb_line_break_holder] -->      content: '';<!-- [et_pb_line_break_holder] -->      position: absolute; inset: 0;<!-- [et_pb_line_break_holder] -->      background: linear-gradient(90deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.12) 55%, rgba(0,0,0,0) 100%);<!-- [et_pb_line_break_holder] -->      pointer-events: none;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slider-isi, .slider-nav, .slider-titik { position: relative; z-index: 1; }<!-- [et_pb_line_break_holder] -->    .slider-isi { display: flex; transition: transform .5s cubic-bezier(.4, 0, .2, 1); }<!-- [et_pb_line_break_holder] -->    \/* Slide HARUS selebar penuh; pembatas lebar dipasang pada pembungkus di dalamnya,<!-- [et_pb_line_break_holder] -->       kalau dipasang di slide-nya, pergeseran 100% jadi meleset dan slide tetangga ikut terlihat. *\/<!-- [et_pb_line_break_holder] -->    .slide-pimpinan {<!-- [et_pb_line_break_holder] -->      flex: 0 0 100%;<!-- [et_pb_line_break_holder] -->      width: 100%;<!-- [et_pb_line_break_holder] -->      max-width: 100%;<!-- [et_pb_line_break_holder] -->      min-width: 100%;<!-- [et_pb_line_break_holder] -->      box-sizing: border-box;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slide-dalam {<!-- [et_pb_line_break_holder] -->      display: grid;<!-- [et_pb_line_break_holder] -->      grid-template-columns: minmax(0, 420px) minmax(0, 1fr);<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      gap: 30px;<!-- [et_pb_line_break_holder] -->      max-width: 1180px;<!-- [et_pb_line_break_holder] -->      margin: 0 auto;<!-- [et_pb_line_break_holder] -->      padding: 34px 24px 54px;<!-- [et_pb_line_break_holder] -->      box-sizing: border-box;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slide-teks { text-shadow: 0 1px 12px rgba(0,0,0,.25); }<!-- [et_pb_line_break_holder] -->    \/* Foto PNG transparan tampil apa adanya: tanpa lingkaran putih, hanya bayangan halus *\/<!-- [et_pb_line_break_holder] -->    \/* Foto tampil bulat; saat disorot berubah halus jadi kotak membulat sambil membesar *\/<!-- [et_pb_line_break_holder] -->    \/* Diam: lingkaran. Disorot: tumbuh jadi potret 796x1100 (rasio ~0,72) bersudut lengkung,<!-- [et_pb_line_break_holder] -->       dengan dasar foto tetap di garis yang sama sehingga terasa tumbuh ke atas. *\/<!-- [et_pb_line_break_holder] -->    \/* Tinggi area foto DIPATOK 360px sejak awal (walau fotonya bulat 260px).<!-- [et_pb_line_break_holder] -->       Dengan begitu saat disorot tidak ada perubahan tinggi slide -> tidak ada<!-- [et_pb_line_break_holder] -->       pergeseran tata letak yang membuat tampilan bergetar. *\/<!-- [et_pb_line_break_holder] -->    .slide-foto {<!-- [et_pb_line_break_holder] -->      justify-self: center;<!-- [et_pb_line_break_holder] -->      align-self: end;<!-- [et_pb_line_break_holder] -->      width: 260px; height: 360px;<!-- [et_pb_line_break_holder] -->      background: transparent;<!-- [et_pb_line_break_holder] -->      overflow: visible;<!-- [et_pb_line_break_holder] -->      display: flex; align-items: flex-end; justify-content: center;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slide-foto img {<!-- [et_pb_line_break_holder] -->      width: 260px; height: 260px;          \/* lingkaran saat diam *\/<!-- [et_pb_line_break_holder] -->      object-fit: cover;<!-- [et_pb_line_break_holder] -->      object-position: top center;<!-- [et_pb_line_break_holder] -->      display: block; margin: 0;<!-- [et_pb_line_break_holder] -->      border-radius: 50%;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 12px 26px rgba(0, 0, 0, .22);<!-- [et_pb_line_break_holder] -->      transition: height .55s cubic-bezier(.22, 1, .36, 1),<!-- [et_pb_line_break_holder] -->                  border-radius .55s cubic-bezier(.22, 1, .36, 1),<!-- [et_pb_line_break_holder] -->                  box-shadow .5s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slide-pimpinan:hover .slide-foto img {<!-- [et_pb_line_break_holder] -->      height: 360px;                      \/* 260 x 360 \u2248 rasio foto asli *\/<!-- [et_pb_line_break_holder] -->      border-radius: 22px;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 24px 44px rgba(0, 0, 0, .32);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slide-pimpinan:hover .slide-jabatan { transform: translateX(4px); }<!-- [et_pb_line_break_holder] -->    .slide-jabatan { transition: transform .35s cubic-bezier(.22, 1, .36, 1); }<!-- [et_pb_line_break_holder] -->    @media (prefers-reduced-motion: reduce) {<!-- [et_pb_line_break_holder] -->      .slide-foto img, .slide-foto .avatar-inisial, .slide-jabatan { transition: none; }<!-- [et_pb_line_break_holder] -->      .slide-pimpinan:hover .slide-foto img { height: 260px; border-radius: 50%; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Avatar inisial mengikuti bentuk pembungkusnya *\/<!-- [et_pb_line_break_holder] -->    .slide-foto .avatar-inisial {<!-- [et_pb_line_break_holder] -->      font-size: 54px; color: #fff;<!-- [et_pb_line_break_holder] -->      background: rgba(255, 255, 255, .25);<!-- [et_pb_line_break_holder] -->      width: 100%; height: 100%;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slide-teks { color: #fff; }<!-- [et_pb_line_break_holder] -->    .slide-jabatan { font-size: clamp(22px, 2.4vw, 32px); font-weight: 800; margin: 0 0 8px; line-height: 1.2; }<!-- [et_pb_line_break_holder] -->    .slide-nama { font-size: clamp(15px, 1.4vw, 19px); font-weight: 500; margin: 0; opacity: .95; }<!-- [et_pb_line_break_holder] -->    .slide-nama .tautan-nama {<!-- [et_pb_line_break_holder] -->      color: inherit;<!-- [et_pb_line_break_holder] -->      text-decoration: none;<!-- [et_pb_line_break_holder] -->      border-bottom: 1px solid rgba(255, 255, 255, .45);<!-- [et_pb_line_break_holder] -->      padding-bottom: 2px;<!-- [et_pb_line_break_holder] -->      transition: border-color .2s ease, opacity .2s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slide-nama .tautan-nama:hover { border-bottom-color: #fff; opacity: 1; }<!-- [et_pb_line_break_holder] -->    .slide-bidang { font-size: 13.5px; margin-top: 8px; opacity: .85; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .slider-nav {<!-- [et_pb_line_break_holder] -->      position: absolute; top: 50%; transform: translateY(-50%);<!-- [et_pb_line_break_holder] -->      width: 40px; height: 40px; border: none; border-radius: 50%;<!-- [et_pb_line_break_holder] -->      background: rgba(255, 255, 255, .25); color: #fff;<!-- [et_pb_line_break_holder] -->      font-size: 22px; line-height: 1; cursor: pointer;<!-- [et_pb_line_break_holder] -->      opacity: 0; transition: opacity .2s ease, background .2s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slider-pimpinan:hover .slider-nav, .slider-nav:focus-visible { opacity: 1; }<!-- [et_pb_line_break_holder] -->    .slider-nav:hover { background: rgba(255, 255, 255, .4); }<!-- [et_pb_line_break_holder] -->    .slider-nav.prev { left: 14px; }<!-- [et_pb_line_break_holder] -->    .slider-nav.next { right: 14px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .slider-titik { position: absolute; left: 0; right: 0; bottom: 18px; display: flex; justify-content: center; gap: 9px; }<!-- [et_pb_line_break_holder] -->    .slider-titik button {<!-- [et_pb_line_break_holder] -->      width: 10px; height: 10px; padding: 0; border: none; border-radius: 50%;<!-- [et_pb_line_break_holder] -->      background: rgba(255, 255, 255, .45); cursor: pointer; transition: background .2s ease, transform .2s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .slider-titik button.aktif { background: #fff; transform: scale(1.15); }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    @media (max-width: 768px) {<!-- [et_pb_line_break_holder] -->      .slide-dalam { grid-template-columns: 1fr; text-align: center; padding: 24px 20px 42px; gap: 14px; }<!-- [et_pb_line_break_holder] -->      .slide-foto { width: 180px; height: 180px; }<!-- [et_pb_line_break_holder] -->      .slide-foto img, .slide-foto .avatar-inisial { width: 180px; height: 180px; font-size: 40px; }<!-- [et_pb_line_break_holder] -->      \/* Di layar sentuh tidak ada sorot, bentuknya dibiarkan tetap bulat *\/<!-- [et_pb_line_break_holder] -->      .slide-pimpinan:hover .slide-foto img { height: 180px; border-radius: 50%; }<!-- [et_pb_line_break_holder] -->      .slider-nav { display: none; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 BILAH KENDALI YANG IKUT MENGGULIR (STICKY) \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    .staff-toolbar {<!-- [et_pb_line_break_holder] -->      position: sticky;<!-- [et_pb_line_break_holder] -->      top: var(--offset-atas, 90px);<!-- [et_pb_line_break_holder] -->      z-index: 30;<!-- [et_pb_line_break_holder] -->      background: #fff;<!-- [et_pb_line_break_holder] -->      \/* Melebar sampai tepi wadah supaya kartu tidak mengintip di sisi kiri\/kanan<!-- [et_pb_line_break_holder] -->         saat bilah ini menempel \u2014 itu yang membuatnya terlihat melayang. *\/<!-- [et_pb_line_break_holder] -->      margin: 0 -28px;<!-- [et_pb_line_break_holder] -->      padding: 12px 28px 2px;<!-- [et_pb_line_break_holder] -->      transition: box-shadow .25s ease, padding .25s ease, border-color .25s ease;<!-- [et_pb_line_break_holder] -->      border-bottom: 1px solid transparent;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Saat menempel: menyatu sebagai satu bilah utuh, bukan kotak mengambang *\/<!-- [et_pb_line_break_holder] -->    .staff-toolbar.menempel {<!-- [et_pb_line_break_holder] -->      background: rgba(255, 255, 255, .97);<!-- [et_pb_line_break_holder] -->      backdrop-filter: saturate(180%) blur(8px);<!-- [et_pb_line_break_holder] -->      -webkit-backdrop-filter: saturate(180%) blur(8px);<!-- [et_pb_line_break_holder] -->      border-bottom-color: #e4e7ec;<!-- [et_pb_line_break_holder] -->      box-shadow: 0 10px 20px -12px rgba(16, 24, 40, .25);<!-- [et_pb_line_break_holder] -->      padding-top: 10px;<!-- [et_pb_line_break_holder] -->      padding-bottom: 8px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    \/* Baris jumlah data disembunyikan saat menempel agar bilahnya tipis *\/<!-- [et_pb_line_break_holder] -->    .staff-toolbar.menempel .staff-meta { display: none; }<!-- [et_pb_line_break_holder] -->    @media (max-width: 980px) { .staff-toolbar { margin: 0 -14px; padding-left: 14px; padding-right: 14px; } }<!-- [et_pb_line_break_holder] -->    .staff-toolbar.menempel .staff-tabs { margin-bottom: 10px !important; }<!-- [et_pb_line_break_holder] -->    .staff-toolbar.menempel .staff-tab { font-size: 18px !important; padding-bottom: 8px !important; }<!-- [et_pb_line_break_holder] -->    .staff-toolbar.menempel .search-wrapper { margin-bottom: 8px !important; }<!-- [et_pb_line_break_holder] -->    .staff-toolbar.menempel #sync-badge { display: none; }      \/* badge sinkron disembunyikan saat ringkas *\/<!-- [et_pb_line_break_holder] -->    .staff-toolbar.menempel .staff-meta { margin-bottom: 8px; }<!-- [et_pb_line_break_holder] -->    @media (max-width: 768px) {<!-- [et_pb_line_break_holder] -->      .staff-toolbar.menempel .staff-tab { font-size: 15px !important; }<!-- [et_pb_line_break_holder] -->      .staff-toolbar.menempel .search-wrapper select { display: none; }   \/* di HP sisakan kotak cari *\/<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 SATU BARIS: PENCARIAN, FILTER, URUTAN, STATUS SINKRON \u2500\u2500 *\/<!-- [et_pb_line_break_holder] -->    .search-wrapper {<!-- [et_pb_line_break_holder] -->      display: flex !important;<!-- [et_pb_line_break_holder] -->      flex-wrap: nowrap !important;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      gap: 10px !important;<!-- [et_pb_line_break_holder] -->      margin-bottom: 16px !important;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .search-wrapper #staff-search { flex: 1 1 220px; min-width: 0 !important; height: 46px; }<!-- [et_pb_line_break_holder] -->    .search-wrapper select {<!-- [et_pb_line_break_holder] -->      flex: 0 1 auto;<!-- [et_pb_line_break_holder] -->      min-width: 0 !important;<!-- [et_pb_line_break_holder] -->      max-width: 220px;<!-- [et_pb_line_break_holder] -->      height: 46px;<!-- [et_pb_line_break_holder] -->      padding: 10px 14px !important;<!-- [et_pb_line_break_holder] -->      border: 1px solid #d9dee7 !important;<!-- [et_pb_line_break_holder] -->      border-radius: 12px !important;          \/* samakan lengkung sudutnya dengan kotak cari *\/<!-- [et_pb_line_break_holder] -->      background: #fff !important;<!-- [et_pb_line_break_holder] -->      color: #344054 !important;<!-- [et_pb_line_break_holder] -->      font-family: inherit;<!-- [et_pb_line_break_holder] -->      font-size: 14px !important;<!-- [et_pb_line_break_holder] -->      cursor: pointer;<!-- [et_pb_line_break_holder] -->      outline: none;<!-- [et_pb_line_break_holder] -->      transition: border-color .2s;<!-- [et_pb_line_break_holder] -->      text-overflow: ellipsis;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .search-wrapper select:focus { border-color: #fadd00 !important; }<!-- [et_pb_line_break_holder] -->    .search-wrapper #sync-badge { flex: 0 0 auto; height: 46px; border-radius: 12px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Layar sedang: status sinkron turun dulu, kendali utama tetap sebaris *\/<!-- [et_pb_line_break_holder] -->    @media (max-width: 1200px) {<!-- [et_pb_line_break_holder] -->      .search-wrapper { flex-wrap: wrap !important; }<!-- [et_pb_line_break_holder] -->      .search-wrapper #sync-badge { order: 5; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    @media (max-width: 768px) {<!-- [et_pb_line_break_holder] -->      .search-wrapper #staff-search { flex: 1 1 100%; }<!-- [et_pb_line_break_holder] -->      .search-wrapper select { flex: 1 1 45%; max-width: none; }<!-- [et_pb_line_break_holder] -->      .search-wrapper #sync-badge { width: 100%; justify-content: center; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 BILAH TAB PADA HALAMAN SATU TAB \u2500\u2500<!-- [et_pb_line_break_holder] -->       Bentuknya sama persis dengan bilah tab di halaman Profil, hanya saja<!-- [et_pb_line_break_holder] -->       tiap tab berupa tautan ke halaman Profil, dan tab halaman ini yang aktif. *\/<!-- [et_pb_line_break_holder] -->    a.tab-btn {<!-- [et_pb_line_break_holder] -->      display: inline-flex;<!-- [et_pb_line_break_holder] -->      align-items: center;<!-- [et_pb_line_break_holder] -->      justify-content: center;<!-- [et_pb_line_break_holder] -->      text-decoration: none;<!-- [et_pb_line_break_holder] -->      line-height: 1.3;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    a.tab-btn:hover { text-decoration: none; }<!-- [et_pb_line_break_holder] -->    .proses-kosong-bagan {<!-- [et_pb_line_break_holder] -->      display: flex; flex-direction: column; align-items: center; justify-content: center;<!-- [et_pb_line_break_holder] -->      gap: 10px; min-height: 220px; color: #98a2b3; font-size: 13.5px;<!-- [et_pb_line_break_holder] -->      background: #f8f9fb; border-radius: 12px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Baris kedua: halaman sejenis di dalam kelompok Dosen & Tendik *\/<!-- [et_pb_line_break_holder] -->    .sub-nav {<!-- [et_pb_line_break_holder] -->      display: flex; flex-wrap: wrap; align-items: center; gap: 8px;<!-- [et_pb_line_break_holder] -->      margin: -1.6rem 0 1.8rem;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sub-nav .sub-label {<!-- [et_pb_line_break_holder] -->      display: inline-flex; align-items: center; gap: 6px;<!-- [et_pb_line_break_holder] -->      font-size: 12px; font-weight: 700; letter-spacing: .04em;<!-- [et_pb_line_break_holder] -->      text-transform: uppercase; color: #98a2b3;<!-- [et_pb_line_break_holder] -->      margin-right: 2px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sub-nav a, .sub-nav span.kini {<!-- [et_pb_line_break_holder] -->      display: inline-flex; align-items: center;<!-- [et_pb_line_break_holder] -->      padding: 7px 14px; border-radius: 999px;<!-- [et_pb_line_break_holder] -->      font-size: 12.5px; font-weight: 600; line-height: 1.3;<!-- [et_pb_line_break_holder] -->      text-decoration: none; white-space: nowrap;<!-- [et_pb_line_break_holder] -->      border: 1px solid #e4e7ec; background: #fff; color: #475467;<!-- [et_pb_line_break_holder] -->      transition: background .15s ease, border-color .15s ease, color .15s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sub-nav a:hover { background: #f8f9fb; border-color: #cfd6e0; color: #1a202c; }<!-- [et_pb_line_break_holder] -->    .sub-nav span.kini { background: #1a202c; border-color: #1a202c; color: #fff; }<!-- [et_pb_line_break_holder] -->    @media (max-width: 640px) {<!-- [et_pb_line_break_holder] -->      .sub-nav { margin-top: -1.2rem; gap: 6px; }<!-- [et_pb_line_break_holder] -->      .sub-nav a, .sub-nav span.kini { font-size: 11.5px; padding: 6px 11px; }<!-- [et_pb_line_break_holder] -->      .sub-nav .sub-label { width: 100%; margin-bottom: 2px; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Jarak bawah agar kartu terakhir tidak menempel ke footer *\/<!-- [et_pb_line_break_holder] -->    .mode-satu-tab { padding-bottom: 46px; }<!-- [et_pb_line_break_holder] -->    .mode-satu-tab .dosen-grid { padding-bottom: 6px; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Chip filter yang sedang aktif *\/<!-- [et_pb_line_break_holder] -->    .chip-filter {<!-- [et_pb_line_break_holder] -->      display: flex; flex-wrap: wrap; gap: 8px;<!-- [et_pb_line_break_holder] -->      margin: -6px 0 16px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .chip-filter button {<!-- [et_pb_line_break_holder] -->      display: inline-flex; align-items: center; gap: 7px;<!-- [et_pb_line_break_holder] -->      background: #eff4ff; border: 1px solid #c7d7fe; border-radius: 999px;<!-- [et_pb_line_break_holder] -->      padding: 6px 12px; cursor: pointer;<!-- [et_pb_line_break_holder] -->      font-size: 12px; font-weight: 700; color: #1d4ed8;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .chip-filter button:hover { background: #dbe7ff; }<!-- [et_pb_line_break_holder] -->    .chip-filter button .x { font-size: 14px; line-height: 1; opacity: .7; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Tombol aksi di panel detail \u2014 selalu satu baris penuh di bawah data, bukan di samping surel *\/<!-- [et_pb_line_break_holder] -->    .aksi-detail {<!-- [et_pb_line_break_holder] -->      grid-column: 1 \/ -1;<!-- [et_pb_line_break_holder] -->      display: flex; flex-wrap: wrap; gap: 8px;<!-- [et_pb_line_break_holder] -->      margin-top: 14px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .aksi-detail:empty { display: none; }<!-- [et_pb_line_break_holder] -->    .aksi-detail button, .aksi-detail a {<!-- [et_pb_line_break_holder] -->      display: inline-flex; align-items: center; gap: 6px;<!-- [et_pb_line_break_holder] -->      background: #f2f4f7; border: 1px solid #e4e7ec; border-radius: 8px;<!-- [et_pb_line_break_holder] -->      padding: 8px 12px; cursor: pointer; text-decoration: none;<!-- [et_pb_line_break_holder] -->      font-size: 12px; font-weight: 700; color: #344054;<!-- [et_pb_line_break_holder] -->      transition: background .15s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .aksi-detail button:hover, .aksi-detail a:hover { background: #e4e7ec; }<!-- [et_pb_line_break_holder] -->    .aksi-detail .sukses { background: #ecfdf3; border-color: #abefc6; color: #027a48; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Navigasi halaman *\/<!-- [et_pb_line_break_holder] -->    .paginasi {<!-- [et_pb_line_break_holder] -->      grid-column: 1 \/ -1;<!-- [et_pb_line_break_holder] -->      display: flex; flex-wrap: wrap; align-items: center; justify-content: center;<!-- [et_pb_line_break_holder] -->      gap: 6px; padding: 14px 0 4px;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .paginasi button {<!-- [et_pb_line_break_holder] -->      min-width: 38px; height: 38px; padding: 0 10px;<!-- [et_pb_line_break_holder] -->      background: #fff; border: 1px solid #d0d5dd; border-radius: 9px;<!-- [et_pb_line_break_holder] -->      font-size: 13px; font-weight: 700; color: #344054; cursor: pointer;<!-- [et_pb_line_break_holder] -->      transition: background .15s ease, border-color .15s ease, color .15s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .paginasi button:hover:not(:disabled) { background: #f9fafb; border-color: #98a2b3; }<!-- [et_pb_line_break_holder] -->    .paginasi button:disabled { opacity: .45; cursor: not-allowed; }<!-- [et_pb_line_break_holder] -->    .paginasi button.aktif { background: #1a202c; border-color: #1a202c; color: #fff; }<!-- [et_pb_line_break_holder] -->    .paginasi .jeda { padding: 0 2px; color: #98a2b3; font-weight: 700; }<!-- [et_pb_line_break_holder] -->    @media (max-width: 480px) {<!-- [et_pb_line_break_holder] -->      .paginasi button { min-width: 34px; height: 34px; font-size: 12px; padding: 0 8px; }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    .wakil-card.kosong { display: flex; align-items: center; justify-content: center; color: #98a2b3; font-size: 12.5px; min-height: 140px; }<!-- [et_pb_line_break_holder] -->    a.wakil-card { text-decoration: none; color: inherit; display: block; transition: transform .18s ease, box-shadow .18s ease; }<!-- [et_pb_line_break_holder] -->    a.wakil-card:hover { transform: translateY(-2px); box-shadow: 0 8px 18px rgba(16,24,40,.08); }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Badge status sinkronisasi data spreadsheet *\/<!-- [et_pb_line_break_holder] -->    .sync-badge {<!-- [et_pb_line_break_holder] -->      display: inline-flex; align-items: center; gap: 6px;<!-- [et_pb_line_break_holder] -->      padding: 8px 12px; border-radius: 999px;<!-- [et_pb_line_break_holder] -->      background: #f2f4f7; color: #475467;<!-- [et_pb_line_break_holder] -->      font-size: 12px; font-weight: 600; white-space: nowrap;<!-- [et_pb_line_break_holder] -->      transition: background .3s ease, color .3s ease;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    .sync-badge i { font-size: 14px; }<!-- [et_pb_line_break_holder] -->    .sync-badge.is-syncing { background: #eff8ff; color: #175cd3; }<!-- [et_pb_line_break_holder] -->    .sync-badge.is-syncing i { animation: syncSpin 1s linear infinite; }<!-- [et_pb_line_break_holder] -->    .sync-badge.is-updated { background: #ecfdf3; color: #027a48; }<!-- [et_pb_line_break_holder] -->    .sync-badge.is-error { background: #fef3f2; color: #b42318; }<!-- [et_pb_line_break_holder] -->    @keyframes syncSpin { to { transform: rotate(360deg); } }<!-- [et_pb_line_break_holder] -->    @media (max-width: 480px) { .sync-badge { width: 100%; justify-content: center; } }<!-- [et_pb_line_break_holder] -->  <\/style>\n<p><!-- [et_pb_line_break_holder] --><\/head><!-- [et_pb_line_break_holder] --><body><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- \u2500\u2500 STRUKTUR LAYOUT HALAMAN (HTML) \u2500\u2500 --><!-- [et_pb_line_break_holder] -->  <!-- Slider pimpinan: isinya diambil dari sheet Dosen (kolom F = Tugas Tambahan) --><!-- [et_pb_line_break_holder] -->  <\/p>\n<section class=\"slider-pimpinan\" id=\"slider-pimpinan\" aria-label=\"Pimpinan Fakultas\" hidden><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"slider-isi\" id=\"slider-isi\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <button type=\"button\" class=\"slider-nav prev\" id=\"slider-prev\" aria-label=\"Sebelumnya\">&lsaquo;<\/button><!-- [et_pb_line_break_holder] -->    <button type=\"button\" class=\"slider-nav next\" id=\"slider-next\" aria-label=\"Berikutnya\">&rsaquo;<\/button><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"slider-titik\" id=\"slider-titik\" role=\"tablist\" aria-label=\"Pilih pimpinan\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/section>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<h1 class=\"page-title\">Tagline Fakultas<\/h1>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <\/p>\n<div class=\"tab-wrap\"><!-- [et_pb_line_break_holder] -->    <!-- Navigasi Menu Tab Atas (Kini Berisi 7 Tombol Termasuk \"Tentang Kami\" & \"Peta Proses Bisnis & SOP\") --><!-- [et_pb_line_break_holder] -->    <\/p>\n<nav class=\"tab-nav\" role=\"tablist\"><!-- [et_pb_line_break_holder] -->      <button class=\"tab-btn active\" role=\"tab\" aria-selected=\"true\" onclick=\"switchTab('visi', this)\">Visi, Misi &#038; Tujuan<\/button><!-- [et_pb_line_break_holder] -->      <button class=\"tab-btn\" role=\"tab\" aria-selected=\"false\" onclick=\"switchTab('tentang', this)\">Tentang Kami<\/button><!-- [et_pb_line_break_holder] -->      <button class=\"tab-btn\" role=\"tab\" aria-selected=\"false\" onclick=\"switchTab('sop', this)\">Peta Proses Bisnis &#038; SOP<\/button><!-- [et_pb_line_break_holder] -->      <button class=\"tab-btn\" role=\"tab\" aria-selected=\"false\" onclick=\"switchTab('sejarah', this)\">Sejarah<\/button><!-- [et_pb_line_break_holder] -->      <button class=\"tab-btn\" role=\"tab\" aria-selected=\"false\" onclick=\"switchTab('struktur', this)\">Struktur Organisasi<\/button><!-- [et_pb_line_break_holder] -->      <button class=\"tab-btn\" role=\"tab\" aria-selected=\"false\" onclick=\"switchTab('pimpinan', this)\">Pimpinan Fakultas<\/button><!-- [et_pb_line_break_holder] -->      <button class=\"tab-btn\" role=\"tab\" aria-selected=\"false\" onclick=\"switchTab('dosen', this)\">Dosen &#038; Tendik<\/button><!-- [et_pb_line_break_holder] -->    <\/nav>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- PANEL 1: VISI MISI --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"tab-visi\" class=\"tab-panel active\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"visi-wrapper teks-justify\" id=\"visi-wrapper\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<h2 class=\"section-title\">Visi, Misi &amp; Tujuan<\/h2>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"visi-grid\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"visi-section\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<h3 id=\"visi-heading\">Visi FEB UM<\/h3>\n<p><!-- [et_pb_line_break_holder] -->              <!-- Diisi otomatis dari spreadsheet. Isi di bawah hanya cadangan bila sheet gagal dimuat. --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"visi-card\" id=\"visi-card\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"visi-icon\"><i class=\"ti ti-target-arrow\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <pee>&ldquo;Menjadi fakultas yang unggul dan rujukan bidang kependidikan dan keilmuan bidang ekonomi, bisnis dan akuntansi yang inklusif, adaptif, dan berdampak bagi kemajuan bangsa pada tahun 2029.&rdquo;<\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"misi-section\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<h3 id=\"misi-heading\">Misi FEB UM<\/h3>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"misi-list\" id=\"misi-list\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"misi-item\"><span>01<\/span><pee>Menyelenggarakan pendidikan dan pembelajaran ekonomi, bisnis dan akuntansi yang berkualitas, inovatif, dan berorientasi kompetensi global.<\/pee><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"misi-item\"><span>02<\/span><pee>Menyelenggarakan penelitian kependidikan, ekonomi, bisnis dan akuntansi yang unggul, kolaboratif, dan berdampak bagi pengembangan ilmu pengetahuan serta masyarakat.<\/pee><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"misi-item\"><span>03<\/span><pee>Menyelenggarakan pengabdian kepada masyarakat berbasis riset yang memberdayakan dan berkontribusi pada penyelesaian permasalahan ekonomi, bisnis dan akuntansi.<\/pee><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"misi-item\"><span>04<\/span><pee>Membangun tata kelola SDM yang mendorong peningkatan kompetensi dan jejaring internasional.<\/pee><\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3 id=\"tujuan-heading\">Tujuan FEB UM<\/h3>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"tujuan-grid\" id=\"tujuan-grid\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"tujuan-card\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"tujuan-icon\"><i class=\"ti ti-school\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<h4>Lulusan Berdaya Saing<\/h4>\n<p><!-- [et_pb_line_break_holder] -->                <pee>Menghasilkan lulusan bidang kependidikan, ekonomi, bisnis dan akuntansi yang memiliki kompetensi akademik dan profesional yang berdaya saing nasional dan global.<\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"tujuan-card\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"tujuan-icon\"><i class=\"ti ti-bulb\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<h4>Riset &amp; Inovasi Bereputasi<\/h4>\n<p><!-- [et_pb_line_break_holder] -->                <pee>Menghasilkan karya ilmiah dan inovasi di bidang kependidikan, ekonomi, bisnis dan akuntansi bereputasi internasional yang bermanfaat bagi masyarakat, industri, dan kebijakan publik.<\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"tujuan-card\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"tujuan-icon\"><i class=\"ti ti-users-group\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<h4>Pengabdian Berbasis Riset<\/h4>\n<p><!-- [et_pb_line_break_holder] -->                <pee>Menghasilkan program pengabdian berbasis riset yang memperkuat kapasitas masyarakat dan mendukung pencapaian SDGs.<\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"tujuan-card\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"tujuan-icon\"><i class=\"ti ti-world\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<h4>Tata Kelola SDM Unggul<\/h4>\n<p><!-- [et_pb_line_break_holder] -->                <pee>Terwujudnya tata kelola SDM yang unggul dan adaptif melalui peningkatan kompetensi, profesionalisme, serta penguatan jejaring internasional.<\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- PANEL 1.5: TENTANG KAMI --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"tab-tentang\" class=\"tab-panel\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"about-grid\"><!-- [et_pb_line_break_holder] -->        <!-- Kolom Kiri: Detail Alamat & Kontak Resmi FEB UM --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"about-info-column\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"about-card-section\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3><i class=\"ti ti-map-pin\"><\/i> Alamat Resmi<\/h3>\n<p><!-- [et_pb_line_break_holder] -->            <!-- Diisi otomatis dari sheet \"tentang kami\"; isi di bawah hanya cadangan --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"address-detail\" id=\"about-alamat\"><!-- [et_pb_line_break_holder] -->              <strong>Fakultas Ekonomi dan Bisnis (FEB) &#8211; Universitas Negeri Malang<\/strong><!-- [et_pb_line_break_holder] -->              Gedung D7 Lantai 1 Ruang Tata Usaha, Kampus Utama UM<!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->              Jl. Semarang No.5, Sumbersari, Kec. Lowokwaru, Kota Malang, Jawa Timur 65145<!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"about-card-section\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3><i class=\"ti ti-headset\"><\/i> Kontak Layanan<\/h3>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"about-kontak\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"contact-item-row\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"contact-item-icon wa\"><!-- [et_pb_line_break_holder] -->                <i class=\"ti ti-brand-whatsapp\"><\/i><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"contact-item-info\"><!-- [et_pb_line_break_holder] -->                <strong>WhatsApp Hotline<\/strong><!-- [et_pb_line_break_holder] -->                <a href=\"https:\/\/wa.me\/6281234567890\" target=\"_blank\" rel=\"noopener\">+62 812-3456-7890<\/a><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"contact-item-row\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"contact-item-icon mail\"><!-- [et_pb_line_break_holder] -->                <i class=\"ti ti-mail\"><\/i><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"contact-item-info\"><!-- [et_pb_line_break_holder] -->                <strong>Surel Resmi<\/strong><!-- [et_pb_line_break_holder] -->                <a href=\"mailto:fe.feb@um.ac.id\">fe.feb@um.ac.id<\/a><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"contact-item-row\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"contact-item-icon\" style=\"background: #f4f6fc; color: #0d1735;\"><!-- [et_pb_line_break_holder] -->                <i class=\"ti ti-world\"><\/i><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"contact-item-info\"><!-- [et_pb_line_break_holder] -->                <strong>Situs Web Utama<\/strong><!-- [et_pb_line_break_holder] -->                <a href=\"https:\/\/feb.um.ac.id\" target=\"_blank\">feb.um.ac.id<\/a><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <!-- Kolom Kanan: Peta Google Maps Interaktif (Gedung D7 FEB UM) --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"map-container-card\"><!-- [et_pb_line_break_holder] -->          <iframe id=\"about-peta\" src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m18!1m12!1m3!1d3951.4281691238626!2d112.6138541758832!3d-7.954625292069904!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x2e788279149479b1%3A0x6b63ca04cf0b271d!2sFakultas%20Ekonomi%20dan%20Bisnis%20Universitas%20Negeri%20Malang!5e0!3m2!1sid!2sid!4v1700000000000!5m2!1sid!2sid\" allowfullscreen=\"\" loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\"><\/iframe><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- PANEL 1.6: PETA PROSES BISNIS & SOP --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"tab-sop\" class=\"tab-panel\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"sop-wrapper\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<h2 class=\"section-title\">Peta Proses Bisnis &#038; SOP<\/h2>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"sop-grid\"><!-- [et_pb_line_break_holder] -->          <!-- Card 1 --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sop-card\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"sop-icon\"><i class=\"ti ti-git-fork\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<h4>PETA PROSES BISNIS LAYANAN KETATAUSAHAAN<\/h4>\n<p><!-- [et_pb_line_break_holder] -->              <pee>Peta Proses Bisnis Layanan Ketatausahaan Di Fakultas Ekonomi Dan Bisnis Universitas Negeri Malang Bisa Dilihat Di Link Dibawah Ini.<\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <a href=\"https:\/\/drive.google.com\/file\/d\/1drnE3gyHcuVulctnvN6ZOkKnRwamW_T3\/view\" target=\"_blank\" class=\"sop-link-btn\" rel=\"noopener\">Lihat Dokumen <i class=\"ti ti-external-link\"><\/i><\/a><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <!-- Card 2 --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sop-card\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"sop-icon\"><i class=\"ti ti-notebook\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<h4>SOP LAYANAN AKADEMIK DAN KEMAHASISWAAN<\/h4>\n<p><!-- [et_pb_line_break_holder] -->              <pee>Standar Operasional Prosedur (SOP) Layanan Akademik Dan Kemahasiswaan Di Fakultas Ekonomi Dan Bisnis Universitas Negeri Malang Bisa Dilihat Di Link Dibawah Ini.<\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <a href=\"https:\/\/drive.google.com\/file\/d\/1v-n-h62bQI_hNIEP0c1t4X2KWEwyRusu\/view\" target=\"_blank\" class=\"sop-link-btn\" rel=\"noopener\">Lihat Dokumen <i class=\"ti ti-external-link\"><\/i><\/a><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <!-- Card 3 --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sop-card\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"sop-icon\"><i class=\"ti ti-coin\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<h4>SOP LAYANAN KEUANGAN DAN KEPEGAWAIAN<\/h4>\n<p><!-- [et_pb_line_break_holder] -->              <pee>Standar Operasional Prosedur (SOP) Layanan Keuangan Dan Kepegawaian (KK) Di Fakultas Ekonomi Dan Bisnis Universitas Negeri Malang Bisa Dilihat Di Link Dibawah Ini.<\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <a href=\"https:\/\/drive.google.com\/file\/d\/1Hf0A3vTJVTNk6zpBPBAqw95VJUUMDvnJ\/view\" target=\"_blank\" class=\"sop-link-btn\" rel=\"noopener\">Lihat Dokumen <i class=\"ti ti-external-link\"><\/i><\/a><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <!-- Card 4 --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sop-card\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"sop-icon\"><i class=\"ti ti-package\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<h4>SOP LAYANAN UMUM DAN ASET<\/h4>\n<p><!-- [et_pb_line_break_holder] -->              <pee>Standar Operasional Prosedur (SOP) Layanan UMUM Dan ASET Di Fakultas Ekonomi Dan Bisnis Universitas Negeri Malang Bisa Dilihat Di Link Dibawah Ini.<\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <a href=\"https:\/\/drive.google.com\/file\/d\/1JahLK8j1kURYXc4W-vENYQYYByfrM2A1\/view\" target=\"_blank\" class=\"sop-link-btn\" rel=\"noopener\">Lihat Dokumen <i class=\"ti ti-external-link\"><\/i><\/a><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- PANEL 2: SEJARAH --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"tab-sejarah\" class=\"tab-panel\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"history-wrapper\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<h2 class=\"history-title\">Sejarah Fakultas<\/h2>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <!-- Bagian Atas: Teks & Hero di Kanan --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"history-top-flow\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"history-hero-left\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1541339907198-e08756dedf3f?q=80&#038;w=800&#038;auto=format&#038;fit=cover\" alt=\"Hero Sejarah Fakultas\"><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"history-text-flow\" id=\"narasi-sejarah\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3>Narasi Sejarah<\/h3>\n<p><!-- [et_pb_line_break_holder] -->            <pee>Pada tahun 1979-1982 Jurusan Tata Perusahaan disebut juga Jurusan Pendidikan Bisnis. Selanjutnya pada tahun 1982 nama and istilah fakultas yang ada diadakan penyesuaian secara nasional, FKIS berubah menjadi Fakultas Pendidikan Ilmu Pengetahuan Sosial (FPIPS). Satu di antara jurusan yang ada adalah Jurusan Pendidikan Dunia Usaha (PDU). Jurusan PDU ini merupakan gabungan dari dua jurusan, yaitu Ekonomi Umum and Pendidikan Bisnis. Mulai tahun 1984, Jurusan Pendidikan Dunia Usaha (PDU) ini mempunyai program studi, yaitu: (1) Program Studi Pendidikan Koperasi Diploma III dan S1; (2) Program Studi Pendidikan Akuntansi Diploma III dan S1; (3) Program Studi Pendidikan Tata Niaga Diploma III dan S1; (4) Program Studi Pendidikan Administrasi Perkantoran Diploma III dan S1; and (5) Program Studi Pendidikan Keterampilan Jasa Diploma II dan Diploma III. Sejak tahun 1990 Program Studi Pendidikan Keterampilan Jasa tidak menerima mahasiswa baru, sehingga Jurusan PDU hanya mempunyai empat program studi, yaitu: S1 Pendidikan Ekonomi Koperasi (EKOP); S1 Pendidikan Ekonomi Akuntansi (AKT); S1 Pendidikan Tataniaga (TTN); dan S1 Pendidikan Administrasi Perkantoran (ADP).<\/pee><!-- [et_pb_line_break_holder] -->            <pee>Sejak tahun 1996 berdasarkan SK Dirjen Dikti Nomor 246\/DIKTI\/Kep\/1996 tanggal 11 Juli 1996 jurusan PDU berubah menjadi Jurusan Pendidikan Ekonomi. Jurusan Pendidikan Ekonomi memiliki 4 konsentrasi yaitu; Konsentrasi Pendidikan Ekonomi dan Koperasi (KOP), Konsentrasi Pendidikan Akuntansi (AKT), Konsentrasi Pendidikan Tata Niaga (TTN) dan Konsentrasi Pendidikan Administrasi Perkantoran (ADP).<\/pee><!-- [et_pb_line_break_holder] -->            <pee>Berdasarkan Keputusan Presiden Republik Indonesia Nomor 93 Tahun 1999 tentang Perubahan Institut Keguruan dan Ilmu Pendidikan, IKIP MALANG berubah menjadi Universitas Negeri Malang dengan singkatan (UM). Keputusan Presiden tersebut ditindaklanjuti dengan diterbitkannya Keputusan Direktur Jenderal Pendidikan Tinggi Departemen Pendidikan dan Kebudayaan Republik Indonesia Nomor 206\/DIKTI\/Kep\/1999 tanggal 6 Mei 1999, tentang Penyelenggaraan Program Studi S1 Non Kependidikan Manajemen pada FPIPS IKIP MALANG, yaitu Program Studi Manajemen tingkat Sarjana (S1). Lulusan dari program studi tersebut bergelar akademik Sarjana Ekonomi disingkat S.E. Keputusan Dirjen Dikti Depdikbud RI, Nomor 336\/DIKTI\/Kep\/1999 tanggal 12 Juli 1999, tentang Penyelenggaraan Program Studi Non Kependidikan Diploma Akuntansi dan Manajemen Pemasaran pada FPIPS IKIP MALANG, telah diselenggarakan Program Studi Non Kependidikan Akuntansi dan Manajemen Pemasaran untuk tingkat Diploma III (D-III). Lulusan dari program studi ini diberikan sebutan Profesional Ahli Madya disingkat A.Md.<\/pee><!-- [et_pb_line_break_holder] -->            <pee>Perubahan Program Studi Pendidikan Ekonomi didasarkan pada SK Dirjen Dikti Nomor 1791\/D\/T\/2005 tanggal 25 Mei 2005. Semula terdapat empat konsentrasi pada program studi tersebut, yaitu: Pendidikan Ekonomi konsentrasi Koperasi, Pendidikan Ekonomi konsentrasi Tataniaga, Pendidikan Ekonomi konsentrasi Administrasi Perkantoran, dan Pendidikan Ekonomi konsentrasi Akuntansi. Atas dasar SK tersebut, dilakukan pemisahan untuk keempat program studi tersebut. Sehingga, pada saat ini di FE UM terdapat empat Program Studi kependidikan, yaitu Program Studi Pendidikan Ekonomi, Program Studi Pendidikan Tataniaga, Program Studi Pendidikan Administrasi Perkantoran, dan Program Studi Pendidikan Akuntansi.<\/pee><!-- [et_pb_line_break_holder] -->            <pee>Selanjutnya, berdasarkan Keputusan Dirjen Dikti Nomor: 4857\/D\/T\/2004 tanggal 30 Desember 2004, FE UM diberikan ijin penyelenggaraan Program Studi non kependidikan Akuntansi untuk tingkat Sarjana (S1). Selang setahun berikutnya, berdasarkan Surat Keputusan Dirjen Dikti Nomor 3144\/D\/T\/2005 tanggal 26 September 2005 FE UM diberikan ijin penyelenggaraan Program Studi non kependidikan Ekonomi Pembangunan untuk tingkat Sarjana (S1). Lulusan dari kedua program studi tersebut bergelar akademik Sarjana Ekonomi, disingkat S.E.<\/pee><!-- [et_pb_line_break_holder] -->            <pee>Keberadaan FE UM semakin kuat dengan Keputusan Menteri Pendidikan dan Kebudayaan Republik Indonesia tanggal 14 Oktober 1999 tentang Organisasi dan Tata Kerja Universitas Negeri Malang (OTK UM), dan Keputusan Menteri Pendidikan Nasional Republik Indonesia Nomor 170\/U\/2000, tanggal 21 September 2000 tentang Statuta Universitas Negeri Malang, dimana FE adalah salah satu dari lima fakultas yang ada di lingkungan UM dengan tiga jurusan: Manajemen, Akuntansi, dan Ekonomi Pembangunan (SK Dirjen Dikti Nomor 143\/DIKTI\/Kep\/2000 tanggal 12 Mei 2000 tentang Jenis dan Jumlah Jurusan pada Fakultas di Lingkungan UM Pasal 5).<\/pee><!-- [et_pb_line_break_holder] -->            <pee>Untuk melengkapi organisasi telah diangkat melalui SK Rektor, Pimpinan Fakultas Ekonomi terdiri dari Dekan, Pembantu Dekan, Ketua Jurusan dan Sekretaris Jurusan. Pelantikan pimpinan fakultas tersebut di atas telah dilaksanakan Rektor Universitas Negeri Malang pada tanggal 3 Nopember 2000, sehingga sejak itu lengkaplah unsur-unsur organisasi Fakultas Ekonomi. Selanjutnya berdasar keputusan rapat Senat Fakultas Ekonomi UM, tanggal 3 Nopember 2000 ditetapkan sebagai hari jadi Fakultas Ekonomi UM.<\/pee><!-- [et_pb_line_break_holder] -->            <pee>Menindaklanjuti SK Dirjen Dikti tersebut diterbitkan SK Rektor UM Nomor 2423\/Kep\/PT28.H\/U\/2000 tgl 16 Agustus 2000 tentang daftar fakultas, jurusan dan program studi di lingkungan UM. Diikuti dengan diterbitkannya SK Dirjen Dikti Nomor: 4857\/D\/T\/2004 tentang penyelenggaraan Program Studi Akuntansi (S1) dan SK Dirjen Dikti Nomor: 3144\/D\/T\/2005 tentang penyelenggaraan Program Studi Ekonomi Pembangunan (S1).<\/pee><!-- [et_pb_line_break_holder] -->            <pee>Berdasarkan Keputusan Mendikbud Nomor 270\/U\/1999 and Peraturan Menteri Pendidikan dan Kebudayaan Nomor 30 Tahun 2012 tentang Organisasi dan Tata Kerja (OTK) Universitas Negeri Malang. Jumlah dan nama Program Studi di lingkungan Fakultas Ekonomi untuk masing-masing jurusan adalah sebagai berikut:<\/pee><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            <\/p>\n<ul style=\"margin-left: 20px; margin-bottom: 18px; color: #4a5568; line-height: 1.85;\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<li><strong>Jurusan Manajemen<\/strong>, mengelola prodi Manajemen (S1), Manajemen Pemasaran (D-III), Pendidikan Tata Niaga (S1), dan Pendidikan Administrasi Perkantoran (S1).<\/li>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<li><strong>Jurusan Akuntansi<\/strong>, mengelola prodi Akuntansi (S1), Akuntansi (D-III), dan Pendidikan Akuntansi (S1).<\/li>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<li><strong>Jurusan Ekonomi Pembangunan<\/strong>, mengelola prodi Pendidikan Ekonomi (S1) dan Ilmu Ekonomi, Studi Pembangunan (S1), Pendidikan Ekonomi (S2), dan Pendidikan Ekonomi (S3).<\/li>\n<p><!-- [et_pb_line_break_holder] -->            <\/ul>\n<p><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            <pee>Perkembangan selanjutnya pada tahun 2011 berdasarkan surat Direktur Jenderal Pendidikan Tinggi nomor 303\/E\/O\/2011, tanggal 21 Desember 2011, Fakultas Ekonomi memperoleh mandat untuk menyelenggarakan program studi Magister Pendidikan Bisnis dan Manajemen, tahun 2012 berdasarkan surat Direktur Jenderal Pendidikan Tinggi nomor 62\/E\/O\/2012, tanggal 1 Maret 2012 memperoleh mandat untuk menyelenggarakan program studi Magister Pendidikan Bisnis dan Manajemen, dan pada tahun 2014 berdasarkan surat Direktur Jenderal Pendidikan Tinggi memperoleh mandat untuk menyelenggarakan program studi Magister Akuntansi dan program studi Magister Ilmu Ekonomi.<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div style=\"clear: both;\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <!-- Bagian Tengah: Timeline & Galeri Sejarah --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"history-middle\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"timeline-box\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3 id=\"judul-timeline\">Timeline Sejarah Fakultas Ekonomi UM<\/h3>\n<p><!-- [et_pb_line_break_holder] -->            <!-- Diisi dari sheet \"sejarah\"; isi di bawah hanya cadangan --><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"timeline-wrap\"><!-- [et_pb_line_break_holder] -->              <svg class=\"timeline-svg\" id=\"svg-timeline\"><\/svg><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline\" id=\"timeline-sejarah\"><!-- [et_pb_line_break_holder] -->              <!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>1979\u20131982<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>Jurusan Tata Perusahaan beroperasi dan dikenal juga sebagai Jurusan Pendidikan Bisnis.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>1982<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>FKIS berubah menjadi FPIPS secara nasional; dibentuk Jurusan Pendidikan Dunia Usaha (PDU) sebagai gabungan Ekonomi Umum dan Pendidikan Bisnis.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>1984<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>Jurusan PDU mulai menyelenggarakan 5 program studi variasi jenjang Diploma II, Diploma III, dan S1.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>1990<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>Program Studi Pendidikan Keterampilan Jasa ditutup; Jurusan PDU berfokus pada 4 program studi kependidikan utama (EKOP, AKT, TTN, ADP).<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>1996<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>Berdasarkan SK Dirjen Dikti, Jurusan PDU resmi berganti nama menjadi Jurusan Pendidikan Ekonomi dengan 4 konsentrasi.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>1999<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>IKIP MALANG berubah menjadi Universitas Negeri Malang (UM). Dibuka program studi S1 Non-Kependidikan Manajemen serta D-III Akuntansi dan Manajemen Pemasaran.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>2000<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>Fakultas Ekonomi (FE) resmi berdiri secara organisasi dengan 3 jurusan utama. Pelantikan pimpinan pada 3 November ditetapkan sebagai Hari Jadi FE UM.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>2004<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>FE UM mendapatkan izin resmi untuk menyelenggarakan program studi Non-Kependidikan S1 Akuntansi.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>2005<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>Pemisahan 4 konsentrasi kependidikan menjadi program studi yang berdiri sendiri, serta pembukaan prodi Non-Kependidikan S1 Ekonomi Pembangunan.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>2011\u20132012<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>Fakultas Ekonomi memperoleh mandat baru untuk menyelenggarakan program studi Magister (S2) Pendidikan Bisnis dan Manajemen.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"dot\"><\/span><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>2014<\/strong><!-- [et_pb_line_break_holder] -->                  <pee>Ekspansi program pascasarjana dengan diterimanya mandat penyelenggaraan prodi Magister (S2) Akuntansi dan Magister (S2) Ilmu Ekonomi.<\/pee><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"gallery-box\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3>Galeri Sejarah<\/h3>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"history-gallery\" id=\"galeri-sejarah\"><!-- [et_pb_line_break_holder] -->              <img decoding=\"async\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png\" alt=\"Galeri 1\"><!-- [et_pb_line_break_holder] -->              <img decoding=\"async\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png?2\" alt=\"Galeri 2\"><!-- [et_pb_line_break_holder] -->              <img decoding=\"async\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png?3\" alt=\"Galeri 3\"><!-- [et_pb_line_break_holder] -->              <img decoding=\"async\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png?4\" alt=\"Galeri 4\"><!-- [et_pb_line_break_holder] -->              <img decoding=\"async\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png?5\" alt=\"Galeri 5\"><!-- [et_pb_line_break_holder] -->              <img decoding=\"async\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png?6\" alt=\"Galeri 6\"><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"gallery-pagination\" id=\"galeri-paginasi\"><!-- [et_pb_line_break_holder] -->              <button type=\"button\" id=\"galeri-prev\" onclick=\"galeriGeser(-1)\" aria-label=\"Foto sebelumnya\">&lsaquo;<\/button><!-- [et_pb_line_break_holder] -->              <span class=\"halaman-galeri\" id=\"galeri-halaman\"><\/span><!-- [et_pb_line_break_holder] -->              <button type=\"button\" id=\"galeri-next\" onclick=\"galeriGeser(1)\" aria-label=\"Foto berikutnya\">&rsaquo;<\/button><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <!-- Bagian Bawah: Statistik Modern --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"history-stats\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<h3>Statistik<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"stats-grid\" id=\"statistik-sejarah\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"stat-card\">\n<div class=\"stat-number\">34+<\/div>\n<div class=\"stat-label\">Tahun Berdiri<\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"stat-card\">\n<div class=\"stat-number\">5<\/div>\n<div class=\"stat-label\">Program Studi<\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"stat-card\">\n<div class=\"stat-number\">150+<\/div>\n<div class=\"stat-label\">Dosen<\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"stat-card\">\n<div class=\"stat-number\">5000+<\/div>\n<div class=\"stat-label\">Alumni<\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- PANEL 3: STRUKTUR ORGANISASI --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"tab-struktur\" class=\"tab-panel\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"struktur-wrapper\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<h2 class=\"section-title\">Struktur Organisasi<\/h2>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<h3 class=\"sub-title\">Bagan Organisasi<\/h3>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"org-chart-card\"><!-- [et_pb_line_break_holder] -->          <img id=\"bagan-id\" class=\"img-id\" alt=\"Bagan Struktur Organisasi\" style=\"display:none;\"><!-- [et_pb_line_break_holder] -->          <img id=\"bagan-en\" class=\"img-en\" alt=\"Organizational Chart\" style=\"display:none;\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div id=\"bagan-kosong\" class=\"proses-kosong-bagan\"><!-- [et_pb_line_break_holder] -->            <i class=\"ti ti-sitemap\" style=\"font-size:30px;\"><\/i><!-- [et_pb_line_break_holder] -->            Bagan sedang diperbarui<!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"struktur-bottom\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3 class=\"sub-title\">Deskripsi Jabatan<\/h3>\n<p><!-- [et_pb_line_break_holder] -->            <select class=\"jabatan-select\" id=\"jabatan-select\" onchange=\"changeJabatan()\"><!-- [et_pb_line_break_holder] --><option value=\"dekan\">Dekan<\/option><!-- [et_pb_line_break_holder] --><option value=\"wd1\">Wakil Dekan I (Bidang Akademik)<\/option><!-- [et_pb_line_break_holder] --><option value=\"wd2\">Wakil Dekan II (Bidang Keuangan &#038; Umum)<\/option><!-- [et_pb_line_break_holder] --><option value=\"wd3\">Wakil Dekan III (Bidang Kemahasiswaan)<\/option><!-- [et_pb_line_break_holder] --><option value=\"kadep\">Ketua Departemen \/ Jurusan<\/option><!-- [et_pb_line_break_holder] --><option value=\"kabag_tu\">Kepala Bagian Tata Usaha<\/option><!-- [et_pb_line_break_holder] -->            <\/select><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"jabatan-card\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<h4 id=\"jabatan-title\">Dekan<\/h4>\n<p><!-- [et_pb_line_break_holder] -->              <pee id=\"jabatan-desc\">Memimpin penyelenggaraan pendidikan, penelitian dan pengabdian kepada masyarakat serta membina tenaga kependidikan, mahasiswa dan prasarana fakultas.<\/pee><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div><!-- [et_pb_line_break_holder] -->            <\/p>\n<h3 class=\"sub-title\">Download Bagan<\/h3>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"download-card\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"pdf-row\" style=\"display: flex; gap: 15px; align-items: center; margin-bottom: 20px;\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"pdf-icon\" style=\"background: #e0f2fe; color: #0284c7; padding: 10px 15px; border-radius: 8px; font-weight: 700;\"><i class=\"ti ti-photo\" style=\"font-size: 24px;\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div><!-- [et_pb_line_break_holder] -->                  <strong>Bagan Struktur Organisasi<\/strong><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->                  <small>Resolusi Tinggi (PNG)<\/small><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div style=\"display: flex; flex-direction: column; gap: 12px;\"><!-- [et_pb_line_break_holder] -->                <a id=\"unduh-id\" href=\"https:\/\/feb.um.ac.id\/wp-content\/uploads\/2024\/12\/BHS.-INDO.png\" target=\"_blank\" download=\"Struktur_Organisasi_ID.png\" class=\"download-btn\" style=\"margin-top: 0; display: flex; justify-content: center; align-items: center; gap: 8px; text-decoration: none;\"><!-- [et_pb_line_break_holder] -->                  <i class=\"ti ti-download\"><\/i> Versi Indonesia<!-- [et_pb_line_break_holder] -->                <\/a><!-- [et_pb_line_break_holder] -->                <a id=\"unduh-en\" href=\"https:\/\/feb.um.ac.id\/wp-content\/uploads\/2024\/12\/BHS.-ING.png\" target=\"_blank\" download=\"Struktur_Organisasi_EN.png\" class=\"download-btn\" style=\"margin-top: 0; display: flex; justify-content: center; align-items: center; gap: 8px; text-decoration: none; background: #fadd00; color: #0d1735; border: 1px solid #eef1f7; font-weight: 600;\"><!-- [et_pb_line_break_holder] -->                  <i class=\"ti ti-download\"><\/i> English Version<!-- [et_pb_line_break_holder] -->                <\/a><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- PANEL 4: PIMPINAN FAKULTAS --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"tab-pimpinan\" class=\"tab-panel\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"pimpinan-wrapper\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<h2 class=\"section-title\">Pimpinan Fakultas<\/h2>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <!-- Dekan Section (Sekarang Menggunakan Layout 2 Kolom tanpa Foto Tengah) --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"dekan-section\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"sambutan-card\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"quote-mark\" style=\"font-size: 40px; color: #fadd00; line-height: 1; margin-bottom: 5px;\">\u275d<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <pee id=\"dekan-opini\">Memuat sambutan dekan&#8230;<\/pee><!-- [et_pb_line_break_holder] -->            <strong id=\"dekan-sambutan-nama\" style=\"display: block; margin-top: 15px;\">&#8211;<\/strong><!-- [et_pb_line_break_holder] -->            <span style=\"font-size: 13px; color: #667085;\">Dekan Fakultas Ekonomi &#038; Bisnis<\/span><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"dekan-profile\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" id=\"dekan-foto\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png\" alt=\"Profil Dekan\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4 id=\"dekan-nama\" style=\"margin-top: 12px;\">&#8211;<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <strong style=\"display:block; font-size:13px; color:#0d1735; margin-top:4px;\">Dekan<\/strong><!-- [et_pb_line_break_holder] -->            <pee id=\"dekan-email\" style=\"font-size:12px; color:#667085; margin-top:2px; line-height:1.4;\">dekan.fe@um.ac.id<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <!-- Wakil Dekan Section --><!-- [et_pb_line_break_holder] -->        <\/p>\n<h3 class=\"sub-title\">Wakil Dekan<\/h3>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"wakil-grid\"><!-- [et_pb_line_break_holder] -->          <!-- Wakil Dekan I --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"wakil-card\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" id=\"wd1-foto\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png\" alt=\"WD 1\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4 id=\"wd1-nama\">Dr. Andi Wijaya<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <strong style=\"display:block; font-size:13px; color:#0d1735; margin-top:4px;\">Wakil Dekan I<\/strong><!-- [et_pb_line_break_holder] -->            <pee style=\"font-size:12px; color:#667085; margin-top:2px; line-height:1.4;\">Bidang Pendidikan, Kemahasiswaan, dan Alumni<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <!-- Wakil Dekan II --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"wakil-card\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" id=\"wd2-foto\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png\" alt=\"WD 2\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4 id=\"wd2-nama\">Dr. Ratna Dewi<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <strong style=\"display:block; font-size:13px; color:#0d1735; margin-top:4px;\">Wakil Dekan II<\/strong><!-- [et_pb_line_break_holder] -->            <pee style=\"font-size:12px; color:#667085; margin-top:2px; line-height:1.4;\">Bidang Keuangan, dan Sumber Daya<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <!-- Wakil Dekan III --><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"wakil-card\"><!-- [et_pb_line_break_holder] -->            <img decoding=\"async\" id=\"wd3-foto\" src=\"https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png\" alt=\"WD 3\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h4 id=\"wd3-nama\">Dr. Fajar Nugroho<\/h4>\n<p><!-- [et_pb_line_break_holder] -->            <strong style=\"display:block; font-size:13px; color:#0d1735; margin-top:4px;\">Wakil Dekan III<\/strong><!-- [et_pb_line_break_holder] -->            <pee style=\"font-size:12px; color:#667085; margin-top:2px; line-height:1.4;\">Bidang Penelitian, Pengabdian kepada Masyarakat, Hubungan Masyarakat, dan Kerja Sama<\/pee><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        <!-- Struktur Kepemimpinan: Ketua Departemen, Koordinator, Sub Koordinator.<!-- [et_pb_line_break_holder] -->             Dibangun otomatis dari sheet Dosen &#038; Tendik yang sudah ada \u2014 bukan input baru. &#8211;><!-- [et_pb_line_break_holder] -->        <\/p>\n<div id=\"struktur-kepemimpinan-blok\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 class=\"sub-title\">Ketua Departemen<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"wakil-grid\" id=\"daftar-ketua-departemen\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 class=\"sub-title\" id=\"judul-koordinator\">Koordinator<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"wakil-grid\" id=\"daftar-koordinator\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 class=\"sub-title\">Sub Koordinator<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"wakil-grid\" id=\"daftar-subkoordinator\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- PANEL 5: DOSEN & TENDIK --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"tab-dosen\" class=\"tab-panel\"><!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"dosen-wrapper\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"staff-toolbar\" id=\"staff-toolbar\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"staff-tabs\"><!-- [et_pb_line_break_holder] -->          <button class=\"staff-tab active\" onclick=\"switchStaffTab('dosen')\">Daftar Dosen<span class=\"jumlah\" id=\"jumlah-dosen\"><\/span><\/button><!-- [et_pb_line_break_holder] -->          <button class=\"staff-tab\" onclick=\"switchStaffTab('tendik')\">Daftar Tendik<span class=\"jumlah\" id=\"jumlah-tendik\"><\/span><\/button><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->        <\/p>\n<div id=\"search-empty\" style=\"display: none; text-align: center; padding: 40px; background: #fff; border-radius: 18px; box-shadow: 0 4px 12px rgba(0,0,0,.08); margin-bottom: 25px;\"><!-- [et_pb_line_break_holder] -->          <i class=\"ti ti-search-off\" style=\"font-size: 48px; color: #98a2b3; display: block; margin-bottom: 10px;\"><\/i><!-- [et_pb_line_break_holder] -->          <\/p>\n<h3 style=\"font-size: 20px; color: #1a202c; margin-bottom: 5px;\">Data Tidak Ditemukan<\/h3>\n<p><!-- [et_pb_line_break_holder] -->          <pee style=\"color: #667085; font-size: 14px;\">Mohon maaf, kata kunci yang Anda masukkan tidak cocok dengan data dosen maupun tendik kami.<\/pee><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"search-wrapper\"><!-- [et_pb_line_break_holder] -->          <input type=\"text\" id=\"staff-search\" oninput=\"searchStaffDebounce()\" placeholder=\"Cari nama, NIP, NIDN, atau jabatan...\" ><!-- [et_pb_line_break_holder] -->          <!-- [et_pb_line_break_holder] -->          <select id=\"filter-homebase\" onchange=\"cariDenganReset()\" ><!-- [et_pb_line_break_holder] --><option value=\"\">Semua Homebase<\/option><!-- [et_pb_line_break_holder] -->          <\/select><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->          <select id=\"filter-subbagian\" onchange=\"cariDenganReset()\" style=\"display: none;\"><!-- [et_pb_line_break_holder] --><option value=\"\">Semua Sub Bagian<\/option><!-- [et_pb_line_break_holder] -->          <\/select><!-- [et_pb_line_break_holder] -->          <select id=\"urutan-staf\" onchange=\"gantiUrutan(this.value)\" ><!-- [et_pb_line_break_holder] --><option value=\"jabatan\">Urutkan: Jabatan Akademik<\/option><!-- [et_pb_line_break_holder] --><option value=\"nama\">Urutkan: Nama A\u2013Z<\/option><!-- [et_pb_line_break_holder] --><option value=\"kelompok\">Urutkan: Homebase<\/option><!-- [et_pb_line_break_holder] -->          <\/select><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div id=\"chip-filter\" class=\"chip-filter\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"staff-meta\"><!-- [et_pb_line_break_holder] -->          <span id=\"staff-count\" role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/span><!-- [et_pb_line_break_holder] -->          <button type=\"button\" class=\"btn-bersih\" id=\"btn-bersih\" onclick=\"bersihkanPencarian()\" style=\"display:none;\">Bersihkan pencarian &amp; filter<\/button><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- \/staff-toolbar --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <!-- Layout Grid Dosen --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div id=\"layout-dosen\" class=\"dosen-layout\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div id=\"grid-dosen\" class=\"dosen-grid\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"profile-sidebar\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h2 id=\"side-dosen-judul\">Detail Profil Dosen<\/h2>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"personalia-top\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"data-ringkas\"><!-- [et_pb_line_break_holder] -->                <pee id=\"r-d-nip\"><strong>NIP<\/strong><span id=\"side-dosen-nip\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-d-nidn\"><strong>NIDN<\/strong><span id=\"side-dosen-nidn\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-d-status\"><strong>Status<\/strong><span id=\"side-dosen-status\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-d-jabatan\"><strong>Jabatan<\/strong><span id=\"side-dosen-jabatan\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-d-pangkat\" class=\"baris-penuh\"><strong>Pangkat<\/strong><span id=\"side-dosen-pangkat\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-d-email\" class=\"baris-penuh\"><strong>Email<\/strong><span id=\"side-dosen-email\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-d-tugas\" class=\"baris-penuh\"><strong>Tugas Tambahan<\/strong><span id=\"side-dosen-tugas\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-d-homebase\" class=\"baris-penuh\"><strong>Homebase<\/strong><span id=\"side-dosen-homebase\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <\/p>\n<div id=\"r-d-opini\" class=\"baris-penuh kotak-data\"><strong>Opini<\/strong><\/p>\n<div id=\"side-dosen-opini\" class=\"detail-ikhtisar\"><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"personalia-body\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <!-- Layout Grid Tendik --><!-- [et_pb_line_break_holder] -->        <\/p>\n<div id=\"layout-tendik\" class=\"dosen-layout layout-hidden\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div id=\"grid-tendik\" class=\"dosen-grid\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"profile-sidebar\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<h2 id=\"side-tendik-judul\">Detail Profil Tendik<\/h2>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"personalia-top\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"data-ringkas\"><!-- [et_pb_line_break_holder] -->                <pee id=\"r-t-nip\"><strong>NIP<\/strong><span id=\"side-tendik-nip\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-t-pangkat\"><strong>Pangkat<\/strong><span id=\"side-tendik-pangkat\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-t-ttl\"><strong>Tempat\/Tgl Lahir<\/strong><span id=\"side-tendik-ttl\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-t-pendidikan\"><strong>Pendidikan<\/strong><span id=\"side-tendik-pendidikan\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-t-email\" class=\"baris-penuh\"><strong>Email<\/strong><span id=\"side-tendik-email\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-t-jabatan\" class=\"baris-penuh\"><strong>Jabatan<\/strong><span id=\"side-tendik-jabatan\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-t-unit\"><strong>Unit Kerja<\/strong><span id=\"side-tendik-unit\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-t-sub\"><strong>Sub Bagian<\/strong><span id=\"side-tendik-sub\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->                <pee id=\"r-t-lokasi\" class=\"baris-penuh\"><strong>Lokasi Kantor<\/strong><span id=\"side-tendik-lokasi\">&#8211;<\/span><\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"personalia-body\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"detail-block\" id=\"r-t-ikhtisar-blok\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h5>Ikhtisar Jabatan<\/h5>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div id=\"side-tendik-ikhtisar\" class=\"detail-ikhtisar\">&#8211;<\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"detail-block\" id=\"r-t-sertifikat-blok\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<h5>Sertifikat Keahlian<\/h5>\n<p><!-- [et_pb_line_break_holder] -->                <\/p>\n<div id=\"side-tendik-sertifikat\">&#8211;<\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      <\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->  <!-- \u2500\u2500 LOGIKA INTERAKSI & AMBIL DATA SHEET (JAVASCRIPT) \u2500\u2500 --><!-- [et_pb_line_break_holder] -->  <script><!-- [et_pb_line_break_holder] -->    const SPREADSHEET_ID = '1VRUZwuan-7yWV5asjXyT_D6FNA7rUaUJF3GjmcHjq9I';<!-- [et_pb_line_break_holder] -->    const tabIds = ['visi', 'tentang', 'sop', 'sejarah', 'struktur', 'pimpinan', 'dosen'];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* ================================================================<!-- [et_pb_line_break_holder] -->       MODE SATU TAB<!-- [et_pb_line_break_holder] -->       Kosongkan untuk halaman Profil (semua tab tampil seperti biasa).<!-- [et_pb_line_break_holder] -->       Isi salah satu kode tab di bawah ini bila modul dipasang pada halaman<!-- [et_pb_line_break_holder] -->       tersendiri, misalnya \/id\/struktur-organisasi\/ atau \/id\/dosen-tendik\/ :<!-- [et_pb_line_break_holder] -->         'visi' | 'tentang' | 'sop' | 'sejarah' | 'struktur' | 'pimpinan' | 'dosen'<!-- [et_pb_line_break_holder] -->       Bilah tab akan disembunyikan dan hanya tab itu yang ditampilkan.<!-- [et_pb_line_break_holder] -->       ================================================================ *\/<!-- [et_pb_line_break_holder] -->    const TAB_TUNGGAL = 'pimpinan';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Khusus tab 'dosen': tampilkan satu sub tab saja \u2014 'dosen' atau 'tendik'.<!-- [et_pb_line_break_holder] -->       Kosongkan bila kedua sub tab ingin tetap tampil. *\/<!-- [et_pb_line_break_holder] -->    const SUB_TAB_TUNGGAL = '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Khusus daftar dosen: batasi pada satu homebase\/departemen.<!-- [et_pb_line_break_holder] -->       Diisi sebagian nama homebase, misalnya 'Manajemen', 'Akuntansi',<!-- [et_pb_line_break_holder] -->       atau 'Ekonomi Pembangunan'. Dropdown homebase ikut disembunyikan. *\/<!-- [et_pb_line_break_holder] -->    const FILTER_HOMEBASE = '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Slider pimpinan di bagian atas. Pada halaman tersendiri biasanya<!-- [et_pb_line_break_holder] -->       tidak diperlukan karena sudah ada di halaman Profil. *\/<!-- [et_pb_line_break_holder] -->    const TAMPILKAN_SLIDER = true;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Alamat halaman Profil utama, dipakai pada bilah konteks di mode satu tab *\/<!-- [et_pb_line_break_holder] -->    const URL_PROFIL = '\/id\/profil\/';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* \u2500\u2500 SUB HALAMAN PADA KELOMPOK \"DOSEN & TENDIK\" \u2500\u2500<!-- [et_pb_line_break_holder] -->       Daftar halaman sejenis yang isinya bagian dari Dosen & Tendik.<!-- [et_pb_line_break_holder] -->       Sesuaikan alamatnya bila slug halaman Anda berbeda. *\/<!-- [et_pb_line_break_holder] -->    const SUB_HALAMAN = [<!-- [et_pb_line_break_holder] -->      { kode: 'semua',     label: 'Semua Dosen & Tendik',   url: '\/id\/dosen-tendik\/' },<!-- [et_pb_line_break_holder] -->      { kode: 'manajemen', label: 'Dosen Manajemen',        url: '\/id\/dosen-manajemen\/' },<!-- [et_pb_line_break_holder] -->      { kode: 'akuntansi', label: 'Dosen Akuntansi',        url: '\/id\/dosen-akuntansi\/' },<!-- [et_pb_line_break_holder] -->      { kode: 'ekp',       label: 'Dosen Ekonomi Pembangunan', url: '\/id\/dosen-departemen-ekp\/' },<!-- [et_pb_line_break_holder] -->      { kode: 'tendik',    label: 'Tenaga Kependidikan',    url: '\/id\/tendik-feb\/' }<!-- [et_pb_line_break_holder] -->    ];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Kode halaman yang sedang dibuka; kosongkan bila bukan salah satunya *\/<!-- [et_pb_line_break_holder] -->    const HALAMAN_INI = '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/* Nama tab untuk bilah konteks (urutannya mengikuti tabIds) *\/<!-- [et_pb_line_break_holder] -->    const NAMA_TAB = {<!-- [et_pb_line_break_holder] -->      visi: 'Visi, Misi & Tujuan',<!-- [et_pb_line_break_holder] -->      tentang: 'Tentang Kami',<!-- [et_pb_line_break_holder] -->      sop: 'Peta Proses Bisnis & SOP',<!-- [et_pb_line_break_holder] -->      sejarah: 'Sejarah',<!-- [et_pb_line_break_holder] -->      struktur: 'Struktur Organisasi',<!-- [et_pb_line_break_holder] -->      pimpinan: 'Pimpinan Fakultas',<!-- [et_pb_line_break_holder] -->      dosen: 'Dosen & Tendik'<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] -->    <!-- [et_pb_line_break_holder] -->    let dataDosenMaster = [];<!-- [et_pb_line_break_holder] -->    let dataProdiMaster = [];      \/\/ dari spreadsheet AKADEMIK, tab PRODI (lihat ambilSheetProdi)<!-- [et_pb_line_break_holder] -->    let dataTendikMaster = [];<!-- [et_pb_line_break_holder] -->    let dataDosenFiltered = [];<!-- [et_pb_line_break_holder] -->    let dataTendikFiltered = [];<!-- [et_pb_line_break_holder] -->    let currentActiveStaffTab = 'dosen';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 SINKRONISASI OTOMATIS DATA SPREADSHEET (TANPA REFRESH HALAMAN) \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Interval sinkronisasi bawaan: 300000 = 5 menit.<!-- [et_pb_line_break_holder] -->    \/\/ Nilai ini bisa ditimpa dari spreadsheet lewat baris Tipe = \"pengaturan\".<!-- [et_pb_line_break_holder] -->    const SYNC_INTERVAL_MS = 300000;<!-- [et_pb_line_break_holder] -->    let syncTimer = null;<!-- [et_pb_line_break_holder] -->    let currentIntervalMs = SYNC_INTERVAL_MS;<!-- [et_pb_line_break_holder] -->    let lastSignature = '';<!-- [et_pb_line_break_holder] -->    let isSyncing = false;<!-- [et_pb_line_break_holder] -->    let isAutoSync = false;           \/\/ menekan auto-scroll saat refresh berjalan<!-- [et_pb_line_break_holder] -->    let selectedDosenName = null;<!-- [et_pb_line_break_holder] -->    let selectedTendikName = null;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    document.addEventListener(\"DOMContentLoaded\", function() {<!-- [et_pb_line_break_holder] -->      \/\/ Mode satu tab (bila diisi) lebih dulu, baru hash dari alamat<!-- [et_pb_line_break_holder] -->      if (!terapkanTabTunggal()) bukaTabDariHash();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      buildSyncBadge();<!-- [et_pb_line_break_holder] -->      hitungOffsetAtas();<!-- [et_pb_line_break_holder] -->      pantauToolbar();<!-- [et_pb_line_break_holder] -->      siapkanKendaliSlider();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      tataUlangSejarah();<!-- [et_pb_line_break_holder] -->      tataPimpinanFakultas();<!-- [et_pb_line_break_holder] -->      let timerResizeSejarah = null;<!-- [et_pb_line_break_holder] -->      window.addEventListener('resize', () => {<!-- [et_pb_line_break_holder] -->        clearTimeout(timerResizeSejarah);<!-- [et_pb_line_break_holder] -->        timerResizeSejarah = setTimeout(() => { tataUlangSejarah(); tataPimpinanFakultas(); }, 200);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      window.addEventListener('resize', hitungOffsetAtas);<!-- [et_pb_line_break_holder] -->      window.addEventListener('scroll', hitungOffsetAtas, { passive: true });<!-- [et_pb_line_break_holder] -->      perbaruiOpsiUrutan();<!-- [et_pb_line_break_holder] -->      tampilkanSkeleton();<!-- [et_pb_line_break_holder] -->      fetchDataFromSheets(true);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Polling berkala (dilewati saat tab tidak terlihat agar hemat kuota)<!-- [et_pb_line_break_holder] -->      startSyncTimer(SYNC_INTERVAL_MS);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Segarkan begitu pengguna kembali ke tab \/ koneksi pulih<!-- [et_pb_line_break_holder] -->      document.addEventListener('visibilitychange', function() {<!-- [et_pb_line_break_holder] -->        if (!document.hidden) fetchDataFromSheets(false);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      window.addEventListener('online', function() { fetchDataFromSheets(false); });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Tautan permanen ditempel\/diubah dari luar<!-- [et_pb_line_break_holder] -->      window.addEventListener('hashchange', function () {<!-- [et_pb_line_break_holder] -->        if (bukaTabDariHash()) return;      \/\/ #struktur, #sejarah, dst<!-- [et_pb_line_break_holder] -->        terapkanHash();                     \/\/ #dosen\/nama-dosen<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Menyalakan ulang timer dengan interval baru tanpa perlu muat ulang halaman<!-- [et_pb_line_break_holder] -->    function startSyncTimer(ms) {<!-- [et_pb_line_break_holder] -->      if (syncTimer) clearInterval(syncTimer);<!-- [et_pb_line_break_holder] -->      currentIntervalMs = ms;<!-- [et_pb_line_break_holder] -->      syncTimer = setInterval(function() {<!-- [et_pb_line_break_holder] -->        if (!document.hidden) fetchDataFromSheets(false);<!-- [et_pb_line_break_holder] -->      }, ms);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function gvizUrl(sheetName) {<!-- [et_pb_line_break_holder] -->      return `https:\/\/docs.google.com\/spreadsheets\/d\/${SPREADSHEET_ID}\/gviz\/tq?tqx=out:json&sheet=${encodeURIComponent(sheetName)}&_=${Date.now()}`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function parseGviz(text) {<!-- [et_pb_line_break_holder] -->      const start = text.indexOf('{');<!-- [et_pb_line_break_holder] -->      const end = text.lastIndexOf('}');<!-- [et_pb_line_break_holder] -->      if (start === -1 || end === -1) throw new Error('Format respons spreadsheet tidak dikenali');<!-- [et_pb_line_break_holder] -->      const obj = JSON.parse(text.substring(start, end + 1));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Google membalas HTTP 200 walau sheet tidak ditemukan \/ tidak dibagikan,<!-- [et_pb_line_break_holder] -->      \/\/ jadi status error di dalam JSON harus diperiksa sendiri.<!-- [et_pb_line_break_holder] -->      if (obj.status === 'error') {<!-- [et_pb_line_break_holder] -->        const e = (obj.errors && obj.errors[0]) || {};<!-- [et_pb_line_break_holder] -->        const pesan = String(e.detailed_message || e.message || 'tidak diketahui').replace(\/<[^>]*>\/g, '').trim();<!-- [et_pb_line_break_holder] -->        throw new Error(pesan);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      if (!obj.table || !obj.table.rows) throw new Error('Tabel tidak ditemukan pada respons');<!-- [et_pb_line_break_holder] -->      return obj.table.rows;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function cellVal(row, i, fallback) {<!-- [et_pb_line_break_holder] -->      const c = row.c && row.c[i];<!-- [et_pb_line_break_holder] -->      if (!c || c.v === null || c.v === undefined || String(c.v).trim() === '') return fallback;<!-- [et_pb_line_break_holder] -->      return String(c.v).trim();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 URUTAN TAMPILAN TENDIK \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ 1) Koordinator, 2) Sub Koordinator Akademik & Kemahasiswaan,<!-- [et_pb_line_break_holder] -->    \/\/ 3) Sub Koordinator Keuangan & Kepegawaian, 4) Sub Koordinator Umum & Aset,<!-- [et_pb_line_break_holder] -->    \/\/ lalu sisanya dari pangkat\/golongan tertinggi ke terendah (tanpa pangkat di paling akhir),<!-- [et_pb_line_break_holder] -->    \/\/ dan bila setara diurutkan menurut abjad nama.<!-- [et_pb_line_break_holder] -->    function peringkatJabatanTendik(jabatan) {<!-- [et_pb_line_break_holder] -->      const j = String(jabatan || '').toLowerCase();<!-- [et_pb_line_break_holder] -->      const sub = \/sub\\s*koordinator\/.test(j);<!-- [et_pb_line_break_holder] -->      if (\/koordinator\/.test(j) && !sub) return 1;<!-- [et_pb_line_break_holder] -->      if (sub && \/akademik|kemahasiswaan\/.test(j)) return 2;<!-- [et_pb_line_break_holder] -->      if (sub && \/keuangan|kepegawaian\/.test(j)) return 3;<!-- [et_pb_line_break_holder] -->      if (sub && \/umum|aset\/.test(j)) return 4;<!-- [et_pb_line_break_holder] -->      if (sub) return 5;<!-- [et_pb_line_break_holder] -->      return 99;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 URUTAN TAMPILAN DOSEN \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Guru Besar -> Lektor Kepala -> Lektor -> Asisten Ahli -> Tenaga Pengajar\/belum ada,<!-- [et_pb_line_break_holder] -->    \/\/ lalu di tiap tingkat menurut golongan tertinggi, dan bila setara menurut abjad nama.<!-- [et_pb_line_break_holder] -->    function peringkatJabatanDosen(jabatan, nama) {<!-- [et_pb_line_break_holder] -->      const j = String(jabatan || '').toLowerCase();<!-- [et_pb_line_break_holder] -->      if (\/guru\\s*besar|profesor|\\bprof\\b|\\bgb\\b\/.test(j)) return 1;<!-- [et_pb_line_break_holder] -->      if (\/lektor\\s*kepala|\\blk\\b\/.test(j)) return 2;<!-- [et_pb_line_break_holder] -->      if (\/lektor\/.test(j)) return 3;<!-- [et_pb_line_break_holder] -->      if (\/asisten\\s*ahli|\\baa\\b\/.test(j)) return 4;<!-- [et_pb_line_break_holder] -->      if (\/tenaga\\s*pengajar|pengajar\/.test(j)) return 5;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Cadangan: gelar \"Prof.\" pada nama menandakan Guru Besar walau kolom<!-- [et_pb_line_break_holder] -->      \/\/ Jabatan kosong atau ditulis dengan istilah lain.<!-- [et_pb_line_break_holder] -->      if (\/^\\s*prof\\b|\\bprof\\.\/i.test(String(nama || ''))) return 1;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (j.trim() !== '' && jabatanTakDikenal.indexOf(j) === -1) jabatanTakDikenal.push(j);<!-- [et_pb_line_break_holder] -->      return 6;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Membantu menelusuri isi kolom Jabatan yang belum tercocokkan aturan urutan<!-- [et_pb_line_break_holder] -->    let jabatanTakDikenal = [];<!-- [et_pb_line_break_holder] -->    function laporJabatanTakDikenal() {<!-- [et_pb_line_break_holder] -->      if (jabatanTakDikenal.length) {<!-- [et_pb_line_break_holder] -->        console.info('[Urutan] Jabatan dosen yang belum dikenali aturan urutan (dianggap paling bawah): %s', jabatanTakDikenal.join(' | '));<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const GOLONGAN_ROMAWI = { i: 1, ii: 2, iii: 3, iv: 4 };<!-- [et_pb_line_break_holder] -->    function peringkatPangkat(pangkat) {<!-- [et_pb_line_break_holder] -->      const m = String(pangkat || '').toLowerCase().match(\/\\b(iv|iii|ii|i)\\s*\\\/\\s*([a-e])\\b\/);<!-- [et_pb_line_break_holder] -->      if (!m) return 0;                                  \/\/ tanpa pangkat -> paling bawah<!-- [et_pb_line_break_holder] -->      return GOLONGAN_ROMAWI[m[1]] * 10 + (m[2].charCodeAt(0) - 96);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const bandingNama = (a, b) => String(a.nama).localeCompare(String(b.nama), 'id');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Mode: 'jabatan' (bawaan), 'nama' (A\u2013Z), 'kelompok' (homebase untuk dosen \/ sub bagian untuk tendik)<!-- [et_pb_line_break_holder] -->    function urutkanStaf(daftar, tipe, mode) {<!-- [et_pb_line_break_holder] -->      const cara = mode || urutanAktif[tipe] || 'jabatan';<!-- [et_pb_line_break_holder] -->      const peringkatJabatan = tipe === 'dosen' ? peringkatJabatanDosen : peringkatJabatanTendik;<!-- [et_pb_line_break_holder] -->      const kelompok = st => String(tipe === 'dosen' ? st.homebase : st.sub_bagian || '').trim();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      return daftar.slice().sort((a, b) => {<!-- [et_pb_line_break_holder] -->        if (cara === 'nama') return bandingNama(a, b);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (cara === 'kelompok') {<!-- [et_pb_line_break_holder] -->          const ka = kelompok(a), kb = kelompok(b);<!-- [et_pb_line_break_holder] -->          const kosongA = !ka || ka === '-', kosongB = !kb || kb === '-';<!-- [et_pb_line_break_holder] -->          if (kosongA !== kosongB) return kosongA ? 1 : -1;      \/\/ yang kosong di akhir<!-- [et_pb_line_break_holder] -->          if (ka !== kb) return ka.localeCompare(kb, 'id');<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const ja = peringkatJabatan(a.jabatan, a.nama), jb = peringkatJabatan(b.jabatan, b.nama);<!-- [et_pb_line_break_holder] -->        if (ja !== jb) return ja - jb;<!-- [et_pb_line_break_holder] -->        const pa = peringkatPangkat(a.pangkat), pb = peringkatPangkat(b.pangkat);<!-- [et_pb_line_break_holder] -->        if (pa !== pb) return pb - pa;<!-- [et_pb_line_break_holder] -->        return bandingNama(a, b);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function urutkanTendik(daftar, mode) { return urutkanStaf(daftar, 'tendik', mode); }<!-- [et_pb_line_break_holder] -->    function urutkanDosen(daftar, mode) {<!-- [et_pb_line_break_holder] -->      jabatanTakDikenal = [];<!-- [et_pb_line_break_holder] -->      const hasil = urutkanStaf(daftar, 'dosen', mode);<!-- [et_pb_line_break_holder] -->      laporJabatanTakDikenal();<!-- [et_pb_line_break_holder] -->      return hasil;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 AVATAR INISIAL (pengganti foto kosong \/ tautan foto yang mati) \u2500\u2500<!-- [et_pb_line_break_holder] -->    function inisialNama(nama) {<!-- [et_pb_line_break_holder] -->      const kata = String(nama || '').replace(\/[^A-Za-z\\s]\/g, ' ').trim().split(\/\\s+\/).filter(w => w.length > 1);<!-- [et_pb_line_break_holder] -->      return ((kata[0] || '?').charAt(0) + (kata[1] ? kata[1].charAt(0) : '')).toUpperCase();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function gantiKeAvatar(img) {<!-- [et_pb_line_break_holder] -->      const d = document.createElement('div');<!-- [et_pb_line_break_holder] -->      d.className = 'avatar-inisial';<!-- [et_pb_line_break_holder] -->      d.textContent = img.getAttribute('data-inisial') || '?';<!-- [et_pb_line_break_holder] -->      img.replaceWith(d);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Tautan Drive biasa (drive.google.com\/file\/d\/ID\/view atau open?id=ID) tidak bisa<!-- [et_pb_line_break_holder] -->    \/\/ dipakai langsung sebagai gambar; diubah ke bentuk lh3.googleusercontent.com.<!-- [et_pb_line_break_holder] -->    function urlFotoLangsung(nilai) {<!-- [et_pb_line_break_holder] -->      const v = normalisasiUrl(nilai);<!-- [et_pb_line_break_holder] -->      if (!v) return '';<!-- [et_pb_line_break_holder] -->      const cocok = v.match(\/drive\\.google\\.com\\\/(?:file\\\/d\\\/|open\\?id=|uc\\?(?:export=\\w+&)?id=)([-\\w]{20,})\/);<!-- [et_pb_line_break_holder] -->      return cocok ? 'https:\/\/lh3.googleusercontent.com\/d\/' + cocok[1] : v;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function fotoKartu(staff) {<!-- [et_pb_line_break_holder] -->      const ini = escapeHtml(inisialNama(staff.nama));<!-- [et_pb_line_break_holder] -->      if (!staff.foto) return `<\/p>\n<div class=\"avatar-inisial\">${ini}<\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->      return `<img src=\"${escapeHtml(urlFotoLangsung(staff.foto))}\" alt=\"Foto ${escapeHtml(staff.nama)}\" data-inisial=\"${ini}\" loading=\"lazy\" decoding=\"async\" onerror=\"gantiKeAvatar(this)\" style=\"width:100%;height:100%;object-fit:cover;display:block;margin:0;\">`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Menyorot kata kunci pada nama (teks tetap di-escape lebih dulu)<!-- [et_pb_line_break_holder] -->    function sorotKata(teks, kata) {<!-- [et_pb_line_break_holder] -->      const aman = escapeHtml(teks || '');<!-- [et_pb_line_break_holder] -->      const k = String(kata || '').trim();<!-- [et_pb_line_break_holder] -->      if (!k) return aman;<!-- [et_pb_line_break_holder] -->      const pola = new RegExp('(' + escapeHtml(k).replace(\/[.*+?^${}()|[\\]\\\\]\/g, '\\\\$&') + ')', 'gi');<!-- [et_pb_line_break_holder] -->      return aman.replace(pola, '<mark class=\"cari\">$1<\/mark>');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 SHEET VISI, MISI & TUJUAN (spreadsheet terpisah: \"Laman Profil\") \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Tab \"visi misi tujuan\" (gid=0). Baris 1 = judul kolom, data mulai baris 2.<!-- [et_pb_line_break_holder] -->    \/\/ Kolom A: Tipe (visi \/ misi \/ tujuan)   Kolom B: Judul (khusus kartu tujuan)<!-- [et_pb_line_break_holder] -->    \/\/ Kolom C: Isi                            Kolom D: Ikon Tabler (opsional, mis. ti-school)<!-- [et_pb_line_break_holder] -->    \/\/ Kolom E: Urutan (opsional, angka)       Kolom F: Aktif (opsional, isi \"tidak\" untuk menyembunyikan)<!-- [et_pb_line_break_holder] -->    const VMT_SPREADSHEET_ID = '1oitp0P457jARWOGM62aSVpARonOn5kp5mmnAUcGW1QY';<!-- [et_pb_line_break_holder] -->    const VMT_GID = '0';                       \/\/ dipakai sebagai acuan utama: tahan terhadap penggantian nama tab<!-- [et_pb_line_break_holder] -->    const VMT_SHEET = 'visi misi tujuan';      \/\/ cadangan bila gid berubah (tab dihapus lalu dibuat ulang)<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function gvizUrlVmt(pakaiNamaSheet) {<!-- [et_pb_line_break_holder] -->      const kunci = pakaiNamaSheet ? `sheet=${encodeURIComponent(VMT_SHEET)}` : `gid=${VMT_GID}`;<!-- [et_pb_line_break_holder] -->      return `https:\/\/docs.google.com\/spreadsheets\/d\/${VMT_SPREADSHEET_ID}\/gviz\/tq?tqx=out:json&headers=1&${kunci}&_=${Date.now()}`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->    const VMT_TIPE = ['visi', 'misi', 'tujuan', 'pengaturan', 'konfigurasi', 'setting', 'config'];<!-- [et_pb_line_break_holder] -->    const IKON_TUJUAN_DEFAULT = ['ti-school', 'ti-bulb', 'ti-users-group', 'ti-world', 'ti-chart-arrows-vertical', 'ti-certificate', 'ti-building-bank', 'ti-briefcase'];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Perataan per baris. Nilai yang dikenali: justify \/ rata kanan kiri,<!-- [et_pb_line_break_holder] -->    \/\/ kiri \/ left, kanan \/ right, tengah \/ center. Kosong = ikut pengaturan umum.<!-- [et_pb_line_break_holder] -->    function styleRata(nilai) {<!-- [et_pb_line_break_holder] -->      const k = String(nilai || '').toLowerCase().replace(\/[\\s_-]\/g, '');<!-- [et_pb_line_break_holder] -->      let v = '';<!-- [et_pb_line_break_holder] -->      if (['justify', 'ratakanankiri', 'ratakirikanan'].indexOf(k) !== -1) v = 'justify';<!-- [et_pb_line_break_holder] -->      else if (['kiri', 'left', 'ratakiri'].indexOf(k) !== -1) v = 'left';<!-- [et_pb_line_break_holder] -->      else if (['kanan', 'right', 'ratakanan'].indexOf(k) !== -1) v = 'right';<!-- [et_pb_line_break_holder] -->      else if (['tengah', 'center', 'ratatengah'].indexOf(k) !== -1) v = 'center';<!-- [et_pb_line_break_holder] -->      return v ? ` style=\"text-align:${v}\"` : '';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function escapeHtml(str) {<!-- [et_pb_line_break_holder] -->      return String(str).replace(\/[&<>\"']\/g, m => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[m]));<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function normalizeIkon(ikon, fallback) {<!-- [et_pb_line_break_holder] -->      let v = String(ikon || '').trim();<!-- [et_pb_line_break_holder] -->      if (!v) v = fallback;<!-- [et_pb_line_break_holder] -->      if (!\/^ti\\s\/.test(v)) v = 'ti ' + (v.startsWith('ti-') ? v : 'ti-' + v);<!-- [et_pb_line_break_holder] -->      return v;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function mapRowsVMT(rows) {<!-- [et_pb_line_break_holder] -->      return rows<!-- [et_pb_line_break_holder] -->        .map((row, i) => ({<!-- [et_pb_line_break_holder] -->          tipe: cellVal(row, 0, '').toLowerCase(),<!-- [et_pb_line_break_holder] -->          judul: cellVal(row, 1, ''),<!-- [et_pb_line_break_holder] -->          isi: cellVal(row, 2, ''),<!-- [et_pb_line_break_holder] -->          ikon: cellVal(row, 3, ''),<!-- [et_pb_line_break_holder] -->          urutan: parseFloat(cellVal(row, 4, '')),<!-- [et_pb_line_break_holder] -->          aktif: cellVal(row, 5, 'ya').toLowerCase(),<!-- [et_pb_line_break_holder] -->          perataan: cellVal(row, 6, ''),        \/\/ kolom G (opsional)<!-- [et_pb_line_break_holder] -->          baris: i<!-- [et_pb_line_break_holder] -->        }))<!-- [et_pb_line_break_holder] -->        .filter(x => VMT_TIPE.indexOf(x.tipe) !== -1)<!-- [et_pb_line_break_holder] -->        .filter(x => ['tidak', 'no', 'nonaktif', '0', 'false'].indexOf(x.aktif) === -1)<!-- [et_pb_line_break_holder] -->        .filter(x => x.isi !== '' || x.judul !== '');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Jumlah misi & kartu tujuan mengikuti isi spreadsheet (bertambah\/berkurang otomatis)<!-- [et_pb_line_break_holder] -->    function renderVisiMisiTujuan(items) {<!-- [et_pb_line_break_holder] -->      if (!items || !items.length) return;   \/\/ sheet kosong\/gagal -> konten cadangan di HTML dipakai<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const ambil = tipe => items<!-- [et_pb_line_break_holder] -->        .filter(i => i.tipe === tipe)<!-- [et_pb_line_break_holder] -->        .sort((a, b) => {<!-- [et_pb_line_break_holder] -->          const ua = isNaN(a.urutan) ? a.baris : a.urutan;<!-- [et_pb_line_break_holder] -->          const ub = isNaN(b.urutan) ? b.baris : b.urutan;<!-- [et_pb_line_break_holder] -->          return ua - ub;<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      applyPengaturan(items.filter(i => ['pengaturan', 'konfigurasi', 'setting', 'config'].indexOf(i.tipe) !== -1));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const visi = ambil('visi');<!-- [et_pb_line_break_holder] -->      const misi = ambil('misi');<!-- [et_pb_line_break_holder] -->      const tujuan = ambil('tujuan');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const visiCard = document.getElementById('visi-card');<!-- [et_pb_line_break_holder] -->      if (visiCard && visi.length) {<!-- [et_pb_line_break_holder] -->        const ikon = normalizeIkon(visi[0].ikon, 'ti-target-arrow');<!-- [et_pb_line_break_holder] -->        visiCard.innerHTML = `<\/p>\n<div class=\"visi-icon\"><i class=\"${ikon}\"><\/i><\/div>\n<p>` +<!-- [et_pb_line_break_holder] -->          visi.map(v => `<p${styleRata(v.perataan)}>${escapeHtml(v.isi)}<\/pee>`).join('');<!-- [et_pb_line_break_holder] -->        if (visi[0].judul) setText('visi-heading', visi[0].judul);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const misiList = document.getElementById('misi-list');<!-- [et_pb_line_break_holder] -->      if (misiList && misi.length) {<!-- [et_pb_line_break_holder] -->        misiList.innerHTML = misi.map((m, i) => {<!-- [et_pb_line_break_holder] -->          const nomor = m.judul && \/^\\d+$\/.test(m.judul) ? m.judul.padStart(2, '0') : String(i + 1).padStart(2, '0');<!-- [et_pb_line_break_holder] -->          return `<\/p>\n<div class=\"misi-item\"><span>${nomor}<\/span><p${styleRata(m.perataan)}>${escapeHtml(m.isi)}<\/pee><\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->        }).join('');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const tujuanGrid = document.getElementById('tujuan-grid');<!-- [et_pb_line_break_holder] -->      if (tujuanGrid && tujuan.length) {<!-- [et_pb_line_break_holder] -->        tujuanGrid.innerHTML = tujuan.map((t, i) => {<!-- [et_pb_line_break_holder] -->          const ikon = normalizeIkon(t.ikon, IKON_TUJUAN_DEFAULT[i % IKON_TUJUAN_DEFAULT.length]);<!-- [et_pb_line_break_holder] -->          const judul = t.judul ? `<\/p>\n<h4>${escapeHtml(t.judul)}<\/h4>\n<p>` : '';<!-- [et_pb_line_break_holder] -->          return `<\/p>\n<div class=\"tujuan-card\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"tujuan-icon\"><i class=\"${ikon}\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->                ${judul}<!-- [et_pb_line_break_holder] -->                <p${styleRata(t.perataan)}>${escapeHtml(t.isi)}<\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->        }).join('');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Baris Tipe = \"pengaturan\": kolom Judul dipakai sebagai nama pengaturan,<!-- [et_pb_line_break_holder] -->    \/\/ kolom Isi sebagai nilainya. Contoh: pengaturan | interval menit | 10<!-- [et_pb_line_break_holder] -->    function applyPengaturan(rows) {<!-- [et_pb_line_break_holder] -->      rows.forEach(function(r) {<!-- [et_pb_line_break_holder] -->        const kunci = String(r.judul || '').toLowerCase().replace(\/[\\s_-]\/g, '');<!-- [et_pb_line_break_holder] -->        const nilai = String(r.isi || '').trim();<!-- [et_pb_line_break_holder] -->        if (!kunci || !nilai) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (['intervalmenit', 'interval', 'intervalreload', 'reloadmenit', 'autoreload', 'autoreloadmenit'].indexOf(kunci) !== -1) {<!-- [et_pb_line_break_holder] -->          let menit = parseFloat(nilai.replace(',', '.'));<!-- [et_pb_line_break_holder] -->          if (isNaN(menit) || menit <= 0) return;<!-- [et_pb_line_break_holder] -->          menit = Math.min(Math.max(menit, 0.5), 240);        \/\/ batas aman: 30 detik s.d. 4 jam<!-- [et_pb_line_break_holder] -->          const ms = Math.round(menit * 60000);<!-- [et_pb_line_break_holder] -->          if (ms !== currentIntervalMs) startSyncTimer(ms);<!-- [et_pb_line_break_holder] -->        } else if (['perataanteks', 'perataan', 'ratateks', 'textalign', 'alignteks'].indexOf(kunci) !== -1) {<!-- [et_pb_line_break_holder] -->          const w = document.getElementById('visi-wrapper');<!-- [et_pb_line_break_holder] -->          if (!w) return;<!-- [et_pb_line_break_holder] -->          const v = nilai.toLowerCase();<!-- [et_pb_line_break_holder] -->          w.classList.remove('teks-justify', 'teks-kiri', 'teks-tengah');<!-- [et_pb_line_break_holder] -->          if (['kiri', 'left', 'ratakiri', 'rata kiri'].indexOf(v) !== -1) w.classList.add('teks-kiri');<!-- [et_pb_line_break_holder] -->          else if (['tengah', 'center', 'ratatengah', 'rata tengah'].indexOf(v) !== -1) w.classList.add('teks-tengah');<!-- [et_pb_line_break_holder] -->          else w.classList.add('teks-justify');<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 SHEET \"TENTANG KAMI\" (spreadsheet yang sama dengan Visi\/Misi\/Tujuan) \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Kolom A: Tipe (alamat \/ kontak \/ peta)   Kolom B: Judul   Kolom C: Isi<!-- [et_pb_line_break_holder] -->    \/\/ Kolom D: Ikon Tabler                     Kolom E: Urutan  Kolom F: Aktif<!-- [et_pb_line_break_holder] -->    \/\/ Kolom G: Link (opsional; bila kosong, tautan dibentuk otomatis dari kolom Isi)<!-- [et_pb_line_break_holder] -->    const TK_SHEET = 'tentang kami';<!-- [et_pb_line_break_holder] -->    const TK_TIPE = ['alamat', 'kontak', 'peta', 'pengaturan', 'konfigurasi', 'setting', 'config'];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function gvizUrlTentang() {<!-- [et_pb_line_break_holder] -->      return `https:\/\/docs.google.com\/spreadsheets\/d\/${VMT_SPREADSHEET_ID}\/gviz\/tq?tqx=out:json&headers=1&sheet=${encodeURIComponent(TK_SHEET)}&_=${Date.now()}`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 SHEET \"SEJARAH\" (spreadsheet yang sama) \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Kolom A: Tipe (timeline \/ galeri \/ statistik \/ narasi \/ hero \/ judul)<!-- [et_pb_line_break_holder] -->    \/\/ Kolom B: Judul   -> timeline: tahun | statistik: angka | galeri: keterangan gambar<!-- [et_pb_line_break_holder] -->    \/\/ Kolom C: Isi     -> timeline: uraian | statistik: label | galeri & hero: URL gambar<!-- [et_pb_line_break_holder] -->    \/\/                     narasi: satu paragraf | judul: teks judul bagian<!-- [et_pb_line_break_holder] -->    \/\/ Kolom D: Sumber -> khusus baris \"statistik\": \"manual\" (bawaan) atau \"otomatis\"<!-- [et_pb_line_break_holder] -->    \/\/                    Bila otomatis, kolom B diisi kode: dosen | tendik | profesor |<!-- [et_pb_line_break_holder] -->    \/\/                    doktor | usia:TAHUN (contoh: usia:2000 -> jumlah tahun sejak 2000)<!-- [et_pb_line_break_holder] -->    \/\/ Kolom E: Urutan  Kolom F: Aktif  Kolom G: Perataan<!-- [et_pb_line_break_holder] -->    \/\/ Kolom H: Tampilan (khusus statistik) -> \"bulat\" membulatkan angka besar ke bawah<!-- [et_pb_line_break_holder] -->    \/\/          dan menambah tanda +; kosongkan untuk angka besar apa adanya.<!-- [et_pb_line_break_holder] -->    \/\/ Kolom I: Pembulatan (khusus statistik, opsional) -> kelipatan pembulatan sendiri.<!-- [et_pb_line_break_holder] -->    \/\/          Angka aslinya (sebelum dibulatkan) selalu ikut tampil kecil di bawah,<!-- [et_pb_line_break_holder] -->    \/\/          digabung dengan label -- misalnya besar \"40+\", kecil \"44 Tahun Berdiri\".<!-- [et_pb_line_break_holder] -->    const SJH_SHEET = 'sejarah';<!-- [et_pb_line_break_holder] -->    const SJH_TIPE = ['timeline', 'galeri', 'statistik', 'narasi', 'hero', 'judul'];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function mapRowsSJH(rows) {<!-- [et_pb_line_break_holder] -->      return rows<!-- [et_pb_line_break_holder] -->        .map((row, i) => ({<!-- [et_pb_line_break_holder] -->          tipe: cellVal(row, 0, '').toLowerCase(),<!-- [et_pb_line_break_holder] -->          judul: cellVal(row, 1, ''),<!-- [et_pb_line_break_holder] -->          isi: cellVal(row, 2, ''),<!-- [et_pb_line_break_holder] -->          sumber: cellVal(row, 3, 'manual').toLowerCase(),<!-- [et_pb_line_break_holder] -->          urutan: parseFloat(cellVal(row, 4, '')),<!-- [et_pb_line_break_holder] -->          aktif: cellVal(row, 5, 'ya').toLowerCase(),<!-- [et_pb_line_break_holder] -->          perataan: cellVal(row, 6, ''),<!-- [et_pb_line_break_holder] -->          tampilan: cellVal(row, 7, '').toLowerCase(),<!-- [et_pb_line_break_holder] -->          pembulatan: parseFloat(cellVal(row, 8, '')) || 0,<!-- [et_pb_line_break_holder] -->          baris: i<!-- [et_pb_line_break_holder] -->        }))<!-- [et_pb_line_break_holder] -->        .filter(x => SJH_TIPE.indexOf(x.tipe) !== -1)<!-- [et_pb_line_break_holder] -->        .filter(x => ['tidak', 'no', 'nonaktif', '0', 'false'].indexOf(x.aktif) === -1)<!-- [et_pb_line_break_holder] -->        .filter(x => x.isi !== '' || x.judul !== '');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function ambilSheetSJH() {<!-- [et_pb_line_break_holder] -->      const kandidat = variasiNama(SJH_SHEET).map(n => ({ label: 'tab \"' + n + '\"', url: gvizUrlNama(n) }));<!-- [et_pb_line_break_holder] -->      return ambilSheetUmum('Sejarah', kandidat, mapRowsSJH);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Kelipatan pembulatan bawaan menurut besaran angka (dipakai bila kolom<!-- [et_pb_line_break_holder] -->    \/\/ Pembulatan dikosongkan). Angka di bawah 20 tidak dibulatkan.<!-- [et_pb_line_break_holder] -->    function kelipatanBawaanSejarah(n) {<!-- [et_pb_line_break_holder] -->      if (n >= 1000) return 1000;<!-- [et_pb_line_break_holder] -->      if (n >= 100) return 100;<!-- [et_pb_line_break_holder] -->      if (n >= 20) return 10;<!-- [et_pb_line_break_holder] -->      return 0;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Menghitung angka statistik sejarah. Selalu mengembalikan dua bentuk:<!-- [et_pb_line_break_holder] -->    \/\/   besar -> ditampilkan besar (boleh dibulatkan + tanda \"+\")<!-- [et_pb_line_break_holder] -->    \/\/   kecil -> angka ASLI apa adanya, dipakai sebagai awalan label kecil<!-- [et_pb_line_break_holder] -->    \/\/            (misal besar \"40+\", kecil \"44\" -> label jadi \"44 Tahun Berdiri\")<!-- [et_pb_line_break_holder] -->    function nilaiStatistik(item) {<!-- [et_pb_line_break_holder] -->      let asli = null;               \/\/ angka asli (Number), bila bisa dihitung<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (item.sumber === 'otomatis') {<!-- [et_pb_line_break_holder] -->        const kode = String(item.judul || '').toLowerCase().trim();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (kode.indexOf('usia') === 0) {<!-- [et_pb_line_break_holder] -->          const tahunAwal = parseInt(kode.split(':')[1], 10);<!-- [et_pb_line_break_holder] -->          if (!isNaN(tahunAwal)) asli = new Date().getFullYear() - tahunAwal;<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->          const hitung = {<!-- [et_pb_line_break_holder] -->            dosen: dataDosenMaster.length,<!-- [et_pb_line_break_holder] -->            tendik: dataTendikMaster.length,<!-- [et_pb_line_break_holder] -->            profesor: dataDosenMaster.filter(d => peringkatJabatanDosen(d.jabatan, d.nama) === 1).length,<!-- [et_pb_line_break_holder] -->            doktor: dataDosenMaster.filter(d => \/(^|\\s)(prof\\.?\\s*)?dr\\b|\\bdr\\.\/i.test(String(d.nama || ''))).length,<!-- [et_pb_line_break_holder] -->            prodi: dataProdiMaster.length,<!-- [et_pb_line_break_holder] -->            akreditasi_unggul: dataProdiMaster.filter(row => \/unggul\/i.test(cellVal(row, 5, ''))).length,<!-- [et_pb_line_break_holder] -->            \/\/ Jumlah departemen dihitung dari homebase yang berbeda-beda di sheet Dosen,<!-- [et_pb_line_break_holder] -->            \/\/ bukan daftar tetap -- departemen baru otomatis ikut terhitung.<!-- [et_pb_line_break_holder] -->            departemen: new Set(dataDosenMaster.map(d => String(d.homebase || '').trim().toLowerCase()).filter(Boolean)).size<!-- [et_pb_line_break_holder] -->          };<!-- [et_pb_line_break_holder] -->          if (hitung[kode] != null && hitung[kode] > 0) asli = hitung[kode];<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        \/\/ Manual: ambil bagian angka dari kolom Judul, misal \"5000+\" -> 5000<!-- [et_pb_line_break_holder] -->        const m = String(item.judul || '').match(\/[\\d.]+\/);<!-- [et_pb_line_break_holder] -->        if (m) asli = parseInt(m[0].replace(\/\\.\/g, ''), 10);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Tidak bisa dihitung (data belum siap \/ bukan angka) -> pakai teks apa adanya di kedua sisi<!-- [et_pb_line_break_holder] -->      if (asli == null || isNaN(asli)) return { besar: item.judul, kecil: item.judul };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Tampilan bukan \"bulat\": tampilkan apa adanya -- untuk manual berarti PERSIS<!-- [et_pb_line_break_holder] -->      \/\/ seperti yang diketik admin (termasuk tanda + kalau memang ditulis sendiri),<!-- [et_pb_line_break_holder] -->      \/\/ untuk otomatis berarti angka hasil hitung, ditambah + hanya untuk usia:TAHUN.<!-- [et_pb_line_break_holder] -->      if (item.tampilan !== 'bulat') {<!-- [et_pb_line_break_holder] -->        if (item.sumber === 'otomatis') {<!-- [et_pb_line_break_holder] -->          const sudahAdaPlus = String(item.judul || '').toLowerCase().indexOf('usia') === 0;<!-- [et_pb_line_break_holder] -->          return { besar: angkaRingkas(asli) + (sudahAdaPlus ? '+' : ''), kecil: angkaRingkas(asli) };<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        return { besar: item.judul, kecil: angkaRingkas(asli) };<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Tampilan \"bulat\": angka besar dibulatkan ke bawah + tanda \"+\" bila memang berubah<!-- [et_pb_line_break_holder] -->      const kelipatan = item.pembulatan > 0 ? item.pembulatan : kelipatanBawaanSejarah(asli);<!-- [et_pb_line_break_holder] -->      if (!kelipatan) return { besar: angkaRingkas(asli), kecil: angkaRingkas(asli) };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const bulat = Math.floor(asli \/ kelipatan) * kelipatan;<!-- [et_pb_line_break_holder] -->      if (bulat <= 0) return { besar: angkaRingkas(asli), kecil: angkaRingkas(asli) };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const besar = angkaRingkas(bulat) + (bulat < asli ? '+' : '');<!-- [et_pb_line_break_holder] -->      return { besar, kecil: angkaRingkas(asli) };<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const angkaRingkas = n => Number(n || 0).toLocaleString('id-ID');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function renderSejarah(items) {<!-- [et_pb_line_break_holder] -->      if (!items || !items.length) return;      \/\/ sheet kosong -> konten cadangan dipakai<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const urut = tipe => items<!-- [et_pb_line_break_holder] -->        .filter(i => i.tipe === tipe)<!-- [et_pb_line_break_holder] -->        .sort((a, b) => (isNaN(a.urutan) ? a.baris : a.urutan) - (isNaN(b.urutan) ? b.baris : b.urutan));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Timeline<!-- [et_pb_line_break_holder] -->      const timeline = urut('timeline');<!-- [et_pb_line_break_holder] -->      const wadahTimeline = document.getElementById('timeline-sejarah');<!-- [et_pb_line_break_holder] -->      if (wadahTimeline && timeline.length) {<!-- [et_pb_line_break_holder] -->        wadahTimeline.innerHTML = timeline.map(t => `<!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"timeline-item\"><!-- [et_pb_line_break_holder] -->                <span class=\"tl-dot\"><\/span><!-- [et_pb_line_break_holder] -->                <strong>${escapeHtml(t.judul)}<\/strong><!-- [et_pb_line_break_holder] -->                <p${styleRata(t.perataan)}>${daftarPoin(t.isi)}<\/pee><!-- [et_pb_line_break_holder] -->              <\/div>\n<p>`).join('');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Galeri: datanya disimpan penuh di galeriDataSejarah, ditata (dan bila perlu<!-- [et_pb_line_break_holder] -->      \/\/ dipaginasi) belakangan oleh tataGaleriSejarah() supaya tingginya menyesuaikan<!-- [et_pb_line_break_holder] -->      \/\/ timeline di sebelahnya.<!-- [et_pb_line_break_holder] -->      const galeri = urut('galeri');<!-- [et_pb_line_break_holder] -->      if (galeri.length) {<!-- [et_pb_line_break_holder] -->        galeriDataSejarah = galeri.map((g, i) => ({<!-- [et_pb_line_break_holder] -->          src: urlFotoLangsung(g.isi),<!-- [et_pb_line_break_holder] -->          alt: g.judul || ('Galeri ' + (i + 1))<!-- [et_pb_line_break_holder] -->        }));<!-- [et_pb_line_break_holder] -->        galeriHalamanSejarah = 0;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Statistik \u2014 bisa manual atau dihitung dari data yang sudah ada.<!-- [et_pb_line_break_holder] -->      \/\/ Label kecil menampilkan angka ASLI (tanpa pembulatan) di depan teksnya,<!-- [et_pb_line_break_holder] -->      \/\/ sehingga tetap terlihat meski angka besar di atasnya dibulatkan.<!-- [et_pb_line_break_holder] -->      const statistik = urut('statistik');<!-- [et_pb_line_break_holder] -->      const wadahStat = document.getElementById('statistik-sejarah');<!-- [et_pb_line_break_holder] -->      if (wadahStat && statistik.length) {<!-- [et_pb_line_break_holder] -->        wadahStat.innerHTML = statistik.map(st => {<!-- [et_pb_line_break_holder] -->          const v = nilaiStatistik(st);<!-- [et_pb_line_break_holder] -->          const labelKecil = v.kecil ? `${v.kecil} ${st.isi}`.trim() : st.isi;<!-- [et_pb_line_break_holder] -->          return `<!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"stat-card\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"stat-number\">${escapeHtml(v.besar)}<\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"stat-label\">${escapeHtml(labelKecil)}<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->        }).join('');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Narasi (tiap baris = satu paragraf)<!-- [et_pb_line_break_holder] -->      const narasi = urut('narasi');<!-- [et_pb_line_break_holder] -->      const wadahNarasi = document.getElementById('narasi-sejarah');<!-- [et_pb_line_break_holder] -->      if (wadahNarasi && narasi.length) {<!-- [et_pb_line_break_holder] -->        const judulNarasi = wadahNarasi.querySelector('h3');<!-- [et_pb_line_break_holder] -->        wadahNarasi.innerHTML = (judulNarasi ? judulNarasi.outerHTML : '<\/p>\n<h3>Narasi Sejarah<\/h3>\n<p>') +<!-- [et_pb_line_break_holder] -->          narasi.map(n => `<p${styleRata(n.perataan)}>${daftarPoin(n.isi)}<\/pee>`).join('');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Gambar hero & judul bagian<!-- [et_pb_line_break_holder] -->      const hero = urut('hero')[0];<!-- [et_pb_line_break_holder] -->      if (hero && hero.isi) {<!-- [et_pb_line_break_holder] -->        const img = document.querySelector('.history-hero-left img');<!-- [et_pb_line_break_holder] -->        if (img) img.setAttribute('src', urlFotoLangsung(hero.isi));<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      urut('judul').forEach(j => {<!-- [et_pb_line_break_holder] -->        const nama = String(j.judul || '').toLowerCase();<!-- [et_pb_line_break_holder] -->        if (nama.indexOf('timeline') !== -1) setText('judul-timeline', j.isi);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      tataUlangSejarah();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 TATA LETAK TIMELINE & GALERI (dihitung ulang, bukan disimpan) \u2500\u2500<!-- [et_pb_line_break_holder] -->    let galeriDataSejarah = [];<!-- [et_pb_line_break_holder] -->    let galeriHalamanSejarah = 0;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Meratakan baris terakhir kartu statistik supaya tidak menyisakan ruang kosong.<!-- [et_pb_line_break_holder] -->    \/\/ Bila jumlah kartu di baris terakhir habis membagi jumlah kolom, tiap kartu<!-- [et_pb_line_break_holder] -->    \/\/ dilebarkan sama rata; bila tidak, kartu terakhir saja yang melebar menutup sisa.<!-- [et_pb_line_break_holder] -->    function tataStatistikSejarah() {<!-- [et_pb_line_break_holder] -->      const grid = document.getElementById('statistik-sejarah');<!-- [et_pb_line_break_holder] -->      if (!grid) return;<!-- [et_pb_line_break_holder] -->      const kartu = Array.from(grid.querySelectorAll('.stat-card'));<!-- [et_pb_line_break_holder] -->      if (!kartu.length) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      kartu.forEach(k => { k.style.gridColumn = ''; });   \/\/ bersihkan dari perhitungan sebelumnya<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const kolom = window.getComputedStyle(grid).gridTemplateColumns.split(' ').filter(Boolean).length || 1;<!-- [et_pb_line_break_holder] -->      const n = kartu.length;<!-- [et_pb_line_break_holder] -->      const sisa = n % kolom;<!-- [et_pb_line_break_holder] -->      if (sisa === 0 || n <= kolom) return;   \/\/ baris terakhir sudah penuh, atau cuma satu baris<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const barisTerakhir = kartu.slice(n - sisa);<!-- [et_pb_line_break_holder] -->      if (kolom % sisa === 0) {<!-- [et_pb_line_break_holder] -->        const lebar = kolom \/ sisa;<!-- [et_pb_line_break_holder] -->        barisTerakhir.forEach(k => { k.style.gridColumn = 'span ' + lebar; });<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        barisTerakhir.slice(0, -1).forEach(k => { k.style.gridColumn = 'span 1'; });<!-- [et_pb_line_break_holder] -->        const sisaLebar = kolom - (sisa - 1);<!-- [et_pb_line_break_holder] -->        barisTerakhir[barisTerakhir.length - 1].style.gridColumn = 'span ' + sisaLebar;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function tataUlangSejarah() {<!-- [et_pb_line_break_holder] -->      const jalan = () => { gambarKonektorTimeline(); tataGaleriSejarah(); tataStatistikSejarah(); };<!-- [et_pb_line_break_holder] -->      if (typeof requestAnimationFrame === 'function') requestAnimationFrame(jalan);<!-- [et_pb_line_break_holder] -->      else setTimeout(jalan, 0);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function gambarKonektorTimeline() {<!-- [et_pb_line_break_holder] -->      const svg = document.getElementById('svg-timeline');<!-- [et_pb_line_break_holder] -->      const wadah = document.getElementById('timeline-sejarah');<!-- [et_pb_line_break_holder] -->      if (!svg || !wadah) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const kartu = Array.from(wadah.querySelectorAll('.timeline-item'));<!-- [et_pb_line_break_holder] -->      const wadahRect = wadah.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->      if (kartu.length < 2 || !wadahRect.width) { svg.innerHTML = ''; return; }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      svg.setAttribute('viewBox', `0 0 ${wadahRect.width} ${wadahRect.height}`);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const titik = kartu.map(el => {<!-- [et_pb_line_break_holder] -->        const dot = el.querySelector('.tl-dot') || el;<!-- [et_pb_line_break_holder] -->        const rDot = dot.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->        const rItem = el.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->        return {<!-- [et_pb_line_break_holder] -->          x: rDot.left - wadahRect.left + rDot.width \/ 2,<!-- [et_pb_line_break_holder] -->          y: rDot.top - wadahRect.top + rDot.height \/ 2,<!-- [et_pb_line_break_holder] -->          bawah: rItem.bottom - wadahRect.top<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const tepi = 8;   \/\/ berada di tengah jalur kosong 16px pada .timeline<!-- [et_pb_line_break_holder] -->      let d = `M ${titik[0].x} ${titik[0].y}`;<!-- [et_pb_line_break_holder] -->      for (let i = 0; i < titik.length - 1; i++) {<!-- [et_pb_line_break_holder] -->        const a = titik[i], b = titik[i + 1];<!-- [et_pb_line_break_holder] -->        if (Math.abs(a.y - b.y) < 4) {<!-- [et_pb_line_break_holder] -->          d += ` L ${b.x} ${b.y}`;<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->          \/\/ Menyeberang di celah antar baris (bawah kartu terakhir baris ini<!-- [et_pb_line_break_holder] -->          \/\/ sampai atas kartu pertama baris berikutnya), bukan di tengah tinggi<!-- [et_pb_line_break_holder] -->          \/\/ baris -- supaya tidak memotong teks bila salah satu kartu tinggi.<!-- [et_pb_line_break_holder] -->          const kananX = wadahRect.width - tepi;<!-- [et_pb_line_break_holder] -->          const tengahY = (a.bawah + b.y) \/ 2;<!-- [et_pb_line_break_holder] -->          d += ` L ${kananX} ${a.y} L ${kananX} ${tengahY} L ${tepi} ${tengahY} L ${tepi} ${b.y} L ${b.x} ${b.y}`;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      svg.innerHTML = `<path class=\"tl-line\" d=\"${d}\"><\/path>`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function tataGaleriSejarah() {<!-- [et_pb_line_break_holder] -->      const galeri = document.getElementById('galeri-sejarah');<!-- [et_pb_line_break_holder] -->      const kotakTimeline = document.querySelector('.timeline-box');<!-- [et_pb_line_break_holder] -->      const paginasi = document.getElementById('galeri-paginasi');<!-- [et_pb_line_break_holder] -->      if (!galeri || !kotakTimeline) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (!galeriDataSejarah.length) {<!-- [et_pb_line_break_holder] -->        galeriDataSejarah = Array.from(galeri.querySelectorAll('img')).map(img => ({<!-- [et_pb_line_break_holder] -->          src: img.getAttribute('src'), alt: img.getAttribute('alt') || ''<!-- [et_pb_line_break_holder] -->        }));<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      if (!galeriDataSejarah.length) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const tinggiTimeline = kotakTimeline.getBoundingClientRect().height;<!-- [et_pb_line_break_holder] -->      const gap = 12;<!-- [et_pb_line_break_holder] -->      const lebarGambar = (galeri.clientWidth - gap) \/ 2;<!-- [et_pb_line_break_holder] -->      const tinggiGambar = lebarGambar;<!-- [et_pb_line_break_holder] -->      const baris = tinggiTimeline > 0<!-- [et_pb_line_break_holder] -->        ? Math.max(1, Math.floor((tinggiTimeline + gap) \/ (tinggiGambar + gap)))<!-- [et_pb_line_break_holder] -->        : 2;<!-- [et_pb_line_break_holder] -->      const perHalaman = Math.max(2, baris * 2);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const totalHalaman = Math.max(1, Math.ceil(galeriDataSejarah.length \/ perHalaman));<!-- [et_pb_line_break_holder] -->      if (galeriHalamanSejarah >= totalHalaman) galeriHalamanSejarah = totalHalaman - 1;<!-- [et_pb_line_break_holder] -->      if (galeriHalamanSejarah < 0) galeriHalamanSejarah = 0;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const mulai = galeriHalamanSejarah * perHalaman;<!-- [et_pb_line_break_holder] -->      const bagian = galeriDataSejarah.slice(mulai, mulai + perHalaman);<!-- [et_pb_line_break_holder] -->      galeri.innerHTML = bagian.map(g =><!-- [et_pb_line_break_holder] -->        `<img decoding=\"async\" src=\"${escapeHtml(g.src)}\" alt=\"${escapeHtml(g.alt)}\" title=\"${escapeHtml(g.alt)}\" loading=\"lazy\">`<!-- [et_pb_line_break_holder] -->      ).join('');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (paginasi) {<!-- [et_pb_line_break_holder] -->        if (totalHalaman > 1) {<!-- [et_pb_line_break_holder] -->          paginasi.style.display = 'flex';<!-- [et_pb_line_break_holder] -->          const label = document.getElementById('galeri-halaman');<!-- [et_pb_line_break_holder] -->          if (label) label.textContent = (galeriHalamanSejarah + 1) + ' \/ ' + totalHalaman;<!-- [et_pb_line_break_holder] -->          const prev = document.getElementById('galeri-prev');<!-- [et_pb_line_break_holder] -->          const next = document.getElementById('galeri-next');<!-- [et_pb_line_break_holder] -->          if (prev) prev.disabled = galeriHalamanSejarah === 0;<!-- [et_pb_line_break_holder] -->          if (next) next.disabled = galeriHalamanSejarah === totalHalaman - 1;<!-- [et_pb_line_break_holder] -->        } else {<!-- [et_pb_line_break_holder] -->          paginasi.style.display = 'none';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function galeriGeser(arah) {<!-- [et_pb_line_break_holder] -->      galeriHalamanSejarah += arah;<!-- [et_pb_line_break_holder] -->      tataGaleriSejarah();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 SHEET \"STRUKTUR ORGANISASI\" (spreadsheet yang sama) \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Kolom A: Tipe (bagan \/ unduhan \/ jabatan)   Kolom B: Judul   Kolom C: Isi<!-- [et_pb_line_break_holder] -->    \/\/ Kolom D: Ikon (tidak dipakai)               Kolom E: Urutan  Kolom F: Aktif<!-- [et_pb_line_break_holder] -->    \/\/   bagan    -> Judul: id \/ en        Isi: URL gambar bagan<!-- [et_pb_line_break_holder] -->    \/\/   unduhan  -> Judul: id \/ en        Isi: URL berkas unduhan (opsional; bila kosong memakai URL bagan)<!-- [et_pb_line_break_holder] -->    \/\/   jabatan  -> Judul: nama jabatan   Isi: deskripsi jabatan<!-- [et_pb_line_break_holder] -->    const STR_SHEET = 'struktur organisasi';<!-- [et_pb_line_break_holder] -->    const STR_TIPE = ['bagan', 'unduhan', 'jabatan'];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function mapRowsSTR(rows) {<!-- [et_pb_line_break_holder] -->      return rows<!-- [et_pb_line_break_holder] -->        .map((row, i) => ({<!-- [et_pb_line_break_holder] -->          tipe: cellVal(row, 0, '').toLowerCase(),<!-- [et_pb_line_break_holder] -->          judul: cellVal(row, 1, ''),<!-- [et_pb_line_break_holder] -->          isi: cellVal(row, 2, ''),<!-- [et_pb_line_break_holder] -->          urutan: parseFloat(cellVal(row, 4, '')),<!-- [et_pb_line_break_holder] -->          aktif: cellVal(row, 5, 'ya').toLowerCase(),<!-- [et_pb_line_break_holder] -->          perataan: cellVal(row, 6, ''),        \/\/ kolom G (opsional)<!-- [et_pb_line_break_holder] -->          baris: i<!-- [et_pb_line_break_holder] -->        }))<!-- [et_pb_line_break_holder] -->        .filter(x => STR_TIPE.indexOf(x.tipe) !== -1)<!-- [et_pb_line_break_holder] -->        .filter(x => ['tidak', 'no', 'nonaktif', '0', 'false'].indexOf(x.aktif) === -1)<!-- [et_pb_line_break_holder] -->        .filter(x => x.isi !== '');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const bahasaBaris = j => \/^(en|eng|english|inggris|bahasa inggris)$\/i.test(String(j || '').trim()) ? 'en' : 'id';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function renderStrukturOrganisasi(items) {<!-- [et_pb_line_break_holder] -->      if (!items || !items.length) return;      \/\/ sheet kosong -> gambar bawaan di HTML dipakai<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const urut = tipe => items<!-- [et_pb_line_break_holder] -->        .filter(i => i.tipe === tipe)<!-- [et_pb_line_break_holder] -->        .sort((a, b) => (isNaN(a.urutan) ? a.baris : a.urutan) - (isNaN(b.urutan) ? b.baris : b.urutan));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Gambar bagan per bahasa; pergantian ID\/EN tetap ditangani CSS html[lang]<!-- [et_pb_line_break_holder] -->      const bagan = { id: '', en: '' };<!-- [et_pb_line_break_holder] -->      urut('bagan').forEach(b => { bagan[bahasaBaris(b.judul)] = b.isi; });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (bagan.id) pasangSumber('bagan-id', 'src', bagan.id);<!-- [et_pb_line_break_holder] -->      if (bagan.en) pasangSumber('bagan-en', 'src', bagan.en);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Tautan unduh: pakai baris \"unduhan\" bila ada, kalau tidak ikut URL bagan<!-- [et_pb_line_break_holder] -->      const unduh = { id: bagan.id, en: bagan.en };<!-- [et_pb_line_break_holder] -->      urut('unduhan').forEach(u => { unduh[bahasaBaris(u.judul)] = u.isi; });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (unduh.id) pasangSumber('unduh-id', 'href', unduh.id);<!-- [et_pb_line_break_holder] -->      if (unduh.en) pasangSumber('unduh-en', 'href', unduh.en);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Daftar deskripsi jabatan<!-- [et_pb_line_break_holder] -->      const jabatan = urut('jabatan');<!-- [et_pb_line_break_holder] -->      if (jabatan.length) {<!-- [et_pb_line_break_holder] -->        const select = document.getElementById('jabatan-select');<!-- [et_pb_line_break_holder] -->        if (select) {<!-- [et_pb_line_break_holder] -->          const sebelumnya = select.value;<!-- [et_pb_line_break_holder] -->          deskripsiJabatan = {};<!-- [et_pb_line_break_holder] -->          select.innerHTML = jabatan.map((j, i) => {<!-- [et_pb_line_break_holder] -->            const kunci = 'sheet-' + i;<!-- [et_pb_line_break_holder] -->            \/\/ Teks dalam kurung hanya dipakai di dropdown; judul kartu memakai versi ringkasnya.<!-- [et_pb_line_break_holder] -->            \/\/ Contoh: \"Wakil Dekan I (Bidang Akademik)\" -> dropdown lengkap, kartu \"Wakil Dekan I\".<!-- [et_pb_line_break_holder] -->            const judulKartu = j.judul.replace(\/\\s*\\([^)]*\\)\\s*$\/, '').trim() || j.judul;<!-- [et_pb_line_break_holder] -->            deskripsiJabatan[kunci] = { title: judulKartu, desc: j.isi, perataan: j.perataan };<!-- [et_pb_line_break_holder] -->            return `<option value=\"${kunci}\">${escapeHtml(j.judul)}<\/option>`;<!-- [et_pb_line_break_holder] -->          }).join('');<!-- [et_pb_line_break_holder] -->          select.value = deskripsiJabatan[sebelumnya] ? sebelumnya : select.options[0].value;<!-- [et_pb_line_break_holder] -->          changeJabatan();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ URL tanpa \"https:\/\/\" akan dibaca peramban sebagai path relatif dan gambar tidak muncul,<!-- [et_pb_line_break_holder] -->    \/\/ jadi skema ditambahkan otomatis bila belum ada.<!-- [et_pb_line_break_holder] -->    function normalisasiUrl(nilai) {<!-- [et_pb_line_break_holder] -->      const v = String(nilai || '').trim();<!-- [et_pb_line_break_holder] -->      if (!v) return '';<!-- [et_pb_line_break_holder] -->      if (\/^(https?:)?\\\/\\\/\/i.test(v)) return v.indexOf('\/\/') === 0 ? 'https:' + v : v;<!-- [et_pb_line_break_holder] -->      if (v.charAt(0) === '\/') return v;                 \/\/ path relatif dari akar situs<!-- [et_pb_line_break_holder] -->      if (\/^data:\/i.test(v)) return v;<!-- [et_pb_line_break_holder] -->      return 'https:\/\/' + v.replace(\/^\\\/+\/, '');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function pasangSumber(id, atribut, nilai) {<!-- [et_pb_line_break_holder] -->      const el = document.getElementById(id);<!-- [et_pb_line_break_holder] -->      const url = urlFotoLangsung(nilai);<!-- [et_pb_line_break_holder] -->      if (!el || !url || el.getAttribute(atribut) === url) return;<!-- [et_pb_line_break_holder] -->      el.setAttribute(atribut, url);<!-- [et_pb_line_break_holder] -->      if (atribut === 'src') {<!-- [et_pb_line_break_holder] -->        el.style.display = '';<!-- [et_pb_line_break_holder] -->        const kosong = document.getElementById('bagan-kosong');<!-- [et_pb_line_break_holder] -->        if (kosong) kosong.style.display = 'none';<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function ambilSheetSTR() {<!-- [et_pb_line_break_holder] -->      const kandidat = variasiNama(STR_SHEET).map(n => ({ label: 'tab \"' + n + '\"', url: gvizUrlNama(n) }));<!-- [et_pb_line_break_holder] -->      return ambilSheetUmum('Struktur Organisasi', kandidat, mapRowsSTR);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Nama tab di gviz bersifat case-sensitive, jadi beberapa variasi penulisan dicoba<!-- [et_pb_line_break_holder] -->    \/\/ (\"tentang kami\", \"Tentang Kami\", \"TENTANG KAMI\", dst).<!-- [et_pb_line_break_holder] -->    function variasiNama(nama) {<!-- [et_pb_line_break_holder] -->      const dasar = String(nama || '').trim();<!-- [et_pb_line_break_holder] -->      const judulKata = dasar.toLowerCase().replace(\/\\b\\w\/g, c => c.toUpperCase());<!-- [et_pb_line_break_holder] -->      const hasil = [dasar, dasar.toLowerCase(), judulKata, dasar.toUpperCase()];<!-- [et_pb_line_break_holder] -->      return hasil.filter((v, i) => v && hasil.indexOf(v) === i);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function gvizUrlNama(nama) {<!-- [et_pb_line_break_holder] -->      return `https:\/\/docs.google.com\/spreadsheets\/d\/${VMT_SPREADSHEET_ID}\/gviz\/tq?tqx=out:json&headers=1&sheet=${encodeURIComponent(nama)}&_=${Date.now()}`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 SHEET \"PRODI\" (spreadsheet AKADEMIK -- terpisah dari Laman Profil) \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Dipakai untuk statistik otomatis \"prodi\" dan \"akreditasi_unggul\" di tab Sejarah.<!-- [et_pb_line_break_holder] -->    \/\/ Kolom A: Nama Prodi (baris pertama diabaikan sebagai judul)<!-- [et_pb_line_break_holder] -->    \/\/ Kolom F: Peringkat Akreditasi (dicari kata \"Unggul\")<!-- [et_pb_line_break_holder] -->    const SS_PRODI = '1t8tO4hwjmn00MjNyM8aF4TXzD3tCYsU4KdKuc7IJKAI';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function gvizUrlSpreadsheet(idSpreadsheet, nama) {<!-- [et_pb_line_break_holder] -->      return `https:\/\/docs.google.com\/spreadsheets\/d\/${idSpreadsheet}\/gviz\/tq?tqx=out:json&headers=1&sheet=${encodeURIComponent(nama)}&_=${Date.now()}`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    async function ambilSheetProdi() {<!-- [et_pb_line_break_holder] -->      for (const nama of variasiNama('PRODI')) {<!-- [et_pb_line_break_holder] -->        try {<!-- [et_pb_line_break_holder] -->          const r = await fetch(gvizUrlSpreadsheet(SS_PRODI, nama), { cache: 'no-store' });<!-- [et_pb_line_break_holder] -->          const rows = parseGviz(await r.text());<!-- [et_pb_line_break_holder] -->          const barisProdi = rows.filter(row =><!-- [et_pb_line_break_holder] -->            cellVal(row, 0, '') !== '' && cellVal(row, 0, '').toLowerCase().indexOf('nama prodi') === -1);<!-- [et_pb_line_break_holder] -->          if (barisProdi.length) {<!-- [et_pb_line_break_holder] -->            console.info('[Sinkron] PRODI -> %d baris dari tab \"%s\"', barisProdi.length, nama);<!-- [et_pb_line_break_holder] -->            return barisProdi;<!-- [et_pb_line_break_holder] -->          }<!-- [et_pb_line_break_holder] -->        } catch (e) { \/* coba variasi nama berikutnya *\/ }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      console.warn('[Sinkron] PRODI -> tidak terbaca (statistik prodi otomatis memakai nilai manual bila ada)');<!-- [et_pb_line_break_holder] -->      return [];<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Mencoba tiap kandidat berurutan; yang pertama menghasilkan baris dipakai.<!-- [et_pb_line_break_holder] -->    async function ambilSheetUmum(judulLog, kandidat, mapper) {<!-- [et_pb_line_break_holder] -->      let pesan = 'tidak ada kandidat yang berhasil';<!-- [et_pb_line_break_holder] -->      for (const k of kandidat) {<!-- [et_pb_line_break_holder] -->        try {<!-- [et_pb_line_break_holder] -->          const r = await fetch(k.url, { cache: 'no-store' });<!-- [et_pb_line_break_holder] -->          const rows = mapper(parseGviz(await r.text()));<!-- [et_pb_line_break_holder] -->          if (rows.length) {<!-- [et_pb_line_break_holder] -->            console.info('[Sinkron] %s -> %d baris dari %s', judulLog, rows.length, k.label);<!-- [et_pb_line_break_holder] -->            return rows;<!-- [et_pb_line_break_holder] -->          }<!-- [et_pb_line_break_holder] -->          pesan = k.label + ' terbaca tetapi tidak ada baris yang cocok (cek kolom Tipe & Aktif)';<!-- [et_pb_line_break_holder] -->        } catch (e) {<!-- [et_pb_line_break_holder] -->          pesan = k.label + ' gagal: ' + e.message;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      console.warn('[Sinkron] %s -> %s', judulLog, pesan);<!-- [et_pb_line_break_holder] -->      return [];<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function ambilSheetVMT() {<!-- [et_pb_line_break_holder] -->      const kandidat = variasiNama(VMT_SHEET).map(n => ({ label: 'tab \"' + n + '\"', url: gvizUrlNama(n) }));<!-- [et_pb_line_break_holder] -->      kandidat.push({ label: 'gid=' + VMT_GID, url: gvizUrlVmt(false) });<!-- [et_pb_line_break_holder] -->      return ambilSheetUmum('Visi\/Misi\/Tujuan', kandidat, mapRowsVMT);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function ambilSheetTK() {<!-- [et_pb_line_break_holder] -->      const kandidat = variasiNama(TK_SHEET).map(n => ({ label: 'tab \"' + n + '\"', url: gvizUrlNama(n) }));<!-- [et_pb_line_break_holder] -->      return ambilSheetUmum('Tentang Kami', kandidat, mapRowsTK);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function mapRowsTK(rows) {<!-- [et_pb_line_break_holder] -->      return rows<!-- [et_pb_line_break_holder] -->        .map((row, i) => ({<!-- [et_pb_line_break_holder] -->          tipe: cellVal(row, 0, '').toLowerCase(),<!-- [et_pb_line_break_holder] -->          judul: cellVal(row, 1, ''),<!-- [et_pb_line_break_holder] -->          isi: cellVal(row, 2, ''),<!-- [et_pb_line_break_holder] -->          ikon: cellVal(row, 3, ''),<!-- [et_pb_line_break_holder] -->          urutan: parseFloat(cellVal(row, 4, '')),<!-- [et_pb_line_break_holder] -->          aktif: cellVal(row, 5, 'ya').toLowerCase(),<!-- [et_pb_line_break_holder] -->          link: cellVal(row, 6, ''),<!-- [et_pb_line_break_holder] -->          perataan: cellVal(row, 7, ''),        \/\/ kolom H (opsional)<!-- [et_pb_line_break_holder] -->          baris: i<!-- [et_pb_line_break_holder] -->        }))<!-- [et_pb_line_break_holder] -->        .filter(x => TK_TIPE.indexOf(x.tipe) !== -1)<!-- [et_pb_line_break_holder] -->        .filter(x => ['tidak', 'no', 'nonaktif', '0', 'false'].indexOf(x.aktif) === -1)<!-- [et_pb_line_break_holder] -->        .filter(x => x.isi !== '' || x.judul !== '');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Teks yang dipisah titik koma (atau baris baru) ditampilkan sebagai daftar berpoin<!-- [et_pb_line_break_holder] -->    function daftarPoin(teks) {<!-- [et_pb_line_break_holder] -->      const bagian = String(teks || '').split(\/\\s*;\\s*|\\r?\\n\/).map(x => x.trim()).filter(Boolean);<!-- [et_pb_line_break_holder] -->      if (bagian.length <= 1) return nl2br(teks || '');<!-- [et_pb_line_break_holder] -->      return '<\/p>\n<ul class=\"poin-ikhtisar\">' + bagian.map(b => `<\/p>\n<li>${escapeHtml(b)}<\/li>\n<p>`).join('') + '<\/ul>\n<p>';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function nl2br(teks) {<!-- [et_pb_line_break_holder] -->      return escapeHtml(teks).replace(\/\\r?\\n\/g, '<!\u2013- [et_pb_br_holder] -\u2013>');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Tautan dibentuk otomatis: surel -> mailto, nomor -> wa.me (atau tel bila ikon telepon),<!-- [et_pb_line_break_holder] -->    \/\/ domain\/URL -> https. Bisa ditimpa lewat kolom G.<!-- [et_pb_line_break_holder] -->    function tautanKontak(nilai, ikon, linkManual) {<!-- [et_pb_line_break_holder] -->      if (linkManual) return linkManual;<!-- [et_pb_line_break_holder] -->      const v = String(nilai || '').trim();<!-- [et_pb_line_break_holder] -->      const ik = String(ikon || '').toLowerCase();<!-- [et_pb_line_break_holder] -->      if (\/^https?:\\\/\\\/\/i.test(v)) return v;<!-- [et_pb_line_break_holder] -->      if (\/^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$\/.test(v)) return 'mailto:' + v;<!-- [et_pb_line_break_holder] -->      if (\/^[0-9+().\\-\\s]{8,}$\/.test(v)) {<!-- [et_pb_line_break_holder] -->        let digit = v.replace(\/[^0-9]\/g, '');<!-- [et_pb_line_break_holder] -->        if (ik.indexOf('phone') !== -1) return 'tel:+' + (digit.charAt(0) === '0' ? '62' + digit.slice(1) : digit);<!-- [et_pb_line_break_holder] -->        if (digit.charAt(0) === '0') digit = '62' + digit.slice(1);<!-- [et_pb_line_break_holder] -->        return 'https:\/\/wa.me\/' + digit;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      if (\/^[\\w.-]+\\.[a-z]{2,}(\\\/.*)?$\/i.test(v)) return 'https:\/\/' + v;<!-- [et_pb_line_break_holder] -->      return '';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function kelasIkonKontak(ikon) {<!-- [et_pb_line_break_holder] -->      const v = String(ikon || '').toLowerCase();<!-- [et_pb_line_break_holder] -->      if (v.indexOf('whatsapp') !== -1) return 'wa';<!-- [et_pb_line_break_holder] -->      if (v.indexOf('mail') !== -1) return 'mail';<!-- [et_pb_line_break_holder] -->      return 'net';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function urlPeta(nilai) {<!-- [et_pb_line_break_holder] -->      const v = String(nilai || '').trim();<!-- [et_pb_line_break_holder] -->      if (\/\\\/maps\\\/embed\/i.test(v)) return v;                       \/\/ sudah berupa src embed<!-- [et_pb_line_break_holder] -->      return 'https:\/\/www.google.com\/maps?q=' + encodeURIComponent(v) + '&output=embed';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function renderTentangKami(items) {<!-- [et_pb_line_break_holder] -->      if (!items || !items.length) return;   \/\/ sheet kosong\/gagal -> konten cadangan dipakai<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const ambil = tipe => items<!-- [et_pb_line_break_holder] -->        .filter(i => i.tipe === tipe)<!-- [et_pb_line_break_holder] -->        .sort((a, b) => {<!-- [et_pb_line_break_holder] -->          const ua = isNaN(a.urutan) ? a.baris : a.urutan;<!-- [et_pb_line_break_holder] -->          const ub = isNaN(b.urutan) ? b.baris : b.urutan;<!-- [et_pb_line_break_holder] -->          return ua - ub;<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      applyPengaturan(items.filter(i => ['pengaturan', 'konfigurasi', 'setting', 'config'].indexOf(i.tipe) !== -1));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const alamat = ambil('alamat');<!-- [et_pb_line_break_holder] -->      const kontak = ambil('kontak');<!-- [et_pb_line_break_holder] -->      const peta = ambil('peta');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const elAlamat = document.getElementById('about-alamat');<!-- [et_pb_line_break_holder] -->      if (elAlamat && alamat.length) {<!-- [et_pb_line_break_holder] -->        elAlamat.innerHTML = alamat.map(a =><!-- [et_pb_line_break_holder] -->          `<div${styleRata(a.perataan)}>` +<!-- [et_pb_line_break_holder] -->          (a.judul ? `<strong>${escapeHtml(a.judul)}<\/strong>` : '') + nl2br(a.isi) +<!-- [et_pb_line_break_holder] -->          `<\/div>\n<p>`<!-- [et_pb_line_break_holder] -->        ).join('');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const elKontak = document.getElementById('about-kontak');<!-- [et_pb_line_break_holder] -->      if (elKontak && kontak.length) {<!-- [et_pb_line_break_holder] -->        elKontak.innerHTML = kontak.map(k => {<!-- [et_pb_line_break_holder] -->          const ikon = normalizeIkon(k.ikon, 'ti-link');<!-- [et_pb_line_break_holder] -->          const url = tautanKontak(k.isi, k.ikon, k.link);<!-- [et_pb_line_break_holder] -->          const eksternal = \/^https?:\/i.test(url) ? ' target=\"_blank\" rel=\"noopener\"' : '';<!-- [et_pb_line_break_holder] -->          const nilai = url<!-- [et_pb_line_break_holder] -->            ? `<a href=\"${escapeHtml(url)}\"${eksternal}>${escapeHtml(k.isi)}<\/a>`<!-- [et_pb_line_break_holder] -->            : `<span>${escapeHtml(k.isi)}<\/span>`;<!-- [et_pb_line_break_holder] -->          return `<\/p>\n<div class=\"contact-item-row\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"contact-item-icon ${kelasIkonKontak(k.ikon)}\"><i class=\"${ikon}\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->              <\/p>\n<div class=\"contact-item-info\"${styleRata(k.perataan)}><!-- [et_pb_line_break_holder] -->                <strong>${escapeHtml(k.judul)}<\/strong><!-- [et_pb_line_break_holder] -->                ${nilai}<!-- [et_pb_line_break_holder] -->              <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->        }).join('');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const elPeta = document.getElementById('about-peta');<!-- [et_pb_line_break_holder] -->      if (elPeta && peta.length && peta[0].isi) {<!-- [et_pb_line_break_holder] -->        const src = urlPeta(peta[0].isi);<!-- [et_pb_line_break_holder] -->        if (elPeta.getAttribute('src') !== src) elPeta.setAttribute('src', src);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function setText(id, value) {<!-- [et_pb_line_break_holder] -->      const el = document.getElementById(id);<!-- [et_pb_line_break_holder] -->      if (el && value) el.textContent = value;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function mapRowsDosen(rows) {<!-- [et_pb_line_break_holder] -->      return rows<!-- [et_pb_line_break_holder] -->        .filter(row => row.c && row.c[0] && row.c[0].v && String(row.c[0].v).trim() !== '' && String(row.c[0].v).toLowerCase() !== 'nama')<!-- [et_pb_line_break_holder] -->        .map(row => ({<!-- [et_pb_line_break_holder] -->          nama: cellVal(row, 0, '-'),<!-- [et_pb_line_break_holder] -->          nip: cellVal(row, 1, '-'),<!-- [et_pb_line_break_holder] -->          nidn: cellVal(row, 2, '-'),<!-- [et_pb_line_break_holder] -->          pangkat: cellVal(row, 3, '-'),<!-- [et_pb_line_break_holder] -->          jabatan: cellVal(row, 4, '-'),<!-- [et_pb_line_break_holder] -->          tugas_tambahan: cellVal(row, 5, '-'),<!-- [et_pb_line_break_holder] -->          email: cellVal(row, 6, '-'),<!-- [et_pb_line_break_holder] -->          status: cellVal(row, 7, '-'),<!-- [et_pb_line_break_holder] -->          homebase: cellVal(row, 8, '-'),<!-- [et_pb_line_break_holder] -->          kepakaran: cellVal(row, 9, '-'),<!-- [et_pb_line_break_holder] -->          drh: cellVal(row, 10, ''),              \/\/ kolom K<!-- [et_pb_line_break_holder] -->          scopus: cellVal(row, 11, ''),           \/\/ kolom L<!-- [et_pb_line_break_holder] -->          scholar: cellVal(row, 12, ''),          \/\/ kolom M<!-- [et_pb_line_break_holder] -->          opini: cellVal(row, 13, ''),            \/\/ kolom N<!-- [et_pb_line_break_holder] -->          foto: cellVal(row, 14, '')              \/\/ kolom O<!-- [et_pb_line_break_holder] -->        }));<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function mapRowsTendik(rows) {<!-- [et_pb_line_break_holder] -->      return rows<!-- [et_pb_line_break_holder] -->        .filter(row => row.c && row.c[0] && row.c[0].v && String(row.c[0].v).trim() !== '' && String(row.c[0].v).toLowerCase() !== 'nama')<!-- [et_pb_line_break_holder] -->        .map(row => ({<!-- [et_pb_line_break_holder] -->          nama: cellVal(row, 0, '-'),<!-- [et_pb_line_break_holder] -->          nip: cellVal(row, 1, '-'),<!-- [et_pb_line_break_holder] -->          ttl: cellVal(row, 2, '-'),<!-- [et_pb_line_break_holder] -->          pangkat: cellVal(row, 3, '-'),<!-- [et_pb_line_break_holder] -->          email: cellVal(row, 4, '-'),<!-- [et_pb_line_break_holder] -->          pendidikan: cellVal(row, 5, '-'),<!-- [et_pb_line_break_holder] -->          unit_kerja: cellVal(row, 6, '-'),<!-- [et_pb_line_break_holder] -->          lokasi_kantor: cellVal(row, 7, '-'),<!-- [et_pb_line_break_holder] -->          sub_bagian: cellVal(row, 8, '-'),<!-- [et_pb_line_break_holder] -->          jabatan: cellVal(row, 9, '-'),<!-- [et_pb_line_break_holder] -->          ikhtisar: cellVal(row, 10, ''),          \/\/ kolom K<!-- [et_pb_line_break_holder] -->          sertifikat: cellVal(row, 11, ''),        \/\/ kolom L<!-- [et_pb_line_break_holder] -->          foto: cellVal(row, 12, '')               \/\/ kolom M (bergeser karena ada 2 kolom baru)<!-- [et_pb_line_break_holder] -->        }));<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    async function fetchDataFromSheets(isFirstLoad) {<!-- [et_pb_line_break_holder] -->      if (isSyncing) return;<!-- [et_pb_line_break_holder] -->      isSyncing = true;<!-- [et_pb_line_break_holder] -->      setSyncStatus('syncing');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      try {<!-- [et_pb_line_break_holder] -->        const [resDosen, resTendik, resPimpinan] = await Promise.all([<!-- [et_pb_line_break_holder] -->          fetch(gvizUrl('Dosen'), { cache: 'no-store' }),<!-- [et_pb_line_break_holder] -->          fetch(gvizUrl('Tendik'), { cache: 'no-store' }),<!-- [et_pb_line_break_holder] -->          fetch(gvizUrl('Pimpinan Fakultas'), { cache: 'no-store' })<!-- [et_pb_line_break_holder] -->        ]);<!-- [et_pb_line_break_holder] -->        const [txtDosen, txtTendik, txtPimpinan] = await Promise.all([resDosen.text(), resTendik.text(), resPimpinan.text()]);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const newDosen = mapRowsDosen(parseGviz(txtDosen));<!-- [et_pb_line_break_holder] -->        const newTendik = mapRowsTendik(parseGviz(txtTendik));<!-- [et_pb_line_break_holder] -->        const rowsPimpinan = parseGviz(txtPimpinan);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Sheet Visi\/Misi\/Tujuan & Tentang Kami diproses terpisah: bila salah satu<!-- [et_pb_line_break_holder] -->        \/\/ gagal, data dosen\/tendik tetap tampil dan konten cadangan dipakai.<!-- [et_pb_line_break_holder] -->        const [newVmt, newTk, newStr, newSjh, newProdi] = await Promise.all([<!-- [et_pb_line_break_holder] -->          ambilSheetVMT(), ambilSheetTK(), ambilSheetSTR(), ambilSheetSJH(), ambilSheetProdi()<!-- [et_pb_line_break_holder] -->        ]);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        console.info('[Sinkron] baris terbaca -> dosen: %d | tendik: %d | visi-misi-tujuan: %d | tentang kami: %d',<!-- [et_pb_line_break_holder] -->          newDosen.length, newTendik.length, newVmt.length, newTk.length);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Diagnosa kolom dosen: memastikan kolom N (opini) dan O (foto) terbaca<!-- [et_pb_line_break_holder] -->        const adaOpini = newDosen.filter(d => String(d.opini || '').trim() !== '').length;<!-- [et_pb_line_break_holder] -->        const adaFoto = newDosen.filter(d => String(d.foto || '').trim() !== '').length;<!-- [et_pb_line_break_holder] -->        console.info('[Sinkron] kolom dosen -> opini terisi: %d | foto terisi: %d | contoh baris pertama: %o',<!-- [et_pb_line_break_holder] -->          adaOpini, adaFoto, newDosen[0] || '(kosong)');<!-- [et_pb_line_break_holder] -->        console.info('[Sinkron] struktur organisasi: %d baris', newStr.length);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Bandingkan sidik data; bila tidak berubah, DOM tidak disentuh (tanpa kedip)<!-- [et_pb_line_break_holder] -->        const signature = JSON.stringify({ d: newDosen, t: newTendik, p: rowsPimpinan, v: newVmt, k: newTk, s: newStr, j: newSjh, pr: newProdi });<!-- [et_pb_line_break_holder] -->        if (!isFirstLoad && signature === lastSignature) {<!-- [et_pb_line_break_holder] -->          setSyncStatus('idle');<!-- [et_pb_line_break_holder] -->          return;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        lastSignature = signature;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Bila halaman ini khusus satu departemen, daftarnya disaring lebih dulu<!-- [et_pb_line_break_holder] -->        const dosenTerpakai = FILTER_HOMEBASE<!-- [et_pb_line_break_holder] -->          ? newDosen.filter(d => String(d.homebase || '').toLowerCase().indexOf(FILTER_HOMEBASE.toLowerCase()) !== -1)<!-- [et_pb_line_break_holder] -->          : newDosen;<!-- [et_pb_line_break_holder] -->        dataDosenMaster = urutkanDosen(dosenTerpakai);<!-- [et_pb_line_break_holder] -->        dataTendikMaster = urutkanTendik(newTendik);<!-- [et_pb_line_break_holder] -->        if (newProdi.length) dataProdiMaster = newProdi;<!-- [et_pb_line_break_holder] -->        renderStrukturKepemimpinan();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        isAutoSync = !isFirstLoad;<!-- [et_pb_line_break_holder] -->        populateDropdownFilters();<!-- [et_pb_line_break_holder] -->        parseAndRenderPimpinan(rowsPimpinan);<!-- [et_pb_line_break_holder] -->        renderVisiMisiTujuan(newVmt);<!-- [et_pb_line_break_holder] -->        renderTentangKami(newTk);<!-- [et_pb_line_break_holder] -->        renderStrukturOrganisasi(newStr);<!-- [et_pb_line_break_holder] -->        renderSejarah(newSjh);<!-- [et_pb_line_break_holder] -->        susunSlider();<!-- [et_pb_line_break_holder] -->        applyCurrentFilterAndRender();<!-- [et_pb_line_break_holder] -->        restoreSelectedDetail();<!-- [et_pb_line_break_holder] -->        isAutoSync = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (isFirstLoad) terapkanHash();          \/\/ buka profil dari tautan permanen<!-- [et_pb_line_break_holder] -->        setSyncStatus(isFirstLoad ? 'idle' : 'updated');<!-- [et_pb_line_break_holder] -->      } catch (err) {<!-- [et_pb_line_break_holder] -->        console.error('Gagal memuat data:', err);<!-- [et_pb_line_break_holder] -->        setSyncStatus('error');<!-- [et_pb_line_break_holder] -->      } finally {<!-- [et_pb_line_break_holder] -->        isSyncing = false;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Render ulang dengan tetap mempertahankan kata kunci & filter yang sedang aktif<!-- [et_pb_line_break_holder] -->    function applyCurrentFilterAndRender() {<!-- [et_pb_line_break_holder] -->      const searchEl = document.getElementById('staff-search');<!-- [et_pb_line_break_holder] -->      const hbEl = document.getElementById('filter-homebase');<!-- [et_pb_line_break_holder] -->      const subEl = document.getElementById('filter-subbagian');<!-- [et_pb_line_break_holder] -->      const keyword = searchEl ? searchEl.value.trim() : '';<!-- [et_pb_line_break_holder] -->      const hb = hbEl ? hbEl.value : '';<!-- [et_pb_line_break_holder] -->      const sub = subEl ? subEl.value : '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (keyword || hb || sub) {<!-- [et_pb_line_break_holder] -->        searchStaff();<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        dataDosenFiltered = [...dataDosenMaster];<!-- [et_pb_line_break_holder] -->        dataTendikFiltered = [...dataTendikMaster];<!-- [et_pb_line_break_holder] -->        renderStaffCards();<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 MENGUKUR TINGGI MENU YANG MENEMPEL DI ATAS \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Tema Divi memakai tinggi menu berbeda-beda (menempel\/tidak, zoom, lebar layar),<!-- [et_pb_line_break_holder] -->    \/\/ sehingga posisi berhenti panel detail dihitung ulang, bukan dipatok angka tetap.<!-- [et_pb_line_break_holder] -->    function hitungOffsetAtas() {<!-- [et_pb_line_break_holder] -->      let tinggi = 0;<!-- [et_pb_line_break_holder] -->      document.querySelectorAll('header, #main-header, .et-fixed-header, #top-header, #wpadminbar').forEach(el => {<!-- [et_pb_line_break_holder] -->        const gaya = window.getComputedStyle(el);<!-- [et_pb_line_break_holder] -->        if (gaya.position === 'fixed' || gaya.position === 'sticky') {<!-- [et_pb_line_break_holder] -->          const kotak = el.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->          if (kotak.height > 0 && kotak.top <= 5) tinggi = Math.max(tinggi, kotak.bottom);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      const nilai = Math.round((tinggi || 90) + 20);<!-- [et_pb_line_break_holder] -->      document.documentElement.style.setProperty('--offset-atas', nilai + 'px');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Menambahkan kelas \"menempel\" begitu bilah kendali mulai lengket di atas layar<!-- [et_pb_line_break_holder] -->    function pantauToolbar() {<!-- [et_pb_line_break_holder] -->      const bar = document.getElementById('staff-toolbar');<!-- [et_pb_line_break_holder] -->      if (!bar) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const cek = () => {<!-- [et_pb_line_break_holder] -->        const batas = parseInt(getComputedStyle(document.documentElement).getPropertyValue('--offset-atas')) || 90;<!-- [et_pb_line_break_holder] -->        bar.classList.toggle('menempel', bar.getBoundingClientRect().top <= batas + 1);<!-- [et_pb_line_break_holder] -->      };<!-- [et_pb_line_break_holder] -->      window.addEventListener('scroll', cek, { passive: true });<!-- [et_pb_line_break_holder] -->      window.addEventListener('resize', cek);<!-- [et_pb_line_break_holder] -->      cek();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 SLIDER PIMPINAN (sumber: sheet Dosen, kolom F = Tugas Tambahan) \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Urutan tampil mengikuti daftar di bawah; yang tidak ada datanya dilewati.<!-- [et_pb_line_break_holder] -->    const JABATAN_SLIDER = [<!-- [et_pb_line_break_holder] -->      { label: 'Dekan FEB', bidang: '', cocok: t => \/^dekan\\b\/.test(t) && !\/wakil\/.test(t) },<!-- [et_pb_line_break_holder] -->      { label: 'Wakil Dekan I', bidang: 'Bidang Akademik dan Kemahasiswaan', cocok: t => \/wakil\\s*dekan\\s*(i|1)\\b\/.test(t) && !\/(ii|iii|2|3)\\b\/.test(t) },<!-- [et_pb_line_break_holder] -->      { label: 'Wakil Dekan II', bidang: 'Bidang Keuangan, Umum dan Sumber Daya', cocok: t => \/wakil\\s*dekan\\s*(ii|2)\\b\/.test(t) && !\/(iii|3)\\b\/.test(t) },<!-- [et_pb_line_break_holder] -->      { label: 'Wakil Dekan III', bidang: 'Bidang Kerja Sama dan Kemitraan', cocok: t => \/wakil\\s*dekan\\s*(iii|3)\\b\/.test(t) }<!-- [et_pb_line_break_holder] -->    ];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const SLIDER_JEDA_MS = 6000;<!-- [et_pb_line_break_holder] -->    let slideAktif = 0;<!-- [et_pb_line_break_holder] -->    let slideData = [];<!-- [et_pb_line_break_holder] -->    let timerSlider = null;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function susunSlider() {<!-- [et_pb_line_break_holder] -->      const wadah = document.getElementById('slider-pimpinan');<!-- [et_pb_line_break_holder] -->      const isi = document.getElementById('slider-isi');<!-- [et_pb_line_break_holder] -->      const titik = document.getElementById('slider-titik');<!-- [et_pb_line_break_holder] -->      if (!wadah || !isi) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const sudahDipakai = [];<!-- [et_pb_line_break_holder] -->      slideData = JABATAN_SLIDER.map(j => {<!-- [et_pb_line_break_holder] -->        const orang = dataDosenMaster.find(d =><!-- [et_pb_line_break_holder] -->          String(d.nama || '').trim() !== '' &&                       \/\/ baris tanpa nama dilewati<!-- [et_pb_line_break_holder] -->          sudahDipakai.indexOf(d.nama) === -1 &&                      \/\/ satu orang tidak dipakai dua kali<!-- [et_pb_line_break_holder] -->          j.cocok(String(d.tugas_tambahan || '').toLowerCase().trim())<!-- [et_pb_line_break_holder] -->        );<!-- [et_pb_line_break_holder] -->        if (!orang) return null;<!-- [et_pb_line_break_holder] -->        sudahDipakai.push(orang.nama);<!-- [et_pb_line_break_holder] -->        return { jabatan: j.label, bidang: j.bidang, orang: orang };<!-- [et_pb_line_break_holder] -->      }).filter(Boolean);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      console.info('[Slider] %d pimpinan ditemukan: %s', slideData.length,<!-- [et_pb_line_break_holder] -->        slideData.map(s => s.jabatan + ' = ' + s.orang.nama).join(' | ') || '(tidak ada)');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (!slideData.length) { wadah.hidden = true; return; }<!-- [et_pb_line_break_holder] -->      wadah.hidden = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      isi.innerHTML = slideData.map((s, i) => `<!-- [et_pb_line_break_holder] -->        <\/p>\n<article class=\"slide-pimpinan\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"slide-dalam\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"slide-foto\">${fotoKartu(s.orang)}<\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div class=\"slide-teks\"><!-- [et_pb_line_break_holder] -->              <\/p>\n<h2 class=\"slide-jabatan\">${escapeHtml(s.jabatan)}<\/h2>\n<p><!-- [et_pb_line_break_holder] -->              <pee class=\"slide-nama\"><a href=\"#dosen\/${slugNama(s.orang.nama)}\" class=\"tautan-nama\" title=\"Lihat profil lengkap\">${escapeHtml(s.orang.nama)}<\/a><\/pee><!-- [et_pb_line_break_holder] -->              ${s.bidang ? `<pee class=\"slide-bidang\">${escapeHtml(s.bidang)}<\/pee>` : ''}<!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/article>\n<p>`).join('');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      titik.innerHTML = slideData.map((s, i) =><!-- [et_pb_line_break_holder] -->        `<button type=\"button\" role=\"tab\" aria-label=\"${escapeHtml(s.jabatan)}\" onclick=\"keSlide(${i})\"><\/button>`).join('');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (slideAktif >= slideData.length) slideAktif = 0;<!-- [et_pb_line_break_holder] -->      keSlide(slideAktif, true);<!-- [et_pb_line_break_holder] -->      mulaiSlider();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function keSlide(i, tanpaUlangTimer) {<!-- [et_pb_line_break_holder] -->      if (!slideData.length) return;<!-- [et_pb_line_break_holder] -->      slideAktif = (i + slideData.length) % slideData.length;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const isi = document.getElementById('slider-isi');<!-- [et_pb_line_break_holder] -->      if (isi) isi.style.transform = `translateX(-${slideAktif * 100}%)`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      document.querySelectorAll('#slider-titik button').forEach((b, idx) => {<!-- [et_pb_line_break_holder] -->        b.classList.toggle('aktif', idx === slideAktif);<!-- [et_pb_line_break_holder] -->        b.setAttribute('aria-selected', idx === slideAktif ? 'true' : 'false');<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (!tanpaUlangTimer) mulaiSlider();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function mulaiSlider() {<!-- [et_pb_line_break_holder] -->      clearInterval(timerSlider);<!-- [et_pb_line_break_holder] -->      if (slideData.length < 2) return;<!-- [et_pb_line_break_holder] -->      timerSlider = setInterval(() => {<!-- [et_pb_line_break_holder] -->        if (!document.hidden) keSlide(slideAktif + 1, true);<!-- [et_pb_line_break_holder] -->      }, SLIDER_JEDA_MS);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Klik slide -> buka profil orang tersebut di tab Dosen & Tendik<!-- [et_pb_line_break_holder] -->    function bukaProfilDariSlider(i) {<!-- [et_pb_line_break_holder] -->      const s = slideData[i];<!-- [et_pb_line_break_holder] -->      if (!s) return;<!-- [et_pb_line_break_holder] -->      window.location.hash = '#dosen\/' + slugNama(s.orang.nama);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function siapkanKendaliSlider() {<!-- [et_pb_line_break_holder] -->      const wadah = document.getElementById('slider-pimpinan');<!-- [et_pb_line_break_holder] -->      const prev = document.getElementById('slider-prev');<!-- [et_pb_line_break_holder] -->      const next = document.getElementById('slider-next');<!-- [et_pb_line_break_holder] -->      if (prev) prev.onclick = () => keSlide(slideAktif - 1);<!-- [et_pb_line_break_holder] -->      if (next) next.onclick = () => keSlide(slideAktif + 1);<!-- [et_pb_line_break_holder] -->      if (!wadah) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      wadah.addEventListener('mouseenter', () => clearInterval(timerSlider));<!-- [et_pb_line_break_holder] -->      wadah.addEventListener('mouseleave', mulaiSlider);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Geser dengan jari di layar sentuh<!-- [et_pb_line_break_holder] -->      let awalX = null;<!-- [et_pb_line_break_holder] -->      wadah.addEventListener('touchstart', e => { awalX = e.touches[0].clientX; }, { passive: true });<!-- [et_pb_line_break_holder] -->      wadah.addEventListener('touchend', e => {<!-- [et_pb_line_break_holder] -->        if (awalX === null) return;<!-- [et_pb_line_break_holder] -->        const selisih = e.changedTouches[0].clientX - awalX;<!-- [et_pb_line_break_holder] -->        if (Math.abs(selisih) > 45) keSlide(slideAktif + (selisih < 0 ? 1 : -1));<!-- [et_pb_line_break_holder] -->        awalX = null;<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 CHIP FILTER AKTIF \u2500\u2500<!-- [et_pb_line_break_holder] -->    function renderChipFilter() {<!-- [et_pb_line_break_holder] -->      const wadah = document.getElementById('chip-filter');<!-- [et_pb_line_break_holder] -->      if (!wadah) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const cari = document.getElementById('staff-search');<!-- [et_pb_line_break_holder] -->      const hb = document.getElementById('filter-homebase');<!-- [et_pb_line_break_holder] -->      const sub = document.getElementById('filter-subbagian');<!-- [et_pb_line_break_holder] -->      const chip = [];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (cari && cari.value.trim()) chip.push(['cari', 'Cari: \"' + cari.value.trim() + '\"']);<!-- [et_pb_line_break_holder] -->      if (currentActiveStaffTab === 'dosen' && hb && hb.value) chip.push(['homebase', 'Homebase: ' + hb.value]);<!-- [et_pb_line_break_holder] -->      if (currentActiveStaffTab === 'tendik' && sub && sub.value) chip.push(['subbagian', 'Sub Bagian: ' + sub.value]);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      wadah.innerHTML = chip.map(([jenis, teks]) =><!-- [et_pb_line_break_holder] -->        `<button type=\"button\" onclick=\"hapusFilter('${jenis}')\" aria-label=\"Hapus filter ${escapeHtml(teks)}\"><!-- [et_pb_line_break_holder] -->          ${escapeHtml(teks)}<span class=\"x\" aria-hidden=\"true\">&times;<\/span><!-- [et_pb_line_break_holder] -->        <\/button>`).join('');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function hapusFilter(jenis) {<!-- [et_pb_line_break_holder] -->      const id = jenis === 'cari' ? 'staff-search' : (jenis === 'homebase' ? 'filter-homebase' : 'filter-subbagian');<!-- [et_pb_line_break_holder] -->      const el = document.getElementById(id);<!-- [et_pb_line_break_holder] -->      if (el) el.value = '';<!-- [et_pb_line_break_holder] -->      cariDenganReset();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 TAUTAN EKSTERNAL DOSEN \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Sumber kolom: J = SINTA, K = DRH, L = Scopus, M = Google Scholar, N = Foto<!-- [et_pb_line_break_holder] -->    const SUMBER_TAUTAN = [<!-- [et_pb_line_break_holder] -->      { kunci: 'kepakaran', label: 'SINTA', kelas: 'sinta', ikon: 'ti-award' },<!-- [et_pb_line_break_holder] -->      { kunci: 'scopus', label: 'Scopus', kelas: 'scopus', ikon: 'ti-chart-bar' },<!-- [et_pb_line_break_holder] -->      { kunci: 'scholar', label: 'Google Scholar', kelas: 'scholar', ikon: 'ti-brand-google' },<!-- [et_pb_line_break_holder] -->      { kunci: 'drh', label: 'DRH', kelas: 'drh', ikon: 'ti-id-badge-2' }<!-- [et_pb_line_break_holder] -->    ];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Versi ringkas untuk kartu daftar dosen<!-- [et_pb_line_break_holder] -->    function tautanKartuHtml(staff) {<!-- [et_pb_line_break_holder] -->      return SUMBER_TAUTAN.map(sumber => {<!-- [et_pb_line_break_holder] -->        const nilai = String(staff[sumber.kunci] || '').trim();<!-- [et_pb_line_break_holder] -->        if (!nilai || nilai === '-') return '';<!-- [et_pb_line_break_holder] -->        return `<a href=\"${escapeHtml(normalisasiUrl(nilai))}\" target=\"_blank\" rel=\"noopener noreferrer\"<!-- [et_pb_line_break_holder] -->            onclick=\"event.stopPropagation();\" title=\"${sumber.label}\" class=\"chip-kartu ${sumber.kelas}\"><!-- [et_pb_line_break_holder] -->            <i class=\"ti ${sumber.ikon}\"><\/i> ${sumber.label}<!-- [et_pb_line_break_holder] -->          <\/a>`;<!-- [et_pb_line_break_holder] -->      }).filter(Boolean).join('');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function tautanEksternalHtml(staff) {<!-- [et_pb_line_break_holder] -->      return SUMBER_TAUTAN.map(sumber => {<!-- [et_pb_line_break_holder] -->        const nilai = String(staff[sumber.kunci] || '').trim();<!-- [et_pb_line_break_holder] -->        if (!nilai || nilai === '-') return '';<!-- [et_pb_line_break_holder] -->        const url = normalisasiUrl(nilai);<!-- [et_pb_line_break_holder] -->        return `<a href=\"${escapeHtml(url)}\" target=\"_blank\" rel=\"noopener\" class=\"${sumber.kelas}\" title=\"${sumber.label}\"><!-- [et_pb_line_break_holder] -->            <i class=\"ti ${sumber.ikon}\"><\/i> ${sumber.label}<!-- [et_pb_line_break_holder] -->          <\/a>`;<!-- [et_pb_line_break_holder] -->      }).filter(Boolean).join('');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 KLIK NIP UNTUK MENYALIN (menggantikan tombol terpisah agar hemat tempat) \u2500\u2500<!-- [et_pb_line_break_holder] -->    function jadikanSalin(idNilai, teks) {<!-- [et_pb_line_break_holder] -->      const el = document.getElementById(idNilai);<!-- [et_pb_line_break_holder] -->      if (!el) return;<!-- [et_pb_line_break_holder] -->      const nilai = String(teks || '').trim();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (!nilai || nilai === '-') {<!-- [et_pb_line_break_holder] -->        el.classList.remove('klik-salin');<!-- [et_pb_line_break_holder] -->        el.removeAttribute('title');<!-- [et_pb_line_break_holder] -->        el.onclick = null;<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      el.classList.add('klik-salin');<!-- [et_pb_line_break_holder] -->      el.setAttribute('title', 'Klik untuk menyalin');<!-- [et_pb_line_break_holder] -->      el.onclick = () => salinTeks(el, nilai);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function salinTeks(el, teks) {<!-- [et_pb_line_break_holder] -->      const selesai = () => {<!-- [et_pb_line_break_holder] -->        const semula = el.textContent;<!-- [et_pb_line_break_holder] -->        el.textContent = 'Tersalin \\u2713';<!-- [et_pb_line_break_holder] -->        el.classList.add('tersalin');<!-- [et_pb_line_break_holder] -->        setTimeout(() => { el.textContent = semula; el.classList.remove('tersalin'); }, 1500);<!-- [et_pb_line_break_holder] -->      };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (navigator.clipboard && navigator.clipboard.writeText) {<!-- [et_pb_line_break_holder] -->        navigator.clipboard.writeText(teks).then(selesai).catch(() => salinCadangan(teks, selesai));<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        salinCadangan(teks, selesai);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Cadangan untuk peramban lama \/ halaman non-HTTPS<!-- [et_pb_line_break_holder] -->    function salinCadangan(teks, selesai) {<!-- [et_pb_line_break_holder] -->      const ta = document.createElement('textarea');<!-- [et_pb_line_break_holder] -->      ta.value = teks;<!-- [et_pb_line_break_holder] -->      ta.style.position = 'fixed';<!-- [et_pb_line_break_holder] -->      ta.style.opacity = '0';<!-- [et_pb_line_break_holder] -->      document.body.appendChild(ta);<!-- [et_pb_line_break_holder] -->      ta.select();<!-- [et_pb_line_break_holder] -->      try { document.execCommand('copy'); selesai(); } catch (e) { \/* diabaikan *\/ }<!-- [et_pb_line_break_holder] -->      document.body.removeChild(ta);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 TAUTAN PERMANEN (#dosen\/nama atau #tendik\/nama) \u2500\u2500<!-- [et_pb_line_break_holder] -->    function slugNama(nama) {<!-- [et_pb_line_break_holder] -->      return String(nama || '')<!-- [et_pb_line_break_holder] -->        .toLowerCase()<!-- [et_pb_line_break_holder] -->        .replace(\/[^a-z0-9\\s-]\/g, '')<!-- [et_pb_line_break_holder] -->        .trim()<!-- [et_pb_line_break_holder] -->        .replace(\/\\s+\/g, '-')<!-- [et_pb_line_break_holder] -->        .replace(\/-+\/g, '-');<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function perbaruiHash(tipe, nama) {<!-- [et_pb_line_break_holder] -->      if (!nama || isAutoSync) return;<!-- [et_pb_line_break_holder] -->      const hash = '#' + tipe + '\/' + slugNama(nama);<!-- [et_pb_line_break_holder] -->      if (window.location.hash === hash) return;<!-- [et_pb_line_break_holder] -->      \/\/ replaceState tidak memicu hashchange, jadi tidak ada risiko saling memanggil.<!-- [et_pb_line_break_holder] -->      \/\/ Dibungkus try\/catch karena sebagian lingkungan (pratinjau dalam iframe) melarangnya.<!-- [et_pb_line_break_holder] -->      try { history.replaceState(null, '', hash); } catch (e) { \/* diabaikan *\/ }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Membuka orang tertentu dari hash: pindah tab, pindah halaman, tampilkan detail<!-- [et_pb_line_break_holder] -->    function terapkanHash() {<!-- [et_pb_line_break_holder] -->      const cocok = String(window.location.hash || '').match(\/^#(dosen|tendik)\\\/(.+)$\/);<!-- [et_pb_line_break_holder] -->      if (!cocok) return false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const tipe = cocok[1];<!-- [et_pb_line_break_holder] -->      const slug = slugNama(decodeURIComponent(cocok[2]));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Pastikan tab utama \"Dosen & Tendik\" terbuka.<!-- [et_pb_line_break_holder] -->      \/\/ Pada mode satu tab selain 'dosen', tautan profil diabaikan.<!-- [et_pb_line_break_holder] -->      if (TAB_TUNGGAL && TAB_TUNGGAL !== 'dosen') return false;<!-- [et_pb_line_break_holder] -->      const tombolUtama = document.querySelector('.tab-btn[onclick*=\"\\'dosen\\'\"]');<!-- [et_pb_line_break_holder] -->      if (tombolUtama && !tombolUtama.classList.contains('active')) switchTab('dosen', null);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (currentActiveStaffTab !== tipe) switchStaffTab(tipe);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const data = tipe === 'dosen' ? dataDosenFiltered : dataTendikFiltered;<!-- [et_pb_line_break_holder] -->      const idx = data.findIndex(x => slugNama(x.nama) === slug);<!-- [et_pb_line_break_holder] -->      if (idx < 0) return false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      halamanAktif[tipe] = halamanUntukIndeks(tipe, idx);<!-- [et_pb_line_break_holder] -->      renderStaffCards();<!-- [et_pb_line_break_holder] -->      if (tipe === 'dosen') showDetailDosen(idx, true); else showDetailTendik(idx, true);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const layout = document.getElementById('layout-' + tipe);<!-- [et_pb_line_break_holder] -->      if (layout && typeof layout.scrollIntoView === 'function') {<!-- [et_pb_line_break_holder] -->        layout.scrollIntoView({ behavior: 'smooth', block: 'start' });<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      return true;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 PILIHAN URUTAN \u2500\u2500<!-- [et_pb_line_break_holder] -->    const urutanAktif = { dosen: 'jabatan', tendik: 'jabatan' };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    const LABEL_URUTAN = {<!-- [et_pb_line_break_holder] -->      dosen: [['jabatan', 'Urutkan: Jabatan Akademik'], ['nama', 'Urutkan: Nama A\u2013Z'], ['kelompok', 'Urutkan: Homebase']],<!-- [et_pb_line_break_holder] -->      tendik: [['jabatan', 'Urutkan: Jabatan & Pangkat'], ['nama', 'Urutkan: Nama A\u2013Z'], ['kelompok', 'Urutkan: Sub Bagian']]<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Label opsi menyesuaikan tab yang sedang aktif<!-- [et_pb_line_break_holder] -->    function perbaruiOpsiUrutan() {<!-- [et_pb_line_break_holder] -->      const sel = document.getElementById('urutan-staf');<!-- [et_pb_line_break_holder] -->      if (!sel) return;<!-- [et_pb_line_break_holder] -->      const tipe = currentActiveStaffTab;<!-- [et_pb_line_break_holder] -->      sel.innerHTML = LABEL_URUTAN[tipe].map(([v, t]) => `<option value=\"${v}\">${t}<\/option>`).join('');<!-- [et_pb_line_break_holder] -->      sel.value = urutanAktif[tipe];<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function gantiUrutan(mode) {<!-- [et_pb_line_break_holder] -->      const tipe = currentActiveStaffTab;<!-- [et_pb_line_break_holder] -->      urutanAktif[tipe] = mode;<!-- [et_pb_line_break_holder] -->      if (tipe === 'dosen') dataDosenMaster = urutkanDosen(dataDosenMaster, mode);<!-- [et_pb_line_break_holder] -->      else dataTendikMaster = urutkanTendik(dataTendikMaster, mode);<!-- [et_pb_line_break_holder] -->      halamanAktif[tipe] = 1;<!-- [et_pb_line_break_holder] -->      searchStaff();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 PAGINASI \u2500\u2500<!-- [et_pb_line_break_holder] -->    const PER_HALAMAN = 12;                                     \/\/ jumlah kartu per halaman<!-- [et_pb_line_break_holder] -->    const halamanAktif = { dosen: 1, tendik: 1 };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function totalHalaman(tipe) {<!-- [et_pb_line_break_holder] -->      const jml = tipe === 'dosen' ? dataDosenFiltered.length : dataTendikFiltered.length;<!-- [et_pb_line_break_holder] -->      return Math.max(1, Math.ceil(jml \/ PER_HALAMAN));<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function gantiHalaman(tipe, halaman) {<!-- [et_pb_line_break_holder] -->      const maks = totalHalaman(tipe);<!-- [et_pb_line_break_holder] -->      halamanAktif[tipe] = Math.min(Math.max(1, halaman), maks);<!-- [et_pb_line_break_holder] -->      renderStaffCards();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Kembali ke awal daftar supaya tidak tertinggal di tengah halaman sebelumnya<!-- [et_pb_line_break_holder] -->      const grid = document.getElementById(tipe === 'dosen' ? 'grid-dosen' : 'grid-tendik');<!-- [et_pb_line_break_holder] -->      if (grid && typeof grid.scrollIntoView === 'function') grid.scrollIntoView({ behavior: 'smooth', block: 'start' });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Pindah ke halaman yang memuat data ke-idx (dipakai saat mengembalikan pilihan)<!-- [et_pb_line_break_holder] -->    function halamanUntukIndeks(tipe, idx) {<!-- [et_pb_line_break_holder] -->      return Math.floor(idx \/ PER_HALAMAN) + 1;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Dipakai saat pengguna mengubah pencarian\/filter: kembali ke halaman 1.<!-- [et_pb_line_break_holder] -->    \/\/ Sinkronisasi otomatis TIDAK memanggil ini, supaya halaman yang sedang dibaca tidak melompat.<!-- [et_pb_line_break_holder] -->    function cariDenganReset() {<!-- [et_pb_line_break_holder] -->      halamanAktif[currentActiveStaffTab] = 1;<!-- [et_pb_line_break_holder] -->      searchStaff();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 PENCARIAN: tunda render agar tidak berjalan tiap ketukan tombol \u2500\u2500<!-- [et_pb_line_break_holder] -->    let timerCari = null;<!-- [et_pb_line_break_holder] -->    function searchStaffDebounce() {<!-- [et_pb_line_break_holder] -->      clearTimeout(timerCari);<!-- [et_pb_line_break_holder] -->      timerCari = setTimeout(cariDenganReset, 250);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function bersihkanPencarian() {<!-- [et_pb_line_break_holder] -->      const cari = document.getElementById('staff-search');<!-- [et_pb_line_break_holder] -->      const hb = document.getElementById('filter-homebase');<!-- [et_pb_line_break_holder] -->      const sub = document.getElementById('filter-subbagian');<!-- [et_pb_line_break_holder] -->      if (cari) cari.value = '';<!-- [et_pb_line_break_holder] -->      if (hb) hb.value = '';<!-- [et_pb_line_break_holder] -->      if (sub) sub.value = '';<!-- [et_pb_line_break_holder] -->      cariDenganReset();<!-- [et_pb_line_break_holder] -->      if (cari) cari.focus();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 RINGKASAN JUMLAH DATA \u2500\u2500<!-- [et_pb_line_break_holder] -->    function perbaruiRingkasan() {<!-- [et_pb_line_break_holder] -->      const dosen = currentActiveStaffTab === 'dosen';<!-- [et_pb_line_break_holder] -->      const tipe = dosen ? 'dosen' : 'tendik';<!-- [et_pb_line_break_holder] -->      const cocok = dosen ? dataDosenFiltered.length : dataTendikFiltered.length;<!-- [et_pb_line_break_holder] -->      const total = dosen ? dataDosenMaster.length : dataTendikMaster.length;<!-- [et_pb_line_break_holder] -->      const label = dosen ? 'dosen' : 'tendik';<!-- [et_pb_line_break_holder] -->      const maks = totalHalaman(tipe);<!-- [et_pb_line_break_holder] -->      const mulai = cocok ? (halamanAktif[tipe] - 1) * PER_HALAMAN + 1 : 0;<!-- [et_pb_line_break_holder] -->      const akhir = Math.min(mulai + PER_HALAMAN - 1, cocok);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const el = document.getElementById('staff-count');<!-- [et_pb_line_break_holder] -->      if (el) {<!-- [et_pb_line_break_holder] -->        el.textContent = total<!-- [et_pb_line_break_holder] -->          ? (cocok<!-- [et_pb_line_break_holder] -->              ? `Menampilkan ${mulai}\u2013${akhir} dari ${cocok} ${label}` + (maks > 1 ? ` \u00b7 halaman ${halamanAktif[tipe]}\/${maks}` : '') + (cocok !== total ? ` (total ${total})` : '')<!-- [et_pb_line_break_holder] -->              : `Tidak ada ${label} yang cocok`)<!-- [et_pb_line_break_holder] -->          : '';<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const jd = document.getElementById('jumlah-dosen');<!-- [et_pb_line_break_holder] -->      const jt = document.getElementById('jumlah-tendik');<!-- [et_pb_line_break_holder] -->      if (jd) jd.textContent = dataDosenMaster.length ? ' \u00b7 ' + dataDosenMaster.length : '';<!-- [et_pb_line_break_holder] -->      if (jt) jt.textContent = dataTendikMaster.length ? ' \u00b7 ' + dataTendikMaster.length : '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const cari = document.getElementById('staff-search');<!-- [et_pb_line_break_holder] -->      const hb = document.getElementById('filter-homebase');<!-- [et_pb_line_break_holder] -->      const sub = document.getElementById('filter-subbagian');<!-- [et_pb_line_break_holder] -->      const aktif = (cari && cari.value.trim()) || (hb && hb.value) || (sub && sub.value);<!-- [et_pb_line_break_holder] -->      const btn = document.getElementById('btn-bersih');<!-- [et_pb_line_break_holder] -->      if (btn) btn.style.display = aktif ? '' : 'none';<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 KERANGKA MUAT (SKELETON) SEBELUM DATA DATANG \u2500\u2500<!-- [et_pb_line_break_holder] -->    function tampilkanSkeleton() {<!-- [et_pb_line_break_holder] -->      const grid = document.getElementById('grid-dosen');<!-- [et_pb_line_break_holder] -->      if (grid && !grid.children.length) {<!-- [et_pb_line_break_holder] -->        grid.innerHTML = new Array(6).fill('<\/p>\n<div class=\"skeleton-card\"><\/div>\n<p>').join('');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 MENGISI BARIS DETAIL; BARIS KOSONG OTOMATIS DISEMBUNYIKAN \u2500\u2500<!-- [et_pb_line_break_holder] -->    function isiBaris(idBaris, idNilai, nilai, sebagaiHtml) {<!-- [et_pb_line_break_holder] -->      const baris = document.getElementById(idBaris);<!-- [et_pb_line_break_holder] -->      const el = document.getElementById(idNilai);<!-- [et_pb_line_break_holder] -->      const teks = String(nilai == null ? '' : nilai).trim();<!-- [et_pb_line_break_holder] -->      const kosong = teks === '' || teks === '-';<!-- [et_pb_line_break_holder] -->      if (baris) baris.style.display = kosong ? 'none' : '';<!-- [et_pb_line_break_holder] -->      if (el) {<!-- [et_pb_line_break_holder] -->        \/\/ dikosongkan agar isi dari profil sebelumnya tidak tertinggal<!-- [et_pb_line_break_holder] -->        if (kosong) el.innerHTML = '';<!-- [et_pb_line_break_holder] -->        else if (sebagaiHtml) el.innerHTML = teks;<!-- [et_pb_line_break_holder] -->        else el.textContent = teks;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      return !kosong;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Blok yang seluruh barisnya kosong ikut disembunyikan<!-- [et_pb_line_break_holder] -->    function rapikanBlok(layoutId) {<!-- [et_pb_line_break_holder] -->      document.querySelectorAll('#' + layoutId + ' .detail-block').forEach(blok => {<!-- [et_pb_line_break_holder] -->        if (blok.dataset.selaluTampil === '1') { blok.style.display = ''; return; }<!-- [et_pb_line_break_holder] -->        const isi = Array.prototype.filter.call(blok.children, el =><!-- [et_pb_line_break_holder] -->          el.tagName !== 'H5' && el.style.display !== 'none' && (el.textContent || '').trim() !== '' && (el.textContent || '').trim() !== '-'<!-- [et_pb_line_break_holder] -->        );<!-- [et_pb_line_break_holder] -->        blok.style.display = isi.length ? '' : 'none';<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Kembalikan kartu detail yang sedang dibuka pengguna setelah data disegarkan<!-- [et_pb_line_break_holder] -->    function restoreSelectedDetail() {<!-- [et_pb_line_break_holder] -->      const tipe = currentActiveStaffTab;<!-- [et_pb_line_break_holder] -->      const nama = tipe === 'dosen' ? selectedDosenName : selectedTendikName;<!-- [et_pb_line_break_holder] -->      if (!nama) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const data = tipe === 'dosen' ? dataDosenFiltered : dataTendikFiltered;<!-- [et_pb_line_break_holder] -->      const idx = data.findIndex(s => s.nama === nama);<!-- [et_pb_line_break_holder] -->      if (idx < 0) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Bila datanya berpindah halaman setelah sinkronisasi, halamannya ikut disesuaikan<!-- [et_pb_line_break_holder] -->      const halaman = halamanUntukIndeks(tipe, idx);<!-- [et_pb_line_break_holder] -->      if (halaman !== halamanAktif[tipe]) {<!-- [et_pb_line_break_holder] -->        halamanAktif[tipe] = halaman;<!-- [et_pb_line_break_holder] -->        renderStaffCards();<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      if (tipe === 'dosen') showDetailDosen(idx); else showDetailTendik(idx);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 INDIKATOR STATUS SINKRONISASI \u2500\u2500<!-- [et_pb_line_break_holder] -->    function buildSyncBadge() {<!-- [et_pb_line_break_holder] -->      const wrapper = document.querySelector('.search-wrapper');<!-- [et_pb_line_break_holder] -->      if (!wrapper || document.getElementById('sync-badge')) return;<!-- [et_pb_line_break_holder] -->      const badge = document.createElement('div');<!-- [et_pb_line_break_holder] -->      badge.id = 'sync-badge';<!-- [et_pb_line_break_holder] -->      badge.className = 'sync-badge';<!-- [et_pb_line_break_holder] -->      badge.title = 'Data diambil langsung dari spreadsheet dan diperbarui otomatis';<!-- [et_pb_line_break_holder] -->      badge.innerHTML = '<i class=\"ti ti-refresh\"><\/i><span id=\"sync-badge-text\">Memuat data...<\/span>';<!-- [et_pb_line_break_holder] -->      wrapper.appendChild(badge);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function setSyncStatus(state) {<!-- [et_pb_line_break_holder] -->      const badge = document.getElementById('sync-badge');<!-- [et_pb_line_break_holder] -->      const text = document.getElementById('sync-badge-text');<!-- [et_pb_line_break_holder] -->      if (!badge || !text) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const jam = new Date().toLocaleTimeString('id-ID', { hour: '2-digit', minute: '2-digit' });<!-- [et_pb_line_break_holder] -->      badge.classList.remove('is-syncing', 'is-updated', 'is-error');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (state === 'syncing') {<!-- [et_pb_line_break_holder] -->        badge.classList.add('is-syncing');<!-- [et_pb_line_break_holder] -->        text.innerText = 'Menyinkronkan data...';<!-- [et_pb_line_break_holder] -->      } else if (state === 'updated') {<!-- [et_pb_line_break_holder] -->        badge.classList.add('is-updated');<!-- [et_pb_line_break_holder] -->        text.innerText = 'Data diperbarui ' + jam;<!-- [et_pb_line_break_holder] -->        setTimeout(() => setSyncStatus('idle'), 4000);<!-- [et_pb_line_break_holder] -->      } else if (state === 'error') {<!-- [et_pb_line_break_holder] -->        badge.classList.add('is-error');<!-- [et_pb_line_break_holder] -->        text.innerText = 'Gagal sinkron, mencoba lagi';<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        text.innerText = 'Sinkron otomatis \\u00b7 ' + jam;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 PARSING DATA DARI SHEET PIMPINAN FAKULTAS \u2500\u2500<!-- [et_pb_line_break_holder] -->    function parseAndRenderPimpinan(rows) {<!-- [et_pb_line_break_holder] -->      let dekanData = { <!-- [et_pb_line_break_holder] -->        nama: 'Prof. Dr. Ir. Budi Santoso, M.T.', <!-- [et_pb_line_break_holder] -->        foto: 'https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png', <!-- [et_pb_line_break_holder] -->        opini: 'Selamat datang di Website Fakultas. Kami berkomitmen untuk terus meningkatkan kualitas pendidikan, penelitian dan pengabdian.',<!-- [et_pb_line_break_holder] -->        email: 'dekan.fe@um.ac.id'<!-- [et_pb_line_break_holder] -->      };<!-- [et_pb_line_break_holder] -->      let wd1Data = { nama: 'Dr. Andi Wijaya', foto: 'https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png' };<!-- [et_pb_line_break_holder] -->      let wd2Data = { nama: 'Dr. Ratna Dewi', foto: 'https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png' };<!-- [et_pb_line_break_holder] -->      let wd3Data = { nama: 'Dr. Fajar Nugroho', foto: 'https:\/\/ult.um.ac.id\/wp-content\/uploads\/2026\/06\/Image-8.png' };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      rows.forEach(row => {<!-- [et_pb_line_break_holder] -->        if (!row || !row.c) return;<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        \/\/ Asumsi Struktur Kolom di Sheet Pimpinan:<!-- [et_pb_line_break_holder] -->        \/\/ Kolom A (c[0]): Nama<!-- [et_pb_line_break_holder] -->        \/\/ Kolom B (c[1]): Foto (Link URL)<!-- [et_pb_line_break_holder] -->        \/\/ Kolom C (c[2]): Label (Dekan, WD I, WD II, WD III)<!-- [et_pb_line_break_holder] -->        \/\/ Kolom D (c[3]): Opini (Quote sambutan Dekan)<!-- [et_pb_line_break_holder] -->        \/\/ Kolom E (c[4]): Email (Opsional)<!-- [et_pb_line_break_holder] -->        const nama = row.c[0] && row.c[0].v ? String(row.c[0].v).trim() : '';<!-- [et_pb_line_break_holder] -->        const foto = row.c[1] && row.c[1].v ? String(row.c[1].v).trim() : '';<!-- [et_pb_line_break_holder] -->        const label = row.c[2] && row.c[2].v ? String(row.c[2].v).trim().toLowerCase().replace(\/\\s+\/g, '') : '';<!-- [et_pb_line_break_holder] -->        const opini = row.c[3] && row.c[3].v ? String(row.c[3].v).trim() : '';<!-- [et_pb_line_break_holder] -->        const email = row.c[4] && row.c[4].v ? String(row.c[4].v).trim() : 'dekan.fe@um.ac.id';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        if (label === 'dekan') {<!-- [et_pb_line_break_holder] -->          if (nama) dekanData.nama = nama;<!-- [et_pb_line_break_holder] -->          if (foto) dekanData.foto = foto;<!-- [et_pb_line_break_holder] -->          if (opini) dekanData.opini = opini;<!-- [et_pb_line_break_holder] -->          if (email) dekanData.email = email;<!-- [et_pb_line_break_holder] -->        } else if (label === 'wdi' || label === 'wd1') {<!-- [et_pb_line_break_holder] -->          if (nama) wd1Data.nama = nama;<!-- [et_pb_line_break_holder] -->          if (foto) wd1Data.foto = foto;<!-- [et_pb_line_break_holder] -->        } else if (label === 'wdii' || label === 'wd2') {<!-- [et_pb_line_break_holder] -->          if (nama) wd2Data.nama = nama;<!-- [et_pb_line_break_holder] -->          if (foto) wd2Data.foto = foto;<!-- [et_pb_line_break_holder] -->        } else if (label === 'wdiii' || label === 'wd3') {<!-- [et_pb_line_break_holder] -->          if (nama) wd3Data.nama = nama;<!-- [et_pb_line_break_holder] -->          if (foto) wd3Data.foto = foto;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Terapkan ke DOM: DEKAN<!-- [et_pb_line_break_holder] -->      document.getElementById('dekan-opini').innerText = dekanData.opini;<!-- [et_pb_line_break_holder] -->      document.getElementById('dekan-sambutan-nama').innerText = dekanData.nama;<!-- [et_pb_line_break_holder] -->      document.getElementById('dekan-nama').innerText = dekanData.nama;<!-- [et_pb_line_break_holder] -->      document.getElementById('dekan-foto').src = dekanData.foto;<!-- [et_pb_line_break_holder] -->      document.getElementById('dekan-email').innerText = dekanData.email;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Terapkan ke DOM: WAKIL DEKAN I<!-- [et_pb_line_break_holder] -->      document.getElementById('wd1-nama').innerText = wd1Data.nama;<!-- [et_pb_line_break_holder] -->      document.getElementById('wd1-foto').src = wd1Data.foto;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Terapkan ke DOM: WAKIL DEKAN II<!-- [et_pb_line_break_holder] -->      document.getElementById('wd2-nama').innerText = wd2Data.nama;<!-- [et_pb_line_break_holder] -->      document.getElementById('wd2-foto').src = wd2Data.foto;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Terapkan ke DOM: WAKIL DEKAN III<!-- [et_pb_line_break_holder] -->      document.getElementById('wd3-nama').innerText = wd3Data.nama;<!-- [et_pb_line_break_holder] -->      document.getElementById('wd3-foto').src = wd3Data.foto;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ \u2500\u2500 STRUKTUR KEPEMIMPINAN (Ketua Departemen \/ Koordinator \/ Sub Koordinator) \u2500\u2500<!-- [et_pb_line_break_holder] -->    \/\/ Sumbernya sheet Dosen & Tendik yang sama dipakai tab Dosen & Tendik \u2014 tidak ada<!-- [et_pb_line_break_holder] -->    \/\/ input tambahan. Departemen baru otomatis muncul begitu ada dosen dengan Tugas<!-- [et_pb_line_break_holder] -->    \/\/ Tambahan \"Ketua Departemen ...\" di sheet Dosen.<!-- [et_pb_line_break_holder] -->    function kartuOrang(nama, jabatan, sub, foto, tipe) {<!-- [et_pb_line_break_holder] -->      const ini = escapeHtml(inisialNama(nama));<!-- [et_pb_line_break_holder] -->      const gambar = foto<!-- [et_pb_line_break_holder] -->        ? `<img decoding=\"async\" src=\"${escapeHtml(urlFotoLangsung(foto))}\" alt=\"${escapeHtml(nama)}\" data-inisial=\"${ini}\" loading=\"lazy\" onerror=\"gantiKeAvatar(this)\">`<!-- [et_pb_line_break_holder] -->        : `<\/p>\n<div class=\"avatar-inisial\">${ini}<\/div>\n<p>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      return `<a class=\"wakil-card\" href=\"#${tipe}\/${slugNama(nama)}\"><!-- [et_pb_line_break_holder] -->          ${gambar}<!-- [et_pb_line_break_holder] -->          <\/p>\n<h4 style=\"margin-top:12px;\">${escapeHtml(nama)}<\/h4>\n<p><!-- [et_pb_line_break_holder] -->          <strong style=\"display:block;font-size:13px;color:#0d1735;margin-top:4px;\">${escapeHtml(jabatan)}<\/strong><!-- [et_pb_line_break_holder] -->          ${sub ? `<pee style=\"font-size:12px;color:#667085;margin-top:2px;line-height:1.4;\">${escapeHtml(sub)}<\/pee>` : ''}<!-- [et_pb_line_break_holder] -->        <\/a>`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function kosongStruktur(pesan) {<!-- [et_pb_line_break_holder] -->      return `<\/p>\n<div class=\"wakil-card kosong\">${escapeHtml(pesan)}<\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Menyamakan lebar SEMUA kartu pimpinan (Wakil Dekan, Ketua Departemen,<!-- [et_pb_line_break_holder] -->    \/\/ Koordinator, Sub Koordinator) dengan lebar wadah dibagi 3 -- diukur<!-- [et_pb_line_break_holder] -->    \/\/ langsung dari elemen .wakil-grid itu sendiri (lebar elemen ini tetap<!-- [et_pb_line_break_holder] -->    \/\/ 100% dari induknya .pimpinan-wrapper, sama seperti kartu Dekan di<!-- [et_pb_line_break_holder] -->    \/\/ atasnya, terlepas dari flex-wrap yang dipakai di DALAM-nya). Dengan<!-- [et_pb_line_break_holder] -->    \/\/ lebar kartu (flex-basis) yang sama persis di semua bagian, dan<!-- [et_pb_line_break_holder] -->    \/\/ justify-content:center yang berlaku per baris pada flex-wrap, baris<!-- [et_pb_line_break_holder] -->    \/\/ manapun yang tidak penuh (1-2 kartu, atau sisa setelah beberapa baris<!-- [et_pb_line_break_holder] -->    \/\/ penuh) otomatis terpusat -- tanpa perlu logika berbeda per kasus.<!-- [et_pb_line_break_holder] -->    function tataPimpinanFakultas() {<!-- [et_pb_line_break_holder] -->      const semuaGrid = document.querySelectorAll('.pimpinan-wrapper .wakil-grid');<!-- [et_pb_line_break_holder] -->      if (!semuaGrid.length) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const rect = semuaGrid[0].getBoundingClientRect();<!-- [et_pb_line_break_holder] -->      if (!rect.width) return;         \/\/ panel sedang tidak terlihat -- coba lagi nanti<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const gap = 20;<!-- [et_pb_line_break_holder] -->      const lebarKartu = Math.max(120, Math.floor((rect.width - gap * 2) \/ 3));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      semuaGrid.forEach(grid => {<!-- [et_pb_line_break_holder] -->        Array.from(grid.children).forEach(k => {<!-- [et_pb_line_break_holder] -->          k.style.flexBasis = lebarKartu + 'px';<!-- [et_pb_line_break_holder] -->          k.style.flexGrow = '0';<!-- [et_pb_line_break_holder] -->          k.style.flexShrink = '0';<!-- [et_pb_line_break_holder] -->          k.style.maxWidth = lebarKartu + 'px';<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function renderStrukturKepemimpinan() {<!-- [et_pb_line_break_holder] -->      \/\/ Ketua Departemen: dari sheet Dosen, kolom Tugas Tambahan<!-- [et_pb_line_break_holder] -->      const wadahKetua = document.getElementById('daftar-ketua-departemen');<!-- [et_pb_line_break_holder] -->      if (wadahKetua) {<!-- [et_pb_line_break_holder] -->        const dijumpai = {};<!-- [et_pb_line_break_holder] -->        const ketua = dataDosenMaster.filter(d => {<!-- [et_pb_line_break_holder] -->          const t = String(d.tugas_tambahan || '').toLowerCase();<!-- [et_pb_line_break_holder] -->          if (!\/ketua\\s*departemen\/.test(t)) return false;<!-- [et_pb_line_break_holder] -->          const dept = String(d.homebase || '').trim();<!-- [et_pb_line_break_holder] -->          if (!dept || dijumpai[dept]) return false;       \/\/ satu kartu per departemen<!-- [et_pb_line_break_holder] -->          dijumpai[dept] = true;<!-- [et_pb_line_break_holder] -->          return true;<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        wadahKetua.innerHTML = ketua.length<!-- [et_pb_line_break_holder] -->          ? ketua.map(d => kartuOrang(d.nama, 'Ketua Departemen', d.homebase, d.foto, 'dosen')).join('')<!-- [et_pb_line_break_holder] -->          : kosongStruktur('Belum ada data Ketua Departemen. Isi kolom Tugas Tambahan pada sheet Dosen dengan \"Ketua Departemen ...\".');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Koordinator TU: dari sheet Tendik, jabatan struktural \"Koordinator\" (bukan Sub Koordinator)<!-- [et_pb_line_break_holder] -->      const wadahKoor = document.getElementById('daftar-koordinator');<!-- [et_pb_line_break_holder] -->      if (wadahKoor) {<!-- [et_pb_line_break_holder] -->        const koordinator = dataTendikMaster.filter(t => {<!-- [et_pb_line_break_holder] -->          const j = String(t.jabatan || '').toLowerCase();<!-- [et_pb_line_break_holder] -->          return \/koordinator\/.test(j) && !\/sub\\s*koordinator\/.test(j);<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->        const judul = document.getElementById('judul-koordinator');<!-- [et_pb_line_break_holder] -->        if (judul) judul.textContent = koordinator.length > 1 ? 'Koordinator' : 'Koordinator Tata Usaha';<!-- [et_pb_line_break_holder] -->        wadahKoor.innerHTML = koordinator.length<!-- [et_pb_line_break_holder] -->          ? koordinator.map(t => kartuOrang(t.nama, t.jabatan, t.sub_bagian, t.foto, 'tendik')).join('')<!-- [et_pb_line_break_holder] -->          : kosongStruktur('Belum ada data Koordinator. Isi kolom Jabatan pada sheet Tendik dengan \"Koordinator TU ...\".');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Sub Koordinator: dari sheet Tendik, jabatan struktural \"Sub Koordinator\"<!-- [et_pb_line_break_holder] -->      const wadahSub = document.getElementById('daftar-subkoordinator');<!-- [et_pb_line_break_holder] -->      if (wadahSub) {<!-- [et_pb_line_break_holder] -->        const subKoor = dataTendikMaster.filter(t => \/sub\\s*koordinator\/i.test(String(t.jabatan || '')));<!-- [et_pb_line_break_holder] -->        wadahSub.innerHTML = subKoor.length<!-- [et_pb_line_break_holder] -->          ? subKoor.map(t => kartuOrang(t.nama, t.jabatan, t.sub_bagian, t.foto, 'tendik')).join('')<!-- [et_pb_line_break_holder] -->          : kosongStruktur('Belum ada data Sub Koordinator. Isi kolom Jabatan pada sheet Tendik dengan \"Sub Koordinator ...\".');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Coba langsung; bila panel sedang tidak terlihat (tab lain aktif),<!-- [et_pb_line_break_holder] -->      \/\/ ukurannya 0 dan akan diukur ulang otomatis saat tab Pimpinan dibuka<!-- [et_pb_line_break_holder] -->      \/\/ (lihat switchTab) atau saat layar berubah ukuran.<!-- [et_pb_line_break_holder] -->      tataPimpinanFakultas();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Dibangun ulang setiap sinkronisasi (bukan ditambahkan) agar opsi tidak menumpuk,<!-- [et_pb_line_break_holder] -->    \/\/ sekaligus mempertahankan pilihan filter pengguna bila nilainya masih ada.<!-- [et_pb_line_break_holder] -->    function populateDropdownFilters() {<!-- [et_pb_line_break_holder] -->      const filterHomebase = document.getElementById('filter-homebase');<!-- [et_pb_line_break_holder] -->      const filterSubbagian = document.getElementById('filter-subbagian');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (filterHomebase) {<!-- [et_pb_line_break_holder] -->        const prev = filterHomebase.value;<!-- [et_pb_line_break_holder] -->        const listHomebase = [...new Set(dataDosenMaster.map(s => s.homebase))].filter(h => h && h !== '-').sort();<!-- [et_pb_line_break_holder] -->        filterHomebase.innerHTML = '<option value=\"\">Semua Homebase<\/option>' +<!-- [et_pb_line_break_holder] -->          listHomebase.map(hb => `<option value=\"${hb}\">${hb}<\/option>`).join('');<!-- [et_pb_line_break_holder] -->        if (listHomebase.includes(prev)) filterHomebase.value = prev;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (filterSubbagian) {<!-- [et_pb_line_break_holder] -->        const prev = filterSubbagian.value;<!-- [et_pb_line_break_holder] -->        const listSub = [...new Set(dataTendikMaster.map(s => s.sub_bagian))].filter(s => s && s !== '-').sort();<!-- [et_pb_line_break_holder] -->        filterSubbagian.innerHTML = '<option value=\"\">Semua Sub Bagian<\/option>' +<!-- [et_pb_line_break_holder] -->          listSub.map(sb => `<option value=\"${sb}\">${sb}<\/option>`).join('');<!-- [et_pb_line_break_holder] -->        if (listSub.includes(prev)) filterSubbagian.value = prev;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function kartuStaf(staff, idx, tipe) {<!-- [et_pb_line_break_holder] -->      const kata = (document.getElementById('staff-search') || {}).value || '';<!-- [et_pb_line_break_holder] -->      const fungsi = tipe === 'dosen' ? 'showDetailDosen' : 'showDetailTendik';<!-- [et_pb_line_break_holder] -->      const labelAtas = tipe === 'dosen' ? 'Homebase' : 'Sub Bagian';<!-- [et_pb_line_break_holder] -->      const nilaiAtas = tipe === 'dosen' ? staff.homebase : staff.sub_bagian;<!-- [et_pb_line_break_holder] -->      const labelBawah = tipe === 'dosen' ? 'Jabatan Akademik' : 'Jabatan Struktur';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const barisNomor = tipe === 'dosen'<!-- [et_pb_line_break_holder] -->        ? `<span style=\"display:block;\"><strong>NIP:<\/strong> ${escapeHtml(staff.nip)}<\/span><!-- [et_pb_line_break_holder] -->           <span style=\"display:block;\"><strong>NIDN:<\/strong> ${escapeHtml(staff.nidn)}<\/span>`<!-- [et_pb_line_break_holder] -->        : `<span style=\"display:block;\"><strong>NIP:<\/strong> ${escapeHtml(staff.nip)}<\/span>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const badgePangkat = (staff.pangkat && staff.pangkat !== '-')<!-- [et_pb_line_break_holder] -->        ? `<span class=\"jabatan-badge\" style=\"background:#fef3c7; color:#d97706; padding:3px 8px; border-radius:4px; font-size:10.5px; font-weight:600; display:inline-block; margin-top:4px;\">${escapeHtml(staff.pangkat)}<\/span>`<!-- [et_pb_line_break_holder] -->        : '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Baris bawah kartu dosen berisi chip tautan eksternal (SINTA, DRH, Scopus, Scholar)<!-- [et_pb_line_break_holder] -->      const chipTautan = tipe === 'dosen' ? tautanKartuHtml(staff) : '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      return `<!-- [et_pb_line_break_holder] -->      <\/p>\n<div class=\"dosen-card\" id=\"card-${tipe}-${idx}\" role=\"button\" tabindex=\"0\"<!-- [et_pb_line_break_holder] -->           aria-label=\"Lihat detail ${escapeHtml(staff.nama)}\"<!-- [et_pb_line_break_holder] -->           style=\"cursor:pointer; display:flex; flex-direction:column; gap:12px; padding:16px; box-sizing:border-box;\"<!-- [et_pb_line_break_holder] -->           onclick=\"${fungsi}(${idx}, true)\"<!-- [et_pb_line_break_holder] -->           onkeydown=\"if(event.key==='Enter'||event.key===' '){event.preventDefault();${fungsi}(${idx}, true);}\"><!-- [et_pb_line_break_holder] -->        <\/p>\n<div style=\"display:flex; gap:12px; align-items:stretch; width:100%;\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<div style=\"width:80px; height:105px; flex-shrink:0; overflow:hidden; border-radius:6px;\"><!-- [et_pb_line_break_holder] -->            ${fotoKartu(staff)}<!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div style=\"flex:1; display:flex; flex-direction:column; justify-content:space-between; background:#f8f9fa; padding:8px 10px; border-radius:6px; border-left:3px solid #fbb314; box-sizing:border-box;\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div style=\"display:flex; flex-direction:column; margin-bottom:4px;\"><!-- [et_pb_line_break_holder] -->              <span style=\"font-size:10px; text-transform:uppercase; color:#667085; font-weight:600; display:block; margin-bottom:2px;\">${labelAtas}<\/span><!-- [et_pb_line_break_holder] -->              <span style=\"color:#344054; font-size:12px; font-weight:700; line-height:1.2; display:block;\">${escapeHtml(nilaiAtas)}<\/span><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/p>\n<div style=\"display:flex; flex-direction:column;\"><!-- [et_pb_line_break_holder] -->              <span style=\"font-size:10px; text-transform:uppercase; color:#667085; font-weight:600; display:block; margin-bottom:2px;\">${labelBawah}<\/span><!-- [et_pb_line_break_holder] -->              <span style=\"color:#1a202c; font-size:12px; font-weight:700; line-height:1.2; display:block;\">${escapeHtml(staff.jabatan)}<\/span><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/p>\n<div style=\"display:flex; flex-direction:column; gap:4px; width:100%; text-align:left;\"><!-- [et_pb_line_break_holder] -->          <\/p>\n<h4 style=\"margin:0; padding:0; font-size:14px; color:#1a202c; font-weight:700; line-height:1.3; min-height:36px; overflow:hidden; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;\">${sorotKata(staff.nama, kata)}<\/h4>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div style=\"display:flex; align-items:flex-start; justify-content:space-between; gap:8px; font-size:11.5px; color:#475467; margin-top:2px;\"><!-- [et_pb_line_break_holder] -->            <\/p>\n<div style=\"display:flex; flex-direction:column; gap:2px; min-width:0;\"><!-- [et_pb_line_break_holder] -->              ${barisNomor}<!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            ${badgePangkat}<!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->          <\/p>\n<div class=\"tautan-kartu\" style=\"margin-top:6px; display:flex; align-items:center; gap:6px; flex-wrap:wrap;\"><!-- [et_pb_line_break_holder] -->            ${chipTautan}<!-- [et_pb_line_break_holder] -->          <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->      <\/div>\n<p>`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Daftar nomor halaman dengan titik-titik bila terlalu banyak: 1 \u2026 4 5 6 \u2026 12<!-- [et_pb_line_break_holder] -->    function nomorHalaman(aktif, maks) {<!-- [et_pb_line_break_holder] -->      const tampil = new Set([1, maks, aktif, aktif - 1, aktif + 1]);<!-- [et_pb_line_break_holder] -->      if (aktif <= 3) { tampil.add(2); tampil.add(3); }<!-- [et_pb_line_break_holder] -->      if (aktif >= maks - 2) { tampil.add(maks - 1); tampil.add(maks - 2); }<!-- [et_pb_line_break_holder] -->      const urut = [...tampil].filter(n => n >= 1 && n <= maks).sort((a, b) => a - b);<!-- [et_pb_line_break_holder] -->      const hasil = [];<!-- [et_pb_line_break_holder] -->      urut.forEach((n, i) => {<!-- [et_pb_line_break_holder] -->        if (i > 0 && n - urut[i - 1] > 1) hasil.push('...');<!-- [et_pb_line_break_holder] -->        hasil.push(n);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      return hasil;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function navigasiHalaman(tipe) {<!-- [et_pb_line_break_holder] -->      const maks = totalHalaman(tipe);<!-- [et_pb_line_break_holder] -->      if (maks <= 1) return '';<!-- [et_pb_line_break_holder] -->      const aktif = halamanAktif[tipe];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const tombol = nomorHalaman(aktif, maks).map(n =><!-- [et_pb_line_break_holder] -->        n === '...'<!-- [et_pb_line_break_holder] -->          ? '<span class=\"jeda\">\u2026<\/span>'<!-- [et_pb_line_break_holder] -->          : `<button type=\"button\" class=\"${n === aktif ? 'aktif' : ''}\" aria-label=\"Halaman ${n}\" ${n === aktif ? 'aria-current=\"page\"' : ''} onclick=\"gantiHalaman('${tipe}', ${n})\">${n}<\/button>`<!-- [et_pb_line_break_holder] -->      ).join('');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      return `<\/p>\n<nav class=\"paginasi\" aria-label=\"Navigasi halaman\"><!-- [et_pb_line_break_holder] -->          <button type=\"button\" onclick=\"gantiHalaman('${tipe}', ${aktif - 1})\" ${aktif === 1 ? 'disabled' : ''} aria-label=\"Halaman sebelumnya\">&lsaquo;<\/button><!-- [et_pb_line_break_holder] -->          ${tombol}<!-- [et_pb_line_break_holder] -->          <button type=\"button\" onclick=\"gantiHalaman('${tipe}', ${aktif + 1})\" ${aktif === maks ? 'disabled' : ''} aria-label=\"Halaman berikutnya\">&rsaquo;<\/button><!-- [et_pb_line_break_holder] -->        <\/nav>\n<p>`;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function renderStaffCards() {<!-- [et_pb_line_break_holder] -->      const gridDosen = document.getElementById('grid-dosen');<!-- [et_pb_line_break_holder] -->      const gridTendik = document.getElementById('grid-tendik');<!-- [et_pb_line_break_holder] -->      const tipe = currentActiveStaffTab;<!-- [et_pb_line_break_holder] -->      const data = tipe === 'dosen' ? dataDosenFiltered : dataTendikFiltered;<!-- [et_pb_line_break_holder] -->      const grid = tipe === 'dosen' ? gridDosen : gridTendik;<!-- [et_pb_line_break_holder] -->      const lain = tipe === 'dosen' ? gridTendik : gridDosen;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Jaga-jaga bila jumlah data menyusut setelah sinkronisasi<!-- [et_pb_line_break_holder] -->      halamanAktif[tipe] = Math.min(Math.max(1, halamanAktif[tipe]), totalHalaman(tipe));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const mulai = (halamanAktif[tipe] - 1) * PER_HALAMAN;<!-- [et_pb_line_break_holder] -->      grid.innerHTML = data.slice(mulai, mulai + PER_HALAMAN)<!-- [et_pb_line_break_holder] -->        .map((staff, i) => kartuStaf(staff, mulai + i, tipe)).join('')<!-- [et_pb_line_break_holder] -->        + navigasiHalaman(tipe);<!-- [et_pb_line_break_holder] -->      lain.innerHTML = '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      perbaruiRingkasan();<!-- [et_pb_line_break_holder] -->      renderChipFilter();<!-- [et_pb_line_break_holder] -->      setupMobileCloseButtons();<!-- [et_pb_line_break_holder] -->      initDefaultActiveState();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function setupMobileCloseButtons() {<!-- [et_pb_line_break_holder] -->      document.querySelectorAll('.profile-sidebar').forEach(sidebar => {<!-- [et_pb_line_break_holder] -->        if (!sidebar.querySelector('.btn-close-mobile')) {<!-- [et_pb_line_break_holder] -->          const closeBtn = document.createElement('button');<!-- [et_pb_line_break_holder] -->          closeBtn.className = 'btn-close-mobile';<!-- [et_pb_line_break_holder] -->          closeBtn.innerText = '\u2715 Tutup Detail';<!-- [et_pb_line_break_holder] -->          closeBtn.onclick = function() {<!-- [et_pb_line_break_holder] -->            document.querySelectorAll('.dosen-card').forEach(card => card.classList.remove('card-active'));<!-- [et_pb_line_break_holder] -->            document.querySelectorAll('.profile-sidebar').forEach(sb => sb.classList.remove('active'));<!-- [et_pb_line_break_holder] -->          };<!-- [et_pb_line_break_holder] -->          sidebar.insertBefore(closeBtn, sidebar.firstChild);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ dariPengguna = true hanya bila kartu benar-benar diklik, supaya pemilihan<!-- [et_pb_line_break_holder] -->    \/\/ otomatis (kartu pertama) tidak menulis tautan permanen ke URL.<!-- [et_pb_line_break_holder] -->    function showDetailDosen(idx, dariPengguna) {<!-- [et_pb_line_break_holder] -->      if (dataDosenFiltered.length === 0 || !dataDosenFiltered[idx]) return;<!-- [et_pb_line_break_holder] -->      const staff = dataDosenFiltered[idx];<!-- [et_pb_line_break_holder] -->      selectedDosenName = staff.nama;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      document.getElementById('side-dosen-judul').textContent = staff.nama;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      isiBaris('r-d-nip', 'side-dosen-nip', staff.nip);<!-- [et_pb_line_break_holder] -->      isiBaris('r-d-nidn', 'side-dosen-nidn', staff.nidn);<!-- [et_pb_line_break_holder] -->      isiBaris('r-d-status', 'side-dosen-status', staff.status);<!-- [et_pb_line_break_holder] -->      isiBaris('r-d-jabatan', 'side-dosen-jabatan', staff.jabatan);<!-- [et_pb_line_break_holder] -->      isiBaris('r-d-pangkat', 'side-dosen-pangkat', staff.pangkat);<!-- [et_pb_line_break_holder] -->      isiBaris('r-d-email', 'side-dosen-email', staff.email);<!-- [et_pb_line_break_holder] -->      isiBaris('r-d-tugas', 'side-dosen-tugas', staff.tugas_tambahan);<!-- [et_pb_line_break_holder] -->      isiBaris('r-d-homebase', 'side-dosen-homebase', staff.homebase);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Blok Opini selalu tampil walau datanya kosong<!-- [et_pb_line_break_holder] -->      const opini = String(staff.opini || '').trim();<!-- [et_pb_line_break_holder] -->      const elOpini = document.getElementById('side-dosen-opini');<!-- [et_pb_line_break_holder] -->      const blokOpini = document.getElementById('r-d-opini');<!-- [et_pb_line_break_holder] -->      if (elOpini) {<!-- [et_pb_line_break_holder] -->        elOpini.innerHTML = (opini && opini !== '-')<!-- [et_pb_line_break_holder] -->          ? daftarPoin(opini)<!-- [et_pb_line_break_holder] -->          : '<span class=\"teks-kosong\">Belum ada opini<\/span>';<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      if (blokOpini) blokOpini.style.display = '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      jadikanSalin('side-dosen-nip', staff.nip);<!-- [et_pb_line_break_holder] -->      jadikanSalin('side-dosen-email', staff.email);<!-- [et_pb_line_break_holder] -->      rapikanBlok('layout-dosen');<!-- [et_pb_line_break_holder] -->      highlightCard('dosen', idx);<!-- [et_pb_line_break_holder] -->      if (dariPengguna) perbaruiHash('dosen', staff.nama);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (!isAutoSync && window.innerWidth <= 768) {<!-- [et_pb_line_break_holder] -->        document.getElementById('side-dosen-judul').scrollIntoView({ behavior: 'smooth', block: 'start' });<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function showDetailTendik(idx, dariPengguna) {<!-- [et_pb_line_break_holder] -->      if (dataTendikFiltered.length === 0 || !dataTendikFiltered[idx]) return;<!-- [et_pb_line_break_holder] -->      const staff = dataTendikFiltered[idx];<!-- [et_pb_line_break_holder] -->      selectedTendikName = staff.nama;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      document.getElementById('side-tendik-judul').textContent = staff.nama;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      isiBaris('r-t-nip', 'side-tendik-nip', staff.nip);<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-pangkat', 'side-tendik-pangkat', staff.pangkat);<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-ttl', 'side-tendik-ttl', staff.ttl);<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-pendidikan', 'side-tendik-pendidikan', staff.pendidikan);<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-email', 'side-tendik-email', staff.email);<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-jabatan', 'side-tendik-jabatan', staff.jabatan);<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-unit', 'side-tendik-unit', staff.unit_kerja);<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-sub', 'side-tendik-sub', staff.sub_bagian);<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-lokasi', 'side-tendik-lokasi', staff.lokasi_kantor);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Kolom baru: Ikhtisar Jabatan (K) dan Sertifikat Keahlian (L)<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-ikhtisar-blok', 'side-tendik-ikhtisar', daftarPoin(staff.ikhtisar || ''), true);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const sert = String(staff.sertifikat || '').trim();<!-- [et_pb_line_break_holder] -->      const isiSert = sert.indexOf('http') === 0<!-- [et_pb_line_break_holder] -->        ? `<a href=\"${escapeHtml(sert)}\" target=\"_blank\" rel=\"noopener\" style=\"color:#175cd3; text-decoration:underline; font-weight:700;\">Lihat Sertifikat <i class=\"ti ti-external-link\"><\/i><\/a>`<!-- [et_pb_line_break_holder] -->        : daftarPoin(sert);<!-- [et_pb_line_break_holder] -->      isiBaris('r-t-sertifikat-blok', 'side-tendik-sertifikat', isiSert, true);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      jadikanSalin('side-tendik-nip', staff.nip);<!-- [et_pb_line_break_holder] -->      jadikanSalin('side-tendik-email', staff.email);<!-- [et_pb_line_break_holder] -->      rapikanBlok('layout-tendik');<!-- [et_pb_line_break_holder] -->      highlightCard('tendik', idx);<!-- [et_pb_line_break_holder] -->      if (dariPengguna) perbaruiHash('tendik', staff.nama);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (!isAutoSync && window.innerWidth <= 768) {<!-- [et_pb_line_break_holder] -->        document.getElementById('side-tendik-judul').scrollIntoView({ behavior: 'smooth', block: 'start' });<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function highlightCard(type, idx) {<!-- [et_pb_line_break_holder] -->      const activeLayoutId = type === 'dosen' ? 'layout-dosen' : 'layout-tendik';<!-- [et_pb_line_break_holder] -->      const layout = document.getElementById(activeLayoutId);<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      layout.querySelectorAll('.dosen-card').forEach(card => card.classList.remove('card-active'));<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      const targetCard = document.getElementById(`card-${type}-${idx}`);<!-- [et_pb_line_break_holder] -->      if (targetCard) {<!-- [et_pb_line_break_holder] -->        targetCard.classList.add('card-active');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const sidebar = layout.querySelector('.profile-sidebar');<!-- [et_pb_line_break_holder] -->      if (sidebar) {<!-- [et_pb_line_break_holder] -->        sidebar.classList.add('active');<!-- [et_pb_line_break_holder] -->        sidebar.classList.remove('sidebar-fade');<!-- [et_pb_line_break_holder] -->        void sidebar.offsetWidth;            \/\/ paksa reflow agar animasi terpicu ulang<!-- [et_pb_line_break_holder] -->        sidebar.classList.add('sidebar-fade');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function initDefaultActiveState() {<!-- [et_pb_line_break_holder] -->      if (window.innerWidth <= 980) {<!-- [et_pb_line_break_holder] -->        document.querySelectorAll('.dosen-card').forEach(card => card.classList.remove('card-active'));<!-- [et_pb_line_break_holder] -->        return;<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      \/\/ Pilihan bawaan = data pertama pada halaman yang sedang dibuka<!-- [et_pb_line_break_holder] -->      if (currentActiveStaffTab === 'dosen') {<!-- [et_pb_line_break_holder] -->        document.getElementById('layout-dosen').classList.remove('layout-hidden');<!-- [et_pb_line_break_holder] -->        document.getElementById('layout-tendik').classList.add('layout-hidden');<!-- [et_pb_line_break_holder] -->        const awal = (halamanAktif.dosen - 1) * PER_HALAMAN;<!-- [et_pb_line_break_holder] -->        if (dataDosenFiltered.length > awal) showDetailDosen(awal);<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        document.getElementById('layout-dosen').classList.add('layout-hidden');<!-- [et_pb_line_break_holder] -->        document.getElementById('layout-tendik').classList.remove('layout-hidden');<!-- [et_pb_line_break_holder] -->        const awal = (halamanAktif.tendik - 1) * PER_HALAMAN;<!-- [et_pb_line_break_holder] -->        if (dataTendikFiltered.length > awal) showDetailTendik(awal);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    let deskripsiJabatan = {<!-- [et_pb_line_break_holder] -->      'dekan': {<!-- [et_pb_line_break_holder] -->        title: 'Dekan',<!-- [et_pb_line_break_holder] -->        desc: 'Memimpin penyelenggaraan pendidikan, penelitian dan pengabdian kepada masyarakat serta membina tenaga kependidikan, mahasiswa dan prasarana fakultas.'<!-- [et_pb_line_break_holder] -->      },<!-- [et_pb_line_break_holder] -->      'wd1': {<!-- [et_pb_line_break_holder] -->        title: 'Wakil Dekan I',<!-- [et_pb_line_break_holder] -->        desc: 'Membantu Dekan dalam memimpin pelaksanaan pendidikan, penelitian, dan pengabdian kepada masyarakat, serta membina pendidik (dosen) di lingkungan fakultas.'<!-- [et_pb_line_break_holder] -->      },<!-- [et_pb_line_break_holder] -->      'wd2': {<!-- [et_pb_line_break_holder] -->        title: 'Wakil Dekan II',<!-- [et_pb_line_break_holder] -->        desc: 'Membantu Dekan dalam memimpin pelaksanaan kegiatan di bidang perencanaan, administrasi umum, keuangan, sistem informasi, kepegawaian, dan sarana prasarana fakultas.'<!-- [et_pb_line_break_holder] -->      },<!-- [et_pb_line_break_holder] -->      'wd3': {<!-- [et_pb_line_break_holder] -->        title: 'Wakil Dekan III',<!-- [et_pb_line_break_holder] -->        desc: 'Membantu Dekan dalam memimpin pelaksanaan kegiatan di bidang kemahasiswaan, penalaran, alumni, serta kewirausahaan mahasiswa di lingkungan fakultas.'<!-- [et_pb_line_break_holder] -->      },<!-- [et_pb_line_break_holder] -->      'kadep': {<!-- [et_pb_line_break_holder] -->        title: 'Ketua Departemen \/ Jurusan',<!-- [et_pb_line_break_holder] -->        desc: 'Memimpin dan melaksanakan kegiatan pendidikan dan pengajaran, penelitian, serta pengabdian kepada masyarakat pada tingkat departemen atau jurusan.'<!-- [et_pb_line_break_holder] -->      },<!-- [et_pb_line_break_holder] -->      'kabag_tu': {<!-- [et_pb_line_break_holder] -->        title: 'Kepala Bagian Tata Usaha',<!-- [et_pb_line_break_holder] -->        desc: 'Melaksanakan urusan administrasi, kepegawaian, keuangan, perlengkapan, serta pengelolaan sistem informasi fakultas untuk mendukung kelancaran kegiatan akademik dan non-akademik.'<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function changeJabatan() {<!-- [et_pb_line_break_holder] -->      const select = document.getElementById('jabatan-select');<!-- [et_pb_line_break_holder] -->      const data = deskripsiJabatan[select.value];<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      if (data) {<!-- [et_pb_line_break_holder] -->        document.getElementById('jabatan-title').textContent = data.title;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Deskripsi bisa memakai daftar berpoin (dipisah titik koma) dan perataan per baris<!-- [et_pb_line_break_holder] -->        const desc = document.getElementById('jabatan-desc');<!-- [et_pb_line_break_holder] -->        desc.innerHTML = daftarPoin(data.desc);<!-- [et_pb_line_break_holder] -->        desc.style.textAlign = '';<!-- [et_pb_line_break_holder] -->        const gaya = styleRata(data.perataan || '');<!-- [et_pb_line_break_holder] -->        if (gaya) desc.style.textAlign = gaya.replace(\/.*text-align:([a-z]+).*\/, '$1');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Menyiapkan mode satu tab: bilah tab disembunyikan, satu panel ditampilkan<!-- [et_pb_line_break_holder] -->    \/\/ Bilah tab tetap ditampilkan pada halaman tersendiri, dengan bentuk yang sama<!-- [et_pb_line_break_holder] -->    \/\/ seperti di halaman Profil. Bedanya tiap tab jadi tautan, dan tab halaman ini aktif.<!-- [et_pb_line_break_holder] -->    function bangunBilahTab() {<!-- [et_pb_line_break_holder] -->      const nav = document.querySelector('.tab-nav');<!-- [et_pb_line_break_holder] -->      if (!nav) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      nav.innerHTML = tabIds.map(id => {<!-- [et_pb_line_break_holder] -->        const nama = escapeHtml(NAMA_TAB[id] || id);<!-- [et_pb_line_break_holder] -->        if (id === TAB_TUNGGAL) {<!-- [et_pb_line_break_holder] -->          return `<span class=\"tab-btn active\" role=\"tab\" aria-selected=\"true\" aria-current=\"page\">${nama}<\/span>`;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        return `<a class=\"tab-btn\" role=\"tab\" aria-selected=\"false\" href=\"${URL_PROFIL}#${id}\">${nama}<\/a>`;<!-- [et_pb_line_break_holder] -->      }).join('');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Tab yang aktif digeser ke tengah bila bilahnya melebihi lebar layar<!-- [et_pb_line_break_holder] -->      const aktif = nav.querySelector('.tab-btn.active');<!-- [et_pb_line_break_holder] -->      if (aktif && typeof aktif.scrollIntoView === 'function') {<!-- [et_pb_line_break_holder] -->        aktif.scrollIntoView({ block: 'nearest', inline: 'center' });<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      bangunSubNav(nav);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Baris kedua khusus kelompok Dosen & Tendik, agar pengunjung tahu sedang<!-- [et_pb_line_break_holder] -->    \/\/ melihat bagian yang mana dan bisa berpindah antar departemen.<!-- [et_pb_line_break_holder] -->    function bangunSubNav(nav) {<!-- [et_pb_line_break_holder] -->      if (TAB_TUNGGAL !== 'dosen' || !SUB_HALAMAN.length) return;<!-- [et_pb_line_break_holder] -->      if (document.getElementById('sub-nav')) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const baris = document.createElement('nav');<!-- [et_pb_line_break_holder] -->      baris.id = 'sub-nav';<!-- [et_pb_line_break_holder] -->      baris.className = 'sub-nav';<!-- [et_pb_line_break_holder] -->      baris.setAttribute('aria-label', 'Bagian pada Dosen & Tendik');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      baris.innerHTML =<!-- [et_pb_line_break_holder] -->        `<span class=\"sub-label\"><i class=\"ti ti-corner-down-right\"><\/i> Dosen &amp; Tendik<\/span>` +<!-- [et_pb_line_break_holder] -->        SUB_HALAMAN.map(h => h.kode === HALAMAN_INI<!-- [et_pb_line_break_holder] -->          ? `<span class=\"kini\" aria-current=\"page\">${escapeHtml(h.label)}<\/span>`<!-- [et_pb_line_break_holder] -->          : `<a href=\"${h.url}\">${escapeHtml(h.label)}<\/a>`).join('');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      nav.insertAdjacentElement('afterend', baris);<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Menandai menu \"Profil\" sebagai menu aktif walau halaman ini berdiri sendiri.<!-- [et_pb_line_break_holder] -->    \/\/ Mendukung menu bawaan Divi maupun menu custom (kelas .umh-menu-item).<!-- [et_pb_line_break_holder] -->    function tandaiMenuProfil() {<!-- [et_pb_line_break_holder] -->      const tautan = document.querySelectorAll('.umh-menu-link, .umh-mobmenu-trigger, #top-menu a, .et-menu a, nav a');<!-- [et_pb_line_break_holder] -->      tautan.forEach(a => {<!-- [et_pb_line_break_holder] -->        const teks = (a.textContent || '').trim().toLowerCase();<!-- [et_pb_line_break_holder] -->        const href = a.getAttribute('href') || '';<!-- [et_pb_line_break_holder] -->        if (teks !== 'profil' && href.indexOf(URL_PROFIL) === -1) return;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const item = a.closest('.umh-menu-item, .umh-mobmenu-item, li');<!-- [et_pb_line_break_holder] -->        if (!item) return;<!-- [et_pb_line_break_holder] -->        item.classList.add('is-active', 'current-menu-item', 'current_page_item');<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function terapkanTabTunggal() {<!-- [et_pb_line_break_holder] -->      if (!TAMPILKAN_SLIDER) {<!-- [et_pb_line_break_holder] -->        const slider = document.getElementById('slider-pimpinan');<!-- [et_pb_line_break_holder] -->        if (slider) slider.remove();<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Sub tab tunggal (Daftar Dosen \/ Daftar Tendik saja)<!-- [et_pb_line_break_holder] -->      if (SUB_TAB_TUNGGAL === 'dosen' || SUB_TAB_TUNGGAL === 'tendik') {<!-- [et_pb_line_break_holder] -->        const bilah = document.querySelector('.staff-tabs');<!-- [et_pb_line_break_holder] -->        if (bilah) bilah.style.display = 'none';<!-- [et_pb_line_break_holder] -->        switchStaffTab(SUB_TAB_TUNGGAL);<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      \/\/ Dropdown homebase disembunyikan bila daftarnya sudah dibatasi satu departemen<!-- [et_pb_line_break_holder] -->      if (FILTER_HOMEBASE) {<!-- [et_pb_line_break_holder] -->        const sel = document.getElementById('filter-homebase');<!-- [et_pb_line_break_holder] -->        if (sel) sel.style.display = 'none';<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (!TAB_TUNGGAL || tabIds.indexOf(TAB_TUNGGAL) === -1) return false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const judul = document.querySelector('.page-title');<!-- [et_pb_line_break_holder] -->      if (judul) judul.style.display = 'none';      \/\/ judul halaman WordPress yang dipakai<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const pembungkus = document.querySelector('.tab-wrap');<!-- [et_pb_line_break_holder] -->      if (pembungkus) pembungkus.classList.add('mode-satu-tab');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      switchTab(TAB_TUNGGAL);<!-- [et_pb_line_break_holder] -->      bangunBilahTab();<!-- [et_pb_line_break_holder] -->      tandaiMenuProfil();<!-- [et_pb_line_break_holder] -->      return true;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    \/\/ Membuka tab dari alamat seperti \/id\/profil\/#struktur<!-- [et_pb_line_break_holder] -->    function bukaTabDariHash() {<!-- [et_pb_line_break_holder] -->      const h = String(window.location.hash || '').replace(\/^#\/, '').split('\/')[0].toLowerCase();<!-- [et_pb_line_break_holder] -->      if (!h) return false;<!-- [et_pb_line_break_holder] -->      if (tabIds.indexOf(h) === -1) return false;<!-- [et_pb_line_break_holder] -->      switchTab(h);<!-- [et_pb_line_break_holder] -->      return true;<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function switchTab(id, element) {<!-- [et_pb_line_break_holder] -->      \/\/ Alamat ikut menyimpan tab yang dibuka agar bisa disalin dan dibagikan<!-- [et_pb_line_break_holder] -->      if (element && !TAB_TUNGGAL) {<!-- [et_pb_line_break_holder] -->        try { history.replaceState(null, '', '#' + id); } catch (e) { \/* diabaikan *\/ }<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      document.querySelectorAll('.tab-btn').forEach((btn, i) => {<!-- [et_pb_line_break_holder] -->        const active = tabIds[i] === id;<!-- [et_pb_line_break_holder] -->        btn.classList.toggle('active', active);<!-- [et_pb_line_break_holder] -->        btn.setAttribute('aria-selected', active);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] -->      document.querySelectorAll('.tab-panel').forEach(panel => {<!-- [et_pb_line_break_holder] -->        panel.classList.toggle('active', panel.id === 'tab-' + id);<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (id === 'sejarah') tataUlangSejarah();<!-- [et_pb_line_break_holder] -->      if (id === 'pimpinan') tataPimpinanFakultas();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (element && typeof element.scrollIntoView === 'function') {<!-- [et_pb_line_break_holder] -->        element.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'center' });<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function switchStaffTab(type) {<!-- [et_pb_line_break_holder] -->      currentActiveStaffTab = type;<!-- [et_pb_line_break_holder] -->      selectedDosenName = null;<!-- [et_pb_line_break_holder] -->      selectedTendikName = null;<!-- [et_pb_line_break_holder] -->      halamanAktif.dosen = 1;<!-- [et_pb_line_break_holder] -->      halamanAktif.tendik = 1;<!-- [et_pb_line_break_holder] -->      perbaruiOpsiUrutan();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      document.querySelectorAll('.staff-tab').forEach(btn => {<!-- [et_pb_line_break_holder] -->        const onClickAttr = btn.getAttribute('onclick') || '';<!-- [et_pb_line_break_holder] -->        btn.classList.toggle('active', onClickAttr.includes(type));<!-- [et_pb_line_break_holder] -->      });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (type === 'dosen') {<!-- [et_pb_line_break_holder] -->        document.getElementById('layout-dosen').classList.remove('layout-hidden');<!-- [et_pb_line_break_holder] -->        document.getElementById('layout-tendik').classList.add('layout-hidden');<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        document.getElementById('layout-dosen').classList.add('layout-hidden');<!-- [et_pb_line_break_holder] -->        document.getElementById('layout-tendik').classList.remove('layout-hidden');<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      document.getElementById('filter-homebase').style.display = (type === 'dosen') ? '' : 'none';<!-- [et_pb_line_break_holder] -->      document.getElementById('filter-subbagian').style.display = (type === 'tendik') ? '' : 'none';<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      document.getElementById('staff-search').value = '';<!-- [et_pb_line_break_holder] -->      document.getElementById('filter-homebase').value = '';<!-- [et_pb_line_break_holder] -->      document.getElementById('filter-subbagian').value = '';<!-- [et_pb_line_break_holder] -->      clearTimeout(timerCari);<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      dataDosenFiltered = [...dataDosenMaster];<!-- [et_pb_line_break_holder] -->      dataTendikFiltered = [...dataTendikMaster];<!-- [et_pb_line_break_holder] -->      <!-- [et_pb_line_break_holder] -->      renderStaffCards();<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    function searchStaff() {<!-- [et_pb_line_break_holder] -->      const keyword = document.getElementById('staff-search').value.toLowerCase();<!-- [et_pb_line_break_holder] -->      const emptyMessage = document.getElementById('search-empty');<!-- [et_pb_line_break_holder] -->      const activeLayout = document.getElementById(currentActiveStaffTab === 'dosen' ? 'layout-dosen' : 'layout-tendik');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (currentActiveStaffTab === 'dosen') {<!-- [et_pb_line_break_holder] -->        const selectedHomebase = document.getElementById('filter-homebase').value;<!-- [et_pb_line_break_holder] -->        dataDosenFiltered = dataDosenMaster.filter(staff => {<!-- [et_pb_line_break_holder] -->          const matchKeyword = staff.nama.toLowerCase().includes(keyword) || <!-- [et_pb_line_break_holder] -->                               staff.nidn.toLowerCase().includes(keyword) || <!-- [et_pb_line_break_holder] -->                               staff.nip.toLowerCase().includes(keyword) || <!-- [et_pb_line_break_holder] -->                               staff.jabatan.toLowerCase().includes(keyword) ||<!-- [et_pb_line_break_holder] -->                               String(staff.homebase).toLowerCase().includes(keyword);<!-- [et_pb_line_break_holder] -->          const matchDropdown = selectedHomebase === \"\" || staff.homebase === selectedHomebase;<!-- [et_pb_line_break_holder] -->          return matchKeyword && matchDropdown;<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        const selectedSub = document.getElementById('filter-subbagian').value;<!-- [et_pb_line_break_holder] -->        dataTendikFiltered = dataTendikMaster.filter(staff => {<!-- [et_pb_line_break_holder] -->          const matchKeyword = staff.nama.toLowerCase().includes(keyword) || <!-- [et_pb_line_break_holder] -->                               staff.nip.toLowerCase().includes(keyword) || <!-- [et_pb_line_break_holder] -->                               staff.jabatan.toLowerCase().includes(keyword) ||<!-- [et_pb_line_break_holder] -->                               String(staff.sub_bagian).toLowerCase().includes(keyword) ||<!-- [et_pb_line_break_holder] -->                               String(staff.unit_kerja).toLowerCase().includes(keyword);<!-- [et_pb_line_break_holder] -->          const matchDropdown = selectedSub === \"\" || staff.sub_bagian === selectedSub;<!-- [et_pb_line_break_holder] -->          return matchKeyword && matchDropdown;<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      const currentFilteredLength = currentActiveStaffTab === 'dosen' ? dataDosenFiltered.length : dataTendikFiltered.length;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->      if (currentFilteredLength === 0) {<!-- [et_pb_line_break_holder] -->        activeLayout.classList.add('layout-hidden');<!-- [et_pb_line_break_holder] -->        emptyMessage.style.display = 'block';<!-- [et_pb_line_break_holder] -->        perbaruiRingkasan();<!-- [et_pb_line_break_holder] -->      } else {<!-- [et_pb_line_break_holder] -->        activeLayout.classList.remove('layout-hidden');<!-- [et_pb_line_break_holder] -->        emptyMessage.style.display = 'none'; <!-- [et_pb_line_break_holder] -->        renderStaffCards();<!-- [et_pb_line_break_holder] -->      }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->  <\/script><!-- [et_pb_line_break_holder] --><\/body><!-- [et_pb_line_break_holder] --><\/html>[\/et_pb_fullwidth_code][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pimpinan Fakultas Ekonomi Da Bisnis Universitas Negeri Malang<br \/>\nDekan<br \/>\nWakil Dekan I<br \/>\nWakil Dekan II<br \/>\nWakil Dekan III<\/p>\n","protected":false},"author":114,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-20238","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/feb.um.ac.id\/id\/wp-json\/wp\/v2\/pages\/20238","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/feb.um.ac.id\/id\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/feb.um.ac.id\/id\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/feb.um.ac.id\/id\/wp-json\/wp\/v2\/users\/114"}],"replies":[{"embeddable":true,"href":"https:\/\/feb.um.ac.id\/id\/wp-json\/wp\/v2\/comments?post=20238"}],"version-history":[{"count":9,"href":"https:\/\/feb.um.ac.id\/id\/wp-json\/wp\/v2\/pages\/20238\/revisions"}],"predecessor-version":[{"id":20285,"href":"https:\/\/feb.um.ac.id\/id\/wp-json\/wp\/v2\/pages\/20238\/revisions\/20285"}],"wp:attachment":[{"href":"https:\/\/feb.um.ac.id\/id\/wp-json\/wp\/v2\/media?parent=20238"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}