/**
 * Gaya tabel dan tombol Edit/Hapus modern (seragam dengan Pembentukan Mata Kuliah).
 * Diterapkan ke elemen di dalam .data-tables-modern (biasanya main).
 */

.data-tables-modern .table {
  border-collapse: separate;
  border-spacing: 0;
  margin-bottom: 0;
}

/* Garis vertikal putih/terang antar kolom untuk memudahkan melihat batas kolom dan resize */
.data-tables-modern .table thead th,
.data-tables-modern .sks-weighting-table thead th {
  background: linear-gradient(135deg, #f1f5f9 0%, #e2e8f0 100%) !important;
  color: #1a1a2e !important;
  font-weight: 700 !important;
  font-size: 0.9rem !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 0.875rem 1rem !important;
  border: none !important;
  border-bottom: 2px solid #2F7C8C !important;
  border-right: 1px solid #e2e8f0 !important;
}
.data-tables-modern .table thead th:last-child,
.data-tables-modern .sks-weighting-table thead th:last-child {
  border-right: none !important;
}

/* Semua tabel di dalam .data-tables-modern (termasuk min-w-full, w-full, matrix) dapat garis antar kolom */
.data-tables-modern table thead th {
  border-right: 1px solid #e2e8f0 !important;
}
.data-tables-modern table thead th:last-child {
  border-right: none !important;
}
.data-tables-modern table tbody td {
  border-right: 1px solid #e2e8f0 !important;
}
.data-tables-modern table tbody td:last-child {
  border-right: none !important;
}

/* Semua halaman modul (sisakur-module-page): kepala tabel hitam, teks putih — mengoverride aturan di atas */
.data-tables-modern.sisakur-module-page .table thead th,
.data-tables-modern.sisakur-module-page .sks-weighting-table thead th,
.data-tables-modern.sisakur-module-page table thead th {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  border-bottom-color: rgba(255, 255, 255, 0.2) !important;
  border-right: 1px solid rgba(255, 255, 255, 0.35) !important;
}
.data-tables-modern.sisakur-module-page .table thead th:last-child,
.data-tables-modern.sisakur-module-page .sks-weighting-table thead th:last-child,
.data-tables-modern.sisakur-module-page table thead th:last-child {
  border-right: none !important;
}

.data-tables-modern.sisakur-module-page .table thead th a,
.data-tables-modern.sisakur-module-page .table thead th span,
.data-tables-modern.sisakur-module-page table thead th a,
.data-tables-modern.sisakur-module-page table thead th span,
.data-tables-modern.sisakur-module-page thead th * {
  color: #ffffff !important;
}

/* RPS Management & Measurement CPMK: pastikan kepala tabel hitam–putih (override thead.table-light / tabel dengan th-resizer) */
[data-page="rps-management"] .table thead th,
[data-page="rps-management"] thead.table-light th,
[data-page="rps-management"] .table-responsive thead th {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  border-right: 1px solid rgba(255, 255, 255, 0.35) !important;
}
[data-page="rps-management"] .table thead th:last-child,
[data-page="rps-management"] thead.table-light th:last-child,
[data-page="rps-management"] .table-responsive thead th:last-child {
  border-right: none !important;
}
[data-page="rps-management"] thead.table-light th *,
[data-page="rps-management"] .table thead th span {
  color: #ffffff !important;
}
[data-page="measurement-cpmk"] #rawValsTable thead th,
[data-page="measurement-cpmk"] #rawValsTable thead th span,
[data-page="measurement-cpmk"] #rawValsTable thead th .th-resizer {
  background: #000000 !important;
  background-color: #000000 !important;
  color: #ffffff !important;
  border-right: 1px solid rgba(255, 255, 255, 0.35) !important;
}
[data-page="measurement-cpmk"] #rawValsTable thead th:last-child {
  border-right: none !important;
}

.data-tables-modern .table thead th:first-child {
  border-radius: 10px 0 0 0;
}

.data-tables-modern .table thead th:last-child {
  border-radius: 0 10px 0 0;
}

