/*
Theme Name: Portal Data LAZ Online
Theme URI: https://kampungdata.com/
Author: OpenAI
Description: Theme WordPress online untuk kampungdata.com: portal data keuangan LAZ, dashboard jurnal, regulasi, kajian, inbox/disposisi, manajemen kerja, dan integrasi AI.
Version: 2.1.5
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: portal-data-laz
*/

:root {
  --pdl-bg: #f3f7f5;
  --pdl-surface: #ffffff;
  --pdl-surface-soft: #f8fbf9;
  --pdl-text: #163b31;
  --pdl-text-strong: #0d3329;
  --pdl-muted: #6a7d76;
  --pdl-primary: #0e8059;
  --pdl-primary-2: #21a06f;
  --pdl-primary-dark: #075f43;
  --pdl-accent: #dbf1e7;
  --pdl-accent-2: #eef8f3;
  --pdl-border: #dce8e2;
  --pdl-warning: #c98924;
  --pdl-danger: #bd584e;
  --pdl-shadow-sm: 0 8px 26px rgba(15,74,57,.06);
  --pdl-shadow: 0 20px 58px rgba(15,74,57,.11);
  --pdl-radius: 20px;
  --pdl-radius-lg: 28px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--pdl-bg);
  color: var(--pdl-text);
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, select, input { font: inherit; }
.pdl-container { width: min(1220px, calc(100% - 36px)); margin-inline: auto; }
.pdl-anchor { scroll-margin-top: 110px; }

