/* 
    Created on : 02/04/2018, 14:33:51
    Author     : Ti4
*/

.container_left_20 {
    padding-left: 20px !important;
}

.container_left_10 {
    padding-left: 10px !important;
}

.container_right_10 {
    padding-right: 10px !important;
}

.container_20 {
    padding: 20px !important;
}

.container_10 {
    padding: 5px 10px !important;
}

.container_5 {
    padding: 5px !important;
}

.container_2 {
    padding: 2px !important;
}

/* Responsive Container */

.container-s-5 {
    padding: 5px !important;
}

.container-s-10 {
    padding: 10px !important;
}

.container-s-20 {
    padding: 20px !important;
}

.container-small {
    width: 110px;
    /*flex: 1 1 110px; !* stretching *!*/
    /*flex: 0 1 100px; !* no-stretching *!*/
    /*margin: 10px 0px  0px  0px;*/
}

.container-medium {
    width: 140px;
    /*flex: 0 1 150px; !* no-stretching *!*/
    /*margin: 10px 0px  0px  0px;*/
}

.container-large {
    width: 180px;
    /*flex: 0 1 200px; !* no-stretching *!*/
    /*margin: 10px 0px  0px  0px;*/
}


@media only screen and (min-width: 601px) {
    .container-image-m-5 {
        padding: 5px !important;
        max-width: 300px;
        max-height: 300px;
        width: auto;
        height: auto;
    }

    .container-m-5 {
        padding: 5px !important;
    }

    .container-m-10 {
        padding: 10px !important;
    }

    .container-m-20 {
        padding: 20px !important;
    }
}

@media only screen and (min-width: 993px) {
    .container-image-l-5 {
        padding: 5px !important;
        max-width: 300px;
        max-height: 300px;
        width: auto;
        height: auto;
    }

    .container-l-5 {
        padding: 5px !important;
    }

    .container-l-10 {
        padding: 10px !important;
    }

    .container-l-20 {
        padding: 20px !important;
    }
}

@media only screen and (min-width: 1201px) {
    .container-xl-5 {
        padding: 5px !important;
    }

    .container-xl-10 {
        padding: 10px !important;
    }

    .container-xl-20 {
        padding: 20px !important;
    }
}

/* Análise histórico ordem — grade e espaçamento */
.kanban-sidebar-pad {
    padding-right: 1.5rem;
}

@media only screen and (min-width: 993px) {
    .kanban-sidebar-pad {
        padding-right: 2.25rem;
    }

    .kanban-main-pad {
        padding-left: 2.25rem;
        border-left: 1px solid #e0e0e0;
    }
}

.kanban-deposito-status {
    display: block;
    margin-top: 0.12rem;
    font-size: 0.72rem;
    line-height: 1.25;
}

.kanban-tabela-grid .kanban-tr-cab {
    margin-bottom: 0;
    border-top: 1px solid #bdbdbd;
    border-bottom: 2px solid #bdbdbd;
    background-color: #fafafa;
}

.kanban-tabela-grid .kanban-tr {
    margin-bottom: 0 !important;
    border-bottom: 1px solid #e0e0e0;
}

.kanban-tabela-grid .kanban-tr-cab .col,
.kanban-tabela-grid .kanban-tr .col {
    border-right: 1px solid #e0e0e0;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    min-height: 2.75rem;
    box-sizing: border-box;
}

.kanban-tabela-grid .kanban-tr-cab .col:first-child,
.kanban-tabela-grid .kanban-tr .col:first-child {
    border-left: 1px solid #e0e0e0;
}

.kanban-tabela-grid .kanban-tr-cab .col:last-child,
.kanban-tabela-grid .kanban-tr .col:last-child {
    border-right: 1px solid #e0e0e0;
}

/* Sub-abas e painéis — análise histórico ordem */
.kanban-subtabs {
    margin-bottom: 0.75rem;
    border-bottom: 1px solid #e0e0e0;
}

.kanban-subtab {
    cursor: pointer;
    padding: 0.5rem 0.25rem;
    border-bottom: 3px solid transparent;
}

.kanban-subtab-ativa {
    border-bottom-color: #42a5f5;
}

.kanban-subpanel {
    display: none;
}

.kanban-subpanel-ativo {
    display: block;
}

.kanban-subaba-titulo {
    cursor: pointer;
}

.kanban-titulo-linha {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.4rem;
    width: 100%;
}

.kanban-titulo-texto {
    flex: 1 1 auto;
    min-width: 0;
}

.kanban-titulo-acoes {
    flex: 0 0 auto;
}

.kanban-dep-card-linha {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.45rem;
}

.kanban-dep-card-esq {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.kanban-dep-card-main {
    padding: 0.45rem 0.65rem;
    border: 1px solid #c8e6c9;
}

.kanban-dep-main-liberado {
    background: #546e7a;
    border-radius: 5px;
    color: #ffffff;
}

.kanban-board .kanban-dep-main-liberado,
.kanban-board .kanban-dep-main-liberado * {
    color: #ffffff !important;
}

.kanban-dep-main-bloqueado {
    background: #ffffff;
    border-color: #e0e0e0;
    color: #212121;
}

.kanban-dep-seq-quadrado {
    flex: 0 0 auto;
    min-width: 2.1rem;
    min-height: 2.1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.35rem;
    border: 1px solid #bdbdbd;
    border-radius: 4px;
    background: #fafafa;
    font-size: 0.8rem;
    line-height: 1.2;
    text-align: center;
}

/* Linha de raias (Materialize col no invólucro; flex na row — ver CSS::RAIA_* e CSS::KANBAN_*) */
.kanban-raias-wrap.row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    gap: 0;
}

.kanban-raias-wrap.row>.col {
    float: none;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    min-height: 0;
}

/* Análise → Transformação tem 4 raias fixas — força 25% por coluna (override Materialize l3 + flex-wrap). */
.kanban-raias-wrap.row>.col.l3 {
    flex: 0 0 25%;
    max-width: 25%;
    width: 25%;
}

.kanban-raias-wrap.row>.col>.kanban-col {
    flex: 1 1 auto;
    min-height: 0;
    width: 100%;
    max-height: 78vh;
}

/* Separação vertical entre raias via border-right (mockup): substitui divs separadoras. */
.kanban-raias-wrap.row>.raia-shell:not(:last-child)>.kanban-col {
    border-right: 1px solid #e0e0e0;
}

/* Caso a versão antiga do PHP ainda injete a div separadora (cache do navegador / build velho),
   escondemos para não consumir largura na linha das raias. */
.kanban-raias-wrap.row>.oper-proc-config-separador {
    display: none;
}

/* Estado vazio discreto da Análise → Transformação: texto centralizado, sem caixa-card. */
.analise-sep-estado-vazio-discreto {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 1.5rem 0.75rem;
    color: #9e9e9e;
    font-style: italic;
    background: transparent;
    border: 0;
    box-shadow: none;
}

@media (max-width: 992px) {
    .kanban-raias-wrap.row {
        flex-wrap: wrap;
    }

    .kanban-raias-wrap.row>.col.l3 {
        flex: 0 0 100%;
        max-width: 100%;
        width: 100%;
    }

    .kanban-raias-wrap.row>.raia-shell:not(:last-child)>.kanban-col {
        border-right: 0;
        border-bottom: 1px solid #e0e0e0;
    }
}

/* Análise operação — espaçamento entre raias (gap substitui border-right colado) */
.analise-sep-painel .kanban-raias-wrap.row,
.oper-proc-painel .kanban-raias-wrap.row {
    gap: 10px;
}

.analise-sep-painel .kanban-raias-wrap.row>.raia-shell:not(:last-child)>.kanban-col,
.oper-proc-painel .kanban-raias-wrap.row>.raia-shell:not(:last-child)>.kanban-col {
    border-right: 0;
}

@media only screen and (min-width: 993px) {

    .analise-sep-painel .kanban-raias-wrap.row>.col,
    .oper-proc-painel .kanban-raias-wrap.row>.col {
        flex: 1 1 0;
        max-width: none;
        width: auto;
        min-width: 0;
    }
}

.kanban-emp-campo {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.45rem;
    row-gap: 0.15rem;
    margin-bottom: 0.55rem;
    padding-bottom: 0.2rem;
    font-size: 0.85rem;
    line-height: 1.35;
}

.kanban-emp-campo>*:first-child {
    flex-shrink: 0;
}

