/* Shared page-level styles for data tables, summaries and pagination.
 * Loaded once by layouts/default.php. Rules remain scoped by page classes.
 */

/* Source: app/Views/yayasan/rekap.php */
.yayasan-page .yayasan-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.9fr);gap:24px;align-items:start}
.yayasan-page .yayasan-main{min-width:0}
.yayasan-page .yayasan-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:20px}
.yayasan-page .yayasan-info{background:#e6eef1;border-radius:4px;padding:22px 20px;color:#263746;line-height:1.75;overflow-wrap:anywhere}
.yayasan-page .yayasan-info h2{font-size:1rem;margin:0 0 4px;font-weight:750;color:#25364a}
.yayasan-page .yayasan-info h3{font-size:1rem;margin:16px 0 4px;font-weight:750;color:#25364a}
.yayasan-page .yayasan-info p{margin:0 0 10px}
.yayasan-page .yayasan-verval{margin-top:28px}
.yayasan-page .yayasan-info a{color:#376ed0;text-decoration:none;overflow-wrap:anywhere}
.yayasan-page .yayasan-info a:hover{text-decoration:underline}
.yayasan-page .region-link{color:#376ed0;font-weight:750;text-decoration:none}.yayasan-page .region-link:hover{text-decoration:underline;color:#1d3b70}
.yayasan-page #yayasan-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}
.yayasan-page #yayasan-table th,.yayasan-page #yayasan-table td{padding:13px 16px;border-bottom:1px solid var(--line);white-space:nowrap}
.yayasan-page #yayasan-table th:first-child,.yayasan-page #yayasan-table td:first-child{width:64px;max-width:64px;text-align:center;padding-left:8px;padding-right:8px}
.yayasan-page #yayasan-table th:nth-child(2){width:auto}
.yayasan-page #yayasan-table th:last-child,.yayasan-page #yayasan-table td:last-child{width:110px}
.yayasan-page #yayasan-table th{background:#eef3fa;color:var(--ink);text-align:left;font-weight:750}
.yayasan-page #yayasan-table th.number,.yayasan-page #yayasan-table td.number{text-align:right}
.yayasan-page #yayasan-table tbody tr:nth-child(even){background:#f8faff}
.yayasan-page #yayasan-table td.total{font-weight:750;color:var(--ink)}
.yayasan-page .yayasan-alert{padding:14px 16px;margin-bottom:18px;border:1px solid #f3c7c7;background:#fff3f3;color:#9a2525;border-radius:12px}
.yayasan-page #yayasanPagination{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:18px}
.yayasan-page #yayasanPagination button{appearance:none;border:1px solid #d6e0ef;border-radius:9px;background:#fff;color:#34527d;min-width:38px;height:38px;padding:0 13px;font:inherit;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.yayasan-page #yayasanPagination button:hover:not(:disabled){background:#edf4ff;border-color:#9db8e8}
.yayasan-page #yayasanPagination button.active{background:#456fd0;border-color:#456fd0;color:#fff;font-weight:700}
.yayasan-page #yayasanPagination button:disabled{opacity:.45;cursor:not-allowed;background:#f3f5f8}
.yayasan-page #yayasanPagination span{color:#7b8ba5;padding:0 8px}
@media(max-width:1050px){.yayasan-page .yayasan-layout{grid-template-columns:1fr}.yayasan-page .yayasan-info{order:2}}

/* Source: app/Views/yayasan/daftar.php */
.yayasan-page .profile-link{color:#376ed0;font-weight:750;text-decoration:none}.yayasan-page .profile-link:hover{text-decoration:underline;color:#1d3b70}
.yayasan-page #yayasan-table{width:100%;min-width:0;table-layout:fixed;border-collapse:separate;border-spacing:0}
.yayasan-page #yayasan-table th,.yayasan-page #yayasan-table td{padding:13px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.yayasan-page #yayasan-table th:nth-child(2),.yayasan-page #yayasan-table td:nth-child(2){overflow:hidden;text-overflow:ellipsis}
.yayasan-page #yayasan-table th:last-child,.yayasan-page #yayasan-table td:last-child{width:110px;text-align:right}
.yayasan-page #yayasan-table th:first-child,.yayasan-page #yayasan-table td:first-child{width:58px;text-align:center;padding-left:8px;padding-right:8px}
.yayasan-page #yayasan-table th{background:#eef3fa;color:var(--ink);text-align:left;font-weight:750}
.yayasan-page #yayasan-table tbody tr:nth-child(even){background:#f8faff}
.yayasan-page #yayasanPagination{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:18px}
.yayasan-page #yayasanPagination button{appearance:none;border:1px solid #d6e0ef;border-radius:9px;background:#fff;color:#34527d;min-width:38px;height:38px;padding:0 13px;font:inherit;cursor:pointer}
.yayasan-page #yayasanPagination button:hover:not(:disabled){background:#edf4ff;border-color:#9db8e8}
.yayasan-page #yayasanPagination button.active{background:#456fd0;border-color:#456fd0;color:#fff;font-weight:700}
.yayasan-page #yayasanPagination button:disabled{opacity:.45;cursor:not-allowed;background:#f3f5f8}
.yayasan-page #yayasanPagination span{color:#7b8ba5;padding:0 8px}
.yayasan-page .yayasan-alert{padding:14px 16px;margin-bottom:18px;border:1px solid #f3c7c7;background:#fff3f3;color:#9a2525;border-radius:12px}

/* Source: app/Views/residu/update_rekap.php */
.residu-page .residu-kpi{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));margin-bottom:20px}.residu-page .residu-region-link{color:#3974d5;font-weight:750;text-decoration:none}.residu-page .residu-breadcrumbs .residu-crumb-link{color:#526d91;font-weight:400;text-decoration:none}.residu-page .residu-breadcrumbs .residu-crumb-link:hover{color:#3974d5;text-decoration:underline}.residu-page .residu-breadcrumbs .breadcrumb-separator{color:#8a9ab0}.residu-page .residu-region-link:hover{text-decoration:underline;color:#1d3b70}.residu-page #residu-table{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}.residu-page #residu-table th,.residu-page #residu-table td{padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.residu-page #residu-table th{background:#eef3fa;color:var(--ink);text-align:left;font-weight:750}.residu-page #residu-table .residu-sort{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer;white-space:nowrap}.residu-page #residu-table .residu-sort:hover{color:#315fba}.residu-page #residu-table .sort-indicator{font-size:.9em;opacity:.6}.residu-page #residu-table th:nth-child(n+3),.residu-page #residu-table td:nth-child(n+3){text-align:right}.residu-page #residu-table tbody tr:nth-child(even){background:#f8faff}

/* Source: app/Views/residu/update_daftar.php */
.residu-page .breadcrumbs a{color:#526d91;font-weight:400;text-decoration:none}.residu-page .breadcrumbs a:hover{color:#3974d5;text-decoration:underline}.residu-page #residu-schools{width:100%;min-width:900px;border-collapse:separate;border-spacing:0}.residu-page #residu-schools th,.residu-page #residu-schools td{padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.residu-page #residu-schools th{background:#eef3fa;color:var(--ink);text-align:left;font-weight:750}.residu-page #residu-schools th:nth-child(n+4),.residu-page #residu-schools td:nth-child(n+4){text-align:center}.residu-page #residu-schools th:nth-child(1){text-align:center}.residu-page #residu-schools td:nth-child(1){text-align:center}.residu-page .school-detail-link{color:#1767ce;font-weight:650;text-decoration:none}.residu-page .school-detail-link:hover{color:#1767ce;text-decoration:underline}.residu-page .residu-mark{margin-inline:auto}.residu-page #residu-schools tbody tr:nth-child(even){background:#f8faff}.residu-page .residu-mark{display:inline-block;width:30px;height:16px;background:#df7074;border-radius:2px;vertical-align:middle}

/* Source: app/Views/residu/tidak_aktif_rekap.php */
.inactive-page .inactive-kpi{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));margin-bottom:20px}.inactive-page .residu-breadcrumbs .residu-crumb-link{color:#526d91;font-weight:400;text-decoration:none}.inactive-page .residu-breadcrumbs .residu-crumb-link:hover{color:#3974d5;text-decoration:underline}.inactive-page .residu-breadcrumbs .breadcrumb-separator{color:#8a9ab0}.inactive-page .breadcrumbs .current{color:#3974d5;font-weight:750}.inactive-page .inactive-region-link{color:#3974d5;font-weight:750;text-decoration:none}.inactive-page .inactive-region-link:hover{color:#1d3b70;text-decoration:underline}.inactive-page #inactive-table{width:100%;min-width:850px;border-collapse:separate;border-spacing:0}.inactive-page #inactive-table th,.inactive-page #inactive-table td{padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.inactive-page #inactive-table th{background:#eef3fa;color:var(--ink);text-align:left;font-weight:750}.inactive-page #inactive-table td.number,.inactive-page #inactive-table th:nth-child(n+3){text-align:right}.inactive-page .inactive-sort{display:inline-flex;align-items:center;gap:6px;border:0;padding:0;background:transparent;color:inherit;font:inherit;font-weight:inherit;cursor:pointer}.inactive-page .inactive-sort span{color:#8294ad}.inactive-page #inactive-table tbody tr:nth-child(even){background:#f8faff}.inactive-page .total-cell{font-weight:750}

/* Source: app/Views/residu/tidak_aktif_daftar.php */
.inactive-page .residu-breadcrumbs .residu-crumb-link {
        color: #526d91;
        font-weight: 400;
        text-decoration: none
    }

    .inactive-page .residu-breadcrumbs .residu-crumb-link:hover {
        color: #3974d5;
        text-decoration: underline
    }

    .inactive-page .residu-breadcrumbs .breadcrumb-separator {
        color: #8a9ab0
    }

    .inactive-page .breadcrumbs .current {
        color: #3974d5;
        font-weight: 750
    }

    .inactive-page #inactive-schools {
        width: 100%;
        min-width: 1000px;
        border-collapse: separate;
        border-spacing: 0
    }

    .inactive-page #inactive-schools th,
    .inactive-page #inactive-schools td {
        padding: 12px 14px;
        border-bottom: 1px solid var(--line);
        white-space: nowrap
    }

    .inactive-page #inactive-schools th {
        background: #eef3fa;
        color: var(--ink);
        text-align: left;
        font-weight: 750
    }

    .inactive-page #inactive-schools tbody tr:nth-child(even) {
        background: #f8faff
    }

    .inactive-page .inactive-school-link {
        color: #3974d5;
        font-weight: 650;
        text-decoration: none
    }

    .inactive-page .inactive-school-link:hover {
        text-decoration: underline
    }

    .inactive-page .table-pagination {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 6px;
        flex-wrap: wrap;
        padding-top: 14px
    }

    .inactive-page .table-pagination button {
        border: 1px solid #d9e3f2;
        background: #fff;
        color: #315fba;
        border-radius: 9px;
        padding: 8px 12px;
        font: inherit;
        font-size: .9rem;
        cursor: pointer
    }

    .inactive-page .table-pagination button[aria-current=page] {
        background: #356bc8;
        color: #fff;
        border-color: #356bc8
    }

    .inactive-page .table-pagination button:disabled {
        opacity: .45;
        cursor: not-allowed
    }


/* Shared pagination contract: controls stay grouped at the right edge. */
.yayasan-page #yayasanPagination {
  justify-content: flex-end;
}
.yayasan-page #yayasanPagination .yayasan-page-numbers {
  justify-content: flex-end !important;
}
.residu-page .table-pagination,
.inactive-page .table-pagination {
  justify-content: flex-end;
}
@media (max-width: 640px) {
  .yayasan-page #yayasanPagination,
  .residu-page .table-pagination,
  .inactive-page .table-pagination {
    justify-content: flex-start;
  }
}

/* Shared pagination component used by Satuan Pendidikan and data pages. */
.table-pagination{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap;padding-top:14px}
.table-pagination button{border:1px solid #d9e3f2;background:#fff;color:#315fba;border-radius:9px;padding:8px 12px;font:inherit;font-size:.9rem;cursor:pointer}
.table-pagination button:hover:not(:disabled){background:#eef4ff}
.table-pagination button[aria-current=page]{background:#356bc8;color:#fff;border-color:#356bc8}
.table-pagination button:disabled{opacity:.45;cursor:not-allowed}

/* Shared sorting affordance for PAUD–DIKTI tables. */
#dataTable th.sortable-header{cursor:pointer;user-select:none}
#dataTable th.sortable-header:hover{color:#315fba}
#dataTable th.sortable-header:focus-visible{outline:2px solid #4b78d1;outline-offset:-3px;border-radius:4px}
#dataTable .sort-indicator{display:inline-block;margin-left:5px;min-width:.8em;font-size:.9em;font-weight:700;color:#6b83a7;vertical-align:baseline}
#dataTable th[aria-sort="ascending"] .sort-indicator,#dataTable th[aria-sort="descending"] .sort-indicator{color:#315fba;opacity:1}


/* Aggregate tables: numeric headers align with their right-aligned values. */
#dataTable.data-table--aggregate thead th:nth-child(n + 3) {
  text-align: right;
}
#dataTable.data-table--aggregate thead th:nth-child(n + 3) .sort-indicator {
  margin-left: 5px;
}

/* Residu tables: clickable sort controls share the standard header treatment. */
#residu-table thead th > button,
#inactive-table thead th > button {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
#residu-table thead th > button:focus-visible,
#inactive-table thead th > button:focus-visible {
  outline: 2px solid #4b78d1;
  outline-offset: 3px;
  border-radius: 3px;
}
#residu-table thead th[aria-sort="ascending"] .sort-indicator,
#residu-table thead th[aria-sort="descending"] .sort-indicator,
#inactive-table thead th[aria-sort="ascending"] span,
#inactive-table thead th[aria-sort="descending"] span {
  color: #315fba;
  font-weight: 700;
}


