@layer mindz.tables {
/*
 * MindZ Design System — Tabela global premium v26860 — contrato Colaboradores
 * ÚNICA fonte visual para todas as tabelas do sistema.
 * Baseada no padrão aprovado de Solicitações e refinada para SaaS premium.
 */

:root {
    --mindz-table-header-height: 44px;
    --mindz-table-row-height: 68px;
    --mindz-table-cell-inline: 16px;
    --mindz-table-cell-block: 12px;
    --mindz-table-actions-width: 96px;
    --mindz-table-selection-width: 48px;
    --mindz-table-radius: var(--radius-lg);
    --mindz-table-compact-row-height: 48px;
    --mindz-table-comfortable-row-height: 64px;
    --mindz-table-mobile-label-width: 42%;
}

.mindz-table-section {
    min-width: 0;
}

.mindz-table-toolbar {
    min-height: 58px;
    margin: 0 0 16px;
    padding: 0 0 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid var(--border-soft);
}

.mindz-table-toolbar :is(h1, h2, h3) {
    margin: 0;
    color: var(--title-color);
    font-size: 20px;
    font-weight: 620;
    letter-spacing: -0.025em;
    line-height: 1.15;
}

.mindz-table-toolbar__heading {
    min-width: 0;
}

.mindz-table-toolbar__actions {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.mindz-table-toolbar p {
    margin: 5px 0 0;
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 400;
    line-height: 1.35;
}

.mindz-table-wrapper {
    width: 100%;
    max-width: 100%;
    overflow: auto;
    overscroll-behavior-inline: contain;
    scrollbar-gutter: auto;
    border: 0;
    border-radius: 0;
    /*
     * O degradê de fundo também colore a área que pode sobrar à direita
     * do cabeçalho (scrollbar/gutter), evitando a faixa branca.
     */
    background:
        linear-gradient(
            to bottom,
            color-mix(in srgb, var(--primary) 4.5%, var(--table-header-bg)) 0,
            color-mix(in srgb, var(--primary) 4.5%, var(--table-header-bg)) var(--mindz-table-header-height),
            var(--table-bg) var(--mindz-table-header-height),
            var(--table-bg) 100%
        );
    box-shadow: none;
}

.mindz-table-wrapper:focus-within {
    outline: 2px solid color-mix(in srgb, var(--primary) 18%, transparent);
    outline-offset: -2px;
    box-shadow: none;
}

table.mindz-table[data-mindz-table="true"] {
    width: 100%;
    min-width: max(100%, var(--mindz-table-min-width, 940px));
    display: table;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    background: var(--table-bg);
    color: var(--table-record-text);
    font-size: 14px;
    font-variant-numeric: tabular-nums;
}

table.mindz-table[data-mindz-table="true"][data-table-layout="fixed"] {
    table-layout: fixed;
}

table.mindz-table[data-mindz-table="true"][data-density="compact"] {
    --mindz-table-row-height: var(--mindz-table-compact-row-height);
    --mindz-table-cell-block: var(--space-2);
}

table.mindz-table[data-mindz-table="true"][data-density="comfortable"] {
    --mindz-table-row-height: var(--mindz-table-comfortable-row-height);
}

table.mindz-table[data-mindz-table="true"] > caption:not(.mindz-visually-hidden) {
    padding: var(--space-3) var(--mindz-table-cell-inline);
    color: var(--text-muted);
    font-size: var(--font-size-sm);
    text-align: left;
    caption-side: top;
}

table.mindz-table[data-mindz-table="true"] > colgroup { display: table-column-group; }
table.mindz-table[data-mindz-table="true"] > colgroup > col { display: table-column; }
table.mindz-table[data-mindz-table="true"] > thead {
    display: table-header-group;
    background: color-mix(in srgb, var(--primary) 4.5%, var(--table-header-bg));
}
table.mindz-table[data-mindz-table="true"] > thead > tr {
    background: inherit;
}
table.mindz-table[data-mindz-table="true"] > tbody { display: table-row-group; }
table.mindz-table[data-mindz-table="true"] > tfoot { display: table-footer-group; }
table.mindz-table[data-mindz-table="true"] > :is(thead, tbody, tfoot) > tr { display: table-row; }
table.mindz-table[data-mindz-table="true"] > :is(thead, tbody, tfoot) > tr > :is(th, td) { display: table-cell; box-sizing: border-box; }

table.mindz-table[data-mindz-table="true"] > thead > tr > th {
    height: var(--mindz-table-header-height);
    padding: 0 var(--mindz-table-cell-inline);
    border: 0;
    border-bottom: 1px solid var(--table-border);
    background: color-mix(in srgb, var(--primary) 4.5%, var(--table-header-bg));
    color: var(--table-header-text);
    font-size: 12px;
    font-weight: 650;
    letter-spacing: 0.005em;
    line-height: 1.2;
    text-align: left;
    vertical-align: middle;
    white-space: nowrap;
}

.mindz-table-wrapper[data-sticky-header="true"] table.mindz-table > thead > tr > th,
.mindz-table-wrapper.mindz-table-wrapper--sticky table.mindz-table > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
}

table.mindz-table[data-mindz-table="true"] > tbody > tr {
    background: var(--table-row-bg);
    transition: background-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
}

table.mindz-table[data-mindz-table="true"] > tbody > tr > :is(th, td) {
    height: var(--mindz-table-row-height);
    padding: var(--mindz-table-cell-block) var(--mindz-table-cell-inline);
    border: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--table-row-border) 92%, transparent);
    background: transparent;
    color: var(--table-record-text);
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    vertical-align: middle;
}

