/* Dark Mode untuk SEMUA tabel di aplikasi */

[data-theme="dark"] {
    --dt-bg: #1e1e1e;
    --dt-text: #e0e0e0;
    --dt-header-bg: #2563eb;
    --dt-header-text: #ffffff;
    --dt-border: #404040;
    --dt-stripe: rgba(255,255,255,0.03);
    --dt-hover: rgba(255,255,255,0.08);
    --dt-input-bg: #2d2d2d;
    --dt-pagination-bg: #2d2d2d;
    --dt-pagination-text: #e0e0e0;
    --dt-pagination-hover: #404040;
    --dt-pagination-active: #2563eb;
    --dt-badge-info: #0891b2;
    --dt-badge-success: #059669;
    --dt-badge-secondary: #4b5563;
    --dt-link-color: #60a5fa;
    --dt-link-hover: #93c5fd;
}

/* Dark Mode untuk table-responsive wrapper */
[data-theme="dark"] .table-responsive {
    background-color: var(--dt-bg) !important;
    color: var(--dt-text) !important;
    border-radius: 8px;
    padding: 1px; /* Untuk menghindari border collapse issue */
}

/* Dark Mode untuk semua tabel dengan class table */
[data-theme="dark"] table.table,
[data-theme="dark"] .table {
    background-color: var(--dt-bg) !important;
    color: var(--dt-text) !important;
    border-color: var(--dt-border) !important;
    width: 100% !important;
    margin-bottom: 0 !important;
}

/* Dark Mode untuk header tabel */
[data-theme="dark"] table.table thead,
[data-theme="dark"] .table thead {
    background-color: var(--dt-header-bg) !important;
}

[data-theme="dark"] table.table thead th,
[data-theme="dark"] .table thead th {
    background-color: var(--dt-header-bg) !important;
    color: var(--dt-header-text) !important;
    border-bottom: 2px solid var(--dt-border) !important;
    font-weight: 600;
    white-space: nowrap;
}

/* Dark Mode untuk body tabel */
[data-theme="dark"] table.table tbody tr,
[data-theme="dark"] .table tbody tr {
    background-color: var(--dt-bg) !important;
    color: var(--dt-text) !important;
}

[data-theme="dark"] table.table tbody tr:nth-child(odd),
[data-theme="dark"] .table tbody tr:nth-child(odd) {
    background-color: var(--dt-bg) !important;
}

[data-theme="dark"] table.table tbody tr:nth-child(even),
[data-theme="dark"] .table tbody tr:nth-child(even) {
    background-color: var(--dt-stripe) !important;
}

[data-theme="dark"] table.table tbody tr:hover,
[data-theme="dark"] .table tbody tr:hover {
    background-color: var(--dt-hover) !important;
}

[data-theme="dark"] table.table td,
[data-theme="dark"] .table td,
[data-theme="dark"] table.table th,
[data-theme="dark"] .table th {
    border-color: var(--dt-border) !important;
    color: var(--dt-text) !important;
    vertical-align: middle !important;
}

/* Dark Mode untuk tabel dengan ID spesifik */
[data-theme="dark"] #scheduleTable,
[data-theme="dark"] #searchResultTable,
[data-theme="dark"] #dataTable {
    background-color: var(--dt-bg) !important;
    color: var(--dt-text) !important;
}

[data-theme="dark"] #scheduleTable thead th,
[data-theme="dark"] #searchResultTable thead th,
[data-theme="dark"] #dataTable thead th {
    background-color: var(--dt-header-bg) !important;
    color: white !important;
}

[data-theme="dark"] #scheduleTable tbody tr,
[data-theme="dark"] #searchResultTable tbody tr,
[data-theme="dark"] #dataTable tbody tr {
    background-color: var(--dt-bg) !important;
}

[data-theme="dark"] #scheduleTable tbody tr:nth-child(even),
[data-theme="dark"] #searchResultTable tbody tr:nth-child(even),
[data-theme="dark"] #dataTable tbody tr:nth-child(even) {
    background-color: var(--dt-stripe) !important;
}

[data-theme="dark"] #scheduleTable tbody tr:hover,
[data-theme="dark"] #searchResultTable tbody tr:hover,
[data-theme="dark"] #dataTable tbody tr:hover {
    background-color: var(--dt-hover) !important;
}

/* Dark Mode untuk badge di dalam tabel */
[data-theme="dark"] table.table .badge,
[data-theme="dark"] .table .badge {
    color: white !important;
}

[data-theme="dark"] table.table .badge.bg-secondary,
[data-theme="dark"] .table .badge.bg-secondary {
    background-color: var(--dt-badge-secondary) !important;
}

[data-theme="dark"] table.table .badge.bg-info,
[data-theme="dark"] .table .badge.bg-info {
    background-color: var(--dt-badge-info) !important;
}

[data-theme="dark"] table.table .badge.bg-success,
[data-theme="dark"] .table .badge.bg-success {
    background-color: var(--dt-badge-success) !important;
}

[data-theme="dark"] table.table .badge.bg-primary,
[data-theme="dark"] .table .badge.bg-primary {
    background-color: var(--dt-header-bg) !important;
}

/* Dark Mode untuk link di dalam tabel */
[data-theme="dark"] table.table a,
[data-theme="dark"] .table a {
    color: var(--dt-link-color) !important;
    text-decoration: none;
}

