/* Base table styling */
table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 1rem;
    background-color: transparent;
}

/* Table header styling */
table thead th,
table thead td {
    border-bottom-width: 2px;
    vertical-align: bottom;
    border-bottom: 2px solid #dee2e6;
    border: 1px solid #dee2e6;
    background-color: #f2f2f2;
    text-align: center !important;
}

/* Table cell and header cell padding and borders */
table td,
table th {
    padding: .75rem;
    vertical-align: top;
    border: 1px solid #dee2e6;
}

/* Table striped rows (alternate background colors) */
table tbody tr:nth-child(even) {
    background-color: #f2f2f2;
}

/* Table borders (for table-bordered) */
table.table-bordered {
    border: 1px solid #dee2e6;
}

/* Table cell borders (for table-bordered) */
table.table-bordered td,
table.table-bordered th {
    border: 1px solid #dee2e6;
}

/* Striped rows with background color (for table-striped) */
table.table-striped tbody tr:nth-child(odd) {
    background-color: #f9f9f9; /* A lighter color for striped rows */
}

/* Hover effect for striped rows */
table.table-striped tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075);
}

/* For table with both striped and bordered, applying both styles */
table.table-striped.table-bordered {
    border: 1px solid #dee2e6;
}