/* Tema moderno do DataTables 3 para o Imatec, independente do jQuery UI. */
:root {
    --imatec-dt-primary: #0969da;
    --imatec-dt-primary-dark: #0757b9;
    --imatec-dt-primary-soft: #eaf3ff;
    --imatec-dt-heading: #f4f7fb;
    --imatec-dt-border: #d8dee8;
    --imatec-dt-border-strong: #c4ccd8;
    --imatec-dt-text: #263548;
    --imatec-dt-muted: #66758a;
    --imatec-dt-row-alt: #f8fafc;
    --imatec-dt-row-hover: #eef6ff;
    --imatec-dt-shadow: 0 1px 3px rgba(26, 45, 72, .08), 0 8px 24px rgba(26, 45, 72, .06);
}

div.dt-container {
    clear: both;
    color: var(--imatec-dt-text);
    position: relative;
}

/* Barra de quantidade, busca, informações e paginação. */
div.dt-container .dt-layout-row {
    align-items: center;
    box-sizing: border-box;
    margin: 0;
}

div.dt-container > .dt-layout-row:not(.dt-layout-table) {
    background: #fff;
    border-left: 1px solid var(--imatec-dt-border);
    border-right: 1px solid var(--imatec-dt-border);
    min-height: 52px;
    padding: 9px 12px;
}

div.dt-container > .dt-layout-row:first-of-type {
    background: var(--imatec-dt-heading);
    border: 1px solid var(--imatec-dt-border);
    border-radius: 8px 8px 0 0;
}

div.dt-container > .dt-layout-table + .dt-layout-row {
    border-bottom: 1px solid var(--imatec-dt-border);
    border-radius: 0 0 8px 8px;
    box-shadow: var(--imatec-dt-shadow);
}

div.dt-container .dt-length,
div.dt-container .dt-search,
div.dt-container .dt-info,
div.dt-container .dt-paging {
    color: var(--imatec-dt-muted);
    font-size: 13px;
}

div.dt-container .dt-info {
    padding: 0;
}

/* Campos de busca e quantidade por página. */
div.dt-container .dt-input,
div.dt-container .dt-search input,
div.dt-container .dt-length select {
    background: #fff;
    border: 1px solid var(--imatec-dt-border-strong);
    border-radius: 6px;
    box-sizing: border-box;
    color: var(--imatec-dt-text);
    min-height: 34px;
    outline: none;
    padding: 6px 9px;
    transition: border-color .15s ease, box-shadow .15s ease;
}

div.dt-container .dt-search input {
    min-width: 210px;
}

div.dt-container .dt-input:focus,
div.dt-container .dt-search input:focus,
div.dt-container .dt-length select:focus {
    border-color: var(--imatec-dt-primary);
    box-shadow: 0 0 0 3px rgba(9, 105, 218, .14);
}

/* Tabela, cabeçalho e linhas. */
div.dt-container > .dt-layout-table {
    border-left: 1px solid var(--imatec-dt-border);
    border-right: 1px solid var(--imatec-dt-border);
    overflow-x: auto;
}

div.dt-container table.dataTable {
    border-collapse: separate;
    border-spacing: 0;
    color: var(--imatec-dt-text);
    margin: 0 !important;
}

div.dt-container table.dataTable > thead > tr > th,
div.dt-container table.dataTable > thead > tr > td {
    background: var(--imatec-dt-heading);
    border-bottom: 1px solid var(--imatec-dt-border-strong);
    color: #34445a;
    font-size: 13px;
    font-weight: 700;
    padding: 11px 10px;
    white-space: nowrap;
}

div.dt-container table.dataTable > thead > tr > th.dt-ordering-asc,
div.dt-container table.dataTable > thead > tr > th.dt-ordering-desc,
div.dt-container table.dataTable > thead > tr > td.dt-ordering-asc,
div.dt-container table.dataTable > thead > tr > td.dt-ordering-desc {
    background: var(--imatec-dt-primary-soft);
    color: var(--imatec-dt-primary-dark);
}

