/* WEBSITE IKM - Module 2 Profile Theme Components
 * Batch: Struktur Organisasi UI/UAT - 2026-09-13
 * Scope is intentionally prefixed with m2- to prevent cross-module leakage.
 */

:root {
  --m2-blue-900: #0f4c81;
  --m2-blue-800: #183b56;
  --m2-blue-700: #24445f;
  --m2-green-700: #217a3c;
  --m2-green-100: #e3f5e8;
  --m2-yellow-700: #8a6512;
  --m2-yellow-100: #fff4d6;
  --m2-gray-900: #334e68;
  --m2-gray-700: #66788a;
  --m2-gray-600: #6b7c93;
  --m2-gray-500: #7b8d9c;
  --m2-gray-300: #d9e3ea;
  --m2-gray-200: #e3eaf2;
  --m2-gray-100: #f7fafc;
  --m2-surface: #ffffff;
  --m2-radius-sm: 7px;
  --m2-radius-md: 12px;
  --m2-radius-lg: 18px;
  --m2-shadow-card: 0 5px 18px rgba(35, 56, 82, 0.06);
  --m2-shadow-media: 0 10px 28px rgba(24, 59, 86, 0.10);
}

/* ==============================
   ADMIN - STRUKTUR ORGANISASI
   ============================== */
.m2-structure-page {
  padding-top: 26px;
  padding-bottom: 38px;
}

.m2-structure-page .m2-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.m2-structure-page .m2-page-title {
  margin: 0 0 6px;
  color: var(--m2-blue-800);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.25;
}

.m2-structure-page .m2-page-subtitle {
  margin: 0;
  color: var(--m2-gray-600);
  font-size: 14px;
  line-height: 1.6;
}

.m2-structure-page .m2-card {
  border: 1px solid var(--m2-gray-200);
  border-radius: var(--m2-radius-md);
  background: var(--m2-surface);
  box-shadow: var(--m2-shadow-card);
  overflow: hidden;
  margin-bottom: 24px;
}

.m2-structure-page .m2-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 18px;
  background: var(--m2-gray-100);
  border-bottom: 1px solid var(--m2-gray-200);
}

.m2-structure-page .m2-card-title,
.m2-structure-page .m2-history-title {
  margin: 0;
  color: var(--m2-blue-700);
  font-size: 16px;
  font-weight: 700;
}

.m2-structure-page .m2-history-title {
  color: var(--m2-blue-800);
  font-size: 20px;
}

.m2-structure-page .m2-card-body {
  padding: 20px;
}

.m2-structure-page .m2-card-body-table {
  padding: 0;
}

