.co-ct-log-status-page {
    container: ct-logs / inline-size;
    padding-block: 1.75rem 3rem;
}

.co-ct-log-status-header h1 {
    font-size: 2rem;
    font-weight: 500;
}

.co-ct-log-status-header p,
.co-ct-log-status-group-description,
.co-ct-log-status-explanation {
    font-size: 0.9375rem;
    line-height: 1.6;
}

.co-ct-log-status-header p {
    max-width: 56rem;
    margin-top: 0.5rem;
}

.co-ct-log-status-group {
    margin-top: 2rem;
}

.co-ct-log-status-group + .co-ct-log-status-group {
    margin-top: 3rem;
}

.co-ct-log-status-group h2 {
    font-size: 1.25rem;
    font-weight: 600;
}

.co-ct-log-status-group-count {
    font-weight: 400;
}

.co-ct-log-status-group-description {
    max-width: 56rem;
    margin-top: 0.5rem;
}

.co-ct-log-status-table {
    width: 100%;
    margin-top: 1rem;
    border: 1px solid var(--co-border-color);
    border-collapse: collapse;
}

.co-ct-log-status-table th,
.co-ct-log-status-table td {
    padding: 0.75rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--co-border-color);
    overflow-wrap: anywhere;
}

.co-ct-log-status-table thead th {
    padding-block: 0.625rem;
    background-color: var(--co-surface-subtle-color);
    font-size: 0.75rem;
    font-weight: 600;
}

.co-ct-log-status-table tbody th,
.co-ct-log-status-table tbody td {
    font-size: 0.8125rem;
}

.co-ct-log-status-table tbody th {
    font-weight: 400;
}

.co-ct-log-status-table td:not(:first-child) {
    font-variant-numeric: tabular-nums;
}

.co-ct-log-status-table tbody td[data-label] > :is(time, span) {
    white-space: nowrap;
}

.co-ct-log-status-log {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.25rem 0.5rem;
}

.co-ct-log-status-badge {
    display: inline-flex;
    align-items: center;
    flex: none;
    height: 1.5em;
    padding: 0 0.375rem;
    border: 1px solid var(--co-border-color);
    border-radius: 0.1875rem;
    background-color: var(--co-surface-subtle-color);
    line-height: 1.2;
    white-space: nowrap;
}

.co-ct-log-status-explanation,
.co-ct-log-status-empty {
    max-width: 56rem;
    margin-top: 1rem;
}

.co-ct-log-status-empty {
    font-size: 1rem;
}

.co-ct-log-status-visually-hidden {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    border: 0;
    white-space: nowrap;
}

@container ct-logs (width > 64rem) {
    .co-ct-log-status-table {
        /* Grow metric columns with available space, including enlarged text. */
        --co-ct-log-status-column-growth: clamp(
            0rem,
            calc((100cqi - 64rem) * 3 / 26),
            3rem
        );

        table-layout: fixed;
    }

    /* Minimum widths allow for 999d 23h 59m 59s and 99,000,000,000, including cell padding. */
    .co-ct-log-status-age-column {
        width: calc(9.5rem + var(--co-ct-log-status-column-growth));
    }

    .co-ct-log-status-count-column {
        width: calc(8.5rem + var(--co-ct-log-status-column-growth));
    }

    .co-ct-log-status-table thead th:not(:first-child),
    .co-ct-log-status-table tbody td:not(:first-child) {
        text-align: right;
    }
}

@container ct-logs (width <= 64rem) {
    .co-ct-log-status-table {
        display: block;
        border: 0;
    }

    .co-ct-log-status-table colgroup {
        display: none;
    }

    .co-ct-log-status-table thead {
        position: absolute;
        inline-size: 1px;
        block-size: 1px;
        margin: -1px;
        padding: 0;
        overflow: hidden;
        clip-path: inset(50%);
        border: 0;
        white-space: nowrap;
    }

    .co-ct-log-status-table tbody {
        display: block;
        border-block: 1px solid var(--co-border-color);
    }

    .co-ct-log-status-table tbody tr {
        display: block;
        padding-block: 0.75rem;
    }

    .co-ct-log-status-table tbody tr + tr {
        border-top: 1px solid var(--co-border-color);
    }

    .co-ct-log-status-table tbody th,
    .co-ct-log-status-table tbody td {
        display: grid;
        grid-template-columns: minmax(0, max(10rem, 34%)) minmax(8.5rem, 1fr);
        gap: 0.5rem;
        padding: 0.25rem 0;
        border-bottom: 0;
    }

    .co-ct-log-status-table tbody [data-label]::before {
        content: attr(data-label);
        font-size: 0.75rem;
        font-weight: 600;
    }

    .co-ct-log-status-table .co-ct-log-status-empty-cell {
        display: block;
    }
}

/* Keep labels readable when two columns cannot fit, including text zoom. */
@container ct-logs (width < 20rem) {
    .co-ct-log-status-table tbody th,
    .co-ct-log-status-table tbody td {
        grid-template-columns: minmax(0, 1fr);
        gap: 0.125rem;
        padding-block: 0.5rem;
    }
}