table.mindz-table[data-mindz-table="true"] > tbody > tr:last-child > :is(th, td) {
    border-bottom: 0;
}

table.mindz-table[data-mindz-table="true"] > tbody > tr:hover,
table.mindz-table[data-mindz-table="true"] > tbody > tr:focus-within {
    background: color-mix(in srgb, var(--primary) 4%, var(--table-row-hover));
    box-shadow: inset 3px 0 0 color-mix(in srgb, var(--primary) 72%, transparent);
}

table.mindz-table[data-mindz-table="true"] > tbody > tr[aria-selected="true"] {
    background: color-mix(in srgb, var(--primary) 8%, var(--table-row-bg));
    box-shadow: inset 3px 0 0 var(--primary);
}

table.mindz-table[data-mindz-table="true"] > tbody > tr:has(:focus-visible) {
    outline: 2px solid var(--focus-ring-color);
    outline-offset: -2px;
}

table.mindz-table[data-mindz-table="true"] > tbody > tr[data-disabled="true"] {
    opacity: 0.58;
}

table.mindz-table[data-mindz-table="true"] > tbody > tr[data-href],
table.mindz-table[data-mindz-table="true"] > tbody > tr[data-clickable="true"] {
    cursor: pointer;
}

table.mindz-table[data-mindz-table="true"] :is(th, td)[data-align="center"] { text-align: center; }
table.mindz-table[data-mindz-table="true"] :is(th, td)[data-align="right"],
table.mindz-table[data-mindz-table="true"] :is(th, td)[data-type="number"],
table.mindz-table[data-mindz-table="true"] :is(th, td)[data-type="currency"],
table.mindz-table[data-mindz-table="true"] :is(th, td)[data-type="percent"] { text-align: right; }

table.mindz-table[data-mindz-table="true"] :is(th, td)[data-column="selection"] {
    width: var(--mindz-table-selection-width);
    min-width: var(--mindz-table-selection-width);
    max-width: var(--mindz-table-selection-width);
    text-align: center;
}

table.mindz-table[data-mindz-table="true"] :is(th, td)[data-column="actions"] {
    width: var(--mindz-table-actions-width);
    min-width: var(--mindz-table-actions-width);
    max-width: var(--mindz-table-actions-width);
    text-align: right;
    white-space: nowrap;
}

table.mindz-table[data-mindz-table="true"] :is(th, td)[data-column="status"] {
    text-align: center;
    white-space: nowrap;
}

table.mindz-table[data-mindz-table="true"] td :is(strong, b) {
    color: var(--title-color);
    font-weight: 600;
}