/* HEADER */
.pdl-site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(255,255,255,.96);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(220,232,226,.95);
}
.admin-bar .pdl-site-header { top: 32px; }
.pdl-header-inner { min-height: 76px; display: flex; align-items: center; gap: 28px; }
.pdl-brand { display: flex; align-items: center; gap: 12px; min-width: max-content; }
.pdl-brand-mark {
  width: 44px; height: 44px; border-radius: 13px;
  display: grid; place-items: center;
  color: #fff; font-weight: 850; font-size: 14px; letter-spacing: -.02em;
  background: linear-gradient(145deg, var(--pdl-primary-dark), var(--pdl-primary-2));
  box-shadow: 0 9px 24px rgba(14,128,89,.22);
}
.pdl-custom-logo { width: 44px; height: 44px; object-fit: contain; border-radius: 10px; }
.pdl-brand-text strong { display: block; color: var(--pdl-text-strong); font-size: 15px; line-height: 1.15; }
.pdl-brand-text span { display: block; color: var(--pdl-muted); font-size: 11px; margin-top: 4px; }
.pdl-local-badge { margin-left: 4px; padding: 5px 8px; border-radius: 999px; color: var(--pdl-primary-dark); background: var(--pdl-accent-2); border: 1px solid var(--pdl-border); font-size: 10px; font-weight: 850; letter-spacing: .08em; }
.pdl-nav { margin-left: auto; }
.pdl-nav ul { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.pdl-nav li { position: relative; }
.pdl-nav a { display: block; padding: 10px 11px; border-radius: 10px; color: #31574b; font-size: 13px; font-weight: 680; white-space: nowrap; }
.pdl-menu-toggle { display:flex; align-items:center; gap:6px; padding:10px 11px; border:0; border-radius:10px; background:transparent; color:#31574b; font-size:13px; font-weight:680; white-space:nowrap; cursor:pointer; }
.pdl-menu-toggle:hover,.pdl-menu-group.is-open > .pdl-menu-toggle { background:var(--pdl-accent-2); color:var(--pdl-primary-dark); }
.pdl-menu-toggle span { font-size:12px; transition:transform .15s ease; }
.pdl-menu-group.is-open > .pdl-menu-toggle span { transform:rotate(180deg); }
.pdl-nav a:hover, .pdl-nav .current-menu-item > a { background: var(--pdl-accent-2); color: var(--pdl-primary-dark); }
.pdl-nav .sub-menu { display:none; position:absolute; top:100%; left:0; min-width:210px; padding:8px; background:#fff; border:1px solid var(--pdl-border); border-radius:14px; box-shadow:var(--pdl-shadow); }
.pdl-nav li:hover > .sub-menu, .pdl-nav li:focus-within > .sub-menu, .pdl-nav li.is-open > .sub-menu { display:block; }
.pdl-nav .sub-menu { flex-direction:column; align-items:stretch; gap:2px; z-index:100; }
.pdl-nav .sub-menu li { width:100%; }
.pdl-nav .sub-menu a { padding:9px 10px; width:100%; }

/* HERO */
.pdl-hero {
  position: relative;
  overflow: hidden;
  padding: 72px 0 58px;
  background:
    linear-gradient(90deg, rgba(246,251,248,.98) 0%, rgba(240,249,244,.95) 52%, rgba(225,244,234,.92) 100%),
    radial-gradient(circle at 82% 18%, rgba(47,166,117,.30), transparent 30%);
  border-bottom: 1px solid var(--pdl-border);
}
.pdl-hero::before {
  content:""; position:absolute; width:560px; height:560px; border-radius:50%; right:-260px; top:-300px;
  border:70px solid rgba(14,128,89,.055);
}
.pdl-hero::after {
  content:""; position:absolute; width:270px; height:270px; border-radius:50%; right:15%; bottom:-190px;
  border:45px solid rgba(14,128,89,.05);
}
.pdl-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns: 1.42fr .58fr; gap:54px; align-items:center; }
.pdl-eyebrow { display:inline-flex; align-items:center; gap:8px; padding:7px 11px; border-radius:999px; background:#e3f3eb; color:var(--pdl-primary-dark); font-weight:800; font-size:11px; letter-spacing:.05em; text-transform:uppercase; }
.pdl-eyebrow-dot { width:7px; height:7px; border-radius:50%; background:var(--pdl-primary-2); box-shadow:0 0 0 4px rgba(33,160,111,.11); }
.pdl-hero h1 { font-size:clamp(40px,5vw,66px); line-height:1.02; letter-spacing:-.045em; margin:18px 0 17px; max-width:850px; color:var(--pdl-text-strong); }
.pdl-hero p { font-size:16px; color:var(--pdl-muted); max-width:760px; margin:0; }
.pdl-hero-meta { display:flex; flex-wrap:wrap; gap:18px; margin-top:25px; color:#557168; font-size:12px; }
.pdl-hero-meta span { display:inline-flex; align-items:center; gap:7px; }
.pdl-meta-dot { width:6px; height:6px; border-radius:50%; background:var(--pdl-primary); }
.pdl-hero-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:27px; }
.pdl-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:0 17px; border-radius:11px; font-size:13px; font-weight:780; border:1px solid transparent; transition:.18s ease; }
.pdl-button-primary { background:var(--pdl-primary); color:#fff; box-shadow:0 10px 24px rgba(14,128,89,.2); }
.pdl-button-primary:hover { background:var(--pdl-primary-dark); transform:translateY(-1px); }
.pdl-button-ghost { background:rgba(255,255,255,.83); border-color:var(--pdl-border); color:var(--pdl-text); }
.pdl-button-ghost:hover { background:#fff; transform:translateY(-1px); }
.pdl-hero-panel { background:rgba(255,255,255,.88); border:1px solid rgba(255,255,255,.96); border-radius:var(--pdl-radius-lg); padding:20px; box-shadow:var(--pdl-shadow); }
.pdl-hero-panel-title { display:flex; justify-content:space-between; align-items:center; margin:0 0 14px; }
.pdl-hero-panel-title strong { font-size:13px; }
.pdl-status { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border-radius:999px; background:var(--pdl-accent-2); color:var(--pdl-primary-dark); font-size:10px; font-weight:800; }
.pdl-status i { width:7px; height:7px; border-radius:50%; background:#23a46f; }
.pdl-mini-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pdl-mini-card { min-height:100px; padding:15px; border-radius:16px; background:#fff; border:1px solid var(--pdl-border); }
.pdl-mini-card span { color:var(--pdl-muted); font-size:11px; }
.pdl-mini-card strong { display:block; margin-top:7px; color:var(--pdl-text-strong); font-size:23px; line-height:1; }
.pdl-mini-card.full { grid-column:1/-1; min-height:120px; background:linear-gradient(135deg,#08724f,#24a271); color:#fff; border:0; }
.pdl-mini-card.full span, .pdl-mini-card.full strong { color:#fff; }
.pdl-spark { display:flex; align-items:end; gap:5px; height:42px; margin-top:13px; }
.pdl-spark i { display:block; flex:1; border-radius:5px 5px 2px 2px; background:rgba(255,255,255,.72); }

/* SECTION */
.pdl-section { padding:66px 0; }
.pdl-section.white { background:var(--pdl-surface); }
.pdl-section.soft { background:var(--pdl-surface-soft); }
.pdl-section-head { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:24px; }
.pdl-section-head h2 { margin:0; font-size:clamp(26px,3vw,36px); letter-spacing:-.03em; color:var(--pdl-text-strong); }
.pdl-section-head p { margin:7px 0 0; color:var(--pdl-muted); max-width:790px; font-size:14px; }
.pdl-section-kicker { display:block; color:var(--pdl-primary); font-weight:850; letter-spacing:.09em; font-size:10px; text-transform:uppercase; margin-bottom:7px; }

/* FILTER */
.pdl-filter-shell { background:#fff; border:1px solid var(--pdl-border); border-radius:20px; padding:17px; box-shadow:var(--pdl-shadow-sm); margin-bottom:18px; }
.pdl-filter-title { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-bottom:12px; }
.pdl-filter-title strong { font-size:13px; }
.pdl-filter-title span { color:var(--pdl-muted); font-size:11px; }
.pdl-filter-bar { display:grid; grid-template-columns:.8fr 1.2fr 1.25fr auto; gap:11px; }
.pdl-field label { display:block; color:var(--pdl-muted); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.07em; margin:0 0 5px 2px; }
.pdl-field select { width:100%; height:43px; border-radius:10px; border:1px solid var(--pdl-border); background:#fbfdfc; color:var(--pdl-text); padding:0 12px; outline:none; }
.pdl-field select:focus { border-color:#82bea6; box-shadow:0 0 0 3px rgba(14,128,89,.08); }
.pdl-filter-button { align-self:end; height:43px; border:0; border-radius:10px; padding:0 17px; background:var(--pdl-primary); color:#fff; font-weight:800; font-size:12px; cursor:pointer; transition:.18s ease; }
.pdl-filter-button:hover { background:var(--pdl-primary-dark); }
.pdl-filter-note { display:none; margin:11px 0 0; padding:8px 10px; border-radius:10px; background:var(--pdl-accent-2); color:var(--pdl-primary-dark); font-size:11px; }
.pdl-filter-note.is-visible { display:block; }

/* KPI */
.pdl-kpi-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.pdl-kpi { position:relative; overflow:hidden; background:#fff; border:1px solid var(--pdl-border); border-radius:18px; padding:18px; box-shadow:var(--pdl-shadow-sm); }
.pdl-kpi::after { content:""; position:absolute; width:72px; height:72px; border-radius:50%; right:-34px; top:-36px; background:rgba(14,128,89,.055); }
.pdl-kpi-top { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.pdl-kpi-label { color:var(--pdl-muted); font-size:12px; font-weight:700; }
.pdl-kpi-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:var(--pdl-accent); color:var(--pdl-primary-dark); font-size:11px; font-weight:900; }
.pdl-kpi-value { font-size:clamp(26px,3vw,34px); letter-spacing:-.04em; font-weight:870; margin-top:14px; color:var(--pdl-text-strong); }
.pdl-kpi-meta { margin-top:4px; color:var(--pdl-muted); font-size:11px; }
.pdl-kpi-trend { display:inline-flex; gap:5px; align-items:center; margin-top:10px; color:var(--pdl-primary); font-size:10px; font-weight:800; }

/* MAP + SUMMARY */
.pdl-dashboard-grid { display:grid; grid-template-columns:1.55fr .65fr; gap:16px; margin-top:16px; }
.pdl-panel { background:#fff; border:1px solid var(--pdl-border); border-radius:20px; padding:20px; box-shadow:var(--pdl-shadow-sm); }
.pdl-panel-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:12px; }
.pdl-panel h3 { margin:0 0 4px; font-size:17px; color:var(--pdl-text-strong); }
.pdl-panel-sub { color:var(--pdl-muted); font-size:11px; }
.pdl-chip { padding:5px 8px; border-radius:999px; color:var(--pdl-primary-dark); background:var(--pdl-accent-2); border:1px solid var(--pdl-border); font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.pdl-map-stage { position:relative; height:330px; margin-top:8px; overflow:hidden; border-radius:16px; background:linear-gradient(180deg,#f6fbf8,#eef6f2); border:1px solid #e5eee9; }
.pdl-map-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(14,128,89,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(14,128,89,.04) 1px,transparent 1px); background-size:28px 28px; }
.pdl-map-islands { position:absolute; inset:0; }
.pdl-island { position:absolute; display:block; height:20px; border-radius:999px; background:linear-gradient(90deg,#77c4a4,#11825b); opacity:.92; box-shadow:0 7px 16px rgba(14,128,89,.14); transform:rotate(-7deg); }
.pdl-island.sumatra { width:105px; left:16%; top:45%; transform:rotate(53deg); }
.pdl-island.java { width:148px; left:36%; top:68%; height:15px; }
.pdl-island.kalimantan { width:112px; left:43%; top:37%; height:68px; border-radius:44% 56% 48% 52%; transform:rotate(8deg); }
.pdl-island.sulawesi { width:82px; left:61%; top:47%; height:22px; transform:rotate(-20deg); }
.pdl-island.papua { width:124px; right:8%; top:48%; height:42px; border-radius:48% 52% 56% 44%; transform:rotate(8deg); }
.pdl-island.ntt { width:112px; left:57%; top:72%; height:10px; }
.pdl-island.maluku { width:68px; right:27%; top:39%; height:10px; transform:rotate(32deg); opacity:.72; }
.pdl-map-pin { position:absolute; width:12px; height:12px; border-radius:50%; background:#fff; border:4px solid var(--pdl-primary-dark); box-shadow:0 0 0 5px rgba(14,128,89,.13); }
.pdl-map-pin.p1 { left:42%; top:66%; }.pdl-map-pin.p2 { left:51%; top:42%; }.pdl-map-pin.p3 { left:72%; top:57%; }.pdl-map-pin.p4 { left:26%; top:48%; }.pdl-map-pin.p5 { right:14%; top:52%; }
.pdl-map-caption { position:absolute; left:16px; bottom:15px; display:flex; gap:8px; flex-wrap:wrap; }
.pdl-legend-item { display:inline-flex; align-items:center; gap:6px; padding:6px 8px; border-radius:999px; background:rgba(255,255,255,.92); border:1px solid var(--pdl-border); font-size:9px; color:#506b62; }
.pdl-legend-item i { width:8px; height:8px; border-radius:50%; display:block; }
.pdl-donut-wrap { display:grid; place-items:center; padding:20px 0 12px; }
.pdl-donut { width:154px; height:154px; border-radius:50%; background:conic-gradient(var(--pdl-primary) 0 68.4%, #dfe9e4 68.4% 100%); position:relative; }
.pdl-donut::after { content:""; position:absolute; inset:21px; background:#fff; border-radius:50%; }
.pdl-donut-label { position:absolute; inset:0; display:grid; place-items:center; z-index:2; text-align:center; font-weight:870; font-size:25px; color:var(--pdl-text-strong); }
.pdl-donut-label small { display:block; font-size:9px; font-weight:800; color:var(--pdl-muted); letter-spacing:.05em; }
.pdl-summary-list { display:grid; gap:10px; margin-top:7px; }
.pdl-summary-row { display:flex; justify-content:space-between; gap:12px; align-items:center; padding:9px 0; border-top:1px dashed var(--pdl-border); font-size:11px; }
.pdl-summary-row strong { color:var(--pdl-text-strong); }
.pdl-summary-key { display:inline-flex; align-items:center; gap:7px; color:var(--pdl-muted); }
.pdl-summary-key i { width:8px; height:8px; border-radius:50%; background:var(--pdl-primary); }

/* VISUALISASI */
.pdl-viz-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.pdl-bars { display:grid; gap:13px; margin-top:22px; }
.pdl-bar-row { display:grid; grid-template-columns:118px 1fr 48px; gap:11px; align-items:center; font-size:11px; }
.pdl-bar-track { height:10px; border-radius:999px; background:#edf3f0; overflow:hidden; }
.pdl-bar-fill { height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--pdl-primary-dark),#4eb287); }
.pdl-bar-value { font-weight:850; text-align:right; }
.pdl-chart-stage { height:245px; margin-top:15px; position:relative; border-left:1px solid var(--pdl-border); border-bottom:1px solid var(--pdl-border); background-image:linear-gradient(to top,rgba(14,128,89,.055) 1px,transparent 1px); background-size:100% 49px; }
.pdl-chart-line { position:absolute; left:3%; right:2%; bottom:16%; height:64%; }
.pdl-chart-line svg { width:100%; height:100%; overflow:visible; }
.pdl-chart-axis { display:flex; justify-content:space-between; gap:5px; margin:8px 0 0; color:var(--pdl-muted); font-size:9px; }

/* MODULE */
.pdl-module-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.pdl-module-card { position:relative; overflow:hidden; background:#fff; border:1px solid var(--pdl-border); border-radius:18px; padding:20px; transition:.18s ease; }
.pdl-module-card::after { content:""; position:absolute; width:90px; height:90px; right:-55px; bottom:-55px; border-radius:50%; background:var(--pdl-accent-2); }
.pdl-module-card:hover { transform:translateY(-3px); box-shadow:var(--pdl-shadow); border-color:#c8ded4; }
.pdl-module-card .ico { width:40px; height:40px; border-radius:12px; display:grid; place-items:center; background:var(--pdl-accent); font-size:11px; font-weight:900; color:var(--pdl-primary-dark); }
.pdl-module-card h3 { margin:14px 0 6px; font-size:16px; color:var(--pdl-text-strong); }
.pdl-module-card p { margin:0; color:var(--pdl-muted); font-size:12px; min-height:55px; }
.pdl-module-card .link { display:inline-block; margin-top:14px; color:var(--pdl-primary-dark); font-size:11px; font-weight:850; }

/* DATA STATUS */
.pdl-data-strip { display:grid; grid-template-columns:1.2fr repeat(3,.6fr); gap:0; background:linear-gradient(135deg,#0e694c,#0a513d); color:#fff; border-radius:22px; overflow:hidden; box-shadow:var(--pdl-shadow); }
.pdl-data-strip > div { padding:20px; border-right:1px solid rgba(255,255,255,.12); }
.pdl-data-strip > div:last-child { border-right:0; }
.pdl-data-strip h3 { margin:0 0 5px; font-size:16px; }
.pdl-data-strip p { margin:0; color:rgba(255,255,255,.67); font-size:11px; }
.pdl-data-strip strong { display:block; font-size:20px; margin-top:4px; }
.pdl-data-strip span { color:rgba(255,255,255,.64); font-size:10px; }

/* GENERIC CONTENT */
.pdl-content-wrap { padding:56px 0 80px; }
.pdl-content-card { background:#fff; border:1px solid var(--pdl-border); border-radius:22px; padding:clamp(22px,4vw,46px); box-shadow:var(--pdl-shadow-sm); }
.pdl-content-card h1 { letter-spacing:-.035em; color:var(--pdl-text-strong); }

/* FOOTER */
.pdl-footer { background:#0b3e31; color:#fff; padding:48px 0 25px; }
.pdl-footer-grid { display:grid; grid-template-columns:1.35fr .65fr .65fr; gap:38px; }
.pdl-footer-brand { display:flex; align-items:center; gap:11px; margin-bottom:13px; }
.pdl-footer-mark { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; background:rgba(255,255,255,.10); font-size:11px; font-weight:900; }
.pdl-footer h4 { margin:0 0 11px; font-size:13px; }
.pdl-footer p,.pdl-footer li,.pdl-footer a { color:rgba(255,255,255,.70); font-size:11px; }
.pdl-footer ul { list-style:none; margin:0; padding:0; display:grid; gap:7px; }
.pdl-footer a:hover { color:#fff; }
.pdl-footer-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid rgba(255,255,255,.12); margin-top:31px; padding-top:18px; color:rgba(255,255,255,.52); font-size:10px; }
.pdl-footer-actions { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.pdl-to-top { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:0 11px; border:1px solid rgba(255,255,255,.18); border-radius:999px; color:#fff !important; background:rgba(255,255,255,.08); font-weight:750; }
.pdl-to-top:hover { background:rgba(255,255,255,.16); }

@media (max-width: 1050px) {
  .pdl-hero-grid, .pdl-dashboard-grid { grid-template-columns:1fr; }
  .pdl-hero-panel { max-width:620px; }
  .pdl-kpi-grid { grid-template-columns:repeat(2,1fr); }
  .pdl-module-grid { grid-template-columns:repeat(2,1fr); }
  .pdl-filter-bar { grid-template-columns:1fr 1fr; }
  .pdl-viz-grid { grid-template-columns:1fr; }
  .pdl-header-inner { flex-wrap:wrap; padding:10px 0; }
  .pdl-nav { width:100%; margin-left:0; overflow:auto; }
  .pdl-nav ul { flex-wrap:nowrap; min-width:max-content; }
  .pdl-nav .sub-menu { position:fixed; top:auto; left:18px; right:18px; min-width:0; width:auto; }
  .pdl-local-badge { display:none; }
  .pdl-data-strip { grid-template-columns:1fr 1fr; }
  .pdl-data-strip > div:nth-child(2) { border-right:0; }
  .pdl-data-strip > div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
}
@media (max-width: 782px) { .admin-bar .pdl-site-header { top:46px; } }
@media (max-width: 650px) {
  .pdl-container { width:min(100% - 24px,1220px); }
  .pdl-hero { padding:49px 0 42px; }
  .pdl-hero h1 { font-size:40px; }
  .pdl-kpi-grid,.pdl-module-grid,.pdl-filter-bar,.pdl-footer-grid,.pdl-data-strip { grid-template-columns:1fr; }
  .pdl-mini-grid { grid-template-columns:1fr; }
  .pdl-mini-card.full { grid-column:auto; }
  .pdl-data-strip > div { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .pdl-data-strip > div:last-child { border-bottom:0; }
  .pdl-bar-row { grid-template-columns:92px 1fr 42px; }
  .pdl-map-stage { height:260px; }
  .pdl-footer-bottom { flex-direction:column; }
  .pdl-filter-title { align-items:flex-start; flex-direction:column; }
}

/* REGULASI — v0.3 */
.pdl-reg-page { min-height: 70vh; }
.pdl-reg-hero { padding: 54px 0 38px; background:linear-gradient(135deg,#f8fcfa,#eaf6f0); border-bottom:1px solid var(--pdl-border); }
.pdl-reg-hero h1 { margin:4px 0 10px; font-size:clamp(34px,4vw,50px); line-height:1.05; letter-spacing:-.04em; color:var(--pdl-text-strong); }
.pdl-reg-hero p { margin:0; max-width:760px; color:var(--pdl-muted); font-size:14px; }
.pdl-reg-section { padding:34px 0 76px; }
.pdl-reg-card { background:#fff; border:1px solid var(--pdl-border); border-radius:22px; overflow:hidden; box-shadow:var(--pdl-shadow-sm); }
.pdl-reg-scope { display:flex; gap:5px; padding:16px 18px 0; border-bottom:1px solid var(--pdl-border); background:#fbfdfc; overflow:auto; }
.pdl-reg-scope-btn { border:0; border-bottom:3px solid transparent; background:transparent; color:#60766f; padding:11px 16px 12px; margin:0 0 -1px; cursor:pointer; font-weight:780; font-size:13px; white-space:nowrap; }
.pdl-reg-scope-btn:hover { color:var(--pdl-primary-dark); }
.pdl-reg-scope-btn.is-active { color:var(--pdl-primary-dark); border-bottom-color:var(--pdl-primary); }
.pdl-reg-location-filters { display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:12px; padding:18px; background:#fff; border-bottom:1px solid var(--pdl-border); }
.pdl-reg-location-filters select:disabled { opacity:.55; cursor:not-allowed; background:#f2f5f3; }
.pdl-reg-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:15px 18px; }
.pdl-reg-showing { display:flex; align-items:center; gap:8px; color:var(--pdl-muted); font-size:12px; }
.pdl-reg-showing select { height:36px; border:1px solid var(--pdl-border); border-radius:9px; padding:0 28px 0 10px; background:#fff; color:var(--pdl-text); }
.pdl-reg-count { padding:6px 10px; border-radius:999px; background:var(--pdl-accent-2); color:var(--pdl-primary-dark); font-size:11px; font-weight:800; }
.pdl-reg-table-wrap { overflow-x:auto; border-top:1px solid var(--pdl-border); border-bottom:1px solid var(--pdl-border); }
.pdl-reg-table { width:100%; border-collapse:collapse; min-width:1320px; }
.pdl-reg-table th,.pdl-reg-table td { padding:13px 15px; text-align:left; border-bottom:1px solid #e8efeb; vertical-align:middle; }
.pdl-reg-table thead tr:first-child th { background:#f5faf7; color:#36584e; font-size:11px; text-transform:uppercase; letter-spacing:.045em; font-weight:850; }
.pdl-reg-table tbody td { font-size:12px; color:#2c4d43; }
.pdl-reg-table tbody tr:hover:not(.pdl-reg-empty) { background:#fbfdfc; }
.pdl-reg-table tbody tr:last-child td { border-bottom:0; }
.pdl-reg-search-row th { padding:8px 10px; background:#fff; }
.pdl-reg-search-row input,.pdl-reg-search-row select { width:100%; min-width:120px; height:36px; border:1px solid var(--pdl-border); border-radius:8px; padding:0 10px; font-size:11px; color:var(--pdl-text); outline:none; background:#fff; }
.pdl-reg-search-row input:focus,.pdl-reg-search-row select:focus { border-color:#81bba4; box-shadow:0 0 0 3px rgba(14,128,89,.07); }
.pdl-reg-type-badge { display:inline-flex; align-items:center; min-height:28px; padding:4px 9px; border-radius:8px; background:#e8f5ee; color:var(--pdl-primary-dark); font-weight:850; font-size:10px; letter-spacing:.03em; }
.pdl-reg-number-cell { font-weight:740; color:var(--pdl-text-strong)!important; }
.pdl-reg-status { display:inline-flex; align-items:center; justify-content:center; min-height:27px; padding:4px 9px; border-radius:999px; font-size:10px; font-weight:850; white-space:nowrap; border:1px solid transparent; }
.pdl-reg-status-berlaku { background:#e9f7ef; color:#12603f; border-color:#caead9; }
.pdl-reg-status-diubah { background:#fff4db; color:#80580b; border-color:#f2dfad; }
.pdl-reg-status-berlaku_sebagian { background:#edf3ff; color:#315d9c; border-color:#d8e4fa; }
.pdl-reg-status-dicabut,.pdl-reg-status-tidak_berlaku { background:#fff0ee; color:#9b4038; border-color:#efd4d0; }
.pdl-reg-notes-cell { min-width:220px; max-width:340px; color:#5e746c!important; line-height:1.45; }

.pdl-reg-download-head,.pdl-reg-download-cell { width:105px; text-align:center!important; }
.pdl-reg-download { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:32px; padding:0 9px; border-radius:8px; background:var(--pdl-primary); color:#fff; font-size:10px; font-weight:800; }
.pdl-reg-download:hover { background:var(--pdl-primary-dark); color:#fff; }
.pdl-reg-no-file { color:#a4b1ac; }
.pdl-reg-empty { display:none; }
.pdl-reg-empty td { padding:34px 18px!important; }
.pdl-reg-empty-box { display:grid; gap:4px; justify-items:center; text-align:center; color:var(--pdl-muted); }
.pdl-reg-empty-box strong { color:var(--pdl-text-strong); font-size:13px; }
.pdl-reg-empty-box a { color:var(--pdl-primary-dark); font-weight:800; }
.pdl-reg-pagination { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 18px; color:var(--pdl-muted); font-size:11px; }
.pdl-reg-pager { display:flex; align-items:center; gap:8px; }
.pdl-reg-pager button { min-height:34px; border:1px solid var(--pdl-border); background:#fff; color:#36584e; border-radius:8px; padding:0 11px; font-size:11px; font-weight:750; cursor:pointer; }
.pdl-reg-pager button:hover:not(:disabled) { border-color:#9bcab6; color:var(--pdl-primary-dark); background:var(--pdl-accent-2); }
.pdl-reg-pager button:disabled { opacity:.45; cursor:not-allowed; }
#pdl-reg-page-indicator { min-width:52px; text-align:center; font-weight:800; color:#4c6860; }
.pdl-reg-admin-note { margin-top:16px; display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px 20px; background:#fff; border:1px dashed #b8d5c8; border-radius:16px; }
.pdl-reg-admin-note div { display:grid; gap:3px; }
.pdl-reg-admin-note strong { font-size:13px; color:var(--pdl-text-strong); }
.pdl-reg-admin-note span { font-size:11px; color:var(--pdl-muted); }

@media(max-width:650px){
  .pdl-reg-location-filters{grid-template-columns:1fr}.pdl-reg-toolbar,.pdl-reg-pagination,.pdl-reg-admin-note{align-items:flex-start;flex-direction:column}.pdl-reg-scope{padding-inline:10px}.pdl-reg-scope-btn{padding-inline:11px}.pdl-reg-download span{display:none}.pdl-reg-download{width:32px;padding:0}.pdl-reg-download-head,.pdl-reg-download-cell{width:55px}
}

/* =========================================================
   KAJIAN & PUBLIKASI — v0.4
   ========================================================= */
.pdl-kajian-page { background:#f6f8f7; min-height:70vh; }
.pdl-kajian-hero {
  position:relative; overflow:hidden; padding:58px 0 50px;
  background:
    radial-gradient(circle at 84% 24%, rgba(51,171,123,.16), transparent 26%),
    linear-gradient(120deg,#f8fcfa 0%,#edf8f2 100%);
  border-bottom:1px solid var(--pdl-border);
}
.pdl-kajian-hero::after { content:""; position:absolute; width:300px; height:300px; border:48px solid rgba(14,128,89,.045); border-radius:50%; right:-100px; top:-145px; }
.pdl-kajian-hero-inner { position:relative; z-index:2; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; }
.pdl-kajian-hero h1 { margin:10px 0 10px; color:var(--pdl-text-strong); font-size:clamp(34px,4vw,50px); line-height:1.04; letter-spacing:-.04em; }
.pdl-kajian-hero p { margin:0; max-width:720px; color:var(--pdl-muted); font-size:14px; }
.pdl-kajian-hero-stat { min-width:170px; padding:18px 20px; border:1px solid rgba(220,232,226,.9); border-radius:18px; background:rgba(255,255,255,.78); box-shadow:var(--pdl-shadow-sm); }
.pdl-kajian-hero-stat strong { display:block; color:var(--pdl-primary-dark); font-size:31px; line-height:1; letter-spacing:-.04em; }
.pdl-kajian-hero-stat span { display:block; color:var(--pdl-muted); font-size:11px; margin-top:7px; }
.pdl-section-kicker { display:inline-block; color:var(--pdl-primary); font-size:10px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }

.pdl-kajian-section { padding:28px 0 78px; }
.pdl-kajian-heading-row { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; margin-bottom:28px; }
.pdl-kajian-heading-row--compact { justify-content:flex-end; margin-bottom:20px; }
.pdl-kajian-heading-row--compact .pdl-kajian-tools { width:min(100%,680px); min-width:0; }
.pdl-kajian-overline { display:block; color:var(--pdl-primary); font-weight:850; font-size:10px; letter-spacing:.12em; margin-bottom:7px; }
.pdl-kajian-heading-row h2 { margin:0; color:var(--pdl-text-strong); font-size:28px; letter-spacing:-.03em; }
.pdl-kajian-heading-row p { margin:6px 0 0; color:var(--pdl-muted); font-size:12px; }
.pdl-kajian-tools { display:flex; align-items:center; gap:10px; min-width:min(100%,450px); }
.pdl-kajian-search { height:43px; flex:1; display:flex; align-items:center; gap:8px; padding:0 12px; border:1px solid var(--pdl-border); background:#fff; border-radius:11px; box-shadow:0 5px 16px rgba(15,74,57,.035); }
.pdl-kajian-search span { color:#7c9189; font-size:18px; line-height:1; }
.pdl-kajian-search input { width:100%; border:0; outline:0; background:transparent; color:var(--pdl-text); font-size:12px; }
.pdl-kajian-tools select { height:43px; min-width:150px; border:1px solid var(--pdl-border); background:#fff; border-radius:11px; padding:0 34px 0 11px; color:var(--pdl-text); font-size:12px; }

.pdl-kajian-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.pdl-kajian-card { display:grid; grid-template-columns:205px minmax(0,1fr); min-height:285px; overflow:hidden; background:#fff; border:1px solid var(--pdl-border); border-radius:18px; box-shadow:0 10px 30px rgba(15,74,57,.055); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.pdl-kajian-card:hover { transform:translateY(-3px); box-shadow:var(--pdl-shadow); border-color:#c9ddd4; }
.pdl-kajian-card[hidden] { display:none !important; }
.pdl-kajian-cover { position:relative; min-height:285px; background:#e6eee9; overflow:hidden; }
.pdl-kajian-cover > img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center; transition:transform .35s ease; }
.pdl-kajian-card:hover .pdl-kajian-cover > img { transform:scale(1.025); }
.pdl-kajian-cover::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(7,56,41,.03),rgba(7,56,41,.12)); pointer-events:none; }
.pdl-kajian-badge { position:absolute; z-index:3; left:13px; top:13px; max-width:calc(100% - 26px); padding:6px 9px; border-radius:7px; background:rgba(10,91,65,.92); color:#fff; font-size:9px; font-weight:850; letter-spacing:.035em; box-shadow:0 7px 18px rgba(0,0,0,.12); }
.pdl-kajian-cover-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; padding:24px 20px; background:linear-gradient(145deg,#e8f3ed,#c6e4d5 56%,#91c9ad); color:#165c46; }
.pdl-kajian-cover-placeholder::before { content:""; position:absolute; width:170px; height:170px; border:25px solid rgba(255,255,255,.24); border-radius:50%; right:-82px; top:35px; }
.pdl-kajian-docmark { position:relative; margin-top:58px; font-size:23px; font-weight:900; letter-spacing:.08em; }
.pdl-kajian-doclines { position:relative; display:grid; gap:7px; margin-top:24px; width:78%; }
.pdl-kajian-doclines i { display:block; height:4px; border-radius:999px; background:rgba(22,92,70,.28); }
.pdl-kajian-doclines i:nth-child(2) { width:86%; }.pdl-kajian-doclines i:nth-child(3) { width:68%; }.pdl-kajian-doclines i:nth-child(4) { width:78%; }
.pdl-kajian-docfoot { position:relative; margin-top:auto; font-size:8px; letter-spacing:.13em; font-weight:850; opacity:.75; }

.pdl-kajian-body { display:flex; flex-direction:column; padding:21px 22px 19px; min-width:0; }
.pdl-kajian-meta { display:flex; align-items:center; gap:8px; color:#82938d; font-size:10px; margin-bottom:11px; }
.pdl-kajian-meta::before { content:""; width:6px; height:6px; border-radius:50%; background:var(--pdl-primary-2); }
.pdl-kajian-body h3 { margin:0; color:var(--pdl-text-strong); font-size:15px; line-height:1.38; letter-spacing:-.015em; text-transform:none; }
.pdl-kajian-subtitle { margin:12px 0 0; color:#586e66; font-size:11px; line-height:1.55; }
.pdl-kajian-actions { margin-top:auto; padding-top:20px; }
.pdl-kajian-download { display:inline-flex; align-items:center; gap:8px; min-height:38px; padding:0 13px; border-radius:9px; background:var(--pdl-primary); color:#fff; font-size:11px; font-weight:800; transition:.18s ease; }
.pdl-kajian-download:hover { background:var(--pdl-primary-dark); transform:translateY(-1px); }
.pdl-kajian-download-icon { width:20px; height:20px; display:grid; place-items:center; border-radius:6px; background:rgba(255,255,255,.14); font-size:13px; }
.pdl-kajian-file-missing { color:#95a49f; font-size:10px; }

.pdl-kajian-empty { margin-top:20px; min-height:230px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:8px; border:1px dashed #c9dcd3; border-radius:18px; background:#fbfdfc; color:var(--pdl-muted); padding:30px; }
.pdl-kajian-empty[hidden] { display:none !important; }
.pdl-kajian-empty-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:13px; background:var(--pdl-accent); color:var(--pdl-primary-dark); font-size:20px; }
.pdl-kajian-empty strong { color:var(--pdl-text-strong); font-size:15px; }
.pdl-kajian-empty span { font-size:11px; }
.pdl-kajian-empty .pdl-button { margin-top:8px; }
.pdl-kajian-admin-note { margin-top:22px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 18px; border:1px solid var(--pdl-border); background:#fff; border-radius:16px; }
.pdl-kajian-admin-note strong { display:block; color:var(--pdl-text-strong); font-size:12px; }
.pdl-kajian-admin-note span { display:block; color:var(--pdl-muted); font-size:10px; margin-top:3px; }

@media (max-width: 980px) {
  .pdl-kajian-grid { grid-template-columns:1fr; }
  .pdl-kajian-card { grid-template-columns:190px 1fr; }
}
@media (max-width: 720px) {
  .pdl-kajian-hero-inner, .pdl-kajian-heading-row { align-items:flex-start; flex-direction:column; }
  .pdl-kajian-hero-stat { min-width:0; width:100%; }
  .pdl-kajian-tools { width:100%; min-width:0; flex-direction:column; align-items:stretch; }
  .pdl-kajian-tools select { width:100%; }
  .pdl-kajian-card { grid-template-columns:1fr; }
  .pdl-kajian-cover { min-height:220px; aspect-ratio:16/9; }
  .pdl-kajian-admin-note { align-items:flex-start; flex-direction:column; }
}


/* Kajian detail improvements v0.4.3 */
.pdl-kajian-cover-link{position:absolute;inset:0;z-index:1;display:block;color:inherit}
.pdl-kajian-cover-link img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center;transition:transform .35s ease}
.pdl-kajian-card:hover .pdl-kajian-cover-link img{transform:scale(1.025)}
.pdl-kajian-body h3 a{color:inherit;text-decoration:none}
.pdl-kajian-body h3 a:hover{color:var(--pdl-primary)}
.pdl-kajian-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pdl-kajian-open{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 13px;border:1px solid #bcd5c9;border-radius:9px;background:#fff;color:var(--pdl-primary-dark);font-size:11px;font-weight:850;transition:.18s ease}
.pdl-kajian-open:hover{border-color:var(--pdl-primary);background:#f3faf6;transform:translateY(-1px)}

.pdl-kajian-single-page{background:#f6f8f7;min-height:70vh}
.pdl-kajian-single-hero{padding:54px 0 46px;background:linear-gradient(180deg,#f9fcfa,#edf6f1);border-bottom:1px solid var(--pdl-border)}
.pdl-kajian-back{display:inline-flex;align-items:center;margin-bottom:24px;color:var(--pdl-primary);font-size:11px;font-weight:800}
.pdl-kajian-single-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px;color:#7b8e87;font-size:11px}
.pdl-kajian-single-category{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border-radius:999px;background:#dff1e8;color:var(--pdl-primary-dark);font-weight:850}
.pdl-kajian-single-hero h1{max-width:940px;margin:0;color:var(--pdl-text-strong);font-size:clamp(34px,4.2vw,56px);line-height:1.08;letter-spacing:-.04em}
.pdl-kajian-single-subtitle{max-width:860px;margin:18px 0 0;color:#51675f;font-size:15px;line-height:1.65}
.pdl-kajian-single-section{padding:46px 0 80px}
.pdl-kajian-single-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;align-items:start}
.pdl-kajian-single-main{min-width:0}
.pdl-kajian-single-cover{margin:0 0 24px;overflow:hidden;border:1px solid var(--pdl-border);border-radius:18px;background:#fff;box-shadow:var(--pdl-shadow-sm)}
.pdl-kajian-single-cover img{display:block;width:100%;max-height:640px;object-fit:contain;background:#eef3f0}
.pdl-kajian-single-content{padding:30px 32px;background:#fff;border:1px solid var(--pdl-border);border-radius:18px;box-shadow:0 8px 28px rgba(15,74,57,.045);color:#354c44;font-size:14px;line-height:1.8}
.pdl-kajian-single-content>*:first-child{margin-top:0}.pdl-kajian-single-content>*:last-child{margin-bottom:0}
.pdl-kajian-single-content h2,.pdl-kajian-single-content h3{color:var(--pdl-text-strong);line-height:1.3}
.pdl-kajian-single-sidebar{position:sticky;top:92px}
.pdl-kajian-info-card{padding:22px;background:#fff;border:1px solid var(--pdl-border);border-radius:18px;box-shadow:var(--pdl-shadow-sm)}
.pdl-kajian-info-label{display:block;margin-bottom:16px;color:var(--pdl-primary);font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.pdl-kajian-info-card dl{margin:0 0 18px}.pdl-kajian-info-card dl div{padding:11px 0;border-top:1px solid #edf2ef}.pdl-kajian-info-card dt{margin-bottom:4px;color:#879890;font-size:10px}.pdl-kajian-info-card dd{margin:0;color:var(--pdl-text-strong);font-size:12px;font-weight:750}
.pdl-kajian-single-download{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:44px;padding:0 14px;border-radius:10px;background:var(--pdl-primary);color:#fff;font-size:12px;font-weight:850;transition:.18s ease}
.pdl-kajian-single-download:hover{background:var(--pdl-primary-dark);transform:translateY(-1px)}
.pdl-kajian-no-description{margin:0;color:#82928c;font-style:italic}
@media(max-width:900px){.pdl-kajian-single-layout{grid-template-columns:1fr}.pdl-kajian-single-sidebar{position:static}.pdl-kajian-single-content{padding:24px}}


/* Regulasi — filter berbasis Jabatan (v0.5.2) */
.pdl-reg-filter-help{display:block;margin-top:6px;color:var(--pdl-muted);font-size:10px;line-height:1.35}
.pdl-reg-position-cell{max-width:210px;line-height:1.45}
.pdl-reg-col-help{font-size:10px;color:#7d958d;font-weight:600;white-space:nowrap}
@media(max-width:980px){.pdl-reg-location-filters{grid-template-columns:1fr 1fr}.pdl-reg-position-wrap{grid-column:1/-1}}
@media(max-width:720px){.pdl-reg-location-filters{grid-template-columns:1fr}.pdl-reg-position-wrap{grid-column:auto}}

/* Regulasi v0.5.3 — simplified keyword-first search */
.pdl-reg-keywordbar{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:18px;background:#fff;border-bottom:1px solid var(--pdl-border)}
.pdl-reg-keyword-field{flex:1;max-width:760px}
.pdl-reg-keyword-field label{display:block;margin:0 0 7px;color:var(--pdl-text-strong);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}
.pdl-reg-keyword-field input{width:100%;height:44px;border:1px solid var(--pdl-border);border-radius:11px;padding:0 14px;color:var(--pdl-text);background:#fff;outline:none;font-size:13px}
.pdl-reg-keyword-field input:focus{border-color:#81bba4;box-shadow:0 0 0 3px rgba(14,128,89,.07)}
.pdl-reg-keyword-help{display:block;margin-top:6px;color:var(--pdl-muted);font-size:10px;line-height:1.45}
.pdl-reg-keyword-count{display:flex;align-items:center;min-height:44px;padding:0 12px;border-radius:999px;background:var(--pdl-accent-2);color:var(--pdl-primary-dark);font-size:11px;font-weight:850;white-space:nowrap}
@media(max-width:720px){.pdl-reg-keywordbar{align-items:stretch;flex-direction:column}.pdl-reg-keyword-count{align-self:flex-start;min-height:34px}}


/* v0.6.0 — Live Portal Data Engine integration */
.pdl-live-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:#eaf7f1;color:var(--pdl-primary-dark);font-size:10px;font-weight:850;border:1px solid #cce7db}
.pdl-live-badge i{width:7px;height:7px;border-radius:50%;background:var(--pdl-primary-2);box-shadow:0 0 0 4px rgba(33,160,111,.10)}
.pdl-month-bars{height:220px;display:grid;grid-template-columns:repeat(12,1fr);gap:7px;align-items:end;margin-top:20px;padding:12px 8px 0;border-bottom:1px solid var(--pdl-border);background-image:linear-gradient(to top,rgba(14,128,89,.05) 1px,transparent 1px);background-size:100% 44px}
.pdl-month-col{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px;min-width:0}
.pdl-month-bar{width:min(30px,76%);min-height:3px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--pdl-primary-2),var(--pdl-primary));box-shadow:0 5px 12px rgba(14,128,89,.13)}
.pdl-month-label{font-size:9px;color:var(--pdl-muted);white-space:nowrap}
.pdl-source-card{display:grid;gap:12px;margin-top:17px}.pdl-source-row{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid var(--pdl-border);font-size:12px}.pdl-source-row:last-child{border-bottom:0}.pdl-source-row span{color:var(--pdl-muted)}.pdl-source-row strong{text-align:right;color:var(--pdl-text-strong);word-break:break-word}
.pdl-empty-live{padding:18px;border:1px dashed #b9cec5;background:#f7fbf9;border-radius:14px;color:var(--pdl-muted);font-size:13px}
@media(max-width:700px){.pdl-month-bars{gap:3px}.pdl-month-label{font-size:8px}.pdl-source-row{flex-direction:column;gap:3px}.pdl-source-row strong{text-align:left}}

/* v0.6.1 — Homepage filters + year comparison */
.pdl-filter-bar-live{grid-template-columns:.7fr 1.15fr 1.2fr 1.15fr auto;align-items:end}
.pdl-filter-actions{display:flex;gap:8px;align-items:center;align-self:end;min-width:max-content}
.pdl-filter-secondary{height:43px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--pdl-primary);border-radius:10px;background:#fff;color:var(--pdl-primary)!important;text-decoration:none!important;font-size:11px;font-weight:850;white-space:nowrap}
.pdl-filter-secondary:hover{background:var(--pdl-accent-2)}
.pdl-active-filter{margin-top:11px;padding:8px 11px;border-radius:10px;background:var(--pdl-accent-2);color:var(--pdl-primary-dark);font-size:11px;font-weight:700}
.pdl-year-panel{overflow:hidden}
.pdl-year-legend{display:flex;align-items:center;gap:12px;color:var(--pdl-muted);font-size:10px;font-weight:800}
.pdl-year-legend span{display:inline-flex;align-items:center;gap:5px}.pdl-year-legend i{display:inline-block;width:9px;height:9px;border-radius:3px}.pdl-year-legend i.pagu{background:#a9c9bc}.pdl-year-legend i.salur{background:var(--pdl-primary)}
.pdl-year-chart-scroll{overflow-x:auto;padding:6px 0 2px}
.pdl-year-chart{height:290px;min-width:620px;display:flex;align-items:flex-end;gap:14px;padding:24px 12px 0;border-bottom:1px solid var(--pdl-border);background-image:linear-gradient(to top,rgba(14,128,89,.05) 1px,transparent 1px);background-size:100% 58px}
.pdl-year-group{flex:1;min-width:54px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.pdl-year-bars{height:220px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:4px}.pdl-year-bar{width:min(22px,35%);min-height:3px;border-radius:6px 6px 2px 2px;transition:.18s ease}.pdl-year-bar.pagu{background:#a9c9bc}.pdl-year-bar.salur{background:linear-gradient(180deg,var(--pdl-primary-2),var(--pdl-primary));box-shadow:0 5px 12px rgba(14,128,89,.10)}.pdl-year-bar:hover{filter:brightness(.94);transform:translateY(-1px)}
.pdl-year-group strong{font-size:11px;color:var(--pdl-text-strong)}.pdl-year-group span{font-size:9px;color:var(--pdl-muted);font-weight:750}
.pdl-year-table-wrap{margin-top:18px;overflow-x:auto}.pdl-year-table{width:100%;border-collapse:collapse;font-size:11px}.pdl-year-table th,.pdl-year-table td{padding:9px 8px;border-bottom:1px solid var(--pdl-border);text-align:right}.pdl-year-table th:first-child,.pdl-year-table td:first-child{text-align:left}.pdl-year-table th{color:var(--pdl-muted);font-size:9px;text-transform:uppercase;letter-spacing:.04em}.pdl-year-table td{color:var(--pdl-text-strong);font-weight:650}
@media(max-width:1120px){.pdl-filter-bar-live{grid-template-columns:1fr 1fr}.pdl-filter-actions{grid-column:1/-1}.pdl-filter-actions .pdl-filter-button,.pdl-filter-secondary{flex:1}}
@media(max-width:620px){.pdl-filter-bar-live{grid-template-columns:1fr}.pdl-filter-actions{grid-column:auto;flex-direction:column;align-items:stretch}.pdl-filter-actions .pdl-filter-button,.pdl-filter-secondary{width:100%}.pdl-year-legend{margin-top:8px}.pdl-year-chart{min-width:560px}}


/* PORTAL DATA LAZ ADDITIONS */
.pdl-filter-bar.pdl-laz-filter{grid-template-columns:.75fr .8fr 1fr 1.15fr auto}.pdl-laz-triple-bars{height:300px;display:flex;align-items:flex-end;gap:9px;padding:10px 5px 25px;border-bottom:1px solid var(--pdl-border)}.pdl-laz-month{height:100%;flex:1;display:flex;gap:3px;align-items:flex-end;justify-content:center;position:relative}.pdl-laz-month i{display:block;width:25%;min-width:4px;border-radius:5px 5px 1px 1px}.pdl-laz-month i.receipt{background:var(--pdl-primary)}.pdl-laz-month i.distribution{background:#75bfa2}.pdl-laz-month i.expense{background:#d3a048}.pdl-laz-month b{position:absolute;bottom:-20px;font-size:9px;color:var(--pdl-muted)}.pdl-laz-legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;font-size:10px;color:var(--pdl-muted)}.pdl-laz-legend i{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px}.pdl-laz-year-bar.receipt{background:var(--pdl-primary)}.pdl-laz-year-bar.distribution{background:#75bfa2}.pdl-laz-year-bar.expense{background:#d3a048}.pdl-laz-year-bars{height:170px;display:flex;align-items:flex-end;justify-content:center;gap:4px}.pdl-laz-year-bars .pdl-laz-year-bar{width:18px;min-height:3px;border-radius:5px 5px 2px 2px}.pdl-laz-quality{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:#f5faf7;border:1px solid var(--pdl-border);margin-top:12px}.pdl-laz-quality strong.ok{color:var(--pdl-primary-dark)}.pdl-laz-quality strong.warn{color:var(--pdl-danger)}
@media(max-width:900px){.pdl-filter-bar.pdl-laz-filter{grid-template-columns:1fr 1fr}.pdl-laz-year-bars .pdl-laz-year-bar{width:14px}}


/* v1.3.2 — flat application pages (AI Assistant & Task Management) */
.pdl-content-wrap--app{padding:34px 0 72px}
.pdl-container--app{width:min(1320px,calc(100% - 36px))}
.pdl-app-page{margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.pdl-app-page>.pdlai-shell{max-width:none;margin:0;border:0;border-radius:0;box-shadow:none;padding:0;background:transparent}
.pdl-app-page>.pdlai-shell .pdlai-head{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid var(--pdl-border)}
.pdl-app-page>.pwm-shell{width:100%;max-width:none;margin:0 0 40px}
@media(max-width:720px){.pdl-content-wrap--app{padding:22px 0 56px}.pdl-container--app{width:min(100% - 24px,1320px)}.pdl-app-page>.pdlai-shell{padding:0;margin:0}}

/* Inbox & Disposisi badge */
.pdl-menu-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;margin-left:5px;border-radius:999px;background:#c84f46;color:#fff;font-size:10px;font-weight:900;vertical-align:middle}.pdl-inbox-bell{position:relative;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--pdl-border);border-radius:12px;background:#fff;color:var(--pdl-primary-dark);text-decoration:none;font-size:17px;flex:0 0 auto}.pdl-inbox-bell:hover{background:var(--pdl-accent-2)}.pdl-inbox-bell .pdl-menu-badge{position:absolute;top:-6px;right:-7px;margin:0;box-shadow:0 0 0 2px #fff}@media(max-width:980px){.pdl-inbox-bell{order:2;margin-left:auto}.pdl-nav{order:3}}


/* Portal Data LAZ v2.0.2 dynamic menu and engine dropdown fix */
.pdl-nav { overflow: visible; }
.pdl-site-header { overflow: visible; }
.pdl-nav .sub-menu { z-index:9999; }
.pdle-filter, .pdle-filter select, .pdle-filter input { position:relative; z-index:10; }
.pdle-filter select { background:#fff !important; color:#163b31 !important; }
@media(max-width:900px){
 .pdl-header-inner{flex-wrap:wrap;}
 .pdl-nav{width:100%;}
 .pdl-nav ul{flex-wrap:wrap;}
}

/* v2.0.3 dropdown and mobile menu fixes */
.pdl-nav{position:relative;z-index:1000;}
.pdl-portal-menu li{position:relative;}
.pdl-portal-menu .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:230px;background:#fff;z-index:9999;padding:10px;border-radius:10px;box-shadow:0 8px 25px rgba(0,0,0,.12);}
.pdl-portal-menu li:hover>.sub-menu,.pdl-portal-menu li:focus-within>.sub-menu{display:block;}
.pdle-fs-filter select,.pdle-q-filter select,.pdleb-bank-filter select{z-index:9999;position:relative;background:#fff!important;}
@media(max-width:768px){.pdl-portal-menu .sub-menu{position:static;box-shadow:none;display:block;}}

/* Portal LAZ v2.0.7 enterprise menu refinement */
.pdl-nav .sub-menu,
.menu-item-has-children .sub-menu {
  min-width: 260px;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0,0,0,.12);
}
.menu-item-has-children .sub-menu .menu-item-has-children > .sub-menu {
  left: 100%;
  top: 0;
}
@media(max-width:900px){
 .menu-item-has-children .sub-menu .menu-item-has-children > .sub-menu {left:0;top:auto;}
}


/* =============================================================
   v2.1.0 — Breedline-style application navigation
   ============================================================= */
.pdl-app-header{overflow:visible;background:rgba(250,253,251,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.pdl-app-header-inner{min-height:72px;gap:18px;flex-wrap:nowrap!important}
.pdl-app-nav{flex:1;min-width:0;display:flex;justify-content:center;position:relative;z-index:1001}
.pdl-app-mainlinks{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0}
.pdl-app-navlink,.pdl-more-toggle{display:flex;align-items:center;gap:7px;border:0;background:transparent;text-decoration:none;color:#31574b;font-size:12.5px;font-weight:780;padding:10px 12px;border-radius:12px;white-space:nowrap;font-family:inherit;cursor:pointer}
.pdl-app-navlink:hover,.pdl-app-navlink.active,.pdl-more-toggle:hover,.pdl-more-toggle[aria-expanded="true"]{background:#eaf6f0;color:#075b43}
.pdl-nav-icon{display:inline-grid;place-items:center;min-width:20px;height:20px;font-size:12px;font-weight:900;line-height:1}
.pdl-chevron{font-size:15px;transition:transform .18s ease}.pdl-more-toggle[aria-expanded="true"] .pdl-chevron{transform:rotate(180deg)}
.pdl-more-wrap{position:relative}
.pdl-more-menu{display:block;position:absolute;right:0;top:calc(100% + 10px);width:280px;max-height:min(72vh,620px);overflow:auto;background:#fff;border:1px solid var(--pdl-border);border-radius:18px;padding:10px;box-shadow:0 22px 55px rgba(20,57,45,.18);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:10020}
.pdl-more-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.pdl-menu-label{display:block;padding:11px 10px 5px;color:#8a9d96;font-size:9px;font-weight:900;letter-spacing:.13em}
.pdl-more-link{display:flex;align-items:center;gap:10px;text-decoration:none;color:#24483e;padding:10px 11px;border-radius:11px;font-size:12.5px;font-weight:680}
.pdl-more-link:hover,.pdl-more-link.active{background:#f0f8f4;color:#075b43}.pdl-more-link .pdl-nav-icon{color:#638077}
.pdl-header-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.pdl-mobile-nav-toggle{display:none;width:40px;height:40px;border:1px solid var(--pdl-border);border-radius:12px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer}.pdl-mobile-nav-toggle span{display:block;width:18px;height:2px;background:#24483e;border-radius:4px;transition:.18s}.pdl-mobile-nav-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}.pdl-mobile-nav-toggle.open span:nth-child(2){opacity:0}.pdl-mobile-nav-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.pdl-mobile-menu,.pdl-bottomnav{display:none}.pdl-menu-open{overflow:hidden}

@media(max-width:1050px){.pdl-app-navlink{padding:9px 9px}.pdl-app-navlink .pdl-nav-icon{display:none}.pdl-local-badge{display:none}.pdl-brand-text span{display:none}}
@media(max-width:820px){
  body{padding-bottom:66px}.pdl-app-header-inner{min-height:64px}.pdl-app-nav{display:none}.pdl-mobile-nav-toggle{display:flex}.pdl-brand-text span{display:block}.pdl-header-actions{margin-left:auto}
  .pdl-mobile-menu{display:block;position:fixed;inset:0;z-index:99980;pointer-events:none;visibility:hidden}.pdl-mobile-menu.open{pointer-events:auto;visibility:visible}.pdl-mobile-backdrop{position:absolute;inset:0;border:0;background:rgba(15,40,32,.36);opacity:0;transition:opacity .2s ease}.pdl-mobile-menu.open .pdl-mobile-backdrop{opacity:1}
  .pdl-mobile-sheet{position:absolute;left:8px;right:8px;bottom:72px;max-height:min(76dvh,680px);overflow:auto;background:#fff;border:1px solid var(--pdl-border);border-radius:22px;box-shadow:0 24px 60px rgba(20,45,36,.25);padding:12px;transform:translateY(18px);opacity:0;transition:transform .2s ease,opacity .2s ease}.pdl-mobile-menu.open .pdl-mobile-sheet{transform:translateY(0);opacity:1}
  .pdl-mobile-profile{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 5px 12px;border-bottom:1px solid #edf3f0}.pdl-mobile-profile>div{display:flex;flex-direction:column;min-width:0}.pdl-mobile-profile strong{font-size:13px}.pdl-mobile-profile small{font-size:10px;color:#738a82}.pdl-mobile-profile button{border:0;background:#f2f6f4;width:34px;height:34px;border-radius:50%;font-size:22px;cursor:pointer}
  .pdl-mobile-links{padding:3px 0 8px}.pdl-mobile-link{display:flex;align-items:center;gap:11px;padding:11px 10px;border-radius:11px;color:#24483e;text-decoration:none;font-size:13px;font-weight:680}.pdl-mobile-link.active{background:#e8f6ef;color:#075b43}.pdl-mobile-link .pdl-nav-icon{color:#6e887f}.pdl-mobile-logout{display:flex;justify-content:center;text-decoration:none;color:#9d3a3a;background:#fff1f1;border-radius:12px;padding:11px;font-size:12px;font-weight:780}
  .pdl-bottomnav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;min-height:62px;padding:5px max(6px,env(safe-area-inset-right)) calc(5px + env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));background:rgba(255,255,255,.98);border-top:1px solid var(--pdl-border);box-shadow:0 -8px 24px rgba(27,64,52,.08);z-index:99970;backdrop-filter:blur(14px)}
  .pdl-bottom-link,.pdl-bottom-more{appearance:none;border:0;background:transparent;color:#71867e;text-decoration:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:11px;padding:4px 2px;font:inherit;cursor:pointer;min-width:0}.pdl-bottom-link>span:last-child{font-size:9px;font-weight:760}.pdl-bottom-link .pdl-nav-icon,.pdl-bottom-more .pdl-nav-icon{font-size:17px;height:19px}.pdl-bottom-more small{font-size:9px;font-weight:760}.pdl-bottom-link.active,.pdl-bottom-more[aria-expanded="true"]{color:#075b43;background:#e8f6ef}
}
@media(max-width:430px){.pdl-brand-text span{display:none}.pdl-brand-text strong{max-width:48vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdl-inbox-bell{display:none}}

/* v2.1.1 homepage refinements */
.pdl-fund-compare{display:grid;gap:14px;margin-top:16px}.pdl-fund-group{padding:10px 0 14px;border-bottom:1px solid var(--pdl-border)}.pdl-fund-group:last-child{border-bottom:0}.pdl-fund-group>strong{display:block;margin-bottom:9px;font-size:12px}.pdl-fund-metric{display:grid;grid-template-columns:72px 1fr 62px;gap:9px;align-items:center;margin:6px 0;font-size:9px;color:var(--pdl-muted)}.pdl-fund-metric b{text-align:right;color:var(--pdl-text-strong);font-size:10px}.pdl-bar-fill.receipt{background:var(--pdl-primary)}.pdl-bar-fill.distribution{background:#75bfa2}.pdl-bar-fill.expense{background:#d3a048}.pdl-laz-year-bar.opening{background:#9fb7ad}.pdl-laz-year-bars{gap:3px}.pdl-laz-year-bars .pdl-laz-year-bar{width:16px}@media(max-width:620px){.pdl-fund-metric{grid-template-columns:64px 1fr 58px}.pdl-laz-year-bars .pdl-laz-year-bar{width:12px}}


/* v2.1.2 — homepage frame + opening fund clarification */
.pdl-hero > .pdl-container{position:relative;z-index:2}
.pdl-hero-grid > .pdl-hero-panel{min-width:0;width:100%;box-sizing:border-box}
.pdl-opening-note{margin-top:14px;padding:11px 13px;border:1px solid var(--pdl-border);border-radius:12px;background:#f5faf7;color:var(--pdl-muted);font-size:11px;line-height:1.55}
.pdl-opening-note strong{color:var(--pdl-text-strong)}
@media(max-width:900px){.pdl-hero-grid>.pdl-hero-panel{max-width:none}}


/* v2.1.3 — Posisi keuangan total di homepage */
.pdl-position-panel{margin-top:18px}
.pdl-position-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:14px}
.pdl-position-card{border:1px solid var(--pdl-border);border-radius:16px;padding:16px;background:#fbfdfc;min-width:0}
.pdl-position-card span{display:block;color:var(--pdl-muted);font-size:11px;line-height:1.4;margin-bottom:8px}
.pdl-position-card strong{display:block;color:var(--pdl-text-strong);font-size:20px;line-height:1.15;overflow-wrap:anywhere}
.pdl-position-card.dk strong{font-size:16px;line-height:1.5}
.pdl-position-card.dk em{font-style:normal;color:var(--pdl-muted);font-size:10px;margin-right:4px}
.pdl-position-note{margin-top:12px;padding:11px 13px;border:1px solid var(--pdl-border);border-radius:12px;background:#f5faf7;color:var(--pdl-muted);font-size:11px;line-height:1.55}
.pdl-position-note strong{color:var(--pdl-text-strong)}
@media(max-width:1100px){.pdl-position-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){.pdl-position-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.pdl-position-grid{grid-template-columns:1fr}}