/* Yayasan daftar: compact NPYP column; avoid the small horizontal overflow. */
.yayasan-page #yayasan-table{width:100%;min-width:0;table-layout:fixed}
.yayasan-page #yayasan-table th:nth-child(1),.yayasan-page #yayasan-table td:nth-child(1){width:58px}
.yayasan-page #yayasan-table th:nth-child(2),.yayasan-page #yayasan-table td:nth-child(2){width:105px;max-width:105px;overflow:hidden;text-overflow:ellipsis}
.yayasan-page #yayasan-table th:nth-child(3),.yayasan-page #yayasan-table td:nth-child(3){width:29%}
.yayasan-page #yayasan-table th:nth-child(4),.yayasan-page #yayasan-table td:nth-child(4){width:31%;overflow:hidden;text-overflow:ellipsis}
.yayasan-page #yayasan-table th:nth-child(5),.yayasan-page #yayasan-table td:nth-child(5){width:18%;overflow:hidden;text-overflow:ellipsis}
.yayasan-page .table-wrap{overflow-x:hidden}

/* Program/Layanan PAUD — shared DataRef visual language. */
.program-page .breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.program-page .breadcrumbs a{color:#526d91;text-decoration:none;font-weight:400}
.program-page .breadcrumbs a:hover{color:#3974d5;text-decoration:underline}
.program-page .breadcrumbs .current{color:#3974d5;font-weight:750}
.program-page .program-kpi{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin-bottom:20px}
.program-page .program-region-link{color:#3974d5;font-weight:750;text-decoration:none}
.program-page .program-region-link:hover{color:#1d3b70;text-decoration:underline}
.program-page .program-filter{display:flex;justify-content:center;margin:0 0 20px;padding:18px 22px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 18px rgba(30,60,100,.04)}
.program-page .program-filter form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.program-page .program-filter label{font-weight:700;color:#334b70}
.program-page .program-filter select{min-width:220px;min-height:44px;padding:8px 14px;border:1px solid #d6e0ef;border-radius:10px;background:#fff;color:var(--ink);font:inherit}
.program-page .program-filter button{min-height:44px;padding:0 22px;border:0;border-radius:10px;background:#456fd0;color:#fff;font:inherit;font-weight:700;cursor:pointer}
.program-page #program-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;table-layout:auto}
.program-page #program-table th,.program-page #program-table td{padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.program-page #program-table th{background:#eef3fa;color:var(--ink);text-align:left;font-weight:750}
.program-page #program-table th.number,.program-page #program-table td.number{text-align:right}
.program-page #program-table th:first-child,.program-page #program-table td:first-child{text-align:center;width:64px}
.program-page #program-table tbody tr:nth-child(even){background:#f8faff}
.program-page #program-table .sort-indicator{font-size:.9em;color:#8294ad}
.program-page .program-alert{padding:14px 16px;margin-bottom:18px;border:1px solid #f3c7c7;background:#fff3f3;color:#9a2525;border-radius:12px}
.program-page .program-school-table{min-width:980px!important}
.program-page .table-wrap{overflow-x:auto}
@media(max-width:760px){.program-page .program-filter{justify-content:flex-start}.program-page .program-filter form{align-items:stretch;flex-direction:column;width:100%}.program-page .program-filter select,.program-page .program-filter button{width:100%}}
.residu-page #residu-table th:nth-child(n+3),.inactive-page #inactive-table th:nth-child(n+3),.program-page #program-table th.number{text-align:right}

/* Program/Layanan PAUD final table refinements. */
.program-page #program-table thead th { cursor: pointer; user-select: none; }
.program-page #program-table thead th.number,
.program-page #program-table thead th:nth-child(n+3) { text-align: right; }
.program-page #program-table.program-school-table { min-width: 0 !important; table-layout: fixed; }
.program-page #program-table.program-school-table th:nth-child(1),
.program-page #program-table.program-school-table td:nth-child(1) { width: 7%; text-align: center; }
.program-page #program-table.program-school-table th:nth-child(2),
.program-page #program-table.program-school-table td:nth-child(2) { width: 12%; }
.program-page #program-table.program-school-table th:nth-child(3),
.program-page #program-table.program-school-table td:nth-child(3) { width: 24%; }
.program-page #program-table.program-school-table th:nth-child(4),
.program-page #program-table.program-school-table td:nth-child(4) { width: 31%; }
.program-page #program-table.program-school-table th:nth-child(5),
.program-page #program-table.program-school-table td:nth-child(5) { width: 15%; }
.program-page #program-table.program-school-table th:nth-child(6),
.program-page #program-table.program-school-table td:nth-child(6) { width: 11%; }
.program-page #program-table.program-school-table td { overflow: hidden; text-overflow: ellipsis; }
.program-page .program-table-meta { padding-top: 12px; }
@media (max-width: 900px) { .program-page #program-table.program-school-table { min-width: 900px !important; } }


/* Kesetaraan shares the Program/Layanan table contract. */
.kesetaraan-page #kesetaraan-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;table-layout:auto}
.kesetaraan-page #kesetaraan-table th,.kesetaraan-page #kesetaraan-table td{padding:12px 14px;border-bottom:1px solid var(--line);white-space:nowrap}
.kesetaraan-page #kesetaraan-table th{background:#eef3fa;color:var(--ink);text-align:left;font-weight:750}
.kesetaraan-page #kesetaraan-table th.number,.kesetaraan-page #kesetaraan-table td.number,.kesetaraan-page #kesetaraan-table th:nth-child(n+3){text-align:right}
.kesetaraan-page #kesetaraan-table th:first-child,.kesetaraan-page #kesetaraan-table td:first-child{text-align:center;width:64px}
.kesetaraan-page #kesetaraan-table tbody tr:nth-child(even){background:#f8faff}
.kesetaraan-page #kesetaraan-table.program-school-table{min-width:0!important;table-layout:fixed}
.kesetaraan-page #kesetaraan-table.program-school-table th:nth-child(1),.kesetaraan-page #kesetaraan-table.program-school-table td:nth-child(1){width:6%;text-align:center}
.kesetaraan-page #kesetaraan-table.program-school-table th:nth-child(2),.kesetaraan-page #kesetaraan-table.program-school-table td:nth-child(2){width:10%}
.kesetaraan-page #kesetaraan-table.program-school-table th:nth-child(3),.kesetaraan-page #kesetaraan-table.program-school-table td:nth-child(3){width:22%}
.kesetaraan-page #kesetaraan-table.program-school-table th:nth-child(4),.kesetaraan-page #kesetaraan-table.program-school-table td:nth-child(4){width:25%}
.kesetaraan-page #kesetaraan-table.program-school-table th:nth-child(5),.kesetaraan-page #kesetaraan-table.program-school-table td:nth-child(5){width:13%}
.kesetaraan-page #kesetaraan-table.program-school-table th:nth-child(n+6),.kesetaraan-page #kesetaraan-table.program-school-table td:nth-child(n+6){width:8%;text-align:right}
.kesetaraan-page .table-pagination{display:flex;justify-content:flex-end;align-items:center;gap:6px;flex-wrap:wrap;padding-top:14px}
.kesetaraan-page .table-pagination button{border:1px solid #d9e3f2;background:#fff;color:#315fba;border-radius:9px;padding:8px 12px;font:inherit;font-size:.9rem;cursor:pointer}
.kesetaraan-page .table-pagination button[aria-current=page]{background:#356bc8;color:#fff;border-color:#356bc8}

/* =========================================================
   Global school/foundation address wrapping refinement.
   Only address cells are changed; table controls and sorting
   remain untouched.
   ========================================================= */
#dataTable td:nth-child(4),
#residu-schools td:nth-child(4),
#inactive-schools td:nth-child(4),
#kesetaraan-table td:nth-child(4),
#yayasan-table td:nth-child(4) {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    vertical-align: middle;
}

/* Address text wraps naturally within its cell without changing table-cell layout. */
/* Foundation table: Kelurahan is the last column and must be left aligned. */
.yayasan-page #yayasan-table th:last-child,
.yayasan-page #yayasan-table td:last-child {
    text-align: left !important;
}



/* =========================================================
   Long school/foundation names: wrap inside their own cells.
   Keep headers, sorting, navigation, column alignment and
   all other table behavior unchanged.
   ========================================================= */
#dataTable td:nth-child(3),
#kesetaraan-table.program-school-table td:nth-child(3) {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
    vertical-align: middle;
}

#kesetaraan-table.program-school-table td:nth-child(3) a {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}


/* =========================================================
   Konsistensi tautan nama wilayah dan satuan pendidikan.
   Hover boleh mengubah warna, tetapi tidak menampilkan garis
   bawah. Berlaku untuk SatPen, Residu, Yayasan, dan Program.
   ========================================================= */
:where(
    .breadcrumbs,
    .residu-breadcrumbs,
    .yayasan-page,
    .program-page,
    .residu-page,
    .inactive-page,
    .kesetaraan-page,
    .data-page
) a:hover,
:where(
    #dataTable,
    #residu-schools,
    #inactive-schools,
    #yayasan-table,
    #kesetaraan-table
) tbody td a:hover,
a.region-link:hover,
a.residu-region-link:hover,
a.program-region-link:hover,
a.profile-link:hover {
    text-decoration: none !important;
}

/* Keep link affordance clear with a restrained color transition. */
:where(
    .breadcrumbs,
    .residu-breadcrumbs,
    .yayasan-page,
    .program-page,
    .residu-page,
    .inactive-page,
    .kesetaraan-page,
    .data-page
) a,
:where(
    #dataTable,
    #residu-schools,
    #inactive-schools,
    #yayasan-table,
    #kesetaraan-table
) tbody td a,
a.region-link,
a.residu-region-link,
a.program-region-link,
a.profile-link {
    transition: color .15s ease;
}

:where(
    .breadcrumbs,
    .residu-breadcrumbs,
    .yayasan-page,
    .program-page,
    .residu-page,
    .inactive-page,
    .kesetaraan-page,
    .data-page
) a:hover,
:where(
    #dataTable,
    #residu-schools,
    #inactive-schools,
    #yayasan-table,
    #kesetaraan-table
) tbody td a:hover,
a.region-link:hover,
a.residu-region-link:hover,
a.program-region-link:hover,
a.profile-link:hover {
    color: #1d4fa8;
}


/* Shared narrow first column for row numbers (up to 3 digits). */
:is(#dataTable, #residu-table, #residu-schools, #inactive-table, #inactive-schools, #yayasan-table, #program-table, #plTable, #kesetaraan-table) > thead > tr > th:first-child,
:is(#dataTable, #residu-table, #residu-schools, #inactive-table, #inactive-schools, #yayasan-table, #program-table, #plTable, #kesetaraan-table) > tbody > tr > td:first-child {
    width: 72px !important;
    min-width: 72px !important;
    max-width: 72px !important;
    white-space: nowrap;
}

:is(#dataTable, #residu-table, #residu-schools, #inactive-table, #inactive-schools, #yayasan-table, #program-table, #plTable, #kesetaraan-table) > thead > tr > th:first-child,
:is(#dataTable, #residu-table, #residu-schools, #inactive-table, #inactive-schools, #yayasan-table, #program-table, #plTable, #kesetaraan-table) > tbody > tr > td:first-child {
    text-align: center;
}

/* Program/Layanan Ketrampilan Kerja dan SLB — reuse shared DataRef components. */
.program-layanan-page #plTable{width:100%;min-width:0;border-collapse:separate;border-spacing:0}
.program-layanan-page #plTable th,.program-layanan-page #plTable td{padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.program-layanan-page #plTable th{background:#eef3fa;color:var(--ink);font-weight:750;text-align:left;cursor:pointer}
.program-layanan-page #plTable th.number,.program-layanan-page #plTable td.number{text-align:right}
.program-layanan-page #plTable th:first-child,.program-layanan-page #plTable td:first-child{text-align:center;width:58px}
.program-layanan-page #plTable .sort-indicator{font-size:.9em;color:#8294ad}
.program-layanan-page #plTable.program-school-table td:nth-child(3),
.program-layanan-page #plTable.program-school-table td:nth-last-child(3){white-space:normal;overflow-wrap:anywhere;word-break:normal}
.program-layanan-page #plTable.program-school-table td:nth-last-child(3){display:table-cell}
.program-layanan-page .table-wrap{overflow-x:auto}
.program-layanan-page #plTable.program-school-table{min-width:1150px}
.program-layanan-page .breadcrumbs a:hover,.program-layanan-page #plTable a:hover{text-decoration:none!important;color:#1d4fa8}

/* Header bertingkat KKNI: hemat lebar, tetap selaras dengan format lama. */
.program-layanan-page #plTable .group-header{text-align:center!important;cursor:default;border-bottom:1px solid var(--line)}
.program-layanan-page #plTable .level-header{text-align:center!important;min-width:48px;padding-left:7px;padding-right:7px}
.program-layanan-page #plTable th[rowspan="2"]{vertical-align:middle}
.program-layanan-page #plTable th[data-col]{cursor:pointer}
