/* Minimalist data-table styles - Enhanced */
.data-table-container {
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background: #fff;
    overflow: hidden; /* Prevent double scrollbars */
}

.table-responsive {
    overflow-x: auto;
    overflow-y: hidden; /* Only horizontal scroll for table */
}

.modern-table {
    font-size: 0.8rem;
    background: #fff;
    color: #212529;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.modern-table th {
    font-weight: 600;
    text-align: center;
    padding: 0.75rem 0.7rem;
    border-bottom: 2px solid var(--border-color, #dee2e6);
    background-color: var(--bg-secondary, #f5f5f5);
    color: var(--text-primary, #171717);
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    position: sticky;
    top: 0;
    z-index: 10;
}

.modern-table td {
    padding: 0.6rem 0.7rem;
    border-bottom: 1px solid #f1f3f4;
    vertical-align: middle;
    font-size: 0.85rem;
    background: #fff;
    transition: background-color 0.15s ease;
}

.even-row {
    background: rgba(248, 249, 250, 0.5) !important;
}

tbody tr {
    transition: all 0.15s ease;
}

tbody tr:hover {
    transform: scale(1.001);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

tbody tr:nth-child(even):hover {
    background: linear-gradient(90deg, #e8f4f8 0%, #f0f7ff 100%) !important;
}

.modern-table td:focus-within {
    background: rgba(68, 110, 155, 0.08);
    outline: 2px solid rgba(68, 110, 155, 0.1);
}

.sticky-top {
    position: sticky;
    top: 0;
    z-index: 2;
    background: #f8f9fa !important;
}

.vertical-divider {
    border-left: 1px solid #dee2e6 !important;
}

.text-truncate span {
    max-width: 180px;
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.compact-input {
    padding: 0.1rem 0.2rem !important;
    height: calc(1.5em + 0.2rem + 2px) !important;
    font-size: 0.8rem !important;
    text-align: right !important;
    border-radius: 2px !important;
    max-width: 70px !important;
    appearance: textfield !important;
    -moz-appearance: textfield !important;
}

.header-filter-select {
    font-size: 0.8rem !important;
    font-weight: normal !important;
    padding: 0.1rem 0.2rem !important;
    min-width: 90px !important;
    max-width: 140px !important;
    background-image: none !important;
}

.text-muted { color: #6c757d !important; }
.text-dark { color: #212529 !important; }
.fw-bold { font-weight: bold !important; }