table.mindz-table[data-mindz-table="true"] td :is(small, .muted, .text-muted) {
    color: var(--text-muted);
    font-size: 12px;
}

/* Ordenação: o cabeçalho comunica claramente que é clicável. */
table.mindz-table[data-mindz-table="true"] > thead > tr > th:is([data-sort], [data-sort-key], [aria-sort], .mindz-table-sortable-header) {
    cursor: pointer;
    transition: color var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);
}

table.mindz-table[data-mindz-table="true"] > thead > tr > th:is([data-sort], [data-sort-key], [aria-sort], .mindz-table-sortable-header):is(:hover, :focus-visible) {
    background: color-mix(in srgb, var(--primary) 6%, var(--table-header-bg));
    color: var(--primary-dark);
    outline: 2px solid color-mix(in srgb, var(--primary) 26%, transparent);
    outline-offset: -2px;
}

table.mindz-table[data-mindz-table="true"] > thead > tr > th :is(button, [role="button"], [data-sort], [data-sort-key]) {
    width: 100%;
    min-height: 100%;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    border: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
    font: inherit;
    font-weight: inherit;
    text-align: inherit;
    cursor: pointer;
}

table.mindz-table[data-mindz-table="true"] > thead > tr > th:is([data-sort], [data-sort-key], [aria-sort], .mindz-table-sortable-header):is(:hover, :focus-visible) :is(button, span, strong) {
    color: inherit;
    text-decoration: none;
}

.mindz-table-sort-indicator,
.mindz-sort-icon {
    flex: 0 0 auto;
    color: currentColor;
    opacity: 0.64;
}

table.mindz-table[data-mindz-table="true"] > thead > tr > th[aria-sort="none"] .mindz-table-sort-indicator,
table.mindz-table[data-mindz-table="true"] > thead > tr > th[aria-sort="none"] .mindz-sort-icon,
table.mindz-table[data-mindz-table="true"] > thead > tr > th[aria-sort="none"] .table-sort-indicator {
    opacity: 0.35;
}

table.mindz-table[data-mindz-table="true"] > thead > tr > th:is([aria-sort="ascending"], [aria-sort="descending"]) {
    color: var(--primary-dark);
    background: color-mix(in srgb, var(--primary) 7%, var(--table-header-bg));
    box-shadow: inset 0 -2px 0 color-mix(in srgb, var(--primary) 70%, transparent);
}

.mindz-table-empty {
    padding: 44px 20px;
    text-align: center;
    color: var(--text-muted);
    background: var(--table-bg);
}

.mindz-table-footer {
    min-height: 52px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    border-top: 1px solid var(--border-soft);
    background: var(--surface);
}

.mindz-results-count {
    color: var(--text-muted);
    font-size: 13px;
    font-variant-numeric: tabular-nums;
}

.mindz-pagination {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.mindz-pagination :is(button, a) {
    min-width: 34px;
    height: 34px;
    padding: 0 9px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface);
    color: var(--text-soft);
    text-decoration: none;
    transition: var(--transition-interactive);
}

.mindz-pagination :is(button, a):is(:hover, :focus-visible) {
    border-color: color-mix(in srgb, var(--primary) 32%, var(--border));
    background: var(--primary-subtle);
    color: var(--primary-dark);
}

.mindz-pagination :is(.is-active, [aria-current="page"]) {
    border-color: var(--primary);
    background: var(--primary);
    color: var(--primary-contrast);
}

