/* KQ366 cau semantic contract v1. Safe layout rules shared by every engine. */
.cau-page {
    position: relative;
    isolation: isolate;
    min-width: 0;
    max-width: 100%;
}

.cau-page,
.cau-page * {
    box-sizing: border-box;
}

.cau-page .cau-hero,
.cau-page .cau-grid,
.cau-page .cau-panel,
.cau-page .cau-copy,
.cau-page .cau-verification,
.cau-page .cau-recent-data {
    min-width: 0;
    max-width: 100%;
}

.cau-page .cau-copy,
.cau-page .cau-panel h2,
.cau-page .cau-panel h3,
.cau-page .cau-panel p,
.cau-page .cau-panel span,
.cau-page .cau-panel small {
    overflow-wrap: anywhere;
    word-break: normal;
}

.cau-page .cau-table-wrap {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
}

.cau-page .cau-table {
    width: 100%;
    table-layout: auto;
}

.cau-page .cau-table th,
.cau-page .cau-table td {
    vertical-align: middle;
}

.cau-page .cau-number,
.cau-page .cau-progress,
.cau-page .cau-status {
    position: relative;
    z-index: 1;
}

.cau-page .cau-verification > *,
.cau-page .cau-recent-data > * {
    min-width: 0;
}

@media (max-width: 767px) {
    .cau-page .cau-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .cau-page .cau-table th,
    .cau-page .cau-table td {
        white-space: normal;
    }
}

