/*
 * Shared MudBlazor table presentation.
 * BlackHoleTable supplies TableClass; direct MudTable consumers use the same public parameter.
 * Target only direct cells of that table, so detail rows and nested tables keep their own layout.
 * Keep MudBlazor's responsive layout, focus, sorting, hover, stripe and border preference rules.
 */
.mud-table {
    padding: 0;
    margin-bottom: 20px;
    background: var(--mud-palette-surface);
}

.mud-table > .mud-table-toolbar {
    height: auto;
    min-height: 72px;
    padding: 12px 0;
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.blackhole-table-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.blackhole-table-search { flex: 0 1 56%; }

.mud-table .blackhole-table-actions > .mud-button,
.mud-table .blackhole-table-secondary {
    min-height: 44px;
    padding-inline: 20px;
    box-shadow: none;
}

.mud-table .blackhole-table-secondary {
    border-color: var(--mud-palette-lines-inputs);
    background: var(--mud-palette-surface);
    color: var(--mud-palette-text-primary);
}

.mud-table .blackhole-table-secondary:hover {
    background: color-mix(in srgb, var(--mud-palette-text-primary) 10%, var(--mud-palette-surface));
}

.mud-expand-panel.blackhole-table-filters {
    margin: 0;
    border: 1px solid var(--mud-palette-lines-inputs);
    border-radius: var(--mud-default-borderradius);
    background: var(--mud-palette-surface);
    box-shadow: none;
}

.blackhole-table-filters .mud-expand-panel-header {
    min-height: 48px;
    padding: 10px 16px;
    font-weight: 600;
}

.blackhole-table-filters .mud-expand-panel-content { padding: 0 16px 20px; }

.blackhole-table-root > .mud-table-head > tr > .mud-table-cell {
    height: 44px;
    padding: 4px 16px;
    font-weight: 600;
    border-bottom: 2px solid var(--mud-palette-text-primary);
}

.blackhole-table-root > .mud-table-body > tr > .mud-table-cell {
    height: 52px;
    padding: 4px 16px;
    border-bottom-color: var(--mud-palette-divider);
}

.blackhole-table-root > .mud-table-body > tr > .mud-table-cell:first-child { font-weight: 600; }

/* Respect the user's compact table preference. */
.mud-table-dense .blackhole-table-root > .mud-table-body > tr > .mud-table-cell {
    height: 40px;
    padding-block: 2px;
}

.blackhole-table-root .blackhole-table-action-cell {
    text-align: right;
    width: 128px;
    white-space: nowrap;
}

.mud-table .mud-table-pagination-toolbar {
    padding: 12px 0;
    min-height: 64px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

@media (max-width: 600px) {
    .blackhole-table-search { flex-basis: 100%; }
    .mud-table > .mud-table-toolbar > .mud-spacer { display: none; }
    .blackhole-table-root > .mud-table-body > tr > .mud-table-cell {
        height: auto;
        min-height: 44px;
        padding: 12px 16px;
    }
    .blackhole-table-root .blackhole-table-action-cell { width: auto; }
}

.blackhole-table-root > thead .mud-table-sort-label { font-weight: inherit; }