[data-theme="dark"] table.table a:hover,
[data-theme="dark"] .table a:hover {
    color: var(--dt-link-hover) !important;
    text-decoration: underline;
}

/* Dark Mode untuk text-muted di dalam tabel */
[data-theme="dark"] table.table .text-muted,
[data-theme="dark"] .table .text-muted {
    color: #9ca3af !important;
}

/* Dark Mode untuk strong di dalam tabel */
[data-theme="dark"] table.table strong,
[data-theme="dark"] .table strong {
    color: var(--dt-text) !important;
}

/* Dark Mode untuk tombol di dalam tabel */
[data-theme="dark"] table.table .btn-primary,
[data-theme="dark"] .table .btn-primary {
    background-color: var(--dt-header-bg) !important;
    border-color: var(--dt-header-bg) !important;
}

[data-theme="dark"] table.table .btn-primary:hover,
[data-theme="dark"] .table .btn-primary:hover {
    background-color: var(--dt-link-color) !important;
    border-color: var(--dt-link-color) !important;
}

[data-theme="dark"] table.table .btn-info,
[data-theme="dark"] .table .btn-info {
    background-color: var(--dt-badge-info) !important;
    border-color: var(--dt-badge-info) !important;
    color: white !important;
}

[data-theme="dark"] table.table .btn-info:hover,
[data-theme="dark"] .table .btn-info:hover {
    background-color: #0e7490 !important;
    border-color: #0e7490 !important;
}

[data-theme="dark"] table.table .btn-outline-secondary,
[data-theme="dark"] .table .btn-outline-secondary {
    color: var(--dt-text) !important;
    border-color: var(--dt-border) !important;
}

[data-theme="dark"] table.table .btn-outline-secondary:hover,
[data-theme="dark"] .table .btn-outline-secondary:hover {
    background-color: var(--dt-pagination-hover) !important;
    color: white !important;
    border-color: var(--dt-pagination-hover) !important;
}

[data-theme="dark"] table.table .btn-sm,
[data-theme="dark"] .table .btn-sm {
    margin: 0 2px;
}

/* Dark Mode untuk parent code info */
[data-theme="dark"] table.table small.text-muted,
[data-theme="dark"] .table small.text-muted {
    color: #9ca3af !important;
}

/* Dark Mode untuk cell dengan multiple lines */
[data-theme="dark"] table.table td,
[data-theme="dark"] .table td {
    border-color: var(--dt-border) !important;
}

/* Dark Mode untuk DataTables wrapper (jika ada) */
[data-theme="dark"] .dataTables_wrapper {
    color: var(--dt-text) !important;
    padding: 20px 0;
}

[data-theme="dark"] .dataTables_length,
[data-theme="dark"] .dataTables_filter,
[data-theme="dark"] .dataTables_info,
[data-theme="dark"] .dataTables_paginate {
    color: var(--dt-text) !important;
    margin: 10px 0;
}

[data-theme="dark"] .dataTables_length select,
[data-theme="dark"] .dataTables_filter input {
    background-color: var(--dt-input-bg) !important;
    color: var(--dt-text) !important;
    border: 1px solid var(--dt-border) !important;
    border-radius: 4px !important;
    padding: 0.375rem 0.75rem !important;
}

[data-theme="dark"] .dataTables_filter input:focus,
[data-theme="dark"] .dataTables_length select:focus {
    border-color: var(--dt-header-bg) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.3) !important;
}

[data-theme="dark"] .dataTables_paginate .paginate_button {
    background-color: var(--dt-pagination-bg) !important;
    color: var(--dt-pagination-text) !important;
    border: 1px solid var(--dt-border) !important;
    margin: 0 2px !important;
    border-radius: 4px !important;
    padding: 0.375rem 0.75rem !important;
    cursor: pointer;
}

[data-theme="dark"] .dataTables_paginate .paginate_button.current {
    background-color: var(--dt-pagination-active) !important;
    color: white !important;
    border-color: var(--dt-pagination-active) !important;
}

[data-theme="dark"] .dataTables_paginate .paginate_button:hover:not(.current) {
    background-color: var(--dt-pagination-hover) !important;
    color: var(--dt-pagination-text) !important;
    border-color: var(--dt-border) !important;
}

[data-theme="dark"] .dataTables_paginate .paginate_button.disabled {
    color: #6c757d !important;
    background-color: var(--dt-pagination-bg) !important;
    border-color: var(--dt-border) !important;
    cursor: not-allowed;
}

/* Dark Mode untuk border info pada note */
[data-theme="dark"] .border-info {
    border-left-color: var(--dt-badge-info) !important;
}

[data-theme="dark"] .border-success {
    border-left-color: var(--dt-badge-success) !important;
}

/* Dark Mode untuk text-wrap */
[data-theme="dark"] .text-wrap {
    color: var(--dt-text) !important;
}

/* Dark Mode untuk scrollbar di table-responsive (opsional) */
[data-theme="dark"] .table-responsive::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

[data-theme="dark"] .table-responsive::-webkit-scrollbar-track {
    background: var(--dt-bg);
    border-radius: 4px;
}

[data-theme="dark"] .table-responsive::-webkit-scrollbar-thumb {
    background: var(--dt-border);
    border-radius: 4px;
}

[data-theme="dark"] .table-responsive::-webkit-scrollbar-thumb:hover {
    background: var(--dt-pagination-hover);
}