.data-tables-modern .table tbody tr,
.data-tables-modern .study-materials-page .study-materials-table tbody tr,
.data-tables-modern .sks-weighting-table tbody tr {
  background: #ffffff;
}

.data-tables-modern .table tbody tr:nth-child(even),
.data-tables-modern .study-materials-page .study-materials-table tbody tr:nth-child(even),
.data-tables-modern .sks-weighting-table tbody tr:nth-child(even) {
  background: #f8fafc;
}

.data-tables-modern .table tbody tr:hover,
.data-tables-modern .study-materials-page .study-materials-table tbody tr:hover,
.data-tables-modern .sks-weighting-table tbody tr:hover {
  background: rgba(136, 201, 217, 0.15) !important;
}

.data-tables-modern .table tbody td,
.data-tables-modern .study-materials-page .study-materials-table tbody td,
.data-tables-modern .sks-weighting-table tbody td {
  padding: 0.875rem 1rem !important;
  border: none !important;
  border-bottom: 1px solid #e2e8f0 !important;
  border-right: 1px solid #e2e8f0 !important;
  vertical-align: middle !important;
}
.data-tables-modern .table tbody td:last-child,
.data-tables-modern .study-materials-page .study-materials-table tbody td:last-child,
.data-tables-modern .sks-weighting-table tbody td:last-child {
  border-right: none !important;
}

.data-tables-modern .table tbody tr:last-child td {
  border-bottom: none;
}

.data-tables-modern .table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 10px;
}

.data-tables-modern .table tbody tr:last-child td:last-child {
  border-radius: 0 0 10px 0;
}

.data-tables-modern .table .col-aksi-header,
.data-tables-modern .table .col-aksi-cell,
.data-tables-modern .study-materials-page .study-materials-table .col-aksi-header,
.data-tables-modern .study-materials-page .study-materials-table .col-aksi-cell,
.data-tables-modern .study-materials-page .study-materials-table .col-actions,
.data-tables-modern .sks-weighting-table .col-aksi-header,
.data-tables-modern .sks-weighting-table .col-aksi-cell,
.data-tables-modern .sks-weighting-table .col-actions {
  width: 165px !important;
  min-width: 165px !important;
  max-width: 165px !important;
  white-space: nowrap !important;
  box-sizing: border-box;
}

.data-tables-modern .table .col-aksi-cell .btn,
.data-tables-modern .study-materials-page .study-materials-table .col-aksi-cell .btn,
.data-tables-modern .study-materials-page .study-materials-table .col-actions .btn,
.data-tables-modern .sks-weighting-table .col-aksi-cell .btn,
.data-tables-modern .sks-weighting-table .col-actions .btn {
  white-space: nowrap;
}

.data-tables-modern .table-responsive {
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  overflow: hidden;
}

/* Base tombol aksi (sama dengan crud-render / VMT Prodi PEO) — ukuran diperkecil ~10% + 15% */
.data-tables-modern .crud-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 10px;
  min-width: 71px;
  height: 29px;
  box-sizing: border-box;
  border: none;
  border-radius: 8px;
  font-size: 0.62rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
}
.data-tables-modern .crud-btn:hover { transform: translateY(-1px); }
.data-tables-modern .crud-btn:active { transform: translateY(0); }

