:root {
    --esc-fundo: #f4f6f8;
    --esc-card: rgba(255, 255, 255, .94);
    --esc-texto: #1f2f43;
    --esc-secundario: #69788a;
    --esc-borda: #dfe6ee;
    --esc-azul: #2f80ed;
    --esc-azul-escuro: #235fba;
    --esc-verde: #2e9d63;
    --esc-vermelho: #cf4d4d;
    --esc-amarelo: #c38a28;
    --esc-sombra: 0 14px 40px rgba(23, 43, 68, .08);
}

html,
body {
    min-height: 100%;
    margin: 0;
}

body {
    background-image:
        linear-gradient(rgba(244, 246, 248, .9), rgba(244, 246, 248, .9)),
        url("../../img/Login.png");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

[hidden] {
    display: none !important;
}

.escala-page {
    min-height: 100vh;
    padding: 36px 28px 70px;
    box-sizing: border-box;
    color: var(--esc-texto);
}

.escala-hero,
.escala-resumo,
.escala-shell {
    width: 100%;
    max-width: 1450px;
    margin-inline: auto;
}

.escala-hero {
    margin-bottom: 22px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
}

.escala-eyebrow,
.escala-card-etiqueta {
    display: block;
    color: var(--esc-azul);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.escala-hero h1 {
    margin: 4px 0 7px;
    color: #132338;
    font-size: clamp(30px, 4vw, 42px);
    line-height: 1.08;
}

.escala-hero p,
.escala-card p,
.escala-painel-topo p {
    margin: 0;
    color: var(--esc-secundario);
    line-height: 1.6;
}

.escala-hero p {
    max-width: 720px;
}

.escala-identidade {
    min-width: 220px;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    border: 1px solid rgba(35, 76, 124, .1);
    border-radius: 12px;
    background: rgba(255, 255, 255, .7);
    backdrop-filter: blur(8px);
}

.escala-identidade span {
    color: var(--esc-secundario);
    font-size: 11px;
}

.escala-identidade strong {
    margin-top: 3px;
    color: #17293f;
}

.escala-resumo {
    margin-bottom: 22px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.escala-resumo-card {
    padding: 17px 19px;
    border: 1px solid var(--esc-borda);
    border-radius: 13px;
    background: var(--esc-card);
    box-shadow: 0 6px 22px rgba(25, 44, 70, .04);
}

.escala-resumo-card-destaque {
    background: linear-gradient(145deg, #f2f7ff 0%, #ffffff 100%);
    border-color: #cbdcf4;
}

.escala-resumo-card span,
.escala-resumo-card small {
    display: block;
    color: var(--esc-secundario);
}

.escala-resumo-card span {
    font-size: 11px;
    font-weight: 700;
}

.escala-resumo-card strong {
    display: block;
    margin: 5px 0 4px;
    color: #14283f;
    font-size: 20px;
}

.escala-resumo-card small {
    line-height: 1.4;
}

.escala-shell {
    overflow: hidden;
    border: 1px solid var(--esc-borda);
    border-radius: 16px;
    background: rgba(255, 255, 255, .88);
    box-shadow: var(--esc-sombra);
    backdrop-filter: blur(8px);
}

.escala-tabs {
    padding: 10px 12px 0;
    display: flex;
    gap: 4px;
    overflow-x: auto;
    border-bottom: 1px solid var(--esc-borda);
    background: rgba(249, 251, 253, .92);
}

.escala-tab {
    min-height: 44px;
    padding: 10px 16px;
    border: 0;
    border-bottom: 3px solid transparent;
    background: transparent;
    color: #6a7889;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
    cursor: pointer;
}

.escala-tab:hover {
    color: #314760;
}

.escala-tab.ativo {
    border-bottom-color: var(--esc-azul);
    color: var(--esc-azul-escuro);
}

.escala-painel {
    padding: 24px;
}

.escala-visao-grid {
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: 14px;
}

.escala-card {
    padding: 20px;
    border: 1px solid var(--esc-borda);
    border-radius: 13px;
    background: #fff;
}

.escala-card-principal {
    background: linear-gradient(145deg, #ffffff 0%, #f6f9fe 100%);
}

.escala-card h2,
.escala-painel-topo h2 {
    margin: 4px 0 7px;
    color: #17283e;
    font-size: 21px;
}

.escala-chips {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.escala-chip {
    padding: 7px 10px;
    border: 1px solid #cfdded;
    border-radius: 999px;
    background: #f4f8fd;
    color: #315c8d;
    font-size: 12px;
    font-weight: 800;
}

.escala-chip.escalador {
    border-color: #b9d5c5;
    background: #f1faf5;
    color: #287449;
}

.escala-fluxo {
    margin-top: 14px;
    display: grid;
    gap: 10px;
}

.escala-fluxo > div {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 10px;
    align-items: center;
}

.escala-fluxo b {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #edf4ff;
    color: var(--esc-azul-escuro);
    font-size: 12px;
}

.escala-fluxo span {
    color: #53667b;
    font-size: 13px;
    line-height: 1.45;
}

.escala-recorrencias {
    margin-top: 14px;
}

.escala-card-cabecalho {
    display: flex;
    justify-content: space-between;
    gap: 16px;
}

.escala-recorrencias-grid {
    margin-top: 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.escala-recorrencia-item {
    min-height: 76px;
    padding: 13px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    border: 1px solid #e1e7ee;
    border-radius: 11px;
    background: #fbfcfd;
}

.escala-recorrencia-futuro {
    border-style: dashed;
    background: #fafcff;
}

.escala-dia-badge {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border-radius: 11px;
    background: #edf4ff;
    color: #2767b3;
    font-size: 11px;
    font-weight: 900;
}

.escala-recorrencia-item strong,
.escala-recorrencia-item small {
    display: block;
}

.escala-recorrencia-item small {
    margin-top: 3px;
    color: var(--esc-secundario);
}

.escala-painel-topo {
    margin-bottom: 18px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 22px;
}

.escala-painel-topo > div:first-child {
    min-width: 0;
}

.escala-filtros {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.escala-filtros label {
    min-width: 190px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.escala-filtros label > span,
.escala-atalhos > span {
    color: var(--esc-secundario);
    font-size: 11px;
    font-weight: 800;
}

.escala-filtros select {
    min-height: 40px;
    padding: 7px 34px 7px 10px;
    border: 1px solid var(--esc-borda);
    border-radius: 9px;
    background: #fff;
    color: var(--esc-texto);
    font: inherit;
}

.escala-mes-controle {
    min-height: 40px;
    display: grid;
    grid-template-columns: 38px minmax(145px, auto) 38px;
    align-items: center;
    border: 1px solid var(--esc-borda);
    border-radius: 9px;
    background: #fff;
    overflow: hidden;
}

.escala-mes-controle button {
    height: 100%;
    border: 0;
    background: #f7f9fb;
    color: #35506c;
    font-size: 22px;
    cursor: pointer;
}

.escala-mes-controle button:hover {
    background: #edf3f8;
}

.escala-mes-controle strong {
    padding: 0 10px;
    text-align: center;
    font-size: 12px;
}

.escala-atalhos {
    margin-bottom: 15px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 7px;
    flex-wrap: wrap;
    border: 1px solid #e4e9ef;
    border-radius: 10px;
    background: #fafbfd;
}

.escala-atalhos > span {
    margin-right: 3px;
}

.escala-atalhos button,
.escala-btn-primario,
.escala-btn-secundario {
    min-height: 36px;
    padding: 7px 11px;
    border-radius: 8px;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
}

.escala-atalhos button,
.escala-btn-secundario {
    border: 1px solid #d7e1ec;
    background: #fff;
    color: #395875;
}

.escala-atalhos button:hover,
.escala-btn-secundario:hover {
    background: #f2f6fa;
}

.escala-atalhos button.secundario {
    color: #7a6670;
}

.escala-btn-primario {
    border: 1px solid var(--esc-azul);
    background: var(--esc-azul);
    color: #fff;
}

.escala-btn-primario:hover {
    background: var(--esc-azul-escuro);
}

.escala-btn-primario:disabled,
.escala-atalhos button:disabled {
    opacity: .6;
    cursor: wait;
}

.escala-disponibilidade-lista {
    display: grid;
    gap: 9px;
}

.escala-disponibilidade-item {
    padding: 13px 14px;
    display: grid;
    grid-template-columns: minmax(145px, .65fr) minmax(320px, 1.35fr);
    gap: 14px;
    align-items: center;
    border: 1px solid var(--esc-borda);
    border-radius: 11px;
    background: #fff;
}

.escala-data-info {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 11px;
}

.escala-data-dia {
    width: 48px;
    height: 48px;
    flex: 0 0 48px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: #f0f5fb;
    color: #2e6199;
    font-size: 18px;
    font-weight: 900;
}

.escala-data-info strong,
.escala-data-info span {
    display: block;
}

.escala-data-info span {
    margin-top: 2px;
    color: var(--esc-secundario);
    font-size: 11px;
}

.escala-status-controles {
    min-width: 0;
}

.escala-status-botoes {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.escala-status-botao {
    min-height: 39px;
    padding: 7px 9px;
    border: 1px solid #dbe2e9;
    border-radius: 8px;
    background: #fff;
    color: #627184;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.escala-status-botao[data-status="disponivel"].ativo {
    border-color: #94cbaa;
    background: #edf8f1;
    color: #237546;
}

.escala-status-botao[data-status="indisponivel"].ativo {
    border-color: #ddb0b0;
    background: #fff1f1;
    color: #a43d3d;
}

.escala-status-botao[data-status="restricao"].ativo {
    border-color: #e1c58b;
    background: #fff9ea;
    color: #926619;
}

.escala-observacao {
    width: 100%;
    min-height: 38px;
    margin-top: 8px;
    padding: 8px 10px;
    box-sizing: border-box;
    border: 1px solid #e0c992;
    border-radius: 8px;
    background: #fffdf5;
    color: #5b4c31;
    font: inherit;
    font-size: 12px;
}

.escala-rodape-acoes {
    margin-top: 16px;
    padding-top: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    border-top: 1px solid var(--esc-borda);
}

.escala-status {
    min-height: 18px;
    color: var(--esc-secundario);
    font-size: 12px;
}

.escala-status.sucesso {
    color: #26754a;
}

.escala-status.erro {
    color: #ac4242;
}

.escala-carregando,
.escala-vazio {
    padding: 30px 18px;
    border: 1px dashed #d9e1ea;
    border-radius: 11px;
    color: var(--esc-secundario);
    text-align: center;
    background: #fbfcfd;
}

.escala-vazio strong,
.escala-vazio p {
    display: block;
}

.escala-vazio strong {
    color: #344c66;
}

.escala-vazio p {
    margin: 5px 0 0;
    line-height: 1.5;
}

.escala-gestao-resumo {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.escala-gestao-resumo > div {
    padding: 12px 14px;
    border: 1px solid var(--esc-borda);
    border-radius: 10px;
    background: #fbfcfd;
}

.escala-gestao-resumo span,
.escala-gestao-resumo strong {
    display: block;
}

.escala-gestao-resumo span {
    color: var(--esc-secundario);
    font-size: 10px;
    font-weight: 700;
}

.escala-gestao-resumo strong {
    margin-top: 4px;
    color: #17314e;
    font-size: 19px;
}

.escala-gestao-lista {
    display: grid;
    gap: 10px;
}

.escala-gestao-data {
    overflow: hidden;
    border: 1px solid var(--esc-borda);
    border-radius: 12px;
    background: #fff;
}

.escala-gestao-data-topo {
    padding: 13px 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #e9edf2;
    background: #f9fbfd;
}

.escala-gestao-data-topo > div:first-child {
    min-width: 0;
}

.escala-gestao-data-topo strong,
.escala-gestao-data-topo span {
    display: block;
}

.escala-gestao-data-topo span {
    margin-top: 2px;
    color: var(--esc-secundario);
    font-size: 11px;
}

.escala-resposta-medidor {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    background: #edf4ff;
    color: #2b66aa;
    font-size: 10px;
    font-weight: 900;
}

.escala-gestao-grupos {
    padding: 14px 15px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

.escala-gestao-grupo {
    min-width: 0;
    padding: 10px;
    border-radius: 9px;
    background: #f8fafc;
}

.escala-gestao-grupo h4 {
    margin: 0 0 7px;
    font-size: 11px;
}

.escala-gestao-grupo.disponivel h4 { color: #2b8050; }
.escala-gestao-grupo.indisponivel h4 { color: #a14a4a; }
.escala-gestao-grupo.restricao h4 { color: #926719; }
.escala-gestao-grupo.sem-resposta h4 { color: #6c7888; }

.escala-pessoa {
    padding: 5px 0;
    border-bottom: 1px solid rgba(48, 66, 86, .07);
}

.escala-pessoa:last-child {
    border-bottom: 0;
}

.escala-pessoa strong,
.escala-pessoa small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.escala-pessoa strong {
    color: #344a61;
    font-size: 11px;
    white-space: nowrap;
}

.escala-pessoa small {
    margin-top: 2px;
    color: #7a8795;
    font-size: 9px;
    line-height: 1.35;
}

.escala-pessoa-vazio {
    color: #9aa5b1;
    font-size: 10px;
}

@media (max-width: 1000px) {
    .escala-visao-grid,
    .escala-recorrencias-grid {
        grid-template-columns: 1fr;
    }

    .escala-disponibilidade-item {
        grid-template-columns: 1fr;
    }

    .escala-gestao-grupos {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .escala-page {
        padding: 24px 12px 50px;
    }

    .escala-hero,
    .escala-painel-topo,
    .escala-rodape-acoes {
        align-items: stretch;
        flex-direction: column;
    }

    .escala-identidade {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
        align-items: flex-start;
    }

    .escala-resumo,
    .escala-gestao-resumo {
        grid-template-columns: 1fr;
    }

    .escala-painel {
        padding: 16px 13px 18px;
    }

    .escala-filtros {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .escala-filtros label,
    .escala-filtros select,
    .escala-mes-controle {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .escala-status-botoes {
        grid-template-columns: 1fr;
    }

    .escala-atalhos {
        align-items: stretch;
        flex-direction: column;
    }

    .escala-atalhos button,
    .escala-btn-primario {
        width: 100%;
    }

    .escala-gestao-grupos {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   E6.2 — PROGRAMAÇÕES, FUNÇÕES E MONTAGEM
========================================================= */

.escala-data-programacoes {
    margin-top: 5px;
    display: grid;
    gap: 2px;
}

.escala-data-programacoes small {
    color: #718094;
    font-size: 9px;
    line-height: 1.35;
}

.escala-montagem-resumo {
    margin-bottom: 14px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
}

.escala-montagem-resumo > div {
    padding: 12px 14px;
    border: 1px solid var(--esc-borda);
    border-radius: 10px;
    background: #fbfcfd;
}

.escala-montagem-resumo span,
.escala-montagem-resumo strong {
    display: block;
}

.escala-montagem-resumo span {
    color: var(--esc-secundario);
    font-size: 10px;
    font-weight: 700;
}

.escala-montagem-resumo strong {
    margin-top: 4px;
    color: #17314e;
    font-size: 19px;
}

.escala-montagem-lista,
.escala-programacoes-lista {
    display: grid;
    gap: 9px;
}

.escala-montagem-item {
    padding: 13px 14px;
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr) auto;
    gap: 13px;
    align-items: center;
    border: 1px solid var(--esc-borda);
    border-radius: 11px;
    background: #fff;
}

.escala-montagem-data {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    align-content: center;
    border-radius: 12px;
    background: #f0f5fb;
    color: #2d619a;
}

.escala-montagem-data span,
.escala-montagem-data strong {
    display: block;
    line-height: 1;
}

.escala-montagem-data span {
    margin-bottom: 4px;
    font-size: 9px;
    font-weight: 900;
}

.escala-montagem-data strong {
    font-size: 20px;
}

.escala-montagem-info {
    min-width: 0;
}

.escala-montagem-info > strong,
.escala-montagem-info > small {
    display: block;
}

.escala-montagem-info > strong {
    margin: 4px 0;
    color: #1b314a;
    font-size: 14px;
}

.escala-montagem-info > small {
    color: var(--esc-secundario);
    font-size: 10px;
    line-height: 1.45;
}

.escala-montagem-meta,
.escala-programacao-meta {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

.escala-montagem-meta span,
.escala-programacao-meta span {
    padding: 3px 6px;
    border-radius: 999px;
    background: #edf3f9;
    color: #557089;
    font-size: 9px;
    font-weight: 800;
}

.escala-montagem-meta .completa,
.escala-programacao-meta .ativo {
    background: #eef8f1;
    color: #27744a;
}

.escala-montagem-meta .rascunho {
    background: #fff7e9;
    color: #93641d;
}

.escala-montagem-meta .pendente,
.escala-programacao-meta .inativo {
    background: #f3f4f6;
    color: #788493;
}

.escala-config-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr);
    gap: 14px;
}

.escala-config-bloco {
    min-width: 0;
    padding: 17px;
    border: 1px solid var(--esc-borda);
    border-radius: 12px;
    background: #fff;
}

.escala-config-titulo {
    margin-bottom: 12px;
}

.escala-config-titulo h3 {
    margin: 3px 0 0;
    color: #17314e;
    font-size: 18px;
}

.escala-config-titulo-com-controle {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
}

.escala-config-titulo select {
    min-height: 38px;
    padding: 6px 30px 6px 9px;
    border: 1px solid var(--esc-borda);
    border-radius: 8px;
    background: #fff;
    color: var(--esc-texto);
    font: inherit;
}

.escala-config-ajuda {
    margin: -4px 0 13px;
    color: var(--esc-secundario);
    font-size: 11px;
    line-height: 1.5;
}

.escala-programacao-item {
    padding: 12px;
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    border: 1px solid #e1e7ee;
    border-radius: 10px;
    background: #fbfcfd;
}

.escala-programacao-item.inativa {
    opacity: .68;
    background: #f7f8fa;
}

.escala-programacao-icone {
    width: 46px;
    height: 46px;
    display: grid;
    place-items: center;
    border-radius: 10px;
    background: #edf4ff;
    color: #2b66aa;
    font-size: 10px;
    font-weight: 900;
}

.escala-programacao-info {
    min-width: 0;
}

.escala-programacao-info > strong,
.escala-programacao-info > small {
    display: block;
}

.escala-programacao-info > strong {
    margin: 4px 0;
    color: #1f354d;
    font-size: 13px;
}

.escala-programacao-info > small {
    color: var(--esc-secundario);
    font-size: 10px;
    line-height: 1.4;
}

.escala-funcoes-lista {
    display: grid;
    gap: 8px;
}

.escala-funcao-item {
    padding: 10px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 100px 36px;
    gap: 8px;
    align-items: end;
    border: 1px solid #e1e7ee;
    border-radius: 9px;
    background: #fbfcfd;
}

.escala-funcao-item label,
.escala-campo,
.escala-posicao-item label {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.escala-funcao-item label > span,
.escala-campo > span,
.escala-posicao-item label > span {
    color: var(--esc-secundario);
    font-size: 10px;
    font-weight: 800;
}

.escala-funcao-item input,
.escala-campo input,
.escala-campo select,
.escala-posicao-item select {
    width: 100%;
    min-height: 39px;
    padding: 7px 9px;
    box-sizing: border-box;
    border: 1px solid var(--esc-borda);
    border-radius: 8px;
    background: #fff;
    color: var(--esc-texto);
    font: inherit;
    font-size: 12px;
}

.escala-btn-icone {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid #dfc8c8;
    border-radius: 8px;
    background: #fff;
    color: #a64d4d;
    font-size: 19px;
    cursor: pointer;
}

.escala-config-acoes {
    margin-top: 12px;
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.escala-modal {
    position: fixed;
    inset: 0;
    z-index: 12000;
    padding: 18px;
    display: none;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    background: rgba(15, 28, 44, .62);
    backdrop-filter: blur(3px);
    box-sizing: border-box;
}

.escala-modal.ativo {
    display: flex;
}

.escala-modal-dialog {
    width: min(760px, 100%);
    max-height: calc(100vh - 36px);
    overflow-y: auto;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(14, 31, 50, .28);
}

.escala-modal-dialog-grande {
    width: min(980px, 100%);
}

.escala-modal-topo {
    position: sticky;
    top: 0;
    z-index: 2;
    padding: 15px 17px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    border-bottom: 1px solid var(--esc-borda);
    background: rgba(255, 255, 255, .97);
}

.escala-modal-topo span,
.escala-modal-topo strong,
.escala-modal-topo small {
    display: block;
}

.escala-modal-topo span {
    color: var(--esc-azul);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.escala-modal-topo strong {
    margin-top: 2px;
    color: #172d45;
    font-size: 18px;
}

.escala-modal-topo small {
    margin-top: 4px;
    color: var(--esc-secundario);
}

.escala-modal-topo > button {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    padding: 0;
    border: 1px solid var(--esc-borda);
    border-radius: 9px;
    background: #fff;
    color: #3a5067;
    font-size: 22px;
    cursor: pointer;
}

.escala-modal-corpo {
    padding: 17px;
}

.escala-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.escala-campo-largo {
    grid-column: 1 / -1;
}

.escala-segmentos-check {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
}

.escala-segmentos-check label {
    min-height: 38px;
    padding: 8px 9px;
    display: flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #e0e7ee;
    border-radius: 8px;
    background: #fbfcfd;
    color: #40566e;
    font-size: 11px;
    cursor: pointer;
}

.escala-segmentos-check input {
    accent-color: var(--esc-azul);
}

.escala-toggle {
    margin-top: 15px;
    padding: 11px 12px;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    align-items: center;
    border: 1px solid #dfe6ed;
    border-radius: 9px;
    background: #fafbfd;
    cursor: pointer;
}

.escala-toggle input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.escala-toggle > span {
    width: 38px;
    height: 22px;
    position: relative;
    border-radius: 999px;
    background: #c7d0da;
    transition: .2s ease;
}

.escala-toggle > span::after {
    content: "";
    width: 16px;
    height: 16px;
    position: absolute;
    top: 3px;
    left: 3px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,.2);
    transition: .2s ease;
}

.escala-toggle input:checked + span {
    background: var(--esc-verde);
}

.escala-toggle input:checked + span::after {
    transform: translateX(16px);
}

.escala-toggle strong,
.escala-toggle small {
    display: block;
}

.escala-toggle strong {
    color: #274158;
    font-size: 12px;
}

.escala-toggle small {
    margin-top: 2px;
    color: var(--esc-secundario);
    font-size: 10px;
    line-height: 1.4;
}

.escala-modal-acoes {
    margin-top: 15px;
    padding-top: 14px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    border-top: 1px solid var(--esc-borda);
}

.escala-modal-aberto {
    overflow: hidden;
}

.escala-montagem-legenda {
    margin-bottom: 12px;
    padding: 9px 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    border: 1px solid #e2e8ee;
    border-radius: 9px;
    background: #fafbfd;
}

.escala-montagem-legenda span {
    font-size: 10px;
    font-weight: 800;
}

.escala-montagem-legenda .disponivel,
.status-disponivel { color: #26784a; }
.escala-montagem-legenda .restricao,
.status-restricao { color: #9b6c1f; }
.escala-montagem-legenda .sem-resposta,
.status-sem-resposta { color: #758293; }
.escala-montagem-legenda .indisponivel,
.status-indisponivel { color: #a74949; }

.escala-posicoes-lista {
    display: grid;
    gap: 9px;
}

.escala-posicao-item {
    padding: 12px;
    display: grid;
    grid-template-columns: minmax(140px, .55fr) minmax(260px, 1fr) minmax(180px, .75fr);
    gap: 12px;
    align-items: center;
    border: 1px solid #e0e7ed;
    border-radius: 10px;
    background: #fff;
}

.escala-posicao-titulo span,
.escala-posicao-titulo strong {
    display: block;
}

.escala-posicao-titulo span {
    color: var(--esc-secundario);
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.escala-posicao-titulo strong {
    margin-top: 3px;
    color: #213a54;
    font-size: 13px;
}

.escala-posicao-ajuda {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: var(--esc-secundario);
    font-size: 10px;
    line-height: 1.35;
}

.escala-posicao-ajuda .conflito {
    color: #b14b4b;
    font-weight: 800;
}

@media (max-width: 1050px) {
    .escala-config-grid {
        grid-template-columns: 1fr;
    }

    .escala-posicao-item {
        grid-template-columns: minmax(120px, .5fr) minmax(240px, 1fr);
    }

    .escala-posicao-ajuda {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .escala-montagem-resumo {
        grid-template-columns: 1fr;
    }

    .escala-montagem-item,
    .escala-programacao-item {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .escala-montagem-item > button,
    .escala-programacao-item > button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .escala-config-titulo-com-controle,
    .escala-config-acoes,
    .escala-modal-acoes {
        align-items: stretch;
        flex-direction: column;
    }

    .escala-config-titulo select,
    .escala-config-acoes button,
    .escala-modal-acoes button {
        width: 100%;
    }

    .escala-funcao-item {
        grid-template-columns: minmax(0, 1fr) 84px 36px;
    }

    .escala-form-grid,
    .escala-segmentos-check,
    .escala-posicao-item {
        grid-template-columns: 1fr;
    }

    .escala-campo-largo,
    .escala-posicao-ajuda {
        grid-column: auto;
    }

    .escala-modal {
        padding: 8px;
        align-items: flex-start;
    }

    .escala-modal-dialog {
        max-height: calc(100vh - 16px);
    }
}

/* =========================================================
   E6.3 — PUBLICAÇÃO, MINHAS ESCALAS E VISÃO GERAL
========================================================= */

.escala-btn-publicar,
.escala-btn-confirmar,
.escala-btn-perigo {
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 9px;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .16s ease, filter .16s ease, opacity .16s ease;
}

.escala-btn-publicar,
.escala-btn-confirmar {
    border: 1px solid #23814d;
    background: #23814d;
    color: #fff;
}

.escala-btn-publicar:hover,
.escala-btn-confirmar:hover {
    filter: brightness(.96);
    transform: translateY(-1px);
}

.escala-btn-perigo {
    border: 1px solid #c65353;
    background: #c65353;
    color: #fff;
}

.escala-btn-perigo:hover {
    filter: brightness(.96);
}

.escala-btn-publicar:disabled,
.escala-btn-confirmar:disabled,
.escala-btn-perigo:disabled {
    opacity: .58;
    cursor: not-allowed;
    transform: none;
}

.escala-subabas {
    padding: 4px;
    display: flex;
    gap: 4px;
    border: 1px solid var(--esc-borda);
    border-radius: 10px;
    background: #f5f8fb;
}

.escala-subaba {
    min-height: 34px;
    padding: 7px 12px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #67788a;
    font: inherit;
    font-size: 11px;
    font-weight: 800;
    cursor: pointer;
}

.escala-subaba.ativo {
    background: #fff;
    color: #25486d;
    box-shadow: 0 1px 5px rgba(25, 47, 70, .09);
}

.escala-minhas-resumo {
    margin-bottom: 16px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.escala-minhas-resumo > div {
    padding: 12px 14px;
    border: 1px solid var(--esc-borda);
    border-radius: 10px;
    background: #fbfcfd;
}

.escala-minhas-resumo span,
.escala-minhas-resumo strong {
    display: block;
}

.escala-minhas-resumo span {
    color: var(--esc-secundario);
    font-size: 10px;
    font-weight: 700;
}

.escala-minhas-resumo strong {
    margin-top: 4px;
    color: #17314e;
    font-size: 20px;
}

.escala-minhas-lista {
    display: grid;
    gap: 11px;
}

.escala-minha-card {
    padding: 15px;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 15px;
    border: 1px solid var(--esc-borda);
    border-radius: 13px;
    background: linear-gradient(145deg, #fff 0%, #fbfcfe 100%);
    box-shadow: 0 7px 20px rgba(30, 55, 82, .05);
}

.escala-minha-data {
    min-height: 88px;
    padding: 10px 6px;
    display: grid;
    place-items: center;
    align-content: center;
    border-radius: 12px;
    background: #edf4fb;
    color: #2c5f93;
    text-align: center;
}

.escala-minha-data span,
.escala-minha-data strong,
.escala-minha-data small {
    display: block;
}

.escala-minha-data span {
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .06em;
}

.escala-minha-data strong {
    margin: 4px 0;
    font-size: 28px;
    line-height: 1;
}

.escala-minha-data small {
    color: #67809a;
    font-size: 9px;
}

.escala-minha-conteudo {
    min-width: 0;
}

.escala-minha-topo {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.escala-minha-topo h3 {
    margin: 3px 0 0;
    color: #172d45;
    font-size: 17px;
}

.escala-minha-segmento {
    color: var(--esc-azul);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.escala-resposta-badge {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
}

.escala-resposta-badge.confirmada {
    background: #eaf7ef;
    color: #267448;
}

.escala-resposta-badge.pendente {
    background: #fff6e7;
    color: #8e631f;
}

.escala-resposta-badge.impedimento {
    background: #fdeeee;
    color: #a54343;
}

.escala-minha-meta {
    margin-top: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    color: #657689;
    font-size: 11px;
}

.escala-minha-meta b {
    color: #344f69;
}

.escala-minha-acoes {
    margin-top: 13px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.escala-impedimento-resumo {
    margin-top: 11px;
    padding: 9px 11px;
    display: flex;
    flex-direction: column;
    gap: 3px;
    border: 1px solid #efd2d2;
    border-radius: 9px;
    background: #fff7f7;
}

.escala-impedimento-resumo strong {
    color: #994141;
    font-size: 11px;
}

.escala-impedimento-resumo span {
    color: #765b5b;
    font-size: 10px;
    line-height: 1.45;
}

.escala-geral-legenda {
    margin-bottom: 12px;
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    color: #67788a;
    font-size: 10px;
    font-weight: 800;
}

.escala-geral-legenda .confirmada { color: #267448; }
.escala-geral-legenda .pendente { color: #966a22; }
.escala-geral-legenda .impedimento { color: #a54343; }

.escala-geral-tabela-wrap {
    overflow-x: auto;
    border: 1px solid var(--esc-borda);
    border-radius: 12px;
    background: #fff;
}

.escala-geral-tabela {
    width: 100%;
    min-width: 1120px;
    border-collapse: collapse;
    table-layout: fixed;
}

.escala-geral-tabela th,
.escala-geral-tabela td {
    padding: 11px 10px;
    vertical-align: top;
    border-right: 1px solid #edf1f5;
    border-bottom: 1px solid #edf1f5;
    text-align: left;
}

.escala-geral-tabela th:last-child,
.escala-geral-tabela td:last-child {
    border-right: 0;
}

.escala-geral-tabela tr:last-child td {
    border-bottom: 0;
}

.escala-geral-tabela th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #f6f9fc;
    color: #53677c;
    font-size: 10px;
    font-weight: 900;
}

.escala-geral-tabela th:first-child,
.escala-geral-tabela td:first-child {
    width: 180px;
}

.escala-geral-programacao strong,
.escala-geral-programacao span,
.escala-geral-programacao small {
    display: block;
}

.escala-geral-programacao strong {
    color: #1d344c;
    font-size: 12px;
}

.escala-geral-programacao span,
.escala-geral-programacao small {
    margin-top: 3px;
    color: var(--esc-secundario);
    font-size: 9px;
}

.escala-geral-pessoa {
    margin-bottom: 7px;
    display: grid;
    grid-template-columns: 7px minmax(0, 1fr);
    gap: 6px;
    align-items: start;
}

.escala-geral-pessoa:last-child {
    margin-bottom: 0;
}

.escala-geral-status-ponto {
    width: 7px;
    height: 7px;
    margin-top: 4px;
    border-radius: 50%;
    background: #c3ccd6;
}

.escala-geral-pessoa.confirmada .escala-geral-status-ponto { background: #31a267; }
.escala-geral-pessoa.pendente .escala-geral-status-ponto { background: #d69a35; }
.escala-geral-pessoa.impedimento .escala-geral-status-ponto { background: #cf5a5a; }

.escala-geral-pessoa strong,
.escala-geral-pessoa small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
}

.escala-geral-pessoa strong {
    color: #2c4258;
    font-size: 10px;
    white-space: nowrap;
}

.escala-geral-pessoa small {
    margin-top: 1px;
    color: #7a8795;
    font-size: 9px;
    white-space: nowrap;
}

.escala-geral-vazio,
.escala-geral-nao-participa {
    color: #9aa5b2;
    font-size: 9px;
}

.escala-geral-mobile {
    display: none;
}

.escala-geral-card {
    padding: 14px;
    border: 1px solid var(--esc-borda);
    border-radius: 12px;
    background: #fff;
}

.escala-geral-card-topo {
    display: grid;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
}

.escala-geral-card-topo h3 {
    margin: 0 0 4px;
    color: #1c334b;
    font-size: 15px;
}

.escala-geral-card-topo span,
.escala-geral-card-topo small {
    display: block;
    color: var(--esc-secundario);
    font-size: 10px;
}

.escala-geral-card-segmentos {
    margin-top: 13px;
    display: grid;
    gap: 9px;
}

.escala-geral-segmento {
    padding-top: 9px;
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 10px;
    border-top: 1px solid #edf1f5;
}

.escala-geral-segmento > strong {
    color: #38516a;
    font-size: 10px;
}

.escala-montagem-item.publicada {
    border-color: #cfe3d6;
    background: linear-gradient(145deg, #fff 0%, #f8fcf9 100%);
}

.escala-montagem-meta .publicada {
    background: #eaf7ef;
    color: #267448;
}

.escala-montagem-meta .impedimento {
    background: #fdeeee;
    color: #a54343;
}

.escala-posicao-ajuda .resposta-confirmada {
    color: #267448;
    font-weight: 800;
}

.escala-posicao-ajuda .resposta-pendente {
    color: #93661e;
    font-weight: 800;
}

.escala-posicao-ajuda .resposta-impedimento {
    color: #a54343;
    font-weight: 800;
}

.escala-campo textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 10px 11px;
    border: 1px solid #d9e1e9;
    border-radius: 9px;
    background: #fff;
    color: #2d4359;
    font: inherit;
    resize: vertical;
}

@media (max-width: 920px) {
    .escala-geral-tabela-wrap {
        display: none;
    }

    .escala-geral-mobile {
        display: grid;
        gap: 10px;
    }
}

@media (max-width: 700px) {
    .escala-minhas-resumo {
        grid-template-columns: 1fr;
    }

    .escala-minha-card {
        grid-template-columns: 64px minmax(0, 1fr);
        padding: 12px;
        gap: 11px;
    }

    .escala-minha-data {
        min-height: 78px;
    }

    .escala-minha-topo {
        flex-direction: column;
        gap: 7px;
    }

    .escala-minha-acoes {
        flex-direction: column;
    }

    .escala-minha-acoes button,
    .escala-modal-acoes .escala-btn-publicar,
    .escala-modal-acoes .escala-btn-perigo {
        width: 100%;
    }

    .escala-subabas {
        width: 100%;
    }

    .escala-subaba {
        flex: 1;
    }

    .escala-geral-segmento {
        grid-template-columns: 90px minmax(0, 1fr);
    }
}

/* E6.4 — gestão e exportação */
.escala-gestao-ferramentas,
.escala-exportacao-resumo {
    display: grid;
    gap: 16px;
    margin-top: 16px;
}

.escala-gestao-prazo,
.escala-exportacao-item {
    background: #fff;
    border: 1px solid #e7eaf3;
    border-radius: 18px;
    padding: 18px;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.06);
}

.escala-gestao-prazo {
    display: grid;
    gap: 12px;
}

.escala-acoes-inline {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.escala-exportacao-filtros {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.escala-exportacao-filtros > label,
.escala-gestao-prazo .escala-campo {
    display: grid;
    gap: 8px;
}

.escala-exportacao-filtros select,
.escala-exportacao-filtros input,
.escala-gestao-prazo input {
    min-height: 44px;
    border: 1px solid #d7dce8;
    border-radius: 12px;
    padding: 0 12px;
    background: #fff;
    font: inherit;
}

.escala-toggle-inline {
    align-items: center;
}

.escala-exportacao-resumo {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.escala-exportacao-resumo > div,
.escala-gestao-resumo > div {
    background: #fff;
    border: 1px solid #e7eaf3;
    border-radius: 16px;
    padding: 16px;
}

.escala-exportacao-resumo span,
.escala-gestao-resumo span {
    display: block;
    font-size: 0.9rem;
    color: #64748b;
}

.escala-exportacao-resumo strong,
.escala-gestao-resumo strong {
    display: block;
    margin-top: 4px;
    font-size: 1.35rem;
}

.escala-exportacao-lista {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.escala-exportacao-topo {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    margin-bottom: 14px;
}

.escala-exportacao-topo strong {
    display: block;
}

.escala-exportacao-topo span {
    color: #64748b;
    font-size: 0.95rem;
}

.escala-exportacao-badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.escala-badge-status,
.escala-badge-segmento {
    display: inline-flex;
    align-items: center;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 0.84rem;
    font-weight: 700;
    background: #f1f5f9;
    color: #0f172a;
}

.escala-badge-status.publicada {
    background: #dcfce7;
    color: #166534;
}

.escala-badge-status.rascunho {
    background: #fef3c7;
    color: #92400e;
}

.escala-exportacao-conteudo ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: 8px;
}

.escala-exportacao-conteudo li {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    border-top: 1px solid #eef2f7;
    padding-top: 8px;
}

.escala-exportacao-conteudo li:first-child {
    border-top: 0;
    padding-top: 0;
}

.escala-exportacao-conteudo li span {
    color: #475569;
    text-align: right;
}

.escala-vazio-interno {
    color: #64748b;
    font-size: 0.95rem;
}

@media (max-width: 720px) {
    .escala-exportacao-topo,
    .escala-exportacao-conteudo li {
        flex-direction: column;
    }

    .escala-exportacao-conteudo li span,
    .escala-exportacao-badges {
        text-align: left;
        justify-content: flex-start;
    }
}

/* E6.5 — matriz visual, exclusão e sugestão automática */
.escala-programacao-acoes {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.escala-btn-perigo {
    min-height: 40px;
    padding: 9px 14px;
    border: 1px solid #fecaca;
    border-radius: 11px;
    background: #fff7f7;
    color: #b42318;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.escala-btn-perigo:hover {
    background: #fff0f0;
    border-color: #fca5a5;
    transform: translateY(-1px);
}

.escala-matriz-wrap {
    overflow-x: auto;
    border: 1px solid #e1e5ee;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .06);
}

.escala-matriz-exportacao {
    width: 100%;
    min-width: 760px;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

.escala-matriz-exportacao th,
.escala-matriz-exportacao td {
    border-right: 1px solid #e5e9f1;
    border-bottom: 1px solid #e5e9f1;
    padding: 12px;
    vertical-align: top;
}

.escala-matriz-exportacao thead th {
    background: #f2f4f8;
    color: #202a3a;
    text-align: left;
    min-width: 150px;
}

.escala-matriz-exportacao thead th:first-child {
    background: #172033;
    color: #fff;
}

.escala-matriz-exportacao thead th strong,
.escala-matriz-exportacao thead th span,
.escala-matriz-exportacao thead th small {
    display: block;
}

.escala-matriz-exportacao thead th span {
    margin-top: 4px;
    font-size: .82rem;
}

.escala-matriz-exportacao thead th small {
    margin-top: 3px;
    color: #667085;
    font-weight: 500;
}

.escala-matriz-funcao {
    width: 190px;
    min-width: 190px !important;
    position: sticky;
    left: 0;
    z-index: 2;
}

.escala-matriz-exportacao tbody .escala-matriz-funcao {
    background: #fafbfc;
}

.escala-matriz-funcao span,
.escala-matriz-funcao strong {
    display: block;
}

.escala-matriz-funcao span {
    color: #667085;
    font-size: .75rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    margin-bottom: 4px;
}

.escala-matriz-pessoa {
    display: block;
    padding: 3px 0;
    line-height: 1.25;
    color: #2f3a4d;
}

.escala-matriz-pessoa.impedimento {
    color: #b42318;
}

.escala-matriz-pessoa.pendente {
    color: #7c5c18;
}

.escala-matriz-vazio {
    color: #a0a8b6;
}

.escala-matriz-legenda {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 10px;
    color: #667085;
    font-size: .84rem;
}

@media (max-width: 720px) {
    .escala-programacao-acoes {
        width: 100%;
        justify-content: stretch;
    }

    .escala-programacao-acoes button {
        flex: 1 1 130px;
    }

    .escala-matriz-exportacao {
        min-width: 680px;
    }

    .escala-matriz-funcao {
        width: 160px;
        min-width: 160px !important;
    }
}

/* E6.6 — refinamento visual da matriz de exportação */
.escala-matriz-exportacao-refinada {
    min-width: 720px;
    border-collapse: collapse;
    table-layout: auto;
}

.escala-matriz-exportacao-refinada th,
.escala-matriz-exportacao-refinada td {
    padding: 7px 9px;
    border: 1px solid #111;
    vertical-align: middle;
}

.escala-matriz-exportacao-refinada thead th {
    background: #fff;
    color: #111;
    text-align: center;
}

.escala-matriz-exportacao-refinada .escala-matriz-cabecalho-lateral {
    background: #365a9c;
    color: #fff;
    font-weight: 700;
    width: 220px;
    min-width: 220px;
}

.escala-matriz-exportacao-refinada .escala-matriz-cabecalho-data strong,
.escala-matriz-exportacao-refinada .escala-matriz-cabecalho-data span,
.escala-matriz-exportacao-refinada .escala-matriz-cabecalho-data small {
    display: block;
}

.escala-matriz-exportacao-refinada .escala-matriz-cabecalho-data strong {
    font-size: 1rem;
}

.escala-matriz-exportacao-refinada .escala-matriz-cabecalho-data span {
    margin-top: 2px;
    font-size: .82rem;
    font-weight: 500;
}

.escala-matriz-exportacao-refinada .escala-matriz-cabecalho-data small {
    margin-top: 2px;
    color: #667085;
}

.escala-matriz-exportacao-refinada .escala-matriz-segmento,
.escala-matriz-exportacao-refinada .escala-matriz-funcao-coluna {
    background: #fff;
    color: #111;
    font-weight: 500;
}

.escala-matriz-exportacao-refinada .escala-matriz-segmento {
    width: 95px;
    min-width: 95px;
    text-align: center;
    font-weight: 600;
}

.escala-matriz-exportacao-refinada .escala-matriz-funcao-coluna {
    width: 125px;
    min-width: 125px;
    text-align: left;
}

.escala-matriz-exportacao-refinada td {
    background: #fff;
}

.escala-matriz-exportacao-refinada .escala-matriz-pessoa {
    display: block;
    padding: 1px 0;
    line-height: 1.2;
    color: #111;
    font-size: .95rem;
}

.escala-matriz-exportacao-refinada .escala-matriz-pessoa.pendente {
    color: #6b4f00;
}

.escala-matriz-exportacao-refinada .escala-matriz-pessoa.impedimento {
    color: #9f1239;
}

.escala-matriz-exportacao-refinada .escala-matriz-vazio {
    color: #98a2b3;
}

/* E6.7 — Operação avançada, substituições e auditoria */
.escala-operacao-filtros {
    align-items: end;
}

.escala-operacao-resumo {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.escala-operacao-resumo > div {
    padding: 16px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #fff;
}

.escala-operacao-resumo span,
.escala-operacao-resumo strong {
    display: block;
}

.escala-operacao-resumo span {
    color: #667085;
    font-size: .84rem;
}

.escala-operacao-resumo strong {
    margin-top: 6px;
    color: #182230;
    font-size: 1.55rem;
}

.escala-operacao-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    gap: 18px;
    align-items: start;
}

.escala-operacao-lista,
.escala-operacao-historico {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.escala-operacao-item {
    padding: 15px;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    background: #fff;
}

.escala-operacao-item.critico {
    border-color: #fecdd3;
    background: #fffafb;
}

.escala-operacao-item-topo {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: flex-start;
}

.escala-operacao-item-topo > div {
    min-width: 0;
}

.escala-operacao-item-topo strong,
.escala-operacao-item-topo small {
    display: block;
}

.escala-operacao-item-topo strong {
    margin-top: 5px;
    color: #182230;
}

.escala-operacao-item-topo small {
    margin-top: 3px;
    color: #667085;
}

.escala-operacao-status {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 700;
    background: #fff7e6;
    color: #9a6700;
}

.escala-operacao-status.impedimento {
    background: #fff1f3;
    color: #be123c;
}

.escala-operacao-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 12px;
    margin-top: 12px;
    color: #475467;
    font-size: .83rem;
}

.escala-operacao-motivo {
    display: grid;
    gap: 3px;
    margin-top: 12px;
    padding: 10px 12px;
    border-radius: 10px;
    background: #fff1f3;
    color: #881337;
    font-size: .84rem;
}

.escala-historico-item {
    display: grid;
    grid-template-columns: 8px minmax(0, 1fr);
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid #eef2f6;
}

.escala-historico-item:last-child {
    border-bottom: 0;
}

.escala-historico-marcador {
    width: 8px;
    min-height: 42px;
    border-radius: 999px;
    background: #98a2b3;
}

.escala-historico-marcador.impedimento {
    background: #e11d48;
}

.escala-historico-marcador.confirmacao {
    background: #16a34a;
}

.escala-historico-marcador.substituicao {
    background: #7c3aed;
}

.escala-historico-marcador.publicacao {
    background: #2563eb;
}

.escala-historico-item strong,
.escala-historico-item span,
.escala-historico-item small {
    display: block;
}

.escala-historico-item strong {
    color: #182230;
    font-size: .9rem;
}

.escala-historico-item span {
    margin-top: 3px;
    color: #475467;
    font-size: .82rem;
}

.escala-historico-item small {
    margin-top: 4px;
    color: #98a2b3;
    font-size: .76rem;
}

.escala-substituicao-atual {
    display: grid;
    gap: 3px;
    padding: 14px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #f8fafc;
}

.escala-substituicao-atual span,
.escala-substituicao-atual small {
    color: #667085;
}

.escala-substituicao-atual span {
    font-size: .78rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.escala-candidatos-detalhe {
    min-height: 0;
}

.escala-candidato-card {
    display: grid;
    gap: 3px;
    padding: 11px 12px;
    border-radius: 10px;
    background: #f8fafc;
    color: #475467;
    font-size: .82rem;
}

.escala-candidato-card.disponivel {
    background: #ecfdf3;
    color: #166534;
}

.escala-candidato-card.restricao {
    background: #fffaeb;
    color: #92400e;
}

.escala-candidato-card.indisponivel {
    background: #fff1f3;
    color: #9f1239;
}

@media (max-width: 900px) {
    .escala-operacao-grid {
        grid-template-columns: 1fr;
    }

    .escala-operacao-resumo {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .escala-operacao-resumo {
        grid-template-columns: 1fr 1fr;
    }

    .escala-operacao-item-topo {
        flex-direction: column;
    }

    .escala-operacao-item-topo button {
        width: 100%;
    }
}


/* =========================================================
   E7.4C2 / E7.5 — NAVEGAÇÃO POR ÁREAS + RESPONSIVIDADE
========================================================= */

.escala-navegacao {
    border-bottom: 1px solid var(--esc-borda);
    background: color-mix(in srgb, var(--esc-card) 96%, var(--esc-azul) 4%);
}

.escala-nav-principal {
    padding: 12px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
}

.escala-grupo-tab {
    min-width: 0;
    min-height: 64px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 3px;
    border: 1px solid var(--esc-borda);
    border-radius: 11px;
    background: color-mix(in srgb, var(--esc-card) 94%, transparent);
    color: var(--esc-texto);
    text-align: left;
    cursor: pointer;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

.escala-grupo-tab span {
    font-size: 12px;
    font-weight: 900;
}

.escala-grupo-tab small {
    overflow: hidden;
    max-width: 100%;
    color: var(--esc-secundario);
    font-size: 9px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.escala-grupo-tab:hover {
    border-color: color-mix(in srgb, var(--esc-azul) 48%, var(--esc-borda));
    transform: translateY(-1px);
}

.escala-grupo-tab.ativo {
    border-color: color-mix(in srgb, var(--esc-azul) 55%, transparent);
    background: linear-gradient(135deg, color-mix(in srgb, var(--esc-azul) 16%, var(--esc-card)), var(--esc-card));
    box-shadow: inset 3px 0 0 var(--esc-azul), 0 8px 20px rgba(34, 184, 239, .08);
}

.escala-tabs {
    display: none;
    padding: 0 12px 10px;
    gap: 8px;
    border-bottom: 0;
    background: transparent;
}

.escala-tabs.tem-multiplas {
    display: flex;
}

.escala-tab {
    min-height: 36px;
    padding: 7px 13px;
    border: 1px solid var(--esc-borda);
    border-radius: 999px;
    background: var(--esc-card);
    color: var(--esc-secundario);
    font-size: 11px;
}

.escala-tab.fora-do-grupo {
    display: none !important;
}

.escala-tab.ativo {
    border-color: var(--esc-azul);
    background: color-mix(in srgb, var(--esc-azul) 12%, var(--esc-card));
    color: var(--esc-azul-escuro);
}

html[data-theme="dark"] .escala-shell,
html[data-theme="dark"] .escala-navegacao {
    background: #102536;
}

html[data-theme="dark"] .escala-grupo-tab,
html[data-theme="dark"] .escala-tab {
    background: #17354A;
    color: #F8F6F0;
    border-color: rgba(171, 184, 196, .18);
}

html[data-theme="dark"] .escala-grupo-tab small {
    color: #ABB8C4;
}

html[data-theme="dark"] .escala-grupo-tab.ativo,
html[data-theme="dark"] .escala-tab.ativo {
    background: linear-gradient(135deg, rgba(56, 199, 250, .20), #17354A);
    border-color: rgba(56, 199, 250, .55);
    color: #F8F6F0;
}

@media (max-width: 980px) {
    .escala-nav-principal {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .escala-shell {
        border-radius: 14px;
    }

    .escala-nav-principal {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
        padding: 10px;
    }

    .escala-grupo-tab {
        min-height: 58px;
        padding: 9px 10px;
    }

    .escala-grupo-tab span {
        font-size: 11px;
    }

    .escala-grupo-tab small {
        font-size: 8px;
    }

    .escala-tabs.tem-multiplas {
        padding: 0 10px 10px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .escala-tabs::-webkit-scrollbar {
        display: none;
    }

    .escala-tab {
        flex: 0 0 auto;
    }

    .escala-painel {
        padding-top: 18px;
    }
}

@media (max-width: 430px) {
    .escala-nav-principal {
        grid-template-columns: 1fr 1fr;
    }

    .escala-grupo-tab[data-grupo="visao"] {
        grid-column: 1 / -1;
    }
}

/* =========================================================
   E7.4C3 — MOBILE REAL DE ESCALAS
========================================================= */
@media (max-width: 760px) {
    .escala-page {
        padding: 22px 14px 48px !important;
    }

    .escala-hero {
        gap: 16px;
    }

    .escala-hero h1 {
        font-size: clamp(2rem, 10vw, 2.8rem) !important;
    }

    .escala-resumo {
        grid-template-columns: 1fr !important;
        gap: 10px;
    }

    .escala-resumo-card {
        min-height: auto !important;
    }

    .escala-nav-principal {
        grid-template-columns: 1fr !important;
        gap: 8px;
    }

    .escala-grupo-tab[data-grupo="visao"] {
        grid-column: auto !important;
    }

    .escala-grupo-tab {
        min-height: 52px !important;
        padding: 10px 12px !important;
    }

    .escala-grupo-tab span {
        font-size: 13px !important;
    }

    .escala-grupo-tab small {
        font-size: 10px !important;
        white-space: normal !important;
    }

    .escala-tabs.tem-multiplas {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible !important;
        gap: 8px !important;
    }

    .escala-tab {
        width: 100%;
        min-height: 42px;
        white-space: normal;
        text-align: center;
    }

    .escala-painel {
        padding: 16px 12px 18px !important;
    }

    .escala-painel-topo,
    .escala-filtros,
    .escala-mes-controle,
    .escala-subabas {
        width: 100% !important;
    }

    .escala-card,
    .escala-exportacao-item,
    .escala-gestao-prazo {
        border-radius: 14px !important;
    }
}

/* =========================================================
   E7.4C4 — ESCALAS / DARK MODE CONSISTENTE
   Remove fundos brancos e textos escuros herdados do legado.
========================================================= */

html[data-theme="dark"] .escala-page :is(
    .escala-painel,
    .escala-card,
    .escala-resumo-card,
    .escala-minha-card,
    .escala-geral-card,
    .escala-config-bloco,
    .escala-gestao-data,
    .escala-montagem-item,
    .escala-programacao-item,
    .escala-operacao-item,
    .escala-operacao-historico,
    .escala-exportacao-item,
    .escala-exportacao-resumo,
    .escala-vazio,
    .escala-vazio-interno,
    .escala-carregando,
    .escala-modal-dialog,
    .escala-atalhos,
    .escala-recorrencia-item,
    .escala-funcao-item,
    .escala-posicao-item,
    .escala-candidato-card,
    .escala-substituicao-atual,
    .escala-matriz-wrap,
    .escala-geral-tabela-wrap
) {
    background: #102536 !important;
    color: #F8F6F0 !important;
    border-color: rgba(171, 184, 196, .16) !important;
}

html[data-theme="dark"] .escala-page :is(
    .escala-card-principal,
    .escala-geral-tabela th,
    .escala-geral-tabela td,
    .escala-matriz-exportacao th,
    .escala-matriz-exportacao td,
    .escala-matriz-exportacao-refinada th,
    .escala-matriz-exportacao-refinada td,
    .escala-disponibilidade-item,
    .escala-gestao-grupo,
    .escala-minha-conteudo,
    .escala-operacao-motivo,
    .escala-config-ajuda
) {
    background: #17354A !important;
    color: #F8F6F0 !important;
    border-color: rgba(171, 184, 196, .14) !important;
}

html[data-theme="dark"] .escala-page :is(
    h1,
    h2,
    h3,
    h4,
    .escala-card-principal,
    .escala-config-titulo,
    .escala-posicao-titulo,
    .escala-geral-programacao strong,
    .escala-geral-pessoa strong,
    .escala-minha-card strong,
    .escala-operacao-item strong,
    .escala-programacao-info strong,
    .escala-montagem-info strong
) {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page :is(
    p,
    small,
    .escala-card-principal span,
    .escala-minha-meta,
    .escala-programacao-meta,
    .escala-montagem-meta,
    .escala-operacao-meta,
    .escala-config-ajuda,
    .escala-vazio,
    .escala-vazio-interno
) {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page :is(
    input,
    select,
    textarea
) {
    background: #102536 !important;
    color: #F8F6F0 !important;
    border-color: rgba(171, 184, 196, .22) !important;
    color-scheme: dark;
}

html[data-theme="dark"] .escala-page :is(input, textarea)::placeholder {
    color: rgba(171, 184, 196, .72) !important;
}

html[data-theme="dark"] .escala-page :is(
    .escala-btn-secundario,
    .escala-btn-icone,
    .escala-status-botao
) {
    background: #17354A !important;
    color: #F8F6F0 !important;
    border-color: rgba(171, 184, 196, .22) !important;
}

html[data-theme="dark"] .escala-page :is(
    .escala-tab,
    .escala-subaba,
    .escala-grupo-tab
) {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page :is(
    .escala-tab.ativo,
    .escala-subaba.ativo,
    .escala-grupo-tab.ativo
) {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-navegacao {
    background: linear-gradient(145deg, #102536 0%, #17354A 100%) !important;
    border-color: rgba(171, 184, 196, .16) !important;
}

html[data-theme="dark"] .escala-page .escala-geral-tabela,
html[data-theme="dark"] .escala-page .escala-matriz-exportacao,
html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada {
    background: #102536 !important;
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-geral-tabela :is(th, td),
html[data-theme="dark"] .escala-page .escala-matriz-exportacao :is(th, td),
html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada :is(th, td) {
    border-color: rgba(171, 184, 196, .14) !important;
}

/* Mantém cores semânticas legíveis no dark. */
html[data-theme="dark"] .escala-page :is(
    .status-disponivel,
    .escala-geral-legenda .confirmada
) {
    color: #66D79A !important;
}

html[data-theme="dark"] .escala-page :is(
    .status-restricao,
    .escala-operacao-status.aguardando
) {
    color: #FFD275 !important;
}

html[data-theme="dark"] .escala-page :is(
    .status-indisponivel,
    .escala-geral-legenda .impedimento
) {
    color: #FF7A80 !important;
}

/* =========================================================
   E7.4C5 — HARDENING DARK DE ESCALAS
   Cobre componentes legados que ainda mantinham branco/preto.
========================================================= */

html[data-theme="dark"] .escala-page :is(
    .escala-gestao-resumo > div,
    .escala-exportacao-resumo > div,
    .escala-gestao-prazo,
    .escala-gestao-data-topo,
    .escala-gestao-ferramentas,
    .escala-exportacao-filtros,
    .escala-exportacao-lista,
    .escala-operacao-resumo > div,
    .escala-montagem-resumo > div,
    .escala-programacoes-resumo > div,
    .escala-minha-resumo > div
) {
    background: #17354A !important;
    color: #F8F6F0 !important;
    border-color: rgba(171, 184, 196, .16) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .escala-page :is(
    .escala-gestao-resumo span,
    .escala-exportacao-resumo span,
    .escala-gestao-prazo small,
    .escala-gestao-data-topo span,
    .escala-campo > span,
    .escala-filtros label > span,
    .escala-operacao-resumo span,
    .escala-montagem-resumo span,
    .escala-programacoes-resumo span,
    .escala-minha-resumo span
) {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page :is(
    .escala-gestao-resumo strong,
    .escala-exportacao-resumo strong,
    .escala-gestao-prazo strong,
    .escala-gestao-data-topo strong,
    .escala-operacao-resumo strong,
    .escala-montagem-resumo strong,
    .escala-programacoes-resumo strong,
    .escala-minha-resumo strong
) {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-mes-controle {
    background: #102536 !important;
    border-color: rgba(171, 184, 196, .18) !important;
}

html[data-theme="dark"] .escala-page .escala-mes-controle strong {
    background: #17354A !important;
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-mes-controle button {
    background: #102536 !important;
    color: #F8F6F0 !important;
    border-color: rgba(171, 184, 196, .14) !important;
}

html[data-theme="dark"] .escala-page :is(
    .escala-gestao-prazo input,
    .escala-exportacao-filtros input,
    .escala-exportacao-filtros select,
    .escala-campo input,
    .escala-campo select,
    .escala-campo textarea
) {
    background: #0D1C29 !important;
    color: #F8F6F0 !important;
    border-color: rgba(171, 184, 196, .22) !important;
    color-scheme: dark;
}

html[data-theme="dark"] .escala-page :is(
    .escala-gestao-data,
    .escala-gestao-grupo,
    .escala-disponibilidade-item,
    .escala-operacao-item,
    .escala-montagem-item,
    .escala-programacao-item
) {
    border-color: rgba(171, 184, 196, .14) !important;
}

html[data-theme="dark"] .escala-page .escala-gestao-grupo {
    background: #0D1C29 !important;
}

html[data-theme="dark"] .escala-page .escala-resposta-medidor {
    background: rgba(56, 199, 250, .12) !important;
    color: #38C7FA !important;
}

/* Light: evita aparência exclusivamente branca e mantém hierarquia quente/azul. */
html:not([data-theme="dark"]) .escala-page :is(
    .escala-painel,
    .escala-card,
    .escala-gestao-prazo,
    .escala-gestao-resumo > div,
    .escala-exportacao-resumo > div
) {
    background: linear-gradient(145deg, #FEFEFE 0%, #F7FBFD 100%);
}

/* =========================================================
   E7.4C6 — ESCALAS / ÚLTIMOS CONTRASTES DO DARK
========================================================= */
html[data-theme="dark"] .escala-page .escala-identidade {
    background: linear-gradient(145deg, #102536 0%, #17354A 100%) !important;
    border-color: rgba(171, 184, 196, .14) !important;
    backdrop-filter: none !important;
}

html[data-theme="dark"] .escala-page .escala-identidade span {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page .escala-identidade strong {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-resumo-card,
html[data-theme="dark"] .escala-page .escala-resumo-card-destaque {
    background: linear-gradient(145deg, #102536 0%, #17354A 100%) !important;
    border-color: rgba(171, 184, 196, .14) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .escala-page .escala-resumo-card span,
html[data-theme="dark"] .escala-page .escala-resumo-card small {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page .escala-resumo-card strong {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-minhas-resumo > div {
    background: #17354A !important;
    color: #F8F6F0 !important;
    border-color: rgba(171, 184, 196, .14) !important;
}

html[data-theme="dark"] .escala-page .escala-minhas-resumo span {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page .escala-minhas-resumo strong {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-subabas {
    background: #0D1C29 !important;
    border-color: rgba(171, 184, 196, .14) !important;
}

html[data-theme="dark"] .escala-page .escala-subaba {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page .escala-subaba.ativo {
    background: #17354A !important;
    color: #F8F6F0 !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .escala-page .escala-minha-card {
    background: linear-gradient(145deg, #102536 0%, #17354A 100%) !important;
    border-color: rgba(171, 184, 196, .14) !important;
    box-shadow: none !important;
}

html[data-theme="dark"] .escala-page .escala-minha-data {
    background: #0D1C29 !important;
    color: #38C7FA !important;
}

html[data-theme="dark"] .escala-page .escala-minha-data small,
html[data-theme="dark"] .escala-page .escala-minha-meta {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page .escala-minha-topo h3,
html[data-theme="dark"] .escala-page .escala-minha-meta b,
html[data-theme="dark"] .escala-page .escala-painel-topo h2 {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-painel-topo p {
    color: #ABB8C4 !important;
}

/* =========================================================
   E7.4C7 — AJUSTES FINAIS DE CONTRASTE / GESTÃO + EXPORTAR
========================================================= */
html[data-theme="dark"] .escala-page .escala-gestao-grupo h4 {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-gestao-grupo.disponivel h4 {
    color: #66D79A !important;
}

html[data-theme="dark"] .escala-page .escala-gestao-grupo.restricao h4 {
    color: #FFD275 !important;
}

html[data-theme="dark"] .escala-page .escala-gestao-grupo.indisponivel h4 {
    color: #FF7A80 !important;
}

html[data-theme="dark"] .escala-page .escala-gestao-grupo.sem-resposta h4 {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page .escala-pessoa {
    border-color: rgba(171, 184, 196, .10) !important;
}

html[data-theme="dark"] .escala-page .escala-pessoa strong {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-pessoa small,
html[data-theme="dark"] .escala-page .escala-pessoa-vazio {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada thead th,
html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada td,
html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada .escala-matriz-segmento,
html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada .escala-matriz-funcao-coluna {
    background: #17354A !important;
    color: #F8F6F0 !important;
    border-color: rgba(171, 184, 196, .16) !important;
}

html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada .escala-matriz-cabecalho-lateral {
    background: #102536 !important;
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada .escala-matriz-cabecalho-data :is(strong, span) {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada .escala-matriz-cabecalho-data small {
    color: #ABB8C4 !important;
}

html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada .escala-matriz-pessoa {
    color: #F8F6F0 !important;
}

html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada .escala-matriz-pessoa.pendente {
    color: #FFD275 !important;
}

html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada .escala-matriz-pessoa.impedimento {
    color: #FF7A80 !important;
}

html[data-theme="dark"] .escala-page .escala-matriz-exportacao-refinada .escala-matriz-vazio,
html[data-theme="dark"] .escala-page .escala-geral-legenda {
    color: #ABB8C4 !important;
}

/* =========================================================
   E7.4C13 — ESCALAS / MODAIS FORA DE .escala-page
   Os modais são irmãos do <main>, por isso as regras dark
   anteriores prefixadas por .escala-page não os alcançavam.
========================================================= */
html[data-theme="dark"] .escala-modal .escala-modal-dialog {
    background: var(--bg-surface, #102536) !important;
    color: var(--text-primary, #F8F6F0) !important;
    border: 1px solid var(--border-soft, rgba(171,184,196,.16));
    box-shadow: 0 24px 70px rgba(0,0,0,.38);
    color-scheme: dark;
}

html[data-theme="dark"] .escala-modal .escala-modal-topo {
    background: color-mix(in srgb, var(--bg-surface, #102536) 96%, transparent) !important;
    border-color: var(--border-soft, rgba(171,184,196,.16)) !important;
}

html[data-theme="dark"] .escala-modal .escala-modal-topo span {
    color: var(--primary, #38C7FA) !important;
}

html[data-theme="dark"] .escala-modal .escala-modal-topo strong,
html[data-theme="dark"] .escala-modal .escala-modal-corpo :is(h2,h3,h4,strong),
html[data-theme="dark"] .escala-modal .escala-campo > span,
html[data-theme="dark"] .escala-modal label {
    color: var(--text-primary, #F8F6F0) !important;
}

html[data-theme="dark"] .escala-modal .escala-modal-topo small,
html[data-theme="dark"] .escala-modal .escala-modal-corpo small,
html[data-theme="dark"] .escala-modal .escala-config-ajuda {
    color: var(--text-secondary, #ABB8C4) !important;
}

html[data-theme="dark"] .escala-modal .escala-modal-topo > button {
    background: var(--bg-surface-elevated, #17354A) !important;
    color: var(--text-primary, #F8F6F0) !important;
    border-color: var(--border-soft, rgba(171,184,196,.20)) !important;
}

html[data-theme="dark"] .escala-modal .escala-modal-topo > button:hover,
html[data-theme="dark"] .escala-modal .escala-modal-topo > button:focus-visible {
    color: var(--primary, #38C7FA) !important;
    border-color: color-mix(in srgb, var(--primary, #38C7FA) 48%, transparent) !important;
}

html[data-theme="dark"] .escala-modal .escala-modal-corpo :is(input,select,textarea) {
    background: var(--bg-section, #0D1C29) !important;
    color: var(--text-primary, #F8F6F0) !important;
    border-color: var(--border-soft, rgba(171,184,196,.20)) !important;
    color-scheme: dark;
}

html[data-theme="dark"] .escala-modal .escala-modal-corpo :is(input,textarea)::placeholder {
    color: var(--text-muted, rgba(171,184,196,.72)) !important;
}

html[data-theme="dark"] .escala-modal .escala-segmentos-check label,
html[data-theme="dark"] .escala-modal .escala-toggle,
html[data-theme="dark"] .escala-modal .escala-montagem-legenda,
html[data-theme="dark"] .escala-modal .escala-posicao-item,
html[data-theme="dark"] .escala-modal .escala-candidato-card,
html[data-theme="dark"] .escala-modal .escala-substituicao-atual {
    background: var(--bg-surface-elevated, #17354A) !important;
    color: var(--text-primary, #F8F6F0) !important;
    border-color: var(--border-soft, rgba(171,184,196,.16)) !important;
}

html[data-theme="dark"] .escala-modal .escala-toggle strong {
    color: var(--text-primary, #F8F6F0) !important;
}

html[data-theme="dark"] .escala-modal .escala-toggle small {
    color: var(--text-secondary, #ABB8C4) !important;
}

html[data-theme="dark"] .escala-modal .escala-modal-acoes {
    border-color: var(--border-soft, rgba(171,184,196,.16)) !important;
}

html[data-theme="dark"] .escala-modal .escala-btn-secundario {
    background: var(--bg-surface-elevated, #17354A) !important;
    color: var(--text-primary, #F8F6F0) !important;
    border-color: var(--border-soft, rgba(171,184,196,.20)) !important;
}
