/* Dark Mode Table Styles - Enhanced Coverage */

/* Base table styles with higher specificity */
[data-theme="dark"] table,
body.dark-mode table,
[data-theme="dark"] .data-table,
body.dark-mode .data-table {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border-collapse: collapse !important;
    width: 100% !important;
}

/* Override any inline styles on tables */
[data-theme="dark"] table[style],
body.dark-mode table[style] {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
}

/* Table headers with better specificity */
[data-theme="dark"] th,
[data-theme="dark"] thead th,
[data-theme="dark"] table th,
body.dark-mode th,
body.dark-mode thead th,
body.dark-mode table th {
    background-color: var(--bg-tertiary, #3a3a3a) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border: 1px solid var(--border-color, #404040) !important;
    padding: 0.75rem !important;
    font-weight: 600 !important;
}

/* Table cells with better specificity */
[data-theme="dark"] td,
[data-theme="dark"] tbody td,
[data-theme="dark"] table td,
body.dark-mode td,
body.dark-mode tbody td,
body.dark-mode table td {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border: 1px solid var(--border-color, #404040) !important;
    padding: 0.75rem !important;
}

/* Table row hover */
[data-theme="dark"] tbody tr:hover,
[data-theme="dark"] table tbody tr:hover,
body.dark-mode tbody tr:hover,
body.dark-mode table tbody tr:hover {
    background-color: var(--bg-tertiary, #3a3a3a) !important;
}

/* Striped tables - Alternating rows for better readability */
[data-theme="dark"] tbody tr:nth-child(even),
[data-theme="dark"] table tbody tr:nth-child(even),
body.dark-mode tbody tr:nth-child(even),
body.dark-mode table tbody tr:nth-child(even) {
    background-color: rgba(255, 255, 255, 0.02) !important;
}

[data-theme="dark"] tbody tr:nth-child(odd),
[data-theme="dark"] table tbody tr:nth-child(odd),
body.dark-mode tbody tr:nth-child(odd),
body.dark-mode table tbody tr:nth-child(odd) {
    background-color: var(--bg-secondary, #2d2d2d) !important;
}

/* Terms table specific - Enhanced */
[data-theme="dark"] #terms-table,
[data-theme="dark"] #terms-list table,
[data-theme="dark"] #terms-list table[style],
body.dark-mode #terms-table,
body.dark-mode #terms-list table,
body.dark-mode #terms-list table[style] {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
    width: 100% !important;
    border-collapse: collapse !important;
}

[data-theme="dark"] #terms-list table th,
[data-theme="dark"] #terms-list table td,
body.dark-mode #terms-list table th,
body.dark-mode #terms-list table td {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border: 1px solid var(--border-color, #404040) !important;
    padding: 0.75rem !important;
}

[data-theme="dark"] #terms-list table thead th,
body.dark-mode #terms-list table thead th {
    background-color: var(--bg-tertiary, #3a3a3a) !important;
    font-weight: 600 !important;
}

/* API Keys table - Enhanced */
[data-theme="dark"] #api-keys-list table,
[data-theme="dark"] #api-keys-list table[style],
body.dark-mode #api-keys-list table,
body.dark-mode #api-keys-list table[style] {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
    width: 100% !important;
    border-collapse: collapse !important;
}

[data-theme="dark"] #api-keys-list table th,
[data-theme="dark"] #api-keys-list table td,
body.dark-mode #api-keys-list table th,
body.dark-mode #api-keys-list table td {
    background-color: var(--bg-secondary, #2d2d2d) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border: 1px solid var(--border-color, #404040) !important;
    padding: 0.75rem !important;
}

[data-theme="dark"] #api-keys-list table thead th,
body.dark-mode #api-keys-list table thead th {
    background-color: var(--bg-tertiary, #3a3a3a) !important;
    font-weight: 600 !important;
}

/* History table */
[data-theme="dark"] #history-table,
body.dark-mode #history-table,
[data-theme="dark"] #history-list table,
body.dark-mode #history-list table {
    background-color: var(--bg-secondary, #2d2d2d);
    color: var(--text-primary, #e4e4e4);
}

/* Table badges and tags */
[data-theme="dark"] .data-table .badge,
body.dark-mode .data-table .badge,
[data-theme="dark"] .data-table .tag,
body.dark-mode .data-table .tag {
    background-color: var(--bg-tertiary, #3a3a3a);
    color: var(--text-primary, #e4e4e4);
    border-color: var(--border-color, #404040);
}

/* DNT badge specific */
[data-theme="dark"] .dnt-badge,
body.dark-mode .dnt-badge {
    background-color: #dc2626;
    color: #ffffff;
}

/* Glossary badge specific */
[data-theme="dark"] .glossary-badge,
body.dark-mode .glossary-badge {
    background-color: #10b981;
    color: #ffffff;
}

/* Table buttons - Enhanced */
[data-theme="dark"] table button,
[data-theme="dark"] table .btn,
[data-theme="dark"] .data-table button,
[data-theme="dark"] .data-table .btn-icon,
[data-theme="dark"] #api-keys-list button,
[data-theme="dark"] #terms-list button,
body.dark-mode table button,
body.dark-mode table .btn,
body.dark-mode .data-table button,
body.dark-mode .data-table .btn-icon,
body.dark-mode #api-keys-list button,
body.dark-mode #terms-list button {
    background-color: var(--bg-tertiary, #3a3a3a) !important;
    color: var(--text-primary, #e4e4e4) !important;
    border: 1px solid var(--border-color, #404040) !important;
    padding: 0.375rem 0.75rem !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

[data-theme="dark"] table button:hover,
[data-theme="dark"] table .btn:hover,
[data-theme="dark"] .data-table button:hover,
[data-theme="dark"] .data-table .btn-icon:hover,
[data-theme="dark"] #api-keys-list button:hover,
[data-theme="dark"] #terms-list button:hover,
body.dark-mode table button:hover,
body.dark-mode table .btn:hover,
body.dark-mode .data-table button:hover,
body.dark-mode .data-table .btn-icon:hover,
body.dark-mode #api-keys-list button:hover,
body.dark-mode #terms-list button:hover {
    background-color: var(--bg-primary, #1a1a1a) !important;
    border-color: var(--text-secondary, #b0b0b0) !important;
}

/* Icon-only buttons in tables */
[data-theme="dark"] table .btn-icon,
[data-theme="dark"] table button[title],
body.dark-mode table .btn-icon,
body.dark-mode table button[title] {
    background-color: transparent !important;
    border: none !important;
    color: var(--text-secondary, #b0b0b0) !important;
    padding: 0.25rem 0.5rem !important;
}

[data-theme="dark"] table .btn-icon:hover,
[data-theme="dark"] table button[title]:hover,
body.dark-mode table .btn-icon:hover,
body.dark-mode table button[title]:hover {
    background-color: var(--bg-tertiary, #3a3a3a) !important;
    color: var(--text-primary, #e4e4e4) !important;
}

/* Edit/Delete buttons */
[data-theme="dark"] .btn-sm,
body.dark-mode .btn-sm {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
}

[data-theme="dark"] .btn-danger,
body.dark-mode .btn-danger {
    background-color: #dc2626;
    color: #ffffff;
    border-color: #dc2626;
}

[data-theme="dark"] .btn-danger:hover,
body.dark-mode .btn-danger:hover {
    background-color: #b91c1c;
    border-color: #b91c1c;
}

/* Code elements in tables - Enhanced */
[data-theme="dark"] .data-table code,
[data-theme="dark"] td code,
[data-theme="dark"] table code,
[data-theme="dark"] #api-keys-list code,
body.dark-mode .data-table code,
body.dark-mode td code,
body.dark-mode table code,
body.dark-mode #api-keys-list code {
    background-color: var(--bg-primary, #1a1a1a) !important;
    color: #ff79c6 !important;
    padding: 0.25rem 0.5rem !important;
    border-radius: 0.25rem !important;
    font-family: 'Courier New', Courier, monospace !important;
    font-size: 0.875rem !important;
}

/* Empty state messages */
[data-theme="dark"] .data-table p,
body.dark-mode .data-table p,
[data-theme="dark"] #terms-list p,
body.dark-mode #terms-list p,
[data-theme="dark"] #api-keys-list p,
body.dark-mode #api-keys-list p {
    color: var(--text-secondary, #b0b0b0);
}

/* Scrollable table containers */
[data-theme="dark"] .table-container,
body.dark-mode .table-container {
    background-color: var(--bg-secondary, #2d2d2d);
    border-color: var(--border-color, #404040);
}

/* Table sorting indicators */
[data-theme="dark"] th[data-sortable]:hover,
body.dark-mode th[data-sortable]:hover {
    background-color: var(--bg-primary, #1a1a1a);
    cursor: pointer;
}

/* Pagination in tables */
[data-theme="dark"] .table-pagination,
body.dark-mode .table-pagination {
    background-color: var(--bg-secondary, #2d2d2d);
    border-top: 1px solid var(--border-color, #404040);
}

/* Table footer */
[data-theme="dark"] tfoot,
body.dark-mode tfoot,
[data-theme="dark"] .table-footer,
body.dark-mode .table-footer {
    background-color: var(--bg-tertiary, #3a3a3a);
    color: var(--text-primary, #e4e4e4);
    border-color: var(--border-color, #404040);
}