/* Tombol Edit: modern/futuristik, teks putih (seragam dengan crud-render / VMT Prodi PEO) */
.data-tables-modern .btn.btn-primary.btn-sm.fc-edit,
.data-tables-modern .btn.btn-primary.btn-sm.crud-edit,
.data-tables-modern .crud-btn-edit,
.data-tables-modern a.crud-btn-edit {
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%) !important;
  background-color: #4f46e5 !important;
  border: none !important;
  color: #fff !important;
  border-radius: 8px;
  font-weight: 600;
  padding: 6px 10px;
  min-width: 71px;
  height: 29px;
  box-sizing: border-box;
  font-size: 0.62rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(99, 102, 241, 0.4);
}
.data-tables-modern .btn.btn-primary.btn-sm.fc-edit:hover,
.data-tables-modern .btn.btn-primary.btn-sm.crud-edit:hover,
.data-tables-modern .crud-btn-edit:hover,
.data-tables-modern a.crud-btn-edit:hover {
  background: linear-gradient(135deg, #6366f1 0%, #4f46e5 100%) !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(99, 102, 241, 0.5);
  transform: translateY(-1px);
}
.data-tables-modern .btn.btn-primary.btn-sm.fc-edit .bi,
.data-tables-modern .btn.btn-primary.btn-sm.crud-edit .bi,
.data-tables-modern .crud-btn-edit .bi,
.data-tables-modern .crud-btn-edit i { font-size: 0.77rem; color: #fff !important; }
.data-tables-modern .btn.btn-primary.btn-sm.fc-edit span,
.data-tables-modern .btn.btn-primary.btn-sm.crud-edit span,
.data-tables-modern .crud-btn-edit span { color: #fff !important; }

/* Tombol Hapus: modern/futuristik, teks putih (solid red) */
.data-tables-modern .btn.btn-outline-danger.btn-sm.fc-delete,
.data-tables-modern .btn.btn-outline-danger.btn-sm.crud-delete,
.data-tables-modern .crud-btn-delete {
  background: #dc2626 !important;
  background-color: #dc2626 !important;
  border: none !important;
  color: #fff !important;
  border-radius: 8px;
  font-weight: 600;
  padding: 6px 10px;
  min-width: 71px;
  height: 29px;
  box-sizing: border-box;
  font-size: 0.62rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(220, 38, 38, 0.35);
}
.data-tables-modern .btn.btn-outline-danger.btn-sm.fc-delete:hover,
.data-tables-modern .btn.btn-outline-danger.btn-sm.crud-delete:hover,
.data-tables-modern .crud-btn-delete:hover {
  background: #b91c1c !important;
  background-color: #b91c1c !important;
  color: #fff !important;
  box-shadow: 0 6px 20px rgba(220, 38, 38, 0.45);
  transform: translateY(-1px);
}
.data-tables-modern .btn.btn-outline-danger.btn-sm.fc-delete .bi,
.data-tables-modern .btn.btn-outline-danger.btn-sm.crud-delete .bi,
.data-tables-modern .crud-btn-delete .bi,
.data-tables-modern .crud-btn-delete i { font-size: 0.77rem; color: #fff !important; }
.data-tables-modern .btn.btn-outline-danger.btn-sm.fc-delete span,
.data-tables-modern .btn.btn-outline-danger.btn-sm.crud-delete span,
.data-tables-modern .crud-btn-delete span { color: #fff !important; }

/* Wrapper aksi: jarak konsisten antar tombol */
.data-tables-modern .crud-actions-wrap {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

/* Header kolom Aksi: gaya seragam */
.data-tables-modern .col-aksi-header {
  color: #fff !important;
  background: #4f46e5 !important;
  background-color: #4f46e5 !important;
}

.data-tables-modern .btn .bi {
  vertical-align: -0.125em;
}

.data-tables-modern .table tbody tr.table-warning {
  background: #fef9c3 !important;
  border-left: 4px solid #eab308;
}

.data-tables-modern .table tbody tr.table-warning td {
  background: transparent;
}

@media (max-width: 768px) {
  .data-tables-modern .table thead th,
  .data-tables-modern .table tbody td {
    padding: 0.65rem 0.5rem;
    font-size: 0.85rem;
  }
  .data-tables-modern.sisakur-module-page .table thead th,
  .data-tables-modern.sisakur-module-page table thead th {
    background: #000000 !important;
    background-color: #000000 !important;
    color: #ffffff !important;
  }
  .data-tables-modern .table .col-aksi-header,
  .data-tables-modern .table .col-aksi-cell {
    min-width: 140px !important;
  }
  .data-tables-modern .btn.btn-sm {
    padding: 0.35rem 0.5rem;
    font-size: 0.8rem;
  }
}