/* Linha que acompanha a largura do card/raia (rótulo fixo + valor fluído). */
.kanban-emp-campo.kanban-emp-campo-fluxo {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.kanban-emp-campo>.kanban-emp-campo-valor-fluxo {
    flex: 1 1 8rem;
    min-width: 0;
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.kanban-card-registro {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 0.65rem 0.65rem;
    margin-bottom: 0.6rem;
    background: #fff;
}

/* Crossdocking volumes: padding compacto (~container_5), escopo só nesta classe. */
.kanban-board .kanban-card-registro.kanban-card-registro--crossdocking-volumes {
    padding: 5px;
}

/* Listagem Análise → Operação (modal ordens): card compacto, menos padding Materialize. */
.kanban-board .kanban-card-registro.kanban-card-registro--listar-ordem-analise {
    padding: 4px 6px;
    margin-bottom: 0.35rem;
}

.kanban-board .kanban-card-registro.kanban-card-registro--listar-ordem-analise > .card-content {
    padding: 4px 6px;
}

.kanban-board .kanban-card-registro.kanban-card-registro--listar-ordem-analise .card-content > .card-title {
    display: none;
    margin: 0;
    padding: 0;
}

.kanban-board .kanban-card-registro.kanban-card-registro--listar-ordem-analise .kanban-card-body {
    padding: 0;
}

/* Listagem Análise → Operação (modal ordens): respiro entre cards e borda da raia. */
.kanban-board.analise-listar-ordem-kanban-board .analise-sep-raia .kanban-col-conteudo {
    padding: 5px;
}

.kanban-card-dep {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.kanban-board .kanban-card-dep.kanban-card-registro {
    border-radius: 4px;
}

.kanban-rotulo-valor {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    column-gap: 0.25rem;
    margin-bottom: 0.45rem;
    font-size: 0.85rem;
    line-height: 1.35;
}

.kanban-display-semantico {
    flex: 1 1 100%;
    min-width: 0;
}

/*
 * Kanban read-only (escopo .kanban-board em Container.css):
 * Dicas na aba usam atributo title / CampoDisplay::setTooltipSomenteTituloHtml — o microtip (pseudo CSS)
 * é recortado pelo overflow do .kanban-col-conteudo; z-index não resolve.
 * Modificadores no invólucro da raia (CSS::RAIA_SHELL_*), sem classe por nome de raia.
 */
.raia-shell-corpo-contido .kanban-col-conteudo {
    overflow-x: hidden;
    overflow-y: auto;
}

.kanban-board.raia-shell-cards-fonte-em,
.kanban-board.raia-shell-cards-fonte-em .kanban-card-registro,
.kanban-board.raia-shell-cards-fonte-em .kanban-card-registro .estrutura_elemento_flutuante,
.kanban-board.raia-shell-cards-fonte-em .kanban-card-registro .estrutura_elemento_flutuante p,
.kanban-board.raia-shell-cards-fonte-em .kanban-col-cabecalho,
.kanban-board.raia-shell-cards-fonte-em .kanban-col-cabecalho *,
.kanban-board.raia-shell-cards-fonte-em .kanban-separador-registro,
.kanban-board.raia-shell-cards-fonte-em .kanban-separador-registro *,
.kanban-board.raia-shell-cards-fonte-em .kanban-rotulo-valor,
.kanban-board.raia-shell-cards-fonte-em .kanban-emp-campo,
.kanban-board.raia-shell-cards-fonte-em .kanban-item-dep-chip,
.kanban-board.raia-shell-cards-fonte-em .font_size_1_2em {
    font-size: 1em;
}

.kanban-board .kanban-item-cab-linha {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.45rem 0.65rem;
    margin-bottom: 0.35rem;
    line-height: 1.35;
}

.kanban-board .kanban-item-inline-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem;
    flex: 1 1 auto;
    min-width: 0;
}

/* Grade Qtd. pedida | Saldo | Endereço (raia Itens) */
.kanban-board .kanban-item-metricas-grade-3 {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.5rem 0.75rem;
    width: 100%;
}

.kanban-board .kanban-item-metrica-col {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
}

.kanban-board .kanban-item-metrica-label-linha {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.35rem;
    line-height: 1.3;
}

.kanban-board .kanban-item-end-icon-falha {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    margin-left: 0.1rem;
}

.kanban-board .kanban-item-metrica-valor-linha {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

/* Card item: produto + alertas (esq.) e displays numéricos de saldo (dir.) */
.kanban-board .kanban-item-body-duplo {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem 1.25rem;
    width: 100%;
    margin-bottom: 0.5rem;
}

.kanban-board .kanban-item-col-alertas {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.kanban-board .kanban-item-col-displays {
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    min-width: 5.5rem;
}

.kanban-board .kanban-item-alerta-linha {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    line-height: 1.35;
    font-size: 0.78rem;
    font-weight: 500;
}

.kanban-board .analise-sep-linha-emissao.analise-sep-fundo-amarelo .kanban-item-alerta-linha {
    color: #e65100;
}

.kanban-board .analise-sep-linha-emissao.analise-sep-fundo-amarelo .kanban-item-alerta-linha .svg-orange svg path {
    fill: #e65100 !important;
}

.kanban-board .analise-sep-linha-emissao.analise-sep-fundo-vermelho .kanban-item-alerta-linha {
    color: #c62828;
}

.kanban-board .analise-sep-linha-emissao.analise-sep-fundo-vermelho .kanban-item-alerta-linha .svg-red svg path {
    fill: #c62828 !important;
}

.kanban-board .kanban-item-display-bloco {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    align-items: center;
}

.kanban-board .kanban-item-display-legenda {
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    color: #212121;
    width: 100%;
}

.kanban-board .kanban-item-display-caixa {
    box-sizing: border-box;
    border: 2px solid #212121;
    background: #fff;
    padding: 0.35rem 0.55rem;
    text-align: center;
    min-width: 4.5rem;
    min-height: 2.65rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.kanban-board .kanban-item-metrica-caixa-demanda {
    border-color: #9e9e9e;
    background: #ffffff;
}

.kanban-board .kanban-item-metrica-caixa-demanda .kanban-item-display-valor {
    color: #212121 !important;
}

.kanban-board .kanban-item-metrica-caixa-saldo {
    border-color: #212121;
    background: #ffffff;
}

.kanban-board .kanban-item-metrica-caixa-saldo .kanban-item-display-valor {
    color: #1565c0 !important;
    font-weight: 700;
}

.kanban-board .kanban-item-metrica-caixa-reservas {
    border-color: #FFC100;
    background: #FFC100;
}

.kanban-board .kanban-item-metrica-caixa-reservas .kanban-item-display-valor {
    color: #212121 !important;
}

.kanban-board .kanban-item-metrica-caixa-falta {
    border-color: #ff0000;
    background: #ff0000;
}

.kanban-board .kanban-item-metrica-caixa-falta .kanban-item-display-valor {
    color: #ffffff !important;
}

.kanban-board .kanban-item-corpo-vertical {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    width: 100%;
}

.kanban-board .kanban-item-chips-metricas-linha {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem 0.75rem;
    width: 100%;
}

.kanban-board .kanban-item-dep-chip {
    display: inline-flex;
    align-items: center;
    padding: 0.22rem 0.6rem;
    background: #546e7a;
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.25;
}

.kanban-board .kanban-item-metricas-caixas-linha {
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem 0.45rem;
    flex: 1 1 auto;
    min-width: 0;
}

.kanban-board .kanban-item-metricas-caixas-linha .kanban-item-display-bloco {
    flex: 0 0 auto;
    min-width: 3.5rem;
}

.kanban-board .kanban-config-bloco-destaque {
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 0.55rem 0.65rem;
    margin-bottom: 0.65rem;
    background: #fafafa;
}

.kanban-board .kanban-config-bloco-titulo {
    font-size: 0.78rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.kanban-board .kanban-config-bloco-corpo {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.kanban-board .kanban-config-status-pill {
    display: inline-flex;
    align-self: flex-start;
    align-items: center;
    justify-content: center;
    min-width: 3.25rem;
    padding: 0.35rem 0.65rem;
    background: #546e7a;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.95rem;
}

.kanban-board .kanban-config-status-pill--sim {
    background: #546e7a;
    border-radius: 5px;

    color: #ffffff;
}

.kanban-board .kanban-config-status-pill--nao {
    background: #546e7a;
    border-radius: 5px;
    color: #ffffff;
}

.kanban-board .kanban-config-aviso-linha {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    line-height: 1.35;
}

.kanban-board .kanban-config-doc-pills-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    align-items: center;
}

.kanban-board .kanban-config-doc-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.28rem 0.55rem;
    font-size: 0.78rem;
    font-weight: 600;
    border-radius: 5px;

    letter-spacing: 0.02em;
}

.kanban-board .kanban-config-doc-pill-ok {
    background: #2e7d32;
    color: #ffffff;
    border: 1px solid #1b5e20;
}

.kanban-board .kanban-config-doc-pill-critico {
    background: #ff0000;
    color: #ffffff;
    border: 1px solid #b71c1c;
}

.kanban-board .kanban-config-doc-pill-neutro {
    background: #546e7a;
    color: #ffffff;
    border: 1px solid #37474f;
}

.kanban-board .kanban-config-alerta-critico-linha {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.85rem;
    line-height: 1.35;
    margin-top: 0.15rem;
}

/* Ícone SVG (CampoDisplay): fill padrão é preto; alinhar ao texto vermelho (classes no wrapper .estrutura_elemento_flutuante) */
.kanban-board .kanban-config-alerta-critico-linha .estrutura_elemento_flutuante svg path {
    fill: currentColor;
}

/* Status “Liberado” / “Bloqueado” sob o nome do depósito: pill sólida (conteúdo interno do card) */
.kanban-board .kanban-dep-status-liberado {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin-top: 0.18rem;
    padding: 0.22rem 0.55rem;
    background: #2e7d32;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
}

.kanban-board .kanban-dep-status-bloqueado {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin-top: 0.18rem;
    padding: 0.22rem 0.55rem;
    background: #f9a825;
    color: #212121;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
}

.kanban-board .kanban-item-display-valor {
    font-weight: 700;
}

.kanban-board .kanban-item-end-linha {
    margin: 0.15rem 0 0.35rem;
    line-height: 1.35;
}

.kanban-board .kanban-item-chip-so-valor {
    display: inline-flex;
    align-items: center;
    margin-bottom: 0 !important;
}

.kanban-board .kanban-metricas-dep-linha {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    line-height: 1.35;
}

.kanban-board .kanban-metricas-so-display {
    margin-top: 0.15rem;
}

.kanban-board .kanban-fila-qty-wrap .estrutura_elemento_flutuante {
    align-self: center;
}

/* CampoDisplay TYPE_SQUARE + sem-*: fundo sólido e contraste (mesma linguagem da raia Reservas) */
.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-verde>div:first-child {
    background-color: #2e7d32 !important;
    color: #ffffff !important;
    border: 1px solid #1b5e20 !important;
    border-radius: 5px !important;
    padding: 0.38rem 0.65rem !important;
}

.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-verde>div:first-child p {
    color: #ffffff !important;
}

.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-erro>div:first-child {
    background-color: #c62828 !important;
    color: #ffffff !important;
    border: 1px solid #b71c1c !important;
    border-radius: 5px !important;
    padding: 0.38rem 0.65rem !important;
}

.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-erro>div:first-child p {
    color: #ffffff !important;
}

.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-alerta>div:first-child {
    background-color: #FFC100 !important;
    color: #212121 !important;
    border: 1px solid #FFC100 !important;
    border-radius: 5px !important;
    padding: 0.38rem 0.65rem !important;
}

.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-alerta>div:first-child p {
    color: #212121 !important;
}

.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-laranja>div:first-child {
    background-color: #f4511e !important;
    color: #ffffff !important;
    border: 1px solid #d84315 !important;
    border-radius: 5px !important;
    padding: 0.38rem 0.65rem !important;
}

.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-laranja>div:first-child p {
    color: #ffffff !important;
}

.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-neutro>div:first-child {
    background-color: #546e7a !important;
    color: #ffffff !important;
    border: 1px solid #37474f !important;
    border-radius: 5px !important;
    padding: 0.38rem 0.65rem !important;
}

.kanban-board .estrutura_elemento_flutuante.kanban-display-semantico.kanban-sem-neutro>div:first-child p {
    color: #ffffff !important;
}

/* ============================================================
   KANBAN — Semáforo sólido SSOT (quantitativos + badges OK/NOK)
   Usar CSS::KANBAN_SEM_QTD_* e CSS::KANBAN_SEM_BADGE_* em qualquer
   kanban. Cores alinhadas a kanban-sem-verde/erro/alerta/neutro acima.
   Proibido: fundo pastel (#e8f5e9), outline-only ou #hex por tela.
   ============================================================ */

.kanban-board .kanban-sem-qtd,
.kanban-board .kanban-sem-qtd-cinza,
.kanban-board .kanban-sem-qtd-verde,
.kanban-board .kanban-sem-qtd-amarelo,
.kanban-board .kanban-sem-qtd-vermelho,
.oper-proc-rota-linha-topo .kanban-sem-qtd,
.oper-proc-rota-linha-topo .kanban-sem-qtd-cinza,
.oper-proc-rota-linha-topo .kanban-sem-qtd-verde,
.oper-proc-rota-linha-topo .kanban-sem-qtd-amarelo,
.oper-proc-rota-linha-topo .kanban-sem-qtd-vermelho,
.prod-pos-raias-wrap .kanban-sem-qtd,
.prod-pos-raias-wrap .kanban-sem-qtd-cinza,
.prod-pos-raias-wrap .kanban-sem-qtd-verde,
.prod-pos-raias-wrap .kanban-sem-qtd-amarelo,
.prod-pos-raias-wrap .kanban-sem-qtd-vermelho {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.85rem;
    min-height: 1.85rem;
    padding: 0.2rem 0.45rem;
    border-radius: 5px;
    border: 1px solid #37474f;
    background: #546e7a;
    color: #ffffff;
    font-weight: 700;
    font-size: 0.82rem;
    line-height: 1;
    flex-shrink: 0;
    box-sizing: border-box;
}

.kanban-board .kanban-sem-badge,
.kanban-board .kanban-sem-badge-cinza,
.kanban-board .kanban-sem-badge-verde,
.kanban-board .kanban-sem-badge-amarelo,
.kanban-board .kanban-sem-badge-vermelho {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.22rem 0.5rem;
    border-radius: 5px;
    border: 1px solid #37474f;
    background: #546e7a;
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
    box-sizing: border-box;
}

.kanban-board .kanban-sem-qtd-verde,
.kanban-board .kanban-sem-badge-verde,
.oper-proc-rota-linha-topo .kanban-sem-qtd-verde,
.prod-pos-raias-wrap .kanban-sem-qtd-verde {
    background: #2e7d32;
    border-color: #1b5e20;
    color: #ffffff;
}

.kanban-board .kanban-sem-qtd-amarelo,
.kanban-board .kanban-sem-badge-amarelo,
.oper-proc-rota-linha-topo .kanban-sem-qtd-amarelo,
.prod-pos-raias-wrap .kanban-sem-qtd-amarelo {
    background: #ffc107;
    border-color: #f9a825;
    color: #212121;
}

.kanban-board .kanban-sem-qtd-vermelho,
.kanban-board .kanban-sem-badge-vermelho,
.oper-proc-rota-linha-topo .kanban-sem-qtd-vermelho,
.kanban-board.collapsible .collapsible-header .analise-sep-badges-grupo .kanban-sem-qtd-vermelho,
.prod-pos-raias-wrap .kanban-sem-qtd-vermelho {
    background: #c62828;
    border-color: #b71c1c;
    color: #ffffff;
}

/* Análise integração — colapsável cadastro rotina: texto à esquerda, badges SSOT à direita */
.kanban-board.collapsible .collapsible-header {
    align-items: center;
}

.kanban-board.collapsible .collapsible-header>.analise-sep-linha-conteudo {
    flex: 1 1 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
    width: 100%;
}

.kanban-board.collapsible .collapsible-header .analise-sep-linha-conteudo>.analise-sep-badges-grupo {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    margin-left: auto;
}

.kanban-board .kanban-sem-qtd-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
    margin-left: auto;
    padding-left: 0.75rem;
}

.kanban-board .kanban-sem-badge-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

/* Atalhos nos cards — CampoMultiLink (mesmo campo da listagem de ordens) */
.kanban-board .kanban-card-registro .kanban-sem-badge-row .field_body.field_multi_link {
    padding: 0;
    margin: 0;
    width: 100%;
}

.kanban-board .kanban-card-registro .kanban-sem-badge-row .field_multi_link_lista {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.kanban-board .kanban-card-registro .kanban-sem-badge-row .field_multi_link_item {
    margin: 0;
    background: transparent;
}

.kanban-board .kanban-card-registro .kanban-sem-badge-row .field_multi_link_item:hover {
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

.kanban-board .kanban-card-registro .kanban-sem-badge-row .field_multi_link_lista a:hover {
    box-shadow: none !important;
}

/* Análise histórico ordem: faixa de métricas + atalho config */
.kanban-board .kanban-metricas-fila {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.35rem 0.5rem;
    margin: 0.2rem 0 0.1rem;
    padding-top: 0.32rem;
    border-top: 1px solid #f0f0f0;
    font-size: 1em;
    line-height: 1.35;
}

.kanban-board .kanban-metricas-fila .kanban-linha-rotulo-qtd,
.kanban-board .kanban-metricas-fila .kanban-rotulo-valor {
    margin-bottom: 0 !important;
    flex: 0 1 auto;
}

.kanban-board .kanban-metricas-fila .kanban-display-semantico {
    flex: 0 1 auto;
}

.kanban-board .kanban-metricas-linha-cheia {
    flex: 1 0 100%;
    width: 100%;
    min-width: 100%;
}

.kanban-board .kanban-metricas-bloco-dep {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 0 1 auto;
    min-width: 5rem;
    padding: 0.12rem 0.32rem;
    background: #fafafa;
    border-radius: 3px;
    border: 1px solid #eceff1;
}

.kanban-board .kanban-config-atalho-min.field_show.field_botao.display_icone .field_container .field_botao_item {
    padding-left: 0.32rem !important;
    padding-right: 0.32rem !important;
    min-height: 2.1rem;
    min-width: 2.1rem;
}

.kanban-linha-rotulo-qtd {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 0.4rem;
    row-gap: 0.15rem;
    margin-bottom: 0.45rem;
    font-size: 0.85rem;
    line-height: 1.35;
}

.kanban-info-paragrafo {
    margin-top: 0.45rem;
    font-size: 0.82rem;
    line-height: 1.4;
}

@media (max-width: 992px) {
    .kanban-raias-wrap.row>.col>.kanban-col {
        max-height: none;
    }
}

.kanban-dep-selecionado {
    box-shadow: 0 0 0 2px #42a5f5 inset;
}

.kanban-fila-bloco {
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

/* Área de drop da fila (início/fim): padding mínimo facilita soltar antes da 1ª ou após a última linha */
.kanban-fila-lista {
    min-height: 2.5rem;
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

/**
 * e-SHIP — realce de zonas de drop durante arraste.
 * PHP: App\Enum\CSS (ESHIP_DND_ROOT, ESHIP_DND_ROOT_DRAGGING, ESHIP_DND_DROP_TARGET).
 * JS: Geral.js — listener delegado em document (dragstart/dragend em capture), mesmos nomes de classe.
 */
.eship-dnd-root.eship-dnd-root--dragging .eship-dnd-drop-target {
    outline: 2px dashed #1976d2;
    outline-offset: 3px;
    border-radius: 4px;
    background-color: rgba(25, 118, 210, 0.07);
    box-shadow: inset 0 0 0 1px rgba(25, 118, 210, 0.25);
    transition: outline-color 0.12s ease, background-color 0.12s ease, box-shadow 0.12s ease;
}

.kanban-fila-linha {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 2.75rem;
}

.kanban-fila-main {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.kanban-fila-sep-direita {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    gap: 0.35rem;
    flex-shrink: 0;
}

.kanban-sep-reg-direita-itens {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    border-bottom: 1px solid #d7d7d7;
    padding: 6px 0;
    margin: 12px 0 8px 0;
}

.kanban-fila-item {
    cursor: grab;
    border-left: 3px dashed #bdbdbd;
}

.kanban-fila-item:hover {
    border-left-color: #1976d2;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.kanban-board .kanban-fila-item-ordem-atual {
    background-color: #eceff1;
}

.kanban-stack {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: 100%;
}

.kanban {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
    width: 100%;
    align-items: stretch;
}

.kanban-linha {
    display: flex;
    flex-direction: row;
    gap: 0.75rem;
    width: 100%;
    align-items: stretch;
}

.kanban-col {
    flex: 1 1 0;
    min-width: 0;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #fafafa;
    display: flex;
    flex-direction: column;
    max-height: 70vh;
}

.kanban-col-ativa {
    box-shadow: 0 0 0 2px #1976d2;
    background: #fff;
}

.kanban-titulo {
    font-weight: 600;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #e0e0e0;
    background: #f5f5f5;
}

.kanban-col-conteudo {
    flex: 1 1 auto;
    overflow: auto;
    min-height: 0;
    padding: 0.5rem;
}

/* Análise operação — aba Separação (raias por tipo picking) */
.kanban-board .analise-sep-raia.kanban-col {
    background: #ffffff;
    border: 1px solid #e0e0e0;
}

.kanban-board .analise-sep-raia .kanban-titulo {
    background: #ffffff;
    border-bottom: 1px solid #eeeeee;
    padding: 0.45rem 0.65rem 0.4rem;
}

.kanban-board .analise-sep-raia .kanban-col-conteudo {
    padding: 0;
    background: #ffffff;
}

.kanban-board .analise-sep-cabecalho {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

/* Separação — delimitação de drop só durante arraste (ver .eship-dnd-drop-target global). */
.kanban-board .analise-sep-cabecalho-drop-nova-emissao.kanban-titulo {
    box-sizing: border-box;
    border-radius: 4px;
}

.kanban-board .analise-sep-card-drop-unificar.analise-sep-linha-emissao {
    box-sizing: border-box;
    border-radius: 2px;
}

.kanban-board .analise-sep-zona-drop-ativa.eship-dnd-drop-target,
.eship-dnd-root.eship-dnd-root--dragging .analise-sep-zona-drop-ativa.eship-dnd-drop-target {
    outline: 2px dashed #1976d2;
    outline-offset: 2px;
    background-color: rgba(25, 118, 210, 0.08);
    box-shadow: inset 0 0 0 1px rgba(25, 118, 210, 0.2);
}

.kanban-board .analise-sep-titulo-linha {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem 0.5rem;
    width: 100%;
    min-height: 2.2rem;
    box-sizing: border-box;
}

/* Grupo [sphere qtd | %] no título da raia — mesmo gap do badges-grupo em linha-conteudo */
.kanban-board .analise-sep-titulo-linha > .analise-sep-badges-grupo {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

/* Bullet qtd no título: pill redondo que cresce com o número (EnumCores CINZA/BRANCO no PHP) */
.kanban-board .analise-sep-qtd-sphere {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-width: 2.2rem;
    min-height: 2.2rem;
    width: auto;
    height: auto;
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    border-width: 1px;
    border-style: solid;
    font-weight: 700;
    font-size: 0.85rem;
    line-height: 1.1;
    flex-shrink: 0;
    overflow: visible;
    white-space: nowrap;
}

.kanban-board .analise-sep-titulo-texto {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 1.15rem;
    font-weight: 700;
    line-height: 1.25;
    color: #212121;
    padding-right: 0.35rem;
}

/* Coluna com título empilhado sobre subtítulo (V3 — Análise → Transformação).
   Funciona em conjunto com .analise-sep-titulo-linha para produzir
   [funil-esquerda] [coluna: título / subtítulo]. */
.kanban-board .analise-sep-titulo-textos {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.1rem;
    flex: 1 1 auto;
    min-width: 0;
}

.kanban-board .analise-sep-badge-pct,
.oper-proc-kpi-faixa .analise-sep-badge-pct {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.85rem;
    min-height: 2.1rem;
    padding: 0.35rem 0.75rem;
    border-radius: 6px;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
    color: #212121;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
    flex-shrink: 0;
    box-sizing: border-box;
}

.kanban-board .analise-sep-badge-pct-amarelo,
.oper-proc-kpi-faixa .analise-sep-badge-pct-amarelo {
    background: #ffc107;
    border-color: #f9a825;
    color: #212121;
}

.kanban-board .analise-sep-badge-pct-verde,
.oper-proc-kpi-faixa .analise-sep-badge-pct-verde {
    background: #2e7d32;
    border-color: #1b5e20;
    color: #ffffff;
}

.kanban-board .analise-sep-badge-pct-vermelho,
.oper-proc-kpi-faixa .analise-sep-badge-pct-vermelho {
    background: #c62828;
    border-color: #b71c1c;
    color: #ffffff;
}

.kanban-board .analise-sep-metricas-linha {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem 0.45rem;
    width: 100%;
    line-height: 1.35;
}

.kanban-board .analise-sep-metrica-caixa {
    display: inline-flex;
    align-items: center;
    padding: 0.18rem 0.45rem;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    background: #f5f5f5;
    color: #757575;
    font-size: 0.82rem;
    font-weight: 600;
}

/* Modificador "sólido" do badge numérico (Análise → Transformação Raias 2/3).
   Zera fundo e borda cinza herdados do <p> interno do CampoDisplay::montarSquare,
   deixando aparecer a cor sólida do <div> wrapper definida por setCorFundo().
   A cor do texto herda do wrapper, que já passa por ajustaCorTextoContraste()
   (branco em fundos escuros / preto em fundos claros). */
.kanban-board .analise-sep-metrica-caixa-solida {
    background: transparent;
    border-color: transparent;
    color: inherit;
}

.kanban-board .analise-sep-metrica-texto,
.oper-proc-kpi-faixa .analise-sep-metrica-texto {
    font-size: 0.82rem;
    font-weight: 600;
    color: #757575;
}

.kanban-board .analise-sep-metrica-destaque {
    font-size: 0.9rem;
    font-weight: 700;
    color: #212121;
}

.kanban-board .analise-sep-lista {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.kanban-board .analise-sep-linha-emissao {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 100%;
    min-height: 2rem;
    border-bottom: 1px solid #eeeeee;
    background: #ffffff;
    box-sizing: border-box;
    border-radius: 2px;
}

.oper-proc-painel .kanban-board .analise-sep-lista .analise-sep-linha-emissao:last-child,
.analise-sep-painel .kanban-board .analise-sep-lista .analise-sep-linha-emissao:last-child {
    border-bottom: none;
}

.kanban-board .analise-sep-linha-emissao:not(:has(.oper-proc-linha-picking-conteudo)):not(.analise-sep-linha-ordem) {
    max-height: 2.15rem;
}

.kanban-board .analise-sep-linha-emissao.analise-sep-fundo-verde {
    background: #e8f5e9;
}

.kanban-board .analise-sep-linha-emissao.analise-sep-fundo-amarelo {
    background: #fff8e1;
}

.kanban-board .analise-sep-linha-emissao.analise-sep-fundo-vermelho {
    background: #ffebee;
}

/* Card com falha — kanban e timeline (token ANALISE_SEP_FUNDO_VERMELHO) */
.kanban-board .kanban-card-registro.kanban-card-modern.analise-sep-fundo-vermelho,
.analise-geral-timeline .kanban-card-registro.kanban-card-modern.analise-sep-fundo-vermelho {
    background: #ffebee;
    border-left: 7px solid #c62828;
    box-sizing: border-box;
}

.kanban-board .kanban-card-registro.analise-sep-fundo-vermelho .kanban-card-header,
.kanban-board .kanban-card-registro.analise-sep-fundo-vermelho .kanban-card-body,
.analise-geral-timeline .kanban-card-registro.analise-sep-fundo-vermelho .kanban-card-header,
.analise-geral-timeline .kanban-card-registro.analise-sep-fundo-vermelho .kanban-card-body {
    background: transparent;
}

.kanban-board .analise-sep-barra-status {
    flex: 0 0 5px;
    width: 5px;
    min-height: 100%;
    align-self: stretch;
}

.kanban-board .analise-sep-barra-verde {
    background: #2e7d32;
}

.kanban-board .analise-sep-barra-amarelo {
    background: #ffc107;
}

.kanban-board .analise-sep-barra-cinza {
    background: #bdbdbd;
}

.kanban-board .analise-sep-barra-vermelho {
    background: #c62828;
}

.kanban-board .analise-sep-linha-emissao>.analise-sep-linha-conteudo:not(.oper-proc-linha-picking-conteudo) {
    flex: 1 1 auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.25rem 0.45rem 0.25rem 0.65rem;
    box-sizing: border-box;
}

.kanban-board .analise-sep-linha-emissao:not(:has(.oper-proc-linha-picking-conteudo)):not(.analise-sep-linha-ordem)>.analise-sep-linha-conteudo {
    max-height: 2.15rem;
}

.kanban-board .analise-sep-linha-emissao .analise-sep-linha-conteudo.oper-proc-linha-picking-conteudo {
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.4rem 0.6rem 0.45rem 0.7rem;
}

.kanban-board .analise-sep-linha-emissao .oper-proc-linha-picking-principal {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.5rem;
    width: 100%;
}

.kanban-board .analise-sep-linha-emissao .oper-proc-linha-picking-produto {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.15rem;
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.35;
}

.kanban-board .analise-sep-linha-emissao .oper-proc-linha-picking-alerta {
    width: 100%;
    padding: 0;
    margin-top: 0.35rem;
}

.kanban-board .analise-sep-linha-emissao .oper-proc-linha-picking-usuarios {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.2rem 0.65rem;
    width: 100%;
    margin-top: 0.2rem;
}

.kanban-board .analise-sep-linha-emissao .oper-proc-linha-picking-usuario-texto {
    font-size: 0.75rem;
    font-weight: 600;
    color: #616161;
    background: none;
    padding: 0;
    line-height: 1.3;
}

.kanban-board .analise-sep-linha-emissao:has(.kanban-item-alerta-linha) {
    min-height: 3.15rem;
    max-height: none;
}

.kanban-board .analise-sep-linha-emissao:has(.oper-proc-linha-picking-conteudo) {
    max-height: none;
}

.kanban-board .analise-sep-linha-emissao:has(.oper-proc-linha-picking-conteudo)>.analise-sep-linha-conteudo {
    max-height: none;
}

.kanban-board .analise-sep-emissao-id {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 0.95rem;
    font-weight: 500;
    color: #212121;
    text-align: left;
    line-height: 1.35;
    word-break: break-all;
}

.kanban-board .analise-sep-emissao-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.28rem;
    margin-top: 0.28rem;
    width: 100%;
    min-width: 0;
}

.kanban-board .analise-sep-emissao-meta-pill {
    display: inline-flex;
    max-width: 100%;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
}

.kanban-board .analise-sep-emissao-meta-pill .display,
.kanban-board .analise-sep-emissao-meta-pill p,
.kanban-board .analise-sep-emissao-meta-pill span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.25;
}

.kanban-board .analise-sep-emissao-meta-pill .display {
    padding: 0.18rem 0.45rem;
}

.kanban-board .analise-sep-acao {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    line-height: 1;
    font-size: 0.78rem;
    color: #616161;
    text-decoration: none;
}

.kanban-board .analise-sep-acao .display {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
    padding: 0;
    margin: 0;
}

.kanban-board .analise-sep-acao .display svg {
    width: 14px;
    height: 14px;
}

.analise-legenda-pill-wrap {
    gap: 0.5rem 0.75rem;
}

.analise-legenda-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.9rem 0.35rem 0.5rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 500;
    line-height: 1.25;
    min-height: 1.85rem;
    box-sizing: border-box;
}

.analise-legenda-pill-circulo {
    flex: 0 0 0.8rem;
    width: 0.8rem;
    height: 0.8rem;
    border-radius: 50%;
    background: #ffffff;
}

.analise-legenda-pill-texto {
    white-space: nowrap;
}

.analise-legenda-pill-verde {
    background: #e8f5e9;
    color: #1b5e20;
}

.analise-legenda-pill-amarelo {
    background: #fff8e1;
    color: #212121;
}

.analise-legenda-pill-amarelo-solido {
    background: #ffc107;
    border: 1px solid #f9a825;
    color: #212121;
}

.analise-legenda-pill-vermelho {
    background: #c62828;
    color: #ffffff;
}

.analise-legenda-pill-branco {
    background: #ffffff;
    color: #212121;
    border: 1px solid #e0e0e0;
}

/* Análise Transformação — pills categoria (cinza/azul/roxo) e card selecionado.
   Cores vinculadas a App\Enum\EnumCores:
   - CINZA          (#888888)  : "em estoque"      → CSS::ANALISE_LEGENDA_PILL_CINZA
   - AZUL           (#42a5f5)  : "em transformação"→ CSS::ANALISE_LEGENDA_PILL_AZUL
   - ROXO           (#75438A)  : "a produzir"      → CSS::ANALISE_LEGENDA_PILL_ROXO
   - AMARELO_ESHIP  (#FFC100)  : card selecionado  → CSS::ANALISE_TRANS_CARD_SELECIONADO */
.analise-legenda-pill-cinza {
    background: #888888;
    color: #ffffff;
}

.analise-legenda-pill-azul {
    background: #42a5f5;
    color: #ffffff;
}

.analise-legenda-pill-roxo {
    background: #75438A;
    color: #ffffff;
}

/* P11.B — Rodapé global da Análise → Transformação.
   Cada `.analise-rodape-indicador-caixa` agrupa um display numérico
   (CampoDisplay TYPE_SQUARE) + um Text com o rótulo (`back orders`,
   `transformações`, `índice de fragmentação`). O `gap` cria o respiro entre
   número e rótulo; o `padding-right` separa indicadores adjacentes na
   mesma linha. Sem `#hex` novo — apenas espaçamento. */
.analise-rodape-indicador-caixa {
    gap: 0.4rem;
    padding-right: 0.75rem;
}

/* P11.D — botão-link "Selecionar todos" / "Limpar seleção" no cabeçalho das
   raias clicáveis (Demanda — Raia 1 e Consumo — Raia 3). Cor `#616161` /
   hover `#424242` já circulam em outras regras do Container.css
   (`.oper-proc-pill-cinza`, `.popover-filtro-raia-titulo`). O
   `margin-left: auto` empurra o botão para a ponta direita do flex
   `analise-sep-titulo-linha` (`justify-content: space-between` já garante
   alinhamento básico, mas o `auto` fortalece em re-arranjos). */
.analise-trans-selecionar-todos-link {
    cursor: pointer;
    color: #616161;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: underline;
    user-select: none;
    margin-left: auto;
    line-height: 1.25;
}

.analise-trans-selecionar-todos-link:hover {
    color: #424242;
}

.analise-trans-card-selecionado {
    border: 2px solid #FFC100;
    box-shadow: 0 0 0 1px rgba(255, 193, 0, 0.25);
}

/* Cards clicáveis das Raias 1 (Demanda) e 3 (Consumo) da Análise →
   Transformação (P8.B). Aplica apenas affordance (cursor + leve realce de
   hover) — reutiliza as cores neutras já presentes no painel para não
   introduzir tokens novos. O destaque amarelo de seleção continua sendo
   `.analise-trans-card-selecionado`, que sobrepõe a borda padrão. */
.analise-sep-painel .kanban-board .analise-trans-card-clicavel {
    cursor: pointer;
}

.analise-sep-painel .kanban-board .analise-trans-card-clicavel:hover:not(.analise-trans-card-selecionado) {
    background: #f5f5f5;
}

/* Análise operação — raias kanban (processo emissão + aba Separação) */
.oper-proc-painel .kanban-board .analise-sep-raia.kanban-raia:hover,
.analise-sep-painel .kanban-board .analise-sep-raia.kanban-raia:hover {
    box-shadow: none;
    transform: none;
}

.oper-proc-painel .kanban-board .analise-sep-raia.kanban-raia,
.analise-sep-painel .kanban-board .analise-sep-raia.kanban-raia {
    transition: none;
}

.oper-proc-painel .kanban-board .analise-sep-raia.kanban-col,
.analise-sep-painel .kanban-board .analise-sep-raia.kanban-col {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.oper-proc-painel .kanban-board .analise-sep-raia>.kanban-titulo,
.analise-sep-painel .kanban-board .analise-sep-raia>.kanban-titulo {
    flex: 0 0 auto;
    flex-shrink: 0;
    position: relative;
    z-index: 2;
    min-height: 4.85rem;
    box-sizing: border-box;
}

.oper-proc-painel .kanban-board .analise-sep-raia>.kanban-titulo .analise-sep-cabecalho,
.analise-sep-painel .kanban-board .analise-sep-raia>.kanban-titulo .analise-sep-cabecalho {
    min-height: 3.5rem;
    justify-content: flex-start;
}

.oper-proc-painel .kanban-board .analise-sep-raia .kanban-col-conteudo,
.analise-sep-painel .kanban-board .analise-sep-raia .kanban-col-conteudo {
    position: relative;
    z-index: 1;
    flex: 1 1 auto;
    min-height: 0;
    padding: 0.5rem 0.5rem 0.35rem;
    box-sizing: border-box;
}

/*
 * Kanban permissões Tipo Usuário (CFuncaoTipoUsuario).
 * 3 raias: usuários / módulos+funções (colapsável) / acesso botões — 30% + 45% + 25%.
 */
.analise-sep-painel.kanban-tipo-usuario-painel .kanban-raias-wrap.row {
    align-items: stretch;
    min-height: calc(100vh - 220px);
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-raias-wrap.row>.raia-shell.col {
    display: flex;
    flex-direction: column;
    min-height: 0;
    align-self: stretch;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-raias-wrap.row>.raia-shell.col:nth-child(1) {
    flex: 0 0 30%;
    max-width: 30%;
    width: 30%;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-raias-wrap.row>.raia-shell.col:nth-child(2) {
    flex: 0 0 45%;
    max-width: 45%;
    width: 45%;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-raias-wrap.row>.raia-shell.col:nth-child(3) {
    flex: 0 0 25%;
    max-width: 25%;
    width: 25%;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-raias-wrap.row>.raia-shell.col>.kanban-col {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    height: auto;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .analise-sep-raia.kanban-raia {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .analise-sep-raia>.kanban-titulo {
    flex: 0 0 auto;
    min-height: auto;
    padding: 0.35rem 0.65rem 0.15rem;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .analise-sep-raia>.kanban-titulo .analise-sep-cabecalho {
    min-height: auto;
    padding-bottom: 0;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .analise-sep-raia .kanban-col-conteudo {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-card-usuario,
.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-card-usuario>.display-flex-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    box-sizing: border-box;
    gap: 2px;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-lista-compacta {
    gap: 2px;
}

/*
 * Kanban permissões funções × grupos (CFuncaoListarFuncoesPermissao).
 * 3 raias: funções 45% / grupos 25% / notificações 30% — sem gap entre colunas.
 */
.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-raia-subtitulo,
.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-raia-subtitulo span,
.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-raia-subtitulo p {
    display: block;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.35;
    color: #9e9e9e;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-raias-wrap.row {
    align-items: stretch;
    min-height: calc(100vh - 220px);
    gap: 0;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-raias-wrap.row>.raia-shell:not(:last-child)>.kanban-col {
    border-right: 1px solid #e0e0e0;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-raias-wrap.row>.raia-shell.col {
    display: flex;
    flex-direction: column;
    min-height: 0;
    align-self: stretch;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-raias-wrap.row>.raia-shell.col:nth-child(1) {
    flex: 0 0 45%;
    max-width: 45%;
    width: 45%;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-raias-wrap.row>.raia-shell.col:nth-child(2) {
    flex: 0 0 25%;
    max-width: 25%;
    width: 25%;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-raias-wrap.row>.raia-shell.col:nth-child(3),
.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-raias-wrap.row>.raia-shell.col.kanban-funcoes-permissao-raia-notificacoes {
    flex: 0 0 30%;
    max-width: 30%;
    width: 30%;
    min-width: 0;
    overflow: hidden;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-raia-notificacoes>.kanban-col,
.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-raia-notificacoes .kanban-col-conteudo {
    min-width: 0;
    overflow-x: hidden;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-raias-wrap.row>.raia-shell.col>.kanban-col {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    height: auto;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-board .analise-sep-raia.kanban-raia {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: hidden;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-board .analise-sep-raia .kanban-col-conteudo {
    flex: 1 1 auto;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-stack {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    font-size: 1em;
    overflow: hidden;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-item {
    display: block;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    font-size: 1em;
    font-weight: 500;
    line-height: 1.35;
    text-align: left;
    overflow: hidden;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-item[class*="kanban-funcoes-permissao-notif-tom-"] {
    padding: 0.55rem 0.65rem;
    border-radius: 5px;
    border-style: solid;
    border-width: 2px;
    border-left-width: 4px;
    background: #fafafa;
    box-sizing: border-box;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-item.kanban-funcoes-permissao-notif-tom-verde {
    border-color: #1b5e20;
    color: #1b5e20;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-item.kanban-funcoes-permissao-notif-tom-amarelo {
    border-color: #f9a825;
    color: #212121;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-item.kanban-funcoes-permissao-notif-tom-vermelho {
    border-color: #b71c1c;
    color: #b71c1c;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-item.kanban-funcoes-permissao-notif-tom-cinza {
    border-color: #37474f;
    color: #37474f;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-item[class*="kanban-funcoes-permissao-notif-tom-"] p {
    margin: 0;
    color: inherit;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-conteudo {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    width: 100%;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-grupo {
    font-size: 1em;
    line-height: 1.3;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-mensagem {
    font-size: 1em;
    line-height: 1.35;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-notif-acao {
    font-size: 0.85em;
    line-height: 1.3;
    opacity: 0.95;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-card-funcao {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.35rem;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-linha-titulo {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    column-gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-linha-funcao {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    column-gap: 0.5rem;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-col-titulo {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-linha-grupos {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    width: 100%;
    min-width: 0;
    margin-top: 0;
    padding-left: 0.1rem;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-grupo-item {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-grupo-item>.display-flex {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    cursor: pointer;
    border-radius: 1em;
    padding: 3px 10px 3px 6px;
    background-color: #dcdcdc;
    color: #000000;
    border: 1px solid #bdbdbd;
    box-shadow: none;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-grupo-item>.display-flex>div:first-child {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-grupo-item>.display-flex>div:last-child {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-grupo-item>.display-flex>div:last-child p {
    margin: 0;
    line-height: 1;
    color: #000000 !important;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-grupo-lixeira {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    box-shadow: none !important;
    min-width: 0;
    line-height: 1;
    border-radius: 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-grupo-lixeira svg {
    width: 0.85em;
    height: 0.85em;
    display: block;
    fill: #000000;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-col-tipo {
    flex: 0 0 auto;
}

.analise-sep-painel.kanban-funcoes-permissao-painel .kanban-funcoes-permissao-linha-grupos:empty {
    display: none;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-lista-compacta.analise-sep-lista,
.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-lista-flush,
.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-lista-flush.analise-sep-lista {
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-top: 0;
    padding-bottom: 0;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-funcoes-modulo {
    gap: 0;
    padding: 0 !important;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-linha-funcao {
    gap: 6px;
    max-height: none;
    min-height: 2rem;
    padding: 3px 8px;
    margin: 0;
    border-radius: 0;
    cursor: pointer;
    box-sizing: border-box;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-linha-funcao>.display-flex {
    min-width: 0;
    width: 100%;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-linha-funcao-conteudo {
    gap: 8px;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-linha-funcao-esquerda {
    flex: 1 1 auto;
    min-width: 0;
    gap: 6px;
    justify-content: flex-start;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-linha-funcao-esquerda>.font-bold {
    flex: 0 1 auto;
    min-width: 0;
    word-break: break-word;
    text-align: left;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-linha-funcao-direita {
    flex: 0 0 auto;
    margin-left: auto;
    gap: 4px;
    justify-content: flex-end;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-resumo-acao {
    gap: 8px;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-resumo-tipos {
    gap: 6px;
    align-items: flex-start;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-botoes-acao.toggle-box {
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-botoes-acao.toggle-box>.toggle-box-elem {
    flex: 0 1 auto;
    min-width: 0;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-funcao-toggle.toggle-box {
    width: 100%;
    gap: 2px;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-funcao-toggle.toggle-box>.toggle-box-elem {
    width: 100%;
    box-sizing: border-box;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-funcao-toggle .toggle-box-elem>.display-flex,
.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-funcao-toggle .toggle-box-elem>div {
    width: 100%;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-origem-funcao {
    flex: 0 0 auto;
    gap: 2px;
    margin-right: 0;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .collapsible-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .kanban-tipo-usuario-card-usuario {
    padding-left: 8px;
    padding-right: 8px;
}

.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .mt-collapsible-header.selecionado,
.analise-sep-painel.kanban-tipo-usuario-painel .kanban-board .mt-collapsible-header .selecionado {
    background-color: rgba(25, 118, 210, 0.08);
}

@media only screen and (min-width: 993px) {

    .analise-sep-painel.kanban-tipo-usuario-painel .kanban-raias-wrap.row>.raia-shell.col:nth-child(1) {
        flex: 0 0 30%;
        max-width: 30%;
        width: 30%;
    }

    .analise-sep-painel.kanban-tipo-usuario-painel .kanban-raias-wrap.row>.raia-shell.col:nth-child(2) {
        flex: 0 0 45%;
        max-width: 45%;
        width: 45%;
    }

    .analise-sep-painel.kanban-tipo-usuario-painel .kanban-raias-wrap.row>.raia-shell.col:nth-child(3) {
        flex: 0 0 25%;
        max-width: 25%;
        width: 25%;
    }
}

.oper-proc-painel .kanban-board .analise-sep-lista,
.analise-sep-painel .kanban-board .analise-sep-lista {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0;
}

/* Cards da Análise → Transformação ganham respiro entre si conforme mockup
   Figma 83:422. A Análise → Emissão (oper-proc-painel) continua com gap 0. */
.analise-sep-painel .kanban-board .analise-sep-lista {
    gap: 0.4rem;
}

.oper-proc-painel .kanban-board .analise-sep-linha-ordem,
.analise-sep-painel .kanban-board .analise-sep-linha-ordem {
    max-height: none;
    min-height: auto;
}

/* Override de coluna preservado APENAS para a Análise → Emissão
   (`oper-proc-painel`). A Análise → Transformação (`analise-sep-painel`) volta
   para uma única linha horizontal — herda `flex-direction: row` da regra base
   `.kanban-board .analise-sep-linha-emissao > .analise-sep-linha-conteudo`. */
.oper-proc-painel .kanban-board .analise-sep-linha-ordem>.analise-sep-linha-conteudo {
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 0;
    max-height: none;
    padding: 0.35rem 0.5rem 0.35rem 0.65rem;
}

.oper-proc-painel .kanban-board .analise-sep-linha-ordem-corpo,
.analise-sep-painel .kanban-board .analise-sep-linha-ordem-corpo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    width: 100%;
    min-width: 0;
}

.oper-proc-painel .kanban-board .analise-sep-linha-ordem .analise-sep-linha-ordem-sub,
.oper-proc-painel .kanban-board .analise-sep-linha-ordem .analise-sep-emissao-id,
.analise-sep-painel .kanban-board .analise-sep-linha-ordem .analise-sep-linha-ordem-sub,
.analise-sep-painel .kanban-board .analise-sep-linha-ordem .analise-sep-emissao-id {
    color: #212121;
}

.oper-proc-painel .kanban-board .analise-sep-linha-ordem-sub,
.analise-sep-painel .kanban-board .analise-sep-linha-ordem-sub {
    display: block;
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.35;
    width: 100%;
}

/* ============================================================
   P7 (Análise → Transformação) — padronização visual dos 4
   raias. Escopo restrito a `.analise-sep-painel` para preservar
   `.oper-proc-painel` (Análise → Emissão) inalterada.
   ============================================================ */

/* Cabeçalho: título 1rem mantendo FONT_BOLD; subtítulo 0.875rem
   (já vem com FONT_WEIGHT_S). Sobrescreve o 1.15rem original
   aplicado em `.analise-sep-titulo-texto` para ambos os painéis. */
.analise-sep-painel .kanban-board .analise-sep-cabecalho {
    font-size: 1rem;
}

.analise-sep-painel .kanban-board .analise-sep-titulo-textos {
    font-size: 0.875rem;
}

.analise-sep-painel .kanban-board .analise-sep-titulo-texto {
    font-size: 1rem;
}

/* Conteúdo dos cards uniformemente em 0.85em — herdado pelos
   filhos sem font-size explícito; o badge numérico (que possui
   `font-size: 0.82rem` próprio) recebe override abaixo. */
.analise-sep-painel .kanban-board .analise-sep-linha-conteudo {
    font-size: 0.85em;
}

.analise-sep-painel .kanban-board .analise-sep-linha-conteudo .analise-sep-metrica-caixa {
    font-size: 0.85em;
}

/* Padding interno de 0.5rem em todos os 4 lados do conteúdo do
   card — preserva a barra lateral colorida `.analise-sep-barra-status`
   que vive FORA do `.analise-sep-linha-conteudo` (filho direto do
   card `.analise-sep-linha-emissao`). Vale para Raia 1 (linha-ordem)
   e Raias 2/3/4 (linha-emissao base). */
.analise-sep-painel .kanban-board .analise-sep-linha-emissao>.analise-sep-linha-conteudo {
    padding: 0.5rem;
}

/* Relaxa o `max-height: 2.15rem` herdado da regra base — necessário
   porque o padding maior (0.5rem) + descrições longas ultrapassam o
   cap antigo. Só para a Análise → Transformação. */
.analise-sep-painel .kanban-board .analise-sep-linha-emissao:not(:has(.oper-proc-linha-picking-conteudo)):not(.analise-sep-linha-ordem),
.analise-sep-painel .kanban-board .analise-sep-linha-emissao:not(:has(.oper-proc-linha-picking-conteudo)):not(.analise-sep-linha-ordem)>.analise-sep-linha-conteudo {
    max-height: none;
}

/* Raia 4 (Em processo) — atalhos lado a lado; códigos empilhados abaixo */
.analise-sep-painel .kanban-board .analise-sep-em-processo-corpo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    flex: 1 1 auto;
    min-width: 0;
}

.analise-sep-painel .kanban-board .analise-sep-em-processo-atalhos {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.35rem;
    flex-wrap: nowrap;
}

/* Atalhos análise operação — ícone circular + rótulo pill (sem borda no <a> wrapper) */
.field_body.field_link>a.field_container.oper-proc-atalho-analise,
.field_body.field_link>a.field_link_atalho.oper-proc-atalho-analise,
a.field_link_atalho.field_container.oper-proc-atalho-analise,
a.field_link_atalho.oper-proc-atalho-analise {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    border: none;
    background: transparent;
    padding: 0;
    gap: 0;
    text-decoration: none;
    line-height: 1.2;
    min-height: auto;
    max-width: 100%;
}

.field_body.field_link>a.oper-proc-atalho-analise>div,
a.field_link_atalho.oper-proc-atalho-analise>div {
    display: inline-flex;
    align-items: center;
    gap: 0;
    flex-shrink: 0;
    min-width: 0;
}

.field_body.field_link>a.oper-proc-atalho-analise .estrutura_elemento_flutuante,
a.field_link_atalho.oper-proc-atalho-analise .estrutura_elemento_flutuante {
    border: 1px solid #bdbdbd;
    border-radius: 50%;
    background: #ffffff;
    padding: 0.25rem;
    flex-shrink: 0;
    margin-right: -0.55rem;
    z-index: 1;
}

.field_body.field_link>a.oper-proc-atalho-analise .estrutura_elemento_flutuante .display,
a.field_link_atalho.oper-proc-atalho-analise .estrutura_elemento_flutuante .display {
    margin: 0;
    line-height: 0;
}

.field_body.field_link>a.oper-proc-atalho-analise>div>span,
.field_body.field_link>a.oper-proc-atalho-analise span:not(.display):not(.estrutura_elemento_flutuante),
a.field_link_atalho.oper-proc-atalho-analise>div>span,
a.field_link_atalho.oper-proc-atalho-analise span:not(.display):not(.estrutura_elemento_flutuante) {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    visibility: visible;
    opacity: 1;
    padding: 0.35rem 0.9rem 0.35rem 0.75rem;
    border: 1px solid #bdbdbd;
    border-radius: 4px;
    background: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    color: #212121;
    white-space: nowrap;
    line-height: 1.2;
    min-width: min-content;
}

.kanban-board .analise-sep-acao .field_body.field_link {
    flex-shrink: 0;
}

.kanban-board .analise-sep-acao .field_body.field_link>a.oper-proc-atalho-analise>div>span,
.kanban-board .field_body.field_link>a.oper-proc-atalho-analise>div>span {
    color: #212121;
}

.analise-sep-painel .kanban-board a.field_link_atalho.oper-proc-atalho-analise,
.analise-sep-painel .kanban-board .field_body.field_link>a.oper-proc-atalho-analise,
.oper-proc-painel .kanban-board a.field_link_atalho.oper-proc-atalho-analise,
.oper-proc-painel .kanban-board .field_body.field_link>a.oper-proc-atalho-analise {
    text-decoration: none;
}

.analise-sep-painel .kanban-board a.field_link_atalho.oper-proc-atalho-analise .display,
.analise-sep-painel .kanban-board .field_body.field_link>a.oper-proc-atalho-analise .display,
.oper-proc-painel .kanban-board a.field_link_atalho.oper-proc-atalho-analise .display,
.oper-proc-painel .kanban-board .field_body.field_link>a.oper-proc-atalho-analise .display {
    margin: 0;
}

/* Legado: atalhos kanban ainda com oper-proc-botao-topo no <a> — manter compatibilidade mínima */
.analise-sep-painel .kanban-board a.field_link_atalho.oper-proc-botao-topo,
.oper-proc-painel .kanban-board a.field_link_atalho.oper-proc-botao-topo {
    text-decoration: none;
    gap: 0.25rem;
}

.analise-sep-painel .kanban-board a.field_link_atalho.oper-proc-botao-topo .display,
.oper-proc-painel .kanban-board a.field_link_atalho.oper-proc-botao-topo .display {
    margin: 0;
}

/* Caixas de quantidade SEMPRE alinhadas à direita do card —
   independentemente do tamanho da descrição. Para a Raia 2
   (Necessidades) os múltiplos badges são agrupados em
   `.analise-sep-badges-grupo` para que o `margin-left: auto`
   atue no grupo inteiro. */
.analise-sep-painel .kanban-board .analise-sep-linha-conteudo>.analise-sep-metrica-caixa,
.analise-sep-painel .kanban-board .analise-sep-linha-conteudo>.analise-sep-badge-pct,
.analise-sep-painel .kanban-board .analise-sep-linha-conteudo>.analise-sep-badges-grupo {
    margin-left: auto;
}

.analise-sep-painel .kanban-board .analise-sep-linha-conteudo>.analise-sep-badges-grupo {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
}

.analise-sep-painel .kanban-board .analise-sep-badges-grupo .kanban-sem-qtd,
.analise-sep-painel .kanban-board .analise-sep-badges-grupo .kanban-sem-qtd-verde,
.analise-sep-painel .kanban-board .analise-sep-badges-grupo .kanban-sem-qtd-amarelo,
.analise-sep-painel .kanban-board .analise-sep-badges-grupo .kanban-sem-qtd-vermelho {
    min-width: 1.85rem;
    min-height: 1.85rem;
}

.oper-proc-painel,
.analise-sep-painel {
    width: 100%;
}

.oper-proc-topo {
    width: 100%;
    margin-bottom: 0.75rem;
    gap: 0.75rem 1rem;
}

.oper-proc-emissao-col {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    flex-shrink: 0;
}

.oper-proc-id-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    background: #fafafa;
    font-size: 1.35rem;
    font-weight: 700;
}

.oper-proc-acoes-topo {
    flex: 0 1 auto;
    gap: 0.5rem 0.75rem;
}

.oper-proc-botao-topo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 0.9rem;
    border: 1px solid #bdbdbd;
    border-radius: 4px;
    background: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    color: #212121;
    line-height: 1.2;
}

.oper-proc-solucionar-opcoes {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.65rem;
    width: 100%;
    text-align: left;
}

.oper-proc-solucionar-opcao {
    display: block;
    width: 100%;
    border: 1px solid #bdbdbd;
    border-radius: 6px;
    background: #fafafa;
    padding: 0.7rem 0.85rem;
    text-align: left;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.oper-proc-solucionar-opcao:hover {
    background: #f0f4ff;
    border-color: #1976d2;
    box-shadow: 0 1px 4px rgba(25, 118, 210, 0.12);
}

.oper-proc-solucionar-opcao-conteudo {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.75rem;
    width: 100%;
}

.oper-proc-solucionar-opcao-texto {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
    flex: 1 1 auto;
    min-width: 0;
    gap: 0.3rem;
}

.oper-proc-solucionar-opcao .oper-proc-solucionar-opcao-conteudo>.field_container,
.oper-proc-solucionar-opcao .oper-proc-solucionar-opcao-conteudo>.field_link {
    flex-shrink: 0;
    margin: 0;
}

.oper-proc-solucionar-opcao .field_link_atalho,
.oper-proc-solucionar-opcao .field_link {
    border: none;
    background: transparent;
    padding: 0;
    min-height: auto;
}

.oper-proc-solucionar-opcao .field_link_atalho .display,
.oper-proc-solucionar-opcao .field_link .display {
    margin: 0;
}

.oper-proc-config-topo {
    flex: 1 1 auto;
    justify-content: center;
    gap: 0.75rem 1rem;
    margin-left: auto;
    min-width: 0;
}

.oper-proc-config-item {
    font-size: 0.85rem;
    font-weight: 600;
    color: #424242;
    line-height: 1.3;
    white-space: nowrap;
}

.oper-proc-config-separador {
    width: 1px;
    align-self: stretch;
    min-height: 1.5rem;
    background: #bdbdbd;
    flex-shrink: 0;
}

.oper-proc-fila-rotulo {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.75rem;
    border: 1px solid #bdbdbd;
    border-radius: 4px;
    background: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    color: #424242;
    line-height: 1.2;
    white-space: nowrap;
}

.oper-proc-kpi-faixa {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.75rem;
    width: 100%;
    margin-bottom: 0.65rem;
    padding: 0.35rem 0.65rem 0.45rem;
    border-bottom: 1px solid #eeeeee;
    box-sizing: border-box;
}

.oper-proc-kpi-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.kanban-board .analise-sep-titulo-linha .oper-proc-kpi-caixa {
    flex-shrink: 0;
}

.oper-proc-kpi-caixa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.5rem;
    min-height: 2.2rem;
    padding: 0.35rem 0.65rem;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #f5f5f5;
    color: #212121;
    font-weight: 700;
    font-size: 1rem;
    box-sizing: border-box;
}

.oper-proc-kpi-caixa-amarelo {
    background: #ffc107;
    border-color: #f9a825;
    color: #212121;
}

.oper-proc-kpi-caixa-vermelho {
    background: #c62828;
    border-color: #b71c1c;
    color: #ffffff;
}

.oper-proc-kpi-caixa-verde {
    background: #2e7d32;
    border-color: #1b5e20;
    color: #ffffff;
}

.oper-proc-kpi-caixa-verde-texto-preto {
    background: #81c784;
    border-color: #66bb6a;
    color: #212121;
}

.oper-proc-kpi-caixa-reserva {
    visibility: hidden;
    pointer-events: none;
}

.oper-proc-kpi-caixa-azul {
    background: #e3f2fd;
    border-color: #bbdefb;
    color: #1565c0;
}

.oper-proc-kpi-pill {
    display: inline-flex;
    padding: 0.15rem 0.65rem;
    border: 1px solid #1976d2;
    border-radius: 999px;
    color: #1976d2;
    font-size: 0.78rem;
    font-weight: 600;
    background: #fff;
}

/* ============================================================
   Análise → Operação — área % central por participação da raia
   (CSS::ANALISE_OPERACAO_PCT_AREA). Escala contínua 0–100 via
   --analise-operacao-pct (setada no Style do elemento).
   Fórmula linear min→max:
     h = 2.2rem + (12rem - 2.2rem) * pct / 100
     w = 18%   + (100%  - 18%)   * pct / 100
   (pct=0 → mínimo; pct=100 → máximo).
   Azul claro alinhado a .oper-proc-kpi-caixa-azul
   (#e3f2fd / #bbdefb / #1565c0).
   Proibido: height/width inline soltos, hex novo fora deste padrão,
   pastel. Faixas H0…H100 removidas (deprecated).
   ============================================================ */
.analise-operacao-pct-area {
    --analise-operacao-pct: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 5px;
    border: 1px solid #bbdefb;
    background: #e3f2fd;
    color: #1565c0;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.2;
    height: calc(2.2rem + (9.8rem * var(--analise-operacao-pct) / 100));
    min-height: calc(2.2rem + (9.8rem * var(--analise-operacao-pct) / 100));
    width: calc(18% + (82% * var(--analise-operacao-pct) / 100));
}

.analise-operacao-pct-area .field_body.field_link,
.analise-operacao-pct-area a.field_link_atalho {
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    box-shadow: none;
    text-decoration: none;
    color: #1565c0;
    font-weight: inherit;
    font-size: inherit;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    cursor: pointer;
}

.analise-operacao-pct-area a.field_link_atalho>div,
.analise-operacao-pct-area a.field_link_atalho .estrutura_elemento_flutuante,
.analise-operacao-pct-area a.field_link_atalho span:not(.display) {
    border: none;
    background: transparent;
    box-shadow: none;
    padding: 0;
    margin: 0;
    color: #1565c0;
    font-weight: 700;
}

.analise-operacao-pct-area a.field_link_atalho>div {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    box-sizing: border-box;
}

/* Tema pinta .field_link > .field_container de branco (#fff) — perde contraste
   no fundo #e3f2fd. Mesmo azul de .analise-operacao-pct-area / kpi-caixa-azul. */
#main_principal .analise-operacao-pct-area .field_body.field_link>.field_container:not(.desabilitado),
#main_principal .analise-operacao-pct-area .field_body.field_link>.field_container:not(.desabilitado):hover,
#main_principal .analise-operacao-pct-area a.field_link_atalho,
#main_principal .analise-operacao-pct-area a.field_link_atalho span {
    color: #1565c0;
}

#main_principal .analise-operacao-pct-area .field_body.field_link>.field_container {
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

/* Análise → Operação — escopo local (:has pct-area): badges cinza
   claros (tom .oper-proc-kpi-caixa). Tipografia: rótulo pequeno;
   só o quantitativo (valor) maior — alinhado ao exemplo ORDENS./88%.
   Não altera kanban-sem-* global. */
.analise-sep-painel:has(.analise-operacao-pct-area) .kanban-sem-badge-cinza {
    background: #f5f5f5;
    border-color: #e0e0e0;
    color: #212121;
}

.analise-sep-painel:has(.analise-operacao-pct-area) .analise-operacao-badge-rotulo {
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
}

.analise-sep-painel:has(.analise-operacao-pct-area) .analise-operacao-badge-valor {
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.2;
}

/* Análise → Operação — QTDE no cabeçalho da raia: uma borda limpa
   (CampoLinkAtalho + OPER_PROC_KPI_CAIXA sem caixa-dentro-de-caixa).
   Escopo local :has(pct-area); não altera outras telas. */
.analise-sep-painel:has(.analise-operacao-pct-area) .analise-sep-titulo-linha .field_body.field_link {
    border: none;
    background: transparent;
    padding: 0;
    margin: 0;
    box-shadow: none;
}

.analise-sep-painel:has(.analise-operacao-pct-area) .analise-sep-titulo-linha .field_body.field_link>a.field_container.oper-proc-kpi-caixa,
.analise-sep-painel:has(.analise-operacao-pct-area) .analise-sep-titulo-linha a.field_link_atalho.oper-proc-kpi-caixa {
    text-decoration: none;
    box-shadow: none;
}

.analise-sep-painel:has(.analise-operacao-pct-area) .analise-sep-titulo-linha a.oper-proc-kpi-caixa>div,
.analise-sep-painel:has(.analise-operacao-pct-area) .analise-sep-titulo-linha a.oper-proc-kpi-caixa .estrutura_elemento_flutuante,
.analise-sep-painel:has(.analise-operacao-pct-area) .analise-sep-titulo-linha a.oper-proc-kpi-caixa span:not(.display) {
    border: none;
    background: transparent;
    box-shadow: none;
    padding: 0;
}

/* PRODUTO — Faixa KPI de saldos (FormDisplaySaldosProduto / Relação Categoria Estoque) */
.prod-saldo-kpi-faixa {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 0.65rem 0.85rem;
    width: 100%;
    margin-bottom: 0.75rem;
    padding: 0.65rem 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: linear-gradient(#fafafa, #f5f5f5);
    box-sizing: border-box;
}

.prod-saldo-kpi-faixa-centro {
    justify-content: center;
}

.prod-saldo-kpi-item-link {
    cursor: pointer;
    transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.prod-saldo-kpi-item-link:hover {
    border-color: #90caf9;
    box-shadow: 0 2px 8px rgba(21, 101, 192, 0.18);
}

.prod-saldo-kpi-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    flex: 1 1 8.5rem;
    min-width: 7.5rem;
    max-width: 14rem;
    padding: 0.45rem 0.35rem 0.5rem;
    border-radius: 4px;
    background: #ffffff;
    border: 1px solid #eeeeee;
    box-sizing: border-box;
}

.prod-saldo-kpi-item .analise-sep-metrica-texto {
    font-size: 0.78rem;
    font-weight: 600;
    color: #616161;
    text-align: center;
    line-height: 1.25;
}

.prod-saldo-kpi-caixa {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.25rem;
    min-height: 2.5rem;
    padding: 0.4rem 0.75rem;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #f5f5f5;
    color: #212121;
    font-weight: 700;
    font-size: 1.15rem;
    box-sizing: border-box;
}

.prod-saldo-kpi-caixa-amarelo {
    background: #ffc107;
    border-color: #f9a825;
    color: #212121;
}

.prod-saldo-kpi-caixa-verde {
    background: #2e7d32;
    border-color: #1b5e20;
    color: #ffffff;
}

.prod-saldo-kpi-caixa-azul {
    background: #1565c0;
    border-color: #0d47a1;
    color: #ffffff;
}

.prod-saldo-kpi-caixa-cinza {
    background: #757575;
    border-color: #616161;
    color: #ffffff;
}

.prod-saldo-kpi-caixa-laranja {
    background: #ef6c00;
    border-color: #e65100;
    color: #ffffff;
}

/* Análise → Operação — faixa KPI horizontal (cards tamanho natural, sem esticar na linha) */
.analise-listar-ordem-kpi-faixa {
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
}

.analise-listar-ordem-kpi-faixa .analise-listar-ordem-kpi-titulo {
    font-size: 0.75rem;
    font-weight: 700;
    color: #424242;
    text-align: center;
    line-height: 1.25;
    margin-bottom: 0.15rem;
}

.analise-listar-ordem-kpi-faixa .prod-saldo-kpi-item {
    flex: 0 0 auto;
    width: auto;
    min-width: 6.5rem;
    max-width: none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

.analise-listar-ordem-kpi-faixa .prod-saldo-kpi-caixa {
    width: auto;
    min-width: 3.25rem;
    max-width: none;
    font-size: 1rem;
    line-height: 1.2;
    word-break: break-word;
    text-align: center;
}

.analise-listar-ordem-kpi-faixa .prod-saldo-kpi-item .analise-sep-metrica-texto {
    font-size: 0.8rem;
    text-transform: lowercase;
}

.oper-proc-pill-azul {
    display: inline-flex;
    padding: 0.12rem 0.55rem;
    border-radius: 999px;
    background: #e3f2fd;
    color: #1565c0;
    font-size: 0.75rem;
    font-weight: 600;
}

.oper-proc-pill-cinza,
.oper-proc-pill-amarelo,
.oper-proc-pill-vermelho,
.oper-proc-pill-verde {
    /* @deprecated — semáforo kanban: usar kanban-sem-badge-* (SSOT sólido). */
    display: inline-flex;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 600;
    margin-left: 0.25rem;
}

.oper-proc-pill-cinza {
    background: #eeeeee;
    color: #616161;
}

.oper-proc-pill-amarelo {
    background: #fff8e1;
    color: #f57f17;
}

.oper-proc-pill-vermelho {
    background: #ffebee;
    color: #c62828;
}

.oper-proc-pill-verde {
    background: #e8f5e9;
    color: #2e7d32;
}

/* Raia Confronto — 3 linhas verticais (NFe, badges, destinatário) */
.kanban-board .analise-sep-linha-emissao:has(> .oper-proc-confronto-card) {
    max-height: none;
    align-items: stretch;
}

.kanban-board .analise-sep-linha-emissao>.analise-sep-linha-conteudo.oper-proc-confronto-card {
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.4rem;
    max-height: none;
    padding: 0.55rem 0.65rem;
}

.oper-proc-confronto-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
    width: 100%;
}

.oper-proc-confronto-linha {
    display: block;
    width: 100%;
    min-width: 0;
}

.oper-proc-confronto-titulo {
    display: block;
    font-size: 0.95rem;
    font-weight: 700;
    color: #212121;
    line-height: 1.3;
    word-break: break-word;
}

.oper-proc-confronto-badges,
.kanban-sem-badge-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.oper-proc-confronto-subtexto {
    display: block;
    font-size: 0.82rem;
    font-weight: 400;
    color: #212121;
    line-height: 1.35;
    word-break: break-word;
}

.oper-proc-linha-produto {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 0.65rem 0;
    border-bottom: 1px solid #eeeeee;
}

.kanban-board .analise-sep-linha-emissao .oper-proc-apontamento-linha-principal {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
}

.kanban-board .analise-sep-linha-emissao .oper-proc-apontamento-linha-principal .oper-proc-linha-picking-produto {
    flex: 1 1 auto;
    min-width: 0;
    padding-right: 0.35rem;
    line-height: 1.35;
}

.oper-proc-bloco-ordem {
    display: block;
    width: 100%;
    margin-bottom: 0.65rem;
    padding: 0.65rem 0.75rem;
    border-radius: 6px;
    font-size: 1.05rem;
    font-weight: 700;
    color: #212121;
}

.oper-proc-bloco-ordem-amarelo {
    background: #fff59d;
}

.oper-proc-bloco-ordem-vermelho {
    background: #ef9a9a;
    color: #fff;
}

.oper-proc-bloco-ordem-verde {
    background: #a5d6a7;
}

.oper-proc-bloco-sub {
    font-size: 0.78rem;
    font-weight: 500;
    margin-top: 0.25rem;
    opacity: 0.9;
}

.oper-proc-alerta-linha {
    font-size: 0.75rem;
    margin-top: 0.25rem;
    padding-left: 0.25rem;
}

.oper-proc-alerta-vermelho {
    color: #c62828;
}

.oper-proc-alerta-amarelo {
    color: #f57f17;
}

.oper-proc-rota-lista {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    width: 100%;
    padding: 0.5rem 0;
}

.oper-proc-rota-historico-filtro-wrap {
    width: 100%;
    margin-bottom: 0;
    padding: 0.35rem 0.5rem;
    border-radius: 4px;
    background: #fafafa;
    border: 1px solid #eceff1;
    box-sizing: border-box;
}

.oper-proc-rota-historico-filtro-wrap .mt-row {
    margin-bottom: 0;
}

.oper-proc-rota-historico-filtro-wrap .toggle-box {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.oper-proc-rota-historico-filtro-wrap .toggle-box-elem {
    font-size: 0.78rem;
    font-weight: 600;
    padding: 0.2rem 0.55rem;
    min-width: auto;
}

.oper-proc-rota-historico-card-qtd-existente {
    min-width: auto;
    text-align: left;
    line-height: 1.35;
}

.oper-proc-rota-historico-card-qtd-existente p {
    margin: 0;
    font-weight: 700;
    line-height: 1.35;
    white-space: normal;
    word-break: break-word;
}

.oper-proc-rota-historico-card-qtd-square-wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    margin-bottom: 0.35rem;
    text-align: left;
}

.oper-proc-rota-historico-card-qtd-square-wrap .oper-proc-rota-historico-card-qtd-square {
    min-width: 1Em;
    text-align: left;
    font-weight: 700;
    line-height: 1.2;
}

.oper-proc-rota-historico-card-qtd-square-wrap .oper-proc-rota-historico-card-qtd-square p {
    margin: 0;
    font-weight: 700;
}

.oper-proc-rota-grupo {
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
    width: 100%;
}

.oper-proc-rota-grupo-titulo {
    text-align: right;
    font-size: 0.82rem;
    font-weight: 700;
    color: #616161;
    padding-right: 0.25rem;
}

.oper-proc-rota-linha {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid #eeeeee;
}

.oper-proc-rota-linha-topo {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.5rem 0.65rem;
    width: 100%;
    padding-left: 0.7rem;
    box-sizing: border-box;
}

.oper-proc-rota-linha-corpo {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    column-gap: 0.75rem;
    row-gap: 0.35rem;
    flex: 1 1 auto;
    min-width: 0;
}

.oper-proc-rota-linha-produto {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
    flex: 1 1 auto;
    min-width: 0;
    line-height: 1.35;
    word-break: break-word;
}

.oper-proc-rota-linha-codigo {
    font-size: 0.82rem;
    font-weight: 600;
    color: #424242;
}

.oper-proc-rota-linha-descricao {
    font-size: 0.8rem;
    color: #212121;
}

.oper-proc-rota-linha-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    flex: 0 1 auto;
    margin-left: auto;
    padding-left: 0.25rem;
}

.oper-proc-rota-posicoes {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.5rem 0.65rem;
    width: 100%;
    padding-left: 2.5rem;
}

.oper-proc-rota-sem-posicao {
    width: 100%;
    max-width: 28rem;
    padding: 0.35rem 0 0.35rem calc(0.7rem + 1.85rem + 0.75rem);
    box-sizing: border-box;
}

.oper-proc-rota-sem-posicao .kanban-item-alerta-linha {
    font-size: 0.82rem;
    font-weight: 600;
}

.oper-proc-rota-card {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    min-width: 9rem;
    max-width: 13rem;
    padding: 0.55rem 0.7rem;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    background: #ffffff;
    font-size: 0.72rem;
    line-height: 1.25;
    box-sizing: border-box;
}

.oper-proc-rota-card-endereco-linha {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.oper-proc-rota-card-endereco {
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.25;
    min-width: 0;
    flex: 1 1 auto;
}

.oper-proc-rota-card-deposito-linha {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0.25rem;
    margin-top: 0.1rem;
    min-width: 0;
}

.oper-proc-rota-card-deposito-rotulo {
    font-size: 0.68rem;
    font-weight: 600;
    color: #616161;
    flex: 0 0 auto;
}

.oper-proc-rota-card-deposito-valor {
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.2;
    min-width: 0;
    flex: 1 1 auto;
}

.oper-proc-rota-card-primario {
    border-width: 2px;
    border-color: #1976d2;
    background: #ffffff;
}

.oper-proc-rota-card-alerta {
    background: #ffcdd2;
    border-color: #ef9a9a;
}

.oper-proc-rota-card-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.2rem;
    margin-top: 0.15rem;
}

.oper-proc-rota-alerta-msg {
    width: 100%;
    max-width: 13rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: #f57f17;
    text-align: center;
    line-height: 1.2;
    padding-top: 0.15rem;
}

.oper-proc-rota-enderecamento-fieldset {
    width: 100%;
    margin: 0;
    padding: 0.45rem 0.65rem 0.55rem;
    box-sizing: border-box;
}

.oper-proc-rota-enderecamento-fieldset>legend {
    font-size: 0.82rem;
    font-weight: 700;
    color: #616161;
    padding: 0 0.35rem;
}

.oper-proc-rota-enderecamento-conteudo {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
}

.oper-proc-rota-historico-wrap {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
}

.oper-proc-rota-historico-cabecalho {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: 100%;
    padding: 0.35rem 0 0.5rem;
    box-sizing: border-box;
}

.oper-proc-rota-historico-titulo {
    line-height: 1.25;
}

.oper-proc-rota-historico-titulo-texto {
    font-size: 1rem;
    font-weight: 700;
    color: #37474f;
}

.oper-proc-rota-historico-raias-wrap {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.oper-proc-rota-historico-raias-cabecalho,
.oper-proc-rota-historico-linha,
.oper-proc-rota-historico-linha-total,
.oper-proc-rota-historico-grid-raias {
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) minmax(10rem, 1.4fr) minmax(7rem, 1fr);
    gap: 0.45rem;
    width: 100%;
    align-items: stretch;
}

.oper-proc-rota-historico-grid-raias-com-toggle,
.oper-proc-rota-historico-raias-cabecalho.oper-proc-rota-historico-grid-raias-com-toggle,
.oper-proc-rota-historico-detalhe-summary.oper-proc-rota-historico-linha-total.oper-proc-rota-historico-grid-raias-com-toggle {
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) minmax(10rem, 1.4fr) minmax(7rem, 1fr) 1.75rem;
    gap: 0.45rem;
    width: 100%;
    align-items: center;
}

.oper-proc-rota-historico-raia-col-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 1.75rem;
    min-width: 1.75rem;
    padding: 0;
    box-sizing: border-box;
}

.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-toggle {
    justify-content: center;
    align-items: center;
    align-self: center;
}

.oper-proc-rota-historico-grid-raias-duas,
.oper-proc-rota-historico-raias-cabecalho-bloco .oper-proc-rota-historico-linha-total,
.oper-proc-rota-historico-raias-cabecalho-bloco .oper-proc-rota-historico-raias-cabecalho,
.oper-proc-rota-historico-registro-data-bloco .oper-proc-rota-historico-linha {
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) minmax(7rem, 1fr);
    gap: 0.45rem;
    width: 100%;
    align-items: stretch;
}

.oper-proc-mov-prod-raias-wrap .oper-proc-rota-historico-registro-data-bloco .oper-proc-rota-historico-linha {
    align-items: start;
}

.oper-proc-rota-historico-raias-cabecalho-bloco {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
}

.oper-proc-rota-historico-raias-cabecalho-bloco .oper-proc-rota-historico-linha-total {
    align-items: center;
}

.oper-proc-rota-historico-registro-data-bloco {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    width: 100%;
}

.oper-proc-rota-historico-registro-data-bloco+.oper-proc-rota-historico-registro-data-bloco {
    padding-top: 0.4rem;
    border-top: 1px dashed #cfd8dc;
}

.oper-proc-rota-historico-separador-data-linha {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 0.15rem 0 0.05rem;
}

.oper-proc-rota-historico-separador-data-linha .oper-proc-rota-historico-separador-data-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

/* Movimentação produto — raias 2 colunas, cartões neutros e destaque por tipo */
.oper-proc-mov-prod-raias-wrap .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-entrada,
.oper-proc-mov-prod-raias-wrap .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-saida {
    justify-content: flex-start;
    align-items: flex-start;
}

.oper-proc-mov-prod-raias-wrap .oper-proc-rota-historico-raia-col-entrada,
.oper-proc-mov-prod-raias-wrap .oper-proc-rota-historico-raia-col-saida {
    align-items: stretch;
}

.oper-proc-mov-prod-raias-wrap .oper-proc-rota-historico-cartoes-stack {
    align-items: stretch;
    justify-content: flex-start;
}

.oper-proc-mov-prod-card,
.oper-proc-mov-prod-card-destaque {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    align-content: flex-start;
    gap: 0.35rem 0.5rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0.45rem 0.5rem;
    border-radius: 6px;
    font-size: 0.7rem;
    line-height: 1.25;
    box-sizing: border-box;
}

.oper-proc-mov-prod-card {
    border: 1px solid #cfd8dc;
    background: #eceff1;
    color: #37474f;
}

.oper-proc-mov-prod-card-destaque {
    border: 1px solid #ffb300;
    background: #fff8e1;
    color: #37474f;
}

.oper-proc-mov-prod-card .oper-proc-rota-historico-card-qtd-square-wrap,
.oper-proc-mov-prod-card-destaque .oper-proc-rota-historico-card-qtd-square-wrap {
    width: auto;
    margin-bottom: 0;
    flex: 0 0 auto;
}

.oper-proc-mov-prod-card-qtd-neutra .oper-proc-rota-historico-card-qtd-square {
    border: 1px solid #cfd8dc;
    box-sizing: border-box;
}

.oper-proc-mov-prod-raias-wrap .oper-proc-rota-historico-card-movimento-coluna {
    align-items: stretch;
}

.oper-proc-rota-historico-linha-total {
    align-items: center;
}

.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-entrada,
.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-saida,
.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-central {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-self: center;
}

.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-entrada {
    align-items: flex-end;
}

.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-saida {
    align-items: flex-start;
}

.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-central {
    align-items: center;
}

.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-entrada .oper-proc-rota-historico-total-pill {
    margin-left: auto;
    margin-right: 0;
}

.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-saida .oper-proc-rota-historico-total-pill {
    margin-left: 0;
    margin-right: auto;
}

.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-central .oper-proc-rota-historico-total-pill,
.oper-proc-rota-historico-linha-total .oper-proc-rota-historico-total-pill {
    margin-left: auto;
    margin-right: auto;
}

.oper-proc-rota-historico-raia-col {
    min-width: 0;
}

.oper-proc-rota-historico-raia-titulo {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    width: 100%;
    padding: 0.45rem 0.5rem;
    font-size: 0.72rem;
    font-weight: 700;
    text-align: center;
    color: #37474f;
    border-radius: 4px;
    background: #eceff1;
    box-sizing: border-box;
}

.oper-proc-rota-historico-raia-titulo-texto {
    line-height: 1.25;
}

.oper-proc-rota-historico-raia-titulo-icone-wrap {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.oper-proc-rota-historico-raia-titulo-icone-wrap .oper-proc-rota-historico-raia-titulo-icone svg {
    display: block;
    width: 1rem;
    height: 1rem;
    fill: currentColor;
}

.oper-proc-rota-historico-raia-col-central .oper-proc-rota-historico-raia-titulo {
    background: #e3f2fd;
    color: #1565c0;
}

.oper-proc-rota-historico-raias-corpo {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    width: 100%;
}

.oper-proc-rota-historico-bloco-posicao {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    width: 100%;
}

.oper-proc-rota-historico-raia-col-entrada,
.oper-proc-rota-historico-raia-col-saida {
    display: flex;
    flex-direction: column;
}

.oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-entrada {
    justify-content: flex-start;
    align-items: flex-end;
}

.oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-saida {
    justify-content: flex-start;
    align-items: flex-start;
}

.oper-proc-rota-historico-raia-col-entrada .oper-proc-rota-historico-cartoes-stack {
    width: 100%;
    max-width: 100%;
    align-items: flex-end;
}

.oper-proc-rota-historico-raia-col-saida .oper-proc-rota-historico-cartoes-stack {
    width: 100%;
    max-width: 100%;
    align-items: flex-start;
}

.oper-proc-rota-historico-card-movimento-coluna {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-items: stretch;
}

.oper-proc-rota-historico-raia-col-entrada .oper-proc-rota-historico-card-movimento-coluna {
    align-items: flex-end;
}

.oper-proc-rota-historico-raia-col-saida .oper-proc-rota-historico-card-movimento-coluna {
    align-items: flex-start;
}

.oper-proc-rota-historico-raia-col-entrada .oper-proc-rota-historico-card-entrada,
.oper-proc-rota-historico-raia-col-saida .oper-proc-rota-historico-card-saida {
    width: auto;
    max-width: 100%;
    min-width: 0;
}

.oper-proc-rota-historico-total-pill {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 0.25rem 0.35rem;
    width: fit-content;
    max-width: 100%;
    padding: 0.35rem 0.55rem;
    border-radius: 4px;
    line-height: 1.2;
    text-align: center;
    white-space: nowrap;
    box-sizing: border-box;
    overflow-x: auto;
}

.oper-proc-rota-historico-total-pill-rotulo {
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.25;
    flex: 0 0 auto;
}

.oper-proc-rota-historico-total-pill-valor {
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.15;
    flex: 0 0 auto;
}

.oper-proc-rota-historico-total-pill-entrada {
    border: 1px solid #a5d6a7;
    background: #f1f8e9;
    color: #33691e;
}

.oper-proc-rota-historico-total-pill-saida {
    border: 1px solid #ffcc80;
    background: #fff8e1;
    color: #e65100;
}

.oper-proc-rota-historico-detalhe-colapsavel {
    width: 100%;
    margin-top: 0;
}

.oper-proc-rota-historico-detalhe-colapsavel .oper-proc-rota-historico-linha {
    margin-top: 0.25rem;
}

.oper-proc-rota-historico-detalhe-colapsavel .oper-proc-rota-historico-registros-corpo {
    margin-top: 0.35rem;
}

.oper-proc-rota-historico-registros-corpo {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    width: 100%;
}

.oper-proc-rota-historico-registro-data-linha {
    align-items: flex-start;
}

.oper-proc-rota-historico-registro-data-linha+.oper-proc-rota-historico-registro-data-linha {
    padding-top: 0.4rem;
    border-top: 1px dashed #cfd8dc;
}

.oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-central .oper-proc-rota-historico-separador-data-wrap {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}

.oper-proc-rota-historico-separador-data {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.2rem 0.65rem;
    font-size: 0.68rem;
    font-weight: 700;
    color: #546e7a;
    background: #eceff1;
    border: 1px solid #cfd8dc;
    border-radius: 999px;
    white-space: nowrap;
    line-height: 1.25;
    box-sizing: border-box;
}

.oper-proc-rota-historico-detalhe-summary.oper-proc-rota-historico-linha-total {
    cursor: pointer;
    list-style: none;
    padding: 0;
    min-height: unset;
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
    border: none;
    background: transparent;
    box-sizing: border-box;
    user-select: none;
}

.oper-proc-rota-historico-detalhe-summary {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.5rem 0.65rem;
    min-height: 2rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: #455a64;
    cursor: pointer;
    list-style: none;
    border: none;
    background: transparent;
    box-sizing: border-box;
    user-select: none;
}

.oper-proc-rota-historico-detalhe-summary-conteudo {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    width: auto;
    min-height: 2rem;
}

.oper-proc-rota-historico-detalhe-summary-texto {
    flex: 0 1 auto;
    text-align: center;
    line-height: 1.35;
}

.oper-proc-rota-historico-detalhe-seta-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 1.15rem;
    height: 1.15rem;
    background: transparent;
    overflow: hidden;
}

.oper-proc-rota-historico-detalhe-seta-wrap .estrutura_elemento_flutuante.oper-proc-rota-historico-detalhe-seta-icone {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    line-height: 0;
    transition: transform 0.15s ease;
}

.oper-proc-rota-historico-detalhe-seta-wrap .estrutura_elemento_flutuante.oper-proc-rota-historico-detalhe-seta-icone>.display {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    min-width: 0;
    min-height: 0;
}

.oper-proc-rota-historico-detalhe-seta-wrap .oper-proc-rota-historico-detalhe-seta svg {
    display: block;
    width: 0.95rem;
    height: 0.95rem;
}

.oper-proc-rota-historico-detalhe-summary::-webkit-details-marker,
.oper-proc-rota-historico-detalhe-summary.oper-proc-rota-historico-linha-total::-webkit-details-marker {
    display: none;
}

.oper-proc-rota-historico-detalhe-colapsavel[open] .oper-proc-rota-historico-detalhe-summary.oper-proc-rota-historico-linha-total {
    color: inherit;
    background: transparent;
}

.oper-proc-rota-historico-detalhe-colapsavel[open] .oper-proc-rota-historico-detalhe-seta-wrap {
    background: transparent;
}

.oper-proc-rota-historico-detalhe-colapsavel[open] .oper-proc-rota-historico-detalhe-seta-wrap .oper-proc-rota-historico-detalhe-seta-icone {
    transform: rotate(180deg);
}

.oper-proc-rota-historico-linha-celula {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.oper-proc-rota-historico-cartoes-stack {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    width: 100%;
}

.oper-proc-rota-historico-posicoes {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0.5rem 0.65rem;
    width: 100%;
}

.oper-proc-rota-historico-card {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    width: 100%;
    min-width: 9.5rem;
    max-width: 13rem;
    padding: 0.5rem 0.6rem;
    border: 1px solid #cfd8dc;
    border-radius: 6px;
    background: #fafafa;
    font-size: 0.72rem;
    line-height: 1.3;
    box-sizing: border-box;
}

.oper-proc-rota-historico-card-central {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    min-width: 10rem;
    max-width: 100%;
    padding: 0.55rem 0.65rem;
    border-radius: 6px;
    font-size: 0.74rem;
    line-height: 1.3;
    box-sizing: border-box;
}

.oper-proc-rota-historico-card-central-com-saldo {
    border: 1px solid #cfd8dc;
    background: #eceff1;
    color: #37474f;
}

.oper-proc-rota-historico-card-central-com-saldo .oper-proc-rota-historico-card-endereco-fixa {
    color: #37474f;
}

.oper-proc-rota-historico-card-central-sem-saldo {
    border: 2px solid #ef5350;
    background: #ffebee;
    color: #c62828;
}

.oper-proc-rota-historico-card-central-sem-saldo .oper-proc-rota-historico-card-endereco-fixa {
    color: #c62828;
}

.oper-proc-rota-historico-card-central-sem-saldo .oper-proc-rota-historico-card-movimentador,
.oper-proc-rota-historico-card-central-sem-saldo .oper-proc-rota-historico-card-deposito,
.oper-proc-rota-historico-card-central-sem-saldo .oper-proc-rota-historico-card-lote {
    color: #c62828;
}

.oper-proc-rota-historico-card-entrada {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0.45rem 0.5rem;
    border: 1px solid #cfd8dc;
    border-radius: 6px;
    background: #fafafa;
    color: #616161;
    font-size: 0.7rem;
    line-height: 1.25;
    box-sizing: border-box;
}

.oper-proc-rota-historico-card-saida {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding: 0.45rem 0.5rem;
    border: 1px solid #cfd8dc;
    border-radius: 6px;
    background: #fafafa;
    color: #616161;
    font-size: 0.7rem;
    line-height: 1.25;
    box-sizing: border-box;
}

.oper-proc-rota-historico-card-linha {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem 0.5rem;
    width: 100%;
    min-width: 0;
    overflow-x: auto;
}

.oper-proc-rota-historico-card-linha>* {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
}

.oper-proc-rota-historico-card-linha .oper-proc-rota-historico-card-qtd-square-wrap {
    width: auto;
    margin-bottom: 0;
}

.oper-proc-rota-historico-card-linha .kanban-item-alerta-linha,
.oper-proc-rota-historico-card-linha .oper-proc-rota-historico-card-alerta-ajuste {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.35rem;
    width: auto;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-linha .kanban-item-alerta-linha .display {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.oper-proc-rota-historico-card-entrada.oper-proc-rota-historico-card-ajuste-forcado,
.oper-proc-rota-historico-card-saida.oper-proc-rota-historico-card-ajuste-forcado {
    border: 1px solid #ef5350;
    background: #ffebee;
    color: #c62828;
}

.oper-proc-rota-historico-card-entrada .oper-proc-rota-historico-card-qtd-square-wrap,
.oper-proc-rota-historico-card-saida .oper-proc-rota-historico-card-qtd-square-wrap {
    width: auto;
    margin-bottom: 0;
    flex: 0 0 auto;
}

.oper-proc-rota-historico-card-movimento-info {
    display: inline-flex;
    align-items: center;
    width: auto;
    max-width: none;
    min-width: 0;
    margin-top: 0;
    flex: 0 0 auto;
    white-space: nowrap;
    line-height: 1.3;
}

.oper-proc-rota-historico-card-categoria-saida {
    font-size: 0.7rem;
    font-weight: 700;
    color: #616161;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-info-categoria-saida {
    font-size: 0.68rem;
    font-weight: 600;
    color: #757575;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-entrada.oper-proc-rota-historico-card-ajuste-forcado .oper-proc-rota-historico-card-categoria-saida,
.oper-proc-rota-historico-card-saida.oper-proc-rota-historico-card-ajuste-forcado .oper-proc-rota-historico-card-categoria-saida,
.oper-proc-rota-historico-card-entrada.oper-proc-rota-historico-card-ajuste-forcado .oper-proc-rota-historico-card-info-categoria-saida,
.oper-proc-rota-historico-card-saida.oper-proc-rota-historico-card-ajuste-forcado .oper-proc-rota-historico-card-info-categoria-saida,
.oper-proc-rota-historico-card-entrada.oper-proc-rota-historico-card-ajuste-forcado .oper-proc-rota-historico-card-data,
.oper-proc-rota-historico-card-saida.oper-proc-rota-historico-card-ajuste-forcado .oper-proc-rota-historico-card-data,
.oper-proc-rota-historico-card-entrada.oper-proc-rota-historico-card-ajuste-forcado .oper-proc-rota-historico-card-operador,
.oper-proc-rota-historico-card-saida.oper-proc-rota-historico-card-ajuste-forcado .oper-proc-rota-historico-card-operador {
    color: #c62828;
}

.oper-proc-rota-historico-card-central .oper-proc-rota-historico-card-endereco-fixa,
.oper-proc-rota-historico-card-central .oper-proc-rota-historico-card-movimentador,
.oper-proc-rota-historico-card-central .oper-proc-rota-historico-card-deposito,
.oper-proc-rota-historico-card-central .oper-proc-rota-historico-card-lote,
.oper-proc-rota-historico-card-central .oper-proc-rota-historico-card-quantidade,
.oper-proc-rota-historico-card-central .oper-proc-rota-historico-card-qtd-square-wrap,
.oper-proc-rota-historico-card-central .kanban-item-alerta-linha {
    width: auto;
    flex: 0 0 auto;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-endereco-fixa {
    width: auto;
    flex: 0 0 auto;
    font-size: 0.78rem;
    font-weight: 700;
    color: #1565c0;
    white-space: nowrap;
    line-height: 1.35;
}

.oper-proc-rota-historico-card-movimentador {
    width: auto;
    flex: 0 0 auto;
    font-size: 0.7rem;
    font-weight: 600;
    color: #616161;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-alerta,
.oper-proc-rota-historico-card-entrada .kanban-item-alerta-linha,
.oper-proc-rota-historico-card-saida .kanban-item-alerta-linha,
.oper-proc-rota-historico-card-central .kanban-item-alerta-linha {
    flex: 0 0 auto;
    width: auto;
}

.oper-proc-rota-historico-card-alerta-ajuste .kanban-item-alerta-linha {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.35;
}

.oper-proc-rota-historico-card-alerta-ajuste .kanban-item-alerta-linha .display {
    display: inline-flex;
    align-items: center;
    align-self: center;
    flex-shrink: 0;
}

.oper-proc-rota-historico-card-alerta .kanban-item-alerta-linha {
    font-size: 0.72rem;
    font-weight: 600;
}

.oper-proc-rota-historico-card-deposito {
    width: auto;
    flex: 0 0 auto;
    font-size: 0.7rem;
    font-weight: 600;
    color: #616161;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-lote {
    width: auto;
    flex: 0 0 auto;
    font-size: 0.7rem;
    font-weight: 600;
    color: #616161;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-quantidade {
    width: auto;
    flex: 0 0 auto;
    text-align: left;
    font-size: 0.72rem;
    font-weight: 700;
    color: #37474f;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-data {
    font-size: 0.68rem;
    font-weight: 600;
    color: #757575;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-operador {
    font-size: 0.68rem;
    font-weight: 600;
    color: #546e7a;
    white-space: nowrap;
}

.oper-proc-rota-historico-card-transicao {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    width: 100%;
    min-width: 9.5rem;
    max-width: 13rem;
    padding: 0.5rem 0.6rem;
    border: 2px solid #f9a825;
    border-radius: 6px;
    background: #fff8e1;
    font-size: 0.72rem;
    line-height: 1.3;
    box-sizing: border-box;
}

.oper-proc-rota-historico-card-transicao-titulo {
    width: 100%;
    font-size: 0.76rem;
    font-weight: 700;
    color: #e65100;
    word-break: break-word;
}

.oper-proc-rota-historico-card-transicao-info {
    width: 100%;
    font-size: 0.68rem;
    font-weight: 600;
    color: #6d4c41;
    word-break: break-word;
}

/* Cabeçalho produto — tipo (SSOT) */
#cabecalho .cabecalho-produto-tipo-wrap {
    align-items: flex-start;
    max-width: 12rem;
}

#cabecalho .cabecalho-produto-tipo-badge {
    max-width: 100%;
}

#cabecalho .cabecalho-produto-tipo-badge>div {
    max-width: 100%;
    line-height: 1.2;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

#cabecalho .cabecalho-produto-tipo-badge p {
    margin: 0 !important;
    white-space: normal;
    word-break: break-word;
    text-align: center;
    font-size: 0.7em !important;
    letter-spacing: 0.02em;
}

/* Produto — posições por produto (3 raias kanban) */
.prod-pos-raias-wrap .oper-proc-rota-historico-raias-cabecalho-bloco .oper-proc-rota-historico-linha-total,
.prod-pos-raias-wrap .oper-proc-rota-historico-raias-cabecalho-bloco .oper-proc-rota-historico-raias-cabecalho,
.prod-pos-raias-wrap .prod-pos-raias-linha-cartoes {
    display: grid;
    grid-template-columns: minmax(7rem, 1fr) minmax(10rem, 1.4fr) minmax(7rem, 1fr);
    gap: 0.45rem;
    width: 100%;
    align-items: stretch;
}

.prod-pos-raias-wrap .oper-proc-rota-historico-raias-cabecalho-bloco .oper-proc-rota-historico-linha-total {
    align-items: center;
}

.prod-pos-raias-wrap .prod-pos-raias-linha-cartoes {
    align-items: flex-start;
}

.prod-pos-raias-wrap .prod-pos-raias-coluna-cartoes {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    align-self: stretch;
    min-width: 0;
    width: 100%;
}

.prod-pos-raias-wrap .oper-proc-rota-historico-linha-celula.prod-pos-raias-coluna-cartoes {
    justify-content: flex-start;
    align-items: stretch;
}

.prod-pos-raias-wrap .oper-proc-rota-historico-cartoes-stack {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.35rem;
    width: 100%;
    min-width: 0;
}

.prod-pos-raias-wrap .oper-proc-rota-historico-card-movimento-coluna {
    align-items: stretch;
    width: 100%;
    min-width: 0;
}

.prod-pos-card-kanban {
    display: flex;
    flex-direction: column;
    gap: 0.28rem;
    width: 100%;
    min-width: 0;
    padding: 0.45rem 0.55rem;
    border-radius: 6px;
    border: 1px solid #cfd8dc;
    font-size: 0.72rem;
    line-height: 1.25;
    box-sizing: border-box;
}

.prod-pos-card-status-neutro {
    background: #ffffff;
    color: #37474f;
    border-color: #cfd8dc;
}

.prod-pos-card-status-vermelho {
    background: #ffcdd2;
    color: #b71c1c;
    border-color: #c62828;
}

.prod-pos-card-status-amarelo {
    background: #ffe082;
    color: #212121;
    border-color: #f9a825;
}

.prod-pos-card-linha {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.25rem 0.4rem;
    width: 100%;
    min-width: 0;
}

.prod-pos-card-linha-topo {
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.35rem;
}

.prod-pos-card-endereco {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    flex: 1 1 0;
    min-width: 0;
}

.prod-pos-card-subtitulo {
    font-size: 0.68rem;
    opacity: 0.85;
}

.prod-pos-card-qtd {
    flex: 0 0 auto;
    align-self: flex-start;
}

.prod-pos-card-campo {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.2rem;
    min-width: 0;
}

.prod-pos-card-campo-rotulo {
    font-size: 0.66rem;
    font-weight: 600;
    opacity: 0.8;
    white-space: nowrap;
}

.prod-pos-card-campo-rotulo::after {
    content: ':';
}

.prod-pos-card-campo-valor {
    font-size: 0.72rem;
    font-weight: 600;
    min-width: 0;
    word-break: break-word;
}

.prod-pos-card-separador {
    font-size: 0.68rem;
    opacity: 0.45;
    padding: 0 0.05rem;
    user-select: none;
}

.prod-pos-card-endereco-principal {
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1.25;
}

.prod-pos-card-endereco>div>span.font_bold,
.prod-pos-card-endereco>div>span.font-bold {
    font-size: 1.22rem !important;
    font-weight: 700;
}

.prod-pos-card-tipo-valor {
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.2;
}

.prod-pos-card-qtd-display {
    min-width: 1.65rem;
    min-height: 1.35rem;
    padding: 0.12rem 0.28rem !important;
    font-size: 0.68rem !important;
    line-height: 1;
}

.prod-pos-card-icone-ocupacao svg {
    width: 0.72rem;
    height: 0.72rem;
}

.prod-pos-raias-wrap .prod-pos-card-ocupacao-destaque.kanban-sem-qtd {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.22rem;
    min-width: 0;
    min-height: 0;
    padding: 0.14rem 0.38rem;
    font-size: 0.68rem;
    line-height: 1.2;
    flex-shrink: 1;
}

.prod-pos-raias-wrap .prod-pos-card-ocupacao-destaque .prod-pos-card-campo-valor {
    font-size: 0.68rem;
    opacity: 1;
}

.prod-pos-separador-tipo-linha {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    width: 100%;
    padding: 0.35rem 0 0.15rem;
    box-sizing: border-box;
}

.prod-pos-separador-tipo-linha::before,
.prod-pos-separador-tipo-linha::after {
    content: '';
    flex: 1 1 0;
    height: 1px;
    background: #e0e0e0;
}

.prod-pos-separador-tipo {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    flex: 0 1 auto;
    padding: 0;
    font-size: 0.68rem;
    font-weight: 600;
    color: #78909c;
    background: transparent;
    border: none;
    border-radius: 0;
    line-height: 1.2;
    box-sizing: border-box;
    white-space: nowrap;
}

.prod-pos-separador-tipo-texto {
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.2;
}

.prod-pos-raias-wrap .oper-proc-rota-historico-raia-titulo {
    font-size: 0.92rem;
    padding: 0.55rem 0.6rem;
}

.prod-pos-raias-wrap .oper-proc-rota-historico-raia-titulo-texto {
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.3;
}

.prod-pos-raias-wrap .oper-proc-rota-historico-raia-titulo-icone-wrap .oper-proc-rota-historico-raia-titulo-icone svg {
    width: 1.15rem;
    height: 1.15rem;
}

.prod-pos-total-pill-central {
    border: 1px solid #90caf9;
    background: #e3f2fd;
    color: #1565c0;
}

.prod-pos-raias-wrap .prod-pos-raia-carregar-mais {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin-top: 0.5rem;
    padding: 0.35rem 0.25rem 0.5rem;
    width: 100%;
}

.prod-pos-raias-wrap .prod-pos-raia-carregar-mais-contador {
    font-size: 0.78rem;
    color: #616161;
    line-height: 1.2;
}

.prod-pos-raias-wrap .prod-pos-raia-carregar-mais .button {
    font-size: 0.82rem;
    min-height: 2rem;
    padding: 0.25rem 0.75rem;
}

/* Paginação — total sob demanda (balão ancorado ao chip N+) */
ul.pagination.paginacao {
    overflow: visible;
}

.paginacao>li.item_paginacao.size_page {
    overflow: visible;
}

.paginacao .paginacao-total-chip-wrap {
    position: relative;
    display: inline-block;
}

.paginacao .paginacao-total-chip {
    cursor: pointer;
}

.paginacao .paginacao-count-popover {
    display: none;
    position: absolute;
    left: calc(100% + 10px);
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    z-index: 1100;
    padding: 0.45rem 0.7rem;
    max-width: 16rem;
    white-space: nowrap;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18);
    font-size: 0.82rem;
    line-height: 1.35;
    color: #333333;
    pointer-events: none;
}

.paginacao .paginacao-count-popover.is-visible {
    display: block;
}

.paginacao .paginacao-count-popover::after {
    content: '';
    position: absolute;
    right: 100%;
    top: 50%;
    left: auto;
    transform: translateY(-50%);
    border: 7px solid transparent;
    border-right-color: #ffffff;
}

.paginacao .paginacao-count-popover::before {
    content: '';
    position: absolute;
    right: calc(100% + 1px);
    top: 50%;
    left: auto;
    transform: translateY(-50%);
    border: 8px solid transparent;
    border-right-color: #e0e0e0;
}

.paginacao .item_paginacao.size_page {
    position: relative;
}

/* Crossdocking — timeline endereçamento (entrada/saída por data, cards padronizados) */
.end-cross-timeline-wrap {
    width: 100%;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-registro-data-bloco+.oper-proc-rota-historico-registro-data-bloco {
    padding-top: 0.65rem;
    margin-top: 0.35rem;
    border-top: none;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-separador-data-linha {
    position: relative;
    padding: 0.85rem 0 0.55rem;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-separador-data-linha::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 1px solid #cfd8dc;
    z-index: 0;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-separador-data-wrap {
    position: relative;
    z-index: 1;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-separador-data {
    background: #ffffff;
}

.end-cross-timeline-cabecalho {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
    width: 100%;
    padding: 0.1rem 0 0.4rem;
}

.end-cross-timeline-cabecalho-col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
}

.end-cross-timeline-cabecalho-col-saida {
    align-items: flex-end;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-registro-data-bloco .oper-proc-rota-historico-linha {
    align-items: flex-start;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-entrada {
    align-items: flex-start;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-linha-celula.oper-proc-rota-historico-raia-col-saida {
    align-items: flex-end;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-raia-col-entrada .oper-proc-rota-historico-cartoes-stack {
    align-items: flex-start;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-raia-col-saida .oper-proc-rota-historico-cartoes-stack {
    align-items: flex-end;
}

.end-cross-timeline-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0.35rem;
    width: 100%;
    min-width: 0;
    min-height: 5.25rem;
    max-width: 100%;
    padding: 0.65rem 0.75rem;
    border-radius: 4px;
    border: 1px solid #212121;
    font-size: 1.1rem;
    line-height: 1.35;
    box-sizing: border-box;
    color: #212121;
    overflow: hidden;
}

.end-cross-timeline-card-body {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    min-width: 0;
}

.end-cross-timeline-card-conteudo {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    min-width: 0;
    flex: 1;
}

.end-cross-timeline-card-embarques {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.35rem 0.45rem;
    border-radius: 4px;
    background: #e5e5e5;
    border: 1px solid #212121;
    color: #212121;
    flex-shrink: 0;
    max-width: 48%;
    box-sizing: border-box;
}

.end-cross-timeline-card p,
.end-cross-timeline-card span {
    color: inherit;
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.end-cross-timeline-card-armazenado,
.end-cross-timeline-card-saida {
    background: #e5e5e5;
    color: #212121;
    border-color: #212121;
}

.end-cross-timeline-card-saida-parcial {
    background: #ffc100;
    color: #181e28;
    border-color: #212121;
}

.end-cross-timeline-card-saida-total {
    background: #7ed957;
    color: #212121;
    border-color: #212121;
}

.end-cross-timeline-vazio {
    min-width: 0;
    width: 100%;
    text-align: center;
    color: #78909c;
}

.end-cross-timeline-wrap .oper-proc-rota-historico-raia-col-saida .end-cross-timeline-vazio {
    text-align: center;
}

/* Histórico movimentação — listagem: faixas alinhadas origem | centro | destino */
.hist-mov-list-fluxo {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    grid-template-rows: auto auto auto auto;
    column-gap: 1.15rem;
    row-gap: 0.08rem;
    width: 100%;
    max-width: 34rem;
    margin-inline: auto;
    align-items: center;
}

.hist-mov-list-col-centro {
    grid-column: 2;
    grid-row: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.25rem;
    flex-shrink: 0;
    padding: 0 0.9rem;
    align-self: center;
}

.hist-mov-list-faixa {
    min-width: 0;
    max-width: 100%;
    display: flex;
    align-items: center;
}

.hist-mov-list-col-origem.hist-mov-list-faixa {
    grid-column: 1;
    justify-content: flex-end;
    text-align: right;
}

.hist-mov-list-col-destino.hist-mov-list-faixa {
    grid-column: 3;
    justify-content: flex-start;
    text-align: left;
}

.hist-mov-list-faixa-codigo {
    grid-row: 1;
    align-items: flex-start;
    align-self: start;
}

.hist-mov-list-faixa-endereco {
    grid-row: 2;
}

.hist-mov-list-faixa-ocupacao {
    grid-row: 3;
}

.hist-mov-list-faixa-info {
    grid-row: 4;
}

.hist-mov-list-seta div.display svg {
    width: 2.1rem;
    height: 2.1rem;
}

/* Dispositivo TV — modal pareamento */
.form-pareamento-dispositivo-tv .field_body {
    margin-left: auto;
    margin-right: auto;
    max-width: 22rem;
    width: 100%;
}

.form-pareamento-dispositivo-tv .field_body.font_size_2_5em .input-field input {
    text-align: center;
    letter-spacing: 0.06em;
}

.form-pareamento-dispositivo-tv .field_body.font_size_1_2em .input-field input {
    text-align: center;
}

.form-pareamento-dispositivo-tv .cabecalho-pareamento-tv {
    margin-left: auto;
    margin-right: auto;
    max-width: 28rem;
    width: 100%;
}