.m2-structure-page .m2-public-preview {
  min-height: 110px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.m2-structure-page .m2-public-preview img {
  max-height: 500px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 8px;
}

.m2-structure-page .m2-upload-box {
  border: 1px dashed #9fb8c9;
  border-radius: 10px;
  background: #f8fbfd;
  padding: 18px;
}

.m2-structure-page .m2-upload-label {
  display: block;
  margin-bottom: 8px;
  color: var(--m2-blue-700);
  font-size: 14px;
  font-weight: 700;
}

.m2-structure-page .m2-upload-box .form-control {
  height: auto;
  padding: 8px 10px;
  background: var(--m2-surface);
  border-color: #cedbe5;
  border-radius: var(--m2-radius-sm);
}

.m2-structure-page .m2-help {
  display: block;
  margin-top: 7px;
  color: var(--m2-gray-500);
  font-size: 12px;
}

.m2-structure-page .m2-btn-upload {
  margin-top: 14px;
  border-radius: var(--m2-radius-sm);
  padding: 9px 18px;
  font-weight: 700;
  box-shadow: none;
}

.m2-structure-page .m2-table-wrap {
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: var(--m2-surface);
}

.m2-structure-page .m2-table {
  margin-bottom: 0;
  font-size: 14px;
}

.m2-structure-page .m2-table thead th {
  border: 0;
  border-right: 1px solid rgba(255,255,255,0.16);
  background: var(--m2-blue-900);
  color: #ffffff;
  font-weight: 700;
  vertical-align: middle;
  padding: 12px 14px;
  white-space: nowrap;
}

.m2-structure-page .m2-table thead th:last-child {
  border-right: 0;
}

.m2-structure-page .m2-table tbody td {
  padding: 13px 14px;
  vertical-align: middle;
  border-top: 1px solid #e7edf3;
  color: var(--m2-gray-900);
  background: var(--m2-surface);
}

.m2-structure-page .m2-table tbody tr:nth-child(even) td {
  background: #f9fbfc;
}

.m2-structure-page .m2-table tbody tr:hover td {
  background: #f2f8f4;
}

.m2-structure-page .m2-preview-cell {
  width: 130px;
  min-width: 130px;
  text-align: center;
}

.m2-structure-page .m2-preview-cell img {
  max-width: 105px;
  max-height: 76px;
  border-radius: 6px;
  border: 1px solid var(--m2-gray-300);
  background: var(--m2-surface);
  padding: 3px;
}

.m2-structure-page .m2-file-name {
  font-weight: 600;
  color: #284860;
  word-break: break-word;
}

.m2-structure-page .m2-status {
  display: inline-block;
  min-width: 88px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  letter-spacing: 0.2px;
}

.m2-structure-page .m2-status-published {
  background: var(--m2-green-100);
  color: var(--m2-green-700);
}

.m2-structure-page .m2-status-draft {
  background: var(--m2-yellow-100);
  color: var(--m2-yellow-700);
}

.m2-structure-page .m2-status-archived {
  background: #eef1f4;
  color: var(--m2-gray-700);
}

.m2-structure-page .m2-status-default {
  background: #eaf1f8;
  color: #355a76;
}

.m2-structure-page .m2-action-form {
  display: inline-block;
  margin: 2px 4px 2px 0;
}

.m2-structure-page .m2-action-form .btn {
  border-radius: 6px;
  font-weight: 600;
}

.m2-structure-page .m2-empty-row {
  padding: 28px 14px !important;
  text-align: center;
  color: #8193a3 !important;
}

/* ==============================
   PUBLIC - STRUKTUR ORGANISASI
   ============================== */
.m2-public-structure-section {
  --m2-public-fixed-header-height: 99px;
  padding: calc(var(--m2-public-fixed-header-height) + 22px) 0 28px;
  background: #f7f9fb;
}

.m2-public-structure-layout {
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding-left: clamp(14px, 2.4vw, 34px);
  padding-right: clamp(14px, 2.4vw, 34px);
}

.m2-public-structure-content {
  width: 100%;
}

.m2-public-structure-title {
  margin: 0 0 12px;
  color: var(--m2-blue-800);
  font-size: clamp(21px, 2vw, 28px);
  font-weight: 700;
  line-height: 1.2;
}

.m2-public-structure-frame {
  width: 100%;
  padding: 0;
  background: var(--m2-surface);
  border: 1px solid #dfe7ee;
  border-radius: var(--m2-radius-lg);
  box-shadow: var(--m2-shadow-media);
  overflow: hidden;
}

.m2-structure-toolbar {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  padding: 7px 12px;
  background: #f8fafc;
  border-bottom: 1px solid #e5ebf0;
}

.m2-structure-toolbar-label {
  margin-right: 4px;
  color: #60788b;
  font-size: 12px;
  font-weight: 600;
}

.m2-zoom-button,
.m2-zoom-reset {
  min-width: 38px;
  height: 34px;
  padding: 0 10px;
  border: 1px solid #cbd8e2;
  border-radius: 8px;
  background: #ffffff;
  color: var(--m2-blue-800);
  font-size: 18px;
  font-weight: 700;
  line-height: 32px;
  text-align: center;
  cursor: pointer;
}

.m2-zoom-reset {
  min-width: 66px;
  font-size: 12px;
}

.m2-zoom-button:hover,
.m2-zoom-reset:hover,
.m2-zoom-button:focus,
.m2-zoom-reset:focus {
  border-color: var(--m2-blue-900);
  outline: none;
  box-shadow: 0 0 0 3px rgba(15, 76, 129, 0.12);
}

.m2-zoom-button:disabled {
  cursor: not-allowed;
  opacity: .45;
}

.m2-structure-viewport {
  width: 100%;
  max-height: calc(100vh - var(--m2-public-fixed-header-height) - 112px);
  overflow: auto;
  padding: clamp(8px, 1vw, 14px);
  background: #ffffff;
  overscroll-behavior: contain;
}

.m2-structure-canvas {
  min-width: 100%;
  min-height: 1px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.m2-public-structure-image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100vh - var(--m2-public-fixed-header-height) - 142px);
  margin: 0 auto;
  border-radius: 13px;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

/* ==============================
   SHARED POPUP / CONFIRM
   ============================== */
.m2-dialog-backdrop {
  position: fixed;
  inset: 0;
  z-index: 99990;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 20px;
  background: rgba(15, 35, 55, 0.46);
}

.m2-dialog-backdrop.is-open {
  display: flex;
}

.m2-dialog {
  width: min(100%, 440px);
  background: #ffffff;
  border-radius: 16px;
  box-shadow: 0 18px 50px rgba(10, 32, 50, 0.24);
  overflow: hidden;
  transform: translateY(6px);
  animation: m2DialogIn .16s ease-out forwards;
}

@keyframes m2DialogIn {
  to { transform: translateY(0); }
}

.m2-dialog-head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px 10px;
}

