/*
Theme Name: Portal PPID
Theme URI: https://ms-aceh.go.id
Author: -
Description: Tema WordPress mandiri untuk Portal PPID (Pejabat Pengelola Informasi dan Dokumentasi), dengan Berita yang otomatis diambil dari kategori "Berita" di ms-aceh.go.id lewat REST API. Kelola Layanan, Tab Profil, Permohonan & Keberatan, dan Pengaturan lewat menu admin.
Version: 1.0.0
Requires at least: 5.9
Requires PHP: 7.4
Text Domain: portal-ppid-theme
*/


.ppid-portal-wrap {
  --ppid-primary: #0f766e;
  --ppid-primary-dark: #115e59;
  --ppid-accent: #f59e0b;
  --ppid-bg: #f5f7f8;
  --ppid-surface: #ffffff;
  --ppid-text: #1f2937;
  --ppid-muted: #6b7280;
  --ppid-border: #dbe4e6;
  --ppid-shadow: 0 12px 30px rgba(15, 118, 110, 0.08);

  font-family: Arial, Helvetica, sans-serif;
  background: var(--ppid-bg);
  color: var(--ppid-text);
  line-height: 1.6;
  display: block;
}
.ppid-portal-wrap.ppid-dark {
  --ppid-bg: #0f172a;
  --ppid-surface: #111827;
  --ppid-text: #f3f4f6;
  --ppid-muted: #cbd5e1;
  --ppid-border: #334155;
}
.ppid-portal-wrap *, .ppid-portal-wrap *::before, .ppid-portal-wrap *::after { box-sizing: border-box; }
:where(.ppid-portal-wrap) a { color: inherit; text-decoration: none; }