.mindz-pagination :is(button, a):is(:disabled, [aria-disabled="true"]) {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

@media (max-width: 640px) {
    :root {
        --mindz-table-header-height: 46px;
        --mindz-table-row-height: 56px;
        --mindz-table-cell-inline: 12px;
        --mindz-table-cell-block: 10px;
    }

    .mindz-table-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    table.mindz-table[data-mindz-table="true"] {
        font-size: 13px;
    }

    .mindz-table-toolbar > .mindz-table-toolbar__actions {
        width: 100%;
        justify-content: flex-start;
    }

    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] {
        display: block;
        min-width: 0;
        background: transparent;
    }

    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] > thead {
        position: absolute;
        width: 1px;
        height: 1px;
        margin: -1px;
        overflow: hidden;
        clip: rect(0 0 0 0);
        white-space: nowrap;
    }

    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] > tbody,
    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] > tbody > tr,
    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] > tbody > tr > :is(th, td) {
        display: block;
        width: 100%;
    }

    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] > tbody {
        display: grid;
        gap: var(--space-3);
    }

    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] > tbody > tr {
        overflow: hidden;
        border: 1px solid var(--table-border);
        border-radius: var(--radius-lg);
        background: var(--table-row-bg);
        box-shadow: var(--shadow-xs);
    }

    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] > tbody > tr > :is(th, td) {
        min-height: 44px;
        height: auto;
        padding: var(--space-3);
        display: grid;
        grid-template-columns: minmax(96px, var(--mindz-table-mobile-label-width)) minmax(0, 1fr);
        align-items: center;
        gap: var(--space-3);
        border-bottom: 1px solid var(--table-row-border);
        text-align: right;
        white-space: normal;
    }

    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] > tbody > tr > :is(th, td)::before {
        content: attr(data-label);
        color: var(--text-muted);
        font-size: var(--font-size-xs);
        font-weight: var(--font-weight-semibold);
        text-align: left;
    }

    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] > tbody > tr > :is(th, td):last-child {
        border-bottom: 0;
    }

    table.mindz-table[data-mindz-table="true"][data-responsive="stack"] :is(th, td)[data-column="selection"] {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    table.mindz-table[data-mindz-table="true"] > tbody > tr,
    table.mindz-table[data-mindz-table="true"] > thead > tr > th {
        transition: none;
    }
}
}


/* =========================================================
   MindZ 26784 — contrato visual obrigatório para tabelas
   ========================================================= */
:is(.card, .app-card, .mindz-card, .table-card)[data-mindz-table-parent="true"] {
    padding: var(--space-4, 16px);
    overflow: visible;
}