.m2-dialog-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  font-weight: 800;
  font-size: 20px;
}

.m2-dialog-title {
  margin: 0;
  color: var(--m2-blue-800);
  font-size: 19px;
  font-weight: 700;
}

.m2-dialog-body {
  padding: 4px 20px 18px;
  color: #52677a;
  font-size: 14px;
  line-height: 1.6;
}

.m2-dialog-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 20px 18px;
  background: #f8fafc;
  border-top: 1px solid #e7edf3;
}

.m2-dialog-button {
  min-width: 92px;
  border: 0;
  border-radius: 8px;
  padding: 9px 16px;
  font-weight: 700;
  cursor: pointer;
}

.m2-dialog-button-primary {
  background: var(--m2-blue-900);
  color: #ffffff;
}

.m2-dialog-button-secondary {
  border: 1px solid #b9c7d2;
  background: #ffffff;
  color: #4e6272;
}

.m2-dialog-success .m2-dialog-icon {
  background: var(--m2-green-100);
  color: var(--m2-green-700);
}

.m2-dialog-danger .m2-dialog-icon {
  background: #fde9e9;
  color: #a92d2d;
}

.m2-dialog-warning .m2-dialog-icon {
  background: var(--m2-yellow-100);
  color: var(--m2-yellow-700);
}

.m2-dialog-info .m2-dialog-icon {
  background: #eaf1f8;
  color: #355a76;
}

@media (max-width: 767.98px) {
  .m2-structure-page {
    padding-top: 18px;
  }

  .m2-structure-page .m2-page-head {
    display: block;
  }

  .m2-structure-page .m2-page-title {
    font-size: 22px;
  }

  .m2-structure-page .m2-card-body {
    padding: 15px;
  }

  .m2-structure-page .m2-card-body-table {
    padding: 0;
  }

  .m2-structure-page .m2-table {
    font-size: 13px;
  }

  .m2-public-structure-section {
    padding-top: calc(var(--m2-public-fixed-header-height) + 16px);
    padding-bottom: 22px;
  }

  .m2-public-structure-frame {
    border-radius: 14px;
  }

  .m2-structure-toolbar-label {
    display: none;
  }

  .m2-structure-viewport {
    max-height: calc(100vh - var(--m2-public-fixed-header-height) - 104px);
    padding: 8px;
  }

  .m2-public-structure-image {
    max-height: calc(100vh - var(--m2-public-fixed-header-height) - 134px);
    border-radius: 10px;
  }

  .m2-dialog-actions {
    flex-wrap: wrap;
  }

  .m2-dialog-button {
    flex: 1 1 auto;
  }
}

/* ==============================
   PUBLIC - TUGAS POKOK DAN FUNGSI
   V8 canonical redesign 2026-09-17
   ============================== */
