.central-chat-mencao-badge {
        position: absolute;
        top: -0.48rem;
        left: -0.4rem;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 15px;
        height: 15px;
        border-radius: 50%;
        background: #fff0cc;
        color: #795300;
        font-size: 10px;
        font-weight: 700;
    }

    .central-chat-mencao {
        border-radius: 4px;
        padding: 0 2px;
        color: var(--oe-acao);
        background: color-mix(in srgb, var(--oe-acao) 10%, transparent);
        font-weight: 600;
    }

    .central-chat-mencao.propria {
        box-shadow: inset 0 -2px var(--oe-acao);
    }

    .central-chat-mencoes {
        grid-column: 1 / -1;
        max-height: 11rem;
        overflow-y: auto;
        border: 1px solid var(--oe-linha);
        border-radius: 10px;
        background: var(--oe-papel);
    }

    .central-chat-mencoes[hidden] {
        display: none;
    }

    .central-chat-mencoes button {
        display: block;
        width: 100%;
        padding: 0.55rem 0.8rem;
        border: 0;
        background: transparent;
        color: var(--oe-tinta);
        text-align: left;
    }

    .central-chat-mencoes button:hover,
    .central-chat-mencoes button[aria-selected="true"] {
        background: var(--oe-suave);
        color: var(--oe-acao);
    }

    .central-chat-mencoes p {
        margin: 0;
        padding: 0.65rem 0.8rem;
        color: var(--oe-grafite);
        font-size: 0.85rem;
    }

    .central-grid-atualizacao {
        align-self: center;
        color: var(--oe-grafite);
        font-size: 0.78rem;
    }

    /* Controles da grade no mesmo sistema visual dos formulários, sem afetar
       os cabeçalhos das outras telas nem o comportamento dos filtros. */
    .central-grid-toolbar {
        justify-content: flex-start;
        gap: 0.65rem;
        padding: 1rem 1.25rem;
        border-bottom-color: var(--oe-linha);
        border-radius: 10px 10px 0 0;
        background: var(--oe-papel);
    }

    .central-grid-botao {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        min-height: 2.625rem;
        padding: 0.55rem 0.85rem;
        border: 1px solid var(--oe-campo-borda);
        border-radius: 10px;
        background: var(--oe-papel);
        color: var(--oe-grafite);
        font: inherit;
        font-size: 0.85rem;
        font-weight: 600;
        line-height: 1.35;
        white-space: nowrap;
        transition: border-color 0.15s ease, background-color 0.15s ease;
    }

    .central-grid-botao > i {
        color: var(--oe-acao);
    }

    .central-grid-botao:hover,
    .central-grid-botao[aria-expanded="true"] {
        border-color: var(--oe-acao);
        background: var(--oe-suave);
        color: var(--oe-tinta);
    }

    .central-grid-botao:focus-visible {
        outline: 2px solid var(--oe-acao);
        outline-offset: 2px;
    }

    .central-grid-botao:disabled {
        opacity: 0.6;
        cursor: wait;
    }

    /* O menu é exibido no body, fora do recorte da tabela e das células fixas. */
    .central-grid-acoes-menu {
        z-index: 1035;
        max-width: calc(100vw - 16px);
    }

    .central-grid-acoes-menu .dropdown-item {
        white-space: normal;
        overflow-wrap: break-word;
    }

    .central-grid-botao.dropdown-toggle::after {
        margin-left: 0.15rem;
        color: var(--oe-grafite);
    }

    .central-grid-icone {
        flex-shrink: 0;
        width: 2.625rem;
        padding: 0;
    }

    .central-grid-toolbar .godi-grid-search {
        flex: 1 1 20rem;
        min-width: 0;
        max-width: 26rem;
        margin-left: auto;
    }

    .central-grid-toolbar .godi-grid-search .central-grid-pesquisa {
        width: 100%;
    }

    .oe .central-grid-pesquisa .oe-input {
        width: 1%;
        height: 2.625rem;
        min-height: 2.625rem;
        border-right: 0;
        border-radius: 10px 0 0 10px;
        padding-right: 2.5rem;
        font-size: 0.85rem;
    }

    .central-grid-limpar-busca {
        position: absolute;
        top: 50%;
        right: calc(2.625rem + 0.35rem);
        z-index: 4;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 6px;
        color: var(--oe-grafite);
        text-decoration: none;
        transform: translateY(-50%);
    }

    .central-grid-limpar-busca[hidden] {
        display: none;
    }

    .central-grid-limpar-busca:hover {
        background: var(--oe-suave);
        color: var(--oe-acao);
        text-decoration: none;
    }

    .central-grid-limpar-busca:focus-visible {
        outline: 2px solid var(--oe-acao);
        outline-offset: 1px;
    }

    .central-grid-pesquisa .central-grid-botao {
        border-radius: 0 10px 10px 0;
    }

    .central-grid-toolbar .dropdown-menu {
        border: 1px solid var(--oe-linha);
        border-radius: 12px;
        background: var(--oe-papel);
        color: var(--oe-tinta);
        box-shadow: 0 10px 30px rgba(21, 35, 59, 0.12);
        font: inherit;
        font-size: 0.85rem;
    }

    .central-grid-toolbar .dropdown-item {
        color: var(--oe-tinta);
    }

    .central-grid-toolbar .dropdown-item:hover,
    .central-grid-toolbar .dropdown-item:focus {
        background: var(--oe-suave);
    }

    .central-grid-filtros {
        width: 320px;
        max-width: calc(100vw - 2rem);
        max-height: calc(100vh - 8rem);
        overflow-y: auto;
    }

    .central-grid-toolbar .badge-primary {
        border-radius: 10rem;
        background: color-mix(in srgb, var(--oe-acao) 12%, var(--oe-papel));
        color: var(--oe-acao);
    }

    .central-grid-footer {
        gap: 0.85rem;
        padding: 1rem 1.25rem;
        border-top: 1px solid var(--oe-linha);
        border-radius: 0 0 10px 10px;
        background: var(--oe-papel);
    }

    .central-grid-resumo {
        flex: 1 1 18rem;
        color: var(--oe-grafite);
        font-size: 0.85rem;
        line-height: 1.5;
    }

    .central-grid-resumo strong {
        color: var(--oe-tinta);
        font-weight: 600;
    }

    .central-grid-footer nav {
        max-width: 100%;
        margin-left: auto;
    }

    .central-grid-footer .pagination {
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.4rem;
    }

    .central-grid-footer .pagination .page-item .page-link {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.45rem;
        min-height: 2.625rem;
        margin-left: 0;
        padding: 0.55rem 0.85rem;
        border: 1px solid var(--oe-campo-borda);
        border-radius: 10px;
        background: var(--oe-papel);
        color: var(--oe-acao);
        font-size: 0.85rem;
        font-weight: 600;
        line-height: 1.35;
        transition: border-color 0.15s ease, background-color 0.15s ease;
    }

    .central-grid-footer .pagination .page-item:not(.disabled) .page-link:hover {
        border-color: var(--oe-acao);
        background: var(--oe-suave);
    }

    .central-grid-footer .pagination .page-link:focus-visible {
        outline: 2px solid var(--oe-acao);
        outline-offset: 2px;
        box-shadow: none;
    }

    .central-grid-footer .pagination .page-item.disabled .page-link {
        border-color: var(--oe-linha);
        color: var(--oe-grafite);
        opacity: 0.6;
    }

    .central-grid-footer .pagination .page-item.central-grid-pagina-atual .page-link {
        background: var(--oe-suave);
        color: var(--oe-tinta);
        font-variant-numeric: tabular-nums;
        opacity: 1;
    }

    @media (max-width: 767.98px) {
        .central-grid-toolbar .godi-grid-search {
            flex-basis: 100%;
            max-width: none;
        }
    }

    @media (max-width: 575.98px) {
        .central-grid-toolbar {
            padding: 0.85rem;
        }

        .central-grid-footer {
            padding: 0.85rem;
        }

        .central-grid-colunas-rotulo {
            display: none;
        }
    }

    .central-fiscal-usuario {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        max-width: 100%;
        vertical-align: middle;
    }

    .central-fiscal-nome {
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .central-fiscal-avatar {
        position: relative;
        display: inline-block;
        flex: 0 0 28px;
        width: 28px;
        height: 28px;
        line-height: 0;
    }

    .central-fiscal-foto {
        position: absolute;
        top: 0;
        left: 0;
    }

    .central-fiscal-foto[hidden] {
        display: none;
    }

    /* Detalhes da operação: somente leitura, no sistema visual dos formulários. */
    .central-detalhes-dialog {
        max-width: min(1280px, calc(100vw - 3rem));
    }

    .central-detalhes-modal .modal-content {
        background: var(--oe-papel);
        border: 1px solid var(--oe-linha);
        border-radius: var(--oe-raio);
        box-shadow: 0 18px 60px rgba(21, 35, 59, 0.18);
        overflow: hidden;
    }

    .central-detalhes-modal .modal-header {
        align-items: flex-start;
        padding: 1.5rem 2rem;
        border-bottom: 1px solid var(--oe-linha);
    }

    .central-detalhes-modal .oe-sobretitulo {
        margin-bottom: 0.5rem;
    }

    .central-detalhes-titulo {
        margin: 0;
        color: var(--oe-tinta);
        font-family: 'Literata', Georgia, serif;
        font-size: 1.65rem;
        font-weight: 600;
        line-height: 1.3;
    }

    .central-detalhes-modal .close {
        color: var(--oe-grafite);
        text-shadow: none;
    }

    .central-detalhes-modal .modal-body {
        padding: 1.5rem;
        background: var(--oe-suave);
    }

    .central-detalhes-secao {
        padding: 1.6rem 1.75rem;
        margin-bottom: 1rem;
    }

    .central-detalhes-secao:last-child {
        margin-bottom: 0;
    }

    .central-detalhes-secao .oe-secao__cabeca {
        margin-bottom: 1.25rem;
    }

    .central-detalhes-grade {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.25rem 1.5rem;
        margin: 0;
    }

    .central-detalhes-campo {
        min-width: 0;
    }

    .central-detalhes-campo--largo {
        grid-column: span 2;
    }

    .central-detalhes-campo dd {
        margin: 0;
        color: var(--oe-tinta);
        font-size: 0.95rem;
        line-height: 1.5;
        overflow-wrap: anywhere;
    }

    .central-detalhes-campo a {
        color: var(--oe-acao);
        font-weight: 600;
    }

    .central-detalhes-vazio,
    .central-detalhes-estado {
        color: var(--oe-grafite);
    }

    .central-detalhes-estado {
        padding: 2.5rem 1rem;
        text-align: center;
    }

    .central-detalhes-modal .modal-footer {
        padding: 1rem 2rem;
        border-top: 1px solid var(--oe-linha);
    }

    @media (max-width: 767.98px) {
        .central-detalhes-dialog {
            max-width: calc(100vw - 1rem);
            margin: 0.5rem auto;
        }

        .central-detalhes-modal .modal-header,
        .central-detalhes-modal .modal-footer {
            padding: 1rem 1.25rem;
        }

        .central-detalhes-modal .modal-body {
            padding: 0.75rem;
        }

        .central-detalhes-secao {
            padding: 1.25rem;
        }

        .central-detalhes-grade {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }

        .central-detalhes-titulo {
            font-size: 1.3rem;
        }
    }

    @media (max-width: 479.98px) {
        .central-detalhes-grade {
            grid-template-columns: minmax(0, 1fr);
        }

        .central-detalhes-campo--largo {
            grid-column: auto;
        }
    }

    .central-kpi {
        --central-kpi-cor: var(--oe-acao);
        background: var(--oe-papel);
        border: 1px solid var(--oe-linha);
        border-radius: var(--oe-raio);
        box-shadow: 0 1px 2px rgba(21, 35, 59, 0.06);
        height: 100%;
    }

    .central-kpi .card-body {
        padding: 1.25rem 1.35rem;
    }

    .central-kpi-label {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.6rem;
        color: var(--oe-grafite);
        font-size: 0.6875rem;
        font-weight: 600;
        text-transform: uppercase;
        letter-spacing: 0.12em;
    }

    .central-kpi-label::before {
        content: '';
        flex: 0 0 0.4rem;
        width: 0.4rem;
        height: 0.4rem;
        border-radius: 50%;
        background: var(--central-kpi-cor);
    }

    .central-kpi-value {
        color: var(--oe-tinta);
        font-family: 'Literata', Georgia, serif;
        font-size: 1.85rem;
        font-weight: 600;
        font-variant-numeric: tabular-nums;
        line-height: 1.2;
        letter-spacing: -0.015em;
    }

    .kpi-total {
        --central-kpi-cor: var(--oe-acao);
    }

    .kpi-atribuido {
        --central-kpi-cor: #6f42c1;
    }

    .kpi-andamento {
        --central-kpi-cor: var(--oe-atencao);
    }

    .kpi-disponivel {
        --central-kpi-cor: #17a2b8;
    }

    .kpi-concluido {
        --central-kpi-cor: var(--oe-ok);
    }

    .central-prioridade,
    .central-situacao {
        display: inline-block;
        border-radius: 10rem;
        font-size: 0.72rem;
        font-weight: 700;
        padding: 0.23rem 0.48rem;
    }

    .central-prioridade-N {
        background: #eef1f4;
        color: #52606d;
    }

    .central-prioridade-U {
        background: transparent;
        color: #7a5700;
    }

    .central-prioridade-M {
        background: transparent;
        color: #a14300;
    }

    .central-prioridade-E {
        background: transparent;
        color: #b42318;
    }

    /* A prioridade colore todas as células, incluindo Ações e colunas fixadas.
       Normal não recebe estas classes e conserva o visual padrão do grid. */
    .central-grid tr.central-linha-prioridade-U {
        --central-linha-fundo: #fff2bf;
        --central-linha-hover: #ffeba3;
    }

    .central-grid tr.central-linha-prioridade-M {
        --central-linha-fundo: #ffdfc4;
        --central-linha-hover: #ffd2ae;
    }

    .central-grid tr.central-linha-prioridade-E {
        --central-linha-fundo: #fad7dc;
        --central-linha-hover: #f6c5cd;
    }

    .central-grid.godi-grid-table > tbody > tr.central-linha-prioridade > td {
        background-color: var(--central-linha-fundo);
    }

    .central-grid.godi-grid-table.table-hover > tbody > tr.central-linha-prioridade:hover > td {
        background-color: var(--central-linha-hover);
    }

    body.dark-mode .central-grid tr.central-linha-prioridade-U {
        --central-linha-fundo: #51472c;
        --central-linha-hover: #605331;
    }

    body.dark-mode .central-grid tr.central-linha-prioridade-M {
        --central-linha-fundo: #573e2c;
        --central-linha-hover: #664831;
    }

    body.dark-mode .central-grid tr.central-linha-prioridade-E {
        --central-linha-fundo: #57333e;
        --central-linha-hover: #663b48;
    }

    body.dark-mode .central-grid .central-prioridade-U {
        color: #f2d58a;
    }

    body.dark-mode .central-grid .central-prioridade-M {
        color: #f1b48a;
    }

    body.dark-mode .central-grid .central-prioridade-E {
        color: #f1a5a5;
    }

    .central-prioridade-icone {
        display: inline-block;
        width: 1.25em;
        height: 1em;
        vertical-align: -0.125em;
    }

    .central-situacao-E {
        background: #fff3cd;
        color: #7a5700;
    }

    .central-situacao-P {
        background: #e2e8f0;
        color: #475569;
    }

    .central-situacao-F {
        background: #dff3e4;
        color: #1e7b34;
    }

    .central-tempo {
        font-variant-numeric: tabular-nums;
    }

    .central-ocorrencia {
        display: inline-block;
        max-width: 100%;
        padding: 0.3rem 0.55rem;
        border-radius: 0.4rem;
        background: #f0edfa;
        color: #61459a;
        font-size: 0.78rem;
        font-weight: 600;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        vertical-align: middle;
        cursor: help;
    }

    .central-ocorrencia:focus-visible {
        outline: 2px solid #61459a;
        outline-offset: 2px;
    }

    body.dark-mode .central-ocorrencia {
        background: #483d61;
        color: #e0d3ff;
    }

    /* O tooltip fica fora do grid para não ser cortado pela rolagem da tabela. */
    .central-pausa-tooltip {
        position: fixed;
        z-index: 1040;
        width: 300px;
        max-width: calc(100vw - 24px);
        padding: 1rem;
        border: 1px solid #dce2eb;
        border-top: 3px solid #bd820b;
        border-radius: 0.65rem;
        background: #fff;
        color: #26354a;
        box-shadow: 0 8px 28px rgba(21, 35, 59, 0.18);
        font-family: 'Albert Sans', sans-serif;
        font-size: 0.85rem;
        line-height: 1.4;
        pointer-events: none;
    }

    .central-pausa-tooltip[hidden] {
        display: none;
    }

    .central-pausa-tooltip-titulo {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.45rem;
        font-weight: 700;
    }

    .central-pausa-tooltip-titulo i {
        color: #bd820b;
    }

    .central-pausa-tooltip-ocorrencia {
        margin-bottom: 0.85rem;
        color: #61459a;
        overflow-wrap: anywhere;
    }

    .central-pausa-tooltip dl {
        margin: 0;
    }

    .central-pausa-tooltip dt {
        margin-top: 0.6rem;
        color: #697586;
        font-size: 0.7rem;
        font-weight: 600;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    .central-pausa-tooltip dd {
        margin: 0.15rem 0 0;
        font-weight: 600;
    }

    .central-pausa-tooltip-tempo {
        color: #8a5b00;
        font-size: 1.1rem;
        font-variant-numeric: tabular-nums;
    }

    body.dark-mode .central-pausa-tooltip {
        background: #293441;
        border-color: #4a5666;
        border-top-color: #e1b753;
        color: #eef2f7;
    }

    body.dark-mode .central-pausa-tooltip-ocorrencia {
        color: #d8c6ff;
    }

    body.dark-mode .central-pausa-tooltip dt {
        color: #b6c2d0;
    }

    body.dark-mode .central-pausa-tooltip-tempo,
    body.dark-mode .central-pausa-tooltip-titulo i {
        color: #f2d58a;
    }

    .central-dashboard-card {
        height: 100%;
        background: var(--oe-papel);
        border: 1px solid var(--oe-linha);
        border-radius: var(--oe-raio);
        box-shadow: 0 1px 2px rgba(21, 35, 59, 0.06);
        overflow: hidden;
    }

    .central-dashboard-card .card-header {
        background: transparent;
        border-bottom: 1px solid var(--oe-linha);
        padding: 1.2rem 1.4rem;
    }

    .central-dashboard-card .card-body {
        padding: 0.5rem 1.4rem 0.85rem;
    }

    .central-dashboard-titulo {
        color: var(--oe-tinta);
        font-family: 'Literata', Georgia, serif;
        font-size: 1.15rem;
        font-weight: 600;
        line-height: 1.35;
        margin: 0;
    }

    .central-dashboard-table {
        color: var(--oe-tinta);
        font-size: 0.875rem;
    }

    .central-dashboard-table > thead > tr > th {
        padding: 0.8rem 0.9rem;
        border-top: 0;
        border-bottom: 1px solid var(--oe-linha);
        background: var(--oe-suave);
        color: var(--oe-grafite);
        font-size: 0.6875rem;
        font-weight: 600;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .central-dashboard-table > tbody > tr > td {
        padding: 0.85rem 0.9rem;
        border-top: 1px solid var(--oe-linha);
        vertical-align: middle;
    }

    .central-dashboard-table > thead > tr > th:first-child,
    .central-dashboard-table > tbody > tr > td:first-child {
        padding-left: 1.4rem;
    }

    .central-dashboard-table > thead > tr > th:last-child,
    .central-dashboard-table > tbody > tr > td:last-child {
        padding-right: 1.4rem;
    }

    .central-dashboard-table .badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.8rem;
        padding: 0.3rem 0.55rem;
        border-radius: 999px;
        font-size: 0.75rem;
        font-weight: 600;
        font-variant-numeric: tabular-nums;
    }

    .central-dashboard-table .badge-warning {
        color: var(--oe-atencao);
        background: color-mix(in srgb, var(--oe-atencao) 12%, var(--oe-papel));
    }

    .central-dashboard-table .badge-secondary {
        color: var(--oe-grafite);
        background: var(--oe-suave);
    }

    .central-dashboard-table .badge-success {
        color: var(--oe-ok);
        background: color-mix(in srgb, var(--oe-ok) 12%, var(--oe-papel));
    }

    .central-status-linha {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        padding: 0.65rem 0;
    }

    .central-status-linha + .central-status-linha {
        border-top: 1px solid var(--oe-linha);
    }

    .central-status-nome {
        flex: 0 0 42%;
        min-width: 0;
        color: var(--oe-grafite);
        font-size: 0.8125rem;
        font-weight: 500;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .central-status-barra {
        background: var(--oe-linha);
        border-radius: 10rem;
        flex: 1;
        min-width: 0;
        height: 0.4rem;
        overflow: hidden;
    }

    .central-status-barra span {
        display: block;
        background: var(--oe-acao);
        height: 100%;
        border-radius: 10rem;
    }

    .central-status-total {
        color: var(--oe-tinta);
        font-weight: 600;
        font-size: 0.82rem;
        font-variant-numeric: tabular-nums;
        min-width: 2.7rem;
        text-align: right;
    }

    .central-chat-abrir {
        position: relative;
    }

    .central-chat-badge {
        position: absolute;
        top: -0.48rem;
        right: -0.5rem;
        z-index: 2;
        min-width: 1.1rem;
        padding: 0.1rem 0.26rem;
        border-radius: 10rem;
        background: #dc3545;
        color: #fff;
        font-size: 0.62rem;
        font-weight: 700;
        line-height: 1.1;
    }

    .central-chat-dialog {
        position: fixed;
        right: 0;
        margin: 0;
        width: min(440px, 100vw);
        height: 100%;
        transform: translateX(100%);
        transition: transform 0.25s ease-out;
    }
    .modal.show .central-chat-dialog {
        transform: translateX(0);
    }

    .central-chat-dialog .modal-content {
        height: 100%;
        border-radius: 10px;
        border: 0;
        border-left: 1px solid var(--oe-linha);
        background: var(--oe-papel);
        box-shadow: -12px 0 40px rgba(21, 35, 59, 0.12);
    }

    .central-chat-dialog .modal-header {
        align-items: flex-start;
        gap: 1rem;
        padding: 1.4rem 1.25rem;
        border-bottom: 1px solid var(--oe-linha);
    }

    .central-chat-dialog .oe-sobretitulo {
        margin-bottom: 0.5rem;
    }

    .central-chat-titulo {
        margin: 0;
        color: var(--oe-tinta);
        font-family: 'Literata', Georgia, serif;
        font-size: 1.3rem;
        font-weight: 600;
        line-height: 1.4;
    }

    .central-chat-titulo span {
        color: var(--oe-acao);
        white-space: nowrap;
    }

    .central-chat-cabecalho-acoes {
        display: flex;
        align-items: center;
        flex-shrink: 0;
        gap: 0.4rem;
    }

    .central-chat-participantes-botao {
        width: 2.1rem;
        height: 2.1rem;
        padding: 0;
        border: 1px solid var(--oe-linha);
        border-radius: 0.5rem;
        background: var(--oe-suave);
        color: var(--oe-acao);
    }

    .central-chat-participantes-botao:hover,
    .central-chat-participantes-botao[aria-expanded="true"] {
        border-color: var(--oe-acao);
        background: color-mix(in srgb, var(--oe-acao) 8%, var(--oe-papel));
    }

    .central-chat-participantes {
        flex-shrink: 0;
        max-height: min(16rem, 35vh);
        padding: 1rem 1.25rem;
        overflow-y: auto;
        border-bottom: 1px solid var(--oe-linha);
        background: var(--oe-papel);
    }

    .central-chat-participantes h3 {
        margin: 0 0 0.7rem;
        font-size: 0.9rem;
        font-weight: 700;
    }

    .central-chat-participantes ul {
        padding: 0;
        margin: 0;
        list-style: none;
    }

    .central-chat-participantes li {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        padding: 0.55rem 0;
    }

    .central-chat-participantes li + li {
        border-top: 1px solid var(--oe-linha);
    }

    .central-chat-participantes li > div {
        min-width: 0;
    }

    .central-chat-participantes strong,
    .central-chat-participantes small {
        display: block;
        overflow-wrap: anywhere;
    }

    .central-chat-participantes strong {
        font-size: 0.85rem;
        font-weight: 600;
    }

    .central-chat-participantes small {
        color: var(--oe-grafite);
        font-size: 0.75rem;
    }

    .central-chat-dialog .close {
        flex-shrink: 0;
        margin: 0;
        padding: 0.3rem 0.55rem;
        border-radius: 0.5rem;
        background: var(--oe-suave);
        color: var(--oe-grafite);
        text-shadow: none;
        opacity: 1;
    }

    .central-chat-dialog .close:hover {
        color: var(--oe-tinta);
    }

    .central-chat-corpo {
        padding: 1.25rem;
        background: var(--oe-suave);
        scrollbar-width: thin;
        scrollbar-color: var(--oe-campo-borda) transparent;
    }

    .central-chat-item {
        width: fit-content;
        max-width: 92%;
        padding: 0.65rem 0.8rem;
        border: 1px solid var(--oe-linha);
        border-radius: 4px 12px 12px;
        margin-bottom: 0.75rem;
        margin-left: 0;
        margin-right: auto;
        background: var(--oe-papel);
        color: var(--oe-tinta);
        font-size: 0.9rem;
        box-shadow: 0 2px 4px rgba(21, 35, 59, 0.04);
    }

    .central-chat-item.mensagem.propria {
        margin-left: auto;
        margin-right: 0;
        border-color: color-mix(in srgb, var(--oe-acao) 20%, var(--oe-linha));
        border-radius: 12px 4px 12px 12px;
        background: color-mix(in srgb, var(--oe-acao) 8%, var(--oe-papel));
    }

    .central-chat-item.evento {
        margin-left: auto;
        margin-right: auto;
        border-radius: 10px;
        background: color-mix(in srgb, var(--oe-grafite) 8%, var(--oe-papel));
        color: var(--oe-grafite);
        box-shadow: none;
        text-align: center;
        font-size: 0.8rem;
        padding: 0.6rem 0.75rem;
    }

    .central-chat-meta {
        margin-bottom: 0.25rem;
        font-size: 0.72rem;
        color: var(--oe-grafite);
    }

    .central-chat-item.propria .central-chat-meta {
        color: var(--oe-acao);
    }

    .central-chat-conteudo {
        position: relative;
    }

    .central-chat-texto {
        white-space: pre-wrap;
        word-break: break-word;
        line-height: 1.45;
    }

    /* A reserva acompanha a última linha do texto, deixando a hora no canto
       sem sobreposição, tanto em mensagens curtas quanto nas que quebram linha. */
    .central-chat-reserva-hora {
        display: inline-block;
        width: 3.1rem;
        height: 0.8rem;
    }

    .central-chat-hora {
        position: absolute;
        right: 0;
        bottom: 0;
        color: var(--oe-grafite);
        font-size: 0.68rem;
        font-weight: 400;
        line-height: 1.4;
        white-space: nowrap;
        font-variant-numeric: tabular-nums;
    }

    .central-chat-item.evento .central-chat-hora {
        position: static;
        display: block;
        margin-top: 0.2rem;
        text-align: right;
    }

    .central-chat-data {
        display: flex;
        justify-content: center;
        margin: 1rem 0;
    }

    .central-chat-data span {
        padding: 0.35rem 0.7rem;
        border: 1px solid var(--oe-linha);
        border-radius: 10rem;
        background: var(--oe-papel);
        color: var(--oe-grafite);
        font-size: 0.72rem;
        font-weight: 600;
        line-height: 1.3;
        font-variant-numeric: tabular-nums;
    }

    /* Sobreposta ao histórico: não altera o espaço das mensagens nem a rolagem. */
    .central-chat-data-flutuante {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        z-index: 2;
        margin: 0;
        pointer-events: none;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.15s ease, visibility 0.15s ease;
    }

    .central-chat-data-flutuante.visivel {
        opacity: 1;
        visibility: visible;
    }

    .central-chat-data-flutuante span {
        box-shadow: 0 2px 8px rgba(21, 35, 59, 0.15);
    }

    .central-chat-nao-lidas {
        display: flex;
        align-items: center;
        gap: 0.75rem;
        margin: 1rem 0;
        color: var(--oe-acao);
        font-size: 0.8rem;
        font-weight: 600;
        text-align: center;
    }

    .central-chat-nao-lidas::before,
    .central-chat-nao-lidas::after {
        content: '';
        flex: 1;
        height: 1px;
        background: var(--oe-linha);
    }

    .central-chat-aviso {
        padding: 0.75rem 1.25rem;
        border-top: 1px solid var(--oe-linha);
        background: var(--oe-suave);
        color: var(--oe-grafite);
        font-size: 0.8rem;
    }

    .central-chat-dialog .modal-footer {
        display: block;
        padding: 1rem 1.25rem;
        border-top: 1px solid var(--oe-linha);
    }

    .central-chat-compositor {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        align-items: end;
        gap: 0.65rem;
    }

    .oe .central-chat-compositor textarea.oe-input {
        box-sizing: border-box;
        height: 4.5rem;
        min-height: 4.5rem;
        max-height: 9rem;
        resize: none;
        overflow-y: hidden;
    }

    .central-chat-enviar {
        width: 2.875rem;
        height: 2.875rem;
        padding: 0;
    }

    .central-chat-dialog .oe-ajuda {
        margin-top: 0.65rem;
        font-size: 0.72rem;
    }