div.dt-container table.dataTable > tbody > tr > td,
div.dt-container table.dataTable > tbody > tr > th {
    background: #fff;
    border-top: 0;
    border-bottom: 1px solid #e7ebf1;
    color: var(--imatec-dt-text);
    padding: 9px 10px;
    transition: background-color .12s ease;
}

div.dt-container table.dataTable > tbody > tr:nth-child(even) > td,
div.dt-container table.dataTable > tbody > tr:nth-child(even) > th {
    background: var(--imatec-dt-row-alt);
}

div.dt-container table.dataTable > tbody > tr:hover > td,
div.dt-container table.dataTable > tbody > tr:hover > th {
    background: var(--imatec-dt-row-hover) !important;
    box-shadow: none !important;
}

div.dt-container table.dataTable > tbody > tr:last-child > td,
div.dt-container table.dataTable > tbody > tr:last-child > th {
    border-bottom: 0;
}

/* Paginação moderna e com alvo de clique confortável. */
div.dt-container .dt-paging .dt-paging-button {
    background: transparent;
    border: 1px solid transparent;
    border-radius: 6px;
    color: var(--imatec-dt-muted) !important;
    margin-left: 3px;
    min-width: 34px;
    padding: 7px 10px;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

div.dt-container .dt-paging .dt-paging-button:hover:not(.disabled):not(.current) {
    background: var(--imatec-dt-primary-soft);
    border-color: #c9e0ff;
    color: var(--imatec-dt-primary-dark) !important;
}

div.dt-container .dt-paging .dt-paging-button.current,
div.dt-container .dt-paging .dt-paging-button.current:hover {
    background: var(--imatec-dt-primary);
    border-color: var(--imatec-dt-primary);
    box-shadow: 0 2px 5px rgba(9, 105, 218, .22);
    color: #fff !important;
}

div.dt-container .dt-paging .dt-paging-button.disabled {
    color: #a7b0bd !important;
    opacity: .7;
}

/* TableTools antigo é apresentado pela extensão Buttons atual. */
div.dt-buttons {
    align-items: center;
    justify-content: flex-end;
    margin: 8px 0;
}

div.dt-container > .dt-layout-table div.dt-buttons {
    background: #fff;
    border-bottom: 1px solid var(--imatec-dt-border);
    box-sizing: border-box;
    margin: 0;
    min-height: 49px;
    padding: 7px 10px;
    width: 100%;
}

div.dt-buttons > .dt-button,
div.dt-buttons > div.dt-button-split .dt-button {
    background: var(--imatec-dt-primary);
    border: 1px solid var(--imatec-dt-primary);
    border-radius: 6px;
    box-shadow: 0 2px 5px rgba(9, 105, 218, .18);
    color: #fff;
    cursor: pointer;
    font-weight: 600;
    line-height: 1.3;
    padding: 8px 14px;
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

div.dt-buttons > .dt-button:hover:not(.disabled),
div.dt-buttons > div.dt-button-split .dt-button:hover:not(.disabled) {
    background: var(--imatec-dt-primary-dark);
    border-color: var(--imatec-dt-primary-dark);
    box-shadow: 0 3px 8px rgba(9, 105, 218, .25);
    color: #fff;
}

div.dt-buttons > .dt-button:focus-visible {
    outline: 3px solid rgba(9, 105, 218, .25);
    outline-offset: 2px;
}

div.dt-container .dt-processing {
    background: #fff;
    border: 1px solid var(--imatec-dt-border);
    border-radius: 8px;
    box-shadow: var(--imatec-dt-shadow);
    color: var(--imatec-dt-text);
}

@media screen and (max-width: 767px) {
    div.dt-container > .dt-layout-row:not(.dt-layout-table) {
        padding: 10px;
    }

    div.dt-container .dt-search input {
        max-width: 100%;
        min-width: 0;
        width: 100%;
    }

    div.dt-container .dt-paging .dt-paging-button {
        margin-bottom: 4px;
        padding: 6px 8px;
    }
}