.m2-tpdf-public-section {
  --m2-tpdf-blue-950: #063f73;
  --m2-tpdf-blue-900: #07558f;
  --m2-tpdf-blue-700: #1576b6;
  --m2-tpdf-border: #d7e3ec;
  --m2-tpdf-muted: #61788f;
  --m2-tpdf-gold: #d6a617;
  padding: 0 0 44px;
  background: #f4f8fb;
  color: #263d52;
}

.m2-tpdf-layout {
  width: min(100% - 80px, 1440px);
  margin: 0 auto;
}

.m2-tpdf-masthead {
  position: relative;
  overflow: hidden;
  min-height: 198px;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(5,72,127,.98) 0%, rgba(10,100,159,.97) 53%, rgba(21,132,194,.96) 100%);
}

.m2-tpdf-masthead::before,
.m2-tpdf-masthead::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.m2-tpdf-masthead::before {
  inset: -110px 42% -130px auto;
  width: 330px;
  border-left: 2px solid rgba(255,255,255,.17);
  border-radius: 50%;
  transform: rotate(17deg);
}

.m2-tpdf-masthead::after {
  right: -20px;
  bottom: -90px;
  width: 430px;
  height: 220px;
  border: 2px solid rgba(255,255,255,.07);
  border-radius: 55% 0 0 0;
  transform: skewX(-12deg);
}

.m2-tpdf-masthead-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  align-items: center;
  gap: 34px;
  min-height: 198px;
  padding-top: 18px;
  padding-bottom: 18px;
}

.m2-tpdf-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 9px;
  font-size: 13px;
  font-weight: 600;
}

.m2-tpdf-breadcrumb a,
.m2-tpdf-breadcrumb span {
  color: rgba(255,255,255,.94);
}

.m2-tpdf-breadcrumb a:hover,
.m2-tpdf-breadcrumb a:focus {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.m2-tpdf-title {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 3vw, 40px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -.018em;
}

.m2-tpdf-department {
  margin: 5px 0 0;
  color: #fff;
  font-size: clamp(17px, 1.55vw, 20px);
  line-height: 1.3;
}

.m2-tpdf-subtitle {
  max-width: 760px;
  margin: 10px 0 0;
  color: rgba(255,255,255,.94);
  font-size: 14px;
  line-height: 1.5;
}

.m2-tpdf-masthead-quote {
  justify-self: end;
  max-width: 300px;
  padding-right: 12px;
  color: rgba(255,255,255,.96);
  font-size: clamp(16px, 1.55vw, 20px);
  font-style: italic;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  transform: rotate(-2deg);
}

.m2-tpdf-masthead-quote span,
.m2-tpdf-masthead-quote strong {
  display: block;
}

.m2-tpdf-body {
  padding: 24px 0 0;
}

.m2-tpdf-document {
  overflow: hidden;
  border: 1px solid var(--m2-tpdf-border);
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(29,65,96,.075);
}

.m2-tpdf-document-accent {
  height: 3px;
  background: linear-gradient(90deg, var(--m2-tpdf-blue-900), #1694d0);
}

.m2-tpdf-document-main {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  padding: 26px 30px 20px;
}

.m2-tpdf-document-symbol {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-top: 2px;
  border-radius: 50%;
  background: #edf7fc;
  color: #126fa9;
}

.m2-tpdf-document-symbol svg {
  width: 36px;
  height: 36px;
}

.m2-tpdf-content.ikm-content {
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  overflow-wrap: anywhere;
  overflow-x: auto;
  background: transparent;
  color: #425d77;
  font-size: 15px;
  line-height: 1.62;
  scroll-margin-top: 118px;
}

.m2-tpdf-content.ikm-content > :first-child {
  margin-top: 0 !important;
}

.m2-tpdf-content.ikm-content > :last-child {
  margin-bottom: 0 !important;
}

.m2-tpdf-document-footer {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin: 0 30px;
  padding: 14px 0 18px;
  border-top: 1px solid #dfe8ef;
  background: #fff !important;
  color: #425d77;
  isolation: isolate;
}

.m2-tpdf-document-actions {
  display: flex;
  align-items: center;
}

.m2-tpdf-document-actions-empty {
  min-height: 1px;
}

.m2-tpdf-entry-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  padding: 0 18px;
  border-radius: 22px;
  background: var(--m2-tpdf-gold);
  color: #fff !important;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 4px 12px rgba(178,132,10,.18);
  transition: background-color .16s ease, transform .16s ease, box-shadow .16s ease;
}

.m2-tpdf-entry-action:hover,
.m2-tpdf-entry-action:focus {
  background: #bf9010;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 15px rgba(178,132,10,.22);
}

.m2-tpdf-entry-action svg {
  width: 18px;
  height: 18px;
}

.m2-tpdf-action-arrow {
  margin-left: 4px;
  font-size: 21px;
  font-weight: 400;
  line-height: 1;
}

.m2-tpdf-document-meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  color: #71869a;
  font-size: 12.75px;
}

