/* Div-Table-Widget: Mobile-First, keine Nachfahren-Selektoren (011-ui-css-general.mdc 007). */

.base-div-table {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
}

.base-div-table-header {
    display: none;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    border-bottom: 1px solid var(--color-border);
}

.base-div-table-body {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
    white-space: normal;
}

.base-div-table-row {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 0 0.75rem 0;
    padding: 0 0 0.75rem 0;
    border-bottom: 1px solid var(--color-border);
    background-color: transparent;
}

.base-div-table-cell {
    display: block;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 0 12px 0;
    padding: 0.5rem 0.75rem;
    background-color: var(--color-table-row-bg);
    color: var(--color-text);
    min-width: 0;
    overflow-wrap: break-word;
    word-wrap: break-word;
    line-height: 1.5;
    white-space: normal;
}

.base-div-table-cell:last-child {
    margin-bottom: 0;
}

.base-div-table-cell::before {
    content: attr(data-label) ": ";
    font-weight: 700;
    display: block;
    color: var(--color-headline);
    margin-bottom: 0.25rem;
}

@media (min-width: 577px) {
    /* Änderungsprotokoll: 2026-06-03 | Agent | @skill-css-rules, @skill-change-provenance | Tabellenkopf LinkedIn-Blau mit weißer Schrift */
    .base-div-table-header {
        display: flex;
        align-items: center;
        white-space: nowrap;
        overflow-x: hidden;
        text-transform: uppercase;
        font-size: 0.75rem;
        letter-spacing: 0.04em;
        background-color: var(--color-primary);
        border-bottom: none;
    }

    .base-div-table-header .base-div-table-row {
        background-color: transparent;
        gap: 0;
    }

    .base-div-table-header .base-div-table-cell {
        background-color: var(--color-primary);
        color: var(--color-text-inverse);
        font-weight: 700;
    }

    .base-div-table-cell::before {
        content: none;
        display: none;
    }

    .base-div-table-row {
        display: grid;
        margin: 0 0 1px 0;
        padding: 0;
        border-bottom: none;
        background-color: var(--color-border);
        gap: 1px;
    }

    .base-div-table-row:hover {
        box-shadow: inset 0 0 0 9999px var(--color-table-row-hover-overlay);
    }

    .base-div-table-row[data-columns="2"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .base-div-table-row[data-columns="3"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    /* Änderungsprotokoll: 2026-06-03 | Agent | @skill-css-rules, @skill-change-provenance | Layout Name/Fehler/Datum für Diagnose-Tabellen */
    .base-div-table-layout-name-error-date .base-div-table-row[data-columns="3"] {
        grid-template-columns: minmax(9rem, 16%) minmax(0, 1fr) minmax(7.5rem, 9.5rem);
    }

    .base-div-table-cell-col-name {
        font-weight: 600;
    }

    .base-div-table-cell-col-datetime {
        text-align: end;
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

    .base-div-table-layout-name-error-date .base-div-table-header .base-div-table-cell-col-datetime {
        text-align: end;
    }

    .base-div-table-cell-col-error {
        min-width: 0;
    }

    .base-div-table-cell-error-details {
        margin: 0;
    }

    .base-div-table-cell-error-details summary {
        cursor: pointer;
        color: var(--color-primary);
        font-weight: 600;
        line-height: 1.45;
        list-style-position: outside;
    }

    .base-div-table-cell-error-details-message {
        margin: 0.5rem 0 0 0;
        padding: 0.65rem 0.75rem;
        background-color: var(--color-primary-soft-bg);
        border-radius: 4px;
        font-size: 0.8125rem;
        line-height: 1.55;
        overflow-wrap: anywhere;
        word-break: break-word;
        white-space: pre-wrap;
    }

    .base-div-table-row[data-columns="4"] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .base-div-table-row[data-columns="5"] {
        grid-template-columns: repeat(5, minmax(0, 1fr));
    }

    .base-div-table-row[data-columns="6"] {
        grid-template-columns: repeat(6, minmax(0, 1fr));
    }

    .base-div-table-row[data-columns="7"] {
        grid-template-columns: repeat(7, minmax(0, 1fr));
    }

    .base-div-table-row[data-columns="8"] {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .base-div-table-cell {
        display: block;
        width: auto;
        max-width: none;
        margin: 0;
        padding: 0.75rem 1rem;
        min-width: 0;
        white-space: normal;
        overflow-wrap: break-word;
        word-wrap: break-word;
        overflow: visible;
        text-overflow: clip;
    }
}