/* Link di dalam isi konten halaman (Page/Post) tetap berwarna, bukan ikut hitam polos */
.ppid-page-content a,
.ppid-profil-content a {
  color: var(--ppid-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ppid-page-content a:hover,
.ppid-profil-content a:hover {
  color: var(--ppid-primary-dark);
}
.ppid-page-content table { border-collapse: collapse; width: 100%; margin: 16px 0; }
.ppid-page-content table th, .ppid-page-content table td { border: 1px solid var(--ppid-border); padding: 10px 14px; text-align: left; }
.ppid-page-content table th { background: var(--ppid-bg); font-weight: 700; }

/* Reset kuat: cegah CSS tema aktif membentur layout plugin (float/width warisan tema, dsb) */
.ppid-portal-wrap, .ppid-portal-wrap * { float: none !important; }
.ppid-portal-wrap { width: 100% !important; max-width: none !important; margin: 0 !important; }
.ppid-container { width: min(1180px, calc(100% - 32px)) !important; max-width: min(1180px, calc(100% - 32px)) !important; margin: 0 auto !important; }
.ppid-grid { display: grid !important; }
.ppid-cards-5 { grid-template-columns: repeat(5, 1fr) !important; }
.ppid-cards-4 { grid-template-columns: repeat(4, 1fr) !important; }
.ppid-cards-3 { grid-template-columns: repeat(3, 1fr) !important; }
.ppid-cards-2 { grid-template-columns: repeat(2, 1fr) !important; }
.ppid-news-list { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; }
.ppid-video-grid { display: grid !important; grid-template-columns: repeat(2, 1fr) !important; }
.ppid-cta-grid { display: grid !important; grid-template-columns: 1.1fr .9fr !important; }
.ppid-hero-grid { display: grid !important; grid-template-columns: 1.35fr .85fr !important; }
.ppid-footer-grid { display: grid !important; grid-template-columns: 1.2fr .8fr .8fr !important; }
.ppid-card { width: auto !important; }
@media (max-width: 1100px) {
  .ppid-cards-5, .ppid-cards-4, .ppid-news-list { grid-template-columns: repeat(2, 1fr) !important; }
  .ppid-hero-grid, .ppid-cta-grid, .ppid-footer-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 800px) {
  .ppid-nav-links, .ppid-cards-3, .ppid-cards-2, .ppid-news-list, .ppid-video-grid { grid-template-columns: 1fr !important; }
}
.ppid-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.ppid-topbar { background: linear-gradient(90deg, var(--ppid-primary-dark), var(--ppid-primary)); color: #fff; font-size: 14px; }
.ppid-topbar .ppid-container, .ppid-navbar .ppid-nav-wrap, .ppid-hero .ppid-hero-grid, .ppid-footer .ppid-footer-grid {
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
}
.ppid-topbar .ppid-container { padding: 10px 0; flex-wrap: wrap; }
.ppid-topbar-social, .ppid-topbar-contact { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.ppid-topbar-social a { color: #fff; text-decoration: none; opacity: .9; font-weight: 600; }
.ppid-topbar-social a:hover { opacity: 1; text-decoration: underline; }
.ppid-topbar-contact span { white-space: nowrap; }
.ppid-video-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.ppid-video-card iframe { width: 100%; height: 280px; border: 0; display: block; }
.ppid-footer-social { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.ppid-footer-social a { font-size: 13px; opacity: .9; }
.ppid-footer-social a:hover { opacity: 1; }
.ppid-navbar { position: sticky; top: 0; z-index: 40; background: #ffffff; border-bottom: 1px solid var(--ppid-border); }
.ppid-navbar .ppid-nav-wrap { flex-direction: column; align-items: stretch; justify-content: flex-start; padding: 14px 0 10px; gap: 10px; }
.ppid-menu { list-style: none; display: flex; align-items: center; gap: 4px; margin: 0; padding: 8px 0 0; flex-wrap: wrap; width: 100%; border-top: 1px solid var(--ppid-border); }
.ppid-menu > li { flex: 0 0 auto; }
.ppid-menu > li > a { white-space: nowrap; }
.ppid-menu li { position: relative; }
.ppid-menu > li > a { display: block; padding: 8px 12px; color: var(--ppid-text); text-decoration: none; font-weight: 700; font-size: 14px; border-radius: 8px; }
.ppid-menu > li > a:hover { background: rgba(15,118,110,.08); color: var(--ppid-primary-dark); }
.ppid-menu .sub-menu { list-style: none; margin: 0; padding: 8px 0; position: absolute; top: 100%; left: 0; background: var(--ppid-surface); border: 1px solid var(--ppid-border); border-radius: 12px; box-shadow: var(--ppid-shadow); min-width: 260px; display: none; z-index: 60; }
.ppid-menu li:hover > .sub-menu, .ppid-menu li:focus-within > .sub-menu, .ppid-menu li.ppid-submenu-open > .sub-menu { display: block; }
.ppid-menu .sub-menu li a { display: block; padding: 9px 16px; font-weight: 500; font-size: 13.5px; white-space: normal; color: var(--ppid-text); border-radius: 0; }
.ppid-menu .sub-menu li a:hover { background: rgba(15,118,110,.08); color: var(--ppid-primary-dark); }

/* Link menu aktif (halaman yang sedang dibuka) - warna khusus merah */
.ppid-menu > li.current-menu-item > a,
.ppid-menu > li.current-menu-ancestor > a,
.ppid-menu > li.current_page_item > a,
.ppid-menu > li.current_page_ancestor > a {
  color: #dc2626;
  background: rgba(220,38,38,.08);
}
.ppid-menu > li.current-menu-item > a:hover,
.ppid-menu > li.current-menu-ancestor > a:hover,
.ppid-menu > li.current_page_item > a:hover,
.ppid-menu > li.current_page_ancestor > a:hover {
  color: #b91c1c;
  background: rgba(220,38,38,.12);
}
.ppid-menu .sub-menu li.current-menu-item > a,
.ppid-menu .sub-menu li.current_page_item > a {
  color: #dc2626;
  font-weight: 700;
  background: rgba(220,38,38,.06);
}
.ppid-brand { display: flex; align-items: center; gap: 14px; min-width: 0; flex-shrink: 1; color: inherit; text-decoration: none; }
.ppid-brand:visited, .ppid-brand:hover, .ppid-brand:active { color: inherit; }
.ppid-brand-badge { width: 50px; height: 50px; border-radius: 14px; background: linear-gradient(145deg, var(--ppid-primary), var(--ppid-primary-dark)); color: #fff; display: grid; place-items: center; font-size: 20px; font-weight: 800; flex-shrink: 0; }
.ppid-brand-badge.ppid-has-logo { background: none; }
.ppid-brand > div { min-width: 0; }
.ppid-brand h1 { margin: 0; font-size: 17px; line-height: 1.3; }
.ppid-brand p { margin: 2px 0 0; color: var(--ppid-muted); font-size: 12.5px; line-height: 1.4; }
.ppid-nav-links { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.ppid-nav-links a { color: var(--ppid-text); text-decoration: none; font-weight: 700; font-size: 14px; }
.ppid-btn { display: inline-block; padding: 12px 18px; border-radius: 12px; text-decoration: none; font-weight: 700; border: 1px solid transparent; transition: .2s ease; cursor: pointer; font-size: 14px; }
.ppid-btn:hover { transform: translateY(-1px); }
.ppid-btn-primary { background: var(--ppid-primary); color: #fff; }
.ppid-btn-secondary { background: #fff; color: var(--ppid-primary); border-color: var(--ppid-primary); }
.ppid-hero { background: linear-gradient(rgba(15,118,110,.68), rgba(15,118,110,.64)) center/cover no-repeat; color: #fff; padding: 72px 0 64px; background-color: var(--ppid-primary); }
.ppid-hero-grid { display: grid; grid-template-columns: 1.35fr .85fr; gap: 28px; align-items: center; }
.ppid-hero h2 { margin: 0 0 18px; font-size: 42px; line-height: 1.1; }
.ppid-hero p { margin: 0 0 24px; font-size: 17px; max-width: 760px; }
.ppid-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.ppid-hero-panel { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 22px; padding: 24px; backdrop-filter: blur(10px); }
.ppid-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 18px; }
.ppid-stat { background: rgba(255,255,255,.12); border-radius: 16px; padding: 16px; border: 1px solid rgba(255,255,255,.18); }
.ppid-stat strong { display: block; font-size: 26px; }
.ppid-section { padding: 56px 0; }
.ppid-grid { display: grid; gap: 20px; }
.ppid-cards-5 { grid-template-columns: repeat(5, 1fr); }
.ppid-cards-4 { grid-template-columns: repeat(4, 1fr); }
.ppid-cards-3 { grid-template-columns: repeat(3, 1fr); }
.ppid-cards-2 { grid-template-columns: repeat(2, 1fr); }
.ppid-card { background: var(--ppid-surface); border: 1px solid var(--ppid-border); border-radius: 18px; box-shadow: var(--ppid-shadow); overflow: hidden; }
.ppid-icon-card { padding: 26px 20px; text-align: center; }
a.ppid-icon-card { display: block; text-decoration: none; color: inherit; transition: transform .15s ease, box-shadow .15s ease; }
a.ppid-icon-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px rgba(15,118,110,.16); }
.ppid-icon-card-more { display: inline-block; margin-top: 10px; color: var(--ppid-primary); font-weight: 700; font-size: 13px; }
.ppid-icon-box { width: 68px; height: 68px; margin: 0 auto 14px; border-radius: 18px; display: grid; place-items: center; background: linear-gradient(145deg, #d1fae5, #ecfeff); font-size: 30px; }
.ppid-icon-card h3, .ppid-news-card h3, .ppid-mini-card h3 { margin: 0 0 8px; font-size: 20px; }
.ppid-icon-card p, .ppid-news-card p, .ppid-mini-card p { margin: 0; color: var(--ppid-muted); }
.ppid-section-title { margin: 0 0 10px; font-size: 30px; }
.ppid-section-subtitle { margin: 0 0 24px; color: var(--ppid-muted); }
.ppid-news-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.ppid-news-card img { width: 100%; height: 200px; object-fit: cover; display: block; }
.ppid-content { padding: 20px; }
.ppid-news-meta { color: var(--ppid-accent); font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.ppid-news-thumb-link { display: block; }
.ppid-news-card h3 a { color: inherit; text-decoration: none; }
.ppid-news-card h3 a:hover { color: var(--ppid-primary); text-decoration: underline; }
.ppid-news-readmore { display: inline-block; margin-top: 10px; color: var(--ppid-primary); font-weight: 700; font-size: 13.5px; text-decoration: none; }
.ppid-news-readmore:hover { text-decoration: underline; }
.ppid-berita-skeleton-msg { color: var(--ppid-muted); font-style: italic; grid-column: 1 / -1; }
.ppid-badge { display: inline-flex; align-items: center; gap: 8px; background: #ecfeff; color: var(--ppid-primary-dark); border: 1px solid #a5f3fc; padding: 8px 12px; border-radius: 999px; font-weight: 700; font-size: 13px; margin-bottom: 14px; }
.ppid-cta-grid { display: grid; grid-template-columns: 1.1fr .9fr; align-items: stretch; gap: 22px; }
.ppid-cta-panel { background: linear-gradient(135deg, var(--ppid-primary-dark), var(--ppid-primary)); color: white; border-radius: 24px; padding: 28px; box-shadow: var(--ppid-shadow); }
.ppid-cta-panel h3 { margin-top: 0; font-size: 26px; }
.ppid-login-gate { padding: 40px 30px; text-align: center; max-width: 560px; margin: 0 auto; }
.ppid-login-gate h3 { margin: 0 0 10px; font-size: 22px; }
.ppid-login-gate p { color: var(--ppid-muted); margin: 0 0 20px; }
.ppid-calendar-card { padding: 20px; }
.ppid-calendar { width: 100%; border-collapse: collapse; font-size: 14px; background: var(--ppid-surface); }
.ppid-calendar th, .ppid-calendar td { border: 1px solid var(--ppid-border); padding: 10px; text-align: center; }
.ppid-today { background: #ccfbf1; color: var(--ppid-primary-dark); font-weight: 800; }
.ppid-form-card .ppid-mini-card { padding: 20px; }
.ppid-form-card form { display: grid; gap: 14px; }
.ppid-field { display: grid; gap: 8px; }
.ppid-field input, .ppid-field textarea, .ppid-field select { width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--ppid-border); background: var(--ppid-surface); color: var(--ppid-text); font: inherit; }
.ppid-field textarea { min-height: 120px; resize: vertical; }
.ppid-field-hint { display: block; margin-top: 6px; color: var(--ppid-muted); font-size: 12px; }
.ppid-radio-group { display: flex; gap: 20px; flex-wrap: wrap; }
.ppid-radio-option { display: flex; align-items: center; gap: 8px; font-weight: 500; cursor: pointer; }
.ppid-radio-option input[type="radio"] { width: 16px; height: 16px; accent-color: var(--ppid-primary); cursor: pointer; }
.ppid-field .g-recaptcha { max-width: 100%; }
.ppid-field .g-recaptcha > div { transform: scale(0.87); transform-origin: 0 0; }
.ppid-mini-card { padding: 20px; }
.ppid-contact-card { padding: 20px; }
.ppid-maps-link-card { display: flex; align-items: center; gap: 16px; padding: 22px; border-radius: 16px; background: rgba(15,118,110,.06); border: 1px solid rgba(15,118,110,.18); text-decoration: none; color: var(--ppid-text); transition: background .15s ease; }
.ppid-maps-link-card:hover { background: rgba(15,118,110,.12); }
.ppid-maps-link-icon { font-size: 32px; line-height: 1; }
.ppid-maps-link-card strong { display: block; font-size: 16px; color: var(--ppid-primary-dark); }
.ppid-maps-link-card small { display: block; margin-top: 4px; color: var(--ppid-muted); font-size: 13px; }
.ppid-contact-list { display: grid; gap: 14px; }
.ppid-contact-item { padding: 14px 16px; border-radius: 14px; background: rgba(15,118,110,.05); border: 1px solid rgba(15,118,110,.12); }
.ppid-footer { background: #0b3e3a; color: #e5fffb; padding: 34px 0; margin-top: 20px; }
.ppid-footer-grid { grid-template-columns: 1.2fr .8fr .8fr; align-items: start; }
.ppid-footer a { color: #e5fffb; text-decoration: none; }
.ppid-toolbar { position: fixed; right: 16px; bottom: 16px; z-index: 50; display: flex; flex-direction: column; gap: 10px; }
.ppid-tool-btn { border: none; border-radius: 999px; padding: 12px 14px; background: var(--ppid-primary); color: white; cursor: pointer; box-shadow: var(--ppid-shadow); }
.ppid-tool-btn.ppid-voice-active { background: var(--ppid-accent); animation: ppid-pulse 1.6s ease-in-out infinite; }
@keyframes ppid-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(245,158,11,.5); } 50% { box-shadow: 0 0 0 8px rgba(245,158,11,0); } }

/* Sidebar tab Profil (Sejarah/Visi Misi/Tugas Fungsi/Struktur/Wilayah) - mandiri, bisa dipakai di halaman Page biasa */
.ppid-profil-tabs { display: grid; grid-template-columns: 280px 1fr; gap: 22px; margin: 20px 0; font-family: Arial, Helvetica, sans-serif; }
.ppid-profil-sidebar { display: flex; flex-direction: column; gap: 8px; }
.ppid-profil-tab-btn { display: flex; align-items: center; gap: 10px; text-align: left; width: 100%; padding: 14px 16px; border: none; border-radius: 10px; background: #eef6f5; color: #0f172a; font-weight: 600; font-size: 14px; cursor: pointer; transition: background .15s ease, color .15s ease; }
.ppid-profil-tab-btn:hover { background: #d7ece9; }
.ppid-profil-tab-btn.active { background: #0f766e; color: #fff; }
.ppid-profil-tab-icon { font-size: 18px; line-height: 1; }
.ppid-profil-content { background: #fff; border: 1px solid #dbe4e6; border-radius: 14px; padding: 26px; line-height: 1.7; color: #1f2937; }
.ppid-profil-panel { display: none; }
.ppid-profil-panel.active { display: block; }
@media (max-width: 800px) {
  .ppid-profil-tabs { grid-template-columns: 1fr; }
}

@media (max-width: 1100px) {
  .ppid-cards-5, .ppid-cards-4, .ppid-news-list { grid-template-columns: repeat(2, 1fr); }
  .ppid-hero-grid, .ppid-cta-grid, .ppid-footer-grid { grid-template-columns: 1fr; }
}
@media (max-width: 800px) {
  .ppid-section-title { font-size: 24px; }
  .ppid-hero { padding: 48px 0 44px; }
  .ppid-hero h2 { font-size: 30px; }
  .ppid-cards-3, .ppid-cards-2, .ppid-news-list { grid-template-columns: 1fr; }
  .ppid-video-grid { grid-template-columns: 1fr; }
  .ppid-cards-5, .ppid-stats { grid-template-columns: 1fr; }
  .ppid-navbar .ppid-nav-wrap, .ppid-topbar .ppid-container { align-items: flex-start; }
  .ppid-nav-wrap { flex-direction: column; }

  /* Tombol hamburger */
  .ppid-mobile-toggle { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; border: none; background: transparent; cursor: pointer; padding: 0; margin: 4px 0; }
  .ppid-mobile-toggle span { display: block; height: 3px; width: 100%; background: var(--ppid-primary-dark); border-radius: 2px; transition: transform .2s ease, opacity .2s ease; }
  .ppid-mobile-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .ppid-mobile-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .ppid-mobile-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  /* Menu utama tersembunyi sampai hamburger diklik */
  .ppid-nav-links { display: none; width: 100%; }
  .ppid-nav-links.ppid-mobile-open { display: block; }
  .ppid-menu { flex-direction: column; align-items: flex-start; width: 100%; }
  .ppid-menu > li { width: 100%; }
  .ppid-menu > li > a { width: 100%; }

  /* Submenu tersembunyi default, dibuka lewat tap (bukan selalu terbuka) */
  .ppid-menu .sub-menu { position: static; display: none; box-shadow: none; border: none; padding-left: 14px; min-width: 0; width: 100%; }
  .ppid-menu li.ppid-submenu-open > .sub-menu { display: block; }
}

@media (min-width: 801px) {
  .ppid-mobile-toggle { display: none; }
}

/* Progress bar baca - independen, muncul di semua halaman portal */
#ppid-progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 4px;
  width: 0%;
  background: linear-gradient(90deg, #0f766e, #14b8a6);
  z-index: 99999;
  transition: width 0.1s linear;
  pointer-events: none;
}

/* Layar loading (preloader) - tampil sebentar sebelum halaman siap, mencegah blank putih */
#ppid-preloader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  background: linear-gradient(135deg, #115e59, #0f766e);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: opacity .4s ease, visibility .4s ease;
}
#ppid-preloader.ppid-preloader-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.ppid-preloader-badge {
  width: 130px;
  height: 130px;
  border-radius: 50%;
  border: 3px dashed rgba(255,255,255,.55);
  background: rgba(255,255,255,.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 22px;
  animation: ppid-spin 3.5s linear infinite;
}
.ppid-preloader-badge img {
  width: 68%;
  height: 68%;
  object-fit: contain;
  animation: ppid-spin-reverse 3.5s linear infinite;
}
.ppid-preloader-badge span {
  color: #fff;
  font-weight: 800;
  font-size: 22px;
  letter-spacing: 1px;
  animation: ppid-spin-reverse 3.5s linear infinite;
}
#ppid-preloader p {
  color: #fff;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: .4px;
  text-align: center;
  padding: 0 24px;
  margin: 0;
  opacity: .9;
}
@keyframes ppid-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@keyframes ppid-spin-reverse { from { transform: rotate(0deg); } to { transform: rotate(-360deg); } }
@media (prefers-reduced-motion: reduce) {
  .ppid-preloader-badge, .ppid-preloader-badge img, .ppid-preloader-badge span { animation: none; }
}

/* Laporan Layanan Informasi Publik - tabel publik (Permohonan & Keberatan yang sudah dijawab) */
.ppid-laporan-wrap {
  background: var(--ppid-surface, #fff);
  border: 1px solid var(--ppid-border, #dbe4e6);
  border-radius: 12px;
  overflow: hidden;
}
.ppid-laporan-title {
  margin: 0;
  padding: 12px 16px;
  font-size: 15px;
  font-weight: 700;
  border-bottom: 2px solid var(--ppid-primary, #0f766e);
}
.ppid-laporan-scroll { overflow-x: auto; }
.ppid-laporan-table { width: 100%; border-collapse: collapse; font-size: 13.5px; min-width: 700px; }
.ppid-laporan-table thead th {
  background: var(--ppid-primary, #0f766e);
  color: #fff;
  font-weight: 700;
  text-align: center;
  padding: 12px 10px;
  border-right: 1px solid rgba(255,255,255,.18);
}
.ppid-laporan-table thead th:last-child { border-right: none; }
.ppid-laporan-table tbody td {
  padding: 10px;
  border: 1px solid var(--ppid-border, #dbe4e6);
  vertical-align: top;
}
.ppid-laporan-table tbody tr:nth-child(even) { background: var(--ppid-bg, #f5f7f8); }
.ppid-laporan-empty { text-align: center; color: var(--ppid-muted, #94a3b8); padding: 18px !important; }

/* Tab pilihan Form Permohonan / Keberatan di halaman E-Form */
.ppid-eform-tabs { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 24px; }
.ppid-eform-tab-btn {
  flex: 1 1 220px;
  padding: 16px 20px;
  border: 2px solid var(--ppid-border, #dbe4e6);
  background: var(--ppid-surface, #fff);
  border-radius: 14px;
  font-weight: 700;
  font-size: 15px;
  color: var(--ppid-text, #1f2937);
  cursor: pointer;
  transition: all .15s ease;
  text-align: center;
}
.ppid-eform-tab-btn:hover { border-color: var(--ppid-primary, #0f766e); }
.ppid-eform-tab-btn.active {
  background: var(--ppid-primary, #0f766e);
  border-color: var(--ppid-primary, #0f766e);
  color: #fff;
  box-shadow: 0 10px 24px rgba(15,118,110,.25);
}
.ppid-eform-panel { display: none; }
.ppid-eform-panel.active { display: block; }
.ppid-eform-single { max-width: 640px; margin: 0 auto; }
.ppid-eform-desc { color: var(--ppid-muted, #6b7280); font-size: 13.5px; margin: -6px 0 18px; }

.wa-link {
    color: #fff;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-weight: 600;
}

.wa-link i {
    font-size: 16px;
}

.wa-link:hover {
    color: #25D366;
}