.m2-tpdf-meta-clock {
  display: inline-flex;
}

.m2-tpdf-meta-clock svg {
  width: 16px;
  height: 16px;
}

.m2-tpdf-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 170px;
  padding: 28px;
  border: 1px dashed #c9d7e1;
  border-radius: 10px;
  background: #fafcfd;
  color: #60778b;
  text-align: center;
}

.m2-tpdf-empty strong {
  margin-bottom: 5px;
  color: var(--m2-tpdf-blue-950);
}

@media (max-width: 1100px) {
  .m2-tpdf-layout {
    width: min(100% - 40px, 1440px);
  }
}

@media (max-width: 900px) {
  .m2-tpdf-masthead-inner {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .m2-tpdf-masthead-quote {
    display: none;
  }
}

@media (max-width: 767.98px) {
  .m2-tpdf-public-section {
    padding-bottom: 30px;
  }
  .m2-tpdf-layout {
    width: min(100% - 24px, 1440px);
  }
  .m2-tpdf-masthead,
  .m2-tpdf-masthead-inner {
    min-height: 0;
  }
  .m2-tpdf-masthead-inner {
    padding-top: 18px;
    padding-bottom: 20px;
  }
  .m2-tpdf-breadcrumb {
    gap: 7px;
    margin-bottom: 8px;
    font-size: 12px;
  }
  .m2-tpdf-title {
    font-size: 28px;
  }
  .m2-tpdf-department {
    font-size: 17px;
  }
  .m2-tpdf-subtitle {
    font-size: 13.25px;
  }
  .m2-tpdf-body {
    padding-top: 18px;
  }
  .m2-tpdf-document-main {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 20px 18px 16px;
  }
  .m2-tpdf-document-symbol {
    width: 50px;
    height: 50px;
    margin-top: 0;
  }
  .m2-tpdf-document-symbol svg {
    width: 30px;
    height: 30px;
  }
  .m2-tpdf-content.ikm-content {
    font-size: 14px;
    line-height: 1.58;
  }
  .m2-tpdf-document-footer {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    margin: 0 18px;
    padding-bottom: 18px;
  }
  .m2-tpdf-entry-action {
    width: 100%;
    border-radius: 7px;
  }
  .m2-tpdf-document-meta {
    justify-content: flex-start;
  }
}

@media print {
  .m2-tpdf-public-section {
    padding: 0;
    background: #fff;
  }
  .m2-tpdf-masthead,
  .m2-tpdf-document-actions {
    display: none;
  }
  .m2-tpdf-body {
    padding: 0;
  }
  .m2-tpdf-document {
    border: 0;
    box-shadow: none;
  }
  .m2-tpdf-document-main {
    display: block;
    padding: 0;
  }
  .m2-tpdf-document-symbol {
    display: none;
  }
  .m2-tpdf-document-footer {
    margin: 0;
  }
}

/* ==========================================================
 * Modul 2 / IKMEditor v1.7.0 Ã¢â‚¬â€ PUBLIC FIDELITY CONTRACT
 * The public card may style its chrome, but must not restyle the
 * rich-content typography produced by IKMEditor.
 * ========================================================== */
.m2-tpdf-content.ikm-content{
  color:#1f2937;
  font-family:Arial,Calibri,sans-serif;
  font-size:15px;
  line-height:1.4;
  padding:30px clamp(24px,4vw,50px) 40px;
}
.m2-tpdf-content.ikm-content p{margin:0 0 8px;line-height:inherit}
.m2-tpdf-content.ikm-content h1,.m2-tpdf-content.ikm-content h2,.m2-tpdf-content.ikm-content h3,.m2-tpdf-content.ikm-content h4,.m2-tpdf-content.ikm-content h5,.m2-tpdf-content.ikm-content h6{color:inherit;line-height:1.3;border:0;padding:0}
.m2-tpdf-content.ikm-content h1{font-size:2em;margin:.67em 0}.m2-tpdf-content.ikm-content h2{font-size:1.5em;margin:.83em 0}.m2-tpdf-content.ikm-content h3{font-size:1.17em;margin:1em 0}.m2-tpdf-content.ikm-content h4,.m2-tpdf-content.ikm-content h5,.m2-tpdf-content.ikm-content h6{font-size:1em;margin:1.1em 0 .6em}
.m2-tpdf-content.ikm-content ul,.m2-tpdf-content.ikm-content ol{margin:4px 0 8px 0;padding-left:1.55em;font:inherit;color:inherit}
.m2-tpdf-content.ikm-content li{margin:2px 0;padding-left:.15em;line-height:inherit;font-family:inherit;font-size:inherit;color:inherit}
.m2-tpdf-content.ikm-content strong,.m2-tpdf-content.ikm-content b{color:inherit;font-weight:bold}
.m2-tpdf-content.ikm-content blockquote{color:inherit}
.m2-tpdf-content.ikm-content img{max-width:100%;height:auto}
.m2-tpdf-content.ikm-content figure.ikme-image-figure img{width:100%;margin:0;border-radius:0}
.m2-tpdf-content.ikm-content table{width:auto!important;max-width:100%;table-layout:auto;margin:8px 0;border-collapse:collapse;background:#fff;font-size:inherit}
.m2-tpdf-content.ikm-content table.ikme-table-window{width:100%!important;table-layout:fixed!important}
.m2-tpdf-content.ikm-content table.ikme-table-fixed{table-layout:fixed!important}
.m2-tpdf-content.ikm-content table.ikme-table-autofit-content{width:auto!important;table-layout:auto!important}
.m2-tpdf-content.ikm-content table th,.m2-tpdf-content.ikm-content table td{padding:3px 5px;border:1px solid #aeb8c6;text-align:inherit;vertical-align:top;min-width:42px;height:24px;overflow-wrap:anywhere;white-space:normal}
.m2-tpdf-content.ikm-content table th{background:transparent;color:inherit;font-weight:bold}
.m2-tpdf-content.ikm-content .ikme-list-dash>li::marker{content:"Ã¢â‚¬â€œ  ";font:inherit;color:inherit}


/* IKMEditor v1.7.1 Ã¢â‚¬â€ public renderer must preserve editor document margin/wrap contract */
.m2-tpdf-content.ikm-content .ikme-document-body{width:100%;max-width:100%;box-sizing:border-box;overflow-wrap:anywhere;word-break:normal;white-space:normal}
.m2-tpdf-content.ikm-content .ikme-document-body p{overflow:visible;max-width:100%}
.m2-tpdf-content.ikm-content .ikme-document-body table{max-width:100%!important}
.m2-tpdf-content.ikm-content .ikme-document-body td,.m2-tpdf-content.ikm-content .ikme-document-body th{overflow-wrap:anywhere!important;word-break:break-word!important;white-space:normal!important;min-width:0}

/* IKMEditor v1.8.1 import/public fidelity: imported content remains constrained to public content width. */

@media (max-width:767.98px){
  .m2-tpdf-content.ikm-content table,
  .m2-tpdf-content.ikm-content table.ikme-table-window,
  .m2-tpdf-content.ikm-content table.ikme-table-fixed,
  .m2-tpdf-content.ikm-content table.ikme-table-autofit-content{
    min-width:0!important;
    max-width:100%!important;
  }
}


/* IKMEditor v1.9.1 publication workflow */
.ikme-workflow-bar-v191{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:12px;padding:12px 14px;border:1px solid #dbe3ec;border-radius:8px;background:#fff;box-shadow:0 2px 8px rgba(20,48,77,.05)}
.ikme-workflow-status-v191{color:#44566c;font-size:12px}.ikme-workflow-actions-v191{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ikme-workflow-actions-v191 form{margin:0}.ikme-workflow-actions-v191 .btn{min-height:38px;display:inline-flex;align-items:center;gap:6px;justify-content:center;border-radius:6px;font-weight:700}.ikm-btn-public-preview{border:1px solid #0f6cbd!important;color:#0f6cbd!important;background:#fff!important}.ikm-btn-public-preview:hover{background:#edf6ff!important;color:#084f8c!important}
@media(max-width:700px){.ikme-workflow-bar-v191{align-items:stretch}.ikme-workflow-status-v191{width:100%}.ikme-workflow-actions-v191{width:100%;display:grid;grid-template-columns:1fr}.ikme-workflow-actions-v191 form,.ikme-workflow-actions-v191 .btn{width:100%}}
/* IKM-PROFILE-BANNER-UNIVERSAL-R3.1
 * Canonical universal banner for public Profile pages.
 *
 * Scope:
 * - Tentang BPI
 * - Tugas & Fungsi
 * - Struktur Organisasi
 * - Pegawai
 *
 * R3.1 is a finishing pass only:
 * - desktop banner geometry remains 86px (NOT enlarged);
 * - typography and vertical rhythm are rebalanced;
 * - banner colors inherit the Universal Website Theme selected from the public footer;
 * - page-specific content, quote text, Pegawai 5x2 grid and infographic remain untouched.
 */

/* ---------- theme bridge: footer-selected universal theme ---------- */
.m2-tpdf-masthead,
.ikm-pegawai-v63 .ikm-pegawai-hero {
  --m2-profile-theme-dark: var(--ikm-navy, #063f73);
  --m2-profile-theme-mid: var(--ikm-navy-2, #07558f);
  --m2-profile-theme-light: var(--ikm-blue, #1576b6);
  --m2-profile-theme-accent: var(--ikm-gold, #d6a617);
  --m2-profile-theme-on: var(--ikm-white, #ffffff);

  min-height: 86px;
  color: var(--m2-profile-theme-on);
  background:
    linear-gradient(
      90deg,
      var(--m2-profile-theme-dark) 0%,
      var(--m2-profile-theme-mid) 54%,
      var(--m2-profile-theme-light) 100%
    );
  transition: background-color .18s ease, color .18s ease;
}

/* Keep the existing decorative geometry, but tint it from the active theme. */
.m2-tpdf-masthead::before {
  border-left-color: rgba(255,255,255,.17);
}

.m2-tpdf-masthead::after {
  border-color: rgba(255,255,255,.07);
}

/* ---------- universal compact geometry: height unchanged ---------- */
.m2-tpdf-masthead-inner {
  min-height: 86px;
  grid-template-columns: minmax(0, 1.62fr) minmax(190px, .38fr);
  align-items: center;
  gap: clamp(16px, 1.8vw, 26px);
  padding-top: 5px;
  padding-bottom: 5px;
}

.ikm-pegawai-v63 .ikm-pegawai-hero {
  padding: 5px 28px;
}

.ikm-pegawai-v63 .ikm-pegawai-hero-content {
  max-width: 760px;
}

/* ---------- breadcrumb: slightly clearer and less cramped ---------- */
.m2-tpdf-breadcrumb,
.ikm-pegawai-v63 .ikm-pegawai-breadcrumb {
  gap: 7px;
  margin-bottom: 4px;
  font-size: 10.75px;
  font-weight: 600;
  line-height: 1.28;
}

.m2-tpdf-breadcrumb a,
.m2-tpdf-breadcrumb span,
.ikm-pegawai-v63 .ikm-pegawai-breadcrumb,
.ikm-pegawai-v63 .ikm-pegawai-breadcrumb a,
.ikm-pegawai-v63 .ikm-pegawai-breadcrumb span {
  color: rgba(255,255,255,.92);
}

.m2-tpdf-breadcrumb a:hover,
.m2-tpdf-breadcrumb a:focus,
.ikm-pegawai-v63 .ikm-pegawai-breadcrumb a:hover,
.ikm-pegawai-v63 .ikm-pegawai-breadcrumb a:focus {
  color: #ffffff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* ---------- title ---------- */
.m2-tpdf-title,
.ikm-pegawai-v63 .ikm-pegawai-hero h1 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(21px, 1.5vw, 24px);
  font-weight: 800;
  line-height: 1.10;
  letter-spacing: -.006em;
}

/* ---------- department / secondary heading ---------- */
.m2-tpdf-department,
.ikm-pegawai-v63 .ikm-pegawai-hero h2 {
  color: rgba(255,255,255,.98);
  font-size: clamp(12.75px, .95vw, 13.75px);
  font-weight: 700;
  line-height: 1.24;
}

.m2-tpdf-department {
  margin-top: 4px;
}

.ikm-pegawai-v63 .ikm-pegawai-hero h2 {
  margin: 4px 0 5px;
}

/* ---------- description ---------- */
.m2-tpdf-subtitle,
.ikm-pegawai-v63 .ikm-pegawai-hero p {
  color: rgba(255,255,255,.90);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.38;
}

.m2-tpdf-subtitle {
  max-width: 820px;
  margin-top: 5px;
}

.ikm-pegawai-v63 .ikm-pegawai-hero p {
  max-width: 760px;
  margin-top: 0;
}

/* ---------- quote ---------- */
.m2-tpdf-masthead-quote,
.ikm-pegawai-v63 .ikm-pegawai-hero-quote {
  color: rgba(255,255,255,.96);
  font-size: clamp(12.25px, .95vw, 13.75px);
  line-height: 1.36;
}

.m2-tpdf-masthead-quote {
  max-width: 230px;
  padding-right: 5px;
  transform: rotate(-1.2deg);
}

.ikm-pegawai-v63 .ikm-pegawai-hero-quote {
  right: 24px;
  max-width: 220px;
  transform: translateY(-50%) rotate(-1.6deg);
}

/* Accent is theme-aware without becoming a dominant text color. */
.m2-tpdf-title::selection,
.m2-tpdf-department::selection,
.m2-tpdf-subtitle::selection,
.ikm-pegawai-v63 .ikm-pegawai-hero h1::selection,
.ikm-pegawai-v63 .ikm-pegawai-hero h2::selection,
.ikm-pegawai-v63 .ikm-pegawai-hero p::selection {
  background: var(--m2-profile-theme-accent);
  color: var(--m2-profile-theme-dark);
}

/* ---------- profile content separation ---------- */
.m2-tpdf-body,
.m2-profile-structure-with-hero {
  padding-top: 16px;
}

/* ---------- responsive ---------- */
@media (max-width: 900px) {
  .m2-tpdf-masthead,
  .m2-tpdf-masthead-inner,
  .ikm-pegawai-v63 .ikm-pegawai-hero {
    min-height: 0;
  }

  .m2-tpdf-masthead-inner {
    grid-template-columns: 1fr;
    gap: 5px;
    padding-top: 9px;
    padding-bottom: 10px;
  }

  .m2-tpdf-masthead-quote,
  .ikm-pegawai-v63 .ikm-pegawai-hero-quote {
    display: none;
  }

  .ikm-pegawai-v63 .ikm-pegawai-hero {
    padding-top: 9px;
    padding-bottom: 10px;
  }
}

@media (max-width: 767.98px) {
  .m2-tpdf-title,
  .ikm-pegawai-v63 .ikm-pegawai-hero h1 {
    font-size: 20px;
    line-height: 1.14;
  }

  .m2-tpdf-department,
  .ikm-pegawai-v63 .ikm-pegawai-hero h2 {
    font-size: 12.5px;
    line-height: 1.26;
  }

  .m2-tpdf-subtitle,
  .ikm-pegawai-v63 .ikm-pegawai-hero p {
    font-size: 10.5px;
    line-height: 1.36;
  }

  .m2-tpdf-breadcrumb,
  .ikm-pegawai-v63 .ikm-pegawai-breadcrumb {
    font-size: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .m2-tpdf-masthead,
  .ikm-pegawai-v63 .ikm-pegawai-hero {
    transition: none;
  }
}
