﻿/* 
    InvestPro - Premium DataTables Theme
    Supports Light/Dark mode and uses the Green Primary accent.
*/

/* 1. Wrapper & Layout */
.dataTables_wrapper, .dt-container {
    padding: 0 !important;
    background: transparent !important;
}

/* 2. Search & Length Controls */
.dataTables_filter input, .dt-search input {
    background-color: var(--ip-card) !important;
    border: 1px solid var(--ip-border) !important;
    border-radius: 8px !important;
    padding: 0.5rem 1rem !important;
    color: var(--ip-text-main) !important;
    outline: none !important;
    transition: var(--ip-transition);
    margin-left: 0.5rem;
}

    .dataTables_filter input:focus, .dt-search input:focus {
        border-color: var(--ip-primary) !important;
        box-shadow: 0 0 0 4px var(--ip-primary-soft) !important;
    }

.dataTables_length select, .dt-length select {
    background-color: var(--ip-card) !important;
    border: 1px solid var(--ip-border) !important;
    border-radius: 8px !important;
    padding: 0.4rem 2rem 0.4rem 0.75rem !important;
    color: var(--ip-text-main) !important;
}

/* 3. The Table Header */
table.dataTable thead th,
table.dataTable thead td {
    background-color: var(--ip-bg) !important;
    color: var(--ip-text-muted) !important;
    font-size: 0.75rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 1rem !important;
    border-bottom: 1px solid var(--ip-border) !important;
    border-top: none !important;
}

/* 4. Table Body */
table.dataTable tbody td {
    background-color: var(--ip-card) !important;
    color: var(--ip-text-main) !important;
    padding: 1.25rem 1rem !important;
    border-bottom: 1px solid var(--ip-border) !important;
    vertical-align: middle !important;
    font-size: 0.9rem !important;
}

table.dataTable tbody tr:hover td {
    background-color: var(--ip-primary-soft) !important;
}

/* 5. Pagination Buttons */
.dataTables_paginate .paginate_button, .dt-paging-button {
    border-radius: 8px !important;
    border: 1px solid var(--ip-border) !important;
    background: var(--ip-card) !important;
    color: var(--ip-text-main) !important;
    margin: 0 2px !important;
    padding: 0.4rem 0.8rem !important;
    transition: var(--ip-transition);
    cursor: pointer !important;
}

    .dataTables_paginate .paginate_button:hover, .dt-paging-button:hover {
        background: var(--ip-primary-soft) !important;
        color: var(--ip-primary) !important;
        border-color: var(--ip-primary) !important;
    }

    .dataTables_paginate .paginate_button.current, .dt-paging-button.current {
        background: var(--ip-primary) !important;
        color: #FFFFFF !important;
        border-color: var(--ip-primary) !important;
        font-weight: 700 !important;
    }

    .dataTables_paginate .paginate_button.disabled, .dt-paging-button.disabled {
        opacity: 0.5 !important;
        cursor: not-allowed !important;
    }

/* 6. Sorting Icons */
table.dataTable thead .sorting::before,
table.dataTable thead .sorting::after {
    opacity: 0.2 !important;
    color: var(--ip-primary) !important;
}

table.dataTable thead .sorting_asc::before,
table.dataTable thead .sorting_desc::after {
    opacity: 1 !important;
    color: var(--ip-primary) !important;
}

/* 7. Information Text (e.g., "Showing 1 to 10") */
.dataTables_info, .dt-info {
    color: var(--ip-text-muted) !important;
    font-size: 0.85rem !important;
    padding-top: 1rem !important;
}

/* 8. Table Border Logic */
table.dataTable.no-footer {
    border-bottom: 1px solid var(--ip-border) !important;
}

/* DARK MODE SPECIFIC TWEAKS */
[data-bs-theme="dark"] table.dataTable tbody td {
    background-color: var(--ip-card) !important;
}

[data-bs-theme="dark"] .dataTables_paginate .paginate_button.current {
    background: var(--ip-primary) !important;
    color: #000000 !important; /* Better contrast on bright green in dark mode */
}