table.mindz-table[data-mindz-table="true"] > thead > tr > th,
table.mindz-table[data-mindz-table="true"] > thead > tr > th :is(button, span, strong, b) {
    color: var(--text-muted, #70798e);
    font-weight: 400 !important;
}

table.mindz-table[data-mindz-table="true"] > thead > tr > th[data-column="actions"],
table.mindz-table[data-mindz-table="true"] > thead > tr > th.mindz-table-actions-header {
    font-size: 0 !important;
    color: transparent !important;
}

table.mindz-table[data-mindz-table="true"] > thead > tr > th[data-column="actions"] > :not(.mindz-visually-hidden),
table.mindz-table[data-mindz-table="true"] > thead > tr > th.mindz-table-actions-header > :not(.mindz-visually-hidden) {
    display: none !important;
}

/*
 * MindZ 26787 — ordenação progressiva.
 * O indicador só aparece depois que a coluna passa a ser a ordenação ativa.
 */
.mindz-table-sort-indicator,
.table-sort-indicator,
.mindz-sort-icon,
.mindz-table-sort-control :is(.sort-icon, .sorting-icon, [class*="sort-icon"], [class*="sorting-icon"]),
.mindz-table-sort-control > :is(svg, i)[aria-hidden="true"] {
    display: none !important;
}

table.mindz-table[data-mindz-table="true"] > thead > tr > th:is(
    [aria-sort="ascending"],
    [aria-sort="descending"],
    [data-sort-direction="asc"],
    [data-sort-direction="desc"],
    [data-sort-direction="ascending"],
    [data-sort-direction="descending"]
) :is(.mindz-table-sort-indicator, .table-sort-indicator, .mindz-sort-icon) {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 12px;
    min-width: 12px;
    margin-inline-start: 4px;
    color: currentColor;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    opacity: 0.9;
}


/* Contrato Colaboradores: aplicado pelo runtime a todas as tabelas de interface. */
.mindz-table-wrapper[data-mindz-table-contract="colaboradores"] {
    border: 0 !important;
    border-radius: 0 !important;
    background: var(--table-bg) !important;
    box-shadow: none !important;
}

table.mindz-table[data-mindz-table-contract="colaboradores"] {
    min-width: max(100%, var(--mindz-table-min-width, 940px)) !important;
    table-layout: fixed !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

table.mindz-table[data-mindz-table-contract="colaboradores"][data-mindz-preserve-auto-layout="true"] {
    table-layout: auto !important;
}

table.mindz-table[data-mindz-table-contract="colaboradores"] > thead > tr > th {
    height: 44px !important;
    padding: 0 var(--space-4, 16px) !important;
    border: 0 !important;
    border-bottom: 1px solid var(--border-soft) !important;
    background: var(--table-header-bg) !important;
    color: var(--text-muted) !important;
    font-size: var(--font-size-xs, 12px) !important;
    font-weight: var(--font-weight-semibold, 600) !important;
    line-height: 1.2 !important;
    text-transform: none !important;
    vertical-align: middle !important;
}

table.mindz-table[data-mindz-table-contract="colaboradores"] > tbody > tr > :is(th, td) {
    height: 68px !important;
    padding: var(--space-3, 12px) var(--space-4, 16px) !important;
    border: 0 !important;
    border-bottom: 1px solid color-mix(in srgb, var(--table-row-border) 92%, transparent) !important;
    background: transparent !important;
    vertical-align: middle !important;
}

table.mindz-table[data-mindz-table-contract="colaboradores"] :is(th, td)[data-column="actions"] {
    width: 96px;
    min-width: 96px;
    max-width: 96px;
}

table.mindz-table[data-mindz-table-contract="colaboradores"] > thead > tr > th:is(:hover, :focus-visible).mindz-table-sortable-header {
    color: var(--primary);
    background: color-mix(in srgb, var(--primary) 4%, var(--table-header-bg));
}

/* Garante que o fundo do cabeçalho cubra inclusive a última coluna. */
table.mindz-table[data-mindz-table="true"] > thead,
table.mindz-table[data-mindz-table="true"] > thead > tr,
table.mindz-table[data-mindz-table="true"] > thead > tr > th:last-child {
    background-color: color-mix(in srgb, var(--primary) 4.5%, var(--table-header-bg));
}

/* =========================================================
   MindZ 27049 — assinatura do Perfil público nas tabelas
   Reutiliza a geometria premium de elipses concêntricas do
   Perfil público, agora no canto superior esquerdo do título.
   ========================================================= */
:root {
    --mindz-table-title-art-width: clamp(330px, 38vw, 454px);
    --mindz-table-title-art-height: 172px;
    --mindz-table-title-art-color: color-mix(in srgb, var(--primary) 20%, transparent);
    --mindz-table-title-art-dot: color-mix(in srgb, var(--primary) 36%, transparent);
    --mindz-table-title-art-wash: color-mix(in srgb, var(--primary) 4%, transparent);
}

:is(
    .mindz-table-section,
    [data-mindz-table-section="true"],
    .premium-table-card
) > :is(
    .mindz-table-toolbar,
    .premium-table-card__header,
    [data-mindz-table-toolbar="true"]
):has(:is(h1, h2, h3, .premium-table-card__title, .mindz-table-toolbar__title)) {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

/*
 * O desenho abaixo replica o efeito do Perfil público:
 * três elipses de mesmo eixo, progressivamente deslocadas,
 * com pontos orbitais. O SVG é usado como máscara para manter
 * as curvas perfeitamente nítidas em qualquer resolução.
 */
:is(
    .mindz-table-section,
    [data-mindz-table-section="true"],
    .premium-table-card
) > :is(
    .mindz-table-toolbar,
    .premium-table-card__header,
    [data-mindz-table-toolbar="true"]
):has(:is(h1, h2, h3, .premium-table-card__title, .mindz-table-toolbar__title))::before {
    content: "";
    position: absolute;
    z-index: 0;
    top: -72px;
    left: -48px;
    width: var(--mindz-table-title-art-width);
    height: var(--mindz-table-title-art-height);
    pointer-events: none;
    background: var(--mindz-table-title-art-color);
    opacity: 0.96;
    transform: rotate(7deg);
    transform-origin: 50% 50%;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 454 172'%3E%3Cg fill='none' stroke='white' stroke-width='1.35'%3E%3Cellipse cx='205' cy='60' rx='204' ry='59'/%3E%3Cellipse cx='233' cy='86' rx='199' ry='59'/%3E%3Cellipse cx='265' cy='112' rx='189' ry='59'/%3E%3C/g%3E%3Cg fill='white'%3E%3Ccircle cx='116' cy='112' r='3.1'/%3E%3Ccircle cx='244' cy='28' r='2.5'/%3E%3Ccircle cx='376' cy='122' r='3.7'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 454 172'%3E%3Cg fill='none' stroke='white' stroke-width='1.35'%3E%3Cellipse cx='205' cy='60' rx='204' ry='59'/%3E%3Cellipse cx='233' cy='86' rx='199' ry='59'/%3E%3Cellipse cx='265' cy='112' rx='189' ry='59'/%3E%3C/g%3E%3Cg fill='white'%3E%3Ccircle cx='116' cy='112' r='3.1'/%3E%3Ccircle cx='244' cy='28' r='2.5'/%3E%3Ccircle cx='376' cy='122' r='3.7'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
    filter: drop-shadow(0 0 0.35px color-mix(in srgb, var(--primary) 22%, transparent));
}

/* Lavagem muito discreta, igual ao fundo suave do Perfil público. */
:is(
    .mindz-table-section,
    [data-mindz-table-section="true"],
    .premium-table-card
) > :is(
    .mindz-table-toolbar,
    .premium-table-card__header,
    [data-mindz-table-toolbar="true"]
):has(:is(h1, h2, h3, .premium-table-card__title, .mindz-table-toolbar__title))::after {
    content: "";
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 0;
    width: min(360px, 48%);
    pointer-events: none;
    background: linear-gradient(105deg, var(--mindz-table-title-art-wash), transparent 78%);
}

:is(
    .mindz-table-section,
    [data-mindz-table-section="true"],
    .premium-table-card
) > :is(
    .mindz-table-toolbar,
    .premium-table-card__header,
    [data-mindz-table-toolbar="true"]
):has(:is(h1, h2, h3, .premium-table-card__title, .mindz-table-toolbar__title)) > * {
    position: relative;
    z-index: 1;
}

/* Título e subtítulo permanecem acima do grafismo e totalmente legíveis. */
:is(
    .mindz-table-section,
    [data-mindz-table-section="true"],
    .premium-table-card
) > :is(
    .mindz-table-toolbar,
    .premium-table-card__header,
    [data-mindz-table-toolbar="true"]
):has(:is(h1, h2, h3, .premium-table-card__title, .mindz-table-toolbar__title))
:is(h1, h2, h3, .premium-table-card__title, .mindz-table-toolbar__title) {
    position: relative;
    z-index: 2;
    text-shadow: 0 1px 0 color-mix(in srgb, var(--surface) 92%, transparent);
}

/* Permite desativação explícita em contextos especiais. */
[data-mindz-table-art="false"]::before,
[data-mindz-table-art="false"]::after {
    display: none !important;
}

@media (max-width: 640px) {
    :root {
        --mindz-table-title-art-width: min(88vw, 410px);
    }

    :is(
        .mindz-table-section,
        [data-mindz-table-section="true"],
        .premium-table-card
    ) > :is(
        .mindz-table-toolbar,
        .premium-table-card__header,
        [data-mindz-table-toolbar="true"]
    ):has(:is(h1, h2, h3, .premium-table-card__title, .mindz-table-toolbar__title))::before {
        left: -92px;
        opacity: 0.78;
    }
}

@media (prefers-reduced-transparency: reduce) {
    :is(
        .mindz-table-section,
        [data-mindz-table-section="true"],
        .premium-table-card
    ) > :is(
        .mindz-table-toolbar,
        .premium-table-card__header,
        [data-mindz-table-toolbar="true"]
    ):has(:is(h1, h2, h3, .premium-table-card__title, .mindz-table-toolbar__title))::before {
        opacity: 0.58;
    }
}
